/*
 * STC Global Design System
 * Language-independent foundation for Elementor + WPML.
 * Component classes live in Elementor and are copied to translations.
 */

:root {
	--stc-content: 1350px;
	--stc-gutter: clamp(18px, 3vw, 36px);
	--stc-purple: #9825b8;
	--stc-purple-dark: #74218e;
	--stc-navy: #14263a;
	--stc-copy: #62738a;
	--stc-surface: #ffffff;
	--stc-surface-soft: #faf6fc;
	--stc-border: #eaddef;
	--stc-radius-sm: 14px;
	--stc-radius-md: 20px;
	--stc-radius-lg: 28px;
	--stc-shadow-sm: 0 8px 24px rgba(20, 38, 58, 0.05);
	--stc-shadow-md: 0 18px 48px rgba(20, 38, 58, 0.09);
	--stc-font: "Bricolage Grotesque", Arial, Helvetica, sans-serif;
}

body.stc-site {
	--stc-page-inline: max(var(--stc-gutter), calc((100vw - var(--stc-content)) / 2));
	color: var(--stc-navy);
	font-family: var(--stc-font);
}

body.stc-site :is(.stc-page, .stc-services-v1, .stc-site-section) {
	min-width: 0;
	font-family: var(--stc-font);
}

body.stc-site :is(.stc-inner, .stc-services-v1__inner) {
	width: min(100%, var(--stc-content));
	max-width: var(--stc-content);
	margin-inline: auto;
}

body.stc-site :is(.stc-card, .stc-services-v1__module-card, .stc-services-v1__route-card) {
	min-width: 0;
}

body.stc-site :is(.stc-button, .stc-services-v1__button) .elementor-button,
body.stc-site .elementor-widget-button.stc-button .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 999px;
	font-family: var(--stc-font);
	font-weight: 700;
	line-height: 1.2;
}

body.stc-site :is(.stc-section--light, .stc-card--light) {
	color: var(--stc-navy);
}

body.stc-site :is(.stc-section--light, .stc-card--light) :is(.elementor-heading-title, h1, h2, h3, h4) {
	color: var(--stc-navy);
}

body.stc-site :is(.stc-section--light, .stc-card--light) :is(.elementor-widget-text-editor, .elementor-widget-text-editor p) {
	color: var(--stc-copy);
}

body.stc-site :is(.stc-section--dark, .stc-card--dark) {
	color: #ffffff;
}

body.stc-site :is(.stc-section--dark, .stc-card--dark) :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
	color: #ffffff;
}

@media (max-width: 767px) {
	:root {
		--stc-gutter: 18px;
	}

	body.stc-site :is(.stc-button, .stc-services-v1__button) .elementor-button,
	body.stc-site .elementor-widget-button.stc-button .elementor-button {
		width: 100%;
		min-height: 50px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.stc-site *,
	body.stc-site *::before,
	body.stc-site *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
