@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}

:root{
  --bg:#0B0B0B; --card:#141414; --card2:#1A1A1A; --linha:#262626;
  --txt:#F4F4F4; --mudo:#A7A7A7; --verde:#20C878; --verde-esc:#12A15D;
  --erro:#FF6B6B; --zap:#25D366; --r:16px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 16px/1.5 Poppins,system-ui,sans-serif;background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
[hidden]{display:none!important}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(11,11,11,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo-in{display:flex;align-items:center;gap:14px;padding-block:10px}
.marca img{height:41px;width:auto}
.busca{flex:1;max-width:420px;margin-left:auto}
.busca input{width:100%;padding:10px 14px;border-radius:999px;border:1px solid var(--linha);background:var(--card);outline:none}
.busca input:focus{border-color:var(--verde)}
.btn-carrinho{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--linha);background:var(--card)}
.btn-carrinho:hover{border-color:var(--verde)}
.contador{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--verde);color:#04170d;font:700 12px/20px Poppins;text-align:center}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--linha);background:
  radial-gradient(900px 420px at 85% -10%,rgba(32,200,120,.22),transparent 60%),
  radial-gradient(600px 300px at 0% 100%,rgba(32,200,120,.08),transparent 60%),var(--bg)}
.hero::after{content:"";position:absolute;right:-90px;top:50%;width:520px;height:520px;transform:translateY(-50%);
  background:url(../assets/brand/icone-s.webp) center/contain no-repeat;opacity:.05;pointer-events:none}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-block:64px}
.eyebrow{color:var(--verde);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.hero h1{font:700 clamp(30px,5vw,54px)/1.1 Poppins;margin:10px 0 16px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--verde)}
.sub{color:var(--mudo);max-width:46ch;margin-bottom:24px}
.hero-itens{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-itens li{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--linha);border-radius:var(--r);background:rgba(20,20,20,.7);font-size:13px;color:var(--mudo)}
.hero-itens svg{flex:none;width:30px;height:30px;color:var(--verde)}
.hero-itens b{display:block;color:var(--txt);font-size:14px}

