/*
Theme Name: Evoport
Theme URI: https://evoport.com
Author: Evoport
Description: Evoport — global branding (Figma Design System). Section CSS lives in assets/css/sections/.
Version: 1.1.9
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: evoport
*/

/* ==========================================================================
   1. FONT IMPORTS
   Manrope — headings, subtitles (S1), footer (button UI → custom widgets)
   Inter   — subtitle S2
   Body / label — Helvetica Neue (system stack, no web import)
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap");

/* ==========================================================================
   2. DESIGN TOKENS
   ========================================================================== */

:root {
	/* —— 2.1 Breakpoints —— */
	--evo-bp-mobile: 480px;
	--evo-bp-tablet: 720px;
	--evo-bp-laptop: 1020px;
	--evo-bp-desktop: 1440px;

	/* —— 2.2 Layout & spacing (container → .evo-container class, not :root) —— */
	/* Homepage grid inset — section widgets inherit unless full-bleed */
	--evo-section-inset: clamp(24px, calc(70 * 100vw / 1440), 70px);
	--evo-stack-gap: 44px;
	--evo-section-gap: 120px;
	--evo-hero-title-to-sub: 32px;
	--evo-hero-sub-to-cta: 56px;
	--evo-section-title-offset: 56px;
	--evo-space-8: 8px;
	--evo-space-16: 16px;

	/* —— 2.3 Colors — raw palette —— */
	/* Primary / Earth (E) */
	--evo-c-sand-cream: #e4c89a;
	--evo-c-rust-band: #d8b788;
	--evo-c-pale-tan: #cf9c6b;
	--evo-c-burnt-orange: #b97845;
	--evo-c-earth-brown: #8b6b49;
	--evo-c-deep-shadow: #6b4d32;
	/* Secondary / Blue (S) */
	--evo-c-deep-azure: #3d7a95;
	--evo-c-sky-blue: #5b9eb2;
	--evo-c-soft-azure: #72b8c5;
	--evo-c-pale-teal: #8dd0d0;
	--evo-c-horizon-mist: #a9cfcc;
	/* Deep / Green (D) */
	--evo-c-crystal-ice: #c3dcd0;
	--evo-c-glass-mint: #a5c9b3;
	--evo-c-glacier-cyan: #95c6b9;
	--evo-c-shadow-sage: #6c9293;
	/* Neutral (N) */
	--evo-c-aged-paper: #efe6d6;
	--evo-c-warm-ridge: #aca07d;
	--evo-c-mist-grey: #a58c71;
	--evo-c-dusty-olive: #859582;
	--evo-c-ink-black: #1d1a15;
	--evo-c-white: #ffffff;
	--evo-c-black: #000000;
	--evo-c-white-68: rgba(255, 255, 255, 0.68);

	/* —— 2.4 Colors — semantic aliases —— */
	--evo-color-text: var(--evo-c-ink-black);
	--evo-color-text-muted: var(--evo-c-mist-grey);
	--evo-color-text-on-dark: var(--evo-c-white);
	--evo-color-bg-site: var(--evo-c-white);
	--evo-c-platform-bg: #040d17;
	--evo-color-bg-platform: var(--evo-c-platform-bg);
	--evo-color-bg-section-warm: var(--evo-c-aged-paper);
	--evo-color-bg-section-cool: var(--evo-c-crystal-ice);
	--evo-color-heading-accent: var(--evo-c-deep-azure);
	--evo-color-accent: var(--evo-c-burnt-orange);
	--evo-color-border: var(--evo-c-dusty-olive);

	/* —— 2.5 Typography — font families —— */
	--evo-font-heading: "Manrope", sans-serif;
	--evo-font-subtitle: "Manrope", sans-serif;
	--evo-font-subtitle-alt: "Inter", sans-serif;
	--evo-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--evo-font-label: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--evo-font-button: "Manrope", sans-serif;
	--evo-font-footer: "Manrope", sans-serif;

	/* —— 2.6 Typography — scale —— */
	/* H1 — Semi Bold 56 / 120% / -3% */
	--evo-h1-size: 56px;
	--evo-h1-weight: 600;
	--evo-h1-line: 1.2;
	--evo-h1-spacing: -0.03em;
	/* H2 — Semi Bold 48 / 120% / -1% */
	--evo-h2-size: 48px;
	--evo-h2-weight: 600;
	--evo-h2-line: 1.2;
	--evo-h2-spacing: -0.01em;
	/* H3 — Medium 32 / 120% / 0 */
	--evo-h3-size: 32px;
	--evo-h3-weight: 500;
	--evo-h3-line: 1.2;
	--evo-h3-spacing: 0;
	/* H4 — Medium 24 / 120% / 0 */
	--evo-h4-size: 24px;
	--evo-h4-weight: 500;
	--evo-h4-line: 1.2;
	--evo-h4-spacing: 0;
	/* H5 — Bold 20 / 125% / 2% */
	--evo-h5-size: 20px;
	--evo-h5-weight: 700;
	--evo-h5-line: 1.25;
	--evo-h5-spacing: 0.02em;
	/* S1 — Manrope Medium 20 / 28px / 0.1px */
	--evo-s1-size: 20px;
	--evo-s1-weight: 500;
	--evo-s1-line: 28px;
	--evo-s1-spacing: 0.1px;
	/* S2 — Inter Light 16 / 20px / 0 */
	--evo-s2-size: 16px;
	--evo-s2-weight: 300;
	--evo-s2-line: 20px;
	--evo-s2-spacing: 0;
	/* B1 — Regular 18 / 140% / 4% */
	--evo-b1-size: 18px;
	--evo-b1-weight: 400;
	--evo-b1-line: 1.4;
	--evo-b1-spacing: 0.04em;
	/* B2 — Medium 16 / 20px / 0 */
	--evo-b2-size: 16px;
	--evo-b2-weight: 500;
	--evo-b2-line: 20px;
	--evo-b2-spacing: 0;
	/* B3 — Regular 16 / 140% / 4% */
	--evo-b3-size: 16px;
	--evo-b3-weight: 400;
	--evo-b3-line: 1.4;
	--evo-b3-spacing: 0.04em;
	/* B4 — Regular 12 / 125% / 4% */
	--evo-b4-size: 12px;
	--evo-b4-weight: 400;
	--evo-b4-line: 1.25;
	--evo-b4-spacing: 0.04em;
	/* Label — Medium 12.81 / 18.3px / 0 */
	--evo-label-size: 12.81px;
	--evo-label-weight: 500;
	--evo-label-line: 18.3px;
	--evo-label-spacing: 0;
	/* Giant — Medium 14 / 20px / 0 (button label type; component CSS in custom widgets) */
	--evo-giant-size: 14px;
	--evo-giant-weight: 500;
	--evo-giant-line: 20px;
	--evo-giant-spacing: 0;
	/* F1 — ExtraBold 14 / 120% / -0.16% */
	--evo-f1-size: 14px;
	--evo-f1-weight: 800;
	--evo-f1-line: 1.2;
	--evo-f1-spacing: -0.0016em;
	/* F2 — SemiBold 14 / 120% / -0.16% */
	--evo-f2-size: 14px;
	--evo-f2-weight: 600;
	--evo-f2-line: 1.2;
	--evo-f2-spacing: -0.0016em;
	/* F3 — Bold 14 / 120% / -0.16% */
	--evo-f3-size: 14px;
	--evo-f3-weight: 700;
	--evo-f3-line: 1.2;
	--evo-f3-spacing: -0.0016em;

	/* —— 2.7 Border radius (button radius → custom widget CSS) —— */
	--evo-radius-card: 16px;

	/* —— 2.8 Shadows (button shadow → custom widget CSS) —— */
	--evo-shadow-blur: 0 0 40px 0 rgba(26, 26, 26, 0.12);
	--evo-shadow-card:
		-22.85px 172.22px 48.97px 0 rgba(0, 0, 0, 0),
		-14.69px 110.19px 44.89px 0 rgba(0, 0, 0, 0.01),
		-8.16px 62.03px 37.55px 0 rgba(0, 0, 0, 0.03),
		-0.82px 6.53px 15.51px 0 rgba(0, 0, 0, 0.05),
		-3.26px 27.75px 27.75px 0 rgba(0, 0, 0, 0.04);

	/* —— 2.9 Animation (button motion → custom widget CSS) —— */
	--evo-transition-base: 0.45s ease;
}

