/* ============================================================
   Tipografia do conteúdo dos artigos (.article-content-isolated)
   Override carregado após o bundle (source do frontend perdido).
   Paleta do site: primary #3D4F5C · accent gold #C9A34A
   ============================================================ */

/* --- Títulos --- */
.article-content-isolated h2,
.article-content-isolated h3,
.article-content-isolated h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  color: #2e3d49;
  line-height: 1.3;
}

.article-content-isolated h2 {
  font-size: 1.75rem;
  margin: 2.75rem 0 1.1rem;
}

/* Filete dourado curto sob o h2 — mesmo padrão dos títulos de seção do site */
.article-content-isolated h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 0.65rem;
  background: #c9a34a;
  border-radius: 2px;
}

.article-content-isolated h3 {
  font-size: 1.35rem;
  margin: 2.25rem 0 0.9rem;
}

.article-content-isolated h4 {
  font-size: 1.15rem;
  margin: 1.9rem 0 0.75rem;
}

.article-content-isolated > h2:first-child,
.article-content-isolated > h3:first-child {
  margin-top: 0;
}

/* --- hr que o editor insere antes dos títulos: removido.
       O filete dourado sob o título assume o papel de separador. --- */
.article-content-isolated hr:has(+ h2),
.article-content-isolated hr:has(+ h3) {
  display: none;
}

/* hr "solto" (sem título logo depois) vira um separador discreto */
.article-content-isolated hr {
  border: 0;
  height: 1px;
  background: rgba(61, 79, 92, 0.12);
  margin: 2.5rem 0;
}

/* --- Parágrafos --- */
.article-content-isolated p {
  margin: 0 0 1.2rem;
  line-height: 1.8;
}

/* Parágrafos vazios do editor (<p><br></p>) não geram buracos;
   o ritmo vertical passa a ser controlado pelas margens acima */
.article-content-isolated p:has(> br:only-child) {
  display: none;
}

/* --- Listas (o reset do bundle remove marcadores; restaura aqui) --- */
.article-content-isolated ul,
.article-content-isolated ol {
  margin: 0 0 1.2rem;
  padding-left: 1.6rem;
}

.article-content-isolated ul { list-style: disc; }
.article-content-isolated ol { list-style: decimal; }

.article-content-isolated li {
  margin: 0.45rem 0;
  line-height: 1.75;
  padding-left: 0.2rem;
}

.article-content-isolated li::marker {
  color: #c9a34a;
}

/* --- Destaques --- */
.article-content-isolated strong {
  font-weight: 600;
  color: #2e3d49;
}

/* --- Imagens dentro de artigos (se houver) --- */
.article-content-isolated img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.75rem auto;
}

/* --- Mobile --- */
@media (max-width: 640px) {
  .article-content-isolated h2 {
    font-size: 1.45rem;
    margin-top: 2.25rem;
  }

  .article-content-isolated h3 {
    font-size: 1.22rem;
  }
}
