/** Shopify CDN: Minification failed

Line 394:0 Unexpected "}"
Line 990:66 Unexpected "/"
Line 1408:14 Expected identifier but found "700"

**/
/* ============================================================================
   LUMORA — Time Glows  ·  vstore-adidas.css
   Rebranded from the V Store base: palette, type and header taken from the
   bag/cart page's clean black-white-hairline treatment, plus the gold accent
   sampled straight from the Lumora wordmark's "O".
   ============================================================================ */

/* ---- TOKENS -------------------------------------------------------------- */
:root{
  --vs-ink:#0a0a0a;--vs-white:#fff;--vs-cream:#fffbf2;--vs-paper:#f2f2f2;--vs-gray-900:#1a1a1a;
  --vs-gray-700:#494949;--vs-gray-500:#767677;--vs-gray-300:#cfcfcf;--vs-hairline:#e3e3e3;
  --vs-sale:#d0021b;--vs-success:#007d48;--vs-gold:#a8873f;--vs-accent:var(--vs-gold);
  --vs-font-display:"Playfair Display","Times New Roman",Georgia,serif;
  --vs-font-ui:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;
  --vs-fs-display:clamp(2.75rem,6vw,6rem);--vs-fs-h1:clamp(1.8rem,3.5vw,2.75rem);
  --vs-fs-h2:clamp(1.35rem,2vw,1.75rem);--vs-fs-body:1rem;--vs-fs-sm:.875rem;--vs-fs-xs:.75rem;
  --vs-lh-tight:.95;--vs-lh-heading:1.12;--vs-lh-body:1.5;--vs-tracking:.04em;
  --vs-s1:4px;--vs-s2:8px;--vs-s3:12px;--vs-s4:16px;--vs-s5:24px;--vs-s6:32px;--vs-s7:48px;--vs-s8:64px;--vs-s9:96px;
  --vs-container:1720px;--vs-gutter:clamp(16px,4vw,48px);
  --vs-header-h:64px;--vs-ann-h:36px;
  --vs-ease:cubic-bezier(.4,0,.2,1);--vs-dur:220ms;--vs-dur-fast:120ms;
  --vs-z-header:1000;--vs-z-drawer:1100;--vs-z-modal:1200;
}

/* ---- RESET --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--vs-font-ui);font-size:var(--vs-fs-body);line-height:var(--vs-lh-body);color:var(--vs-ink);background:var(--vs-white);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-weight:900;line-height:var(--vs-lh-heading);letter-spacing:-.01em}
p{margin:0 0 var(--vs-s4)}
:focus-visible{outline:2px solid var(--vs-ink);outline-offset:2px}
.vs-skip-link{position:absolute;left:-9999px}
.vs-skip-link:focus{left:var(--vs-s4);top:var(--vs-s4);z-index:var(--vs-z-modal);background:var(--vs-ink);color:#fff;padding:var(--vs-s2) var(--vs-s4)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- HELPERS ------------------------------------------------------------- */
.vs-container{max-width:var(--vs-container);margin-inline:auto;padding-inline:var(--vs-gutter)}
.vs-section{padding-block:clamp(40px,7vw,96px)}
.vs-hairline{border:0;border-top:1px solid var(--vs-hairline);margin:0}
.vs-display{font-family:var(--vs-font-display);font-weight:900;font-size:var(--vs-fs-display);line-height:var(--vs-lh-tight);letter-spacing:-.01em;text-transform:uppercase}
.vs-eyebrow{font-size:var(--vs-fs-xs);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase;color:var(--vs-gray-500)}
.vs-h2{font-family:var(--vs-font-display);font-weight:800;font-size:var(--vs-fs-h2);text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}
.vs-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--vs-s4);margin-bottom:var(--vs-s6)}
.vs-link-arrow{font-weight:700;font-size:var(--vs-fs-sm);text-transform:uppercase;letter-spacing:var(--vs-tracking);border-bottom:2px solid var(--vs-ink);padding-bottom:2px}

/* ---- BUTTONS (adidas: reto, preto, uppercase, seta) ---------------------- */
.vs-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--vs-s2);min-height:48px;padding:0 var(--vs-s5);border:2px solid var(--vs-ink);background:var(--vs-ink);color:var(--vs-white);font-size:var(--vs-fs-sm);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase;transition:background var(--vs-dur) var(--vs-ease),color var(--vs-dur) var(--vs-ease)}
.vs-btn::after{content:"→";transition:transform var(--vs-dur) var(--vs-ease)}
.vs-btn:hover{background:var(--vs-white);color:var(--vs-ink)}
.vs-btn:hover::after{transform:translateX(4px)}
.vs-btn--ghost{background:transparent;color:var(--vs-ink)}
.vs-btn--ghost:hover{background:var(--vs-ink);color:var(--vs-white)}
.vs-btn--light{background:var(--vs-white);color:var(--vs-ink);border-color:var(--vs-white)}
.vs-btn--light:hover{background:transparent;color:var(--vs-white);border-color:var(--vs-white)}
.vs-btn--block{width:100%}
.vs-btn--lg{min-height:50px;padding:0 var(--vs-s5)}

/* ---- ANNOUNCEMENT -------------------------------------------------------- */
.vs-ann{position:relative;background:var(--vs-ink);color:var(--vs-white);height:var(--vs-ann-h);display:flex;align-items:center;justify-content:center}
.vs-ann__viewport{position:relative;flex:1;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vs-ann__msg{position:absolute;left:0;right:0;text-align:center;padding-inline:44px;font-size:var(--vs-fs-xs);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase;opacity:0;transition:opacity .45s var(--vs-ease);pointer-events:none}
.vs-ann__msg.is-active{opacity:1}
.vs-ann__nav{position:absolute;top:0;width:44px;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.55;font-size:1.2rem;z-index:2}
.vs-ann__nav:hover{opacity:1}
.vs-ann__prev{left:0}
.vs-ann__next{right:0}
@media (max-width:760px){.vs-ann__msg{font-size:10px;padding-inline:38px}}

/* ---- HEADER -------------------------------------------------------------- */
.vs-header{position:sticky;top:0;z-index:var(--vs-z-header);background:var(--vs-white);border-bottom:1px solid var(--vs-hairline)}
.vs-header__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--vs-s5);height:var(--vs-header-h)}
.vs-header .vs-container{max-width:none}
.vs-main{display:block;padding-top:var(--vs-s5)}
.vs-header__logo{grid-column:1;justify-self:start}
.vs-nav{grid-column:2;justify-self:center}
.vs-header__actions{grid-column:3;justify-self:end}
.vs-header__logo{display:inline-flex;align-items:center;gap:7px;font-family:var(--vs-font-ui);font-weight:500;font-size:1.05rem;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;color:var(--vs-ink)}
.vs-header__logo img{max-height:34px;width:auto}
.vs-logo-v{height:30px;width:auto;display:block}
.vs-logo-word{height:24px;width:auto;display:block}
@media (max-width:600px){.vs-logo-word{height:19px}}
.vs-logo-word{font-weight:500;letter-spacing:.2em}
.vs-nav{display:flex;gap:var(--vs-s5)}
.vs-nav__link{font-size:var(--vs-fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--vs-tracking);padding:var(--vs-s2) 0;border-bottom:2px solid transparent}
.vs-nav__link:hover{border-bottom-color:var(--vs-ink)}
.vs-header__actions{display:flex;align-items:center;gap:var(--vs-s4);margin-left:auto}
.vs-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}
.vs-iconbtn svg{width:auto;height:19px;max-width:24px}
.vs-cart-count{position:absolute;transform:translate(10px,-12px);background:var(--vs-ink);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
.vs-cart-count[hidden]{display:none}
.vs-burger{display:none}
.vs-search-m{display:none}
@media (max-width:1140px){
  .vs-nav{display:none}
  .vs-burger{display:inline-flex}
  .vs-search-m{display:inline-flex}
  .vs-header__actions{gap:var(--vs-s2)}
}

/* ---- HERO ---------------------------------------------------------------- */
.vs-hero{position:relative;min-height:clamp(460px,72vh,760px);background:var(--vs-gray-900);color:var(--vs-white);overflow:hidden}
.vs-hero__media{position:absolute;inset:0}
.vs-hero__media img,.vs-hero__media video{width:100%;height:100%;object-fit:cover}
.vs-hero__media picture,.vs-editorial__media picture{display:block;width:100%;height:100%}
.vs-hero__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#141414,#141414 20px,#1c1c1c 20px,#1c1c1c 40px);color:var(--vs-gray-500);font-size:var(--vs-fs-sm);text-align:center;padding:var(--vs-s5)}
.vs-hero__inner{position:absolute;left:0;right:0;bottom:0;padding-block:clamp(28px,4vw,56px)}
.vs-hero__content{max-width:440px}
.vs-hero__title{font-family:var(--vs-font-display);font-weight:900;font-size:clamp(1.9rem,3.4vw,3.25rem);line-height:1;text-transform:uppercase;margin-bottom:var(--vs-s3)}
.vs-hero__sub{font-size:var(--vs-fs-sm);max-width:38ch;margin-bottom:var(--vs-s4);color:#e9e9e9}
.vs-hero__cta{display:flex;gap:var(--vs-s3);flex-wrap:wrap;align-items:center}
.vs-hero__watch{display:inline-flex;align-items:center;gap:10px;padding:10px 20px 10px 12px;background:#fff;color:var(--vs-ink);border:none;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.vs-hero__watch:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.vs-hero__watch-ic{width:26px;height:26px;border-radius:50%;background:var(--vs-ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.vs-hero__watch-ic svg{width:12px;height:12px;margin-left:1px}
.vs-videolb{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:clamp(12px,4vw,48px);opacity:0;transition:opacity .25s ease}
.vs-videolb.is-open{opacity:1}
.vs-videolb__video{max-width:100%;max-height:100%;width:auto;height:auto;background:#000;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vs-videolb__close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.vs-videolb__close:hover{background:rgba(255,255,255,.28)}
.vs-hero__controls{position:absolute;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);display:flex;gap:10px;z-index:3}
.vs-hero__ctrl{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s ease,border-color .2s ease}
.vs-hero__ctrl:hover{background:rgba(0,0,0,.6);border-color:#fff}
.vs-hero__ctrl svg{width:18px;height:18px}
@media (max-width:600px){.vs-hero__ctrl{width:38px;height:38px}.vs-hero__ctrl svg{width:16px;height:16px}}

/* ---- COLLECTION CARDS (editorial tiles) ---------------------------------- */
.vs-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--vs-s2)}
@media (max-width:900px){.vs-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vs-tiles .vs-tile__body{padding:var(--vs-s3)}.vs-tiles .vs-tile__title{font-size:1.1rem}.vs-tiles .vs-tile--text .vs-tile__title{font-size:.95rem;line-height:1.15;letter-spacing:.01em;word-break:normal;overflow-wrap:break-word}}
.vs-tile{position:relative;aspect-ratio:3/4;background:var(--vs-paper);overflow:hidden;display:flex;align-items:flex-end}
.vs-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--vs-ease)}
.vs-tile:hover img{transform:scale(1.04)}
.vs-tile__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e7e7e7;color:var(--vs-gray-500);font-size:var(--vs-fs-sm);text-align:center;padding:var(--vs-s4)}
.vs-tile__body{position:relative;padding:var(--vs-s5);color:var(--vs-white);width:100%;background:linear-gradient(to top,rgba(0,0,0,.65),transparent)}
.vs-tile__title{font-family:var(--vs-font-display);font-weight:900;font-size:clamp(1.1rem,2.6vw,1.6rem);text-transform:uppercase;margin-bottom:var(--vs-s2);letter-spacing:-.01em;line-height:1;overflow-wrap:break-word}
.vs-tile--text{background:var(--vs-paper);color:var(--vs-ink);transition:background var(--vs-dur) var(--vs-ease),color var(--vs-dur) var(--vs-ease)}
.vs-tile--text:hover{background:var(--vs-ink);color:#fff}
.vs-tile--text .vs-tile__body{background:none;color:inherit}
.vs-tile--text .vs-tile__title{font-size:clamp(1.25rem,3.4vw,2rem);color:inherit}
.vs-tile--text .vs-link-arrow{color:inherit;border-color:currentColor}

/* ---- PRODUCT GRID / CARD ------------------------------------------------- */
.vs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--vs-s5) var(--vs-s4)}
@media (max-width:1100px){.vs-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.vs-grid{grid-template-columns:repeat(2,1fr);gap:var(--vs-s4) var(--vs-s2)}}
.vs-card{position:relative;background:var(--vs-white)}
.vs-card__media{position:relative;aspect-ratio:1/1;background:#fff;overflow:hidden}
.vs-card__link{position:absolute;inset:0;display:block}
.vs-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity var(--vs-dur) var(--vs-ease)}
.vs-card__img--back{opacity:0}
.vs-card:hover .vs-card__img--back{opacity:1}
.vs-badge{position:absolute;top:var(--vs-s3);left:var(--vs-s3);z-index:2;display:inline-block;padding:3px 8px;background:var(--vs-ink);color:var(--vs-white);font-size:var(--vs-fs-xs);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase}
.vs-card__quick{position:absolute;left:0;right:0;bottom:0;z-index:3;transform:translateY(100%);transition:transform var(--vs-dur) var(--vs-ease)}
.vs-card:hover .vs-card__quick{transform:translateY(0)}
.vs-card__quick .vs-btn{width:100%;min-height:46px;border:0}
.vs-card__body{padding-top:var(--vs-s3);display:flex;flex-direction:column;gap:3px}
.vs-card__title{font-size:var(--vs-fs-body);font-weight:700;line-height:1.25}
.vs-card__brand{font-size:11px;font-weight:500;color:#767677;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;margin-bottom:2px}
.vs-card__name{font-size:var(--vs-fs-sm);font-weight:600;color:var(--vs-ink);line-height:1.3}
.vs-card__name:hover{text-decoration:underline}
.vs-card__meta{font-size:var(--vs-fs-sm);color:var(--vs-gray-500);line-height:1.2}
.vs-price{font-weight:700;color:var(--vs-ink);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.vs-price--now{color:var(--vs-ink)}
.vs-price--was{color:var(--vs-gray-500);text-decoration:line-through;font-weight:400;font-size:var(--vs-fs-sm)}
.vs-price--off{color:var(--vs-sale);font-weight:700;font-size:var(--vs-fs-sm)}
.vs-price--sale{color:var(--vs-ink)}
.vs-badge--sale{background:var(--vs-sale)}
.vs-wish{background:transparent}
.vs-swatches{display:flex;gap:6px;margin-top:var(--vs-s2)}
.vs-swatch{width:12px;height:12px;border-radius:999px;border:1px solid var(--vs-hairline)}

/* ---- COLLECTION / PLP ---------------------------------------------------- */
.vs-plp-wrap{padding-block:var(--vs-s4) var(--vs-s9)}
.vs-plp__hero{margin-bottom:var(--vs-s5)}
.vs-plp__title{font-family:var(--vs-font-display);font-weight:900;font-size:clamp(2rem,4vw,2.75rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.vs-plp__desc{max-width:70ch;color:var(--vs-gray-700);font-size:var(--vs-fs-sm);margin-top:var(--vs-s3)}
.vs-plp__desc p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vs-plp__desc.is-open p{-webkit-line-clamp:unset}
.vs-plp__more{font-weight:700;text-decoration:underline;font-size:var(--vs-fs-sm);margin-top:4px}
.vs-chips{display:flex;gap:var(--vs-s2);overflow-x:auto;padding-bottom:var(--vs-s3);border-bottom:1px solid var(--vs-hairline);margin-bottom:var(--vs-s4);scrollbar-width:none}
.vs-chips::-webkit-scrollbar{display:none}
.vs-chip{white-space:nowrap;font-size:var(--vs-fs-sm);font-weight:600;color:var(--vs-gray-700);padding:6px 2px;border-bottom:2px solid transparent}
.vs-chip:hover{color:var(--vs-ink)}
.vs-chip.is-active{color:var(--vs-ink);border-bottom-color:var(--vs-ink);font-weight:700}
.vs-plp__bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--vs-s5)}
.vs-plp__count{font-size:var(--vs-fs-sm);font-weight:600;color:var(--vs-gray-700)}
.vs-filterbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--vs-ink);padding:9px 16px;font-size:var(--vs-fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.vs-filterbtn:hover{background:var(--vs-ink);color:#fff}
.vs-filterbtn svg{width:18px;height:18px}
.vs-grid--plp{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.vs-grid--plp{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.vs-grid--plp{grid-template-columns:repeat(2,1fr)}}
.vs-pagination{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:48px}
.vs-drawer--filter{inset:0 0 0 auto;width:min(380px,100%)}
.vs-filter-group{border-top:1px solid var(--vs-hairline);padding:var(--vs-s4) 0}
.vs-filter-group summary{font-weight:700;text-transform:uppercase;font-size:var(--vs-fs-sm);letter-spacing:var(--vs-tracking);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.vs-filter-group summary::-webkit-details-marker{display:none}
.vs-filter-group summary::after{content:"–"}
.vs-filter-group:not([open]) summary::after{content:"+"}
.vs-filter-group ul{margin-top:var(--vs-s3);display:flex;flex-direction:column;gap:var(--vs-s2)}
.vs-filter-group a{font-size:var(--vs-fs-sm);color:var(--vs-gray-700);display:flex;justify-content:space-between;gap:8px}
.vs-filter-group a:hover{color:var(--vs-ink)}
.vs-filter-group a.is-active{color:var(--vs-ink);font-weight:700}
.vs-filter-group a span{color:var(--vs-gray-300)}

/* ---- PDP ----------------------------------------------------------------- */
.vs-breadcrumb{display:flex;gap:8px;align-items:center;font-size:var(--vs-fs-sm);color:var(--vs-gray-500);padding-block:var(--vs-s4)}
.vs-breadcrumb a:hover{color:var(--vs-ink);text-decoration:underline}
.vs-breadcrumb span{color:var(--vs-gray-300)}
.vs-breadcrumb__current{color:var(--vs-ink);font-weight:600}
.vs-pdp{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--vs-s7);align-items:start}
@media (max-width:900px){.vs-pdp{grid-template-columns:1fr;gap:var(--vs-s5)}.vs-pdp>*{min-width:0}}
.vs-gallery{display:flex;gap:12px;align-items:flex-start}
.vs-gallery__thumbs{display:flex;flex-direction:column;gap:9px;flex:0 0 72px}
.vs-gallery__thumb{padding:0;border:1px solid transparent;background:var(--vs-paper);cursor:pointer;aspect-ratio:1/1;overflow:hidden;border-radius:4px;transition:border-color .15s ease}
.vs-gallery__thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.vs-gallery__thumb.is-active{border-color:var(--vs-ink)}
.vs-gallery__stage{position:relative;flex:1;min-width:0;aspect-ratio:1/1;background:#fff;overflow:hidden;border-radius:6px}
.vs-gallery__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s ease;pointer-events:none}
.vs-gallery__img.is-active{opacity:1;pointer-events:auto}
.vs-gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--vs-hairline);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .2s ease}
.vs-gallery__arrow:hover{background:#fff}
.vs-gallery__arrow svg{width:20px;height:20px;color:var(--vs-ink)}
.vs-gallery__arrow--prev{left:14px}
.vs-gallery__arrow--prev svg{transform:rotate(180deg)}
.vs-gallery__arrow--next{right:14px}
@media (max-width:768px){
  .vs-gallery{flex-direction:column-reverse;gap:10px;align-items:stretch}
  .vs-gallery__stage{flex:none;width:100%}
  .vs-gallery__thumbs{flex-direction:row;flex:none;overflow-x:auto;scrollbar-width:none;gap:8px}
  .vs-gallery__thumbs::-webkit-scrollbar{display:none}
  .vs-gallery__thumb{flex:0 0 60px}
  .vs-gallery__arrow{width:38px;height:38px}
}

/* customizer */
.vs-custom{border:1px solid var(--vs-hairline);margin-bottom:var(--vs-s4)}
.vs-custom__toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:12px 14px;font-weight:700;text-transform:uppercase;font-size:var(--vs-fs-sm);letter-spacing:.02em}
.vs-custom__ttl em{font-style:normal;font-weight:400;color:var(--vs-gray-500);text-transform:none;letter-spacing:0}
.vs-custom__plus{font-size:1.3rem;line-height:1;color:var(--vs-gray-500);transition:transform var(--vs-dur-fast)}
.vs-custom[data-open] .vs-custom__plus{transform:rotate(45deg)}
.vs-custom__fields{padding:0 14px 14px}
.vs-custom__row{display:flex;gap:var(--vs-s2)}
.vs-custom__row label{flex:1;display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--vs-gray-500)}
.vs-custom__num{max-width:72px;flex:0 0 auto}
.vs-custom__row input{height:42px;border:1px solid var(--vs-gray-300);padding:0 12px;font-size:var(--vs-fs-sm);font-weight:600;text-transform:uppercase}
.vs-custom__row input:focus{border-color:var(--vs-ink);outline:none}
.vs-custom__hint{font-size:10px;color:var(--vs-gray-500);margin:8px 0 0}
/* sticky na GALERIA (coluna curta): a foto acompanha o scroll da coluna de info
   e o desktop nao fica com o buraco branco a esquerda (padrao adidas) */
.vs-pdp__info{align-self:start}
@media (min-width:901px){.vs-pdp .vs-gallery{position:sticky;top:calc(var(--vs-header-h) + var(--vs-s4))}}
.vs-mlook{margin-top:var(--vs-s6);margin-bottom:var(--vs-s6);padding-top:var(--vs-s5);border-top:1px solid var(--vs-hairline)}
.vs-mlook__ttl{font-weight:700;font-size:1rem;letter-spacing:.01em;margin:0 0 16px}
/* 5 produtos numa coluna estreita nao cabem em grade: vira trilho rolavel em
   qualquer largura, com 3 cards visiveis e os outros 2 a um arrasto */
.vs-mlook__grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;
  scrollbar-width:none;gap:16px}
