:root{
  --preto:#0f1115; --verde:#7CF29A; --verde-forte:#2bbe63; --verde-escuro:#0c1f15;
  --branco:#ffffff; --cinza:#c7ccd1; --cinza-escuro:#20242b;
  --vidro:rgba(255,255,255,.07); --vidro-borda:rgba(255,255,255,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--branco);background:var(--preto);min-height:100vh;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit}
.fundo{position:fixed;inset:0;z-index:-1;
  background:radial-gradient(1100px 640px at 12% -8%,rgba(124,242,154,.22),transparent 60%),
             radial-gradient(900px 700px at 112% 8%,rgba(43,190,99,.16),transparent 55%),
             linear-gradient(165deg,#0f1115,#0b0d10 60%)}
.container{max-width:1080px;margin:0 auto;padding:0 20px;width:100%}
section.container{margin:44px auto}

/* Topo */
.topo{display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:1080px;margin:0 auto;padding:16px 20px}
.marca{display:inline-flex}
.marca-logo{height:44px;width:auto;border-radius:10px}
.topo-nav{display:flex;gap:20px;font-size:.92rem}
.topo-nav a{color:var(--cinza);text-decoration:none;transition:color .15s}
.topo-nav a:hover{color:var(--verde)}

/* Glass base */
.vidro{background:var(--vidro);border:1px solid var(--vidro-borda);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.35)}

/* Hero */
.hero{display:flex;align-items:flex-start;margin:20px auto 8px;padding:16px 0 8px}
.hero-txt{max-width:760px}
.pill{display:inline-block;padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:600;
  background:rgba(124,242,154,.12);border:1px solid rgba(124,242,154,.35);color:var(--verde)}
.hero h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:800;line-height:1.1;margin:18px 0 14px}
.hl{color:var(--verde)}
.hero-sub{font-size:1.12rem;color:var(--cinza);max-width:620px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}
.selos{display:flex;gap:10px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:10px 0 0;color:var(--cinza);font-size:.92rem}

/* Botões */
.btn{display:inline-block;text-align:center;cursor:pointer;border:none;
  background:linear-gradient(135deg,var(--verde),var(--verde-forte));color:#08130b;
  font-weight:700;padding:13px 22px;border-radius:12px;text-decoration:none;transition:transform .08s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(43,190,99,.35)}
.btn-bloco{width:100%}
.btn-ghost{display:inline-block;padding:13px 22px;border-radius:12px;text-decoration:none;font-weight:600;
  border:1px solid var(--vidro-borda);color:var(--branco);background:var(--vidro)}
.btn-ghost:hover{border-color:var(--verde);color:var(--verde)}
.btn-sm{display:inline-block;background:var(--vidro);border:1px solid var(--vidro-borda);color:var(--branco);
  padding:7px 12px;border-radius:9px;text-decoration:none;font-size:.85rem;cursor:pointer}
.btn-sm:hover{border-color:var(--verde);color:var(--verde)}

/* Seções */
.secao-titulo{font-size:1.7rem;font-weight:800;text-align:center;margin:0 0 6px}
.secao-sub{text-align:center;color:var(--cinza);margin:0 0 26px}

/* Cards de produto */
.grade{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.card{padding:26px;display:flex;flex-direction:column;gap:12px;position:relative}
.produto.destaque{border-color:rgba(124,242,154,.5);box-shadow:0 8px 34px rgba(43,190,99,.25)}
.badge{position:absolute;top:-11px;right:18px;background:linear-gradient(135deg,var(--verde),var(--verde-forte));
  color:#08130b;font-weight:700;font-size:.72rem;padding:5px 12px;border-radius:999px}
.card h3{margin:0;font-size:1.2rem}
.preco{font-size:1.9rem;font-weight:800;color:var(--verde);line-height:1}
.validade{color:var(--cinza);font-size:.85rem;margin-top:-6px}
.desc{color:var(--cinza);font-size:.95rem}
.card-itens{list-style:none;padding:0;margin:4px 0;display:grid;gap:6px;font-size:.9rem;color:var(--cinza)}
.card-itens li{color:#dfe4e8}

/* Passos */
.passos{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.passo{padding:24px;position:relative}
.passo-num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--verde),var(--verde-forte));color:#08130b;font-weight:800;margin-bottom:10px}
.passo h4{margin:0 0 6px;font-size:1.1rem}

/* Grade 3/4 (por que) */
.grade-3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mini{padding:20px}
.mini h4{margin:0 0 6px}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px;margin:0 auto}
.faq details{padding:0 20px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--verde);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 16px;margin:0}

/* Faixa CTA */
.faixa-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;flex-wrap:wrap}
.faixa-cta h3{margin:0 0 4px}

/* Formulários (checkout, pré-cadastro, pagamento) */
form.painel{max-width:640px;margin:40px auto;padding:28px;display:flex;flex-direction:column;gap:14px}
.painel{max-width:640px;margin:40px auto;padding:28px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:.9rem;color:var(--cinza)}
.campo input,.campo select{padding:12px;border-radius:10px;border:1px solid var(--vidro-borda);
  background:rgba(0,0,0,.28);color:var(--branco);font-size:1rem}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--verde)}
.erros{background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.4);
  border-radius:12px;padding:12px 16px;color:#ffd7d7}
.erros ul{margin:6px 0 0;padding-left:18px}
.status-badge{display:inline-block;padding:6px 12px;border-radius:999px;
  background:var(--vidro);border:1px solid var(--vidro-borda);font-weight:600}
.centro{text-align:center}
h1,h2,h3,h4{font-weight:800}

/* Rodapé */
.rodape{margin-top:40px;border-top:1px solid var(--vidro-borda);background:rgba(0,0,0,.25)}
.rodape-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px 20px;flex-wrap:wrap}
.rodape-logo{height:52px;width:auto;margin-bottom:10px;border-radius:10px}
.rodape-marca{max-width:520px}
.rodape-empresa{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rodape-niatro{height:46px;width:auto;border-radius:8px}
.rodape-base{text-align:center;color:var(--cinza);font-size:.82rem;padding:16px 20px;border-top:1px solid var(--vidro-borda)}

/* Tabelas admin (reuso) */
.tabela{width:100%;border-collapse:collapse}
.tabela th,.tabela td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--vidro-borda)}
.tabela th{color:var(--cinza);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.tabela code{color:var(--verde)}

@media (max-width:640px){
  .marca-logo{height:36px}
  .topo-nav{gap:12px;font-size:.82rem}
  .hero{min-height:auto;margin-top:8px}
  .rodape-inner{flex-direction:column;align-items:flex-start}
  .rodape-empresa{align-items:flex-start}
  .faixa-cta{flex-direction:column;align-items:flex-start}
}
