/* Product details share the existing shop palette, logo and textures. */
.product-page main{width:86%;max-width:1400px;margin:auto;padding:48px 0 70px}
.product-page .detail-breadcrumb{line-height:1.7;overflow-wrap:anywhere;margin-bottom:35px;color:var(--color-muted)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:6%;align-items:start}
.product-photo{margin:0;background:var(--color-soft);border:1px solid var(--color-line);position:sticky;top:28px}
.product-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}
.product-details{min-width:0}.product-category{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--brand-green);margin-bottom:15px}
.product-details h1{font:800 clamp(44px,4.4vw,66px)/1.02 var(--display);letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:break-word}
.product-description{font-size:15px;margin-top:24px;color:var(--color-muted);line-height:1.8}
.product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px 18px;margin-top:25px;color:var(--brand-green)}
.product-price>span{font-size:12px;font-weight:600}.product-price output{font:700 clamp(32px,3vw,42px)/1.2 var(--display);font-variant-numeric:tabular-nums}
.product-options{margin-top:28px;padding:24px 0;border-block:1px solid var(--color-line)}
.product-options label{display:block;font-size:12px;font-weight:600;margin-top:18px}
.product-options select{display:block;width:100%;min-height:48px;margin-top:8px;padding:12px 32px 12px 13px;border:1px solid var(--color-line);border-radius:0;background:var(--color-surface);color:var(--color-ink);font:400 14px/1.4 var(--text);max-width:100%}
.product-options select:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px}
.price-note{font-size:12px;line-height:1.7;margin-top:15px;color:var(--color-muted)}
.product-specs{margin-top:30px;border-top:1px solid var(--color-line);padding-top:24px}
.product-details h2{font:700 28px/1.1 var(--display)}
.product-specs dl{margin:18px 0 0}.product-specs dl>div{border-bottom:1px solid var(--color-line);padding:14px 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:20px;font-size:12px;line-height:1.7}
.product-specs dt{font-weight:700}.product-specs dd{margin:0;color:var(--color-muted)}.dimension-note{font-size:11px;color:var(--color-muted);margin-top:13px}
.product-enquiry{background:var(--brand-green);color:var(--color-paper);padding:27px;margin-top:32px;box-shadow:7px 7px 0 var(--color-soft)}
.product-enquiry p{font-size:12px;color:var(--color-paper);margin-top:14px;line-height:1.75}
.enquire-button{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--color-paper);color:var(--color-ink);padding:16px;margin-top:22px;min-height:52px;font-size:12px;font-weight:700}
.enquire-button:hover{background:var(--color-surface)}.product-call{font-size:13px;display:inline-flex;align-items:center;min-height:44px;margin-top:10px}
.product-page a:hover{text-decoration:none}.product-call:hover,.detail-breadcrumb a:hover{text-decoration:underline}
.all-products{border-top:1px solid var(--color-line);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;margin-top:55px;padding:24px 0;min-height:60px}
.product-page .brand{flex-shrink:0}
@media(max-width:1050px){.product-page .header-label{display:none}}
@media(max-width:800px){.product-layout{grid-template-columns:1fr;gap:32px}.product-photo{position:static;max-width:650px;width:100%}.product-details h1{font-size:clamp(42px,7.7vw,62px)}.product-page main{padding-top:38px}.product-page .detail-breadcrumb{margin-bottom:26px}}
@media(max-width:600px){.product-page main{padding-top:42px;padding-bottom:42px}.product-layout{gap:27px}.product-details h1{font-size:clamp(40px,11.4vw,54px)}.product-description{font-size:14px;margin-top:20px}.product-category{font-size:9px}.product-specs{margin-top:25px;padding-top:22px}.product-specs dl>div{grid-template-columns:1fr;gap:5px;padding:14px 0;font-size:12px}.product-enquiry{padding:23px;margin-top:27px}.product-details h2{font-size:27px}.all-products{margin-top:40px}.product-page .back{display:flex;align-items:center;gap:16px;font-size:12px}}