/* ==========================================================================
   3. ELEMENTOR GLOBALS → FIGMA TOKENS
   ========================================================================== */

:root:root {
	/* Global fonts */
	--e-global-typography-primary-font-family: var(--evo-font-heading);
	--e-global-typography-primary-font-weight: var(--evo-h1-weight);

	--e-global-typography-secondary-font-family: var(--evo-font-subtitle);
	--e-global-typography-secondary-font-weight: var(--evo-s1-weight);
	--e-global-typography-secondary-font-size: var(--evo-s1-size);
	--e-global-typography-secondary-line-height: var(--evo-s1-line);
	--e-global-typography-secondary-letter-spacing: var(--evo-s1-spacing);

	--e-global-typography-text-font-family: var(--evo-font-body);
	--e-global-typography-text-font-weight: var(--evo-b1-weight);
	--e-global-typography-text-font-size: var(--evo-b1-size);
	--e-global-typography-text-line-height: var(--evo-b1-line);
	--e-global-typography-text-letter-spacing: var(--evo-b1-spacing);

	--e-global-typography-accent-font-family: var(--evo-font-button);
	--e-global-typography-accent-font-weight: var(--evo-giant-weight);
	--e-global-typography-accent-font-size: var(--evo-giant-size);
	--e-global-typography-accent-line-height: var(--evo-giant-line);
	--e-global-typography-accent-letter-spacing: var(--evo-giant-spacing);

	/* Global colors */
	--e-global-color-primary: var(--evo-c-deep-azure);
	--e-global-color-secondary: var(--evo-c-earth-brown);
	--e-global-color-text: var(--evo-c-ink-black);
	--e-global-color-accent: var(--evo-c-burnt-orange);
}

