/* ==========================================================================
   Avarida multilingual UI, Poppins typography, RTL and dark theme
   ========================================================================== */

:root {
	--font-display: "Poppins", "Noto Kufi Arabic", ui-sans-serif, system-ui, sans-serif;
	--font-sans: "Poppins", "Noto Kufi Arabic", ui-sans-serif, system-ui, sans-serif;
	--focus-ring: #a855f7;
}

html,
body,
button,
input,
select,
textarea,
.elementor,
.avge-agent,
.ap2,
.ap2-title,
.ap2-card__name,
.ap2-num,
.ap2-prev-card h3,
.avarida-blog-hero h1,
.avarida-article__content h2,
.avarida-blog-card h2 {
	font-family: "Poppins", "Noto Kufi Arabic", ui-sans-serif, system-ui, sans-serif !important;
}

html[lang="ar-SA"] body {
	font-family: "Poppins", "Noto Kufi Arabic", ui-sans-serif, system-ui, sans-serif;
	line-height: 1.75;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--focus-ring);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.admin-bar .avarida-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .avarida-header {
		top: 46px;
	}
}

/* Header controls -------------------------------------------------------- */
.avarida-header__tools,
.avarida-mobile__tools {
	display: flex;
	align-items: center;
	gap: .45rem;
}

.avarida-mobile__tools {
	justify-content: flex-end;
	padding: .25rem .25rem .75rem;
	border-bottom: 1px solid var(--border);
	margin-bottom: .35rem;
}

.avarida-theme-toggle,
.avarida-language__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	flex: 0 0 2.65rem;
	border: 1px solid var(--border);
	border-radius: .8rem;
	background: color-mix(in oklab, var(--card) 90%, transparent);
	color: var(--foreground);
	box-shadow: 0 8px 24px color-mix(in oklab, var(--primary) 10%, transparent);
	cursor: pointer;
	font-size: .8rem;
	font-weight: 700;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.avarida-theme-toggle:hover,
.avarida-language__button:hover {
	transform: translateY(-1px);
	border-color: var(--primary);
	background: var(--accent);
}

.avarida-theme-toggle svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.avarida-theme-toggle__moon { display: none; }
[data-theme="dark"] .avarida-theme-toggle__sun { display: none; }
[data-theme="dark"] .avarida-theme-toggle__moon { display: block; }

.avarida-language { position: relative; }

.avarida-language__menu {
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + .55rem);
	z-index: 90;
	min-width: 10.5rem;
	padding: .45rem;
	border: 1px solid var(--border);
	border-radius: .9rem;
	background: color-mix(in oklab, var(--card) 97%, transparent);
	box-shadow: var(--shadow-elegant);
	backdrop-filter: blur(20px);
}

.avarida-language__menu:not([hidden]) {
	display: grid;
	gap: .2rem;
}

.avarida-language__menu a {
	display: flex;
	align-items: center;
	min-height: 2.65rem;
	padding: .6rem .75rem;
	border-radius: .65rem;
	color: var(--foreground);
	text-decoration: none;
	font-size: .85rem;
	font-weight: 600;
}

.avarida-language__menu a:hover,
.avarida-language__menu a[aria-current="page"] {
	background: var(--accent);
	color: var(--primary);
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.avarida-header__cta > .avarida-cta { display: none; }
}

