.product-section{display:block;padding-block:24px 20px}.product-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}.product-details{min-width:0}.product-details h1{font-size:calc(clamp(1.9rem,2.8vw,2.65rem)*var(--heading-scale));margin-bottom:14px}.product-details .eyebrow{margin-top:8px}.product-subtitle{color:var(--muted);font-size:1rem;max-width:470px}.review-summary{display:inline-block;font-size:.85rem;margin-bottom:16px}.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-block:22px}.price strong{font-size:1.75rem;color:var(--accent);font-weight:700}.price s{font-size:1rem;color:var(--muted)}.option-group{margin-top:24px}.option-group legend{font-weight:700;font-size:.94rem;width:100%;margin-bottom:12px}.option-group legend>span{display:inline-block;margin-left:8px;color:var(--muted);font-weight:400}.option-group legend a{float:right;font-size:.82rem;font-weight:400;min-height:24px}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--swatch-size),1fr));gap:8px}.swatch label{margin:0;display:block;aspect-ratio:1;cursor:pointer;border:2px solid transparent;border-radius:9px;padding:3px;background:var(--surface);position:relative;min-width:44px;min-height:44px}.swatch label img,.swatch label svg{width:100%;height:100%;object-fit:cover;border-radius:5px}.visually-hidden-input:checked+label{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.visually-hidden-input:checked+label::after{content:'✓';position:absolute;right:0;bottom:0;background:var(--accent);color:var(--on-accent);border-radius:5px 0 5px 0;font:700 11px/17px sans-serif;width:17px;text-align:center}.visually-hidden-input:focus-visible+label{outline:3px solid var(--text);outline-offset:3px}.visually-hidden-input:disabled+label{opacity:.4;cursor:not-allowed;background:repeating-linear-gradient(135deg,transparent 0 8px,#b8a89a60 9px 10px)}.sizes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.sizes label{position:relative;min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--input-radius);font-size:.9rem;font-weight:600;background:var(--surface);cursor:pointer;margin:0}.sizes .visually-hidden-input:checked+label{background:var(--accent);color:var(--on-accent)}.sizes .visually-hidden-input:checked+label::after{display:none}.sizes .visually-hidden-input:disabled+label{text-decoration:line-through}.size-hint{font-size:.82rem;color:var(--muted);margin-top:12px}.buy-row{display:flex;align-items:end;gap:14px;margin-top:20px}.buy-row .button{flex:1;min-height:52px}.quantity-label{font-size:.72rem}.quantity-label input{display:block;margin:4px 0 0;min-height:52px;width:66px;padding:8px}.reassurance{border-top:1px solid var(--border);margin-top:24px;padding-top:18px;font-size:.82rem;color:var(--muted)}.reassurance p+p{margin-top:6px}.reassurance>div{display:flex;gap:20px;margin-top:10px}.product-form .form-error{margin-top:16px}.gallery{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;min-width:0;position:sticky;top:24px}.gallery-viewport{grid-column:2;grid-row:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;background:#eee4d4;aspect-ratio:1 / 1.17}.gallery-viewport::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}.gallery-slide button{padding:0;border:0;width:100%;height:100%;background:transparent;cursor:zoom-in;border-radius:0}.gallery-slide button:disabled{cursor:default}.gallery-slide img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:590px}.gallery-thumbs button{padding:3px;border:2px solid transparent;border-radius:8px;width:58px;height:65px;flex-shrink:0;background:var(--surface)}.gallery-thumbs button[aria-current=true]{border-color:var(--accent)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:4px}.gallery-controls{grid-column:2;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted)}.gallery--bottom{grid-template-columns:1fr}.gallery--bottom .gallery-viewport{grid-column:1;grid-row:1}.gallery--bottom .gallery-thumbs{grid-column:1;grid-row:2;flex-direction:row}.gallery--bottom .gallery-controls{grid-column:1;grid-row:3}.zoom-dialog{width:min(1000px,94vw);max-height:94dvh;padding:50px 16px 16px;border:0;border-radius:14px}.zoom-dialog .dialog-close{position:absolute;right:8px;top:6px}.zoom-dialog img{display:block;max-height:80dvh;width:auto;margin:auto;object-fit:contain}.sticky-atc{display:none}.product-section[aria-busy=true] .product-details{opacity:.65}.product-section[aria-busy=true] .product-form{pointer-events:none}
@media(max-width:1100px){.product-grid{gap:28px}.gallery{grid-template-columns:48px minmax(0,1fr);gap:10px}.gallery-thumbs button{width:48px;height:56px}.sizes{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.product-section{padding-top:10px}.product-grid{grid-template-columns:1fr;gap:28px}.gallery{position:relative;top:auto;grid-template-columns:1fr;gap:10px}.gallery-viewport{grid-column:1;grid-row:1;aspect-ratio:1 / 1.05}.gallery-thumbs{grid-column:1;grid-row:2;flex-direction:row;max-height:none}.gallery-thumbs button{width:52px;height:58px}.gallery-controls{grid-column:1;grid-row:3}.product-details h1{font-size:2rem}.product-details .eyebrow{margin-top:0}.swatches{gap:7px}.sizes{grid-template-columns:repeat(4,1fr)}.sticky-atc:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -4px 25px #302c2714;z-index:20;border-top:1px solid var(--border)}.sticky-atc>div{font-size:.76rem;min-width:0}.sticky-atc>div>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}.sticky-atc .price{margin:2px 0}.sticky-atc .price strong{font-size:1rem}.sticky-atc .price s{display:none}.sticky-atc .button{font-size:.9rem;max-width:58%}body:has(.sticky-atc:not([hidden])){padding-bottom:110px}.sticky-atc:has(:focus-visible){outline:2px solid var(--text)}body:has(dialog[open]) .sticky-atc{display:none!important}}
