/* ── Self-hosted Cal Sans (base SemiBold, OFL-licensed) ──
   Cal Sans ships a single master and its real weight is SemiBold. Google Fonts
   served it in the 400 slot, so any `font-weight: 600` was browser faux-bold.
   Self-hosting the real SemiBold and declaring it across 400–700 means every
   Cal Sans usage renders the true semibold glyphs and never synthesizes.
   See "The Cal Sans 600 Rule" in DESIGN.md. */
@font-face {
  font-family: "Cal Sans";
  src: url("../fonts/CalSans-SemiBold.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-title: "Cal Sans", sans-serif;
  --font-heading: "Old Standard TT", serif;
  --font-body: "Roboto", sans-serif;
}

/* Body */
body,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-container,
p,
li,
a,
span,
button,
input,
textarea,
select {
  font-family: var(--font-body) !important;
}

/* H1 */
h1,
.elementor-heading-title.elementor-size-default,
.elementor-widget-heading h1,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-title) !important;
  font-weight: 600 !important;
}

/* H2-H6 */
h2,
h3,
h4,
h5,
h6,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
  font-family: var(--font-heading) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

/* Utility class when you want Cal Sans manually */
.font-cal,
.font-cal h1,
.font-cal h2,
.font-cal h3,
.font-cal h4,
.font-cal h5,
.font-cal h6,
.elementor .font-cal .elementor-heading-title {
  font-family: var(--font-title) !important;
  font-weight: 600 !important;
}