/* ============================================================
 * Patch & Score v2 — Layer 6: Elementor bridge
 * Defeats Elementor's --e-global-color-primary on every heading.
 * Every selector prefixed with body.patchandscore-v2 to raise
 * specificity above Elementor's defaults without !important.
 * ============================================================ */

/* CATCH-ALL — theme owns ALL heading + paragraph styling */
body.patchandscore-v2 .elementor-widget-heading .elementor-heading-title,
body.patchandscore-v2 .elementor-widget-heading .elementor-heading-title a {
	font-family: var(--f-head);
	font-weight: 800;
	color: var(--ink);
}

body.patchandscore-v2 .elementor-widget-text-editor .elementor-widget-container p {
	font-family: var(--f-body);
	color: var(--ink-soft);
	line-height: 1.55;
}

/* HERO */
body.patchandscore-v2 .ps-hero-eyebrow .elementor-heading-title {
	font-family: var(--f-body); font-size: 13px; font-weight: 500;
	letter-spacing: 0.04em; text-transform: uppercase;
	color: var(--chalk);
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 0;
}
body.patchandscore-v2 .ps-hero-eyebrow .elementor-heading-title::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--lime);
}
body.patchandscore-v2 .ps-hero-title .elementor-heading-title {
	color: var(--chalk);
	font-size: clamp(44px, 5.6vw, 80px); font-weight: 900;
	line-height: 0.98; letter-spacing: -0.03em;
	text-shadow: 0 2px 30px rgba(0,0,0,0.35); max-width: 14ch;
}
body.patchandscore-v2 .ps-hero-title .elementor-heading-title em,
body.patchandscore-v2 .ps-hero-title .elementor-heading-title .accent,
body.patchandscore-v2 .ps-hero-title .elementor-heading-title span.green {
	font-style: normal; color: var(--lime);
}
body.patchandscore-v2 .ps-hero-lead .elementor-widget-container,
body.patchandscore-v2 .ps-hero-lead p {
	font-size: 18px; color: rgba(247,245,240,0.88);
	line-height: 1.55; max-width: 48ch;
	text-shadow: 0 1px 14px rgba(0,0,0,0.3);
}

/* BUTTONS */
body.patchandscore-v2 .elementor-widget-button.ps-btn-primary .elementor-button {
	background: var(--ink); color: var(--chalk);
	padding: 15px 24px; border-radius: var(--radius);
	font-family: var(--f-head); font-weight: 700; font-size: 14px;
	text-transform: uppercase; letter-spacing: 0.04em;
	border: 1px solid transparent;
	transition: transform .15s var(--ease), background .15s var(--ease);
}
body.patchandscore-v2 .elementor-widget-button.ps-btn-primary .elementor-button:hover { background: var(--grass); transform: translateY(-1px); }
body.patchandscore-v2 .elementor-widget-button.ps-btn-secondary .elementor-button {
	background: rgba(247,245,240,0.05); color: var(--chalk);
	border: 1px solid rgba(247,245,240,0.6);
	padding: 15px 24px; border-radius: var(--radius);
	font-family: var(--f-head); font-weight: 700; font-size: 14px;
	text-transform: uppercase; letter-spacing: 0.04em;
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
body.patchandscore-v2 .elementor-widget-button.ps-btn-secondary .elementor-button:hover { background: var(--chalk); color: var(--ink); border-color: var(--chalk); }
body.patchandscore-v2 .elementor-widget-button.ps-btn-lime .elementor-button {
	background: var(--lime); color: var(--chalk);
	padding: 12px 18px; border-radius: var(--radius);
	font-family: var(--f-head); font-weight: 700; font-size: 13px;
	text-transform: uppercase; letter-spacing: 0.05em;
}
body.patchandscore-v2 .elementor-widget-button.ps-sec-link-btn .elementor-button {
	background: transparent; color: var(--ink);
	padding: 0 0 2px; border: 0;
	border-bottom: 2px solid var(--ink); border-radius: 0;
	font-family: var(--f-head); font-weight: 700; font-size: 14px;
	text-transform: uppercase; letter-spacing: 0.05em;
}
body.patchandscore-v2 .elementor-widget-button.ps-sec-link-btn .elementor-button:hover {
	color: var(--grass); border-color: var(--grass); background: transparent;
}

/* SEC-HEAD */
body.patchandscore-v2 .ps-sec-eyebrow .elementor-heading-title {
	font-family: var(--f-mono); font-size: 11px; font-weight: 500;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--grey); display: flex; align-items: center; gap: 10px;
}
body.patchandscore-v2 .ps-sec-eyebrow .elementor-heading-title::before {
	content: ""; width: 8px; height: 8px; background: var(--clay); border-radius: 50%;
}
body.patchandscore-v2 .ps-sec-title .elementor-heading-title {
	font-size: clamp(32px, 4vw, 48px); font-weight: 900;
	line-height: 1; letter-spacing: -0.025em;
	color: var(--ink); max-width: 18ch;
}

/* BANNER (dark) */
body.patchandscore-v2 .ps-banner-eyebrow .elementor-heading-title {
	font-family: var(--f-mono); font-size: 11px;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--lime);
}
body.patchandscore-v2 .ps-banner-title .elementor-heading-title {
	color: var(--chalk); font-size: clamp(40px, 5.5vw, 72px);
	font-weight: 900; line-height: 0.95; letter-spacing: -0.03em;
}
body.patchandscore-v2 .ps-banner-title .elementor-heading-title em {
	font-style: normal; color: var(--lime);
}
body.patchandscore-v2 .ps-banner-body p,
body.patchandscore-v2 .ps-banner-body .elementor-widget-container {
	color: rgba(247,245,240,0.78); max-width: 42ch; font-size: 16px;
}

/* STORY */
body.patchandscore-v2 .ps-story-title .elementor-heading-title {
	font-size: clamp(28px, 4vw, 48px); font-weight: 900;
	line-height: 1.02; letter-spacing: -0.025em; color: var(--ink);
}
body.patchandscore-v2 .ps-story-body p {
	font-size: 17px; color: var(--ink-soft);
	line-height: 1.6; margin-bottom: 16px; max-width: 50ch;
}

/* NEWSLETTER (dark) */
body.patchandscore-v2 .ps-news-title .elementor-heading-title {
	color: var(--chalk); font-size: clamp(28px, 3.6vw, 40px);
	font-weight: 900; line-height: 1.05; letter-spacing: -0.02em;
}
body.patchandscore-v2 .ps-news-body p,
body.patchandscore-v2 .ps-news-body .elementor-widget-container {
	color: rgba(247,245,240,0.7); max-width: 42ch;
}

/* EDITOR SAFETY */
body.elementor-editor-active.patchandscore-v2 .ps-hero-title .elementor-heading-title,
body.elementor-editor-active.patchandscore-v2 .ps-banner-title .elementor-heading-title,
body.elementor-editor-active.patchandscore-v2 .ps-news-title .elementor-heading-title {
	color: var(--chalk);
}