/* ==========================================================================
   4. BASE RESET & DEFAULTS
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	color: var(--evo-color-text);
	background-color: var(--evo-color-bg-site);
	font-family: var(--evo-font-body);
	font-size: var(--evo-b1-size);
	font-weight: var(--evo-b1-weight);
	line-height: var(--evo-b1-line);
	letter-spacing: var(--evo-b1-spacing);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea {
	font-family: inherit;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ==========================================================================
   5. TYPOGRAPHY — base HTML elements
   ========================================================================== */

h1 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h1-size);
	font-weight: var(--evo-h1-weight);
	line-height: var(--evo-h1-line);
	letter-spacing: var(--evo-h1-spacing);
	margin: 0;
}

h2 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h2-size);
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
	margin: 0;
}

h3 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h3-size);
	font-weight: var(--evo-h3-weight);
	line-height: var(--evo-h3-line);
	letter-spacing: var(--evo-h3-spacing);
	margin: 0;
}

h4 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h4-size);
	font-weight: var(--evo-h4-weight);
	line-height: var(--evo-h4-line);
	letter-spacing: var(--evo-h4-spacing);
	margin: 0;
}

h5 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
	margin: 0;
}

h6 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
	margin: 0;
}

p {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b1-size);
	font-weight: var(--evo-b1-weight);
	line-height: var(--evo-b1-line);
	letter-spacing: var(--evo-b1-spacing);
	margin: 0 0 1em;
}

/* ==========================================================================
   6. TYPOGRAPHY — utility classes
   ========================================================================== */

.evo-h1,
h1.evo-h1 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h1-size);
	font-weight: var(--evo-h1-weight);
	line-height: var(--evo-h1-line);
	letter-spacing: var(--evo-h1-spacing);
	margin: 0;
}

.evo-h2,
h2.evo-h2 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h2-size);
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
	margin: 0;
}

.evo-h3,
h3.evo-h3 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h3-size);
	font-weight: var(--evo-h3-weight);
	line-height: var(--evo-h3-line);
	letter-spacing: var(--evo-h3-spacing);
	margin: 0;
}

.evo-h4,
h4.evo-h4 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h4-size);
	font-weight: var(--evo-h4-weight);
	line-height: var(--evo-h4-line);
	letter-spacing: var(--evo-h4-spacing);
	margin: 0;
}

.evo-h5,
h5.evo-h5 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
	margin: 0;
}

.evo-s1 {
	font-family: var(--evo-font-subtitle);
	font-size: var(--evo-s1-size);
	font-weight: var(--evo-s1-weight);
	line-height: var(--evo-s1-line);
	letter-spacing: var(--evo-s1-spacing);
	margin: 0;
}

.evo-s2 {
	font-family: var(--evo-font-subtitle-alt);
	font-size: var(--evo-s2-size);
	font-weight: var(--evo-s2-weight);
	line-height: var(--evo-s2-line);
	letter-spacing: var(--evo-s2-spacing);
	margin: 0;
}

.evo-b1 {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b1-size);
	font-weight: var(--evo-b1-weight);
	line-height: var(--evo-b1-line);
	letter-spacing: var(--evo-b1-spacing);
	margin: 0;
}

