/* Conteúdo do mês (lote, vídeo, link do grupo): node scripts/admin.mjs conteudo conteudo.json
   Guias: arquivos em public/guias/ e lista GUIAS em js/app.js */

:root{
  --verde: #3E6B47;
  --verde-escuro: #1F2E22;
  --dourado: #D4A373;
  --terracota: #B5654A;
  --marrom: #6B4423;
  --creme: #ffedb1;
  --creme-2: #EDE3CE;
}

*{ margin:0; padding:0; box-sizing:border-box; }

body{
  font-family:'Manrope', sans-serif;
  background: var(--creme);
  color: var(--verde-escuro);
  line-height:1.6;
}

.faixa-topo{
  background: var(--verde-escuro);
  color: var(--creme);
  text-align:center;
  padding:10px 16px;
  font-size:15px;
  letter-spacing:.04em;
}

header{
  padding: 56px 20px 40px;
  text-align:center;
  background:
    radial-gradient(circle at 15% 20%, rgba(212,163,115,0.25), transparent 45%),
    radial-gradient(circle at 85% 0%, rgba(62,107,71,0.18), transparent 50%),
    var(--creme);
}

.logo-tag{
  display:inline-block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--marrom);
  border:1px solid var(--marrom);
  border-radius:100px;
  padding:6px 16px;
  margin-bottom:22px;
}

h1{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size: clamp(32px, 6vw, 54px);
  color: var(--verde-escuro);
  line-height:1.08;
  max-width: 720px;
  margin: 0 auto 14px;
}

h1 em{
  font-style:italic;
  color: var(--verde);
}

.sub{
  font-size:17px;
  color:#4a4a3a;
  max-width:520px;
  margin: 0 auto;
}

.lote-badge{
  margin-top: 28px;
  display:inline-flex;
  gap:10px;
  align-items:center;
  background: var(--verde-escuro);
  color: var(--creme);
  padding:10px 22px;
  border-radius:100px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.03em;
}
.lote-badge .ponto{
  width:8px;height:8px;border-radius:50%;
  background: var(--dourado);
}

/* VÍDEO */
.video-section{
  max-width:1000px;
  margin: 44px auto 0;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.video-wrap{
  position:relative;
  width:100%;
  max-width:960px;
  aspect-ratio:16 / 9;
  border-radius:12px;
  overflow:hidden;
  background:var(--verde-escuro);
}
.video-wrap iframe{
  position:absolute; 
  top:0; 
  left:0; 
  width:100%; 
  height:100%; 
  border:0;
}

/* MENSAGEM */
.mensagem{
  max-width: 620px;
  margin: 40px auto 0;
  padding: 28px 30px;
  background: white;
  border-left: 4px solid var(--verde);
  border-radius: 4px;
  font-size: 16px;
  color:#3a3a30;
}
.mensagem b{ color: var(--verde-escuro); }
.assinatura{
  margin-top:14px;
  font-family:'Fraunces', serif;
  font-style:italic;
  color: var(--marrom);
  font-size:15px;
}

/* PDFS */
.pdf-section{
  max-width: 880px;
  margin: 64px auto 0;
  padding: 0 20px;
}
.pdf-titulo{
  text-align:center;
  margin-bottom:8px;
}
.pdf-titulo .eyebrow{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--terracota);
  margin-bottom:8px;
}
.pdf-titulo h2{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size: clamp(24px, 4vw, 32px);
}
.pdf-sub{
  text-align:center;
  color:#5a5a4a;
  max-width:460px;
  margin: 10px auto 36px;
  font-size:15px;
}

.pdf-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap:14px;
}
.pdf-card{
  display:flex;
  align-items: center;
  gap: 15px;
  background:white;
  border-radius:12px;
  padding:18px 18px 16px;
  text-decoration:none;
  color: var(--verde-escuro);
  border:1px solid #e6ddc8;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pdf-card img{
  width: 80px;
  height: 80px;
  object-fit: contain;
  flex: 0 0 80px;
  border-radius: 12px;
  background: #f8f5ed;
}
.pdf-card .nome{
  font-weight:700;
  font-size:15px;
  margin-bottom:3px;
}

