/* ============================================================
   CEFS — Festa Julina / Arraiá — Design system
   Cores e fontes centralizadas em :root.
   ============================================================ */
:root{
  /* Paleta festa julina */
  --c-red:#d62828;   --c-red-2:#a51d1d;
  --c-yellow:#fcbf49;--c-orange:#f77f00;
  --c-green:#43a047; --c-green-2:#2e7d32;
  --c-blue:#1e88e5;
  --c-bg:#fff7e8;    --c-bg-2:#fdeccb;
  --c-ink:#4a2f1b;   --c-card:#fffdf7;
  --c-muted:#8a6d54; --c-line:rgba(74,47,27,.15);

  /* Aliases legados (mantêm o código existente funcionando, já recolorido) */
  --c-navy:var(--c-red);     --c-navy-2:var(--c-red-2);
  --c-gold:var(--c-yellow);  --c-gold-2:var(--c-orange);

  --c-ok:#2e7d32; --c-busy:#c0392b;
  --shadow:0 16px 40px -22px rgba(74,47,27,.45);
  --r:16px;
  --display:'Rye',cursive;
  --head:'Baloo 2',system-ui,cursive;
  --serif:'Baloo 2',system-ui,cursive; /* alias legado */
  --sans:'Nunito',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --maxw:1140px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--c-ink);line-height:1.6;
  background-color:var(--c-bg);
  background-image:radial-gradient(rgba(214,40,40,.06) 1.6px, transparent 1.6px);
  background-size:22px 22px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.12;margin:0}
p{margin:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-green-2);font-weight:800}

/* Bandeirinhas */
.bunting{display:flex;justify-content:center;align-items:flex-start;line-height:0;
  position:relative;overflow:hidden;padding:0 0 5px;background:var(--c-bg)}
