/* ==========================================================================
   TIPOGRAFIA & COMPONENTES BASE EDITORIAIS
   Fontes:
   - Primária: Instrument Sans (Títulos, Subtítulos, Textos, Botões)
   - Secundária Técnica: IBM Plex Mono (Números de Seções, Microlabels, Metadados)
   (Fontes carregadas de forma assíncrona com preconnect e display=swap no HTML)
   ========================================================================== */

/* ==========================================================================
   ELEMENTOS TIPOGRÁFICOS BÁSICOS
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
  color: inherit;
  text-wrap: balance;
}

p {
  font-family: var(--font-primary);
  color: var(--text-muted);
  line-height: var(--lh-body);
  font-size: var(--font-size-body);
  letter-spacing: var(--ls-body);
  max-width: 68ch; /* Comprimento editorial ideal de leitura */
}

/* ==========================================================================
   CLASSES DE HIERARQUIA TIPOGRÁFICA
   ========================================================================== */
.display-title {
  font-size: var(--font-size-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-display);
  font-weight: var(--fw-regular);
}

.heading-1 {
  font-size: var(--font-size-h1);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-h1);
  font-weight: var(--fw-medium);
}

.heading-2 {
  font-size: var(--font-size-h2);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-h2);
  font-weight: var(--fw-medium);
}

.heading-3 {
  font-size: var(--font-size-h3);
  line-height: var(--lh-subheading);
  letter-spacing: var(--ls-h3);
  font-weight: var(--fw-medium);
}

.body-lead {
  font-size: var(--font-size-body-lg);
  line-height: var(--lh-body-lg);
  color: var(--text-primary);
  font-weight: var(--fw-regular);
}

.body-regular {
  font-size: var(--font-size-body);
  line-height: var(--lh-body);
  color: var(--text-muted);
}

.body-small {
  font-size: var(--font-size-body-sm);
  line-height: 1.5;
  color: var(--text-subtle);
}

/* ==========================================================================
   TIPOGRAFIA TÉCNICA EDITORIAL (IBM PLEX MONO)
   ========================================================================== */
.mono-index {
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-index);
  line-height: var(--lh-mono);
  letter-spacing: var(--ls-mono-index);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  color: var(--color-gold-accessible);
}

.mono-label {
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-label);
  line-height: var(--lh-mono);
  letter-spacing: var(--ls-mono-label);
  text-transform: uppercase;
  font-weight: var(--fw-medium);
  color: var(--text-subtle);
}

.mono-spec {
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-index);
  letter-spacing: 0.04em;
  color: var(--text-primary);
}

/* ==========================================================================
   BARRA DE NAVEGAÇÃO EDITORIAL DE SEÇÃO: [NÚMERO] ───────── MICROLABEL
   ========================================================================== */
.editorial-section-nav {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  margin-bottom: var(--space-lg);
}

.editorial-section-nav__number {
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-index);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-mono-index);
  color: var(--color-forest);
  white-space: nowrap;
}

.editorial-section-nav__line {
  flex: 1;
  height: 1px;
  background-color: rgba(13, 44, 39, 0.18);
}

.editorial-section-nav__label {
  font-family: var(--font-mono);
  font-size: var(--font-size-mono-label);
  letter-spacing: var(--ls-mono-label);
  text-transform: uppercase;
  color: var(--text-subtle);
  /* white-space: nowrap; Removido para permitir quebra de linha no mobile */
}

/* Inversão para seções de fundo escuro (Forest) */
.section-editorial--forest .editorial-section-nav__number {
  color: var(--color-gold);
}

.section-editorial--forest .editorial-section-nav__line {
  background-color: rgba(244, 241, 233, 0.2);
}

.section-editorial--forest .editorial-section-nav__label {
  color: var(--text-contrast-muted);
}

/* ==========================================================================
   ACORDEÃO EDITORIAL (FAQ)
   ========================================================================== */
/* Os estilos do acordeão editorial estão centralizados em css/grid.css */

/* ==========================================================================
   BOTÕES & AÇÕES EDITORIAIS (INSTRUMENT SANS, PROIBIDO BORDAS GIGANTES)
   ========================================================================== */
.btn-editorial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  font-family: var(--font-primary);
  font-size: var(--font-size-body-sm);
  font-weight: var(--fw-medium);
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  padding: 14px 28px;
  border-radius: var(--radius-subtle);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}

/* Botão Primário: Sólido Forest com texto Ivory */
.btn-editorial--primary {
  background-color: var(--color-forest);
  color: var(--color-ivory);
  border: 1px solid var(--color-forest);
}

.btn-editorial--primary:hover {
  background-color: #164039;
  border-color: #164039;
}

/* Botão Secundário / Outline com linha milimétrica */
.btn-editorial--outline {
  background-color: transparent;
  color: var(--color-forest);
  border: var(--border-hairline);
}

.btn-editorial--outline:hover {
  background-color: rgba(13, 44, 39, 0.05);
  border-color: var(--color-forest);
}

/* Variação em fundo Forest */
.section-editorial--forest .btn-editorial--primary {
  background-color: var(--color-ivory);
  color: var(--color-forest);
  border-color: var(--color-ivory);
}

.section-editorial--forest .btn-editorial--primary:hover {
  background-color: #fff;
  border-color: #fff;
}

.section-editorial--forest .btn-editorial--outline {
  background-color: transparent;
  color: var(--color-ivory);
  border: var(--border-contrast);
}

.section-editorial--forest .btn-editorial--outline:hover {
  background-color: rgba(244, 241, 233, 0.08);
  border-color: var(--color-ivory);
}

/* Botão Secundário Discreto (Underline Editorial) */
.btn-editorial--subtle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--text-primary);
  font-family: var(--font-primary);
  font-size: var(--font-size-body-sm);
  font-weight: var(--fw-medium);
  letter-spacing: 0.01em;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(13, 44, 39, 0.3);
  cursor: pointer;
  padding: 10px 4px;
  transition: text-decoration-color 0.2s ease, color 0.2s ease;
}

.btn-editorial--subtle:hover {
  text-decoration-color: var(--color-forest);
  color: var(--color-forest);
}

/* Ponto de Dourado Editorial Restrito */
.gold-dot {
  color: var(--color-gold);
  font-weight: var(--fw-semibold);
}