/* Dark tokens ------------------------------------------------------------ */
html[data-theme="dark"] {
	--background: oklch(0.17 0.055 296);
	--foreground: oklch(0.985 0.008 295);
	--ink: oklch(0.99 0.004 295);
	--card: oklch(0.235 0.07 296);
	--card-foreground: oklch(0.99 0.004 295);
	--popover: oklch(0.22 0.065 296);
	--popover-foreground: oklch(0.99 0.004 295);
	--primary: oklch(0.74 0.17 300);
	--primary-foreground: oklch(0.14 0.05 296);
	--primary-glow: oklch(0.80 0.15 305);
	--secondary: oklch(0.30 0.085 296);
	--secondary-foreground: oklch(0.99 0.004 295);
	--muted: oklch(0.255 0.055 296);
	--muted-foreground: oklch(0.82 0.035 294);
	--accent: oklch(0.32 0.10 298);
	--accent-foreground: oklch(0.99 0.004 295);
	--lavender: oklch(0.52 0.15 300);
	--lavender-soft: oklch(0.215 0.065 296);
	--surface-soft: oklch(0.20 0.055 296);
	--border: oklch(0.40 0.08 298);
	--input: oklch(0.34 0.07 296);
	--ring: oklch(0.76 0.17 302);
	--chart-1: oklch(0.74 0.17 300);
	--chart-2: oklch(0.82 0.14 310);
	--chart-3: oklch(0.69 0.13 282);
	--chart-4: oklch(0.78 0.12 265);
	--chart-5: oklch(0.62 0.18 320);
	--gradient-primary: linear-gradient(135deg, oklch(0.61 0.22 294), oklch(0.78 0.17 310));
	--gradient-soft: linear-gradient(180deg, oklch(0.22 0.07 296), oklch(0.17 0.055 296));
	--shadow-elegant: 0 18px 50px -18px rgba(167, 102, 255, .52);
	--shadow-glow: 0 0 64px -12px rgba(190, 132, 255, .58);
	color-scheme: dark;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .avarida-main {
	background: var(--background);
	color: var(--foreground);
}

html[data-theme="dark"] .avarida-header.is-scrolled,
html[data-theme="dark"] .avarida-mobile,
html[data-theme="dark"] .avarida-nav .sub-menu {
	background: color-mix(in oklab, var(--background) 92%, transparent);
}

html[data-theme="dark"] .avarida-glass {
	background: color-mix(in oklab, var(--card) 78%, transparent);
}

html[data-theme="dark"] :where(
	.avarida-service,
	.avarida-metric,
	.avarida-value,
	.avarida-gsccard,
	.avarida-countries__card,
	.avarida-metadash__main,
	.avarida-metadash__aside,
	.avarida-kpi,
	.avarida-metacase,
	.avarida-deliverable,
	.avarida-funnel__card,
	.avarida-crm__col,
	.avarida-script,
	.avarida-snapshot__card,
	.avarida-package,
	.avarida-cform,
	.avarida-dcard,
	.avarida-response,
	.avarida-stat,
	.avarida-blog-card,
	.avarida-article__footer
) {
	background: var(--card) !important;
	color: var(--foreground) !important;
	border-color: var(--border) !important;
}

html[data-theme="dark"] :where(
	.avarida-heading__title,
	.avarida-service__title,
	.avarida-value__title,
	.avarida-gsccard__industry,
	.avarida-metadash__title,
	.avarida-deliverable__title,
	.avarida-package__name,
	.avarida-cform__title,
	.avarida-blog-card h2 a,
	.avarida-article__content h2,
	.avarida-article__content h3,
	.ap2-card__name,
	.ap2-num,
	.ap2-prev-card h3
) {
	color: #fff !important;
}

html[data-theme="dark"] :where(
	.avarida-band,
	.avarida-phero,
	.avarida-blog-hero,
	.avarida-footer,
	.ap2
) {
	background-color: var(--surface-soft) !important;
	background-image: var(--gradient-soft) !important;
}

html[data-theme="dark"] :where(input, select, textarea) {
	background: oklch(0.205 0.055 296) !important;
	color: #fff !important;
	border-color: var(--border) !important;
}

html[data-theme="dark"] :where(input, textarea)::placeholder {
	color: var(--muted-foreground);
}

html[data-theme="dark"] .ap2-title,
html[data-theme="dark"] .ap2-card,
html[data-theme="dark"] .ap2-prev-card,
html[data-theme="dark"] .ap2-notes p {
	background: var(--card) !important;
	color: #fff !important;
	border-color: oklch(0.72 0.15 300) !important;
	box-shadow: 6px 6px 0 0 rgba(191, 132, 255, .38) !important;
}

html[data-theme="dark"] .ap2-cta--outline {
	background: var(--accent) !important;
	color: #fff !important;
}

html[data-theme="dark"] .avarida-service__cta {
	background: var(--gradient-primary) !important;
	color: #fff !important;
	border: 1px solid color-mix(in oklab, var(--primary-glow) 65%, transparent);
	box-shadow: 0 12px 30px -14px rgba(190, 132, 255, .85);
}

html[data-theme="dark"] .avarida-service__cta:hover {
	background: linear-gradient(135deg, var(--primary), var(--primary-glow)) !important;
}

html[data-theme="dark"] .ap2-bg {
	opacity: .3;
	filter: invert(1);
}

html[data-theme="dark"] .avarida-blog-deck,
html[data-theme="dark"] .avarida-article__content,
html[data-theme="dark"] .avarida-blog-card__body > p {
	color: #fff !important;
}

html[data-theme="dark"] .avarida-footer__social a {
	background: var(--card);
}

html[data-theme="dark"] :where(.avarida-header__logo, .avarida-footer__brand) img {
	filter: brightness(0) invert(1);
}

html[data-theme="dark"] :where(p, li, label, small, summary, figcaption, td, th) {
	color: #fff !important;
}

/*
 * Several legacy/Elementor components carry their own ink token or inline
 * black text. Dark mode is intentionally white-type-on-purple throughout, so
 * text-bearing elements must not inherit those light-theme declarations.
 */
html[data-theme="dark"] body :where(
	h1, h2, h3, h4, h5, h6,
	p, li, span, a, button, label, small, strong, em,
	summary, figcaption, td, th, dt, dd, blockquote
) {
	color: #fff !important;
}

html[data-theme="dark"] .avarida-text-gradient {
	color: transparent !important;
}

html[data-theme="dark"] :where(
	.avarida-pcard__preview,
	.avarida-process__n,
	.avarida-ctablock__title,
	.avarida-ctablock__link,
	.ap2-toggle__label,
	.ap2-from,
	.ap2-cur,
	.ap2-num,
	.ap2-per,
	.ap2-suffix,
	.ap2-billing,
	.ap2-sub,
	.ap2-rule,
	.ap2-spend,
	.ap2-desc,
	.ap2-note,
	.ap2-prev-from,
	.ap2-prev-sub,
	.ap2-custom p
) {
	color: #fff !important;
}

.avarida-about__portrait-brand {
	display: grid;
	min-height: 24rem;
	place-items: center;
	padding: 2rem;
	background:
		radial-gradient(circle at 50% 42%, color-mix(in oklab, var(--primary) 24%, transparent), transparent 44%),
		var(--surface-soft);
}

.avarida-about__portrait-brand .avarida-logo-placeholder {
	transform: scale(1.35);
}

/* Legacy Elementor samples are hidden until verified client data is approved. */
.page-id-21 section:has(.avarida-metadash),
.page-id-21 section:has(.avarida-metacases) {
	display: none;
}

.avarida-verified-reporting .avarida-response {
	max-width: 58rem;
	margin-inline: auto;
	text-align: center;
}

/* Growth Engine follows the site theme. */
html[data-theme="dark"] .avge-agent {
	--avge-ink: #fff;
	--avge-line: #553879;
	--avge-lav: #382451;
	--avge-user: #4a2f6c;
}

html[data-theme="dark"] :where(
	.avge-agent__panel,
	.avge-agent__messages,
	.avge-agent__chat,
	.avge-agent__callback
) {
	background: #24152f !important;
	color: #fff !important;
}

html[data-theme="dark"] :where(.avge-chip, .avge-agent__chat textarea, .avge-agent__lead input, .avge-agent__lead select, .avge-booking__form input, .avge-booking__form select) {
	background: #30203f !important;
	color: #fff !important;
	border-color: #654489 !important;
}

/* RTL -------------------------------------------------------------------- */
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] :where(.avarida-heading, .avarida-service, .avarida-cform, .avarida-contact__aside, .avarida-footer, .avarida-blog-card__body) {
	text-align: right;
}

