/* ══════════════════════════════════════════════
   CONTEÚDO DO ARTIGO — tipografia premium
   Otimizado para leitura, compreensão e visual
══════════════════════════════════════════════ */

.pm-art-content {
  font-size: 16px;
  line-height: 1.9;
  color: var(--pm-t2);
  font-weight: 300;
  max-width: 68ch; /* largura ideal para leitura — ~70 caracteres */
}

/* PARÁGRAFOS */
.pm-art-content p {
  margin-bottom: 1.75rem;
}

/* TÍTULOS — hierarquia clara com espaço generoso acima */
.pm-art-content h2,
.pm-art-content h3,
.pm-art-content h4 {
  font-family: var(--pm-fd);
  font-weight: 800;
  color: var(--pm-t1);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

/* Quando título vem logo após parágrafo — reduz o gap */
.pm-art-content p + h2,
.pm-art-content p + h3,
.pm-art-content p + h4 {
  margin-top: 2.5rem;
}

/* Quando título vem logo após lista */
.pm-art-content ul + h2,
.pm-art-content ol + h2,
.pm-art-content ul + h3,
.pm-art-content ol + h3 {
  margin-top: 2.5rem;
}

.pm-art-content h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--pm-b2);
}

.pm-art-content h3 {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  color: var(--pm-t1);
}

.pm-art-content h4 {
  font-size: 1.05rem;
  color: var(--pm-t2);
  font-weight: 700;
  letter-spacing: 0;
}

/* LISTAS */
.pm-art-content ul,
.pm-art-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.pm-art-content li {
  line-height: 1.75;
  color: var(--pm-t2);
  padding-left: 0.25rem;
}

.pm-art-content ul li::marker {
  color: var(--pm-gold);
}

.pm-art-content ol li::marker {
  color: var(--pm-gold);
  font-weight: 600;
  font-family: var(--pm-fm);
  font-size: 13px;
}

/* ÊNFASE */
.pm-art-content strong,
.pm-art-content b {
  color: var(--pm-t1);
  font-weight: 600;
}

.pm-art-content em,
.pm-art-content i {
  color: var(--pm-t2);
  font-style: italic;
}

/* LINKS */
.pm-art-content a {
  color: var(--pm-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition:
    color 0.15s,
    text-decoration-color 0.15s;
}

.pm-art-content a:hover {
  color: var(--pm-goldl);
  text-decoration-color: transparent;
}

/* CITAÇÃO */
.pm-art-content blockquote {
  border-left: 3px solid var(--pm-gold);
  padding: 1rem 1.5rem;
  margin: 2rem 0;
  background: var(--pm-bg2);
  border-radius: 0 var(--pm-r) var(--pm-r) 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--pm-t2);
}

.pm-art-content blockquote p {
  margin-bottom: 0;
}

/* CÓDIGO INLINE */
.pm-art-content code {
  font-family: var(--pm-fm);
  font-size: 13px;
  background: var(--pm-bg2);
  border: 1px solid var(--pm-b2);
  border-radius: 4px;
  padding: 2px 7px;
  color: var(--pm-teal);
  word-break: break-word;
}

/* BLOCO DE CÓDIGO */
.pm-art-content pre {
  background: var(--pm-bg2);
  border: 1px solid var(--pm-b2);
  border-radius: var(--pm-rl);
  padding: 1.5rem;
  overflow-x: auto;
  margin: 1.75rem 0;
  font-family: var(--pm-fm);
  font-size: 13px;
  line-height: 1.7;
  tab-size: 2;
}

.pm-art-content pre code {
  background: none;
  border: none;
  padding: 0;
  color: var(--pm-t1);
  font-size: inherit;
}

/* IMAGENS */
.pm-art-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--pm-rl);
  border: 1px solid var(--pm-b2);
  margin: 1.5rem 0;
  display: block;
}

.pm-art-content figure {
  margin: 2rem 0;
}

.pm-art-content figcaption {
  font-family: var(--pm-fm);
  font-size: 11px;
  color: var(--pm-t3);
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 0.5rem;
}

/* DIVISOR */
.pm-art-content hr {
  border: none;
  border-top: 1px solid var(--pm-b2);
  margin: 2.5rem 0;
}

/* TABELAS */
.pm-art-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.75rem;
  font-size: 14px;
}

.pm-art-content th {
  background: var(--pm-bg2);
  color: var(--pm-t1);
  font-family: var(--pm-fd);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.65rem 1rem;
  text-align: left;
  border-bottom: 2px solid var(--pm-b1);
}

.pm-art-content td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--pm-b3);
  color: var(--pm-t2);
  vertical-align: top;
  line-height: 1.6;
}

.pm-art-content tr:last-child td {
  border-bottom: none;
}

/* Primeiro e último elementos sem margens extras */
.pm-art-content > *:first-child {
  margin-top: 0;
}
.pm-art-content > *:last-child {
  margin-bottom: 0;
}

/* MOBILE — ajuste de fonte e largura */
@media (max-width: 767px) {
  .pm-art-content {
    font-size: 15px;
    max-width: 100%;
  }

  .pm-art-content h2 {
    font-size: 1.3rem;
  }
  .pm-art-content h3 {
    font-size: 1.1rem;
  }

  .pm-art-content pre {
    font-size: 12px;
    padding: 1rem;
  }
}
