/* ============================================================
   REDE DE AFILIADOS — FOLHA DE ESTILOS
   ------------------------------------------------------------
   As cores da marca (--marca, --marca-escura, --acao, --logo)
   são injetadas pelo config.php de cada site.
   O cinza e os brancos são FIXOS em toda a rede.
   Versão 2  — acrescenta o rodapé em colunas
   ============================================================ */

:root{
  --marca:#005c62;
  --marca-escura:#00383e;
  --acao:#ef2d2d;
  --logo:#20b8bd;

  --fundo:#e3dbd1;
  --superficie:#ffffff;
  --linha:#d5cbbf;
  --texto:#1a1a1a;
  --texto-2:#6b635a;

  --raio:16px;
  --sombra:0 3px 10px rgba(60,45,30,.07);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--fundo);color:var(--texto);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  display:flex;justify-content:center;-webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--acao);outline-offset:2px;border-radius:6px}

.app{width:100%;max-width:720px;min-height:100vh;padding-bottom:118px}

/* ---------------- CABEÇALHO ---------------- */
.topbar{
  height:76px;background:linear-gradient(100deg,var(--marca),var(--marca-escura));
  display:flex;align-items:center;justify-content:space-between;padding:0 16px;
  position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(0,40,44,.22);
}
.logo{font-weight:900;color:#fff;font-size:26px;letter-spacing:-.5px;display:flex;align-items:center}
.logo b{color:var(--logo);text-shadow:-3px 0 var(--acao);font-size:36px;margin-right:6px}
.menu{
  width:46px;height:46px;border:1.5px solid rgba(255,255,255,.55);border-radius:13px;
  background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;
}
.menu svg{width:24px;height:24px}

main{padding:13px}

/* ---------------- BANNER ---------------- */
.hero{
  border-radius:20px;color:#fff;padding:18px;display:flex;align-items:center;gap:14px;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.16),transparent 42%),
    linear-gradient(135deg,var(--marca-escura),var(--marca));
  box-shadow:0 10px 26px rgba(0,40,44,.20);
}
.hero-gift{width:70px;height:70px;flex:0 0 auto;color:#fff;opacity:.95}
.hero-copy{flex:1;min-width:0}
.kicker{font-size:12.5px;font-weight:800;letter-spacing:.6px;opacity:.9}
.amount{font-size:33px;line-height:1;font-weight:900;margin:6px 0;letter-spacing:-1px}
.free{font-size:13px;font-weight:800}
.free strong{color:#32dfb5}

.btn{
  background:var(--acao);color:#fff;font-weight:900;font-size:11.5px;
  border-radius:12px;padding:14px 12px;white-space:nowrap;display:inline-block;
  box-shadow:0 6px 16px rgba(239,45,45,.35);border:0;cursor:pointer;
}
.btn-largo{display:block;width:100%;text-align:center;font-size:14px;padding:16px}

/* ---------------- CHIPS ---------------- */
.chips{
  display:flex;gap:7px;overflow-x:auto;margin-top:11px;padding-bottom:3px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;background:var(--superficie);border:1px solid var(--linha);
  border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;
  color:var(--marca);box-shadow:var(--sombra);
}
.chip.acao{background:var(--acao);color:#fff;border-color:transparent}

/* ---------------- GRELHA ---------------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.card{
  min-height:124px;background:var(--superficie);border:1px solid rgba(0,0,0,.04);
  border-radius:var(--raio);box-shadow:var(--sombra);color:var(--texto);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:9px 4px;transition:transform .14s,box-shadow .14s;
}
.card:active{transform:scale(.96);box-shadow:0 1px 4px rgba(60,45,30,.10)}
.iconbox{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:8px;background:rgba(0,0,0,.055);color:var(--marca);
}
.card.destaque .iconbox{background:rgba(239,45,45,.10);color:var(--acao)}
.iconbox svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.label{font-size:11px;line-height:1.2;font-weight:800;padding:0 2px}

/* ---------------- LISTA DE POSTS ---------------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}
.post-card{
  background:var(--superficie);border-radius:var(--raio);box-shadow:var(--sombra);
  padding:14px;display:flex;flex-direction:column;gap:6px;min-height:104px;
  border:1px solid rgba(0,0,0,.04);
}
.post-card h3{font-size:13.5px;line-height:1.25;margin:0;font-weight:850}
.post-card p{font-size:11.5px;line-height:1.4;color:var(--texto-2);margin:0}
.post-card .seta{margin-top:auto;font-size:11px;font-weight:850;color:var(--marca)}

/* ---------------- ARTIGO ---------------- */
.artigo{
  background:var(--superficie);border-radius:var(--raio);padding:20px 17px;
  margin-top:12px;box-shadow:var(--sombra);
}
.artigo h1{font-size:24px;line-height:1.2;margin:0 0 10px;letter-spacing:-.5px}
.artigo h2{font-size:18px;margin:26px 0 9px;line-height:1.25}
.artigo h3{font-size:15px;margin:20px 0 7px}
.artigo p,.artigo li{font-size:15px;line-height:1.65;color:#2b2b2b}
.artigo ul,.artigo ol{padding-left:20px}
.artigo table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}
.artigo th,.artigo td{border:1px solid var(--linha);padding:9px;text-align:left}
.artigo th{background:rgba(0,0,0,.04);font-weight:800}
.data{font-size:11.5px;color:var(--texto-2);margin:0 0 14px}

.migalhas{font-size:11.5px;color:var(--texto-2);margin:2px 0 0;padding:0 2px}
.migalhas a{color:var(--marca);font-weight:700}

/* ---------------- CTA ---------------- */
.cta{
  border-radius:var(--raio);margin-top:13px;padding:12px 13px;color:#fff;
  display:flex;align-items:center;gap:11px;
  background:linear-gradient(100deg,var(--marca-escura),var(--marca));
  box-shadow:0 8px 20px rgba(0,40,44,.18);
}
.cta .trophy{width:38px;height:38px;color:#f5bd24;flex:0 0 auto}
.cta-copy{flex:1;min-width:0}
.cta-title{font-size:14.5px;font-weight:900}
.cta-sub{font-size:10.5px;opacity:.88;margin-top:3px;line-height:1.35}

.cta-post{
  margin-top:22px;padding:18px;border-radius:var(--raio);text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--marca-escura),var(--marca));
}
.cta-post .valor{font-size:26px;font-weight:900;margin:4px 0 12px;letter-spacing:-1px}
.cta-post .peq{font-size:11px;opacity:.85;margin-top:9px;line-height:1.4}

/* ---------------- AVISO ---------------- */
.aviso{margin-top:14px;font-size:10.5px;line-height:1.5;color:var(--texto-2);text-align:center;padding:0 6px}
.aviso b{display:inline-block;border:1.5px solid var(--texto-2);border-radius:20px;padding:1px 7px;font-size:10px;margin-right:4px}

/* ---------------- RODAPÉ ---------------- */
.rodape{
  margin-top:22px;color:#fff;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.07),transparent 55%),
    linear-gradient(165deg,var(--marca-escura),#00272b);
}
.rodape-grelha{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:26px 18px;padding:26px 18px 22px;
}
.rodape-grupo:nth-child(5){grid-column:1/-1}
.rodape-grupo:nth-child(5) ul{columns:2;column-gap:18px}

.rodape-titulo{
  display:flex;align-items:center;gap:7px;margin:0 0 11px;
  font-size:12px;font-weight:900;letter-spacing:.9px;color:var(--logo);
  padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.13);
}
.rodape-titulo svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2}

.rodape-grupo ul{list-style:none;margin:0;padding:0}
.rodape-grupo li{break-inside:avoid;margin:0 0 2px}
.rodape-grupo a{
  display:block;padding:7px 0;font-size:13.5px;line-height:1.3;
  color:rgba(255,255,255,.87);font-weight:600;
}
.rodape-grupo a:hover,.rodape-grupo a:focus-visible{color:#fff}

.rodape-fim{
  border-top:1px solid rgba(255,255,255,.13);
  padding:18px 18px 22px;text-align:center;
}
.rodape-marca .logo{font-size:21px;justify-content:center}
.rodape-marca .logo b{font-size:29px}
.rodape-legal{
  font-size:11px;line-height:1.55;margin:12px 0 0;
  color:rgba(255,255,255,.62);max-width:430px;margin-inline:auto;
}
.rodape-legal b{
  display:inline-block;border:1.5px solid rgba(255,255,255,.55);
  border-radius:20px;padding:1px 7px;font-size:10px;margin-right:5px;color:#fff;
}
.rodape-copy{font-size:10.5px;margin:11px 0 0;color:rgba(255,255,255,.42)}

@media (min-width:600px){
  .rodape-grelha{grid-template-columns:repeat(3,1fr);padding:30px 22px 24px}
  .rodape-grupo:nth-child(5){grid-column:auto}
  .rodape-grupo:nth-child(5) ul{columns:1}
}

/* ---------------- NAVEGAÇÃO ---------------- */
.bottom{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:min(720px,100%);height:84px;background:var(--superficie);
  border-top:1px solid var(--linha);box-shadow:0 -4px 20px rgba(60,45,30,.10);
  display:grid;grid-template-columns:repeat(5,1fr);align-items:center;z-index:100;
  padding-bottom:env(safe-area-inset-bottom);
}
.nav{color:var(--texto-2);text-align:center;font-size:10px;font-weight:800}
.nav svg{display:block;width:25px;height:25px;margin:0 auto 4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav.active{color:var(--marca)}
.reg{transform:translateY(-16px);color:var(--acao)}
.reg .circle{
  width:62px;height:62px;border-radius:50%;margin:0 auto 4px;
  background:linear-gradient(135deg,#ff1760,#ff5b20);color:#fff;
  border:5px solid var(--superficie);box-shadow:0 6px 18px rgba(239,45,45,.38);
  display:grid;place-items:center;
}
.reg .circle svg{width:28px;height:28px;margin:0}

/* ---------------- PESQUISA ---------------- */
.pesquisa{display:flex;gap:8px;margin-top:12px}
.pesquisa input{
  flex:1;padding:13px 14px;border:1px solid var(--linha);border-radius:12px;
  font-size:15px;background:var(--superficie);color:var(--texto);
}

/* ---------------- ECRÃS PEQUENOS ---------------- */
@media (max-width:480px){
  .topbar{height:70px}
  .logo{font-size:23px}.logo b{font-size:32px}
  main{padding:10px}
  .hero{padding:14px;gap:10px;border-radius:18px}
  .hero-gift{width:54px;height:54px}
  .amount{font-size:27px}
  .kicker,.free{font-size:11.5px}
  .btn{font-size:10px;padding:12px 9px}
  .grid{gap:7px}
  .card{min-height:113px;border-radius:14px}
  .iconbox{width:48px;height:48px;border-radius:14px}
  .iconbox svg{width:27px;height:27px}
  .label{font-size:10px}
  .cta-title{font-size:13px}
  .artigo{padding:17px 14px}
  .artigo h1{font-size:21px}
}

/* ---------------- ECRÃS GRANDES ---------------- */
@media (min-width:721px){
  .app{border-left:1px solid var(--linha);border-right:1px solid var(--linha);background:rgba(255,255,255,.25)}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
