/* Landing pages dos minicursos.

   O layout segue o design aprovado pelas coaches: secções de largura total empilhadas,
   fundo alternado, tudo centrado. As estruturas são as do mockup, incluindo as três
   grelhas que ele define: os 7 dias em quatro colunas (1200px), a garantia e o crédito
   em duas (720px), e o para quem é em duas (1040px).

   Em relação ao mockup mudou a paleta, que passou a ser a da SPPIC, e a tipografia, que
   usa a Poppins já servida pelo projeto em vez de carregar a Figtree do Google. A escala
   desce cerca de um quarto: os tamanhos do mockup foram desenhados numa prancheta de
   1440px e no ecrã davam ar de página com zoom. As proporções entre níveis mantêm-se. */

/* Paleta das landings: os fundos voltam ao neutro do mockup (branco e off-white sobre
   quase preto), e o dourado da SPPIC fica só onde trabalha, nos botões, ícones, números
   e etiquetas. O creme de fundo tirava o ar minimalista do documento aprovado.

   Isto redefine os tokens só para estas páginas, porque o curso.css carrega depois do
   estilos.css. A ferramenta da roda continua com a paleta quente. */
:root,
:root[data-theme="light"],
:root[data-theme="dark"]{
  --ink:#17171A;
  --ground:#FAFAF8;
  --surface:#FFFFFF;
  --muted:#6E6E68;
  --line:#E5E5E1;
  --ring:#F1F1EE;
  --realce:rgba(255,173,0,.18);
}

html{scrollbar-color:var(--bronze) var(--ground)}
::selection{background:var(--sun);color:#221A05}
body{background:var(--ground)}

.pagina{display:flex;flex-direction:column}
.secao{padding:clamp(52px,7vw,92px) 24px clamp(58px,8vw,104px);
  display:flex;flex-direction:column;align-items:center;gap:clamp(22px,3.4vw,32px)}
.secao.clara{background:var(--surface);border-bottom:1px solid var(--line)}
.secao.creme{background:var(--ground)}
.secao>*{max-width:100%}

/* As quebras de linha dos títulos vêm marcadas no HTML, para respeitar a hierarquia do
   documento aprovado. No telemóvel deixam de valer e o texto flui. */
@media(max-width:780px){br.quebra{display:none}}

.selo-roda{display:flex;align-items:center;gap:12px;background:var(--ground);
  border:1px solid var(--line);border-radius:999px;padding:12px 22px 12px 14px;
  font-size:clamp(14.5px,1.5vw,17px);line-height:1.3;color:var(--muted);text-align:left}
.secao.creme .selo-roda{background:var(--surface)}
.selo-roda b{color:var(--ink);font-weight:600}
.selo-roda .ponto{width:26px;height:26px;border-radius:50%;flex:none;
  background:linear-gradient(100deg,var(--sun),var(--ember))}

h1.titulao{margin:0;max-width:22ch;font-size:clamp(34px,5.2vw,62px);line-height:1.06;
  font-weight:600;text-align:center;letter-spacing:-.035em;color:var(--ink);hyphens:manual}
h2.titulo{margin:0;max-width:30ch;font-size:clamp(25px,3.6vw,44px);line-height:1.1;
  font-weight:600;text-align:center;letter-spacing:-.02em;color:var(--ink);hyphens:manual}
.subtitulo{margin:0;max-width:56ch;font-size:clamp(16px,1.7vw,20px);line-height:1.5;
  text-align:center;color:var(--muted);hyphens:manual}
.subtitulo b{color:var(--ink);background:var(--realce);padding:0 6px;border-radius:4px;font-weight:600}
.etiqueta{margin:0;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--bronze);text-align:center}

.cta{font-size:clamp(15px,1.5vw,18px);font-weight:600;padding:19px 38px;border-radius:12px}
.nota-compra{font-size:13.5px;color:var(--muted);margin:0;text-align:center;max-width:52ch}

