/* ============================================================
   MOLDE DE PÁGINA DE CURSO — Unicive Polo Edukacenter
   Gerado por gerar-cursos.py. Não editar dentro das páginas:
   editar aqui e regerar.

   Mudou em relação às páginas escritas à mão:
   - escala tipográfica de 7 passos, no lugar de 14 tamanhos avulsos
   - 2 pontos de quebra (640 e 900), no lugar de 7
   - CSS num arquivo só, no lugar de 156 linhas dentro de cada página
   O resultado visual é o mesmo.
   ============================================================ */

@font-face{
  font-family:'RethinkSans';
  src:url('/assets/fonts/RethinkSans-VariableFont_wght.ttf') format('truetype-variations'),
      url('/assets/fonts/RethinkSans-VariableFont_wght.ttf') format('truetype');
  font-weight:400 800; font-style:normal; font-display:swap;
}

:root{
  /* cor: mantida exatamente como estava */
  --brand:#006652; --brand-d:#004F40; --brand-soft:#E3F2EF; --gold:#FFC571;
  --ink:#3F4044; --ink-2:#26272A; --muted:#6B6C70;
  --bg:#FFFFFF; --bg2:#F6F7F9; --line:#E7E8EC; --text:#26272A;

  /* tipografia: escala de 7 passos, fluida */
  --fs-1:13px;                              /* sobrelinha, etiqueta, nota */
  --fs-2:14px;                              /* texto de apoio, cartão, FAQ */
  --fs-3:15px;                              /* corpo, botão */
  --fs-4:clamp(15.5px,1.4vw,17px);          /* lead, entrada de seção */
  --fs-5:clamp(15.5px,1.8vw,17.5px);        /* título de cartão */
  --fs-6:clamp(23px,3.2vw,30px);            /* H2 */
  --fs-7:clamp(29px,4.6vw,42px);            /* H1 */

  /* espaçamento: escala de 6 passos */
  --sp-1:6px; --sp-2:12px; --sp-3:18px; --sp-4:26px; --sp-5:40px; --sp-6:72px;

  --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:24px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:96px}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);
     line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'RethinkSans',sans-serif}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;stroke:currentColor;
      fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* TOPBAR */