.evo-b2 {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b2-size);
	font-weight: var(--evo-b2-weight);
	line-height: var(--evo-b2-line);
	letter-spacing: var(--evo-b2-spacing);
	margin: 0;
}

.evo-b3 {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b3-size);
	font-weight: var(--evo-b3-weight);
	line-height: var(--evo-b3-line);
	letter-spacing: var(--evo-b3-spacing);
	margin: 0;
}

.evo-b4 {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b4-size);
	font-weight: var(--evo-b4-weight);
	line-height: var(--evo-b4-line);
	letter-spacing: var(--evo-b4-spacing);
	margin: 0;
}

.evo-label {
	font-family: var(--evo-font-label);
	font-size: var(--evo-label-size);
	font-weight: var(--evo-label-weight);
	line-height: var(--evo-label-line);
	letter-spacing: var(--evo-label-spacing);
	margin: 0;
}

.evo-f1 {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f1-size);
	font-weight: var(--evo-f1-weight);
	line-height: var(--evo-f1-line);
	letter-spacing: var(--evo-f1-spacing);
	margin: 0;
}

.evo-f2 {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f2-size);
	font-weight: var(--evo-f2-weight);
	line-height: var(--evo-f2-line);
	letter-spacing: var(--evo-f2-spacing);
	margin: 0;
}

.evo-f3 {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f3-size);
	font-weight: var(--evo-f3-weight);
	line-height: var(--evo-f3-line);
	letter-spacing: var(--evo-f3-spacing);
	margin: 0;
}

/* ==========================================================================
   7. GLOBAL UTILITIES
   ========================================================================== */

/* Figma Desktop artboard — max 1440px, horizontal padding 8px */
.evo-container {
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: 8px;
}

.evo-section {
	width: 100%;
}

.evo-text-center {
	text-align: center;
}

/*
 * Elementor Heading widget — responsive H2 (Figma tablet/mobile).
 * Add CSS class evo-responsive-h2 on the Heading widget (Advanced → CSS Classes)
 * or on the parent container. Desktop ≥1101px unchanged (Elementor size wins).
 */
@media (max-width: 1100px) {
	.elementor-element.evo-responsive-h2 .elementor-heading-title,
	.e-con.evo-responsive-h2 .elementor-widget-heading .elementor-heading-title {
		font-family: var(--evo-font-heading, "Manrope", sans-serif) !important;
		font-weight: var(--evo-h2-weight, 600) !important;
		line-height: var(--evo-h2-line, 1.2) !important;
		letter-spacing: var(--evo-h2-spacing, -0.01em) !important;
		text-align: center !important;
		margin-inline: auto !important;
		max-width: min(560px, 88vw) !important;
		text-wrap: balance;
	}
}

@media (min-width: 701px) and (max-width: 1100px) {
	.elementor-element.evo-responsive-h2 .elementor-heading-title,
	.e-con.evo-responsive-h2 .elementor-widget-heading .elementor-heading-title {
		font-size: clamp(28px, calc(40 * 100vw / 1440), 40px) !important;
	}
}

@media (max-width: 700px) {
	.elementor-element.evo-responsive-h2 .elementor-heading-title,
	.e-con.evo-responsive-h2 .elementor-widget-heading .elementor-heading-title {
		font-size: clamp(26px, 7.2vw, 32px) !important;
		max-width: min(340px, 92vw) !important;
	}
}

@media (max-width: 479px) {
	.evo-hidden-mobile {
		display: none !important;
	}
}

@media (min-width: 480px) and (max-width: 719px) {
	.evo-hidden-tablet {
		display: none !important;
	}
}

@media (min-width: 720px) and (max-width: 1019px) {
	.evo-hidden-laptop {
		display: none !important;
	}
}

@media (min-width: 1020px) {
	.evo-hidden-desktop {
		display: none !important;
	}
}

/* ==========================================================================
   8. ELEMENTOR — widget overrides
   Per-tag headings (Elementor applies one global size to all tags otherwise).
   ========================================================================== */

.elementor-widget-heading h1.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h1-size);
	font-weight: var(--evo-h1-weight);
	line-height: var(--evo-h1-line);
	letter-spacing: var(--evo-h1-spacing);
}

.elementor-widget-heading h2.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h2-size);
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
}

.elementor-widget-heading h3.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h3-size);
	font-weight: var(--evo-h3-weight);
	line-height: var(--evo-h3-line);
	letter-spacing: var(--evo-h3-spacing);
}