/* botões */
.btn-prim,.btn-sec,.btn-zap{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;border:0;font-weight:600;text-decoration:none;transition:transform .15s,filter .15s}
.btn-prim{background:var(--verde);color:#04170d}
.btn-sec{background:transparent;border:1px solid var(--linha);color:var(--txt)}
.btn-zap{width:100%;background:var(--zap);color:#04170d;font-size:16px}
.btn-prim:hover,.btn-zap:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-prim:disabled{background:#2a2a2a;color:#777;cursor:not-allowed;transform:none;filter:none}
.cheio{width:100%}

/* catálogo */
main{padding-block:32px 72px}
.filtros{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 16px;border-radius:999px;border:1px solid var(--linha);background:var(--card);color:var(--mudo);font-weight:500;font-size:14px}
.chip[aria-selected=true]{background:var(--verde);border-color:var(--verde);color:#04170d;font-weight:600}
.status{color:var(--mudo);padding:24px 0}
.grupo{margin-top:36px}
.grupo h2{font:700 22px/1.2 Poppins;display:flex;align-items:center;gap:12px;margin-bottom:16px}
.grupo h2::after{content:"";height:1px;flex:1;background:var(--linha)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{display:flex;flex-direction:column;border:1px solid var(--linha);border-radius:var(--r);background:var(--card);overflow:hidden;text-align:left;padding:0;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--verde);transform:translateY(-3px)}
.card .foto{position:relative;background:#fff;aspect-ratio:1}
.card .foto img{width:100%;height:100%;object-fit:contain}
.card .corpo{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .nome{font-weight:600;font-size:15px;line-height:1.3}
.card .preco{margin-top:auto;font:700 20px/1 Poppins;color:var(--verde)}
.card .sab{font-size:12px;color:var(--mudo)}
.card.esgotado .foto img{opacity:.35;filter:grayscale(1)}
.card.esgotado .preco{color:var(--mudo);text-decoration:line-through}
.selo{position:absolute;left:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:#0B0B0B;color:#fff;font-size:12px;font-weight:600}

/* diálogos */
.dlg{margin:auto;overflow:auto;border:1px solid var(--linha);border-radius:20px;background:var(--card2);color:var(--txt);padding:24px;width:min(860px,100% - 24px);max-height:calc(100dvh - 24px)}
.dlg::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.dlg-peq{width:min(400px,100% - 24px);text-align:center}
.dlg-peq img{margin:0 auto 12px}
.dlg-peq p{color:var(--mudo);margin:6px 0 20px}
.fechar{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--linha);background:var(--card);font-size:22px;line-height:1}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.prod-foto{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:14px}
.prod-info{display:flex;flex-direction:column;gap:12px}
.prod-info h2{font:700 24px/1.2 Poppins}
.preco-grande{font:700 30px/1 Poppins;color:var(--verde)}
.sabores{border:0;padding:0;min-width:0}
.sabores legend{font-weight:600;margin-bottom:8px}
#p-sabores{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow:auto;padding:2px}
.sabor{padding:7px 12px;border-radius:999px;border:1px solid var(--linha);background:var(--card);font-size:13px}
.sabor[aria-checked=true]{background:var(--verde);border-color:var(--verde);color:#04170d;font-weight:600}
.prod-info .linha{justify-content:flex-start;margin-top:4px}
.qtd{display:inline-flex;align-items:center;border:1px solid var(--linha);border-radius:999px;background:var(--card)}
.qtd button{width:42px;height:44px;border:0;background:none;font-size:20px}
.qtd output{min-width:30px;text-align:center;font-weight:600}
.erro{color:var(--erro);font-size:13px;min-height:1.2em}

/* carrinho */
.gaveta{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-height:100dvh;height:100dvh;border-radius:20px 0 0 20px;overflow:auto;flex-direction:column;gap:14px}
.gaveta[open]{display:flex}
.gaveta-topo{display:flex;align-items:center;justify-content:space-between;padding-right:46px;position:relative}
.gaveta-topo h2{font:700 22px/1 Poppins}
.vazio{color:var(--mudo);padding:30px 0;text-align:center}
.itens{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--linha);border-radius:14px;background:var(--card)}
.item img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:10px}
.item .t{font-weight:600;font-size:14px;line-height:1.25}
.item .s{font-size:12px;color:var(--mudo)}
.item .p{font-weight:700;color:var(--verde);font-size:14px}
.item .acoes{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.item .qtd button{width:30px;height:30px;font-size:16px}
.item .rem{border:0;background:none;color:var(--mudo);font-size:12px;text-decoration:underline}
.valores{border-top:1px solid var(--linha);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.valores div{display:flex;justify-content:space-between;color:var(--mudo)}
.valores .total{color:var(--txt);font:700 20px/1.3 Poppins;margin-top:4px}
.valores .total dd{color:var(--verde)}
.valores dd{margin:0}
.form{display:flex;flex-direction:column;gap:12px}
.form h3{font:700 16px/1 Poppins;margin-top:4px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--mudo)}
.form input{width:100%;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid var(--linha);background:var(--card);color:var(--txt);font-size:16px}
.form input:focus{outline:none;border-color:var(--verde)}
.form input[aria-invalid=true]{border-color:var(--erro)}
.duas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.gaveta{overflow-x:hidden}
.peq{font-size:12px;color:var(--mudo)}
.cep-msg:empty{display:none}

/* carregando */
.carr{margin:auto;border:0;background:transparent;color:var(--txt);overflow:visible;display:none;flex-direction:column;align-items:center;gap:16px;padding:28px 34px;border-radius:20px;text-align:center}
.carr[open]{display:flex;background:rgba(20,20,20,.94);border:1px solid var(--linha);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.carr::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.carr-txt{font-weight:600;font-size:15px}
.spin{width:52px;height:52px;border-radius:50%;border:4px solid #2a2a2a;border-top-color:var(--verde);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;padding:12px 20px;border-radius:999px;background:var(--verde);color:#04170d;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.5)}

.rodape{border-top:1px solid var(--linha);padding-block:36px;color:var(--mudo);font-size:13px}
.rodape .wrap{display:flex;flex-direction:column;gap:6px}
.rodape img{margin-bottom:8px}

@media (max-width:760px){
  .hero-in{grid-template-columns:1fr;padding-block:40px;gap:28px}
  .prod{grid-template-columns:1fr}
  .dlg{padding:18px}
  .busca{max-width:none}
  .grade{grid-template-columns:repeat(2,1fr);gap:12px}
  .card .nome{font-size:14px}
  .gaveta{border-radius:0}
}
@media (max-width:420px){.hero-itens{grid-template-columns:1fr}.marca img{height:34px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* modal aberto: a página de trás não rola (sem pulo de layout por causa da barra) */
html{scrollbar-gutter:stable}
html:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}

/* faixa do grupo de WhatsApp (topo) */
.faixa-grupo{background:var(--verde);color:#04170d;font-size:13px;font-weight:600}
.faixa-in{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-block:8px;text-align:center}
.faixa-btn{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:999px;background:#04170d;color:var(--verde);text-decoration:none;font-weight:600;white-space:nowrap}
.faixa-btn:hover{filter:brightness(1.25)}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:520px){.faixa-in{gap:8px}.faixa-grupo{font-size:12px}}

/* convite do grupo */
#dlg-grupo{position:relative;padding-top:34px}
.grupo-btn{width:100%}

/* conteúdo de apoio (SEO + dúvidas) */
.info{padding-block:48px;border-top:1px solid var(--linha);margin-top:32px}
.info h2{font:700 clamp(22px,3vw,30px)/1.2 Poppins;margin:0 0 18px}
.info h3{font:600 18px/1.3 Poppins;margin:30px 0 12px}
.passos{margin:0;padding-left:22px;display:grid;gap:10px;color:var(--mudo)}
.passos b{color:var(--txt)}
.info details{border:1px solid var(--linha);border-radius:var(--r);background:var(--card);padding:0 16px;margin-bottom:10px}
.info summary{cursor:pointer;padding:14px 0;font-weight:600}
.info details p{margin:0 0 14px;color:var(--mudo)}

/* links das marcas (rodape) */
.marcas-nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 14px;font-size:14px;color:var(--mudo)}
.marcas-nav b{color:var(--txt)}
.marcas-nav a{color:var(--verde);text-decoration:none}
.marcas-nav a:hover{text-decoration:underline}
.marcas-nav span{color:var(--txt)}