.vs-mlook__grid::-webkit-scrollbar{display:none}
.vs-mlook__card{flex:0 0 calc(33.333% - 11px);scroll-snap-align:start}
@media (max-width:900px){
  .vs-mlook__grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;gap:14px}
  .vs-mlook__grid::-webkit-scrollbar{display:none}
  .vs-mlook__card{flex:0 0 calc(50% - 7px);scroll-snap-align:start}
}
.vs-mlook__card{display:block;color:inherit;text-decoration:none}
.vs-mlook__img{aspect-ratio:1/1;overflow:hidden;margin-bottom:10px}
.vs-mlook__img img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.vs-mlook__card:hover .vs-mlook__img img{transform:scale(1.04)}
/* ---- legenda curta sob o titulo de secao (Shop by league, Off the pitch) ---- */
.vs-section__sub{margin:6px 0 0;font-size:.9rem;line-height:1.4;color:var(--vs-gray-500)}
.vs-section__head:has(.vs-section__sub){align-items:flex-end}
@media (max-width:600px){.vs-section__sub{font-size:.82rem}}

.vs-mlook__cat{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--vs-gray-500);margin-bottom:3px}
.vs-mlook__name{font-size:.85rem;font-weight:500;line-height:1.3;color:var(--vs-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}
.vs-mlook__price{display:flex;gap:6px;align-items:baseline;font-size:.85rem}
.vs-mlook__now{font-weight:600;color:var(--vs-ink)}
.vs-mlook__was{color:var(--vs-gray-500);text-decoration:line-through;font-size:.78rem}
.vs-pdp__title{font-family:var(--vs-font-display);font-size:1.35rem;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.2;margin:2px 0 var(--vs-s3)}
.vs-pdp__price{font-size:1.25rem;font-weight:700;margin-bottom:var(--vs-s5);display:flex;align-items:center;gap:8px}
.vs-pdp__save{font-size:var(--vs-fs-xs);font-weight:700;color:var(--vs-sale);border:1px solid var(--vs-sale);padding:2px 6px}
.vs-opt{margin-bottom:var(--vs-s5)}
.vs-opt__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--vs-s3)}
.vs-opt__label{font-size:var(--vs-fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--vs-tracking)}
.vs-opt__guide{font-size:var(--vs-fs-sm);color:var(--vs-gray-700);text-decoration:underline}
.vs-opt__guide:hover{color:var(--vs-ink)}
.vs-pdp__buy{display:flex;gap:var(--vs-s2);margin-top:var(--vs-s3)}
.vs-pdp__buy .vs-btn{flex:1;white-space:nowrap;padding-inline:var(--vs-s3)}
.vs-wishbtn{width:50px;height:50px;flex:0 0 auto;border:1px solid var(--vs-gray-300);border-radius:3px;
  background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:border-color var(--vs-dur-fast)}
