/*
 * Shared typography styles for editor and frontend.
 * Font sizes use CSS custom properties generated by theme.json (fluid clamp values).
 * Fallback clamp values are provided for non-WordPress contexts.
 * Viewport range: 320px → 1280px
 */

/* Root font size */
html {
	font-size: 16px;
}

/* ─── Body / Paragraph ──────────────────────────────────────────────────── */

body {
	font-family: "Montserrat", sans-serif;
	font-size: var(--wp--preset--font-size--paragraph-regular, clamp(16px, calc(15.33px + 0.208vw), 18px));
	line-height: 1.6;
	color: #020a4c;
}

p {
	font-size: var(--wp--preset--font-size--paragraph-regular, clamp(16px, calc(15.33px + 0.208vw), 18px));
	line-height: 1.6;
	margin: 0;
}

a {
	color: #0c1270;
}

/* ─── Headings ──────────────────────────────────────────────────────────── */
/* Source Sans 3 — Bold (700) for H1–H4, Semibold (600) for H5, Medium (500) for H6 */

h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

h1 {
	font-size: var(--wp--preset--font-size--h1, clamp(40px, calc(33.33px + 2.083vw), 60px));
	font-weight: 700;
	line-height: 1;
}

h2 {
	font-size: var(--wp--preset--font-size--h2, clamp(28px, calc(24px + 1.25vw), 40px));
	font-weight: 700;
	line-height: 1;
}

h3 {
	font-size: var(--wp--preset--font-size--h3, clamp(26px, calc(25.33px + 0.208vw), 28px));
	font-weight: 700;
	line-height: 1;
}

h4 {
	font-size: var(--wp--preset--font-size--h4, clamp(24px, calc(23.33px + 0.208vw), 26px));
	font-weight: 700;
	line-height: 1;
}

h5 {
	font-size: var(--wp--preset--font-size--h5, clamp(18px, calc(16px + 0.625vw), 24px));
	font-weight: 600;
	line-height: 1;
}

h6 {
	font-size: var(--wp--preset--font-size--h6, clamp(16px, calc(15.33px + 0.208vw), 18px));
	font-weight: 500;
	line-height: 1;
}

/* ─── Display sizes ─────────────────────────────────────────────────────── */
/* Source Sans 3 — Black (900). Apply via .is-style-display-1 / .is-style-display-2  */

.display-1 {
	font-family: "Source Sans 3", sans-serif;
	font-size: var(--wp--preset--font-size--display-1, clamp(55px, calc(48.33px + 2.083vw), 75px));
	font-weight: 900;
	line-height: 1;
}

.display-2 {
	font-family: "Source Sans 3", sans-serif;
	font-size: var(--wp--preset--font-size--display-2, clamp(45px, calc(38.33px + 2.083vw), 65px));
	font-weight: 900;
	line-height: 1;
}

/* ─── Paragraph size utilities ──────────────────────────────────────────── */
/* Montserrat — apply via .text-xl / .text-l / .text-small in templates    */

.text-xl {
	font-size: var(--wp--preset--font-size--paragraph-xl, clamp(22px, calc(17.67px + 1.354vw), 35px));
}

.text-l {
	font-size: var(--wp--preset--font-size--paragraph-l, clamp(18px, calc(16.67px + 0.417vw), 22px));
}

.text-small {
	font-size: var(--wp--preset--font-size--paragraph-small, clamp(14px, calc(13.33px + 0.208vw), 16px));
}


/* ─── Font size preset line heights ─────────────────────────────────────── */
/* Applied via .has-{slug}-font-size when a preset is picked in the editor  */

.has-display-1-font-size,
.has-display-2-font-size,
.has-h1-font-size,
.has-h2-font-size,
.has-h3-font-size,
.has-h4-font-size,
.has-h5-font-size,
.has-h6-font-size {
	line-height: 1;
}

/* ─── Block consistency ─────────────────────────────────────────────────── */

.wp-block-paragraph {
	font-size: var(--wp--preset--font-size--paragraph-regular, clamp(16px, calc(15.33px + 0.208vw), 18px));
	line-height: 1.6;
}

