.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.prod-page{overflow:hidden;background:#fff}
.prod-width{width:min(calc(100% - 60px),1160px);margin:0 auto}
.main-navigation .is-current{color:var(--orange)}
.prod-hero{padding:28px 0 42px;background:linear-gradient(120deg,#fff 62%,#f5f6f8)}
.prod-crumb{margin-bottom:28px;color:#777;font-size:10px}
.prod-hero-copy{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end}
.prod-hero h1{margin:8px 0 0;font-size:40px;line-height:1.08}
.prod-eyebrow{margin:0;color:var(--orange);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.prod-hero p{margin:0;font-size:13px;line-height:1.65;color:#555}
.prod-gallery{padding:18px 0 80px}
.prod-mobile-cats{display:none;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:none}
.prod-mobile-cats::-webkit-scrollbar{display:none}
.prod-mobile-cats button,.prod-cat-list button{border:1px solid #ececec;background:#fff;color:#333;cursor:pointer}
.prod-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.prod-sidebar{position:sticky;top:86px}
.prod-panel{padding:22px 18px;border:1px solid #eee;background:#fff}
.prod-panel h2{margin:0 0 16px;font-size:16px}
.prod-cat-list{display:flex;flex-direction:column;gap:8px}
.prod-cat-list button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:0 12px;text-align:left;font-size:13px;border-radius:3px;transition:all .2s ease}
.prod-cat-list button small{color:#888}
.prod-cat-list button.is-active,.prod-mobile-cats button.is-active{border-color:var(--orange);color:var(--orange);background:#fff6f2}
.prod-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.prod-toolbar h2{margin:0;font-size:22px}
.prod-toolbar span{display:block;margin-top:4px;color:#777;font-size:12px}
.prod-search{position:relative;min-width:260px}
.prod-search svg{position:absolute;left:12px;top:50%;width:16px;height:16px;stroke:#888;fill:none;stroke-width:1.8;transform:translateY(-50%)}
.prod-search input{width:100%;height:42px;padding:0 14px 0 38px;border:1px solid #e6e6e6;border-radius:4px;font:inherit;font-size:13px;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
.prod-search input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,91,36,.12)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prod-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #eee;background:#fff;border-radius:3px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.prod-card:hover{transform:translateY(-6px);border-color:#ffd6c8;box-shadow:0 12px 24px rgba(0,0,0,.08)}
.prod-card img{width:100%;height:200px;object-fit:contain;background:#f8f9fa;padding:12px;box-sizing:border-box}
.prod-card-copy{display:flex;flex-direction:column;flex:1;padding:16px 16px 18px}
.prod-card-copy small{display:block;color:var(--orange);font-size:11px}
.prod-card-copy h3{margin:6px 0 8px;font-size:14px;font-weight:500;line-height:1.35;min-height:38px}
.prod-card-copy p{margin:0 0 12px;color:#666;font-size:12px;line-height:1.45}
.prod-card-copy a{margin-top:auto;color:var(--orange);font-size:12px;font-weight:500}
.prod-card-copy a:hover{text-decoration:underline}
.prod-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:32px 0 10px;flex-wrap:wrap}
.prod-pagination[hidden]{display:none}
.prod-pagination button{min-width:38px;height:38px;padding:0 12px;border:1px solid #dedede;background:#fff;color:#333;font:inherit;font-size:13px;border-radius:3px;cursor:pointer;transition:all .2s ease}
.prod-pagination button:hover:not(:disabled),.prod-pagination button.is-active{border-color:var(--orange);background:var(--orange);color:#fff}
.prod-pagination button:disabled{opacity:.45;cursor:not-allowed}
.prod-page-numbers{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.prod-empty{display:none;padding:48px 20px;text-align:center;border:1px dashed #ddd;border-radius:4px;background:#fafafa}
.prod-empty.is-visible{display:block}
.prod-empty h3{margin:0 0 8px;font-size:18px}
.prod-empty p{margin:0 0 16px;color:#666;font-size:13px}
.prod-empty button{min-height:40px;padding:0 18px;border:0;border-radius:3px;background:var(--orange);color:#fff;cursor:pointer}
.prod-cta{padding:0 0 80px}
.prod-cta-box{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;background:#111;color:#fff;border-radius:4px}
.prod-cta-box img{width:100%;height:100%;min-height:320px;object-fit:cover}
.prod-cta-copy{padding:48px 42px}
.prod-cta-copy .prod-eyebrow{color:#ff8a62}
.prod-cta-copy h2{margin:8px 0 14px;font-size:32px}
.prod-cta-copy p{margin:0 0 18px;color:#d8d8d8;font-size:13px;line-height:1.65}
.prod-cta-copy ul{margin:0 0 24px;padding:0;list-style:none}
.prod-cta-copy li{margin:8px 0;font-size:13px}
.prod-cta-copy .quote-button{display:inline-flex;width:max-content}
@media(max-width:1100px){
  .prod-width{width:min(calc(100% - 40px),1160px)}
  .prod-hero h1{font-size:34px}
}
@media(max-width:1000px){
  .prod-hero-copy,.prod-layout,.prod-cta-box{grid-template-columns:1fr}
  .prod-sidebar{display:none}
  .prod-mobile-cats{display:flex}
  .prod-mobile-cats button{flex:0 0 auto;height:38px;padding:0 14px;font-size:12px;border-radius:3px;white-space:nowrap}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .prod-toolbar{align-items:stretch;flex-direction:column}
  .prod-search{min-width:0;width:100%}
  .prod-cta-box img{min-height:240px;max-height:320px}
}
@media(max-width:640px){
  .prod-width{width:calc(100% - 30px)}
  .prod-hero{padding:22px 0 32px}
  .prod-hero h1{font-size:28px}
  .prod-grid{grid-template-columns:1fr}
  .prod-card img{height:180px}
  .prod-card-copy h3{min-height:auto}
  .prod-cta-copy{padding:30px 20px}
  .prod-cta-copy h2{font-size:24px}
  .prod-page-prev span,.prod-page-next span{display:none}
  .prod-pagination button{min-width:34px;height:34px;padding:0 8px;font-size:12px}
}
@media(max-width:420px){
  .prod-hero h1{font-size:24px}
  .prod-toolbar h2{font-size:20px}
  .prod-cta-copy h2{font-size:22px}
  .prod-page-numbers{gap:5px}
  .prod-pagination button{min-width:32px;height:32px;padding:0 6px}
}