/* Bloco espelho: cartões largos, um por frase. */
.cartoes{display:flex;flex-direction:column;gap:14px;width:min(780px,100%)}
.cartao{display:flex;align-items:center;gap:20px;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:22px 28px}
.secao.clara .cartao{background:var(--ground)}
.cartao .marca{width:26px;height:26px;border-radius:50%;flex:none;
  box-shadow:inset 0 0 0 2px var(--bronze)}
.cartao p{margin:0;font-size:clamp(15px,1.5vw,18px);line-height:1.45;color:var(--muted)}
.cartao p b{color:var(--ink);font-weight:600}

.remate{margin:0;max-width:34ch;font-size:clamp(20px,2.4vw,29px);line-height:1.2;
  font-weight:600;text-align:center;letter-spacing:-.02em;color:var(--ink);hyphens:manual}
.remate span{color:var(--bronze)}

/* Bloco viragem. */
.viragem{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.viragem .nega{margin:0;font-size:clamp(18px,2.2vw,26px);line-height:1.25;font-weight:600;
  color:var(--muted);letter-spacing:-.02em;max-width:34ch;hyphens:manual}
.viragem .afirma{margin:0;font-size:clamp(20px,2.4vw,29px);line-height:1.25;font-weight:600;
  color:var(--ink);letter-spacing:-.02em;max-width:36ch;hyphens:manual}
.citacao{margin:0;width:min(660px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:clamp(22px,3vw,30px);text-align:center;
  font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:var(--ink);font-style:italic}
.secao.clara .citacao{background:var(--ground)}
.citacao p{margin:0}

/* Viragem em fundo escuro, como o mockup: o que não é fica riscado, o que é fica marcado. */
.secao.escura{background:var(--ink);gap:clamp(32px,4vw,48px)}
.secao.escura .viragem{gap:clamp(20px,2.4vw,30px)}
.secao.escura .nega{display:flex;flex-direction:column;gap:6px;max-width:none;
  font-size:clamp(20px,2.3vw,32px);line-height:1.15;font-weight:500;color:#8A8A85;
  text-decoration:line-through;text-decoration-thickness:.07em}
.viragem .marcado{margin:0;font-size:clamp(34px,5.4vw,76px);line-height:1;font-weight:800;
  letter-spacing:-.035em;color:#FFF;background:#3F3F3C;padding:.08em .28em;border-radius:6px;
  hyphens:manual;margin-top:clamp(8px,2vw,24px)}
.viragem .sub{margin:-6px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.4;color:#C9C9C4}
.secao.escura .citacao{background:transparent;border-color:#3F3F3C;color:#FFF;font-style:normal;
  width:min(640px,100%);padding:clamp(24px,3vw,36px) clamp(20px,3vw,42px);
  font-size:clamp(17px,1.75vw,24px);line-height:1.25;font-weight:700;letter-spacing:-.01em}
.viragem .marcado{max-width:18ch;text-wrap:balance}
.secao.escura .remate{max-width:none;font-size:clamp(15px,1.6vw,20px);font-weight:400;letter-spacing:0;color:#C9C9C4}
.etiqueta.pilula{background:var(--ground);color:var(--ink);font-size:clamp(12px,1.1vw,14px);
  font-weight:800;letter-spacing:.18em;padding:12px 24px;border-radius:999px}

/* Os 7 dias: grelha de quatro colunas, como no documento. O oitavo lugar é o cartão
   escuro com o que se repete todos os dias, e é ele que fecha a grelha. */
.dias{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  width:min(1200px,100%);list-style:none;padding:0;margin:0}
@media(max-width:1080px){.dias{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dias{grid-template-columns:1fr}}
.dias>li{display:flex;flex-direction:column;gap:12px;background:var(--surface);
  border:1px solid var(--line);border-radius:14px;padding:26px 22px}
.secao.clara .dias>li{background:var(--ground)}
.dias .n{font-size:clamp(26px,2.6vw,34px);line-height:1;font-weight:600;color:var(--sun);
  letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dias .t{margin:0;font-size:clamp(16px,1.5vw,18px);line-height:1.3;font-weight:600;color:var(--ink)}
.dias .d{margin:0;font-size:clamp(13.5px,1.3vw,15px);line-height:1.55;color:var(--muted)}

/* O cartão escuro que fecha a grelha dos dias. */
.dias>li.repete{background:var(--ink);border-color:var(--ink);justify-content:center;gap:16px}
.secao.clara .dias>li.repete{background:var(--ink)}
.dias>li.repete .etiqueta{color:var(--sun);text-align:left}
.dias>li.repete ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.dias>li.repete ul li{display:flex;align-items:center;gap:11px;
  font-size:clamp(13.5px,1.3vw,15px);line-height:1.4;color:var(--ground)}
.dias>li.repete svg{flex:none;color:var(--sun)}

/* O que recebes. */
.recebes{list-style:none;padding:0;margin:0;width:min(680px,100%);
  display:flex;flex-direction:column;gap:2px}
.recebes li{display:flex;gap:16px;align-items:baseline;padding:15px 4px;
  border-bottom:1px solid var(--line);font-size:clamp(14.5px,1.4vw,17px);line-height:1.5;
  color:var(--muted)}
.recebes li::before{content:'';width:8px;height:8px;border-radius:50%;flex:none;
  background:linear-gradient(100deg,var(--sun),var(--ember));transform:translateY(-2px)}
.recebes b{color:var(--ink);font-weight:600}

.preco{width:min(520px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:18px;padding:clamp(24px,3.4vw,34px);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px}
.secao.clara .preco{background:var(--ground)}
.preco .valor{margin:0;display:flex;align-items:baseline;gap:6px;justify-content:center}
.preco .valor b{font-size:clamp(44px,6vw,58px);font-weight:600;line-height:1;
  letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.preco .valor span{font-size:26px;font-weight:600;color:var(--bronze)}

/* A garantia é um selo, numa linha só: o que ela precisa é de ser vista, não lida.
   O crédito é a mecânica de 19 € que voltam, por isso mostra-se como percurso e não
   como parágrafo, que é o que fazia a promessa passar despercebida. */
.garantia-selo{display:flex;align-items:center;gap:14px;margin:0;width:min(600px,100%);
  background:var(--ring);border-radius:999px;padding:16px 26px;
  font-size:clamp(13.5px,1.3vw,15px);line-height:1.5;color:var(--muted);text-align:left}
.garantia-selo svg{flex:none;color:var(--bronze)}
.garantia-selo b{color:var(--ink);font-weight:600}

.credito{width:min(660px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:18px;padding:clamp(24px,3.2vw,32px);
  display:flex;flex-direction:column;align-items:center;gap:18px}
.secao.clara .credito{background:var(--ground)}
.credito-fluxo{display:flex;align-items:stretch;gap:14px;width:100%}
@media(max-width:600px){.credito-fluxo{flex-direction:column;align-items:center}}
.credito-passo{flex:1;display:flex;flex-direction:column;gap:4px;text-align:center;
  border:1px solid var(--line);border-radius:14px;padding:18px 16px}
.credito-passo b{font-size:clamp(20px,2.4vw,27px);font-weight:600;color:var(--ink);
  letter-spacing:-.03em;line-height:1.1}
.credito-passo span{font-size:clamp(12.5px,1.2vw,14px);line-height:1.45;color:var(--muted)}
.credito-passo.destino{border-color:var(--sun);
  background:linear-gradient(180deg,rgba(255,173,0,.10),transparent)}
.credito-passo.destino b{color:var(--bronze)}
.credito-seta{display:grid;place-items:center;color:var(--bronze);flex:none}
@media(max-width:600px){.credito-seta{transform:rotate(90deg)}}
.credito-nota{margin:0;text-align:center;font-size:clamp(13px,1.3vw,14.5px);line-height:1.6;
  color:var(--muted);max-width:52ch}
.credito-nota a{color:var(--ink);font-weight:600;white-space:nowrap}

/* Quem somos: foto e credenciais lado a lado. */
.autoras{display:grid;gap:clamp(20px,2.8vw,34px);align-items:center;width:min(880px,100%)}
@media(min-width:780px){.autoras{grid-template-columns:minmax(0,360px) 1fr;text-align:left}}
.autoras h2{margin:0 0 12px;text-align:center;max-width:none}
@media(min-width:780px){.autoras h2{text-align:left;max-width:16ch}}
.foto-autoras{margin:0}
.foto-autoras img{display:block;width:100%;height:auto;border-radius:18px;
  border:1px solid var(--line);object-fit:cover;aspect-ratio:4/3}
.credenciais{margin:0;font-size:clamp(14px,1.4vw,16px);line-height:1.65;color:var(--muted);
  text-align:center}
@media(min-width:780px){.credenciais{text-align:left}}

/* A frase que elas ouvem no consultório fica em bloco próprio: é o momento de prova da
   página, e isolada lê-se de relance. */
.escuta{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(720px,100%);
  text-align:center}
.escuta .antes{margin:0;font-size:clamp(14px,1.4vw,16px);line-height:1.6;color:var(--muted)}
.fala{margin:0;position:relative;padding:clamp(26px,3vw,34px) clamp(22px,3vw,36px);
  background:var(--surface);border:1px solid var(--line);border-radius:18px;
  font-size:clamp(18px,2vw,24px);line-height:1.35;font-weight:600;color:var(--ink);
  letter-spacing:-.015em;hyphens:manual}
.secao.clara .fala{background:var(--ground)}
.fala::before{content:'\201C';position:absolute;top:4px;left:16px;font-size:50px;line-height:1;
  color:var(--ring);font-weight:600}
.escuta .depois{margin:0;font-size:clamp(14.5px,1.4vw,17px);line-height:1.6;color:var(--muted)}
.texto-centro{margin:0;max-width:52ch;text-align:center;font-size:clamp(14.5px,1.4vw,17px);
  line-height:1.6;color:var(--muted)}

/* Para quem é, e para quem não é. */
.quem{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(1040px,100%)}
@media(max-width:760px){.quem{grid-template-columns:1fr}}
.quem article{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:clamp(24px,2.8vw,30px)}
.secao.clara .quem article{background:var(--ground)}
.quem h3{margin:0 0 14px;font-size:clamp(17px,1.7vw,20px);color:var(--ink);font-weight:600}
.quem ul{list-style:none;padding:0;margin:0}
.quem li{padding:9px 0 9px 24px;position:relative;font-size:clamp(14px,1.4vw,16px);
  line-height:1.55;color:var(--muted)}
.quem li::before{content:'';position:absolute;left:2px;top:calc(9px + .8em);width:9px;height:2px;
  border-radius:2px;background:var(--bronze)}

.duvidas{width:min(780px,100%)}
.duvidas details{border-bottom:1px solid var(--line)}
.duvidas summary{cursor:pointer;list-style:none;padding:19px 0;
  font-size:clamp(15px,1.5vw,17px);font-weight:600;color:var(--ink);
  display:flex;justify-content:space-between;gap:16px;align-items:center}
.duvidas summary::-webkit-details-marker{display:none}
.duvidas summary::after{content:'+';color:var(--bronze);font-size:24px;line-height:1;flex:none}
.duvidas details[open] summary::after{content:'\2212'}
.duvidas p{margin:0 0 22px;font-size:clamp(14px,1.4vw,16px);color:var(--muted);line-height:1.65}

.rodape-curso{padding:32px 24px 44px;background:var(--surface);border-top:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.rodape-curso img{height:34px;width:auto;opacity:.85}
.rodape-curso p{margin:0;font-size:12.5px;color:var(--muted)}
.rodape-curso a{color:var(--bronze)}

@media(max-width:560px){
  .secao{padding-left:20px;padding-right:20px}
  .cartao{gap:14px;padding:18px 20px}
}
