/**
 * CIYWR Global Typography
 *
 * Soft system: shared font families + size tokens.
 * Does NOT force sizes/colors on Elementor widgets (that broke layouts).
 * Custom sections keep their own designed sizes.
 */

:root {
	/* Families */
	--ciywr-font-sans: "Source Sans 3", Verdana, Geneva, sans-serif;
	--ciywr-font-serif: "Source Serif 4", Georgia, "Times New Roman", Times, serif;

	/* Brand colors (shared site theme) */
	--ciywr-color-accent: #c43c30;
	--ciywr-color-accent-hover: #d14f42;
	--ciywr-color-accent-deep: #a83228;
	--ciywr-color-dark: #101318;
	--ciywr-color-panel: #161b22;
	--ciywr-color-text: #1f232b;
	--ciywr-color-muted: #5c616c;
	--ciywr-color-border: rgba(31, 35, 43, 0.12);
	--ciywr-color-soft: rgba(196, 60, 48, 0.07);
	--ciywr-color-surface: #ffffff;
	--ciywr-color-surface-dim: #f5f6f8;

	/* Weights */
	--ciywr-weight-regular: 400;
	--ciywr-weight-medium: 600;
	--ciywr-weight-bold: 700;

	/* Line heights */
	--ciywr-leading-body: 1.65;
	--ciywr-leading-heading: 1.25;

	/* Size tokens (reference scale — use in section CSS) */
	--ciywr-text-h1: 42px;
	--ciywr-text-h2: 34px;
	--ciywr-text-h3: 26px;
	--ciywr-text-h4: 22px;
	--ciywr-text-h5: 18px;
	--ciywr-text-h6: 15px;
	--ciywr-text-body: 16px;
	--ciywr-text-lead: 18px;
	--ciywr-text-small: 14px;
	--ciywr-text-caption: 13px;
	--ciywr-text-button: 14px;
	--ciywr-text-nav: 15px;
}

@media (max-width: 1024px) {
	:root {
		--ciywr-text-h1: 36px;
		--ciywr-text-h2: 30px;
		--ciywr-text-h3: 24px;
		--ciywr-text-h4: 20px;
		--ciywr-text-h5: 17px;
		--ciywr-text-h6: 14px;
		--ciywr-text-body: 16px;
		--ciywr-text-lead: 17px;
		--ciywr-text-small: 14px;
		--ciywr-text-caption: 12px;
		--ciywr-text-button: 14px;
		--ciywr-text-nav: 15px;
	}
}

@media (max-width: 767px) {
	:root {
		--ciywr-text-h1: 30px;
		--ciywr-text-h2: 26px;
		--ciywr-text-h3: 22px;
		--ciywr-text-h4: 18px;
		--ciywr-text-h5: 16px;
		--ciywr-text-h6: 13px;
		--ciywr-text-body: 15px;
		--ciywr-text-lead: 16px;
		--ciywr-text-small: 13px;
		--ciywr-text-caption: 12px;
		--ciywr-text-button: 13px;
		--ciywr-text-nav: 14px;
	}
}

/* ----- Base family only ----- */
html {
	font-size: 100%;
}

body {
	font-family: var(--ciywr-font-sans);
	font-size: 16px;
	font-weight: var(--ciywr-weight-regular);
	line-height: var(--ciywr-leading-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

button,
input,
select,
textarea {
	font-family: var(--ciywr-font-sans);
}

/* Headings: family only — never force color/size site-wide */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--ciywr-font-sans);
}

p,
li,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
	font-family: var(--ciywr-font-sans);
}

/* Scripture / quote family */
blockquote,
.ciywr-scripture,
.ciywr-quote {
	font-family: var(--ciywr-font-serif);
	font-style: italic;
}

/* Blog / post content only — safe size defaults */
.entry-content > h1,
.single .entry-title {
	font-size: var(--ciywr-text-h1);
	line-height: 1.2;
	font-weight: var(--ciywr-weight-bold);
}

.entry-content > h2 {
	font-size: var(--ciywr-text-h2);
	line-height: var(--ciywr-leading-heading);
	font-weight: var(--ciywr-weight-bold);
}

.entry-content > h3 {
	font-size: var(--ciywr-text-h3);
	font-weight: var(--ciywr-weight-bold);
}

.entry-content > h4 {
	font-size: var(--ciywr-text-h4);
	font-weight: var(--ciywr-weight-bold);
}

.entry-content > h5 {
	font-size: var(--ciywr-text-h5);
	font-weight: var(--ciywr-weight-bold);
}

.entry-content > h6 {
	font-size: var(--ciywr-text-h6);
	font-weight: var(--ciywr-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.entry-content > p {
	font-size: var(--ciywr-text-body);
	line-height: var(--ciywr-leading-body);
}

/* Soft nav / button family */
.elementor-button,
.elementor-button-text,
.wp-block-button__link,
nav a,
.menu-item a {
	font-family: var(--ciywr-font-sans);
}

/* Custom section shells inherit sans */
.ciywr-usa-events,
.ciywr-jesus-all,
.ciywr-newsletter,
.ciywr-footer,
.ciywr-pathways {
	font-family: var(--ciywr-font-sans);
}

@media (max-width: 767px) {
	body {
		font-size: 15px;
	}
}
