/* Stage 4 product page: fully scoped to the QarQarak design system. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.qqp-body{margin:0;background:var(--bg);background-image:var(--bg-tint);color:var(--text);font-family:var(--font-ui);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
body.qqp-body button,body.qqp-body input{font:inherit}
body.qqp-body button{cursor:pointer}
body.qqp-body img{display:block;max-width:100%}
body.qqp-body a{color:inherit;text-decoration:none}
body.qqp-body :focus-visible{outline:3px solid color-mix(in srgb,var(--ring) 55%,transparent);outline-offset:3px}
body.qqp-body [hidden]{display:none!important}
.qq-product-page{width:min(var(--container),calc(100% - 2*var(--gutter)));margin:auto;padding:var(--sp-6) 0 8rem}
.qqp-topbar{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.qqp-topbar>div{width:min(var(--container),calc(100% - 2*var(--gutter)));min-height:64px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.qqp-topbar a{text-decoration:none;color:var(--text)}.qqp-topbar__brand{display:flex;align-items:center;gap:.6rem}.qqp-topbar__brand img{flex:none}.qqp-topbar__brand span,.qqp-topbar__brand b,.qqp-topbar__brand small{display:block}.qqp-topbar__brand small{font-size:.67rem;color:var(--text-muted)}.qqp-topbar nav{display:flex;align-items:center;gap:.45rem}.qqp-topbar nav>a{min-height:40px;display:flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px}.qqp-topbar nav>a:hover{border-color:var(--accent);color:var(--accent-strong)}.qqp-topbar__cart b{min-width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#111;font-size:.75rem}
.qqp-breadcrumb{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin:0 0 var(--sp-5);font-size:var(--fs-xs);color:var(--text-muted)}
.qqp-breadcrumb a:hover{color:var(--accent-text)}
.qqp-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(1rem,2.4vw,2rem);align-items:start}
.qqp-gallery,.qqp-purchase-card,.qqp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);box-shadow:var(--shadow-md)}
.qqp-gallery{padding:var(--sp-4);position:sticky;top:var(--sp-4)}
.qqp-gallery-stage{position:relative;display:grid;place-items:center;min-height:min(520px,52vw);aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(145deg,var(--stage),var(--surface-2))}
.qqp-gallery-image{width:100%;height:100%;object-fit:contain;padding:clamp(.75rem,2vw,1.5rem);transition:opacity var(--d-fast) var(--e-out),transform var(--d-base) var(--e-out)}
.qqp-gallery-nav,.qqp-gallery-zoom{position:absolute;z-index:2;border:1px solid var(--line);background:var(--glass-strong);backdrop-filter:blur(10px);color:var(--text-strong);box-shadow:var(--shadow-sm)}
.qqp-gallery-nav{top:50%;translate:0 -50%;width:2.75rem;height:2.75rem;border-radius:50%;font-size:1.75rem;display:grid;place-items:center}
.qqp-gallery-nav--prev{right:var(--sp-3)}.qqp-gallery-nav--next{left:var(--sp-3)}
.qqp-gallery-zoom{left:var(--sp-3);top:var(--sp-3);width:2.75rem;height:2.75rem;border-radius:var(--r-md);font-size:1.25rem}
.qqp-gallery-counter{position:absolute;right:var(--sp-3);top:var(--sp-3);z-index:2;background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--r-pill);padding:.35rem .65rem;font-size:var(--fs-3xs);color:var(--text-muted)}
.qqp-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:var(--sp-2);margin-top:var(--sp-3)}
.qqp-gallery-thumb{height:78px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);overflow:hidden;padding:.3rem;transition:border-color var(--d-fast),box-shadow var(--d-fast)}
.qqp-gallery-thumb img{width:100%;height:100%;object-fit:contain}
.qqp-gallery-thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.qqp-purchase-card{padding:clamp(1.25rem,2.2vw,2rem)}
.qqp-eyebrow-row{display:flex;justify-content:space-between;gap:var(--sp-2);align-items:center;flex-wrap:wrap}
.qqp-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-3xs);font-weight:800;border:1px solid var(--line-accent)}
.qqp-stock-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--fs-3xs);font-weight:800;padding:.35rem .65rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted)}
.qqp-stock-pill i{width:.48rem;height:.48rem;border-radius:50%;background:currentColor}.qqp-stock-pill.is-stock{color:var(--ok);background:var(--ok-wash)}.qqp-stock-pill.is-preorder{color:var(--warn);background:var(--warn-wash)}.qqp-stock-pill.is-out{color:var(--danger);background:var(--danger-wash)}
.qqp-purchase-card h1{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-3xl);line-height:var(--lh-tight);color:var(--text-strong);letter-spacing:var(--tracking-brand)}
.qqp-subtitle{margin:0 0 var(--sp-5);color:var(--text-muted);font-size:var(--fs-sm)}
.qqp-quick-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin:0 0 var(--sp-4)}
.qqp-quick-meta div{padding:.75rem;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.qqp-quick-meta dt{font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-quick-meta dd{margin:.1rem 0 0;font-weight:800;font-size:var(--fs-xs);overflow-wrap:anywhere}
.qqp-price-panel{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:end;margin:var(--sp-4) 0;padding:var(--sp-4);border:1px solid var(--line-accent);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--accent-softer),var(--surface))}
.qqp-price-panel span{display:block;font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-price-panel div>div{display:flex;gap:.4rem;align-items:baseline}.qqp-price-panel strong{font-size:var(--fs-2xl);color:var(--text-strong)}.qqp-price-panel small{font-size:var(--fs-xs);font-weight:700}.qqp-price-panel p{max-width:15rem;margin:0;font-size:var(--fs-3xs);color:var(--text-muted);text-align:left}
.qqp-selection-status{display:grid;grid-template-columns:1fr auto;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line)}
.qqp-selection-status div{min-width:0}.qqp-selection-status span{display:block;font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-selection-status strong{display:block;margin-top:.12rem;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis}
.qqp-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r-md);padding:.72rem 1rem;font-weight:850;font-size:var(--fs-xs);transition:transform var(--d-fast),box-shadow var(--d-fast),background var(--d-fast),border-color var(--d-fast)}.qqp-button:hover:not(:disabled){transform:translateY(-1px)}.qqp-button:disabled{opacity:.45;cursor:not-allowed}
.qqp-button--primary{border:1px solid var(--accent);background:var(--accent);color:var(--text-onbrass);box-shadow:var(--shadow-brass)}.qqp-button--primary:hover:not(:disabled){background:var(--accent-hover)}.qqp-button--secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--text-strong)}
.qqp-order-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.55fr);gap:var(--sp-3);align-items:center;margin:var(--sp-4) 0 var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-accent);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--accent-softer),var(--surface-2))}
.qqp-order-entry__copy{min-width:0}.qqp-order-entry__copy>span,.qqp-order-entry__copy>strong,.qqp-order-entry__copy>small{display:block}.qqp-order-entry__copy>span{font-size:var(--fs-3xs);font-weight:900;color:var(--accent-text)}.qqp-order-entry__copy>strong{margin-top:.12rem;font-size:var(--fs-sm);color:var(--text-strong)}.qqp-order-entry__copy>small{margin-top:.22rem;font-size:.68rem;line-height:1.7;color:var(--text-muted)}
.qqp-configure-button{width:100%;margin:0;min-height:52px}
.qqp-cart-status{margin-top:var(--sp-3);padding:.75rem;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-xs)}.qqp-cart-status.is-error{background:var(--danger-wash);color:var(--danger)}.qqp-cart-status.is-success{background:var(--ok-wash);color:var(--ok)}
.qqp-assurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin-top:var(--sp-5)}.qqp-assurance-grid>div{display:flex;gap:.55rem;align-items:flex-start;padding:.75rem;border-top:1px solid var(--line)}.qqp-assurance-grid>div>span{width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:.6rem;background:var(--accent-soft);color:var(--accent-text);flex:0 0 auto;font-weight:900}.qqp-assurance-grid p{margin:0}.qqp-assurance-grid strong,.qqp-assurance-grid small{display:block}.qqp-assurance-grid strong{font-size:var(--fs-3xs)}.qqp-assurance-grid small{font-size:.68rem;color:var(--text-muted);margin-top:.1rem;line-height:1.6}
.qqp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-6)}.qqp-card{padding:clamp(1.2rem,2vw,1.7rem)}.qqp-card>p{color:var(--text-muted);font-size:var(--fs-sm)}
.qqp-section-heading{display:flex;justify-content:space-between;align-items:start;gap:var(--sp-3);margin-bottom:var(--sp-4)}.qqp-section-heading span{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:900}.qqp-section-heading h2{font-size:var(--fs-xl);margin:.15rem 0 0;color:var(--text-strong)}
.qqp-selection-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem}.qqp-selection-summary div{padding:.7rem;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.qqp-selection-summary span,.qqp-selection-summary strong{display:block}.qqp-selection-summary span{font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-selection-summary strong{font-size:var(--fs-xs);margin-top:.1rem}
.qqp-timeline{display:grid;gap:.8rem}.qqp-timeline>div{display:grid;grid-template-columns:12px 1fr;gap:.75rem;align-items:start}.qqp-timeline i{width:10px;height:10px;margin-top:.45rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.qqp-timeline p{margin:0}.qqp-timeline strong,.qqp-timeline span{display:block}.qqp-timeline strong{font-size:var(--fs-xs)}.qqp-timeline span{font-size:var(--fs-3xs);color:var(--text-muted);margin-top:.1rem}
.qqp-specs-card,.qqp-description-card,.qqp-faq-card{margin-top:var(--sp-4)}
.qqp-spec-table{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.qqp-spec-table>div{display:flex;justify-content:space-between;gap:1rem;padding:.78rem .9rem;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.qqp-spec-table span{color:var(--text-muted);font-size:var(--fs-xs)}.qqp-spec-table strong{font-size:var(--fs-xs);text-align:left}
.qqp-prose{white-space:normal;color:var(--text);font-size:var(--fs-sm);line-height:2.05}
.qqp-accordion{display:grid;gap:.6rem}.qqp-accordion details{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:.75rem 1rem}.qqp-accordion summary{cursor:pointer;font-weight:800;font-size:var(--fs-xs)}.qqp-accordion p{margin:.6rem 0 0;color:var(--text-muted);font-size:var(--fs-xs)}
.qqp-related-cta{margin-top:var(--sp-4);padding:clamp(1.2rem,2vw,1.8rem);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);border:1px solid var(--line-accent);border-radius:var(--r-2xl);background:linear-gradient(135deg,var(--accent-softer),var(--surface));box-shadow:var(--shadow-sm)}.qqp-related-cta span{color:var(--accent-text);font-size:var(--fs-3xs);font-weight:900}.qqp-related-cta h2{margin:.15rem 0 0;font-size:var(--fs-lg)}
.qqp-mobile-buybar{display:none}
.qqp-image-dialog,.qqp-configurator{border:0;padding:0;background:transparent;color:var(--text)}.qqp-image-dialog::backdrop,.qqp-configurator::backdrop{background:rgba(5,10,14,.72);backdrop-filter:blur(8px)}
.qqp-image-dialog{max-width:min(94vw,1100px);max-height:94vh}.qqp-image-dialog img{max-height:88vh;border-radius:var(--r-xl);background:var(--surface)}.qqp-image-dialog>button{position:fixed;top:1rem;left:1rem;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,0,0,.55);color:white;font-size:1.4rem;z-index:2}
.qqp-configurator{width:min(96vw,1080px);max-width:none;max-height:94dvh}.qqp-configurator-shell{display:flex;flex-direction:column;max-height:94dvh;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--shadow-lg)}
.qqp-configurator-header{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:start;padding:var(--sp-5);border-bottom:1px solid var(--line)}.qqp-configurator-header span{font-size:var(--fs-3xs);color:var(--accent-text);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.qqp-configurator-header h2{margin:.15rem 0;font-size:var(--fs-xl)}.qqp-configurator-header p{margin:0;color:var(--text-muted);font-size:var(--fs-xs)}.qqp-configurator-header>button{width:2.6rem;height:2.6rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:1.25rem;flex:0 0 auto}
.qqp-configurator-progress{display:flex;align-items:stretch;gap:.4rem;padding:.7rem var(--sp-5);overflow:auto;border-bottom:1px solid var(--line);background:var(--surface-2)}.qqp-config-step{min-width:140px;display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);padding:.45rem .6rem;text-align:right}.qqp-config-step>span{grid-row:1/3;width:2rem;height:2rem;border-radius:.7rem;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-weight:900}.qqp-config-step b{font-size:var(--fs-3xs)}.qqp-config-step small{font-size:.64rem}.qqp-config-step.is-active{background:var(--accent-soft);border-color:var(--line-accent);color:var(--text-strong)}.qqp-config-step.is-complete>span{background:var(--ok);color:white;border-color:var(--ok)}
.qqp-configurator-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0;overflow:hidden}.qqp-configurator-preview{padding:var(--sp-4);border-left:1px solid var(--line);background:var(--surface-2);overflow:auto}.qqp-configurator-image{aspect-ratio:1;border-radius:var(--r-xl);background:var(--stage);overflow:hidden}.qqp-configurator-image img{width:100%;height:100%;object-fit:contain;padding:.7rem}.qqp-configurator-preview>div:nth-child(2){margin-top:var(--sp-3)}.qqp-configurator-preview>div:nth-child(2)>span{font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-configurator-preview h3{margin:.1rem 0 .6rem;font-size:var(--fs-md)}.qqp-configurator-preview dl{display:grid;gap:.35rem;margin:0}.qqp-configurator-preview dl div{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--fs-3xs);padding-bottom:.35rem;border-bottom:1px dashed var(--line)}.qqp-configurator-preview dt{color:var(--text-muted)}.qqp-configurator-preview dd{margin:0;font-weight:800}.qqp-configurator-price{margin-top:var(--sp-3);padding:.75rem;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--line-accent)}.qqp-configurator-price span,.qqp-configurator-price strong{display:block}.qqp-configurator-price span{font-size:var(--fs-3xs);color:var(--text-muted)}.qqp-configurator-price strong{font-size:var(--fs-lg);margin-top:.1rem}
.qqp-configurator-workspace{padding:var(--sp-5);overflow:auto;min-height:0}.qqp-config-panel-heading{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:start;margin-bottom:var(--sp-4)}.qqp-config-panel-heading span{font-size:var(--fs-3xs);font-weight:900;color:var(--accent-text)}.qqp-config-panel-heading h3{margin:.15rem 0 0;font-size:var(--fs-xl)}.qqp-config-panel-heading p{max-width:24rem;margin:0;color:var(--text-muted);font-size:var(--fs-xs)}
.qqp-config-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.qqp-config-option-card{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);text-align:right;color:var(--text)}.qqp-config-option-card:hover:not(:disabled){border-color:var(--line-accent)}.qqp-config-option-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-softer)}.qqp-config-option-card:disabled{opacity:.38;cursor:not-allowed}.qqp-config-option-card i{width:2.1rem;height:2.1rem;border-radius:.75rem;background:var(--qqp-config-swatch,var(--surface-3));box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.qqp-config-option-card strong,.qqp-config-option-card small{display:block}.qqp-config-option-card strong{font-size:var(--fs-xs)}.qqp-config-option-card small{color:var(--text-muted);font-size:.65rem}.qqp-config-option-check{width:1.35rem;height:1.35rem;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;color:transparent}.qqp-config-option-card.is-selected .qqp-config-option-check{background:var(--accent);border-color:var(--accent);color:var(--text-onbrass)}
.qqp-config-final-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--sp-3)}.qqp-config-quantity-card,.qqp-config-quote-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.qqp-config-quantity-card>span{display:block;font-size:var(--fs-xs);font-weight:800;margin-bottom:.55rem}.qqp-config-qty{display:grid;grid-template-columns:44px 1fr 44px;height:46px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.qqp-config-qty button{border:0;background:var(--surface-3);color:var(--text);font-size:1.2rem}.qqp-config-qty input{min-width:0;border:0;text-align:center;background:var(--surface);color:var(--text);outline:0}.qqp-config-quantity-card small{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.67rem}.qqp-config-quote-card>span{display:inline-flex;padding:.3rem .6rem;border-radius:var(--r-pill);background:var(--surface-3);font-size:var(--fs-3xs);font-weight:900}.qqp-config-quote-card>span.is-stock{background:var(--ok-wash);color:var(--ok)}.qqp-config-quote-card>span.is-preorder{background:var(--warn-wash);color:var(--warn)}.qqp-config-quote-card>span.is-error{background:var(--danger-wash);color:var(--danger)}.qqp-config-quote-card>strong{display:block;margin-top:.45rem;font-size:var(--fs-md)}.qqp-config-quote-card>p{margin:.1rem 0 .7rem;color:var(--text-muted);font-size:var(--fs-xs)}.qqp-config-quote-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0}.qqp-config-quote-card dl div{padding:.55rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.qqp-config-quote-card dt{font-size:.64rem;color:var(--text-muted)}.qqp-config-quote-card dd{margin:.1rem 0 0;font-weight:850;font-size:var(--fs-3xs)}
.qqp-config-order-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.45rem;margin-top:var(--sp-3)}.qqp-config-order-summary>div{padding:.65rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.qqp-config-order-summary span,.qqp-config-order-summary strong{display:block}.qqp-config-order-summary span{font-size:.64rem;color:var(--text-muted)}.qqp-config-order-summary strong{font-size:var(--fs-3xs);margin-top:.1rem}
.qqp-config-submit-status{margin:var(--sp-3) 0 0;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-xs);line-height:1.75}.qqp-config-submit-status.is-error{border-color:color-mix(in srgb,var(--danger) 38%,var(--line));background:var(--danger-wash);color:var(--danger)}.qqp-config-submit-status.is-success{border-color:color-mix(in srgb,var(--ok) 38%,var(--line));background:var(--ok-wash);color:var(--ok)}
.qqp-config-confirm-check{display:flex;gap:.65rem;align-items:flex-start;margin-top:var(--sp-3);padding:.75rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer}.qqp-config-confirm-check input{margin-top:.25rem;accent-color:var(--accent)}.qqp-config-confirm-check strong,.qqp-config-confirm-check small{display:block}.qqp-config-confirm-check strong{font-size:var(--fs-3xs)}.qqp-config-confirm-check small{font-size:.65rem;color:var(--text-muted)}
.qqp-configurator-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;padding:.8rem var(--sp-5) calc(.8rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--glass-strong);backdrop-filter:blur(12px)}.qqp-configurator-footer>div{text-align:center;min-width:0}.qqp-configurator-footer>div span,.qqp-configurator-footer>div strong{display:block}.qqp-configurator-footer>div span{font-size:.64rem;color:var(--text-muted)}.qqp-configurator-footer>div strong{font-size:var(--fs-3xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qq-toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom));translate:-50% 1rem;z-index:var(--z-toast);max-width:min(92vw,620px);padding:.78rem 1rem;border-radius:var(--r-md);background:var(--surface-inverse);color:var(--text-oninverse);box-shadow:var(--shadow-lg);font-size:var(--fs-xs);opacity:0;pointer-events:none;transition:opacity var(--d-base),translate var(--d-base)}.qq-toast[data-show="1"],.qq-toast.is-visible{opacity:1;translate:-50% 0}
html.qq-locked,body.qq-locked{overflow:hidden!important;overscroll-behavior:none}
@media(max-width:980px){.qqp-hero{grid-template-columns:1fr}.qqp-gallery{position:relative;top:auto}.qqp-gallery-stage{min-height:420px}.qqp-info-grid{grid-template-columns:1fr}.qqp-configurator-body{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:720px){.qqp-order-entry{grid-template-columns:1fr}.qq-product-page{width:min(100% - 1.1rem,var(--container));padding-top:.75rem}.qqp-breadcrumb{font-size:.72rem;margin-bottom:.7rem}.qqp-gallery,.qqp-purchase-card,.qqp-card{border-radius:var(--r-xl)}.qqp-gallery{padding:.65rem}.qqp-gallery-stage{min-height:0;aspect-ratio:1}.qqp-gallery-thumbs{grid-template-columns:repeat(4,1fr);overflow:auto}.qqp-gallery-thumb{height:62px}.qqp-purchase-card{padding:1rem}.qqp-purchase-card h1{font-size:var(--fs-2xl)}.qqp-quick-meta{grid-template-columns:1fr 1fr}.qqp-quick-meta div:last-child{grid-column:1/-1}.qqp-price-panel{align-items:start;flex-direction:column}.qqp-price-panel p{text-align:right;max-width:none}.qqp-assurance-grid{grid-template-columns:1fr}.qqp-assurance-grid>div{padding:.55rem 0}.qqp-spec-table{grid-template-columns:1fr}.qqp-related-cta{align-items:stretch;flex-direction:column}.qqp-related-cta .qqp-button{width:100%}.qqp-mobile-buybar{position:fixed;right:0;left:0;bottom:0;z-index:var(--z-actionbar);display:grid;grid-template-columns:1fr minmax(150px,1.2fr);gap:.7rem;align-items:center;padding:.65rem .8rem calc(.65rem + env(safe-area-inset-bottom));background:var(--glass-strong);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.08)}.qqp-mobile-buybar span,.qqp-mobile-buybar strong{display:block}.qqp-mobile-buybar span{font-size:.64rem;color:var(--text-muted)}.qqp-mobile-buybar strong{font-size:var(--fs-xs)}.qqp-configurator{width:100vw;max-height:100dvh;margin:auto 0 0}.qqp-configurator-shell{height:min(95dvh,900px);max-height:none;border-radius:var(--r-xl) var(--r-xl) 0 0;border-bottom:0}.qqp-configurator-header{padding:1rem}.qqp-configurator-header p{font-size:.68rem}.qqp-configurator-progress{padding:.55rem .75rem}.qqp-config-step{min-width:115px}.qqp-configurator-body{display:flex;flex-direction:column;overflow:auto}.qqp-configurator-preview{display:grid;grid-template-columns:92px 1fr;gap:.65rem;border-left:0;border-bottom:1px solid var(--line);padding:.75rem;overflow:visible}.qqp-configurator-image{grid-row:1/3}.qqp-configurator-preview>div:nth-child(2){margin:0}.qqp-configurator-price{margin:0}.qqp-configurator-workspace{overflow:visible;padding:1rem}.qqp-config-panel-heading{display:block}.qqp-config-panel-heading p{max-width:none;margin-top:.35rem}.qqp-config-final-grid{grid-template-columns:1fr}.qqp-configurator-footer{grid-template-columns:auto 1fr;padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom))}.qqp-configurator-footer>div{display:none}.qqp-configurator-footer .qqp-button{padding:.65rem .75rem}}
@media(max-width:430px){.qqp-order-entry{grid-template-columns:1fr;padding:.8rem}.qqp-selection-status{grid-template-columns:1fr}.qqp-config-option-grid{grid-template-columns:1fr}.qqp-config-quote-card dl{grid-template-columns:1fr 1fr}.qqp-config-quote-card dl div:last-child{grid-column:1/-1}.qqp-configurator-header p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.qqp-button,.qqp-gallery-image,.qq-toast{transition:none!important}}

/* Stage 4 responsive and accessibility hardening. */
body.qqp-body{overflow-x:clip}
.qqp-gallery-nav,.qqp-gallery-zoom,.qqp-configurator-header>button{min-width:44px;min-height:44px}
.qqp-button,.qqp-config-qty button{touch-action:manipulation}
.qqp-accordion summary{min-height:44px;display:flex;align-items:center}
.qqp-mobile-buybar{isolation:isolate}