.pdf-card:focus-visible,
.btn-whats:focus-visible,
.btn-grupo:focus-visible{
  outline: 3px solid var(--terracota);
  outline-offset: 3px;
}

.pdf-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -10px rgba(31,46,34,0.25);
  border-color: var(--verde);
}

/* RODAPÉ / CTA */
footer{
  margin-top: 70px;
  padding: 48px 20px 40px;
  background: var(--verde-escuro);
  color: var(--creme);
  text-align:center;
}
footer h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size: clamp(20px,3.4vw,28px);
  margin-bottom:10px;
}
footer p{
  color: var(--creme);
  max-width:420px;
  margin: 0 auto 24px;
  font-size:14.5px;
}
.btn-whats{
  display:inline-block;
  background: var(--verde);
  color:var(--creme);
  font-weight:700;
  padding:14px 30px;
  border-radius:100px;
  text-decoration:none;
  font-size:15px;
}

.grupo-whats{
  text-align:center;
  margin-top:32px;
}

.grupo-whats h2{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size: clamp(20px,3.4vw,28px);
  margin-bottom:10px;
}

.btn-grupo{
  margin-top: 32px;
  display:inline-block;
  background: var(--dourado);
  color: var(--verde-escuro);
  font-weight:700;
  padding:14px 30px;
  border-radius:100px;
  text-decoration:none;
  font-size:15px;
}

.rodape-fino{
  margin-top:32px;
  font-size:12px;
  color: var(--creme);
}

@media (max-width:600px){
  .faixa-topo{ font-size:13px; }
  header{ padding:42px 18px 32px; }
  .sub{ font-size:15px; }
  .video-section{ margin-top:30px; padding:0 14px; }
  .grupo-whats{ padding:0 16px; }
  .mensagem{ margin:30px 14px 0; padding:22px 20px; }
  .pdf-section{ margin-top:48px; padding:0 14px; }
  .pdf-grid{ grid-template-columns:1fr; gap:10px; }
  .pdf-card{ padding:13px; gap:13px; }
  .pdf-card img{ width:68px; height:68px; flex-basis:68px; }
  footer{ margin-top:52px; padding:40px 18px 32px; }
  .lote-badge{ font-size:12px; padding:9px 15px; }
}
/* ===== LOGIN ===== */
[hidden]{ display:none !important; }
#login-screen{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
  background: radial-gradient(circle at 15% 20%, rgba(212,163,115,.25), transparent 45%), var(--creme);
}
.login-box{ width:100%; max-width:420px; background:#fff; border:1px solid #e6ddc8; border-radius:16px; padding:28px 24px; box-shadow:0 20px 40px -20px rgba(31,46,34,.35); }
.login-logo{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.login-logo-icon{ font-size:28px; background:var(--creme-2); border-radius:12px; width:48px; height:48px; display:grid; place-items:center; }
.login-logo h1{ font-size:24px; margin:0; text-align:left; }
.login-title{ font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--marrom); margin-bottom:16px; }
.login-field{ margin-bottom:14px; }
.login-field label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.login-field input{ width:100%; padding:14px; font-size:17px; border:1px solid #d9cfb8; border-radius:10px; font-family:inherit; }
.login-field input:focus{ outline:3px solid rgba(62,107,71,.35); border-color:var(--verde); }
#turnstile-box{ margin:6px 0 14px; min-height:65px; }
.login-btn{ width:100%; padding:14px; border:0; border-radius:100px; background:var(--verde); color:var(--creme); font-weight:700; font-size:15px; cursor:pointer; }
.login-btn:disabled{ opacity:.6; cursor:wait; }
.btn-esqueci{ width:100%; margin-top:10px; background:none; border:0; color:var(--terracota); font-size:14px; cursor:pointer; text-decoration:underline; }
.login-error{ color:#a3281a; font-size:14px; margin-top:12px; min-height:1px; }
.login-success{ color:var(--verde); font-size:14px; margin-top:12px; min-height:1px; }
.login-security{ margin-top:18px; font-size:12px; color:#8a8270; text-align:center; }
.btn-sair{ display:block; margin:18px auto 0; background:none; border:1px solid var(--creme); color:var(--creme); border-radius:100px; padding:8px 20px; cursor:pointer; font-size:13px; }