.vs-wishbtn:hover{border-color:var(--vs-ink)}
.vs-wishbtn svg{width:20px;height:17px;display:block;fill:currentColor;color:var(--vs-ink);stroke:none}
.vs-acc{border-top:1px solid var(--vs-hairline)}
.vs-acc summary{display:flex;justify-content:space-between;align-items:center;padding:var(--vs-s4) 0;font-weight:700;text-transform:uppercase;font-size:var(--vs-fs-sm);letter-spacing:.02em;cursor:pointer;list-style:none}
.vs-acc summary::-webkit-details-marker{display:none}
.vs-acc summary::after{content:"+";font-size:1.3rem;font-weight:400}
.vs-acc[open] summary::after{content:"–"}
.vs-acc .vs-rte{padding-bottom:var(--vs-s4);color:var(--vs-gray-700);font-size:var(--vs-fs-sm);line-height:1.6}
.vs-brand{font-family:var(--vs-font-ui);font-size:12px;font-weight:500;color:#767677;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.vs-rating{display:inline-flex;align-items:center;gap:8px;font-size:var(--vs-fs-sm);margin:6px 0 var(--vs-s4);color:var(--vs-gray-700)}
.vs-rating strong{color:var(--vs-ink)}
.vs-rating:hover .vs-rating__txt{text-decoration:underline}
.vs-stars{color:#00b67a;letter-spacing:1px;font-size:1rem}
.vs-rating__txt{color:var(--vs-gray-500)}
.vs-truesize{display:flex;gap:8px;align-items:center;background:var(--vs-paper);border:1px solid var(--vs-hairline);padding:9px 12px;font-size:.75rem;margin-bottom:var(--vs-s4);white-space:nowrap;overflow:hidden}
.vs-truesize span{overflow:hidden;text-overflow:ellipsis}
.vs-truesize svg{width:16px;height:16px;flex:0 0 auto}

/* ---- REVIEWS (Trustpilot + video) --------------------------------------- */
.vs-stars--lg{font-size:1.35rem}
.vs-tp{display:flex;align-items:center;gap:var(--vs-s5);border:1px solid var(--vs-hairline);padding:var(--vs-s4) var(--vs-s5);flex-wrap:wrap}
.vs-tp__score{display:flex;flex-direction:column;align-items:center;padding-right:var(--vs-s5);border-right:1px solid var(--vs-hairline)}
.vs-tp__num{font-family:var(--vs-font-display);font-weight:900;font-size:2.4rem;line-height:1}
.vs-tp__out{font-size:var(--vs-fs-xs);color:var(--vs-gray-500);text-transform:uppercase;letter-spacing:.04em}
.vs-tp__body p{margin:6px 0 4px;font-size:var(--vs-fs-sm)}
@media (max-width:560px){.vs-tp__score{border-right:0;padding-right:0}.vs-tp{gap:var(--vs-s3)}}
.vs-vreviews{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:var(--vs-s4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--vs-s3);scrollbar-width:none;justify-content:center}
.vs-vreviews::-webkit-scrollbar{display:none}
@media (min-width:1101px){.vs-vreviews{grid-template-columns:none;grid-auto-columns:minmax(210px,230px);justify-content:center}}
@media (max-width:760px){.vs-vreviews{grid-auto-columns:minmax(62vw,62vw)}}
.vs-vreview{margin:0;scroll-snap-align:start}
.vs-vreview__media{position:relative;aspect-ratio:9/16;background:var(--vs-ink);overflow:hidden}
.vs-vreview__media img,.vs-vreview__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vs-vreview__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(45deg,#141414,#141414 20px,#1c1c1c 20px,#1c1c1c 40px);color:#888;font-size:var(--vs-fs-xs);text-transform:uppercase;letter-spacing:.04em}
.vs-vreview__play{width:52px;height:52px;border-radius:999px;background:rgba(255,255,255,.92);display:inline-flex;align-items:center;justify-content:center}
.vs-vreview__play svg{width:22px;height:22px;color:var(--vs-ink);margin-left:3px}
.vs-vreview__cap{padding-top:var(--vs-s3)}
.vs-vreview__txt{font-size:var(--vs-fs-sm);line-height:1.35;margin:4px 0 6px}
.vs-vreview__name{font-size:var(--vs-fs-xs);color:var(--vs-gray-500);text-transform:uppercase;letter-spacing:.03em}
.vs-vreview__name em{font-style:normal;color:var(--vs-success);font-weight:700}
.vs-qtybox{display:flex;align-items:center;border:1px solid var(--vs-gray-300);height:50px;flex:0 0 auto}
.vs-qtybox button{width:34px;height:100%;font-size:1.15rem}
.vs-qtybox input{width:30px;text-align:center;border:0;background:transparent;font-weight:700;font-size:var(--vs-fs-sm)}
.vs-delivery{display:flex;gap:9px;align-items:center;justify-content:center;text-align:center;background:var(--vs-paper);padding:9px 12px;font-size:.8rem;margin-top:var(--vs-s3)}
.vs-delivery svg{width:18px;height:18px;flex:0 0 auto}
.vs-delivery__note{display:block;font-size:.72rem;color:var(--vs-gray-500);font-weight:400;margin-top:2px}
.vs-checks{display:flex;justify-content:center;gap:var(--vs-s4);flex-wrap:wrap;margin-top:var(--vs-s3);margin-bottom:var(--vs-s5);font-size:11px;color:var(--vs-gray-700)}
.vs-checks span{display:inline-flex;align-items:center;gap:5px}
.vs-checks svg{width:14px;height:14px}

/* ---- Bundle & save (PDP): single purchase + both offers, always visible -- */
.vs-bundle{margin:0 0 var(--vs-s4)}
.vs-bundle__eyebrow{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vs-gold)}
.vs-bundle__offers{display:flex;flex-direction:column;gap:8px}
.vs-boffer{border:1px solid var(--vs-hairline);background:var(--vs-white);
  transition:border-color var(--vs-dur-fast) var(--vs-ease),background var(--vs-dur-fast) var(--vs-ease)}
.vs-boffer:hover{border-color:var(--vs-gray-500)}
.vs-boffer.is-active{border-color:var(--vs-ink);background:var(--vs-cream)}
.vs-boffer__head{display:flex;align-items:center;gap:11px;width:100%;text-align:left;
  padding:12px 14px;border:0;background:none;cursor:pointer;font:inherit}
.vs-boffer__mark{flex:0 0 auto;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--vs-gray-300);position:relative}
.vs-boffer__mark::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--vs-ink);transform:scale(0);transition:transform var(--vs-dur-fast) var(--vs-ease)}
.vs-boffer.is-active .vs-boffer__mark{border-color:var(--vs-ink)}
.vs-boffer.is-active .vs-boffer__mark::after{transform:scale(1)}
.vs-boffer__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vs-boffer__txt b{font-size:.92rem;font-weight:700;letter-spacing:.01em;color:var(--vs-ink)}
.vs-boffer__txt small{font-size:.74rem;color:var(--vs-gray-500)}
.vs-boffer__price{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.vs-boffer__price b{font-size:.98rem;font-weight:700;color:var(--vs-ink);white-space:nowrap}
.vs-boffer__price s{font-size:.78rem;color:var(--vs-gray-500);white-space:nowrap}
.vs-boffer__slots[hidden]{display:none}
.vs-boffer__slots{display:flex;flex-direction:column;gap:7px;padding:0 14px 13px;
  border-top:1px dashed var(--vs-gray-300);margin-top:2px;padding-top:12px;animation:vsFade .2s var(--vs-ease)}
.vs-bslot{display:flex;align-items:center;gap:9px}
.vs-bslot__n{flex:0 0 auto;width:20px;font-size:.76rem;font-weight:700;color:var(--vs-gray-500)}
.vs-bslot__sel{flex:1;min-width:0;height:40px;padding:0 11px;border:1px solid var(--vs-gray-300);
  border-radius:0;background:var(--vs-white);font:inherit;font-size:.84rem;color:var(--vs-ink);cursor:pointer}
.vs-bslot__sel:focus{outline:none;border-color:var(--vs-ink)}
.vs-bundle__notice{margin:10px 0 0;padding:11px 13px;font-size:.86rem;line-height:1.45;color:var(--vs-gray-700);
  background:var(--vs-paper);border-left:3px solid var(--vs-gold)}
.vs-bundle__notice strong{color:var(--vs-ink);font-weight:700}
.vs-bundle__notice.is-unlocked{background:rgba(0,125,72,.08);border-left-color:var(--vs-success);color:var(--vs-ink)}
.vs-bundle__fine{margin:8px 0 0;font-size:.7rem;color:var(--vs-gray-500)}
.vs-qtybox[hidden]{display:none}
@media (max-width:420px){
  .vs-boffer__head{gap:9px;padding:11px 12px}
  .vs-boffer__txt b{font-size:.86rem}
  .vs-boffer__price b{font-size:.9rem}
}
}
.vs-pdp__promo{display:flex;gap:9px;align-items:center;border:1px dashed var(--vs-gray-300);padding:9px 12px;font-size:.8rem;margin-top:var(--vs-s4)}
.vs-pdp__promo svg{width:18px;height:18px;flex:0 0 auto}
.vs-sizes{display:flex;flex-wrap:wrap;gap:6px}
/* so o esqueleto: aparencia fica no bloco de variantes mais abaixo */
.vs-size{display:inline-flex;align-items:center;justify-content:center}
.vs-fitnote{font-size:.78rem;color:var(--vs-gray-500);margin:10px 0 0}
.vs-size--soldout{opacity:.35;text-decoration:line-through;pointer-events:none}
.vs-pdp__trust{display:flex;flex-direction:column;gap:var(--vs-s2);margin-top:var(--vs-s5);border-top:1px solid var(--vs-hairline);padding-top:var(--vs-s5)}
.vs-trust{display:flex;gap:var(--vs-s3);align-items:center;font-size:var(--vs-fs-sm)}
.vs-trust svg{width:20px;height:20px;flex:0 0 auto}
.vs-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:var(--vs-z-header);background:#fff;border-top:1px solid var(--vs-hairline);padding:var(--vs-s3) var(--vs-gutter);display:none;gap:var(--vs-s3);align-items:center}
@media (max-width:900px){.vs-sticky-atc{display:flex}}

/* ---- CART DRAWER --------------------------------------------------------- */
.vs-drawer{position:fixed;inset:0 0 0 auto;width:min(420px,100%);background:#fff;z-index:var(--vs-z-drawer);transform:translateX(100%);transition:transform var(--vs-dur) var(--vs-ease);display:flex;flex-direction:column}
.vs-drawer.is-open{transform:translateX(0)}
.vs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity var(--vs-dur);z-index:var(--vs-z-drawer)}
.vs-overlay.is-open{opacity:1;visibility:visible}
.vs-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--vs-s4) var(--vs-s5);border-bottom:1px solid var(--vs-hairline)}
.vs-drawer__body{flex:1;overflow:auto;padding:var(--vs-s5)}
.vs-drawer__foot{border-top:1px solid var(--vs-hairline);padding:var(--vs-s5)}
.vs-shipbar{height:6px;background:var(--vs-paper);margin:var(--vs-s3) 0}
.vs-shipbar__fill{height:100%;background:var(--vs-ink)}

