/*!
 * Café com Direito — Sistema Tipográfico
 * Escopo: aplica-se via classes .ccd-* para não conflitar com o tema/Elementor.
 * Para aplicar globalmente, adicione body.ccd-typography no <body>.
 */

/* === Classes utilitárias de tipografia === */

.ccd-display,
.ccd-h1,
.ccd-h2 {
  font-family: var(--ccd-font-display);
  font-weight: var(--ccd-fw-semibold);
  letter-spacing: var(--ccd-tracking-tight);
  color: var(--ccd-text);
  margin: 0 0 var(--ccd-space-md);
}

.ccd-h1 {
  font-size: var(--ccd-fs-h1);
  line-height: var(--ccd-lh-tight);
}

.ccd-h2 {
  font-size: var(--ccd-fs-h2);
  font-weight: var(--ccd-fw-medium);
  line-height: var(--ccd-lh-snug);
}

.ccd-h3 {
  font-family: var(--ccd-font-body);
  font-size: var(--ccd-fs-h3);
  font-weight: var(--ccd-fw-bold);
  line-height: var(--ccd-lh-normal);
  color: var(--ccd-text);
  margin: 0 0 var(--ccd-space-sm);
}

.ccd-h4 {
  font-family: var(--ccd-font-body);
  font-size: var(--ccd-fs-h4);
  font-weight: var(--ccd-fw-semibold);
  line-height: var(--ccd-lh-normal);
  color: var(--ccd-text);
  margin: 0 0 var(--ccd-space-sm);
}

.ccd-body {
  font-family: var(--ccd-font-body);
  font-size: var(--ccd-fs-body);
  font-weight: var(--ccd-fw-regular);
  line-height: var(--ccd-lh-relaxed);
  color: var(--ccd-text);
}

.ccd-meta,
.ccd-eyebrow {
  font-family: var(--ccd-font-body);
  font-size: var(--ccd-fs-meta);
  font-weight: var(--ccd-fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--ccd-tracking-wide);
  color: var(--ccd-text-muted);
}

.ccd-eyebrow--accent {
  color: var(--ccd-accent);
}

.ccd-accent-script {
  font-family: var(--ccd-font-accent);
  font-weight: var(--ccd-fw-regular);
  color: var(--ccd-accent);
}

/* Texto sobre fundo escuro */
.ccd-on-dark .ccd-h1,
.ccd-on-dark .ccd-h2,
.ccd-on-dark .ccd-h3,
.ccd-on-dark .ccd-h4,
.ccd-on-dark .ccd-body {
  color: var(--ccd-text-on-dark);
}

.ccd-on-dark .ccd-meta {
  color: rgba(250, 250, 247, 0.7);
}

/* Texto de leitura — limite confortável para artigos */
.ccd-prose {
  max-width: var(--ccd-reading-max);
  font-family: var(--ccd-font-body);
  font-size: var(--ccd-fs-body);
  line-height: var(--ccd-lh-relaxed);
  color: var(--ccd-text);
}

.ccd-prose p {
  margin: 0 0 1.25em;
}

.ccd-prose a {
  color: var(--ccd-link);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1.5px;
  transition: color var(--ccd-transition-fast);
}

.ccd-prose a:hover {
  color: var(--ccd-accent);
}

/* === Modo "global": aplica nas tags padrão (use com parcimônia) === */
body.ccd-typography h1 { font-family: var(--ccd-font-display); font-weight: var(--ccd-fw-semibold); }
body.ccd-typography h2 { font-family: var(--ccd-font-display); font-weight: var(--ccd-fw-medium); }
body.ccd-typography h3, body.ccd-typography h4 { font-family: var(--ccd-font-body); font-weight: var(--ccd-fw-bold); }
body.ccd-typography p, body.ccd-typography li { font-family: var(--ccd-font-body); line-height: var(--ccd-lh-relaxed); }