.elementor-widget-heading h4.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h4-size);
	font-weight: var(--evo-h4-weight);
	line-height: var(--evo-h4-line);
	letter-spacing: var(--evo-h4-spacing);
}

.elementor-widget-heading h5.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
}

.elementor-widget-heading h6.elementor-heading-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
}

/* Text Editor — body B1; headings inside editor use Figma scale */
.elementor-widget-text-editor .elementor-text-editor :is(p, li) {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b1-size);
	font-weight: var(--evo-b1-weight);
	line-height: var(--evo-b1-line);
	letter-spacing: var(--evo-b1-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h1 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h1-size);
	font-weight: var(--evo-h1-weight);
	line-height: var(--evo-h1-line);
	letter-spacing: var(--evo-h1-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h2 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h2-size);
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h3 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h3-size);
	font-weight: var(--evo-h3-weight);
	line-height: var(--evo-h3-line);
	letter-spacing: var(--evo-h3-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h4 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h4-size);
	font-weight: var(--evo-h4-weight);
	line-height: var(--evo-h4-line);
	letter-spacing: var(--evo-h4-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h5 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
}

.elementor-widget-text-editor .elementor-text-editor h6 {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
}

/* Buttons: custom Elementor widgets only — no core/Button widget overrides here. */

/* ==========================================================================
   9. ELEMENTOR — section rhythm (Figma Design System)
   Desktop (≥1021px): assets/css/evo-section-spacing.css — auto gap + token fixes.
   Optional class evo-section-gap on a parent when sections are not direct siblings.
   — 120px between sections (--evo-section-gap)
   — 32px title → subtitle (--evo-hero-title-to-sub)
   — 56px heading → content (--evo-section-title-offset)
   ========================================================================== */

@media (max-width: 1020px) {
	.e-con.e-parent.evo-section-gap:not(:first-child) {
		margin-top: var(--evo-section-gap);
	}
}

.e-con.e-parent.evo-section-gap > .e-con-inner {
	padding-inline: 8px;
	box-sizing: border-box;
}

@media (max-width: 1020px) {
	:root {
		--evo-section-gap: 24px;
	}
}

/* ==========================================================================
   10. WIDGET TYPOGRAPHY — Evoport Elementor widgets → Figma scale (H1–H5, B1–B4, S1–S2)
   Enforces style.css :root tokens across section widgets.
   ========================================================================== */

/* H1 — hero headline */
.elementor-widget-evoport-hero .evo-hero__title,
.elementor-widget-evoport-hero h1.evo-hero__title {
	font-family: var(--evo-font-heading) !important;
	font-size: var(--evo-h1-size) !important;
	font-weight: var(--evo-h1-weight) !important;
	line-height: var(--evo-h1-line) !important;
	letter-spacing: var(--evo-h1-spacing) !important;
}

/* H2 — section titles */
.elementor-widget-evoport-faq .evo-faq__title,
.elementor-widget-evo-latest-blogs .evo-blogs__title,
.elementor-widget-evoport-gtm-compare .evo-gtm-compare__title,
.elementor-widget-evoport-expert-steps .evo-expert-steps__title,
.elementor-widget-evoport-gif .evo-gif-banner__title,
.elementor-widget-evoport-gif h2.evo-gif-banner__title {
	font-family: var(--evo-font-heading);
	font-size: clamp(32px, 3.77vw, var(--evo-h2-size));
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
}

.elementor-widget-evoport-gtm-flow .evo-gtm-flow__title {
	font-family: var(--evo-font-heading);
	font-size: clamp(32px, 3.77vw, var(--evo-h2-size));
	font-weight: 500;
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
}

.elementor-widget-evoport-section-title .evo-section-title {
	font-family: var(--evo-font-heading);
	font-weight: var(--evo-h2-weight);
	line-height: var(--evo-h2-line);
	letter-spacing: var(--evo-h2-spacing);
}

/* H3 — tri card titles */
.elementor-widget-evoport-tri-cards .evo-tri-cards__title {
	font-family: var(--evo-font-heading);
	font-size: clamp(24px, 5vw, var(--evo-h3-size));
	font-weight: var(--evo-h3-weight);
	line-height: var(--evo-h3-line);
	letter-spacing: var(--evo-h3-spacing);
}

/* H4 — card / panel titles */
.elementor-widget-evo-latest-blogs .evo-blog-card__title,
.elementor-widget-evoport-gtm-flow .evo-gtm-flow__card-title,
.elementor-widget-evoport-expert-steps .evo-expert-steps__step-title {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h4-size);
	font-weight: var(--evo-h4-weight);
	line-height: var(--evo-h4-line);
	letter-spacing: var(--evo-h4-spacing);
}