.product-gallery{position:sticky;top:28px;min-width:0}
.product-gallery .product-photo{position:relative;top:auto}
.product-photo-open{display:block;position:relative;cursor:zoom-in}
.product-enlarge{position:absolute;right:var(--space-4);bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-paper);color:var(--brand-green);font-size:var(--text-label);font-weight:var(--weight-action);line-height:1.5;min-height:44px}
.product-gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-caption);color:var(--color-muted);margin-top:var(--space-3)}
.product-thumbnails{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 2px;margin-top:var(--space-3);scrollbar-width:thin}
.product-thumb{display:block;flex:0 0 80px;height:76px;border:1px solid var(--color-line);background:var(--color-soft);padding:3px;cursor:pointer}
.product-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.product-thumb[aria-pressed=true]{border:2px solid var(--brand-green);padding:2px}
.product-thumb:focus-visible,.product-photo-open:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}
.product-photo-caption{font-size:var(--text-caption);line-height:1.7;color:var(--color-muted);margin:var(--space-3) 0 0}
.finish-help{margin-top:var(--space-3);font-size:var(--text-small);line-height:1.75;background:var(--color-soft);padding:0 var(--space-4)}
.finish-help summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--brand-green);font-weight:var(--weight-action);padding-block:var(--space-3)}
.finish-help p{padding-bottom:var(--space-4);margin:0}
.product-fitment{margin-top:var(--space-6);border-top:1px solid var(--color-line);padding-top:var(--space-5)}
.product-fitment p,.product-fitment li{font-size:var(--text-small);line-height:1.75;color:var(--color-muted)}
.product-fitment p{margin-top:var(--space-4)}
.product-fitment ul{padding-left:var(--space-5);margin:var(--space-4) 0}
.product-fitment li+li{margin-top:var(--space-2)}
.product-lightbox{position:fixed;inset:12px;width:calc(100vw - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;margin:0;padding:var(--space-4);border:1px solid var(--color-line);background:var(--color-ink);color:var(--color-paper);overflow:hidden;box-sizing:border-box}
.product-lightbox[open]{display:flex;flex-direction:column;gap:var(--space-3)}
.product-lightbox::backdrop{background:#141c18ed}
.lightbox-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex:none}
.lightbox-heading p{font-size:var(--text-small);line-height:1.5;margin:0;color:var(--color-paper)}
.product-lightbox button{min-width:44px;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-label);font-weight:var(--weight-action);line-height:1.5;cursor:pointer}
.product-lightbox button:focus-visible{outline:3px solid var(--color-paper);outline-offset:3px}
.product-lightbox button:disabled{opacity:.45;cursor:default}
.lightbox-heading button{display:flex;align-items:center;gap:var(--space-3);flex:none}
.lightbox-heading button span{font-size:24px;line-height:1}
.lightbox-viewport{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;cursor:zoom-in}
.lightbox-viewport.is-zoomed{cursor:grab}
.lightbox-viewport.is-zoomed:active{cursor:grabbing}
.lightbox-viewport img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:center}
.lightbox-count{font-size:var(--text-caption);line-height:1.5;margin:0;color:var(--color-paper);flex:none;text-align:center}
.lightbox-controls,.lightbox-navigation,.lightbox-zoom{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap}
.lightbox-controls{gap:var(--space-5);flex:none}
.lightbox-zoom output{min-width:48px;text-align:center;font-size:var(--text-small);font-variant-numeric:tabular-nums}
.lightbox-help{font-size:var(--text-caption);line-height:1.5;text-align:center;color:var(--color-paper);margin:0;flex:none}
@media(max-width:800px){.product-gallery{position:static;max-width:650px;width:100%}}
@media(max-width:600px){.product-lightbox{inset:0;width:100vw;height:100vh;height:100dvh;padding:max(var(--space-3),env(safe-area-inset-top)) var(--space-3) max(var(--space-3),env(safe-area-inset-bottom));border:0}.lightbox-heading p{font-size:var(--text-caption)}.lightbox-controls{gap:var(--space-2)}.lightbox-help{font-size:11px}.product-thumb{flex-basis:72px;height:68px}}
