.product-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px}
.gallery-stage{aspect-ratio:4/5;background:var(--soft);border-radius:var(--radius);overflow:hidden}
.gallery-panel{height:100%;width:100%}
.gallery-panel img,.gallery-panel video{width:100%;height:100%;object-fit:contain}
.gallery-thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding-bottom:7px}
.gallery-thumb{width:75px;height:88px;flex:none;border:1px solid transparent;padding:0;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}
.gallery-thumb[aria-pressed=true]{border:2px solid var(--accent)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb small{font-size:10px}
.product-info{padding-top:8px;min-width:0}
.product-info h1{font-size:38px;line-height:1.2;overflow-wrap:anywhere}
.product-price{font-size:25px;margin:0 0 24px}
.product-info>.prose-line{font-size:14px;margin-bottom:28px}
.product-purchase{padding:22px 0;border-block:1px solid var(--line);margin:24px 0}
.product-purchase>label{font-size:12px;display:block;margin-bottom:8px}
.product-purchase select{width:100%}
.product-purchase .field-hint{margin:7px 0 16px}
.product-detail{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;font-size:13px}
.product-detail h2{font-size:16px;font-weight:500;margin:0 0 13px}
.quantity-controls{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.quantity-controls button{background:none;border:0;min-width:32px;min-height:34px;font-size:17px}
.quantity-controls span{min-width:28px;text-align:center;font-size:12px}
@media(max-width:1100px){.product-layout{gap:38px}.product-info h1{font-size:32px}}
@media(max-width:780px){.product-layout{grid-template-columns:1fr;gap:28px}.product-info h1{font-size:34px}.product-info{padding:0}.gallery-thumbs{gap:10px}.gallery-thumb{width:66px;height:78px}.product-price{font-size:23px}.product-purchase{margin-top:26px}.product-info>.prose-line{font-size:14px}}
.gallery-zoom{padding:0;border:0;display:block;background:transparent;width:100%;position:relative;cursor:zoom-in;border-radius:0}
.gallery-zoom img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.gallery-stage{overflow:hidden}
.gallery-thumbs{overflow-x:auto;max-width:100%;padding-bottom:7px;scrollbar-width:thin}
.gallery-thumb{flex-shrink:0}
@media(max-width:780px){.product-info h1{overflow-wrap:anywhere}.product-layout{gap:30px}.gallery-zoom img{height:auto}.product-info .purchase-row .button{padding-inline:15px}}
.product-description{margin:0 0 28px}
.product-description h2{font-size:16px;font-weight:500;margin:0 0 12px}
.product-description .prose-line{font-size:14px}
@media(max-width:780px){.product-description{margin-bottom:24px}}
.variant-details{padding:1rem 0;border-bottom:1px solid #ddd}
.variant-details summary{cursor:pointer}
.variant-list section{margin:1rem 0;padding:1rem 0;border-top:1px solid #eee}
.variant-list p{font-size:.85rem;line-height:1.7}
.variant-list h3{font-size:1rem}
@media(max-width:680px){.gallery-stage{aspect-ratio:auto;height:min(340px,38vh);min-height:230px}.gallery-zoom{height:100%}.gallery-zoom img{height:100%;width:100%;aspect-ratio:auto;object-fit:contain}.product-info .product-description{margin-top:28px}}
.gallery .gallery-panel:not([hidden]){display:flex;flex-direction:column;min-height:0}
.gallery .gallery-panel>.gallery-zoom{flex:1 1 0;min-height:0;height:0;width:100%;display:block}
.gallery .gallery-panel>.gallery-zoom picture{display:block;height:100%;width:100%}
.gallery .gallery-panel>.gallery-zoom img{display:block;width:100%;height:100%;object-fit:contain}
.gallery .gallery-panel>.zoom-caption{position:static;inset:auto;transform:none;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:8px 10px;line-height:1.4;font-size:11px;opacity:1;max-width:100%;box-sizing:border-box}
.gallery .gallery-panel>video{min-height:0;max-height:100%}
.variant-choices{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.variant-choice{display:flex;flex-direction:column;gap:3px;border:1px solid currentColor;border-radius:8px;padding:10px 14px;text-decoration:none;line-height:1.3}
.variant-choice[aria-current=true]{outline:2px solid currentColor;outline-offset:2px;font-weight:600}
.variant-choice span{font-size:.75rem;font-weight:400}
.product-purchase select[hidden]{display:none!important}

.price-watch{margin:1rem 0}.price-watch summary{cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.price-watch form{display:grid;gap:.65rem;margin-top:1rem}.price-watch input{width:100%;box-sizing:border-box}.price-watch form p{margin:0}.price-watch .secondary{justify-self:start}.price-watch .price-watch-choice{display:flex;align-items:center;gap:.6rem;cursor:pointer}.price-watch .price-watch-choice input{width:18px;height:18px;flex-shrink:0}.price-watch .price-watch-fields{display:grid;gap:.5rem}.price-watch input[type=email],.price-watch input[name=desired_price]{font-size:16px;min-height:44px;padding:.5rem .65rem;border:1px solid var(--line);background:var(--surface)}
