/* ============================================================
   Blog do Portal da História do Ceará
   Identidade do site (tokens --phc-*) + pegada editorial
   Tipografia: Fraunces (títulos) + Newsreader (corpo) — mesma
   família usada no painel admin. Catamaran segue na navegação.
   ============================================================ */

:root {
  --blog-accent: var(--phc-gold, #d39e00);
  --blog-accent-deep: var(--phc-brown, #6a4f00);
}

/* ---------- HERO (gradiente marca, igual aos Fatos) ---------- */
.blog-hero {
  background:
    radial-gradient(ellipse at top left, rgba(244, 208, 63, 0.18), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(211, 158, 0, 0.22), transparent 60%),
    linear-gradient(135deg, #4a3600 0%, #6a4f00 45%, #8a6500 100%);
  color: #fff;
  padding: 92px 0 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.blog-hero .container { position: relative; z-index: 2; }
.blog-hero .blog-kicker { color: #f4d03f; }
.blog-hero h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: clamp(30px, 4.5vw, 46px);
  margin: 6px 0 10px;
  letter-spacing: -0.01em;
}
.blog-hero p {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.15rem;
  max-width: 640px;
  margin: 0 auto;
  opacity: 0.92;
}

/* ---------- KICKER / eyebrow ---------- */
.blog-kicker {
  font-family: 'Catamaran', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--blog-accent);
}

/* ---------- LISTAGEM ---------- */
.blog-feed { max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* Destaque (primeiro post) ao estilo dos grandes portais */
.blog-lead {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 34px;
  align-items: center;
  margin: 44px 0 10px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--phc-border, #dee2e6);
}
.blog-lead .cover {
  display: block;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  background: var(--phc-bg-warm, #faf6ee) center/cover no-repeat;
  box-shadow: 0 14px 40px var(--phc-shadow-color, rgba(0,0,0,.08));
}
.blog-lead h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.18;
  margin: 12px 0 14px;
  letter-spacing: -0.01em;
}
.blog-lead h2 a { color: var(--phc-text-heading, #222); text-decoration: none; }
.blog-lead h2 a:hover { color: var(--blog-accent-deep); }
.blog-lead .excerpt {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.12rem;
  line-height: 1.6;
  color: var(--phc-text-secondary, #555);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
  gap: 30px;
  margin: 44px 0 64px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  background: var(--phc-card-bg, #fff);
  border: 1px solid var(--phc-card-border, #e0e0e0);
  border-radius: 14px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 38px var(--phc-shadow-color, rgba(0,0,0,.10));
}
.blog-card .cover {
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--phc-bg-warm, #faf6ee) center/cover no-repeat;
}
.blog-card .body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.blog-card h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.3rem;
  line-height: 1.25;
  margin: 10px 0 10px;
}
.blog-card h2 a { color: var(--phc-text-heading, #222); text-decoration: none; }
.blog-card h2 a:hover { color: var(--blog-accent-deep); }
.blog-card .excerpt {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--phc-text-secondary, #555);
  flex: 1;
}
.blog-card .meta {
  font-family: 'Catamaran', sans-serif;
  font-size: 0.82rem;
  color: var(--phc-text-muted, #999);
  margin-top: 18px;
}

.blog-empty {
  text-align: center;
  padding: 72px 0;
  font-family: 'Newsreader', Georgia, serif;
  color: var(--phc-text-secondary, #555);
}
.blog-empty h3 { font-family: 'Fraunces', Georgia, serif; }

/* ---------- ARTIGO ---------- */
.post-wrap { max-width: 720px; margin: 0 auto; padding: 78px 16px 40px; }

.post-header { text-align: left; margin-bottom: 14px; }
.post-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: clamp(30px, 4.5vw, 46px);
  line-height: 1.14;
  letter-spacing: -0.015em;
  color: var(--phc-text-heading, #222);
  margin: 10px 0 16px;
}
.post-deck {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.28rem;
  line-height: 1.5;
  color: var(--phc-text-secondary, #555);
  margin: 0 0 22px;
}
.post-meta {
  font-family: 'Catamaran', sans-serif;
  font-size: 0.9rem;
  color: var(--phc-text-muted, #999);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--phc-border, #dee2e6);
}
.post-meta .sep { opacity: .5; }
.post-cover { width: 100%; border-radius: 14px; margin: 28px 0 8px; }

.post-body {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.2rem;
  line-height: 1.78;
  color: var(--phc-text, #333);
  margin-top: 30px;
}
.post-body > p:first-of-type { margin-top: 0; }
/* Capitular discreta no primeiro parágrafo (toque editorial) */
.post-body > p:first-of-type::first-letter {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 3.1em;
  line-height: 0.82;
  float: left;
  margin: 6px 10px 0 0;
  color: var(--blog-accent-deep);
}
.post-body p { margin: 0 0 22px; }
.post-body h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.7rem;
  line-height: 1.25;
  margin: 42px 0 14px;
  color: var(--phc-text-heading, #222);
}
.post-body h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.32rem;
  margin: 30px 0 10px;
  color: var(--phc-text-heading, #222);
}
.post-body ul, .post-body ol { margin: 0 0 22px; padding-left: 1.3em; }
.post-body li { margin: 0 0 10px; }
.post-body a { color: var(--blog-accent-deep); text-decoration: underline; text-underline-offset: 2px; }
.post-body a:hover { color: var(--blog-accent); }
.post-body strong { color: var(--phc-text-heading, #222); }
.post-body blockquote {
  border-left: 3px solid var(--blog-accent);
  margin: 28px 0;
  padding: 4px 0 4px 22px;
  font-style: italic;
  color: var(--phc-text-secondary, #555);
}
.post-body img { max-width: 100%; height: auto; border-radius: 10px; }

.post-footer {
  margin-top: 50px;
  padding-top: 26px;
  border-top: 1px solid var(--phc-border, #dee2e6);
  font-family: 'Catamaran', sans-serif;
}
.post-footer .post-cta {
  display: inline-block;
  margin-right: 18px;
  font-weight: 600;
  color: var(--blog-accent-deep);
  text-decoration: none;
}
.post-footer .post-cta:hover { color: var(--blog-accent); }

/* ---------- responsivo ---------- */
@media (max-width: 760px) {
  .blog-lead { grid-template-columns: 1fr; gap: 18px; }
  .blog-lead .cover { order: -1; }
  .post-body { font-size: 1.12rem; }
  .post-body > p:first-of-type::first-letter { font-size: 2.6em; }
}
