/* ============================================
   LUDOVARA — TIPOGRAFIA
   ============================================ */


/* === HEADINGS === */
h1, .h1 {
  font-family: var(--font-title);
  font-size: var(--text-hero);
  font-weight: var(--weight-regular);
  letter-spacing: -0.02em;
  color: var(--color-black);
  line-height: 1.15;
}

h2, .h2 {
  font-family: var(--font-title);
  font-size: var(--text-h2);
  font-weight: var(--weight-regular);
  letter-spacing: -0.01em;
  color: var(--color-black);
}

h3, .h3 {
  font-family: var(--font-body);
  font-size: var(--text-h3);
  font-weight: var(--weight-bold);
  color: var(--color-black);
}

h4, .h4 {
  font-family: var(--font-body);
  font-size: var(--text-h4);
  font-weight: var(--weight-semibold);
  color: var(--color-black);
}

/* === PARÁGRAFOS === */
p {
  font-size: var(--text-body);
  line-height: var(--line-body);
  color: var(--color-black);
}

.text-lg { font-size: var(--text-body-lg) !important; }
.text-sm { font-size: var(--text-small) !important; }
.text-xs { font-size: var(--text-xs) !important; }

/* === COR DO TEXTO === */
.text-white  { color: var(--color-white) !important; }
.text-green  { color: var(--color-green-dark) !important; }
.text-accent { color: var(--color-green-accent) !important; }
.text-brown  { color: var(--color-brown-dark) !important; }
.text-gray   { color: var(--color-gray) !important; }

/* === PESO === */
.font-regular  { font-weight: var(--weight-regular) !important; }
.font-semibold { font-weight: var(--weight-semibold) !important; }
.font-bold     { font-weight: var(--weight-bold) !important; }

/* === ALINHAMENTO === */
.text-center { text-align: center !important; }
.text-left   { text-align: left !important; }
.text-right  { text-align: right !important; }

/* === SUBTÍTULO DE SEÇÃO === */
.section-label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-green-accent);
  margin-bottom: var(--space-2);
  display: block;
}

/* Heading em fundo escuro */
.on-dark h1,
.on-dark h2,
.on-dark h3,
.on-dark h4,
.on-dark p {
  color: var(--color-white);
}

.on-dark .section-label {
  color: var(--color-green-accent);
}
