/* ============================================================
   TRAILS SCHOOL — lp.css
   Páginas de destino por segmento (ensino-fundamental, proposta-bilingue,
   after-school, matriculas-2027). Complementa style.css e blog.css.
============================================================ */

/* ── Hero ───────────────────────────────────────────────── */
.lp-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--yellow, #FFB800);
  margin-bottom: 12px;
}
.lp-hero h1 { max-width: 820px; }
.lp-hero-lead {
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
  max-width: 700px;
  margin-bottom: 28px;
}
.lp-ctas { display: flex; gap: 12px; flex-wrap: wrap; }

/* ── Botão de WhatsApp (verde da marca WhatsApp, texto escuro para contraste AA) ── */
.btn-whatsapp {
  background: #25D366;
  color: #0A2E1C;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}
.btn-whatsapp:hover { background: #1EBE5A; transform: translateY(-2px); }
.btn-whatsapp .wa-icon { width: 20px; height: 20px; flex-shrink: 0; }

/* ── Corpo do texto ─────────────────────────────────────── */
.lp-page .article-body ul li { margin-bottom: 8px; }
.lp-facts {
  display: grid;
  /* 4 destaques por página: 2 × 2 (auto-fit deixava 3 + 1 no desktop) */
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 8px 0 32px;
}
.lp-fact {
  background: var(--gray-light, #F0F1FA);
  border-radius: var(--radius-md, 16px);
  padding: 18px 20px;
}
.lp-fact strong {
  display: block;
  font-family: var(--font-title);
  font-size: 1.35rem;
  color: var(--blue-deep, #13178A);
  line-height: 1.2;
  margin-bottom: 4px;
}
.lp-fact span { font-size: 0.88rem; color: var(--gray-dark, #374151); line-height: 1.5; }

/* ── FAQ (títulos menores que os da home) ───────────────── */
.lp-faq .faq-header { margin-bottom: 32px; }
.lp-faq .faq-header h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
/* O padding em .faq-answer deixava ~20px da resposta à mostra com o item fechado;
   no <p> ele fica dentro da área recolhida */
.lp-faq .faq-answer { padding-bottom: 0; }
.lp-faq .faq-answer p { padding-bottom: 20px; }

/* ── Links para as outras páginas ───────────────────────── */
.lp-explore { background: var(--white, #fff); }
.lp-section-title {
  font-family: var(--font-title);
  font-size: clamp(1.4rem, 2.6vw, 1.8rem);
  color: var(--blue-deep, #13178A);
  text-align: center;
  margin-bottom: 28px;
}
.lp-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-link-card {
  display: block;
  padding: 22px 24px;
  border: 2px solid var(--gray-light, #F0F1FA);
  border-radius: var(--radius-md, 16px);
  transition: border-color var(--transition), transform var(--transition);
}
.lp-link-card:hover { border-color: var(--blue, #2B2FC7); transform: translateY(-2px); }
.lp-link-card strong {
  display: block;
  font-family: var(--font-title);
  font-size: 1.1rem;
  color: var(--blue, #2B2FC7);
  margin-bottom: 6px;
}
.lp-link-card strong::after { content: ' →'; }
.lp-link-card span { font-size: 0.9rem; color: var(--gray-dark, #374151); line-height: 1.55; }

@media (max-width: 1024px) {
  .lp-links { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  /* blog.css zera o padding lateral no celular; nas LPs o texto precisa de respiro */
  .lp-page .article-body-wrap { padding: 36px 20px 60px; }
  .lp-facts { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lp-fact { padding: 14px 16px; }
  .lp-fact strong { font-size: 1.15rem; }
}
@media (max-width: 640px) {
  .lp-ctas .btn { width: 100%; }
  .cta-banner-btns .btn-whatsapp { white-space: normal; }
}
