/* Static-photo shirt cards, real logo + back-design decals, per-color photo swap. */
.shop-collection{padding:3.5rem 2rem 6rem}
.shop-grid{display:block}
.shop-gallery{padding:4.5rem 2rem 1rem;background:#FDFAF4}
.shop-hero-kicker{font-size:.72rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:#B8860B;margin-bottom:.75rem}
.shop-hero-feature{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#1a1a1a;margin-top:1.5rem}
.shop-hero-feature em{font-family:'DM Serif Display',serif;font-weight:400;font-style:italic;color:#B8860B;text-transform:none}
.shop-hero-coordinates{font-size:.78rem;letter-spacing:2px;color:rgba(30,30,30,.5);text-transform:uppercase;margin-top:.45rem}
.shop-gallery-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(2.8rem,6vw,5rem);letter-spacing:1px;line-height:.95;text-transform:uppercase;color:#1a1a1a;margin-bottom:1rem}
.shop-gallery-title em{font-family:'DM Serif Display',serif;font-weight:400;font-style:italic;color:#B8860B;letter-spacing:0;text-transform:none}
.shop-gallery-desc{max-width:620px;font-size:1.05rem;color:rgba(30,30,30,.55);line-height:1.7;margin-bottom:2.5rem}
.model-gallery-heading{margin-top:5rem;padding-top:3.5rem;border-top:1px solid rgba(0,0,0,.1)}
.model-gallery-heading h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(2.6rem,5vw,4.5rem);letter-spacing:1px;line-height:.95;text-transform:uppercase;color:#1a1a1a;margin-bottom:2rem}
.model-gallery-heading h2 em{font-family:'DM Serif Display',serif;font-weight:400;font-style:italic;color:#B8860B;letter-spacing:0;text-transform:none}
.mockup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.mockup-card:last-child{grid-column:1/-1;max-width:calc((100% - 1.25rem)/2);width:100%;justify-self:center}
.mockup-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.mockup-images{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#F5F0E8}
.mockup-images figure{position:relative;margin:0;overflow:hidden;background:#f4f4f4}
.mockup-images img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.mockup-images figcaption{position:absolute;left:.65rem;bottom:.65rem;padding:.3rem .45rem;background:rgba(10,10,10,.7);color:#fff;font-size:.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.mockup-card h3{padding:1rem 1.1rem 1.15rem;font-family:'Barlow Condensed',sans-serif;font-size:1.45rem;letter-spacing:1.5px;text-transform:uppercase}
.gallery-colorway{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);align-items:center;gap:2rem;margin-top:2.5rem;padding:1.5rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.gallery-colorway-copy{padding:.5rem 0 .5rem .5rem}
.gallery-colorway-copy .product-kicker{font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#B8860B;margin-bottom:.5rem}
.gallery-colorway-copy h3{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem}
.gallery-colorway-copy p:last-of-type{font-size:.95rem;line-height:1.5;color:rgba(30,30,30,.55);margin-bottom:1.25rem}
.gallery-colorway-image{display:block;width:100%;height:auto;border-radius:4px;background:#F5F0E8}
.gallery-color-swatches{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.gallery-swatch{width:30px;height:30px;padding:0;border-radius:50%;background:var(--swatch);border:2px solid rgba(0,0,0,.15);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .15s}
.gallery-swatch:hover{transform:scale(1.1)}
.gallery-swatch:focus-visible{outline:3px solid #B8860B;outline-offset:3px}
.gallery-swatch.is-selected{border-color:#B8860B;box-shadow:0 0 0 2px #fff,0 0 0 4px #B8860B}
.purchase-button{display:inline-block;margin-top:1.5rem;padding:.85rem 2.2rem;background:#FFD700;color:#0A0A0A;text-decoration:none;font-family:'Barlow',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:0;border-radius:4px;transition:transform .2s,filter .2s}
.purchase-button:hover{filter:brightness(1.06);transform:scale(1.04)}
.purchase-button:focus-visible{outline:3px solid #B8860B;outline-offset:3px}
.zoomable-model{cursor:zoom-in}
.image-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem;background:rgba(10,10,10,.88)}
.image-lightbox[hidden]{display:none}
.image-lightbox img{display:block;max-width:min(92vw,1100px);max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.35)}
.image-lightbox-close{position:absolute;top:1rem;right:1.25rem;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.image-lightbox-close:focus-visible{outline:3px solid #FFD700;outline-offset:3px}
.shirt-card{
  max-width:1100px;margin:0 auto;
  overflow:hidden;background:#fff;
  border-top:3px solid #FFD700;border-radius:8px;box-shadow:0 2px 16px rgba(0,0,0,.06);
}
.shirt-stage{padding:2rem 1rem;overflow:hidden;background:#FDFAF4}
.shirt-photo-wrap{position:relative;max-width:820px;margin:0 auto;transform:scale(var(--shirt-scale,.84));transform-origin:center;will-change:transform}
.shirt-photo{display:block;width:100%;height:auto}
.decal{position:absolute;width:auto;pointer-events:none}
.decal-front{left:29.23%;top:26.27%;width:9.96%}
.decal-back.mountain{left:59.7%;top:23.73%;width:29.04%}
@media(prefers-reduced-motion:reduce){.shirt-photo-wrap{transform:none;will-change:auto}}

.shirt-views{display:flex;justify-content:space-around;padding:0 1rem 1.25rem;background:#FDFAF4;color:#B8860B;font:700 .75rem 'Barlow',sans-serif;letter-spacing:3px;text-transform:uppercase}

.color-swatches{display:flex;gap:.7rem;justify-content:center;align-items:center;flex-wrap:wrap;background:#FDFAF4;padding:0 1rem 1.75rem}
.swatch{--swatch:#141414;width:34px;height:34px;border-radius:50%;background:var(--swatch);border:2px solid rgba(0,0,0,.15);cursor:pointer;position:relative;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .15s}
.swatch:hover{transform:scale(1.12)}
.swatch:focus-visible{outline:3px solid #B8860B;outline-offset:3px}
.swatch[aria-pressed="true"]{border-color:#B8860B;box-shadow:0 0 0 2px #FDFAF4,0 0 0 4px #B8860B}
.swatch-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(30,30,30,.5);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.swatch:hover .swatch-label,.swatch:focus-visible .swatch-label{opacity:1}

.shirt-info{padding:2rem;border-top:1px solid rgba(0,0,0,.06)}
.shirt-info .product-kicker{font-size:.8rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#B8860B;margin-bottom:.5rem}
.shirt-info h2{margin:0 0 .5rem;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.9rem;letter-spacing:1px;text-transform:uppercase}
.shirt-info p{font-size:1.02rem;color:rgba(30,30,30,.55);line-height:1.6}

@media(max-width:600px){
 .shop-gallery{padding:3.5rem 1rem 1rem}
 .shop-hero-coordinates{font-size:.65rem;letter-spacing:1px}
 .mockup-grid{grid-template-columns:1fr;gap:1rem}
 .mockup-card:last-child{grid-column:auto;max-width:none}
 .gallery-colorway{grid-template-columns:1fr;gap:1rem;padding:1rem}
 .gallery-colorway-copy{padding:.25rem}
 .shirt-stage{padding:1rem .5rem}
 .shirt-info{padding:1.5rem}
 .nav-logo-sub{max-width:190px;font-size:.5rem;letter-spacing:1.5px}
 nav{padding:.9rem 1rem}
 .nav-logo-text{font-size:1.3rem}
 .nav-logo img{width:40px;height:40px}
 .nav-right-group{gap:.75rem}
}
