/* Sawa Coco — Typography
   Type scale + text rules, built on tokens.css. Values are unchanged from the
   previous font-system.css (each font-size now references an identical token).
   Font FAMILY is intentionally not set here — the site renders the system stack;
   see docs/TYPOGRAPHY-FINDING.md. Activating Mulish is a separate, deliberate step. */

body {
  font-size: var(--fs-base);
  line-height: var(--lh-base);
}

/* Font family — activate local Mulish across text, headings, buttons, nav,
   form fields, and footer text. Font Awesome icon elements are intentionally
   NOT selected, so they keep their own font-family. This sets family only —
   sizes, line-heights, spacing, and colors are unchanged. No !important. */
body,
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-button, button, .button, input[type="submit"],
.ct-menu-link,
input, textarea, select, label,
.footer-contact, .footer-pages-widget, .ct-footer-copyright {
  font-family: var(--font-sans);
}

/* Font size scale (utility classes) */
.font-small   { font-size: var(--fs-xs); }
.font-regular { font-size: var(--fs-base); }
.font-medium  { font-size: var(--fs-lg); }
.font-large   { font-size: var(--fs-h3); }
.font-x-large  { font-size: var(--fs-h2); }
.font-xx-large { font-size: var(--fs-display); }

/* Headings */
h1, .h1,
h1.elementor-heading-title.elementor-size-default {
  font-size: var(--fs-h1);
  margin-bottom: 1.5rem;
  margin-top: 0;
}

h2, .h2,
h2.elementor-heading-title.elementor-size-default,
.elementor-heading-title.elementor-size-medium {
  font-size: var(--fs-h2);
  margin-bottom: 1.25rem;
  margin-top: 0;
}

h3, .h3 {
  font-size: var(--fs-h3);
  margin-bottom: 1rem;
  margin-top: 0;
}

h4, .h4,
h4.elementor-heading-title.elementor-size-default {
  font-size: var(--fs-lg);
  margin-bottom: 0.875rem;
  margin-top: 0;
  font-weight: 600;
}

h5, .h5 {
  font-size: var(--fs-md);
  margin-bottom: 0.75rem;
  margin-top: 0;
  font-weight: 600;
}

h6, .h6 {
  font-size: var(--fs-base);
  margin-bottom: 0.75rem;
  margin-top: 0;
  font-weight: 600;
}

/* Paragraph and body text */
p {
  font-size: var(--fs-base);
  margin-bottom: 1rem;
}

/* Footer text */
.footer-contact,
.footer-pages-widget {
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}

.ct-footer-copyright p {
  font-size: var(--fs-xs);
  color: inherit;
}

/* Icon text (relative sizing) */
.icon-text,
.elementor-icon-box-description {
  font-size: var(--fs-sm);
}

.elementor-icon-box-description i,
.elementor-icon {
  font-size: var(--fs-icon);
}

/* Small text (metadata, timestamps, etc) */
small,
.small,
.meta {
  font-size: var(--fs-xs);
}

/* Links */
a {
  text-decoration: none;
  color: inherit;
}

.footer-pages-widget a,
.footer-contact a {
  color: inherit;
}