/* H5 — FAQ questions */
.elementor-widget-evoport-faq .evo-faq__item-question {
	font-family: var(--evo-font-heading);
	font-size: var(--evo-h5-size);
	font-weight: var(--evo-h5-weight);
	line-height: var(--evo-h5-line);
	letter-spacing: var(--evo-h5-spacing);
}

/* S1 — FAQ row numbers */
.elementor-widget-evoport-faq .evo-faq__item-number {
	font-family: var(--evo-font-subtitle);
	font-size: var(--evo-s1-size);
	font-weight: var(--evo-s1-weight);
	line-height: var(--evo-s1-line);
	letter-spacing: var(--evo-s1-spacing);
}

/* B1 — hero sub, expert intro */
.elementor-widget-evoport-hero .evo-hero__sub,
.elementor-widget-evoport-expert-steps .evo-expert-steps__intro {
	font-family: var(--evo-font-body);
	font-size: clamp(var(--evo-b3-size), 1.25vw, var(--evo-b1-size));
	font-weight: var(--evo-b1-weight);
	line-height: var(--evo-b1-line);
	letter-spacing: var(--evo-b1-spacing);
}

/* B3 — body / excerpts / FAQ answers */
.elementor-widget-evo-latest-blogs .evo-blogs__subtitle,
.elementor-widget-evo-latest-blogs .evo-blog-card__excerpt,
.elementor-widget-evoport-faq .evo-faq__subtitle,
.elementor-widget-evoport-faq .evo-faq__item-answer,
.elementor-widget-evoport-gtm-flow .evo-gtm-flow__card-desc,
.elementor-widget-evoport-gtm-compare .evo-gtm-compare__subtitle,
.elementor-widget-evoport-gif .evo-gif-banner__desc {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b3-size);
	font-weight: var(--evo-b3-weight);
	line-height: var(--evo-b3-line);
	letter-spacing: var(--evo-b3-spacing);
}

/* B4 — small card copy */
.elementor-widget-evoport-tri-cards .evo-tri-cards__desc {
	font-family: var(--evo-font-body);
	font-size: var(--evo-b4-size);
	font-weight: var(--evo-b4-weight);
	line-height: var(--evo-b4-line);
	letter-spacing: var(--evo-b4-spacing);
}

/* Label — step nav labels */
.elementor-widget-evoport-expert-steps .evo-expert-steps__step-label {
	font-family: var(--evo-font-label);
	font-size: var(--evo-label-size);
	font-weight: var(--evo-label-weight);
	line-height: var(--evo-label-line);
	letter-spacing: var(--evo-label-spacing);
}

/* Giant — buttons (header uses header.css) */
.elementor-widget-evoport-button .evo-btn,
.elementor-widget-evoport-glass-button .evo-glass-btn,
.elementor-widget-evoport-gif .evo-glass-btn,
.elementor-widget-evoport-gif .evo-btn {
	font-family: var(--evo-font-button);
	font-size: var(--evo-giant-size);
	font-weight: var(--evo-giant-weight);
	line-height: var(--evo-giant-line);
	letter-spacing: var(--evo-giant-spacing);
}

/* Footer F1–F3 — already tokenized in widget; reinforce */
.elementor-widget-evoport-footer .evo-footer__col-title {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f1-size);
	font-weight: var(--evo-f1-weight);
	line-height: var(--evo-f1-line);
	letter-spacing: var(--evo-f1-spacing);
}

.elementor-widget-evoport-footer .evo-footer__link {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f2-size);
	font-weight: var(--evo-f2-weight);
	line-height: var(--evo-f2-line);
	letter-spacing: var(--evo-f2-spacing);
}

.elementor-widget-evoport-footer .evo-footer__tagline {
	font-family: var(--evo-font-footer);
	font-size: var(--evo-f3-size);
	font-weight: var(--evo-f3-weight);
	line-height: var(--evo-f3-line);
	letter-spacing: var(--evo-f3-spacing);
}

/* Responsive — scale H1/H2 on small screens */
@media (max-width: 700px) {
	.elementor-widget-evoport-hero .evo-hero__title,
	.elementor-widget-evoport-hero h1.evo-hero__title {
		font-size: clamp(32px, 8vw, var(--evo-h2-size)) !important;
		letter-spacing: var(--evo-h2-spacing) !important;
	}
}