html[dir="rtl"] .avarida-nav .sub-menu {
	inset-inline-start: 0;
	left: auto;
}

html[dir="rtl"] .avarida-mobile .sub-menu {
	margin-left: 0;
	margin-right: .5rem;
	padding-left: 0;
	padding-right: .75rem;
	border-left: 0;
	border-right: 1px solid var(--border);
}

html[dir="rtl"] :where(.avarida-service__cta, .avarida-ctablock__link, .avarida-stats__cta) svg {
	transform: scaleX(-1);
}

html[dir="rtl"] :where(.avarida-btn, .ap2-cta, .avarida-stats__cta) > span[aria-hidden="true"] {
	display: inline-block;
	transform: scaleX(-1);
}

html[dir="rtl"] .avarida-message--user,
html[dir="rtl"] .avge-message--user {
	flex-direction: row;
}

html[dir="rtl"] .avge-agent {
	right: auto;
	left: 22px;
}

html[dir="rtl"] .avge-agent__panel {
	right: auto;
	left: 0;
}

html[dir="rtl"] .avge-bubble {
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 5px;
}

html[dir="rtl"] .avge-message--user .avge-bubble {
	border-bottom-right-radius: 16px;
	border-bottom-left-radius: 5px;
}

html[dir="rtl"] :where([dir="ltr"], .avarida-crow__num, .avarida-imprrow__num, .avarida-stat__value, .ap2-price__row, input[type="email"], input[type="tel"]) {
	direction: ltr;
	unicode-bidi: isolate;
	text-align: left;
}

@media (max-width: 480px) {
	html[dir="rtl"] .avge-agent {
		left: 14px;
		right: auto;
	}
	html[dir="rtl"] .avge-agent__panel {
		left: 12px;
		right: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.avarida-theme-toggle,
	.avarida-language__button {
		transition: none;
	}
}