@media(max-width:720px){
  body.qqp-body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .qq-product-page{padding-bottom:var(--sp-6)}
  .qqp-gallery-nav{width:44px;height:44px}
  .qqp-gallery-thumbs{display:flex;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}
  .qqp-gallery-thumbs::-webkit-scrollbar{display:none}
  .qqp-gallery-thumb{flex:0 0 68px;scroll-snap-align:start}
  .qqp-mobile-buybar{grid-template-columns:minmax(0,1fr) minmax(148px,1.1fr)}
  .qqp-mobile-buybar>div{min-width:0}
  .qqp-mobile-buybar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .qqp-configurator{inset:auto 0 0;inline-size:100%;max-inline-size:100%;max-block-size:100dvh;margin:0}
  .qqp-configurator-shell{height:min(96dvh,900px);max-height:100dvh}
  .qqp-configurator-progress{scroll-snap-type:x proximity;scrollbar-width:none}
  .qqp-configurator-progress::-webkit-scrollbar{display:none}
  .qqp-config-step{scroll-snap-align:start}
  .qqp-configurator-body{overscroll-behavior:contain}
  .qqp-configurator-footer{position:sticky;bottom:0;z-index:2}
}

@media(max-width:430px){
  .qqp-breadcrumb{gap:.35rem}
  .qqp-purchase-card h1{font-size:clamp(1.55rem,8vw,var(--fs-2xl));overflow-wrap:anywhere}
  .qqp-quick-meta{grid-template-columns:1fr}
  .qqp-quick-meta div:last-child{grid-column:auto}
  .qqp-price-panel strong{font-size:clamp(1.45rem,8vw,var(--fs-2xl))}
  .qqp-mobile-buybar{grid-template-columns:minmax(0,.9fr) minmax(142px,1.1fr);gap:.5rem;padding-inline:.6rem}
  .qqp-configurator-header{padding:.8rem}
  .qqp-configurator-header h2{font-size:var(--fs-lg)}
  .qqp-configurator-preview{grid-template-columns:76px minmax(0,1fr)}
  .qqp-configurator-workspace{padding:.8rem}
  .qqp-configurator-footer{gap:.45rem;padding-inline:.55rem}
  .qqp-configurator-footer .qqp-button{min-width:0;font-size:.72rem}
}

