/* PERFORMANCE WEAR v4 — mobile-first sportswear polish.
   Keeps the v3 visual language and functional catalogue intact. */
:root{--lime:#e2ff77;--ink:#f4f7ef;--paper:#0b1010;--line:#39443e}
body{background:#0a0e0e}
.topbar{isolation:isolate}
.product-card{transition:border-color .18s,transform .18s,box-shadow .18s}
.product-card:hover{border-color:#dfff786b;transform:translateY(-2px);box-shadow:0 14px 26px #0004}
.product-card button,.category-tile,.button,.plain-link,.bottom-item{touch-action:manipulation}
/* Scrollers: on wide screens retain the full four-up grid; on touch screens
   show a generous image card and the next one peeking into view. */
.section-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0}
.swipe-caption{display:none;color:#9ea99e;font:750 9px 'Courier New',monospace;white-space:nowrap;letter-spacing:.45px}
.carousel-arrow{width:33px;height:33px;display:none;place-items:center;flex:0 0 33px;border:1px solid #58635c;border-radius:50%;background:#17201c;color:var(--ink);font-size:18px}
.carousel-arrow:hover{background:var(--lime);color:#111}
.category-strip,.featured-grid{scrollbar-width:none}
.category-strip::-webkit-scrollbar,.featured-grid::-webkit-scrollbar{display:none}
.category-tile{transition:border-color .18s,transform .18s}
.category-tile:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.category-tile[data-upcoming]{border-color:#6c716957}
.category-tile[data-upcoming]:after{content:'SOON';position:absolute;z-index:2;top:11px;left:12px;background:#121a15d9;border:1px solid #cfff7966;border-radius:30px;padding:5px 8px;font:800 9px 'Courier New',monospace;letter-spacing:.6px}
.catalog-more-wrap{display:flex;justify-content:center;padding:19px 0 2px}
.catalog-more-wrap [hidden]{display:none}
.catalog-more-wrap .button{min-width:220px;padding:0 24px}
.result-meta{gap:12px}
/* Finder four-step progress: actual named steps, not anonymous dots. */
.stepper-v4{height:auto;min-height:82px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;align-items:start;position:relative;margin:0 0 18px;padding:4px 0 8px;background:none}
.stepper-v4:before{content:'';position:absolute;height:2px;left:12.5%;right:12.5%;top:21px;background:#39473d;z-index:0}
.stepper-v4 .step-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;color:#aab8aa;z-index:1}
.stepper-v4 .step-num{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#17211c;border:1px solid #617464;color:#e3ece1;font:900 12px 'Courier New',monospace}
.stepper-v4 .step-text{font-size:11px;font-weight:760;color:inherit;text-align:center}
.stepper-v4 .step-wrap.active,.stepper-v4 .step-wrap.done{color:var(--lime)}
.stepper-v4 .step-wrap.active .step-num,.stepper-v4 .step-wrap.done .step-num{background:var(--lime);border-color:var(--lime);color:#10180b;box-shadow:0 0 0 5px #e2ff7714}
.finder-selection{border:1px solid #62745d;background:#202a23;border-radius:12px;padding:13px 16px;margin-top:15px;display:flex;flex-direction:column;gap:6px}
.finder-selection>span{color:#b4c0b2;font:800 9px 'Courier New',monospace;letter-spacing:1.2px}
.finder-selection strong{font-weight:760;font-size:12px;color:#fff;line-height:1.55}
.finder-selection b{color:var(--lime);padding:0 4px}
/* Compare navigation cues and independent per-product scroll targets. */
.compare-controls{display:flex;justify-content:space-between;align-items:center;gap:13px;margin:0 0 11px;color:#b7c3b6;font:750 10px 'Courier New',monospace;letter-spacing:.5px}
.compare-jump{display:flex;gap:6px;min-width:0;flex-wrap:wrap}
.compare-jump button{background:#1c2620;color:var(--lime);border:1px solid #60715e;border-radius:50px;padding:8px 12px;font-family:inherit;font-size:11px;font-weight:750;min-height:35px}
.compare-jump button:hover,.compare-jump button:focus-visible{background:var(--lime);color:#121913}
.compare-board{scrollbar-color:var(--lime) #111c15;scrollbar-width:thin;overscroll-behavior-x:contain}
.compare-grid{min-width:max-content}
.compare-prod{min-width:0}
.compare-prod .plain-link{border:1px solid #697865;border-radius:22px;padding:8px 13px;min-height:35px;color:#eaffac}
/* The detail action remains visible near the end of a full sheet. */
.dialog-action-area{position:sticky;bottom:-1px;z-index:2;background:linear-gradient(#151d1be3,#151d1b 15%);padding:12px 0 max(4px,env(safe-area-inset-bottom));border-top:1px solid #596b56;margin-top:16px}
.dialog-buy{margin-top:8px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:49px}
.dialog .source-box{border-radius:11px}
button[disabled]{cursor:not-allowed;opacity:.45}
/* High-value mobile experience: photographic categories and featured pieces
   become swipe galleries instead of tiny four-column thumbnails. */
@media(max-width:820px){
 .category-strip,.featured-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:1px 0 8px;margin-right:-18px;padding-right:18px}
 .category-tile,.category-tile:nth-child(n){min-height:190px;flex:0 0 clamp(218px,44vw,310px);scroll-snap-align:start;border-radius:16px}
 .category-tile strong{font-size:25px;letter-spacing:-.8px}
 .category-tile .small{font-size:12px;line-height:1.35;max-width:175px}
 .category-text{padding:17px 52px 17px 19px}
 .category-tile .arrow{width:38px;height:38px;right:13px;bottom:13px}
 .category-tile .arrow svg{width:17px;height:17px}
 .featured-grid .product-card{flex:0 0 clamp(215px,37vw,290px);scroll-snap-align:start}
 .featured-grid .product-photo{height:180px;aspect-ratio:auto}
 .featured-grid .product-info{padding:14px 15px}
 .featured-grid .product-info h3{font-size:17px;min-height:auto;margin:9px 0}
 .featured-grid .product-info .price{font-size:22px}
 .swipe-caption{display:inline-flex}
 .carousel-arrow{display:grid}
 .compare-controls{align-items:flex-start;flex-direction:column}
 .compare-jump{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .compare-jump button{flex:0 0 auto}
}
@media(max-width:560px){
 .page{padding-bottom:23px}
 .hero-v2{min-height:405px;margin-bottom:20px;padding-bottom:17px}
 .hero-main h1{font-size:clamp(38px,9.9vw,51px);margin-top:22px}
 .hero-quick button{min-height:43px;font-size:11px;gap:6px}
 .hero-disclaimer{font-size:10px!important}
 .section-top{align-items:flex-end;gap:8px}
 .section-top h2{font-size:26px}
 .section-actions{gap:4px}
 .swipe-caption{display:none}
 .carousel-arrow{width:29px;height:29px;flex-basis:29px;font-size:16px}
 .plain-link{font-size:11px}
 .category-strip,.featured-grid{margin-right:-14px;padding-right:14px;gap:10px}
 .category-tile,.category-tile:nth-child(n){flex:0 0 min(66vw,275px);height:190px;min-height:190px;border-radius:15px}
 .category-text{padding:15px 50px 17px 17px}
 .category-tile strong{font-size:24px;letter-spacing:-.6px}
 .category-tile .small{font-size:11px;max-width:155px}
 .category-tile .arrow{width:36px;height:36px}
 .finder-banner{min-height:175px}
 .finder-banner-copy>span{font-size:12px;max-width:245px}
 .finder-banner-cta{font-size:12px;min-height:43px}
 .featured-grid .product-card{flex:0 0 min(66vw,270px);border-radius:15px}
 .featured-grid .product-photo{height:172px}
 .featured-grid .product-info h3{font-size:16px;min-height:0}
 .featured-grid .product-info .brandline{font-size:10px}
 .featured-grid .product-info .price{font-size:21px}
 .product-grid{gap:10px}
 .product-info{padding:12px}
 .product-info h3{font-size:13px;min-height:34px}
 .card-traits span{font-size:10px}
 .product-info .price{font-size:19px}
 .compare-inline{min-height:37px;font-size:10px}
 .product-card .heart{min-width:35px;min-height:35px}
 .product-photo .photo-caption{font-size:8px}
 .catalog-more-wrap .button{width:100%}
 .stepper-v4{min-height:67px;margin-bottom:12px}
 .stepper-v4:before{top:18px}
 .stepper-v4 .step-num{width:31px;height:31px;font-size:11px}
 .stepper-v4 .step-text{font-size:10px}
 .finder-card{padding:19px 15px}
 .finder-card h2{font-size:31px}
 .finder-selection{padding:12px}
 .finder-selection strong{font-size:11px}
 .finder-bottom{gap:8px}
 .finder-bottom .button{min-height:47px;font-size:11px;letter-spacing:0}
 .choice{min-height:118px}
 .choice strong{font-size:13px}
 .choice small{font-size:10px;line-height:1.45}
 .compare-controls{margin:0 0 12px}
 .compare-controls>span{font-size:10px}
 .compare-jump button{font-size:11px;padding:10px 13px}
 .compare-board{border-radius:13px}
 .compare-grid{grid-template-columns:102px repeat(var(--n),minmax(172px,1fr))}
 .compare-prod .product-photo{height:130px}
 .compare-prod strong{font-size:13px}
 .compare-cell{font-size:11px;line-height:1.45}
 .dialog{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 .dialog .product-photo{height:205px}
 .dialog .source-box{font-size:11px}
 .dialog-action-area{padding-bottom:calc(9px + env(safe-area-inset-bottom))}
 .dialog-action-area .button{min-height:47px}
 .footer{margin-bottom:16px}
}
@media(max-width:355px){
 .hero-v2{min-height:416px}
 .hero-main h1{font-size:36px}
 .hero-quick button{font-size:9px}
 .category-tile,.category-tile:nth-child(n){flex-basis:70vw;min-height:175px;height:175px}
 .featured-grid .product-card{flex-basis:72vw}
 .section-top h2{font-size:24px}
 .plain-link{font-size:10px}
 .product-info h3{font-size:12px}
 .product-info .price{font-size:17px}
 .card-traits span{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.category-tile,.product-card{transition:none}}

.compare-jump button.active{background:var(--lime);color:#101610;border-color:var(--lime)}

/* Richer editorial product treatment without implying SKU photography. */
.product-photo{position:relative;isolation:isolate;background:#1a2822}
.product-photo:before{content:'';position:absolute;inset:-5px;z-index:-1;background-image:linear-gradient(0deg,#0e1715ef,#11221c8a 42%,#13221dc2),var(--editorial-bg);background-size:cover;background-position:center;filter:blur(3px) saturate(.85);transform:scale(1.06)}
.product-photo.media-shorts{--editorial-bg:url('./assets/category-shorts.webp')}
.product-photo.media-tops{--editorial-bg:url('./assets/category-tops.webp')}
.product-photo.media-tights{--editorial-bg:url('./assets/category-tights.webp')}
.product-photo .garment,.product-photo .photo-index,.product-photo .photo-caption{position:relative;z-index:1}
.product-photo .garment{filter:drop-shadow(0 18px 10px #000c)}

/* Garment silhouette sized as a product editorial, with provenance in plain sight. */
.product-photo .garment{width:97%;height:97%}
.featured-grid .product-photo .garment{width:110%;height:110%;transform:translateY(5%)}
.dialog .product-photo .garment{width:105%;height:105%}
.card-topline{gap:7px}
.card-gender{display:inline-flex;flex:0 0 auto;padding:4px 7px;border:1px solid #ffffff26;background:#ffffff0b;border-radius:20px;color:#e3eae1}
.photo-index{font-size:8px!important;letter-spacing:.7px!important;color:#ebf2e7!important}
/* 40–44px class of tap targets for thumb use, without changing the visual weight. */
@media(max-width:560px){
 .section-actions .carousel-arrow{width:39px;height:39px;flex-basis:39px}
 .top-actions .icon-button{width:40px;height:40px}
 .compare-jump button{min-height:42px}
 .product-card .heart{width:39px;height:39px}
}
