/**
 * StudySA Design Phase 1 — global component polish.
 * Tokens live in style.css :root. This file adds component utilities.
 */
.ssa-btn-primary,
.elementor-button.ssa-btn-primary,
a.ssa-btn-primary {
	background: var(--ssa-color-primary) !important;
	color: #fff !important;
	border-color: var(--ssa-color-primary) !important;
}
.ssa-btn-primary:hover,
.ssa-btn-primary:focus {
	background: var(--ssa-color-cta-hover) !important;
	color: #fff !important;
}
.ssa-btn-accent,
.elementor-button.ssa-btn-accent {
	background: var(--ssa-color-accent) !important;
	color: #fff !important;
	border-color: var(--ssa-color-accent) !important;
}
.ssa-btn-whatsapp,
.elementor-button.ssa-btn-whatsapp,
a.ssa-btn-whatsapp {
	background: var(--ssa-color-whatsapp) !important;
	color: #fff !important;
	border-color: var(--ssa-color-whatsapp) !important;
}
/* Elementor default buttons → primary brand */
.elementor-button {
	border-radius: var(--ssa-radius-sm);
}
.elementor-widget-button .elementor-button[class*="elementor-button"] {
	/* inherit unless overridden */
}
/* Cards */
.service-card,
.capability-card,
.case-card,
.methodology-step {
	border-color: var(--ssa-color-border);
}
.service-card {
	border-top-color: var(--ssa-color-primary);
}
.service-card:hover,
.service-card:focus-within {
	border-top-color: var(--ssa-color-accent);
}
/* Typography scale helpers (Arabic-friendly) */
h1, .elementor-heading-title.elementor-size-xxl { line-height: 1.35; }
h2, .elementor-heading-title.elementor-size-xl { line-height: 1.4; }
h3, h4 { line-height: 1.45; }
body, .elementor-widget-text-editor { line-height: 1.8; color: var(--ssa-color-text); }
/* Hero slides readable overlays */
.elementor-slides .swiper-slide-inner .elementor-slide-heading {
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.elementor-slides .swiper-slide-inner .elementor-slide-description {
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.elementor-slides .elementor-slide-button {
	background: var(--ssa-color-primary);
	color: #fff !important;
	border: none;
}
.elementor-slides .elementor-slide-button:hover,
.elementor-slides .elementor-slide-button:focus {
	background: var(--ssa-color-accent);
	color: #fff !important;
}
.elementor-slides .elementor-swiper-button,
.elementor-slides .swiper-pagination-bullet {
	color: #fff;
}
@media (prefers-reduced-motion: reduce) {
	.elementor-slides .swiper-wrapper {
		transition-duration: 0.01ms !important;
	}
}
/* Stable banner height */
.elementor-widget-slides .elementor-slides-wrapper,
.elementor-widget-slides .swiper,
.elementor-widget-slides .swiper-slide {
	min-height: 280px;
}
@media (min-width: 1025px) {
	.elementor-widget-slides .elementor-slides-wrapper,
	.elementor-widget-slides .swiper,
	.elementor-widget-slides .swiper-slide {
		min-height: 420px;
	}
}
@media (max-width: 767px) {
	.elementor-widget-slides .elementor-slides-wrapper,
	.elementor-widget-slides .swiper,
	.elementor-widget-slides .swiper-slide {
		min-height: 220px;
	}
	.elementor-slides .swiper-slide-inner .elementor-slide-heading {
		font-size: 1.25rem !important;
	}
}