/* Private Product composition; accepted shell tokens remain authoritative. */
#purchase{scroll-margin-block-start:calc(var(--header-size) + var(--space-5))}
.product-page{padding-block-end:0}.product-breadcrumbs{padding-block-start:var(--space-5)}.product-breadcrumbs .breadcrumbs{margin-block-end:var(--space-5)}
.product-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:var(--space-8);padding-block:var(--space-4) var(--space-9);align-items:start}.product-intro{grid-column:2;grid-row:1}.product-intro h1{font-size:clamp(2.3rem,3.5vw,3.75rem);margin-block-end:var(--space-4)}.product-intro .lead{font-size:var(--text-body);color:var(--ink-secondary);max-width:38rem}.product-gallery{grid-column:1;grid-row:1 / span 2;min-width:0}.product-offer{grid-column:2;grid-row:2}
.product-image{margin:0;border:1px solid var(--border);background:#e8ece7;position:relative;isolation:isolate}.product-image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}.product-image figcaption{padding:var(--space-3) var(--space-4);font-size:var(--text-small);background:var(--surface)}
.product-image--empty{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-7);text-align:center;background:linear-gradient(135deg,#e8ece7,#dbe4df);color:var(--ink-secondary)}.product-image--empty:before{content:"";position:absolute;inset:var(--space-5);border:1px solid #b0bdb5;z-index:-1}.technical-mark{font-size:4rem;font-weight:300;color:var(--cool);line-height:1;margin-block-end:var(--space-5)}.product-image--empty p{max-width:22rem;margin:0}
.gallery-controls{display:flex;gap:var(--space-3);padding-block:var(--space-4);overflow:auto}.gallery-controls button{flex:0 0 5rem;border:2px solid transparent;padding:var(--space-1);background:var(--surface);border-radius:var(--radius);min-height:3rem}.gallery-controls button[aria-pressed=true]{border-color:var(--cool)}.gallery-controls img{width:100%;height:3.5rem;object-fit:contain}
.offer-price{border-block-start:1px solid var(--border);padding-block-start:var(--space-5);margin-block-end:var(--space-5)}.offer-label{color:var(--cool);font-weight:600;font-size:var(--text-small);margin:0 0 var(--space-2)}.original-price{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-small);color:var(--ink-secondary);margin-block-end:var(--space-2)}.current-price{margin:0;display:grid;gap:var(--space-1)}.current-price>span{font-size:var(--text-small);color:var(--ink-secondary)}.current-price strong{font-size:clamp(1.7rem,2.9vw,2.5rem);line-height:1.5;letter-spacing:0;font-variant-numeric:tabular-nums}.product-offer .add-cart-form{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4);align-items:center}.add-cart-form>label{grid-column:1/-1;font-size:var(--text-small)}.add-cart-form>small,.add-cart-form>.field-error{grid-column:1/-1;font-size:var(--text-small);color:var(--ink-secondary)}.add-cart-form>.field-error{color:var(--error)}
.quantity-control{display:flex;align-items:center;width:10rem;border:1px solid var(--border-control);background:var(--surface);border-radius:var(--radius);overflow:hidden}.quantity-control button{width:2.75rem;min-height:3rem;border:0;background:transparent;font-size:1.3rem;flex-shrink:0}.quantity-control input{border:0;padding:var(--space-2) 0;text-align:center;min-width:0;border-radius:0;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-control:focus-within{outline:3px solid var(--focus);outline-offset:3px}.quantity-control :focus-visible{outline-offset:-3px}
.purchase-benefits{display:grid;gap:var(--space-2);list-style:none;padding:0;margin:var(--space-5) 0;font-size:var(--text-small)}.purchase-benefits li{display:flex;gap:var(--space-3);align-items:baseline}.purchase-benefits span{color:var(--cool);font-weight:700}.purchase-note{font-size:var(--text-small);color:var(--ink-secondary);margin-block-end:var(--space-4)}.consultation-link{min-height:2.75rem;padding-block:var(--space-2);font-size:var(--text-small)}.product-unavailable{padding:var(--space-5);border-inline-start:3px solid var(--border-control)}
.product-section{padding-block:var(--space-8);border-block-start:1px solid var(--border)}.product-editorial{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-8)}.product-editorial h2{font-size:clamp(1.6rem,2.8vw,2.5rem);max-width:24rem}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.product-technical{background:var(--mineral);color:var(--bg);border:0;--focus:var(--cool-light)}.product-technical p{font-size:var(--text-lead);max-width:42rem}.product-specifications{margin:0}.product-specifications>div{padding-block:var(--space-4);border-block-end:1px solid var(--border);display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-4)}.product-specifications dt{font-size:var(--text-small);color:var(--ink-secondary)}.product-specifications dd{margin:0;min-width:0}
.product-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--space-7)}.product-stories article{border-block-start:2px solid var(--cool);padding-block-start:var(--space-5)}.product-stories h3{font-size:var(--h3)}.product-stories p{color:var(--ink-secondary)}.product-stories .media-frame{margin-block-end:var(--space-5)}.product-service-band{background:#e5eae3}.product-service-band .purchase-benefits{margin-block-start:0;font-size:var(--text-lead)}.product-video{padding-block:var(--space-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.product-faq details{border-block-end:1px solid var(--border)}.product-faq summary{padding:var(--space-5) var(--space-2);font-weight:600;min-height:3rem}.product-faq .content-body{padding:0 var(--space-2) var(--space-5)}.product-advice{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-6)}.product-advice>div{max-width:38rem}.product-final{padding-block:var(--space-8);background:var(--dark);color:var(--bg);--focus:var(--cool-light)}.product-final>.container{display:flex;gap:var(--space-6);align-items:center;justify-content:space-between}.product-final h2{font-size:var(--h2);margin:0}
.sticky-purchase{display:none}.journey-stage{padding-block:var(--space-5) var(--space-9);min-height:70vh;scroll-margin-block-start:var(--header-size)}.journey-stage>h2{font-size:var(--h1);margin-block-end:var(--space-7)}.journey-stage>.eyebrow{margin-block-start:var(--space-5)}.journey-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-8)}.journey-summary{padding:var(--space-6);background:var(--surface);border-block-start:3px solid var(--cool);align-self:start}.journey-summary .button--primary{width:100%}.journey-total{font-size:var(--text-lead);font-weight:700}.cart-line{border-block:1px solid var(--border);padding-block:var(--space-5);margin-block-end:var(--space-5)}.cart-line h3{font-size:var(--h3)}.cart-line .cart-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end}.cart-line label{max-width:8rem;font-size:var(--text-small)}.cart-line bdi{font-variant-numeric:tabular-nums}.journey-summary dl>div{display:flex;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-3);border-block-end:1px solid var(--border)}.journey-summary dd{margin:0;text-align:end}.journey-summary dt{font-size:var(--text-small)}.journey-summary dl>div:last-child{font-weight:700;font-size:var(--text-lead)}.coupon-form{margin-block:var(--space-6)}.coupon-form label{font-size:var(--text-small)}.coupon-form>div{display:flex;gap:var(--space-2);margin-block-start:var(--space-2)}.coupon-form button{flex-shrink:0;padding-inline:var(--space-3)}.payment-choice{max-width:32rem;display:grid;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border);margin-block:var(--space-6)}
.journey-status{position:fixed;inset-inline:var(--gutter);inset-block-end:calc(1rem + env(safe-area-inset-bottom));z-index:25;max-width:46rem;margin:0 auto;background:var(--surface);color:var(--ink);border-inline-start:4px solid var(--cool);box-shadow:var(--shadow);padding:var(--space-4) var(--space-5);font-size:var(--text-small)}.journey-status.is-error{border-color:var(--error)}.product-page[aria-busy=true] .purchase-button{cursor:wait}.product-archive .content-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));max-width:56rem}.product-archive .content-card{background:transparent;border:1px solid var(--border)}
@media(max-width:56rem){.product-hero{grid-template-columns:1fr;gap:var(--space-5);padding-block:0 var(--space-7)}.product-intro,.product-gallery,.product-offer{grid-column:1;grid-row:auto}.product-intro h1{font-size:2rem}.product-intro .lead{font-size:1rem;margin:0}.product-image img{aspect-ratio:16/9;max-height:20rem}.product-image--empty{aspect-ratio:16/9;max-height:16rem;padding:var(--space-5)}.technical-mark{font-size:2.5rem;margin-block-end:var(--space-3)}.gallery-controls{padding-block:var(--space-2)}.gallery-controls button{flex-basis:4rem}.gallery-controls img{height:2.5rem}.offer-price{padding-block-start:var(--space-4);margin-block-end:var(--space-4)}.current-price strong{font-size:2rem}.product-editorial,.journey-layout{grid-template-columns:1fr;gap:var(--space-5)}.product-section{padding-block:var(--space-7)}.product-editorial h2{max-width:none;margin-block-end:var(--space-3)}.product-final>.container{align-items:start;flex-direction:column}.product-page:has(.sticky-purchase){padding-block-end:6.5rem}.js .sticky-purchase:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:fixed;inset-inline:0;inset-block-end:0;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--bg);border-block-start:1px solid var(--border-control);z-index:15;box-shadow:var(--shadow)}.sticky-purchase>div{display:grid;line-height:1.5}.sticky-purchase small{font-size:.75rem;color:var(--ink-secondary)}.sticky-purchase strong{font-size:1rem}.sticky-purchase .button{font-size:.9375rem;padding-inline:var(--space-4)}.journey-stage>h2{font-size:2rem}.journey-summary{padding:var(--space-5)}.journey-status{inset-block-end:calc(6rem + env(safe-area-inset-bottom))}}
@media(max-width:36rem){.product-specifications>div{grid-template-columns:1fr;gap:var(--space-2)}.product-intro h1{font-size:1.85rem}.product-breadcrumbs .breadcrumbs{font-size:.75rem}.product-offer .add-cart-form{column-gap:var(--space-3)}.quantity-control{width:9rem}.product-offer .purchase-button{padding-inline:var(--space-3)}.current-price strong{font-size:1.75rem}.coupon-form>div{flex-wrap:wrap}.coupon-form button{width:100%}}
@media(max-width:56rem){.product-hero{gap:var(--space-4)}.product-image img{height:7rem;aspect-ratio:auto}.product-image figcaption{font-size:.75rem;line-height:1.6;padding:var(--space-2)}.gallery-controls button{min-height:2.75rem}.gallery-controls img{height:2rem}.current-price>span,.original-price>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.product-image--empty{min-height:7rem;aspect-ratio:auto}.product-image--empty .technical-mark{display:none}}
.journey-stage:focus{outline:none}@media(max-width:36rem){.product-intro .eyebrow{margin-block-end:var(--space-2)}.product-image img{height:5rem}.product-breadcrumbs{padding-block-start:var(--space-3)}.product-breadcrumbs .breadcrumbs{margin-block-end:var(--space-3)}.product-hero{gap:var(--space-3)}}
.product-gallery{position:relative}.gallery-open{position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3);width:2.75rem;height:2.75rem;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border-control);border-radius:var(--radius)}
.consultation-link{margin-block-start:var(--space-3)}
@media(max-width:56rem){#quantity-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.product-offer .purchase-benefits{margin-block-start:var(--space-3)}}
@media(max-width:36rem){.product-hero{gap:var(--space-2)}.product-intro h1{margin-block-end:var(--space-2)}.offer-price{margin-block-end:var(--space-2)}.product-gallery .gallery-controls{padding-block-end:0}.consultation-link{margin-block-start:var(--space-2)}}