.bunting::before{content:"";position:absolute;top:3px;left:-2%;width:104%;height:3px;
  background:#7a542f;border-radius:2px;transform:rotate(-.25deg)}
.bunting i{position:relative;flex:0 0 auto;width:0;height:0;margin:5px 1px 0;
  border-left:15px solid transparent;border-right:15px solid transparent;
  border-top:22px solid var(--c);filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:.5em;cursor:pointer;border:0;
  background:var(--c-red);color:#fff;font-weight:800;font-family:var(--sans);
  padding:14px 26px;border-radius:999px;font-size:15px;transition:.18s;
  box-shadow:0 10px 22px -10px rgba(214,40,40,.8)}
.btn:hover{background:var(--c-red-2);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:#fff;box-shadow:none;border:2px solid rgba(255,255,255,.6)}
.btn--ghost:hover{background:rgba(255,255,255,.14)}
.btn--gold{background:var(--c-yellow);color:#5a3d10;box-shadow:0 10px 22px -10px rgba(247,127,0,.8)}
.btn--gold:hover{background:var(--c-orange);color:#fff}
.btn--sm{padding:10px 18px;font-size:14px}
.btn--lg{padding:16px 32px;font-size:16px}

/* Navbar */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;background:rgba(255,247,232,.92);backdrop-filter:saturate(150%) blur(8px);
  border-bottom:2px solid var(--c-yellow)}
.nav__brand{display:flex;align-items:center;gap:10px}
.nav__brand img{height:48px;width:auto}
.nav__brand-txt{font-family:var(--display);font-size:26px;color:var(--c-red);letter-spacing:.02em}
.nav__links{display:flex;align-items:center;gap:24px}
.nav__links a{font-size:14px;font-weight:700;color:var(--c-ink)}
.nav__links a:not(.btn):hover{color:var(--c-red)}

/* Hero */
.hero{position:relative;color:#fff;text-align:center;overflow:hidden;
  background:radial-gradient(120% 130% at 50% 0%, #ef4444 0%, var(--c-red) 48%, #7c1717 100%)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;opacity:.55;filter:blur(2px)}
.hero::before{width:320px;height:320px;left:-110px;top:-70px;background:radial-gradient(circle,rgba(252,191,73,.5),transparent 70%)}
.hero::after{width:420px;height:420px;right:-150px;bottom:-180px;background:radial-gradient(circle,rgba(252,191,73,.35),transparent 70%)}
.hero__inner{position:relative;z-index:2;padding:78px 24px 92px;max-width:860px;margin:0 auto}
.hero .eyebrow{color:var(--c-yellow)}
.hero h1{font-family:var(--display);font-size:clamp(40px,7.5vw,76px);margin:14px 0 12px;
  text-shadow:0 3px 0 rgba(0,0,0,.18);letter-spacing:.01em}
.hero__date{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-size:15px;color:#ffe9c7}
.hero__date b{color:#fff;font-weight:800}
.hero__lead{font-size:clamp(16px,2.2vw,19px);color:#ffe9c7;max-width:580px;margin:20px auto 0}
.hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* Countdown */
.countdown{display:flex;gap:14px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.cd{min-width:84px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:16px 10px}
.cd b{display:block;font-family:var(--head);font-size:34px;line-height:1;color:#fff}
.cd span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffdca8}

/* Seções */
.sec{padding:78px 0}
.sec--tint{background:var(--c-bg-2)}
.sec__head{text-align:center;max-width:640px;margin:0 auto 50px}
.sec__head h2{font-size:clamp(28px,4.4vw,44px);margin:12px 0 12px;color:var(--c-red)}
.sec__head p{color:var(--c-muted)}

/* Passos */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:var(--c-card);border:2px solid var(--c-line);border-radius:var(--r);padding:32px 28px;box-shadow:var(--shadow)}
.step__n{font-family:var(--head);font-size:20px;font-weight:800;color:#fff;width:46px;height:46px;
  display:grid;place-items:center;border-radius:50%;background:var(--c-red);margin-bottom:16px}
.step:nth-child(2) .step__n{background:var(--c-green)}
.step:nth-child(3) .step__n{background:var(--c-orange)}
.step h3{font-size:21px;color:var(--c-ink);margin-bottom:8px}
.step p{color:var(--c-muted);font-size:15px}

/* Faixa destaque / preços */
.faixa{background:linear-gradient(100deg,var(--c-green-2),var(--c-green));color:#fff;border-radius:24px;
  padding:46px;display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center;box-shadow:var(--shadow)}
.faixa h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:12px}
.faixa p{color:#e8ffe9}
.faixa__box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:24px;text-align:center}
.faixa__box .big{font-family:var(--head);font-size:44px;color:#fff;line-height:1}
.faixa__box .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#d9ffd9;margin-top:6px}

/* Tabela de preços (3 tiers) */
.precos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.preco{background:var(--c-card);border:2px solid var(--c-line);border-radius:var(--r);padding:30px 24px;text-align:center;box-shadow:var(--shadow);position:relative}
.preco--vip{border-color:var(--c-yellow);background:linear-gradient(180deg,#fffaf0,#fff)}
.preco .tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;color:#fff;margin-bottom:12px}
.preco .valor{font-family:var(--head);font-size:42px;color:var(--c-red);line-height:1}
.preco .por{color:var(--c-muted);font-size:14px;margin-top:6px}
.preco .desc{color:var(--c-muted);font-size:14px;margin-top:10px}

/* Info local */
.infos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info{background:var(--c-card);border:2px solid var(--c-line);border-radius:var(--r);padding:28px;text-align:center}
.info .ic{font-size:28px;margin-bottom:10px}
.info h3{font-size:18px;color:var(--c-red);margin-bottom:6px}
.info p{color:var(--c-muted);font-size:15px}

/* CTA final */
.cta-final{text-align:center;color:#fff;border-radius:24px;padding:64px 24px;box-shadow:var(--shadow);
  background:radial-gradient(120% 150% at 50% 0%, #ef4444, var(--c-red) 55%, #7c1717)}
.cta-final h2{font-family:var(--display);font-size:clamp(28px,4.4vw,46px);margin-bottom:14px;text-shadow:0 3px 0 rgba(0,0,0,.18)}
.cta-final p{color:#ffe9c7;max-width:540px;margin:0 auto 26px}

/* Rodapé */
.rodape{background:#3a2113;color:#e8d3b5;text-align:center;padding:44px 24px;font-size:14px}
.rodape b{color:var(--c-yellow);font-family:var(--display);font-size:20px;letter-spacing:.04em}
.rodape a{color:var(--c-yellow)}
.rodape__links{margin:14px 0;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

/* Avisos */
.aviso{background:#fff4d6;border:1px solid var(--c-yellow);color:#7a5a12;border-radius:12px;padding:14px 18px;font-size:14px;text-align:center;margin:0 auto;max-width:680px}

@media(max-width:860px){
  .steps,.infos,.precos{grid-template-columns:1fr}
  .faixa{grid-template-columns:1fr;padding:32px}
  .nav__links a:not(.btn){display:none}
}
