:root{
  --ink:#0a0a0a;
  --ink-soft:#5a5a5a;
  --paper:#f4f4f4;
  --line:#e0e0e0;
  --white:#ffffff;
  --orange:#ff6a00;
  --orange-deep:#e35e00;
  --radius:3px;
  --header-h:104px;
  --font-display:"Bebas Neue",sans-serif;
  --font-body:"Poppins","Segoe UI",sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.5;}
body.no-scroll{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:0.02em;margin:0;}

/* ---------- TOP BAR ---------- */
.top-bar{background:var(--ink);color:rgba(255,255,255,0.75);display:flex;justify-content:center;gap:28px;
  padding:7px 16px;font-size:12px;font-weight:600;flex-wrap:wrap;}
.top-bar a:hover{color:var(--orange);}

/* ---------- HEADER ---------- */
header.site{background:var(--ink);position:sticky;top:0;z-index:200;}
.head-row{display:flex;align-items:center;gap:16px;padding:10px 16px;max-width:1280px;margin:0 auto;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.brand img{height:36px;width:auto;}
.brand span{font-family:var(--font-display);font-size:1.5rem;letter-spacing:0.06em;color:#fff;}
.brand span em{color:var(--orange);font-style:normal;}
.search-wrap{flex:1;position:relative;max-width:520px;margin:0 auto;min-width:180px;}
.search-wrap input{width:100%;height:44px;padding:0 42px 0 14px;border-radius:var(--radius);border:none;
  font-family:inherit;font-size:0.92rem;background:#1c1c1c;color:#fff;}
.search-wrap input::placeholder{color:#8a8a8a;}
.search-wrap input:focus{outline:2px solid var(--orange);background:#222;}
.search-wrap .bx-search{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#9a9a9a;font-size:1.15rem;pointer-events:none;}
.search-sugestoes{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(0,0,0,0.25);z-index:60;overflow:hidden;display:none;max-height:360px;overflow-y:auto;}
.search-sugestoes.on{display:block;}
.sugestao-item{display:flex;gap:12px;align-items:center;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line);min-height:44px;}
.sugestao-item:last-child{border-bottom:none;}
.sugestao-item:hover{background:var(--paper);}
.sugestao-item img{width:38px;height:38px;object-fit:cover;background:var(--paper);}
.sugestao-item strong{display:block;font-size:0.82rem;font-weight:600;color:var(--ink);}
.sugestao-item span{font-size:0.76rem;color:var(--orange);font-weight:700;}
.head-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.icon-btn{position:relative;width:44px;height:44px;border-radius:var(--radius);border:none;background:transparent;
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;cursor:pointer;color:#fff;}
.icon-btn:hover{background:rgba(255,255,255,0.1);}
.icon-btn .count{position:absolute;top:2px;right:2px;background:var(--orange);color:#fff;font-size:0.6rem;
  font-weight:800;min-width:16px;height:16px;border-radius:50%;display:none;align-items:center;justify-content:center;padding:0 3px;}
.icon-btn .count.on{display:flex;}
.menu-toggle{display:none;width:44px;height:44px;border-radius:var(--radius);border:none;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer;}

/* category tabs (agora rolam até a seção) */
.cat-nav{background:#151515;border-top:1px solid #262626;overflow-x:auto;scrollbar-width:none;}
.cat-nav::-webkit-scrollbar{display:none;}
.cat-nav-inner{display:flex;gap:2px;max-width:1280px;margin:0 auto;width:max-content;min-width:100%;}
.cat-tab{border:none;background:transparent;color:rgba(255,255,255,0.65);padding:13px 20px;font-size:0.8rem;
  font-weight:700;text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;min-height:44px;}
.cat-tab:hover{color:#fff;}
.cat-tab.ativo{color:var(--orange);border-bottom-color:var(--orange);}

/* ---------- TRUST BAR ---------- */
.trust-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:26px;background:var(--paper);
  padding:10px 20px;font-size:0.78rem;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.trust-bar b{color:var(--ink);}

/* ---------- SLIDERS (hero + banners de categoria) ---------- */
.hero-slider,.cat-banner-media{position:relative;overflow:hidden;background:var(--ink);touch-action:pan-y;}
.slider-track{display:flex;transition:transform .4s ease;}
.slider-track .slide{min-width:100%;}
.slider-track img{width:100%;height:auto;display:block;}
.slider-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.slider-dots span{width:9px;height:9px;background:rgba(255,255,255,0.5);cursor:pointer;padding:6px;background-clip:content-box;border:none;}
.slider-dots span.on{background:var(--orange);}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;
  background:rgba(0,0,0,0.5);color:#fff;border:none;font-size:1.2rem;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;}
.slider-arrow.prev{left:0;}
.slider-arrow.next{right:0;}

/* banners de categoria no desktop: altura contida, sem esticar nem distorcer (mobile fica como já estava) */
@media(min-width:1024px){
  .cat-banner-media{height:clamp(220px,16vw,340px);}
  .cat-banner-media .slider-track,.cat-banner-media .slide{height:100%;}
  .cat-banner-media .slider-track img{
    width:100%;height:100%;object-fit:cover;object-position:center;
  }
  /* ajuste fino por banner, para não cortar logo/texto importantes */
  img.obj-eur{object-position:center;}
  img.obj-sel{object-position:center;}
  img.obj-acess{object-position:center 45%;}
}

/* HERO: agora é um carrossel com os 2 primeiros banners, exclusivo do desktop (>768px).
   Mobile/tablet menor (<=768px) mantém apenas o primeiro banner, exatamente como antes. */
.hero-slide-2,.hero-only-control{display:none;}
@media(min-width:769px){
  .hero-slide-2{display:block;}
  .hero-only-control{display:flex;}
  /* altura acompanha a proporção real do banner-4 (1536x1024) — a mais alta das duas
     imagens nessa largura — assim nenhuma das duas é cortada e a troca não pula de altura */
  .hero-slider{aspect-ratio:1536/1024;height:auto;}
  .hero-slider .slider-track,.hero-slider .slide{height:100%;}
  .hero-slider .slider-track img{
    width:100%;height:100%;object-fit:contain;object-position:center;
  }
}

/* o banner de Times Brasileiros passa a viver só no carrossel do topo no desktop;
   no mobile ele continua exatamente onde e como estava */
@media(min-width:769px){
  #bloco-brasileiros .cat-banner{display:none;}
}

/* ---------- COUPON STRIP ---------- */
.coupon-strip{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  gap:10px;padding:12px 20px;font-size:0.82rem;font-weight:600;flex-wrap:wrap;text-align:center;
  border-top:2px solid var(--orange);}
.coupon-strip b{color:var(--orange);font-family:var(--font-display);letter-spacing:0.04em;font-size:0.95rem;
  font-weight:400;padding:6px 4px;min-height:44px;display:inline-flex;align-items:center;}
.coupon-strip a{text-decoration:underline;color:#fff;padding:6px 4px;min-height:44px;display:inline-flex;align-items:center;}
.coupon-strip a:hover{color:var(--orange);}

/* ---------- CATEGORY BLOCKS + BANNERS ---------- */
.categoria-bloco{border-top:1px solid var(--line);}
.cat-banner{background:#000;}
.cat-banner-cta{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  gap:16px;padding:16px 20px;flex-wrap:wrap;text-align:center;}
.cat-banner-cta p{margin:0;font-family:var(--font-display);font-size:1.3rem;letter-spacing:0.02em;}
.cat-banner-cta button{background:var(--orange);color:#fff;border:none;padding:0 22px;height:44px;
  font-weight:700;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.03em;cursor:pointer;}
.cat-banner-cta button:hover{background:var(--orange-deep);}

.produtos-secao{scroll-margin-top:var(--header-h);}
.section-head{padding:34px 20px 16px;max-width:1280px;margin:0 auto;}
.section-head h2{font-size:clamp(1.6rem,4vw,2.2rem);}
.section-head p{color:var(--ink-soft);font-size:0.86rem;margin:6px 0 0;}

/* ---------- PRODUCT GRID ---------- */
.produtos-wrap{max-width:1280px;margin:0 auto;padding:0 16px 44px;}
.resultado-info{font-size:0.82rem;color:var(--ink-soft);margin-bottom:12px;font-weight:600;padding:0 4px;}
.produtos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.produto{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;scroll-margin-top:var(--header-h);}
.produto-media{position:relative;aspect-ratio:1/1;background:var(--paper);overflow:hidden;}
.produto-media img{width:100%;height:100%;object-fit:cover;transition:opacity .18s ease;cursor:zoom-in;}
.produto-media img.fading{opacity:0;}
.zoom-hint{position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:50%;
  background:rgba(0,0,0,0.55);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:0.9rem;pointer-events:none;z-index:1;}
.fav-btn{position:absolute;top:0;right:0;width:44px;height:44px;border:none;background:rgba(255,255,255,0.88);
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--ink-soft);cursor:pointer;z-index:2;}
.fav-btn.ativo{color:var(--orange);}
.produto-info{padding:12px;display:flex;flex-direction:column;gap:7px;flex:1;}
.produto-clube{font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);}
.produto-titulo{font-size:0.86rem;font-weight:600;line-height:1.3;}
.versao-toggle{display:flex;border:1px solid var(--ink);}
.versao-toggle button{flex:1;background:#fff;color:var(--ink);border:none;padding:0 6px;height:38px;
  font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;cursor:pointer;
  border-right:1px solid var(--line);}
.versao-toggle button:last-child{border-right:none;}
.versao-toggle button.ativa{background:var(--ink);color:#fff;}
.produto-preco{font-family:var(--font-display);font-size:1.35rem;color:var(--orange);letter-spacing:0.02em;}
.tam-row{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tam-row::-webkit-scrollbar{display:none;}
.tam-pill{border:1px solid var(--line);background:#fff;font-size:0.72rem;font-weight:700;padding:0;
  width:36px;height:36px;flex-shrink:0;text-align:center;cursor:pointer;}
.tam-pill:hover{border-color:var(--ink);}
.tam-pill.sel{background:var(--ink);border-color:var(--ink);color:#fff;}
.btn-add{margin-top:auto;background:var(--ink);color:#fff;border:none;height:46px;font-size:0.78rem;
  font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:0.03em;width:100%;}
.btn-add:hover{background:var(--orange);}
.sem-resultado{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ink-soft);}
.sem-resultado i{font-size:2.2rem;color:var(--line);}

/* ---------- SIZE GUIDE ---------- */
.tamanhos-section{max-width:960px;margin:0 auto;padding:16px 20px 50px;}
.tabela-scroll{overflow-x:auto;border:1px solid var(--line);}
table.tabela-medidas{width:100%;border-collapse:collapse;min-width:600px;font-size:0.84rem;}
table.tabela-medidas th{background:var(--ink);color:#fff;padding:10px;font-weight:600;font-size:0.74rem;text-transform:uppercase;}
table.tabela-medidas td{padding:9px 10px;text-align:center;border-bottom:1px solid var(--line);font-weight:600;}
table.tabela-medidas tr:nth-child(even) td{background:var(--paper);}
table.tabela-medidas td:first-child{color:var(--orange);font-family:var(--font-display);font-size:1.05rem;}
.tam-nota{font-size:0.82rem;color:var(--ink-soft);margin-top:12px;}
.tabela-link{display:inline-block;margin-top:6px;font-size:0.82rem;font-weight:700;color:var(--orange);min-height:44px;line-height:44px;}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--ink);color:#fff;}
.footer-top{max-width:1280px;margin:0 auto;padding:36px 20px 20px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px;}
.footer-col h3{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--orange);margin-bottom:12px;font-weight:700;}
.footer-col a,.footer-col p{display:block;color:rgba(255,255,255,0.72);font-size:0.86rem;margin-bottom:8px;}
.footer-col a:hover{color:#fff;}
.footer-col p i{margin-right:6px;color:var(--orange);}
.footer-brand-block p{color:rgba(255,255,255,0.58);font-size:0.84rem;max-width:280px;}
.footer-social{display:flex;gap:8px;margin-top:10px;}
.footer-social a{width:40px;height:40px;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;font-size:1.05rem;}
.footer-social a:hover{background:var(--orange);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);text-align:center;padding:14px 20px;font-size:0.72rem;color:rgba(255,255,255,0.45);}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-top{grid-template-columns:1fr;padding:28px 18px 16px;}}

/* ---------- FLOATING WHATSAPP ---------- */
.fab-wa{position:fixed;right:16px;bottom:16px;z-index:300;width:52px;height:52px;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.65rem;
  box-shadow:0 6px 16px rgba(0,0,0,0.3);}

/* ---------- DRAWERS ---------- */
.overlay-dim{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:400;opacity:0;pointer-events:none;transition:opacity .2s;}
.overlay-dim.on{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;height:100dvh;width:min(420px,92vw);background:#fff;z-index:401;
  box-shadow:-8px 0 24px rgba(0,0,0,0.25);transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;}
.drawer.on{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);}
.drawer-head h3{font-size:1.4rem;}
.drawer-head .sub{font-size:0.76rem;color:var(--ink-soft);font-weight:600;}
.drawer-close{width:40px;height:40px;border:none;background:var(--paper);font-size:1.25rem;cursor:pointer;}
.drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 18px;}
.drawer-empty{text-align:center;color:var(--ink-soft);padding:50px 10px;font-size:0.88rem;}
.drawer-empty i{font-size:2.4rem;color:var(--line);display:block;margin-bottom:10px;}
.item-linha{display:grid;grid-template-columns:52px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center;}
.item-linha img{width:52px;height:52px;object-fit:cover;background:var(--paper);}
.item-linha strong{font-size:0.8rem;font-weight:600;display:block;line-height:1.3;}
.item-linha .meta{font-size:0.72rem;color:var(--ink-soft);font-weight:600;margin-top:2px;}
.item-linha .preco-linha{color:var(--orange);font-weight:800;font-size:0.84rem;margin-top:3px;}
.item-linha .stepper{display:inline-flex;align-items:center;border:1px solid var(--line);margin-top:5px;}
.item-linha .stepper button{width:30px;height:30px;border:none;background:var(--paper);font-weight:700;cursor:pointer;font-size:0.95rem;}
.item-linha .stepper span{width:26px;text-align:center;font-size:0.78rem;font-weight:700;}
.item-remove{border:none;background:var(--paper);width:32px;height:32px;cursor:pointer;font-size:0.9rem;}
.item-mover{border:none;background:var(--ink);color:#fff;padding:0 10px;height:32px;font-size:0.7rem;font-weight:700;cursor:pointer;margin-top:6px;}
.drawer-footer{padding:14px 18px;border-bottom:env(safe-area-inset-bottom) solid transparent;border-top:1px solid var(--line);}
.cupom-row{display:flex;gap:6px;margin-bottom:12px;}
.cupom-row input{flex:1;height:44px;border:1px solid var(--line);padding:0 10px;font-family:inherit;font-size:0.84rem;text-transform:uppercase;}
.cupom-row button{background:var(--ink);color:#fff;border:none;padding:0 16px;height:44px;font-weight:700;font-size:0.78rem;cursor:pointer;}
.cupom-msg{font-size:0.74rem;font-weight:700;margin:-6px 0 10px;}
.cupom-msg.erro{color:#c73a26;}
.resumo-linha{display:flex;justify-content:space-between;font-size:0.84rem;color:var(--ink-soft);font-weight:600;margin-bottom:5px;}
.resumo-linha.total{color:var(--ink);font-size:1.05rem;font-weight:800;border-top:1px solid var(--line);padding-top:9px;margin-top:6px;}
.resumo-linha.total .valor{color:var(--orange);}
.btn-finalizar{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;background:#25D366;
  color:#fff;padding:0 14px;height:48px;font-weight:800;margin-top:12px;font-size:0.9rem;}
.btn-limpar{display:block;width:100%;text-align:center;background:none;border:1px solid var(--line);color:var(--ink-soft);
  height:44px;font-weight:700;margin-top:9px;cursor:pointer;font-size:0.78rem;}

/* ---------- MOBILE MENU ---------- */
.mobile-drawer{position:fixed;top:0;left:0;height:100%;height:100dvh;width:min(300px,86vw);background:#fff;z-index:401;
  transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;}
.mobile-drawer.on{transform:translateX(0);}
.mobile-drawer .mhead{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);}
.mobile-drawer nav{display:flex;flex-direction:column;padding:8px 18px;}
.mobile-drawer nav a,.mobile-drawer nav button{text-align:left;background:none;border:none;padding:0 4px;min-height:46px;
  display:flex;align-items:center;font-size:0.92rem;font-weight:600;border-bottom:1px solid var(--line);font-family:inherit;cursor:pointer;}
.mobile-drawer .m-contact{padding:14px 18px;font-size:0.8rem;color:var(--ink-soft);}

/* ---------- TOAST ---------- */
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(16px);background:var(--ink);color:#fff;
  padding:11px 20px;font-size:0.82rem;font-weight:700;z-index:500;opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;display:flex;align-items:center;gap:8px;max-width:90vw;}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
.toast i{color:var(--orange);}

/* ---------- LIGHTBOX (ampliar imagem da camisa) ---------- */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.86);z-index:600;display:none;
  align-items:center;justify-content:center;padding:56px 24px;}
.lightbox.on{display:flex;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;}
.lightbox-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border:none;
  background:rgba(255,255,255,0.14);color:#fff;font-size:1.6rem;cursor:pointer;z-index:2;}
.lightbox-close:hover{background:rgba(255,255,255,0.26);}

/* ---------- DESKTOP: grade de produtos mais densa e contida ---------- */
@media(min-width:1024px){
  .produtos-wrap{max-width:1320px;}
  .produtos-grid{grid-template-columns:repeat(4,1fr);gap:20px;}
}
@media(min-width:1440px){
  .produtos-grid{grid-template-columns:repeat(5,1fr);}
}

/* ================= RESPONSIVO ================= */

/* tablet/celular grande: header pode manter tudo numa linha até aqui */
@media(max-width:860px){
  .top-bar{display:none;}
  .cat-nav{display:none;}
  .menu-toggle{display:flex;}
  .coupon-strip{gap:8px;font-size:0.78rem;}
}

/* celular: busca cai pra linha própria abaixo do header */
@media(max-width:600px){
  .head-row{padding:8px 12px;gap:10px;}
  .brand span{font-size:1.3rem;}
  .brand img{height:32px;}
  .search-wrap{order:3;max-width:none;flex-basis:100%;margin:0;}
  .head-icons{margin-left:auto;}
  .drawer{width:96vw;}
  .footer-bottom{font-size:0.68rem;}
  .cat-banner-cta{flex-direction:column;gap:10px;padding:14px 16px;}
  .cat-banner-cta p{font-size:1.15rem;}
}

/* grade de produtos: 1 coluna só quando o espaço é realmente apertado (320/360px) */
@media(max-width:360px){
  .produtos-grid{grid-template-columns:1fr;}
  .produto-media{aspect-ratio:4/3;}
}
/* 361px até tablet: duas colunas (cobre 375/390/430) */
@media(min-width:361px) and (max-width:767px){
  .produtos-grid{grid-template-columns:1fr 1fr;}
  .produto-titulo{font-size:0.8rem;}
  .produto-info{padding:10px;gap:6px;}
  .produto-preco{font-size:1.2rem;}
  .versao-toggle button{font-size:0.66rem;height:36px;}
  .tam-pill{width:32px;height:32px;font-size:0.68rem;}
}
