/* Pluridiomas — Área do Aluno
   Paleta e tipografia coerentes com o site principal. */

:root{
  --areia:#f7f3ec;
  --areia-2:#efe8dc;
  --tinta:#1c2b27;
  --tinta-suave:#4a5a55;
  --terra:#b4532b;
  --terra-escuro:#933f1e;
  --verde:#1f6f54;
  --verde-escuro:#16523e;
  --borda:#e2d9c9;
  --branco:#ffffff;
  --erro-bg:#fdecea; --erro-bd:#f3b4ad; --erro-tx:#7f1d1d;
  --ok-bg:#e9f5ef;  --ok-bd:#b7e0cd;  --ok-tx:#16523e;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--areia);
  color:var(--tinta);
  line-height:1.6;
  min-height:100vh;
}

a{color:var(--terra);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- Topo ---- */
.topo{
  background:var(--verde-escuro);
  color:var(--branco);
  border-bottom:3px solid var(--terra);
}
.topo .container{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px}
.marca{font-family:'Fraunces',serif;font-weight:900;font-size:1.35rem;color:var(--branco);letter-spacing:.3px}
.marca span{color:#f0c9a8;font-style:italic;font-weight:500}
.topo nav{display:flex;align-items:center;gap:18px;font-size:.9rem}
.topo nav a{color:rgba(255,255,255,.9)}
.topo nav a:hover{color:#fff}
.eyebrow{
  font-family:'Inter',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--terra);
}

/* ---- Layout ---- */
.container{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}
main{padding:40px 0 70px}
.estreito{max-width:440px}

/* ---- Cartões e formulários ---- */
.cartao{
  background:var(--branco);border:1px solid var(--borda);border-radius:18px;
  padding:32px;box-shadow:0 1px 2px rgba(28,43,39,.04);
}
h1{font-family:'Fraunces',serif;font-weight:900;font-size:2rem;line-height:1.15;color:var(--tinta);margin-bottom:6px}
h1 em{font-style:italic;color:var(--terra)}
h2{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;color:var(--verde-escuro);margin-bottom:14px}
.sub{color:var(--tinta-suave);margin-bottom:24px}

label{display:block;font-size:.85rem;font-weight:600;color:var(--tinta);margin:14px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{
  width:100%;background:var(--areia);border:1px solid var(--borda);border-radius:11px;
  padding:12px 14px;font-size:.95rem;font-family:inherit;color:var(--tinta);outline:none;
  transition:border-color .15s,box-shadow .15s;
}
input:focus,textarea:focus,select:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(31,111,84,.12)}
textarea{min-height:90px;resize:vertical}

.btn{
  display:inline-block;border:none;border-radius:50px;cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:600;padding:13px 26px;text-align:center;
  transition:transform .12s,background .2s;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-terra{background:var(--terra);color:#fff}
.btn-terra:hover{background:var(--terra-escuro);color:#fff}
.btn-verde{background:var(--verde);color:#fff}
.btn-verde:hover{background:var(--verde-escuro);color:#fff}
.btn-bloco{width:100%}
.btn-ghost{background:transparent;border:1px solid var(--borda);color:var(--tinta)}

.linha-secundaria{margin-top:18px;font-size:.9rem;color:var(--tinta-suave)}

/* ---- Avisos ---- */
.aviso{border-radius:12px;padding:13px 16px;margin-bottom:18px;font-size:.9rem}
.aviso-erro{background:var(--erro-bg);border:1px solid var(--erro-bd);color:var(--erro-tx)}
.aviso-ok{background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-tx)}

/* ---- Paywall ---- */
.paywall{text-align:center;max-width:560px;margin:0 auto}
.paywall .preco{font-family:'Fraunces',serif;font-weight:900;font-size:2.6rem;color:var(--terra);margin:6px 0}
.paywall .preco small{font-size:1rem;color:var(--tinta-suave);font-weight:500;font-family:'Inter',sans-serif}
.beneficios{list-style:none;text-align:left;max-width:380px;margin:20px auto 26px}
.beneficios li{padding:7px 0 7px 28px;position:relative;color:var(--tinta);font-size:.92rem}
.beneficios li::before{content:'✓';position:absolute;left:0;color:var(--verde);font-weight:800}

/* ---- Grade de aulas ---- */
.status-faixa{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  background:var(--areia-2);border:1px solid var(--borda);border-radius:14px;
  padding:14px 18px;margin-bottom:28px;font-size:.9rem;
}
.modulo-titulo{font-family:'Fraunces',serif;font-weight:600;font-size:1.25rem;color:var(--verde-escuro);margin:30px 0 14px}
.aula{background:var(--branco);border:1px solid var(--borda);border-radius:16px;overflow:hidden;margin-bottom:24px}
.video-wrap{position:relative;width:100%;padding-top:56.25%;background:#000}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aula-corpo{padding:18px 22px}
.aula-corpo h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;color:var(--tinta);margin-bottom:6px}
.aula-corpo p{color:var(--tinta-suave);font-size:.92rem}

/* ---- Tabela admin ---- */
table{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:8px}
th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tinta-suave);
   padding:10px 12px;border-bottom:2px solid var(--borda)}
td{padding:11px 12px;border-bottom:1px solid var(--borda);vertical-align:top}
tr:hover td{background:var(--areia)}
.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:50px}
.pill-on{background:var(--ok-bg);color:var(--ok-tx)}
.pill-off{background:var(--erro-bg);color:var(--erro-tx)}
.acoes a{margin-right:10px;font-size:.85rem}

/* ---- Rodapé ---- */
.rodape{border-top:1px solid var(--borda);background:var(--areia-2);color:var(--tinta-suave);
  font-size:.84rem;text-align:center;padding:26px 16px}
.rodape a{color:var(--verde)}

/* ---- Responsivo ---- */
@media(max-width:560px){
  h1{font-size:1.6rem}
  .cartao{padding:22px}
  .topo .container{flex-direction:column;align-items:flex-start}
  .topo nav{flex-wrap:wrap;gap:12px}
}
@media (prefers-reduced-motion: reduce){
  .btn:hover{transform:none}
}