/* ---- FOOTER -------------------------------------------------------------- */
.vs-footer{background:#0a0a0a;color:var(--vs-white);padding-block:var(--vs-s8) var(--vs-s5)}
.vs-footer a{color:#c9c9c9}
.vs-footer a:hover{color:#fff}
.vs-footer__top{display:grid;grid-template-columns:1.3fr 2fr;gap:var(--vs-s8)}
@media (max-width:820px){.vs-footer__top{grid-template-columns:1fr;gap:var(--vs-s7)}}
.vs-footer__cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--vs-s6)}
@media (max-width:560px){.vs-footer__cols{grid-template-columns:1fr 1fr}}
.vs-footer__title{font-size:var(--vs-fs-xs);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase;color:var(--vs-gray-500);margin-bottom:var(--vs-s4)}
.vs-footer__links{display:flex;flex-direction:column;gap:var(--vs-s2);font-size:var(--vs-fs-sm)}
.vs-footer__brand{margin-bottom:var(--vs-s3);line-height:0}
.vs-footer__brand img{height:23px;width:auto}
.vs-footer__logo-img{filter:brightness(0) invert(1);height:23px;width:auto}
.vs-footer__tag{color:#9e9e9e;max-width:32ch}
.vs-social{display:flex;gap:var(--vs-s3);margin-top:var(--vs-s5)}
.vs-social a{width:40px;height:40px;border:1px solid #333;display:inline-flex;align-items:center;justify-content:center;transition:background var(--vs-dur-fast),border-color var(--vs-dur-fast)}
.vs-social a:hover{background:#fff;border-color:#fff;color:var(--vs-ink)}
.vs-social svg{width:20px;height:20px}
.vs-footer__bottom{display:flex;flex-direction:column;gap:var(--vs-s3);margin-top:var(--vs-s7);padding-top:var(--vs-s5);border-top:1px solid #2a2a2a;font-size:var(--vs-fs-xs);color:#9e9e9e}
.vs-footer__botrow{display:flex;justify-content:space-between;align-items:center;gap:var(--vs-s4);flex-wrap:wrap}
.vs-footer__country{display:inline-flex;align-items:center;gap:8px;color:#e6e6e6}
.vs-footer__copy{color:#9e9e9e}
.vs-footer__legal{display:flex;gap:var(--vs-s5);flex-wrap:wrap}
.vs-footer__legal a{color:#c9c9c9;font-size:var(--vs-fs-xs)}
.vs-footer__pay{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vs-footer__pay .vs-pay-ic,.vs-footer__pay svg{height:24px;width:auto;border-radius:3px}
@media (max-width:600px){.vs-footer__botrow{flex-direction:column;align-items:flex-start;gap:var(--vs-s3)}}
.vs-news{display:flex;gap:var(--vs-s2);margin-top:var(--vs-s3);max-width:420px}
.vs-news input{flex:1;height:48px;padding:0 var(--vs-s4);border:1px solid #444;background:transparent;color:#fff}
.vs-news input::placeholder{color:#888}

/* ---- EMPTY / MISC -------------------------------------------------------- */
.vs-empty{text-align:center;padding-block:var(--vs-s9)}
.vs-marquee-band{background:var(--vs-ink);color:#fff;overflow:hidden;padding-block:var(--vs-s4)}
.vs-marquee-band .vs-ann__track{animation-duration:22s;font-size:clamp(1.5rem,4vw,3rem);font-family:var(--vs-font-display)}

/* ---- TABS (shop by league) ---------------------------------------------- */
.vs-tabs__nav{display:flex;gap:10px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:var(--vs-s5);scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:2px}
.vs-tabs__nav::-webkit-scrollbar{display:none}
.vs-tab{flex:0 0 auto;scroll-snap-align:start;padding:10px 20px;border:1px solid var(--vs-gray-300);background:var(--vs-white);border-radius:3px;font-size:var(--vs-fs-sm);font-weight:600;color:var(--vs-ink);transition:all var(--vs-dur-fast) var(--vs-ease);white-space:nowrap;cursor:pointer}
.vs-tab:hover{border-color:var(--vs-ink)}
.vs-tab.is-active{background:var(--vs-ink);color:var(--vs-white);border-color:var(--vs-ink)}
.vs-tab-panel[hidden]{display:none}
.vs-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:var(--vs-s4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--vs-s3);scrollbar-width:thin}
.vs-carousel__item{scroll-snap-align:start;min-width:0}
@media (min-width:1101px){.vs-carousel{grid-auto-columns:minmax(0,1fr);grid-template-columns:repeat(5,1fr);overflow:visible}.vs-carousel__item:nth-child(n+6){display:none}}
@media (max-width:760px){.vs-carousel{grid-auto-columns:minmax(62vw,62vw)}}

/* ---- SHOP BY CLUB -------------------------------------------------------- */
.vs-clubs{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--vs-s2)}
@media (max-width:900px){.vs-clubs{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.vs-clubs{grid-template-columns:repeat(3,1fr)}}
.vs-club{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--vs-s2);aspect-ratio:1/1;background:var(--vs-paper);border:1px solid transparent;text-align:center;padding:var(--vs-s3);overflow:hidden;transition:background var(--vs-dur) var(--vs-ease),color var(--vs-dur) var(--vs-ease)}
.vs-club:hover{background:var(--vs-ink);color:#fff}
.vs-club__logo{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply}
.vs-club__name{font-size:var(--vs-fs-sm);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.1}

/* ---- BENEFITS BAR -------------------------------------------------------- */
.vs-benefits{background:var(--vs-paper);border-block:1px solid var(--vs-hairline)}
.vs-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--vs-s5);padding-block:var(--vs-s3)}
.vs-benefit{display:flex;gap:10px;align-items:center;justify-content:center}
.vs-benefit svg{width:19px;height:19px;flex:0 0 auto;opacity:.85}
.vs-benefit strong{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}
.vs-benefit span{font-size:.68rem;color:var(--vs-gray-500);line-height:1.2}
@media (max-width:760px){
  .vs-benefits{padding-block:var(--vs-s3)}
  .vs-benefits__grid{grid-template-columns:none;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--vs-s6);padding-block:0;scrollbar-width:none;scroll-snap-type:x proximity;cursor:grab}
  .vs-benefits__grid::-webkit-scrollbar{display:none}
  .vs-benefit{flex:0 0 auto;scroll-snap-align:start;gap:8px}
  .vs-benefit svg{width:18px;height:18px}
  .vs-benefit strong{font-size:11px;white-space:nowrap}
  .vs-benefit span{font-size:10px;white-space:nowrap}
}

/* ---- BRAND STRIP --------------------------------------------------------- */
.vs-brands{border-bottom:1px solid var(--vs-hairline);padding-block:var(--vs-s4);overflow:hidden}
.vs-brands__head{text-align:center;font-size:10px;font-weight:600;letter-spacing:var(--vs-tracking);text-transform:uppercase;color:var(--vs-gray-500);margin-bottom:var(--vs-s3)}
.vs-brands__track{display:flex;align-items:center;justify-content:space-between;gap:var(--vs-s6)}
.vs-brand-logo{display:inline-flex;align-items:center;justify-content:center;opacity:1;filter:none;transition:transform var(--vs-dur)}
.vs-brand-logo:hover{transform:translateY(-1px)}
.vs-brand-logo img{height:30px;width:auto;object-fit:contain}
.vs-brand-logo__txt{font-family:var(--vs-font-display);font-weight:900;font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;color:var(--vs-ink)}
/* Esteira de marcas: rola sempre, em todas as larguras. A faixa tem DUAS copias
   da lista lado a lado e a animacao anda exatamente meia faixa — quando termina,
   a segunda copia esta na posicao exata em que a primeira comecou, entao o
   reinicio e invisivel. Antes havia uma copia so e o -50% dava o salto. */
.vs-brands .vs-container{max-width:none;padding-inline:0}
.vs-brands__viewport{overflow:hidden}
.vs-brands__track{display:flex;width:max-content;flex-wrap:nowrap;justify-content:flex-start;
  gap:0;animation:vs-brands-scroll 42s linear infinite;will-change:transform}
/* cada copia ocupa no MINIMO a largura da tela: sem isso, 7 logos somam 628px
   num viewport de 1440 e sobraria vazio rolando junto. Quando o conteudo e mais
   largo que a tela (celular), o min-width nao atrapalha — a copia cresce com o
   conteudo e as duas continuam identicas, que e o que o -50% exige. */
.vs-brands__seq{display:flex;align-items:center;gap:var(--vs-s7);flex:0 0 auto;
  min-width:100vw;justify-content:space-around;padding-inline:var(--vs-s6)}
.vs-brand-logo{flex:0 0 auto}
.vs-brands__viewport:hover .vs-brands__track{animation-play-state:paused}
@keyframes vs-brands-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:760px){.vs-brands__track{animation-duration:26s}}
@media (prefers-reduced-motion:reduce){.vs-brands__track{animation:none}}

/* ---- EDITORIAL BANNER ---------------------------------------------------- */
.vs-editorial{position:relative;min-height:clamp(380px,52vw,620px);display:flex;align-items:center;overflow:hidden;color:var(--vs-white)}
.vs-editorial--light{color:var(--vs-ink)}
.vs-editorial__media{position:absolute;inset:0}
.vs-editorial__media img{width:100%;height:100%;object-fit:cover}
.vs-editorial__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#141414,#141414 22px,#1c1c1c 22px,#1c1c1c 44px);color:#888;text-align:center;padding:var(--vs-s5)}
.vs-editorial--light .vs-editorial__ph{background:repeating-linear-gradient(45deg,#eee,#eee 22px,#e2e2e2 22px,#e2e2e2 44px);color:#999}
.vs-editorial__wrap{position:relative;width:100%;display:flex}
.vs-editorial--center .vs-editorial__wrap{justify-content:center;text-align:center}
.vs-editorial--right .vs-editorial__wrap{justify-content:flex-end}
.vs-editorial__content{max-width:520px}
.vs-editorial__title{font-family:var(--vs-font-display);font-weight:900;font-size:clamp(2rem,4.5vw,4rem);line-height:.95;text-transform:uppercase;margin:var(--vs-s2) 0 var(--vs-s3)}
.vs-editorial__text{margin-bottom:var(--vs-s5);max-width:44ch}

/* ---- RELATED RESOURCES --------------------------------------------------- */
.vs-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--vs-s5)}
@media (max-width:820px){.vs-resources{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.vs-resources{grid-template-columns:1fr}}
.vs-resource__media{position:relative;aspect-ratio:7/5;background:var(--vs-paper);overflow:hidden}
.vs-resource__media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--vs-ease)}
.vs-resource:hover .vs-resource__media img{transform:scale(1.04)}
.vs-resource__body{padding-top:var(--vs-s3)}
.vs-resource__title{font-size:1.15rem;font-weight:800;text-transform:none;margin:4px 0 var(--vs-s3);line-height:1.2}

/* ---- STORY (info page) --------------------------------------------------- */
.vs-story__hero{position:relative;min-height:clamp(320px,44vw,520px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#141414}
.vs-story__hero-media{position:absolute;inset:0}
.vs-story__hero-media img{width:100%;height:100%;object-fit:cover}
.vs-story__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#141414,#141414 22px,#1c1c1c 22px,#1c1c1c 44px);color:#888;text-align:center;padding:var(--vs-s5)}
.vs-story__hero-inner{position:relative;padding-block:var(--vs-s6)}
.vs-story__title{font-family:var(--vs-font-display);font-weight:900;font-size:clamp(2rem,5vw,4.5rem);line-height:.95;text-transform:uppercase}
.vs-story__body{max-width:760px;padding-block:var(--vs-s7)}
.vs-story__body .vs-rte{font-size:1.0625rem;line-height:1.7}
.vs-story__body .vs-rte h2{font-size:1.4rem;text-transform:uppercase;margin:var(--vs-s6) 0 var(--vs-s3)}
.vs-story__body .vs-rte p{margin-bottom:var(--vs-s4)}
.vs-story__shop{max-width:none;margin-top:var(--vs-s7)}

/* ---- WISHLIST HEART ------------------------------------------------------ */
.vs-wish{position:absolute;top:var(--vs-s3);right:var(--vs-s3);z-index:3;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border-radius:999px;border:none;cursor:pointer}
.vs-wish svg{width:auto;height:16px;fill:currentColor;color:var(--vs-ink)}
.vs-wish[aria-pressed="true"] svg{color:var(--vs-ink);fill:var(--vs-ink)}

/* ---- MOBILE MENU DRAWER (adidas-style) ----------------------------------- */
.vs-mmenu{position:fixed;inset:0;z-index:1000;visibility:hidden}
.vs-mmenu.is-open{visibility:visible}
.vs-mmenu__scrim{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity .3s ease;z-index:1}
.vs-mmenu.is-open .vs-mmenu__scrim{opacity:1}
.vs-mmenu__panel{position:absolute;top:0;left:0;bottom:0;width:min(88vw,440px);background:#fff;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:2}
.vs-mmenu.is-open .vs-mmenu__panel{transform:translateX(0)}
.vs-mmenu__head{position:relative;display:flex;align-items:center;justify-content:center;padding:16px 20px;border-bottom:1px solid #ececec;flex-shrink:0}
.vs-mmenu__logo .vs-logo-v{height:26px;width:auto}
.vs-mmenu__close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#111}
.vs-mmenu__close svg{width:22px;height:22px}
.vs-mmenu__primary{display:flex;flex-direction:column;padding:0}
.vs-mmenu__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;font-family:var(--vs-font-display);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.03em;color:#111;border-bottom:1px solid #f0f0f0}
.vs-mmenu__item svg{width:16px;height:16px;color:#999;flex-shrink:0}
.vs-mmenu__item:active{background:#f5f5f5}
.vs-mmenu__item--sale{color:var(--vs-sale)}
.vs-mmenu__item--sale svg{color:var(--vs-sale)}
.vs-mmenu__item--parent{width:100%;background:none;border:none;cursor:pointer;text-align:left;font:inherit}
.vs-mmenu__item--parent svg{transition:transform .25s ease}
.vs-mmenu__group.is-open>.vs-mmenu__item--parent svg{transform:rotate(90deg)}
.vs-mmenu__sub{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1);background:#fbfbfb;border-top:1px solid #efefef}
.vs-mmenu__group.is-open>.vs-mmenu__sub{max-height:2800px}
.vs-mmenu__sub a{display:block;padding:9px 20px 9px 32px;font-size:.875rem;font-weight:400;text-transform:none;letter-spacing:0;color:#444;transition:color .15s ease,background .15s ease}
.vs-mmenu__sub a:active,.vs-mmenu__sub a:hover{background:#f2f2f2;color:#000}
.vs-mmenu__divider{height:1px;background:#ececec;margin:8px 0}
.vs-mmenu__sec{display:flex;flex-direction:column;padding:6px 0 12px}
.vs-mmenu__sec a{padding:11px 22px;font-size:.95rem;color:#333}
.vs-mmenu__sec a:active{background:#f5f5f5}
.vs-mmenu__foot{margin-top:auto;border-top:1px solid #ececec;padding:18px 22px;display:flex;align-items:center;gap:10px;font-size:.95rem;color:#111;flex-shrink:0}
.vs-mmenu__flag{font-size:1.15rem}
body.vs-mmenu-open{overflow:hidden}
@media (min-width:961px){.vs-mmenu{display:none}}

/* ---- RTE ----------------------------------------------------------------- */
.vs-rte a{text-decoration:underline}
.vs-rte ul{list-style:disc;padding-left:1.2em;margin-bottom:var(--vs-s4)}
.vs-rte img{margin:var(--vs-s4) 0}

/* ---- HEADER v2: utility + search + mega-menu ----------------------------- */
.vs-utility{background:var(--vs-ink);color:#fff;font-size:11px;letter-spacing:.03em;text-transform:uppercase}
.vs-utility__inner{display:flex;justify-content:flex-start;gap:var(--vs-s5);height:34px;align-items:center}
.vs-utility__links{display:flex;gap:var(--vs-s5)}
.vs-utility a{color:#bdbdbd}
.vs-utility a:hover{color:#fff}
@media (max-width:760px){.vs-utility{display:none}}
.vs-iconbtn--wish{display:inline-flex}
@media (max-width:1140px){.vs-iconbtn--wish{display:none}}

.vs-nav{gap:var(--vs-s4)}
.vs-nav__link{font-size:var(--vs-fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:22px 0;display:inline-flex;align-items:center;border-bottom:0;position:relative}
.vs-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;background:var(--vs-ink);transform:scaleX(0);transition:transform var(--vs-dur-fast) var(--vs-ease)}
.vs-nav__link:hover::after{transform:scaleX(1)}
.vs-nav__link--sale{color:var(--vs-sale)}
.vs-nav__link--sale::after{background:var(--vs-sale)}

.vs-has-mega{position:static;display:inline-flex;align-items:center}
.vs-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--vs-hairline);box-shadow:0 20px 40px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--vs-dur-fast) var(--vs-ease);z-index:5}
.vs-has-mega:hover .vs-mega,.vs-has-mega:focus-within .vs-mega{opacity:1;visibility:visible;transform:translateY(0)}
.vs-mega__inner{display:flex;gap:var(--vs-s8);padding-block:var(--vs-s6)}
.vs-mega__col{display:flex;flex-direction:column;gap:var(--vs-s2);min-width:180px}
.vs-mega__col--wide{flex:1}
.vs-mega__title{font-size:var(--vs-fs-xs);font-weight:700;letter-spacing:var(--vs-tracking);text-transform:uppercase;color:var(--vs-gray-500);margin-bottom:var(--vs-s2)}
.vs-mega__col a{font-size:var(--vs-fs-sm);color:var(--vs-gray-700);padding:3px 0}
.vs-mega__col a:hover{color:var(--vs-ink)}
.vs-mega__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--vs-s2) var(--vs-s5)}
.vs-mega__feature{margin-left:auto;width:260px;aspect-ratio:16/10;background:var(--vs-ink);color:#fff;display:flex;align-items:flex-end;padding:var(--vs-s4);position:relative;overflow:hidden}
.vs-mega__feature-ph{font-family:var(--vs-font-display);font-weight:900;font-size:1.6rem;line-height:.95;text-transform:uppercase}

.vs-search{display:flex;align-items:center;background:var(--vs-paper);border:1px solid transparent;height:40px;transition:border-color var(--vs-dur-fast)}
.vs-search:focus-within{border-color:var(--vs-ink)}
.vs-search input{border:0;background:transparent;height:100%;padding:0 12px;width:150px;font-size:var(--vs-fs-sm);color:var(--vs-ink)}
.vs-search input::placeholder{color:var(--vs-gray-500)}
.vs-search button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}
.vs-search svg{width:18px;height:18px}
@media (max-width:1200px){.vs-search input{width:110px}}
@media (max-width:1140px){.vs-mega{display:none}.vs-search{display:none}}

/* ===== Overflow guard (no horizontal shift on mobile) ===== */
/* clip em vez de hidden: hidden cria scroll container e MATA todo position:sticky
   da pagina (a galeria/coluna de PDP nunca pregava por causa disto) */
html{overflow-x:clip}
body.vs-body{overflow-x:clip;max-width:100%}
.vs-sizes{display:flex;flex-wrap:wrap;gap:8px}

/* ===== (removed: legacy add-on selector) ===== */

/* ===== Cart line properties (drawer) ===== */
.vs-cartline__prop{font-size:.72rem;color:var(--vs-gray-600);line-height:1.35;text-transform:uppercase;letter-spacing:.02em}
.vs-cartline__prop span{color:var(--vs-gray-500);font-weight:600}

/* ===== Cart page (Nike/Adidas style) ===== */
.vs-cartpage{padding-top:var(--vs-s6);padding-bottom:var(--vs-s8)}
.vs-cartpage__title{font-family:var(--vs-font-display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:var(--vs-s5)}
.vs-cartpage__grid{display:grid;grid-template-columns:1fr 380px;gap:var(--vs-s7);align-items:start}
.vs-cartpage__count{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--vs-gray-500);padding-bottom:var(--vs-s3);border-bottom:1px solid var(--vs-hairline)}
.vs-cartitem{display:flex;gap:var(--vs-s4);padding:var(--vs-s4) 0;border-bottom:1px solid var(--vs-hairline)}
.vs-cartitem__media{flex:0 0 120px}
.vs-cartitem__media img{width:120px;height:120px;object-fit:cover;background:var(--vs-paper);border-radius:4px}
.vs-cartitem__body{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.vs-cartitem__top{display:flex;justify-content:space-between;gap:var(--vs-s3)}
.vs-cartitem__name{font-weight:700;font-size:.95rem;line-height:1.2;color:var(--vs-ink);display:block;text-decoration:none}
.vs-cartitem__meta{font-size:.8rem;color:var(--vs-gray-500);margin-top:4px}
.vs-cartitem__prop{font-size:.74rem;color:var(--vs-gray-700);margin-top:2px;text-transform:uppercase;letter-spacing:.02em}
.vs-cartitem__prop span{color:var(--vs-gray-500);font-weight:600}
.vs-cartitem__rm{background:none;border:0;color:var(--vs-gray-500);cursor:pointer;padding:2px;flex:0 0 auto}
.vs-cartitem__rm svg{width:16px;height:16px}
.vs-cartitem__rm:hover{color:var(--vs-ink)}
.vs-cartitem__bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:var(--vs-s3)}
.vs-qtybox--sm{display:inline-flex;align-items:center;border:1px solid var(--vs-hairline);border-radius:999px}
.vs-qtybox--sm button{width:32px;height:32px;background:none;border:0;font-size:1rem;cursor:pointer;color:var(--vs-ink)}
.vs-qtybox--sm span{min-width:26px;text-align:center;font-size:.85rem;font-weight:600}
.vs-cartitem__price{text-align:right;font-weight:700}
.vs-cartitem__price .vs-price--was{display:block;font-size:.78rem;color:var(--vs-gray-500);text-decoration:line-through;font-weight:400}
.vs-cartitem__price .vs-price--now{color:var(--vs-sale,#c0341d)}
.vs-cartpage__continue{display:inline-flex;align-items:center;gap:6px;margin-top:var(--vs-s4);font-size:.85rem;font-weight:600;color:var(--vs-ink);text-decoration:none}
.vs-cartpage__continue svg{width:15px;height:15px;transform:rotate(180deg)}
.vs-cartsum{position:sticky;top:100px;background:var(--vs-paper);border:1px solid var(--vs-hairline);border-radius:8px;padding:var(--vs-s5)}
.vs-cartsum__title{font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1rem;margin-bottom:var(--vs-s4)}
.vs-cartsum__row{display:flex;justify-content:space-between;font-size:.9rem;padding:6px 0}
.vs-cartsum__row--muted{color:var(--vs-gray-500)}
.vs-cartsum__row--save{color:var(--vs-sale,#c0341d)}
.vs-cartsum__total{display:flex;justify-content:space-between;font-weight:800;font-size:1.05rem;border-top:1px solid var(--vs-hairline);margin-top:var(--vs-s3);padding-top:var(--vs-s3)}
.vs-cartsum__promo{display:flex;gap:8px;align-items:flex-start;background:var(--vs-white);border:1px dashed var(--vs-hairline);border-radius:6px;padding:10px 12px;font-size:.78rem;margin:var(--vs-s4) 0}
.vs-cartsum__promo svg{width:18px;height:18px;flex:0 0 auto}
.vs-cartsum__checkout{margin-top:var(--vs-s2)}
.vs-cartsum__trust{display:flex;flex-direction:column;gap:6px;margin-top:var(--vs-s4);font-size:.78rem;color:var(--vs-gray-600)}
.vs-cartsum__trust span{display:inline-flex;align-items:center;gap:7px}
.vs-cartsum__trust svg{width:15px;height:15px}
.vs-cartsum__pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--vs-s4)}
.vs-cartsum__pay .vs-pay-ic{width:34px;height:22px}
.vs-cartpage__empty{text-align:center;padding:var(--vs-s8) 0}
.vs-cartpage__emptytxt{font-size:1.1rem;color:var(--vs-gray-600);margin-bottom:var(--vs-s4)}
@media (max-width:900px){
  .vs-cartpage__grid{grid-template-columns:1fr;gap:var(--vs-s5)}
  .vs-cartsum{position:static}
  .vs-cartitem__media{flex:0 0 92px}
  .vs-cartitem__media img{width:92px;height:92px}
}
/* Banner sem texto sobreposto: a arte manda na altura (nada de corte lateral). */
.vs-hero--bare,.vs-editorial--bare{min-height:0;height:auto;display:block}
.vs-hero--bare .vs-hero__media,.vs-editorial--bare .vs-editorial__media{position:relative;inset:auto}
.vs-hero--bare .vs-hero__media picture,.vs-editorial--bare .vs-editorial__media picture{height:auto}
.vs-hero--bare .vs-hero__media img,.vs-editorial--bare .vs-editorial__media img{height:auto;object-fit:contain}
/* Rotulos de grupo dentro dos submenus do menu mobile (espelha as colunas do mega desktop). */

/* ===== Menu mobile: 2 niveis de acordeao (liga -> times), estilo Kalles ===== */
/* Nivel 2 dentro do submenu */
.vs-mmenu__group--l2{border-bottom:1px solid #efefef}
.vs-mmenu__group--l2:last-child{border-bottom:0}
.vs-mmenu__item--sub{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  padding:12px 20px 12px 32px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--vs-font-display);font-weight:600;font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;color:#222}
.vs-mmenu__item--sub svg{width:14px;height:14px;color:#aaa;flex-shrink:0;transition:transform .25s ease}
.vs-mmenu__group--l2.is-open>.vs-mmenu__item--sub{color:#000}
.vs-mmenu__group--l2.is-open>.vs-mmenu__item--sub svg{transform:rotate(90deg);color:#000}
.vs-mmenu__item--sub:active{background:#f2f2f2}
/* lista de times (nivel 3 visual) */
.vs-mmenu__sub--l2{background:#f4f4f4;border-top:1px solid #ececec}
.vs-mmenu__sub--l2 a{padding:9px 20px 9px 44px;font-size:.85rem;color:#3a3a3a}
.vs-mmenu__all{font-weight:700 !important;color:#000 !important;letter-spacing:.02em}
/* lista simples (Lifestyle) */
.vs-mmenu__sub--flat a{display:block;padding:9px 20px 9px 32px;font-size:.875rem;color:#444}
.vs-mmenu__sub--flat a:active{background:#f2f2f2}

/* ===== VS-CARD-ADIDAS: cards do PLP alinhados e organizados ===== */
/* Todos os cards da linha tem a mesma altura e o conteudo comeca no mesmo ponto. */
.vs-grid{align-items:stretch}
.vs-card{display:flex;flex-direction:column;height:100%}
.vs-card__media{flex:0 0 auto}
.vs-card__body{padding-top:12px;display:flex;flex-direction:column;gap:2px;text-align:left;flex:1 1 auto}
/* preco primeiro, em destaque (padrao adidas) */
.vs-card__body .vs-price{order:1;margin:0 0 2px;font-size:.95rem;font-weight:700;color:var(--vs-ink);
  display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.vs-card__body .vs-price--now{font-weight:700;color:var(--vs-ink)}
.vs-card__body .vs-price--was{font-size:.8rem;font-weight:400;color:var(--vs-gray-500);text-decoration:line-through}
.vs-card__body .vs-price--off{font-size:.8rem;font-weight:700;color:var(--vs-sale)}
/* titulo ate 2 linhas; sem altura minima — a marca fica colada no nome (pedido 2026-08-07) */
.vs-card__name{order:2;font-size:.875rem;font-weight:400;color:var(--vs-ink);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* marca e meta em cinza, abaixo */
.vs-card__brand{order:3;font-size:.8rem;font-weight:400;color:var(--vs-gray-500);
  letter-spacing:0;text-transform:none;margin:0;line-height:1.3}
.vs-card__meta{order:4;font-size:.8rem;color:var(--vs-gray-500);line-height:1.3}
@media (max-width:760px){
  .vs-card__body{padding-top:10px}
  .vs-card__body .vs-price{font-size:.9rem}
  .vs-card__name{font-size:.82rem}
  .vs-card__brand,.vs-card__meta{font-size:.75rem}
}

/* ===== Filtros de categoria dentro da colecao (tag nativa do Shopify) ===== */
.vs-catfilter{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px}
.vs-catfilter__chip{display:inline-flex;align-items:center;padding:7px 16px;border:1px solid var(--vs-gray-300);
  border-radius:3px;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:var(--vs-ink);background:#fff;text-decoration:none;white-space:nowrap;
  transition:border-color .15s ease,background .15s ease,color .15s ease}
.vs-catfilter__chip:hover{border-color:var(--vs-ink)}
.vs-catfilter__chip.is-active{background:var(--vs-ink);border-color:var(--vs-ink);color:#fff}
@media (max-width:760px){
  .vs-catfilter{gap:6px;margin-bottom:16px;overflow-x:auto;flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .vs-catfilter::-webkit-scrollbar{display:none}
  .vs-catfilter__chip{padding:6px 13px;font-size:.74rem}
}

/* ===== VS-LOGO-ASPECTO =====
   A regra global `img{max-width:100%}` combinada com a coluna 1fr do grid do header
   espremia o logo na horizontal (aspecto 4.77 renderizando 3.38). Preserva a proporcao. */
.vs-header__logo{min-width:0}
.vs-header__logo img,.vs-logo-word{max-width:none;width:auto;flex-shrink:0}
/* Grid: logo pelo tamanho real, menu ocupa o meio sem invadir as laterais.
   Com `1fr auto 1fr` o menu (9 itens) transbordava e sobrepunha o logo (-9px). */
.vs-header__bar{grid-template-columns:auto minmax(0,1fr) auto}
.vs-nav{justify-self:center;min-width:0;flex-wrap:nowrap}
.vs-nav{gap:clamp(12px,1.5vw,24px)}
.vs-nav__link{white-space:nowrap}
@media (max-width:1180px){.vs-nav{gap:11px}.vs-nav__link{font-size:.82rem}}
.vs-footer__brand img{max-width:none;width:auto}
.vs-mmenu__logo img{max-width:none;width:auto}

/* ===== VS-HEADER-FIX =====
   1) Menu de 9 itens + busca de 150px nao cabiam: "NEW IN" sobrepunha o logo e
      "TRACK ORDER" sobrepunha a busca. Aperta busca e espacamento do menu.
   2) Mobile: burger a esquerda do logo (fora de .vs-header__actions no HTML). */
.vs-search input{width:110px}
@media (min-width:961px) and (max-width:1320px){
  .vs-nav{gap:13px}
  .vs-nav__link{font-size:.8rem}
  .vs-search input{width:84px}
  .vs-header__actions{gap:10px}
}
/* burger: escondido no desktop, primeiro item no mobile */
.vs-burger{display:none}
@media (max-width:1140px){
  .vs-header__bar{grid-template-columns:auto 1fr auto;gap:10px}
  .vs-burger{display:inline-flex;grid-column:1;justify-self:start;order:-1;margin-left:-6px}
  .vs-header__logo{grid-column:2;justify-self:start}
  .vs-header__actions{grid-column:3;justify-self:end}
}

/* ===== Size guide (painel lateral) ===== */
.vs-sizenote{border-left:2px solid var(--vs-ink);background:var(--vs-paper);padding:14px 16px;margin-bottom:22px;
  font-size:.85rem;line-height:1.55;color:var(--vs-gray-700)}
.vs-sizenote ul{margin:8px 0 0;padding-left:18px}
.vs-sizenote li{margin-bottom:4px}
.vs-sizenote strong{color:var(--vs-ink)}
.vs-sizenote__foot{margin:10px 0 0;font-size:.8rem;color:var(--vs-gray-500)}
.vs-sizetable-wrap{overflow-x:auto;padding-bottom:16px;-webkit-overflow-scrolling:touch}
.vs-sizetable{border-collapse:collapse;width:100%;min-width:460px;font-size:.8rem}
.vs-sizetable th,.vs-sizetable td{border:1px solid var(--vs-hairline);padding:8px 10px;text-align:center;white-space:nowrap}
.vs-sizetable thead th{background:var(--vs-ink);color:#fff;font-weight:700;letter-spacing:.03em}
.vs-sizetable tbody th{background:var(--vs-paper);text-align:left;font-weight:700}
.vs-sizetable__foot{margin:6px 0 0;font-size:.72rem;color:var(--vs-gray-500)}
.vs-sizehow{padding:2px 2px 18px;font-size:.85rem;line-height:1.6;color:var(--vs-gray-700)}
.vs-sizehow p{margin:0 0 9px}
.vs-sizehow strong{color:var(--vs-ink)}

/* ===== VS-PDP blocks: engraving =====
   Antes: caixas com borda solta, titulo desalinhado e "Athletic fit" longe do Size. */
/* aviso de caimento: nota discreta colada na opcao de tamanho */
.vs-opt .vs-truesize{display:flex;gap:7px;align-items:center;background:transparent;border:0;
  padding:10px 0 0;margin:0;font-size:.78rem;color:var(--vs-gray-700);white-space:normal}
.vs-opt .vs-truesize svg{width:15px;height:15px;flex:0 0 auto;color:var(--vs-gray-500)}
.vs-opt .vs-truesize strong{color:var(--vs-ink)}
.vs-opt .vs-truesize strong{font-weight:600}

/* --- Seletores de variante, redesenho 2026-08-08 ---
   O preenchimento preto do tamanho selecionado brigava com o ADD TO BAG (unico
   elemento que deve ser solido na pagina) e o rotulo tinha negrito em cima de
   negrito. Agora: rotulo em cinza discreto + valor em tinta, e a selecao marcada
   por CONTORNO. O preto volta a ser exclusivo do botao principal. */
/* name in ink, supporting text in grey */
.vs-opt__label{font-size:var(--vs-fs-sm);font-weight:700;letter-spacing:0;color:var(--vs-ink);text-transform:none}
.vs-opt__label em{font-style:normal;font-weight:400;color:var(--vs-gray-500);
  text-transform:none;letter-spacing:0}
.vs-opt__label b{font-weight:400}
.vs-opt__guide{font-size:.78rem;letter-spacing:.01em}

.vs-sizes{gap:8px}
.vs-size{min-width:46px;height:40px;padding:0 14px;border:1px solid var(--vs-hairline);
  background:#fff;color:var(--vs-ink);font-weight:500;font-size:.875rem;letter-spacing:.01em;
  transition:border-color var(--vs-dur-fast),box-shadow var(--vs-dur-fast)}
.vs-size:hover{border-color:var(--vs-gray-500)}
/* contorno duplo via inset: marca a selecao sem empurrar o layout 1px */
.vs-size[aria-pressed="true"]{border-color:var(--vs-ink);background:#fff;color:var(--vs-ink);
  box-shadow:inset 0 0 0 1px var(--vs-ink);font-weight:600}
.vs-size:focus-visible{outline:2px solid var(--vs-ink);outline-offset:2px}

/* bloco de personalizacao: cabecalho no mesmo padrao dos rotulos de opcao */
.vs-custom{border:0;border-top:1px solid var(--vs-hairline);margin:0 0 var(--vs-s5);padding-top:var(--vs-s5);animation:vsFade .22s ease}
@keyframes vsFade{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.vs-custom__head{margin-bottom:var(--vs-s3)}
.vs-custom__ttl{font-size:var(--vs-fs-sm);font-weight:700;letter-spacing:0;color:var(--vs-ink);text-transform:none}
.vs-custom__ttl em{font-style:normal;font-weight:700;color:var(--vs-ink);text-transform:none;letter-spacing:0;margin-left:4px}
.vs-custom__fields{padding:0}
.vs-custom__row{display:flex;gap:10px;align-items:flex-end}
.vs-custom__row label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--vs-gray-500)}
.vs-custom__num{max-width:88px;flex:0 0 auto}
.vs-custom__row input{height:46px;border:1px solid var(--vs-gray-300);border-radius:4px;padding:0 13px;
  font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:border-color .15s ease}
.vs-custom__row input::placeholder{color:#c2c2c2;font-weight:400;letter-spacing:.02em}
.vs-custom__row input:focus{border-color:var(--vs-ink);outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.vs-custom__hint{font-size:.72rem;color:var(--vs-gray-500);margin:9px 0 0}

/* ===== VS-BREADCRUMB-DISCRETO: menor, cinza, sem quebrar linha ===== */
.vs-breadcrumb{gap:6px;font-size:.72rem;letter-spacing:.02em;color:var(--vs-gray-500);
  padding-block:10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.vs-breadcrumb::-webkit-scrollbar{display:none}
.vs-breadcrumb a{color:var(--vs-gray-500)}
.vs-breadcrumb a:hover{color:var(--vs-ink)}
.vs-breadcrumb span{color:#d8d8d8}
.vs-breadcrumb__current{color:var(--vs-gray-700);font-weight:400;
  max-width:min(46vw,340px);overflow:hidden;text-overflow:ellipsis}
@media (max-width:600px){.vs-breadcrumb{font-size:.68rem;padding-block:8px}}

/* Coracao da wishlist: preenchido em preto quando ativo (era vermelho). */
/* ativo = coracao preenchido, SEM stroke: o path do icone e um contorno ja
   preenchido, e stroke em cima dele engorda e deforma o desenho */
.vs-wish[aria-pressed="true"] svg,.vs-wishbtn[aria-pressed="true"] svg,
.vs-wish[aria-pressed="true"] svg *,.vs-wishbtn[aria-pressed="true"] svg *{fill:var(--vs-ink);stroke:none}

/* ===== VS-HERO-COLADO =====
   O <main> tem padding-top (respiro das paginas internas), o que abria 24px
   entre o header e o banner na home. Zera so quando a primeira secao e o hero
   full-bleed; nas demais paginas o respiro continua. */
.vs-main:has(> .shopify-section:first-child .vs-hero){padding-top:0}

.vs-tiles .vs-tile__title{
  font-size:clamp(.95rem,1.5vw,1.25rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.005em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:0;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.vs-tiles .vs-tile__body{
  padding:var(--vs-s4);
  background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 45%,transparent 100%);
  min-height:38%;display:flex;align-items:flex-end;
}
/* imagem: enquadramento estavel, sem "pular" entre tiles */
.vs-tiles .vs-tile img{object-position:center 32%}
.vs-tiles .vs-tile{background:#efefef}
@media (max-width:560px){
  .vs-tiles .vs-tile__title{font-size:.9rem}
  .vs-tiles .vs-tile__body{padding:var(--vs-s3)}
}

/* ===== Texto de confianca da colecao (abre no "Show more") ===== */
.vs-plp__desc.is-open{max-width:1040px}
.vs-plp__desc .vs-plp__info{display:none;margin-top:18px}
.vs-plp__desc.is-open .vs-plp__info{display:block}
.vs-plp__info-col{margin:0 0 16px;color:var(--vs-gray-700)}
.vs-plp__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 56px;
  border-top:1px solid var(--vs-hairline);padding-top:20px;max-width:1000px}
.vs-plp__col h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;
  color:var(--vs-ink);margin:0 0 9px}
.vs-plp__col p{margin:0 0 8px;font-size:.86rem;line-height:1.6;color:var(--vs-gray-700)}
.vs-plp__col ul{margin:0;padding-left:17px}
.vs-plp__col li{font-size:.86rem;line-height:1.55;color:var(--vs-gray-700);margin-bottom:6px}
.vs-plp__col strong{color:var(--vs-ink);font-weight:700}
.vs-plp__col a{color:var(--vs-ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.vs-plp__cols{grid-template-columns:1fr;gap:18px}}

/* ===== VS-MARQUEE-GUTTER — recuo lateral nas esteiras da home =====
   Duas armadilhas aqui:
   1) padding no wrapper NAO cria margem: o overflow:hidden recorta no
      padding-box, entao o card continua aparecendo por cima. Tem que ser margin.
   2) cada secao declara .vs-marquee*{width:100%} num <style> INLINE, que vem
      depois deste arquivo no documento e vence no desempate. Por isso o seletor
      precisa de especificidade maior (0,2,0), senao 100%+margem estoura a
      largura do body e cria rolagem horizontal.
   48px = mesmo gutter do .vs-container. */
.shopify-section .vs-marquee-drops,
.shopify-section .vs-marquee{margin-inline:48px;width:auto}
@media (max-width:760px){
  .shopify-section .vs-marquee-drops,
  .shopify-section .vs-marquee{margin-inline:20px}
}

/* ===== VS-CUSTOM-V2 — personalizacao com abas e previa ===== */
.vs-custom__head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.vs-custom__ttl{font-weight:700;font-size:var(--vs-fs-sm);letter-spacing:0;text-transform:none}
.vs-custom__price{font-size:.78rem;font-weight:700;color:var(--vs-ink);background:var(--vs-paper);
  border:1px solid var(--vs-hairline);border-radius:3px;padding:2px 8px;letter-spacing:.04em}

.vs-custom__tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--vs-hairline)}
.vs-custom__tab{appearance:none;background:none;border:0;padding:9px 2px;margin-right:26px;cursor:pointer;
  font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:var(--vs-gray-500);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.vs-custom__tab:hover{color:var(--vs-ink)}
.vs-custom__tab.is-active{color:var(--vs-ink);border-bottom-color:var(--vs-ink)}

.vs-custom__panel{display:none}
.vs-custom__panel.is-active{display:block}
.vs-custom__row{display:grid;grid-template-columns:1fr 96px;gap:12px}
/* Na estrutura antiga o <label> ERA o rotulo minusculo (font-size:10px) e
   envolvia o input. Aqui o rotulo e um <span> separado, mas a regra antiga
   .vs-custom__row label continua casando com este <label> — e o font:inherit
   do input herdava os 10px. Reponho o tamanho normal no label. */
.vs-custom__row label.vs-custom__field{font-size:1rem;font-weight:400;
  letter-spacing:normal;text-transform:none;color:inherit;gap:0}
.vs-custom__field{display:block}
.vs-custom__lbl{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--vs-gray-500);margin-bottom:6px}
.vs-custom__field input,.vs-custom__select{width:100%;height:46px;padding:0 13px;font:inherit;
  color:var(--vs-ink);background:#fff;border:1px solid var(--vs-hairline);
  border-radius:4px;transition:border-color .15s}

.vs-custom__field input{font-size:.95rem;font-weight:600;letter-spacing:.06em}
/* o select e controle de interface, nao previa — peso e tamanho normais,
   senao "Select a player" fica maior que o proprio titulo do bloco. */
.vs-custom__select{font-size:.88rem;font-weight:500;letter-spacing:0;color:var(--vs-gray-700)}
.vs-custom__select:valid{color:var(--vs-ink)}
.vs-custom__select option{font-size:.9rem;font-weight:500;letter-spacing:0}
.vs-custom__field input::placeholder{color:#c4c4c4;font-weight:500;letter-spacing:.08em}
.vs-custom__field input:focus,.vs-custom__select:focus{outline:none;border-color:var(--vs-ink)}
.vs-custom__num input{text-align:center;letter-spacing:.12em}
.vs-custom__select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px}

   vence uma regra de classe com display:flex — sem isto a previa aparecia
   como um retangulo preto vazio antes de digitar qualquer coisa */

.vs-custom__hint{margin:12px 0 0;font-size:.76rem;color:var(--vs-gray-500)}
@media (max-width:520px){
  .vs-custom__row{grid-template-columns:1fr 78px}
  .vs-custom__tab{margin-right:18px;font-size:.75rem}
}

/* ===== VS-APPSEC — moldura das secoes de app (feed do Instagram) ===== */
.vs-appsec{padding:var(--vs-s7) 48px}
.vs-appsec--compact{padding-top:var(--vs-s5);padding-bottom:var(--vs-s5)}
.vs-appsec__head{display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;margin-bottom:var(--vs-s5)}
.vs-appsec__block{width:100%}
@media (max-width:760px){.vs-appsec{padding-left:20px;padding-right:20px}}

/* ===== VS-IG-GRID — grade do Instagram (nativa, sem app) ===== */
.vs-ig{padding:var(--vs-s7) 48px;border-top:1px solid var(--vs-hairline)}
.vs-ig__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:var(--vs-s5);flex-wrap:wrap}
.vs-ig__title .vs-eyebrow{margin:0 0 6px}
.vs-ig__title .vs-h2{margin:0}
.vs-ig__follow{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;font-weight:700;
  letter-spacing:.05em;color:var(--vs-ink);text-decoration:none;padding:9px 16px;
  border:1px solid var(--vs-ink);border-radius:999px;transition:background .15s,color .15s}
.vs-ig__follow:hover{background:var(--vs-ink);color:#fff}
.vs-ig__glyph{width:17px;height:17px;fill:currentColor;flex:0 0 auto}

.vs-ig__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.vs-ig__tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:4px;
  background:var(--vs-paper)}
.vs-ig__tile img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s cubic-bezier(.2,.6,.2,1)}
.vs-ig__tile:hover img{transform:scale(1.06)}
.vs-ig__ph{position:absolute;inset:0;background:var(--vs-paper)}
.vs-ig__hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.42);opacity:0;transition:opacity .25s}
.vs-ig__tile:hover .vs-ig__hover,.vs-ig__tile:focus-visible .vs-ig__hover{opacity:1}
.vs-ig__hover svg{width:28px;height:28px;fill:#fff}
.vs-ig__foot{margin-top:var(--vs-s5);text-align:center}
.vs-ig__foot .vs-btn{display:inline-flex}

@media (max-width:1100px){.vs-ig__grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){
  .vs-ig{padding-left:20px;padding-right:20px}
  .vs-ig__grid{grid-template-columns:repeat(3,1fr);gap:6px}
  .vs-ig__head{align-items:flex-start}
}

/* ===== carrossel do Instagram ===== */
.vs-ig__carousel{position:relative}
.vs-ig__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-padding-left:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.vs-ig__track::-webkit-scrollbar{display:none}
.vs-ig__track.is-dragging{scroll-behavior:auto;cursor:grabbing;scroll-snap-type:none}
.vs-ig__track>*{flex:0 0 auto;scroll-snap-align:start}

/* Card do Instagram em 9:16: cabecalho e barra de acoes vem do TEMA, o iframe
   entra so com o video, recortado.
   O iframe e cross-origin — nada la dentro aceita CSS. Para o reel encostar nas
   bordas, ele e dimensionado maior que a janela e o excedente e escondido:
   a area de midia do embed e 4:5 e o reel 9:16 deixa barra preta de ~14,8% da
   largura em cada lado, logo largura do iframe = janela / 0.703.
   O deslocamento vertical centraliza a midia na janela.
   --ig-card largura do card | --ig-topo altura do cabecalho do embed */
.vs-ig__tile--embed{--ig-card:300px;--ig-topo:54px;
  --ig-iw:calc(var(--ig-card) / 0.703);
  --ig-mh:calc(var(--ig-iw) * 1.25);
  width:var(--ig-card);aspect-ratio:9/16;height:auto;
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--vs-hairline);border-radius:10px;overflow:hidden}

.vs-ig__card-top{flex:0 0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:10px;padding:9px 11px}
.vs-ig__conta{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.vs-ig__tile .vs-ig__avatar{width:32px;height:32px;min-width:32px;border-radius:50%;
  object-fit:cover;flex:0 0 auto;border:1px solid var(--vs-hairline)}
.vs-ig__tile .vs-ig__avatar--txt{display:flex;align-items:center;justify-content:center;
  background:var(--vs-ink);color:#fff;font-weight:700;font-size:.85rem}
.vs-ig__conta-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.vs-ig__conta-nome{font-size:.82rem;font-weight:600;color:var(--vs-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-ig__conta-audio{font-size:.72rem;color:var(--vs-gray-500);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-ig__verperfil{flex:0 0 auto;font-size:.74rem;font-weight:700;color:#fff;background:#4f46e5;
  border-radius:6px;padding:6px 11px;text-decoration:none}
.vs-ig__verperfil:hover{background:#4338ca}

/* janela do video: ocupa a altura que sobra; o reel fica cheio na largura e
   aparado em cima/embaixo, em vez de ganhar barra preta nas laterais */
.vs-ig__video{flex:1 1 auto;position:relative;width:100%;min-height:0;
  overflow:hidden;background:#000}
.vs-ig__video iframe{position:absolute;left:50%;transform:translateX(-50%);border:0;
  width:var(--ig-iw);
  height:calc(var(--ig-topo) + var(--ig-mh) + 140px);
  top:calc(50% - var(--ig-topo) - (var(--ig-mh) / 2))}

/* barra de acoes: icones proprios, com traco uniforme. A linha inteira leva ao post. */
.vs-ig__acoes{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px 12px;text-decoration:none;color:var(--vs-ink)}
.vs-ig__acoes-esq{display:flex;align-items:center;gap:15px}
.vs-ig__acoes svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.vs-ig__acoes:hover svg{opacity:.55}
.vs-ig__salvar{margin-left:auto}
.vs-ig__track .vs-ig__tile:not(.vs-ig__tile--embed){width:240px;aspect-ratio:1/1}

.vs-ig__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--vs-hairline);
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--vs-ink);
  box-shadow:0 2px 14px rgba(0,0,0,.12);transition:opacity .2s,background .15s}
.vs-ig__nav svg{width:19px;height:19px}
.vs-ig__nav:hover:not(:disabled){background:var(--vs-ink);color:#fff}
.vs-ig__nav:disabled{opacity:0;pointer-events:none}
.vs-ig__nav--prev{left:-18px}
.vs-ig__nav--next{right:-18px}

@media (max-width:760px){
  .vs-ig__tile--embed{--ig-card:270px}
  .vs-ig__nav{display:none}
}
/* selo de reel na versao com imagem */
.vs-ig__reel{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;
  background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:2}
.vs-ig__reel svg{width:13px;height:13px;fill:#fff;margin-left:2px}

/* diferenca de preco: discreta, alinhada a direita do nome (padrao adidas) */

/* linha de parcelas — texto discreto, sem botao (padrao adidas) */
.vs-payterms{margin:18px 0 2px;font-size:.85rem;line-height:1.5;color:var(--vs-gray-700)}
/* Se a loja nao tiver Installments, o filtro nao imprime nada e o container fica
   vazio de verdade — ai sim o respiro some. NAO testar `shopify-payment-terms:empty`:
   o widget desenha em shadow DOM, entao ele casa com :empty mesmo renderizando,
   e a margem era zerada justamente quando devia existir. */
.vs-payterms:empty,
.vs-payterms:not(:has(shopify-payment-terms)){margin:0}
.vs-payterms shopify-payment-terms{display:block}

/* foto inteira, sem corte (pedido 2026-08-07: "a imagem nao pode ficar cortada") */

/* nome curvado (SVG) — top recalibrado apos tirar o zoom da foto (2026-08-07) */

/* numero */

/* --- variacoes por kit (metafield custom.kit_font) --- */

/* fontes reais: nome e numero na MESMA fonte do kit, sem bold sintetico */

/* grupo por posicao — a separacao que faltava entre sleeve e chest */

/* ============ CUSTOMIZE: bloco emoldurado, abas centralizadas ============ */
.vs-custom{border:1px solid var(--vs-hairline);border-top:1px solid var(--vs-hairline);
  padding:18px 18px 20px;margin:0 0 var(--vs-s5)}
.vs-custom__head{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:14px}
.vs-custom__tabs{justify-content:center;gap:0;margin-bottom:18px}
.vs-custom__tab{margin:0 18px;padding:10px 2px;font-size:.9rem;font-weight:700;
  letter-spacing:0;color:var(--vs-gray-500)}
.vs-custom__tab.is-active{color:var(--vs-ink);border-bottom-width:2px}
@media (max-width:600px){
  .vs-custom{padding:15px 14px 17px}
  .vs-custom__tab{margin:0 10px;font-size:.82rem}
}

/* Titulos da pagina de produto em caixa normal (pedido 2026-08-08). Precisa ser
   explicito: as regras antigas la em cima ainda mandam uppercase, e omitir a
   propriedade nao desfaz o que ja foi declarado. */
.vs-opt__label,.vs-custom__ttl{text-transform:none;letter-spacing:0}

/* ---- personalizacao dentro da gaveta (2026-08-08) ----
   A opcao de variante e os campos de nome/numero saem da coluna e passam a
   morar na gaveta. A caixa gigante do preview encolhe: dentro de um painel de
   440px ela nao precisa de 380px de foto nem de moldura propria. */
.vs-opt[data-opt-custom]{display:none}
/* o titulo da secao ja diz "Name & number": o rotulo da opcao viraria eco */

/* ---- You may also like: grade de 4 colunas descendo (2026-08-08) ----
   Nao e carrossel: e a mesma listagem da pagina de colecao, 4 por linha ate
   completar os 16. Titulo no mesmo padrao do "Real Customer Reviews". */
.vs-recs__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:var(--vs-s5)}
.vs-recs__ttl{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;margin:0;color:#111;
  letter-spacing:-.02em;text-transform:none}
.vs-recs__tools{display:flex;align-items:center;gap:18px}
.vs-recs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--vs-s6) var(--vs-s4)}
@media (max-width:900px){.vs-recs__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vs-s5) var(--vs-s3)}}

/* campos de nome/numero: o placeholder estava do tamanho de um titulo e a caixa
   alta demais pro painel. Reduz um degrau, sem perder area de toque. */
.vs-custom__field input,.vs-custom__select{height:42px;padding:0 12px}
.vs-custom__field input{font-size:.85rem;letter-spacing:.04em}
.vs-custom__field input::placeholder{font-size:.8rem;letter-spacing:.05em}
.vs-custom__num input{letter-spacing:.08em}
.vs-custom__lbl{font-size:.64rem}
@media (max-width:600px){.vs-custom__field input,.vs-custom__select{height:40px}}

.vs-size__extra{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--vs-ink)}

/* divisao entre "Type your own" e "Choose a player": um fio vertical no meio do
   vao entre as duas abas — sao dois caminhos diferentes, nao um continuo */
.vs-custom__tab{position:relative}
.vs-custom__tab + .vs-custom__tab::before{content:"";position:absolute;left:-14px;
  top:50%;transform:translateY(-50%);width:1px;height:18px;background:var(--vs-hairline)}
@media (max-width:600px){.vs-custom__tab + .vs-custom__tab::before{left:-10px;height:15px}}

.vs-pdp__info form{display:flex;flex-direction:column}
.vs-pdp__info form > *{order:3}
.vs-pdp__info form > script,
.vs-pdp__info form > input{order:0}
.vs-pdp__info form > .vs-opt[data-opt-group]{order:2}

/* size chart com mais presenca: sai do cinza apagado e ganha peso */
.vs-opt__guide{font-size:.82rem;font-weight:600;color:var(--vs-ink);
  text-decoration:none;border-bottom:1px solid var(--vs-ink);padding-bottom:1px;
  letter-spacing:.01em;transition:opacity .15s}
.vs-opt__guide:hover{opacity:.6;color:var(--vs-ink)}
.vs-opt__guide:focus-visible{outline:2px solid var(--vs-ink);outline-offset:3px}

/* ---- um so padrao de superficie dentro da gaveta (2026-08-08) ----
   As linhas de opcao tinham moldura forte e os campos logo abaixo nao tinham
   marcacao nenhuma — pareciam de sistemas diferentes. Agora TUDO usa a mesma
   regra: caixa quadrada de 1px hairline; quando esta ativo/selecionado, contorno
   preto duplo (borda + inset). Nada de raio de canto em um e nao no outro. */
.vs-custom__field input,.vs-custom__select{border:1px solid var(--vs-hairline);border-radius:0}
.vs-custom__field input:focus,.vs-custom__select:focus{border-color:var(--vs-ink);
  box-shadow:inset 0 0 0 1px var(--vs-ink)}

/* ---- Version, Personalize e Size no mesmo sistema (2026-08-08) ----
   A caixa de Version era o ponto fora da curva: cantos arredondados (3px),
   borda de 2px quando selecionada e uma barra preta a esquerda que nenhum
   outro elemento da pagina tem. Passa a usar a MESMA marcacao do resto:
   quadrado, 1px hairline e, quando ativo, contorno preto duplo (borda + inset).
   Assim Version, Personalize, Size e as linhas da gaveta viram um so sistema. */
/* Personalize com a MESMA altura do card de Version: la a altura vem da foto de
   74px + 13px de padding em cima e embaixo = 100px. Fixo isso como min-height em
   vez de repetir o numero solto, pra os dois ficarem colados no mesmo valor. */

/* Texto do Personalize com a MESMA tipografia do card de Version: titulo em
   .95rem/700 (igual .vs-jtype__name) e a linha de apoio em .84rem no cinza-700
   (igual .vs-jtype__desc). Antes era um degrau menor nos dois e num cinza mais
   claro, o que fazia a caixa parecer de outra familia. */

/* ---- abas Details e Care + aviso da personalizacao (2026-08-08) ---- */
/* !important porque `.vs-rte ul{list-style:disc}` vem depois na cascata e
   estava somando a bolinha nativa a minha, virando duas por linha */
.vs-spec__list,.vs-care__list{list-style:none!important;padding-left:0!important;margin:0}
.vs-spec__list{columns:2;column-gap:32px}
.vs-spec__list li{break-inside:avoid;padding:0 0 9px 14px;position:relative;font-size:.88rem;
  color:var(--vs-gray-700);line-height:1.45}
.vs-spec__list li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;
  border-radius:50%;background:var(--vs-gray-500)}
.vs-care{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.vs-care__ttl{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--vs-ink)}
.vs-care__list{list-style:none;margin:0;padding:0}
.vs-care__list li{padding:0 0 8px 14px;position:relative;font-size:.88rem;
  color:var(--vs-gray-700);line-height:1.45}
.vs-care__list li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;
  border-radius:50%;background:var(--vs-gray-500)}
@media (max-width:600px){.vs-spec__list{columns:1}.vs-care{grid-template-columns:1fr;gap:20px}}

/* aviso da personalizacao: visivel no topo da gaveta, mas sem alarmar */

/* itens de lavagem com simbolo: o icone substitui a bolinha */
/* `.vs-care__list li::before` tem especificidade maior que `.vs-care__item::before`
   (classe + elemento contra classe so), entao a bolinha sobrevivia ao lado do
   simbolo. Preciso casar os dois seletores pra vencer. */
.vs-care__list li.vs-care__item{display:flex;align-items:center;gap:9px;padding:0 0 9px 0}
.vs-care__list li.vs-care__item::before{content:none;display:none}
.vs-care__ic{flex:0 0 auto;width:19px;height:19px;color:var(--vs-ink)}
.vs-care__ic svg{width:100%;height:100%;display:block}

/* ---- Size and fit ---- */
/* os acordeoes vivem na coluna estreita da PDP: uma foto de 260px espremia o
   texto num filete. Miniatura pequena ao lado, texto com espaco pra respirar. */
.vs-fit{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:start}

.vs-fit__img{background:#fff;aspect-ratio:1/1;overflow:hidden}
.vs-fit__img img{width:100%;height:100%;object-fit:contain;display:block}
.vs-fit__txt p{margin:0 0 12px;font-size:.86rem;line-height:1.5;color:var(--vs-gray-700)}
.vs-fit__txt strong{color:var(--vs-ink)}
.vs-fit__guide{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:.85rem;
  font-weight:700;color:var(--vs-ink);cursor:pointer;border-bottom:1px solid var(--vs-ink)}
.vs-fit__guide:hover{opacity:.6}
.vs-fit__guide:focus-visible{outline:2px solid var(--vs-ink);outline-offset:3px}
@media (max-width:600px){.vs-fit{grid-template-columns:92px 1fr;gap:14px}}

/* avisos da personalizacao: presentes no topo da gaveta, mas sem virar alerta */

/* ================= SACOLA (2026-08-08) =================================
   Painel "Added to Bag" no gesto da Nike + pagina no layout da adidas com a
   estrutura de informacao da Nike. A gaveta antiga continua no tema, mas saiu
   do fluxo: o icone do header agora leva para a pagina. */

/* ---- painel de confirmacao ---- */
.vs-added{position:fixed;top:calc(var(--vs-header-h) + 10px);right:16px;z-index:1300;
  width:min(92vw,376px);background:#fff;border:1px solid var(--vs-hairline);
  box-shadow:0 14px 40px rgba(0,0,0,.14);
  opacity:0;transform:translateY(-10px);transition:opacity .22s var(--vs-ease),transform .22s var(--vs-ease)}
.vs-added[hidden]{display:none}
.vs-added.is-open{opacity:1;transform:none}
.vs-added__head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px 11px;border-bottom:1px solid var(--vs-hairline)}
.vs-added__ok{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:var(--vs-ink)}
.vs-added__ok svg{width:16px;height:16px;color:#1f7a4d}
.vs-added__x{appearance:none;background:none;border:0;padding:2px;cursor:pointer;color:var(--vs-gray-500)}
.vs-added__x svg{width:16px;height:16px;display:block}
.vs-added__x:hover{color:var(--vs-ink)}
.vs-added__promo[hidden]{display:none}
.vs-added__promo{padding:0 14px}
.vs-added__promo .vs-bundle__notice{font-size:.78rem;padding:9px 11px}
.vs-added__promo .vs-bundle__steps{margin:10px 0 0}
.vs-added__body{display:flex;gap:12px;padding:14px}
.vs-added__img{width:72px;height:72px;object-fit:contain;background:#fff;flex:0 0 auto;
  border:1px solid var(--vs-hairline)}
.vs-added__txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.vs-added__name{font-size:.85rem;font-weight:600;line-height:1.3;color:var(--vs-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vs-added__meta{font-size:.78rem;color:var(--vs-gray-500)}
.vs-added__price{font-size:.85rem;font-weight:700;margin-top:2px}
.vs-added__acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}
.vs-added__btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;
  padding:0 12px;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  background:var(--vs-ink);color:#fff;border:1px solid var(--vs-ink);text-decoration:none;
  transition:opacity .15s}
.vs-added__btn:hover{opacity:.85}
.vs-added__btn--ghost{background:#fff;color:var(--vs-ink)}
.vs-added__btn--ghost:hover{background:var(--vs-paper);opacity:1}
/* No celular o painel nasce EMBAIXO: e onde o polegar esta e nao cobre o produto
   que a pessoa acabou de olhar. A entrada tambem inverte — sobe em vez de descer. */
@media (max-width:760px){
  .vs-added{top:auto;bottom:12px;left:10px;right:10px;width:auto;transform:translateY(14px);
    box-shadow:0 -8px 32px rgba(0,0,0,.16)}
  .vs-added.is-open{transform:none}
  /* se a barra fixa de comprar estiver na tela, o painel sobe acima dela */
  .vs-sticky-atc:not([hidden]) ~ .vs-added,
  body:has(.vs-sticky-atc:not([hidden])) .vs-added{bottom:calc(64px + 12px)}
}

/* ---- pagina da sacola ---- */
.vs-bag{padding-block:var(--vs-s6) var(--vs-s8)}
.vs-bag__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start}
.vs-bag__head{display:flex;align-items:baseline;gap:12px;margin-bottom:var(--vs-s4)}
.vs-bag__title{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;letter-spacing:-.02em;margin:0}
.vs-bag__count{font-size:.9rem;color:var(--vs-gray-500)}
.vs-bag__ship{margin-bottom:var(--vs-s5)}
.vs-bag__ship p{margin:0 0 8px;font-size:.85rem;color:var(--vs-gray-700)}
.vs-bag__ship strong{color:var(--vs-ink)}
.vs-bag__bar{height:3px;background:var(--vs-hairline);overflow:hidden}
.vs-bag__bar span{display:block;height:100%;background:var(--vs-ink);transition:width .3s var(--vs-ease)}

.vs-bagline{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;
  padding:20px 0;border-top:1px solid var(--vs-hairline)}
/* O 1/1 tem que estar na CAIXA, nao na imagem: como item de grid ela esticava
   ate a altura da linha (96x137 no mobile) e o `height:100%` da img anulava o
   aspect-ratio dela. `align-self:start` impede o esticao. */
.vs-bagline__media{display:block;background:#fff;border:1px solid var(--vs-hairline);
  aspect-ratio:1/1;align-self:start}
.vs-bagline__media img{width:100%;height:100%;object-fit:contain;display:block}
.vs-bagline__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.vs-bagline__name{font-size:.95rem;font-weight:700;color:var(--vs-ink);text-decoration:none;line-height:1.3}
.vs-bagline__name:hover{text-decoration:underline}
.vs-bagline__sub{font-size:.84rem;color:var(--vs-gray-500)}
.vs-bagline__spec{font-size:.84rem;color:var(--vs-gray-700)}
.vs-bagline__spec strong{color:var(--vs-ink);font-weight:600}
.vs-bagline__tools{display:flex;align-items:center;gap:16px;margin-top:10px}
.vs-bagline__qty{display:inline-flex;align-items:center;border:1px solid var(--vs-hairline)}
.vs-bagline__qty button{appearance:none;background:none;border:0;width:34px;height:34px;cursor:pointer;
  font-size:1rem;line-height:1;color:var(--vs-ink)}
.vs-bagline__qty button:hover{background:var(--vs-paper)}
.vs-bagline__qty span{min-width:26px;text-align:center;font-size:.86rem;font-weight:600}
.vs-bagline__rm{appearance:none;background:none;border:0;padding:0;cursor:pointer;font:inherit;
  font-size:.82rem;color:var(--vs-gray-500);text-decoration:underline}
.vs-bagline__rm:hover{color:var(--vs-ink)}
.vs-bagline__price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:3px}
.vs-bagline__now{font-size:.95rem;font-weight:700}
.vs-bagline__was{font-size:.82rem;color:var(--vs-gray-500);text-decoration:line-through}
.vs-bag__continue{display:inline-block;margin-top:22px;font-size:.85rem;font-weight:700;
  color:var(--vs-ink);border-bottom:1px solid var(--vs-ink);padding-bottom:1px;text-decoration:none}
.vs-bag__continue:hover{opacity:.6}

.vs-sum{border:1px solid var(--vs-hairline);padding:22px;position:sticky;
  top:calc(var(--vs-header-h) + 16px)}
.vs-sum__title{font-size:1.05rem;font-weight:700;margin:0 0 16px}
.vs-sum__row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:.88rem;
  color:var(--vs-gray-700)}
.vs-sum__row span:last-child{color:var(--vs-ink);font-weight:500}
.vs-sum__muted{color:var(--vs-gray-500)!important;font-weight:400!important;font-size:.82rem}
.vs-sum__row--save span:last-child{color:var(--vs-sale)}
.vs-sum__total{display:flex;justify-content:space-between;gap:14px;margin-top:12px;padding-top:14px;
  border-top:1px solid var(--vs-hairline);font-size:1rem;font-weight:700}
.vs-sum__checkout{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:18px;
  background:var(--vs-ink);color:#fff;font-size:.88rem;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;text-decoration:none;transition:opacity .15s}
.vs-sum__checkout:hover{opacity:.85}
.vs-sum__checkout--inline{display:inline-flex;padding-inline:26px;margin-top:22px}
.vs-sum__note{margin:10px 0 0;font-size:.76rem;color:var(--vs-gray-500);text-align:center}
.vs-sum__trust{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--vs-hairline);
  display:grid;gap:6px}
.vs-sum__trust li{font-size:.78rem;color:var(--vs-gray-700);padding-left:14px;position:relative}
.vs-sum__trust li::before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;
  border-radius:50%;background:var(--vs-gray-500)}
.vs-sum__pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.vs-sum__pay .vs-pay-ic{height:22px;width:auto}
.vs-bag__empty{padding:60px 0 90px;text-align:center}
.vs-bag__empty p{color:var(--vs-gray-500);margin:10px 0 0}

@media (max-width:900px){
  .vs-bag__grid{grid-template-columns:1fr;gap:32px}
  .vs-sum{position:static}
  .vs-bagline{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .vs-bagline__price{grid-column:2;text-align:left;flex-direction:row;align-items:baseline;gap:8px}
}

/* ---- estimador de imposto + checkout dinamico na sacola ---- */
.vs-sum__taxfrom{margin:-2px 0 8px;font-size:.75rem;color:var(--vs-gray-500);line-height:1.4}
.vs-sum__taxfrom a{color:var(--vs-ink);text-decoration:underline}
.vs-sum__checkout{border:0;width:100%;cursor:pointer;font-family:inherit}
  font-weight:700!important;letter-spacing:.03em}
  text-decoration:underline;color:var(--vs-gray-700)}

/* ---- cupom na sacola ---- */
.vs-promo{border-bottom:1px solid var(--vs-hairline);margin:0 0 10px;padding-bottom:4px}
.vs-promo__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  appearance:none;background:none;border:0;padding:10px 0;cursor:pointer;font:inherit;
  font-size:.86rem;font-weight:600;color:var(--vs-ink);text-align:left}
.vs-promo__toggle svg{width:16px;height:16px;flex:0 0 auto;transition:transform .18s var(--vs-ease)}
.vs-promo.is-open .vs-promo__toggle svg{transform:rotate(180deg)}
.vs-promo__body[hidden]{display:none}
.vs-promo__row{display:flex;gap:8px;padding-bottom:8px}
.vs-promo__row input{flex:1;min-width:0;font:inherit;font-size:.85rem;padding:0 11px;height:42px;
  border:1px solid var(--vs-hairline);background:#fff;color:var(--vs-ink)}
.vs-promo__row input:focus{outline:none;border-color:var(--vs-ink);box-shadow:inset 0 0 0 1px var(--vs-ink)}
.vs-promo__apply{appearance:none;height:42px;padding:0 18px;cursor:pointer;font:inherit;
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  background:#fff;color:var(--vs-ink);border:1px solid var(--vs-ink);transition:background .15s}
.vs-promo__apply:hover{background:var(--vs-ink);color:#fff}
.vs-promo__apply:disabled{opacity:.5;cursor:default}
.vs-promo__msg{margin:0 0 8px;font-size:.78rem;color:var(--vs-sale)}
.vs-promo__on{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 11px;margin:8px 0 2px;background:var(--vs-paper);font-size:.82rem}
.vs-promo__code{font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.vs-promo__val{color:var(--vs-sale);font-weight:700}

/* ---- recomendacoes na sacola ---- */
.vs-bagrecs{margin-top:64px;padding-top:36px;border-top:1px solid var(--vs-hairline)}
.vs-bagrecs__ttl{font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:700;letter-spacing:-.01em;margin:0 0 22px}
.vs-bagrecs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--vs-s6) var(--vs-s4)}
@media (max-width:900px){.vs-bagrecs__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vs-s5) var(--vs-s3)}}

/* Um unico botao de checkout dinamico: o Shopify renderiza todas as carteiras
   habilitadas (Shop Pay, PayPal, Google/Apple Pay) empilhadas. Como so as
   carteiras SUPORTADAS pelo navegador chegam a renderizar, mostrar a primeira ja
   entrega "o checkout que o cliente usa" — Apple Pay no Safari, Google Pay no
   Chrome — sem uma pilha de quatro botoes competindo com o CHECKOUT principal. */

/* ---- cupom da casa: faixa de largura total no topo, como a Nike ---- */
/* fica colada no cabecalho: anula o padding-top do .vs-main */
.vs-bagpromo{display:block;margin:calc(var(--vs-s5) * -1) 0 var(--vs-s5);
  padding:14px 20px;text-align:center;background:var(--vs-paper);
  border-top:1px solid var(--vs-hairline);border-bottom:1px solid var(--vs-hairline);
  color:var(--vs-ink);font-size:.86rem;line-height:1.4;text-decoration:none}
.vs-bagpromo b{font-weight:700;letter-spacing:.03em}
.vs-bagpromo:hover{background:#efefef}
.vs-bagpromo:hover b{text-decoration:underline}

/* ---- promocao por quantidade: mesma barra de progresso do frete gratis ---- */
.vs-deals{margin:0 0 var(--vs-s5);padding-bottom:var(--vs-s5);border-bottom:1px solid var(--vs-hairline)}
.vs-deals > p{margin:0 0 10px;font-size:.86rem;line-height:1.45;color:var(--vs-gray-700)}
.vs-deals strong{color:var(--vs-ink);font-weight:700}
.vs-deals__bar{display:flex;align-items:center;gap:10px}
.vs-deals__bar > span{flex:1;height:5px;background:var(--vs-hairline);overflow:hidden;position:relative}
.vs-deals__bar i{display:block;height:100%;background:var(--vs-ink);transition:width .3s var(--vs-ease)}
/* traco do degrau intermediario, desenhado por cima do preenchimento */
.vs-deals__bar u{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;
  background:#fff;text-decoration:none}
.vs-deals__bar b{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--vs-gray-500);white-space:nowrap}
.vs-deals.is-half .vs-deals__bar i,
.vs-deals.is-max .vs-deals__bar i{background:#1f7a4d}
.vs-deals.is-max .vs-deals__bar b{color:#1f7a4d}
.vs-deals__note{margin:10px 0 0;font-size:.78rem;color:var(--vs-gray-500)}

/* ---- frete gratis no resumo, logo acima do botao ---- */
.vs-freeship{margin:14px 0 16px}
.vs-freeship p{margin:0 0 10px;font-size:.82rem;line-height:1.45;color:var(--vs-gray-700)}
.vs-freeship strong{color:var(--vs-ink);font-weight:700}
.vs-freeship__bar{display:flex;align-items:center;gap:10px}
.vs-freeship__bar > span{flex:1;height:5px;background:var(--vs-hairline);overflow:hidden}
.vs-freeship__bar i{display:block;height:100%;background:#1f7a4d;transition:width .3s var(--vs-ease)}
.vs-freeship__bar b{font-size:.76rem;font-weight:700;color:var(--vs-gray-700);white-space:nowrap}
.vs-freeship.is-done p{color:var(--vs-ink)}

/* ---- dica dentro da aba de cupom ---- */
.vs-promo__hint{margin:0 0 8px;font-size:.75rem;color:var(--vs-gray-500)}

/* ---- correcoes da auditoria (2026-08-09) ---- */
/* H1 fora da tela mas legivel por leitor de tela (nao usa display:none) */
.vs-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* WCAG 2.2 AA (2.5.8): alvo de toque minimo 24x24. Cresce a AREA CLICAVEL sem
   mudar o desenho — por isso padding + margin negativa, e nao width/height. */
.vsr__dot{position:relative}
.vsr__dot::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:24px;height:24px}
.vs-opt__guide,.vs-plp__more,.vs-fit__guide{padding-block:4px}

/* ---- pagina da wishlist ---- */
/* `vs-wishpage` e nao `vs-wish`: esse ultimo ja e o coracao do card, absoluto */
.vs-wishpage{padding-top:var(--vs-s6)}
.vs-wishpage__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--vs-s6) var(--vs-s4)}
@media (max-width:900px){.vs-wishpage__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vs-s5) var(--vs-s3)}}
.vs-wishcard{position:relative;display:flex;flex-direction:column}
.vs-wishcard__media{display:block;background:#fff;aspect-ratio:1/1;overflow:hidden;margin-bottom:12px}
.vs-wishcard__media img{width:100%;height:100%;object-fit:contain;display:block}
.vs-wishcard__body{display:flex;flex-direction:column;gap:6px;flex:1}
.vs-wishcard__name{font-size:.86rem;font-weight:500;line-height:1.3;color:var(--vs-ink);text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vs-wishcard__name:hover{text-decoration:underline}
.vs-wishcard__price{display:flex;gap:8px;align-items:baseline;font-size:.88rem}
.vs-wishcard__now{font-weight:700}
.vs-wishcard__was{color:var(--vs-gray-500);text-decoration:line-through;font-size:.8rem}
.vs-wishcard__cta{margin-top:auto;text-align:center;font-size:.78rem;padding:11px 14px}
.vs-wishcard__out{margin-top:auto;font-size:.8rem;color:var(--vs-gray-500)}
/* o X fica sobre a foto, com area de toque de 32px (WCAG 2.5.8) */
.vs-wishcard__rm{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;
  background:#fff;border:1px solid var(--vs-hairline);color:var(--vs-ink);cursor:pointer;padding:0}
.vs-wishcard__rm:hover{background:var(--vs-ink);color:#fff;border-color:var(--vs-ink)}
.vs-wishpage__empty{padding:var(--vs-s7) 0;max-width:34ch}
.vs-wishpage__empty p{margin:0 0 8px;font-size:.92rem;line-height:1.5;color:var(--vs-gray-700)}
.vs-wishpage__empty .vs-btn{margin-top:14px}
/* contador do coracao no cabecalho: mesma linguagem do contador da sacola */
.vs-wish-count{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;
  display:flex;align-items:center;justify-content:center;background:var(--vs-ink);color:#fff;
  font-size:.62rem;font-weight:700;border-radius:999px;line-height:1}

/* Seletor de familia (Hombre / Manga Larga / Player / Niños...). Substituiu os
   dois cartoes grandes do vs-jtype: mesma funcao em 1/4 da altura. */
.vs-fam{margin:2px 0 18px}
.vs-fam__title{display:block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#767677;margin-bottom:9px}
.vs-fam__row{display:flex;flex-wrap:wrap;gap:6px}
.vs-fam__opt{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:1px solid #dcdcde;border-radius:4px;
  background:#fff;color:#1a1a1a;font-size:12.5px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}
a.vs-fam__opt:hover{border-color:#1a1a1a}
.vs-fam__opt.is-on{background:#111;border-color:#111;color:#fff;cursor:default}
.vs-fam__opt.is-out{color:#9a9a9c;border-style:dashed}
.vs-fam__opt.is-out .vs-fam__d{color:#9a9a9c}
.vs-fam__d{font-style:normal;font-size:11.5px;font-weight:600;color:#767677}
.vs-fam__d--menos{color:#0a7d3f}
@media(max-width:749px){.vs-fam__opt{height:32px;font-size:12px;padding:0 12px}}

/* ============================================================================
   LUMORA — nav à esquerda, logo centralizada (troca a posição herdada do
   V Store, que tinha o logo à esquerda e o menu no centro).
   ============================================================================ */
.vs-header__logo{grid-column:2;justify-self:center}
.vs-nav{grid-column:1;justify-self:start}
.vs-nav__link--active{border-bottom-color:currentColor}

/* ---- Header transparente sobre o hero (home) → branco ao rolar ---------- */
.vs-header__logo{position:relative;display:inline-flex;align-items:center}
.vs-header__logo-img{display:block;height:30px;width:auto;transition:opacity var(--vs-dur) var(--vs-ease)}
.vs-header__logo-img--black{position:absolute;left:0;top:50%;transform:translateY(-50%)}

.template-index .vs-main{padding-top:0}
.template-index .vs-header{
  position:fixed;top:var(--vs-ann-h);left:0;right:0;width:100%;
  background:transparent;border-bottom-color:transparent;
  transition:background var(--vs-dur) var(--vs-ease),border-color var(--vs-dur) var(--vs-ease),top var(--vs-dur) var(--vs-ease);
}
.template-index .vs-header .vs-header__logo-img--cream{opacity:1}
.template-index .vs-header .vs-header__logo-img--black{opacity:0}
.template-index .vs-header .vs-nav__link,
.template-index .vs-header .vs-iconbtn,
.template-index .vs-header .vs-burger,
.template-index .vs-header .vs-search input{color:var(--vs-cream)}
.template-index .vs-header .vs-nav__link:hover{border-bottom-color:var(--vs-cream)}
.template-index .vs-header .vs-search{background:rgba(255,255,255,.14)}
.template-index .vs-header .vs-search input::placeholder{color:rgba(255,251,242,.7)}
.template-index .vs-header .vs-search:focus-within{border-color:var(--vs-cream)}

.template-index .vs-header.is-scrolled{top:0;background:var(--vs-white);border-bottom-color:var(--vs-hairline)}
.template-index .vs-header.is-scrolled .vs-header__logo-img--cream{opacity:0}
.template-index .vs-header.is-scrolled .vs-header__logo-img--black{opacity:1}
.template-index .vs-header.is-scrolled .vs-nav__link,
.template-index .vs-header.is-scrolled .vs-iconbtn,
.template-index .vs-header.is-scrolled .vs-burger,
.template-index .vs-header.is-scrolled .vs-search input{color:var(--vs-ink)}
.template-index .vs-header.is-scrolled .vs-nav__link:hover{border-bottom-color:var(--vs-ink)}
.template-index .vs-header.is-scrolled .vs-search{background:var(--vs-paper)}
.template-index .vs-header.is-scrolled .vs-search input::placeholder{color:var(--vs-gray-500)}

/* ---- Hero da home: vídeo full-bleed com conteúdo centralizado ------------ */
.template-index .vs-hero{min-height:100vh}
.template-index .vs-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.15) 40%,rgba(0,0,0,.35));pointer-events:none}
.template-index .vs-hero__inner{position:absolute;inset:0;left:0;right:0;bottom:0;padding-block:0;display:flex;align-items:center;justify-content:center}
.template-index .vs-hero__content{max-width:640px;text-align:center;display:flex;flex-direction:column;align-items:center}
.template-index .vs-hero__title{
  font-family:var(--vs-font-ui);font-weight:500;text-transform:uppercase;
  letter-spacing:.32em;font-size:clamp(1.6rem,4vw,3rem);color:var(--vs-cream);
  position:relative;padding-bottom:22px;margin-bottom:var(--vs-s4);
}
.template-index .vs-hero__title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64px;height:1px;background:rgba(255,251,242,.55)}
.template-index .vs-hero__cta{justify-content:center}
.template-index .vs-hero .vs-btn--light{background:var(--vs-gold);border-color:var(--vs-gold);color:#171310;letter-spacing:.16em}
.template-index .vs-hero .vs-btn--light:hover{background:transparent;color:var(--vs-cream);border-color:var(--vs-cream)}
.template-index .vs-hero .vs-btn--light::after{display:none}
@media (max-width:600px){.template-index .vs-hero__title{letter-spacing:.22em}}