.topbar{background:var(--ink-2);color:#D7D8DC;font-size:var(--fs-1)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:14px}
.topbar a{color:#fff;font-weight:600}
.topbar .umbrella{opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:14px}
.brand{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}
.brand img{height:34px;width:auto}
.back{font-size:var(--fs-2);color:var(--muted);font-weight:600;display:flex;align-items:center;gap:5px;flex-shrink:0}
.back:hover{color:var(--brand)}
.back{padding:15px;margin:-15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'RethinkSans',system-ui,sans-serif;
     font-weight:700;border-radius:30px;padding:13px 24px;font-size:var(--fs-3);cursor:pointer;
     border:0;transition:.15s;min-height:48px;white-space:nowrap}
.btn-brand{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.btn-brand:hover{background:var(--brand-d)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-white{background:#fff;color:var(--brand)}

/* HERO */
.hero{position:relative;background:linear-gradient(180deg,#fff,var(--bg2));overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:60px 22px 68px}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);color:var(--brand-d);
      font-weight:700;font-size:var(--fs-1);padding:7px 15px;border-radius:30px;
      font-family:'RethinkSans',system-ui,sans-serif;margin-bottom:var(--sp-3)}
.hero h1{font-size:var(--fs-7);line-height:1.12;font-weight:800;letter-spacing:-.6px;
         margin-bottom:var(--sp-3);color:var(--ink-2)}
.hero h1 .o{color:var(--brand)}
.hero p.sub{font-size:var(--fs-4);color:var(--muted);max-width:540px;margin-bottom:var(--sp-4)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-media img{border-radius:var(--r-lg);width:100%;height:400px;object-fit:cover;
                box-shadow:0 30px 60px rgba(38,39,42,.18)}

/* SEÇÃO */
section.sec{padding:var(--sp-6) 0}
.sec-head{max-width:720px;margin-bottom:var(--sp-5)}
.kicker{font-family:'RethinkSans',system-ui,sans-serif;font-weight:800;font-size:var(--fs-1);letter-spacing:.12em;
        text-transform:uppercase;color:var(--brand);margin-bottom:var(--sp-2)}
h2.title{font-size:var(--fs-6);font-weight:800;letter-spacing:-.4px;color:var(--ink-2);line-height:1.18}
.sec-head p{color:var(--muted);font-size:var(--fs-4);margin-top:13px}
.bg2{background:var(--bg2)}

/* FICHA TÉCNICA */
.ficha{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#fff;
       border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.ficha > div{padding:18px 22px;border-bottom:1px solid var(--line)}
.ficha > div:nth-child(odd){border-right:1px solid var(--line)}
.ficha > div:nth-last-child(-n+2){border-bottom:0}
/* ficha com número ímpar de campos: o último ocupa a linha inteira */
.ficha > div:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
.ficha dt{font-family:'RethinkSans',system-ui,sans-serif;font-weight:800;font-size:var(--fs-1);letter-spacing:.08em;
          text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.ficha dd{font-size:var(--fs-3);color:var(--ink-2);font-weight:600}
.ficha .flag{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);
             color:var(--brand-d);padding:3px 11px;border-radius:20px;font-size:var(--fs-2);font-weight:700}

/* PARA QUEM É / NÃO É */
.publico{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.publico .box{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px}
.publico .box.sim{border-left:4px solid var(--brand)}
.publico .box.nao{border-left:4px solid #C7C8CD}
.publico h3{font-size:var(--fs-5);font-weight:700;color:var(--ink-2);margin-bottom:var(--sp-3)}
.publico ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.publico li{font-size:var(--fs-2);color:var(--ink);display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.publico li .ic{flex-shrink:0;width:18px;height:18px;margin-top:3px}
.publico .sim li .ic{color:var(--brand)}
.publico .nao li .ic{color:var(--muted)}

/* CARTÕES */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px;transition:.15s}
.card:hover{border-color:var(--brand);box-shadow:0 12px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.card .ic{width:44px;height:44px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand);
          display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3)}
.card h4{font-size:var(--fs-5);font-weight:700;color:var(--ink-2);margin-bottom:8px}
.card p{font-size:var(--fs-2);color:var(--muted);line-height:1.6}

/* GRADE */
.grade-resumo{font-family:'RethinkSans',system-ui,sans-serif;font-size:var(--fs-5);color:var(--ink-2);
              background:var(--brand-soft);border-radius:var(--r-md);padding:18px 22px;margin-bottom:var(--sp-3)}
.grade-resumo strong{color:var(--brand-d)}
details.grade{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden}
details.grade > summary{cursor:pointer;list-style:none;padding:16px 22px;font-family:'RethinkSans',system-ui,sans-serif;
                        font-weight:700;font-size:var(--fs-3);color:var(--brand-d);display:flex;
                        align-items:center;gap:10px;min-height:48px}
details.grade > summary::-webkit-details-marker{display:none}
details.grade > summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;
                        border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:auto;
                        transition:transform .2s}
details.grade[open] > summary::after{transform:rotate(-135deg)}
details.grade > summary:hover{background:var(--bg2)}
details.grade > .modulos{padding:0 18px 18px}

.modulos{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.modulo{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.modulo-head{background:var(--brand);color:#fff;padding:14px 20px;font-family:'RethinkSans',system-ui,sans-serif;
             font-weight:700;font-size:var(--fs-3)}
.modulo ul{list-style:none}
.modulo li{padding:13px 20px;border-bottom:1px solid var(--line);font-size:var(--fs-2);color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.modulo li .h{flex-shrink:0;color:var(--muted);font-variant-numeric:tabular-nums}
.modulo li:last-child{border-bottom:0}
.grade-meta{margin-top:var(--sp-3);font-size:var(--fs-2);color:var(--muted)}

/* COMO FUNCIONA */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:24px 20px}
.step .num{font-family:'RethinkSans',system-ui,sans-serif;font-weight:800;font-size:var(--fs-2);width:36px;height:36px;
           border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;
           justify-content:center;margin-bottom:14px}
.step h4{font-size:var(--fs-5);font-weight:700;color:var(--ink-2);margin-bottom:5px}
.step p{font-size:var(--fs-2);color:var(--muted)}
.ritmo-note{margin-top:var(--sp-4);background:var(--brand-soft);border-radius:14px;padding:18px 22px;
            display:flex;gap:14px;align-items:flex-start}
.ritmo-note .ic{flex-shrink:0;width:24px;height:24px;color:var(--brand-d)}
.ritmo-note p{font-size:var(--fs-2);color:var(--ink-2)}

/* INVESTIMENTO */
.planos{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:stretch}
.plano{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;text-align:center;
       display:flex;flex-direction:column;align-items:center}
.plano.dest{border:2px solid var(--brand)}
.plano .tag{display:inline-block;background:var(--gold);color:var(--ink-2);font-family:'RethinkSans',system-ui,sans-serif;
            font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;
            padding:5px 14px;border-radius:20px;margin-bottom:var(--sp-3)}
.plano .tag.spacer{visibility:hidden}
.plano h4{font-size:var(--fs-3);color:var(--muted);font-weight:600;margin-bottom:var(--sp-1)}
.plano .preco{font-family:'RethinkSans',system-ui,sans-serif;font-weight:800;color:var(--ink-2);margin-bottom:var(--sp-1)}
.plano .preco .n{font-size:clamp(30px,4vw,38px)}
.plano .preco .x{font-size:var(--fs-5);color:var(--muted);font-weight:600}
.plano .desc{font-size:var(--fs-2);color:var(--muted);margin-bottom:22px;min-height:40px}
.plano .btn{margin-top:auto;width:100%}
.invest-note{margin-top:var(--sp-3);text-align:center;font-size:var(--fs-1);color:var(--muted)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:12px;max-width:780px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;
       cursor:pointer;font-family:'RethinkSans',system-ui,sans-serif;font-weight:700;font-size:var(--fs-5);color:var(--ink-2);
       width:100%;text-align:left;background:none;border:0}
.faq-q .chev{flex-shrink:0;width:18px;height:18px;transition:transform .2s}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.faq-a>div{overflow:hidden}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a p{padding:0 22px 18px;color:var(--muted);font-size:var(--fs-2);line-height:1.6}
.faq-a a{color:var(--brand);font-weight:600;text-decoration:underline}

:where(a,button,summary):focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}

/* CTA FINAL */
.cta-final{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 78%,#fff));
           color:#fff;border-radius:var(--r-xl);padding:50px 40px;text-align:center}
.cta-final h2{font-size:var(--fs-6);font-weight:800;letter-spacing:-.4px;margin-bottom:var(--sp-2)}
.cta-final p{font-size:var(--fs-4);opacity:.95;max-width:540px;margin:0 auto var(--sp-4)}
.cta-final .btn-white{font-size:var(--fs-3);padding:15px 30px}

/* FOOTER */
footer{background:var(--ink-2);color:#C7C8CD;padding:44px 0 26px;font-size:var(--fs-2)}
footer a{color:#C7C8CD}footer a:hover{color:var(--brand)}
.fbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:#8C8D93;
      border-top:1px solid #3A3B3F;padding-top:18px;margin-top:18px}

/* WHATSAPP FLUTUANTE */
.wa-float{display:flex;position:fixed;right:18px;bottom:calc(18px + var(--ac-altura,0px));z-index:60;align-items:center;
          justify-content:center;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;
          box-shadow:0 10px 28px rgba(0,0,0,.28);transition:transform .2s ease,background .2s ease}
.wa-float{transition:bottom .2s ease}
.wa-float:hover{transform:scale(1.07);background:#1EBE5A}
.wa-float svg{width:30px;height:30px}

/* AVISO DE PRÉVIA: some sozinho quando o registro não tem pendência */
.previa{background:#FFF4E0;border-bottom:2px solid var(--gold);color:#5A4318;
        padding:12px 0;font-size:var(--fs-2)}
.previa strong{font-family:'RethinkSans',system-ui,sans-serif}

/* ============ 2 PONTOS DE QUEBRA, e só ============ */
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:36px;padding:40px 22px 50px}
  .hero-media img{height:300px}
  .grid-3{grid-template-columns:1fr}
  .modulos{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .planos{grid-template-columns:1fr}
  .publico{grid-template-columns:1fr}
  .ficha{grid-template-columns:1fr}
  .ficha > div:nth-child(odd){border-right:0}
  .ficha > div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .header-cta span{display:none}
  .header-cta{padding:13px 16px}
  .back span{display:none}
}
@media(max-width:640px){
  .publico .box.nao{background:var(--bg2);border-left-width:6px}
  .publico .box.sim{border-left-width:6px}
  .ficha > div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
  .ficha dt{margin-bottom:0}
  .ficha dd{text-align:right}
  .topbar .umbrella{display:none}
  .steps{grid-template-columns:1fr}
  .cta-final{padding:36px 22px}
  .wa-float{right:14px;bottom:calc(14px + var(--ac-altura,0px));width:54px;height:54px}
  .wa-float svg{width:28px;height:28px}
  .brand img{height:28px}
}
