/* Jacket detail: visible gallery controls and balanced imagery across screen sizes. */
.single-product{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,4vw,64px);padding-block:24px 82px;align-items:start}
.product-gallery{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:'thumbs main';gap:12px;min-width:0}
.gallery-main{grid-area:main;position:relative;height:clamp(410px,35vw,550px);min-width:0;background:#f0eee9;overflow:hidden}
.gallery-main>img{width:100%;height:100%;object-fit:contain;padding:30px 38px}
.gallery-thumbs{grid-area:thumbs;display:flex;flex-direction:column;gap:10px;margin:0;overflow-x:hidden;overflow-y:auto;max-height:550px;scrollbar-width:thin;scrollbar-color:#aaa6a0 transparent}
.gallery-thumb{width:76px;height:85px;background:#f0eee9;border:2px solid transparent;padding:4px;transition:border-color .18s ease,opacity .18s ease;opacity:.72}
.gallery-thumb:hover,.gallery-thumb:focus-visible,.gallery-thumb.is-active{opacity:1}
.gallery-thumb.is-active{border-color:var(--magenta)}
.gallery-thumb img{padding:0;width:100%;height:100%;object-fit:contain}
.gallery-arrow,.gallery-zoom,.gallery-count{position:absolute;z-index:2;background:rgba(255,255,255,.94);box-shadow:0 3px 16px rgba(0,0,0,.08)}
.gallery-arrow{top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;font-size:1.3rem;line-height:1;color:var(--ink);transition:background .18s ease,color .18s ease}
.gallery-arrow--prev{left:14px}.gallery-arrow--next{right:14px}
.gallery-arrow:hover,.gallery-arrow:focus-visible,.gallery-zoom:hover,.gallery-zoom:focus-visible{background:var(--ink);color:#fff}
.gallery-zoom{left:16px;bottom:16px;min-height:40px;padding:7px 12px;border:0;border-radius:3px;font-size:.76rem;font-weight:800;color:var(--ink);transition:background .18s ease,color .18s ease}
.gallery-zoom span{font-size:1.05rem;margin-right:5px}
.gallery-count{right:16px;bottom:16px;border-radius:3px;padding:8px 11px;font-size:.7rem;font-weight:800;letter-spacing:.09em}
.product-detail{padding-top:8px}
.product-detail h1{font-size:clamp(2.6rem,3.5vw,4.3rem);line-height:1.04;letter-spacing:-.052em;margin:17px 0 26px;overflow-wrap:anywhere}
.detail-lead{margin-top:24px;font-size:1rem;line-height:1.5}
.detail-description{font-size:.94rem;line-height:1.7}
.detail-meta{margin-top:27px}
.gallery-lightbox{position:fixed;inset:0;width:min(calc(100vw - 32px),1100px);height:min(calc(100svh - 32px),820px);max-width:none;max-height:none;margin:auto;padding:0;border:0;background:#fff;color:var(--ink);overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(14,14,14,.88)}
.lightbox-inner{position:relative;width:100%;height:100%}
.lightbox-inner img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:56px 70px}
.lightbox-close,.lightbox-arrow{position:absolute;z-index:2;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 2px 15px rgba(0,0,0,.1)}
.lightbox-close{top:16px;right:16px;width:44px;height:44px;font-size:2rem;line-height:1}
.lightbox-arrow{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:1.35rem}
.lightbox-arrow--prev{left:16px}.lightbox-arrow--next{right:16px}
.lightbox-close:hover,.lightbox-arrow:hover{background:var(--ink);color:#fff}
.lightbox-count{position:absolute;bottom:16px;right:18px;background:#fff;padding:7px 10px;font-size:.75rem;font-weight:800}
@media(max-width:900px){
 .single-product{grid-template-columns:1fr;gap:24px;padding-bottom:64px}
 .product-gallery{grid-template-columns:1fr;grid-template-areas:'main' 'thumbs';gap:10px}
 .gallery-main{height:auto;aspect-ratio:1 / .94;max-height:540px}
 .gallery-main>img{padding:20px 30px}
 .gallery-thumbs{flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:none;margin:0;padding-bottom:4px;scrollbar-width:thin}
 .gallery-thumb{flex:none;width:68px;height:72px}
 .product-detail{padding-top:6px}
 .product-detail h1{font-size:clamp(2.35rem,6.5vw,3.5rem);margin:12px 0 21px}
 .detail-lead{margin-top:20px}
}
@media(max-width:420px){
 .single-product{padding-top:16px}
 .gallery-main{aspect-ratio:1 / .93}
 .gallery-main>img{padding:18px 25px}
 .gallery-arrow{width:42px;height:42px}
 .gallery-arrow--prev{left:8px}.gallery-arrow--next{right:8px}
 .gallery-zoom{left:10px;bottom:10px}.gallery-count{right:10px;bottom:10px}
 .product-detail h1{font-size:clamp(2.15rem,9vw,2.7rem)}
 .gallery-lightbox{width:100vw;height:100svh}
 .lightbox-inner img{padding:64px 12px 82px}
 .lightbox-arrow{top:auto;bottom:16px;transform:none}
 .lightbox-arrow--prev{left:16px}.lightbox-arrow--next{right:16px}
 .lightbox-count{right:50%;transform:translateX(50%)}
}
@media(prefers-reduced-motion:reduce){.gallery-thumb,.gallery-arrow,.gallery-zoom{transition:none}}
@media(min-width:421px) and (max-width:900px){.gallery-main{width:100%;height:clamp(360px,70vw,540px);aspect-ratio:auto}}