@media(max-width:350px){
  .qqp-mobile-buybar{grid-template-columns:1fr}
  .qqp-mobile-buybar>div{display:none}
  .qqp-configurator-preview{grid-template-columns:64px minmax(0,1fr)}
  .qqp-configurator-image{border-radius:var(--r-md)}
}

@media(hover:none) and (pointer:coarse){
  .qqp-button,.qqp-gallery-thumb,.qqp-config-option-card{min-height:44px}
}

@media(prefers-reduced-motion:reduce){
  .qqp-configurator-progress,.qqp-gallery-thumbs{scroll-behavior:auto}
}

/* ========================================================================
   UI revision — configurator stepper and single-scroll modal
   ======================================================================== */
.qqp-configurator {
  inline-size:min(1080px,calc(100vw - 2rem));
  max-block-size:min(94dvh,860px);
}
.qqp-configurator-shell {
  block-size:min(94dvh,860px);
  max-block-size:min(94dvh,860px);
  min-block-size:0;
}
.qqp-configurator-header,
.qqp-configurator-progress,
.qqp-configurator-footer { flex:0 0 auto; }

.qqp-configurator-progress {
  --step-size:2.35rem;
  position:relative;
  display:grid;
  grid-template-columns:repeat(var(--qqp-step-count,4),minmax(0,1fr));
  gap:.65rem;
  min-block-size:78px;
  padding:.75rem var(--sp-5);
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  scroll-behavior:smooth;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
}
.qqp-configurator-progress::-webkit-scrollbar { display:none; }
.qqp-config-step {
  position:relative;
  isolation:isolate;
  min-inline-size:0;
  min-block-size:54px;
  display:grid;
  grid-template-columns:var(--step-size) minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:.65rem;
  align-content:center;
  align-items:center;
  padding:.45rem .55rem;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  background:transparent;
  color:var(--text-muted);
  text-align:start;
  transition:background var(--d-fast) var(--e-out),border-color var(--d-fast) var(--e-out),color var(--d-fast) var(--e-out);
}
.qqp-config-step::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset-inline-end:calc(100% - .2rem);
  inset-block-start:50%;
  inline-size:calc(.65rem + .4rem);
  block-size:2px;
  background:var(--line-strong);
  transform:translateY(-50%);
}
.qqp-config-step:first-child::after { display:none; }
.qqp-config-step > span {
  grid-row:1/3;
  inline-size:var(--step-size);
  block-size:var(--step-size);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--surface);
  border:1px solid var(--line-strong);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset;
  font-weight:900;
}
.qqp-config-step b,
.qqp-config-step small {
  min-inline-size:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.qqp-config-step b { font-size:var(--fs-3xs); line-height:1.45; color:var(--text-strong); }
.qqp-config-step small { font-size:.64rem; line-height:1.35; color:var(--text-faint); }
.qqp-config-step.is-active {
  color:var(--text-strong);
  border-color:var(--line-accent);
  background:linear-gradient(135deg,var(--accent-soft),var(--surface));
  box-shadow:0 5px 18px rgba(158,103,8,.08);
}
.qqp-config-step.is-active > span {
  border-color:var(--accent);
  background:var(--accent);
  color:var(--text-onbrass);
  box-shadow:0 0 0 4px var(--accent-softer);
}
.qqp-config-step.is-complete > span { background:var(--ok); border-color:var(--ok); color:#fff; }
.qqp-config-step.is-complete::after { background:var(--ok); }
.qqp-config-step:disabled { cursor:not-allowed; opacity:.62; }

.qqp-configurator-body {
  flex:1 1 auto;
  min-block-size:0;
  overflow:hidden;
}
.qqp-configurator-preview,
.qqp-configurator-workspace {
  min-block-size:0;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:720px) {
  .qqp-configurator::backdrop { backdrop-filter:none; }
  .qqp-configurator {
    inline-size:100vw;
    max-inline-size:100vw;
    max-block-size:100dvh;
  }
  .qqp-configurator-shell {
    block-size:min(96dvh,900px);
    max-block-size:100dvh;
  }
  .qqp-configurator-header { padding:.85rem 1rem; }
  .qqp-configurator-progress {
    display:flex;
    gap:.55rem;
    min-block-size:76px;
    padding:.65rem max(.75rem,env(safe-area-inset-left));
    scroll-snap-type:x mandatory;
    scroll-padding-inline:.75rem;
  }
  .qqp-config-step {
    flex:0 0 min(72vw,245px);
    min-inline-size:0;
    min-block-size:56px;
    scroll-snap-align:center;
  }
  .qqp-config-step::after { inline-size:.75rem; inset-inline-end:calc(100% - .1rem); }
  .qqp-configurator-body {
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden;
  }
  .qqp-configurator-preview {
    overflow:hidden;
    max-block-size:146px;
  }
  .qqp-configurator-workspace {
    overflow-y:auto;
    overflow-x:hidden;
  }
  .qqp-configurator-footer { position:relative; bottom:auto; backdrop-filter:none; }
  .qqp-mobile-buybar { backdrop-filter:none; background:var(--surface); }
}

@media(max-width:430px) {
  .qqp-configurator-header p { display:none; }
  .qqp-configurator-progress { min-block-size:72px; padding-block:.55rem; }
  .qqp-config-step { flex-basis:78vw; min-block-size:54px; }
  .qqp-configurator-preview { max-block-size:132px; }
}

@media(max-width:560px) {
  .qqp-topbar>div{width:calc(100% - 1rem);min-height:58px}
  .qqp-topbar__brand small{display:none}
  .qqp-topbar nav>a{min-height:38px;padding:.4rem .65rem;font-size:.78rem}
  .qqp-topbar__cart span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}

/* Mobile configurator rebuild: one scroll owner, full-width content, no squeezed columns. */
@media(max-width:720px){.qqp-configurator{inset:0!important;margin:0!important;inline-size:100vw!important;block-size:100dvh!important;max-inline-size:none!important;max-block-size:none!important}.qqp-configurator-shell{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto;inline-size:100%;block-size:100dvh!important;max-block-size:100dvh!important;border:0;border-radius:0!important}.qqp-configurator-header{min-block-size:82px;padding:max(.8rem,env(safe-area-inset-top)) 1rem .8rem!important}.qqp-configurator-header h2{font-size:1.12rem;line-height:1.55}.qqp-configurator-progress{display:grid!important;grid-template-columns:repeat(var(--qqp-step-count,4),minmax(0,1fr))!important;gap:.3rem;min-block-size:66px!important;padding:.45rem .55rem!important;overflow:visible!important;scroll-snap-type:none!important}.qqp-config-step{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto;justify-items:center;gap:.15rem;min-inline-size:0!important;min-block-size:56px!important;padding:.3rem .15rem!important;border-radius:12px;scroll-snap-align:none!important}.qqp-config-step::after{inset-inline-end:calc(100% - .2rem)!important;inline-size:.7rem!important}.qqp-config-step>span{grid-row:auto!important;inline-size:29px!important;block-size:29px!important;font-size:.75rem}.qqp-config-step b{max-inline-size:100%;font-size:.68rem!important}.qqp-config-step small{display:none}.qqp-configurator-body{display:flex!important;flex-direction:column!important;min-block-size:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}.qqp-configurator-preview{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:.55rem .75rem;flex:0 0 auto;max-block-size:none!important;padding:.7rem .85rem!important;border-inline:0!important;border-block-end:1px solid var(--line);overflow:visible!important}.qqp-configurator-image{grid-row:1/3!important;inline-size:72px;block-size:72px;border-radius:15px}.qqp-configurator-preview>div:nth-child(2){margin:0!important;min-inline-size:0}.qqp-configurator-preview h3{margin:.1rem 0 .35rem;font-size:.9rem;line-height:1.6}.qqp-configurator-preview dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.qqp-configurator-preview dl div{display:block;padding:0;border:0;font-size:.67rem}.qqp-configurator-preview dd{margin-block-start:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qqp-configurator-price{grid-column:2;margin:0!important;padding:.45rem .6rem}.qqp-configurator-price strong{font-size:.9rem}.qqp-configurator-workspace{flex:0 0 auto;inline-size:100%;min-block-size:calc(100% - 104px);overflow:visible!important;padding:1rem!important}.qqp-config-panel-heading{display:block!important;inline-size:100%!important;margin-block-end:1rem!important}.qqp-config-panel-heading h3{font-size:1.25rem!important;line-height:1.65}.qqp-config-panel-heading p{max-inline-size:none!important;margin:.35rem 0 0!important;font-size:.86rem;line-height:1.9}.qqp-config-option-grid{display:grid!important;grid-template-columns:1fr!important;inline-size:100%;gap:.65rem}.qqp-config-option-card{inline-size:100%;min-block-size:68px;grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem .8rem}.qqp-configurator-footer{position:relative!important;z-index:5;grid-template-columns:minmax(88px,auto) minmax(0,1fr)!important;gap:.55rem;padding:.65rem .75rem calc(.65rem + env(safe-area-inset-bottom))!important;border-block-start:1px solid var(--line);background:var(--surface)!important}.qqp-configurator-footer>div{display:none!important}.qqp-configurator-footer .qqp-button{min-block-size:50px;font-size:.82rem}.qqp-configurator-footer [data-config-next],.qqp-configurator-footer [data-config-confirm]{grid-column:2}.qqp-configurator-footer [data-config-back]{grid-column:1;grid-row:1}}
@media(max-width:380px){.qqp-configurator-header{min-block-size:74px}.qqp-configurator-progress{min-block-size:60px}.qqp-config-step b{font-size:.62rem!important}.qqp-configurator-preview{grid-template-columns:60px minmax(0,1fr)!important}.qqp-configurator-image{inline-size:60px;block-size:60px}.qqp-configurator-workspace{padding:.85rem!important}}

.qqp-image-status{position:absolute;inset-inline:0;inset-block-end:0;z-index:1;margin:0;text-align:center;padding:.75rem;color:var(--text-strong);background:var(--surface);font-size:.9rem;line-height:1.7}
