/**
 * Visati design-system base styles.
 *
 * Tokens mirror theme.json (var(--wp--preset--color--*)) and the Elementor Kit.
 * The plain --visati-* custom properties are provided for non-Elementor markup
 * (shortcode output, plugin templates) so it matches the design system.
 */

:root {
	--visati-navy:    #0A1628;
	--visati-gold:    #C9A84C;
	--visati-blue:    #1659FF;
	--visati-mist:    #F8F9FB;
	--visati-ink:     #1A1A2E;
	--visati-white:   #FFFFFF;
	--visati-whatsapp:#25D366;
	--visati-radius:  14px;
	--visati-shadow:  0 10px 30px rgba( 10, 22, 40, 0.08 );
	--visati-max:     1200px;
}

html { scroll-behavior: smooth; }

body {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var( --visati-ink );
	background: var( --visati-white );
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	/* Sticky footer: keep it pinned to the bottom of the viewport on short pages,
	   without needing a min-height wrapper in every individual page template. */
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.visati-footer {
	margin-top: auto;
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
	font-family: "Plus Jakarta Sans", -apple-system, sans-serif;
	color: var( --visati-navy );
	line-height: 1.15;
	font-weight: 700;
}

a { color: var( --visati-navy ); text-decoration: none; }
a:hover { color: var( --visati-gold ); }

/* Buttons / CTAs — golden gradient pill */
/* !important on background/color/border/border-radius/padding below: Hello
   Elementor's reset.css has a generic `button,[type=submit],button{...}`
   rule with EQUAL CSS specificity (0,1,0) to a single class selector like
   .visati-btn, and reset.css loads AFTER this file — so on an exact
   specificity tie, source order decides and reset.css silently wins,
   turning our gold buttons into reset.css's own thin gold-outline/gold-text
   look. This was the actual root cause of the recurring "gold text" bug
   fixed ad-hoc on individual buttons earlier — !important here fixes it
   for every .visati-btn permanently, regardless of stylesheet load order. */
.visati-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200%;
	color: var( --visati-navy ) !important;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	padding: 0.85rem 1.75rem !important;
	border-radius: 12px !important;
	border: 0 !important;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.3), 0 1px 2px rgba(10, 22, 40, 0.15);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-position 0.4s ease;
}
.visati-btn:hover {
	background-position: 100% 100%;
	box-shadow: 0 4px 20px rgba(201, 168, 76, 0.5), 0 0 40px rgba(240, 200, 100, 0.2);
	transform: translateY(-2px);
	color: var( --visati-navy ) !important;
	background-color: transparent !important;
}
/* Track page search button + Apply form step-nav button: white text on gold, per request. */
#track-search-btn,
#track-search-btn:hover,
#visati-apply-form [data-action="next"],
#visati-apply-form [data-action="next"]:hover {
	color: #FFFFFF !important;
}
#track-search-btn svg,
#visati-apply-form [data-action="next"] svg {
	color: #FFFFFF !important;
	stroke: #FFFFFF !important;
}
.visati-btn:active { transform: translateY(0); box-shadow: 0 1px 4px rgba(201, 168, 76, 0.3); }
.visati-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}
.visati-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: visati-spin 0.6s linear infinite;
	vertical-align: middle;
}
@keyframes visati-spin {
	to { transform: rotate(360deg); }
}

.visati-btn--navy {
	background: var( --visati-navy ) !important;
	color: var( --visati-white ) !important;
	box-shadow: 0 2px 8px rgba(10, 22, 40, 0.3) !important;
}
.visati-btn--navy:hover {
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200% !important;
	background-position: 100% 100% !important;
	color: var( --visati-navy ) !important;
	box-shadow: 0 4px 20px rgba(201, 168, 76, 0.5), 0 0 40px rgba(240, 200, 100, 0.2) !important;
}

.visati-btn--gold {
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200% !important;
	color: var( --visati-navy ) !important;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.3) !important;
}
.visati-btn--gold:hover {
	background-position: 100% 100% !important;
	box-shadow: 0 4px 20px rgba(201, 168, 76, 0.5), 0 0 40px rgba(240, 200, 100, 0.2) !important;
	transform: translateY(-2px) !important;
}

.visati-btn--outline {
	background: transparent !important;
	color: var( --visati-navy ) !important;
	border: 1.5px solid var( --visati-navy ) !important;
	box-shadow: none !important;
}
.visati-btn--outline:hover {
	background: var( --visati-navy ) !important;
	color: var( --visati-white ) !important;
	box-shadow: 0 4px 16px rgba(10, 22, 40, 0.3) !important;
	border-color: var( --visati-navy ) !important;
}

.visati-btn--ghost {
	background: var( --visati-white ) !important;
	color: var( --visati-navy ) !important;
	border: 1.5px solid rgba(10, 22, 40, 0.15) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}
.visati-btn--ghost:hover {
	background: var( --visati-navy ) !important;
	color: var( --visati-white ) !important;
	box-shadow: 0 4px 16px rgba(10, 22, 40, 0.3) !important;
}

/* Layout helpers */
.visati-section { padding: 5rem 0; }
.visati-section--mist { background: var( --visati-mist ); }
.visati-section--navy { background: var( --visati-navy ); color: var( --visati-white ); }
.visati-section--navy h1,
.visati-section--navy h2,
.visati-section--navy h3 { color: var( --visati-white ); }

.visati-container { width: 100%; max-width: var( --visati-max ); margin: 0 auto; padding: 0 1.25rem; }

/* Section eyebrow / tag */
.visati-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.75rem;
	font-weight: 700;
	color: var( --visati-gold );
}

/* Mono (application IDs / codes) */
.visati-mono { font-family: "JetBrains Mono", ui-monospace, monospace; }

/* Cards */
.visati-card {
	background: var( --visati-white );
	border-radius: var( --visati-radius );
	box-shadow: var( --visati-shadow );
	padding: 1.75rem;
}

/* Floating WhatsApp button */
.visati-whatsapp-fab {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 9998;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var( --visati-whatsapp );
	color: var( --visati-white );
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 24px rgba( 37, 211, 102, 0.4 );
	transition: transform 0.15s ease;
}
.visati-whatsapp-fab:hover { transform: scale( 1.06 ); color: var( --visati-white ); }

@supports (padding-bottom: env(safe-area-inset-bottom)) {
	.visati-whatsapp-fab { bottom: calc(1.25rem + env(safe-area-inset-bottom)); }
}

/* ─────────────────────────────────────────────────────────
   HEADER
   ───────────────────────────────────────────────────────── */
.visati-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Floating pill offset only once scrolled — flush with no gap at the top of the page. */
.visati-header.is-scrolled {
	top: 12px;
	margin-bottom: 12px;
}
.visati-header__bar {
	background: var( --visati-navy );
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Sticky: shrink to 85% width, centered, rounded + shadow */
.visati-header.is-scrolled .visati-header__bar {
	width: 85%;
	margin: 0 auto;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}
.visati-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: 64px;
	max-width: var( --visati-max );
	margin: 0 auto;
	padding: 0.5rem 1.5rem;
	transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.visati-header.is-scrolled .visati-header__inner {
	height: 64px;
}
.visati-header__brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
	gap: 0.5rem;
}
.visati-header__logo { height: 28px !important; width: auto !important; display: block !important; max-width: 140px !important; object-fit: contain; }
.visati-header__brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
.visati-header__wordmark {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	color: var( --visati-white );
	text-transform: uppercase;
	line-height: 1;
}
.visati-header__tagline {
	font-family: "Poppins", sans-serif;
	font-size: 0.65rem;
	color: rgba(255,255,255,0.6);
	letter-spacing: 0.02em;
	margin-top: 2px;
}

/* Desktop nav: visible >= 1024px */
.visati-header__nav { display: none; }
@media ( min-width: 1024px ) {
	.visati-header__nav { display: block; }
}
.visati-header__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 1.75rem;
}
.visati-header__links a {
	font-size: 0.875rem;
	font-weight: 500;
	color: rgba(255,255,255,0.8);
	text-decoration: none;
	transition: color 0.15s;
}
.visati-header__links a:hover,
.visati-header__links .current-menu-item a {
	color: var( --visati-white );
}
.visati-header__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.visati-header__cta {
	font-size: 0.875rem;
	padding: 0.5rem 1.15rem;
	font-weight: 700;
	display: none;
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200% !important;
	color: var( --visati-navy ) !important;
	border: none !important;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.3);
}
@media ( min-width: 640px ) {
	.visati-header__cta { display: inline-flex; }
}

/* Hamburger: visible on mobile (<1024px), hidden on desktop */
.visati-header__toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 8px !important;
	background: transparent !important;
	border: 0 !important;
	cursor: pointer;
	border-radius: 8px !important;
	transition: background 0.2s;
}
.visati-header__toggle:hover {
	background: rgba(255,255,255,0.1);
}
.visati-header__toggle span {
	display: block;
	width: 20px;
	height: 2px;
	background: var( --visati-white );
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}
.visati-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.visati-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.visati-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media ( min-width: 1024px ) {
	.visati-header__toggle { display: none; }
}

/* Mobile drawer */
.visati-drawer {
	position: fixed;
	inset: 0;
	z-index: 10000;
}
.visati-drawer[hidden] { display: none; }
.visati-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.5);
}
.visati-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(320px, 85vw);
	height: 100%;
	background: var( --visati-navy );
	padding: 1.25rem;
	overflow-y: auto;
	animation: slideIn 0.25s ease;
}
@keyframes slideIn {
	from { transform: translateX(100%); }
	to   { transform: translateX(0); }
}
.visati-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.visati-drawer__close {
	background: transparent !important;
	border: 0 !important;
	color: var( --visati-white ) !important;
	cursor: pointer;
	padding: 10px !important;
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.visati-drawer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.visati-drawer__links li { border-bottom: 1px solid rgba(255,255,255,0.08); }
.visati-drawer__links a {
	display: block;
	padding: 0.85rem 0;
	color: rgba(255,255,255,0.85);
	font-size: 0.95rem;
	text-decoration: none;
	transition: color 0.15s;
}
.visati-drawer__links a:hover { color: var( --visati-gold ); }

/* ─────────────────────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────────────────────── */
.visati-footer {
	background: var( --visati-navy );
	color: var( --visati-white );
	padding-top: 3.5rem;
	padding-bottom: 1.5rem;
	position: relative;
	overflow: hidden;
}
/* Kill the white gap between last page content and footer */
.visati-footer:first-of-type {
	margin-top: 0;
}
main ~ .visati-footer,
.elementor ~ .visati-footer {
	margin-top: 0 !important;
}
.wp-site-blocks > :last-child,
body > main > :last-child {
	margin-bottom: 0;
}
.visati-footer::before {
	content: "";
	position: absolute;
	bottom: -100px;
	left: -80px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: var( --visati-gold );
	opacity: 0.12;
	filter: blur(100px);
	pointer-events: none;
}
.visati-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	position: relative;
}
@media ( min-width: 640px ) {
	.visati-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}
@media ( min-width: 1024px ) {
	.visati-footer__inner {
		grid-template-columns: 2fr 1fr 1fr 1fr 2fr;
		gap: 2rem;
	}
}
.visati-footer__logo { height: 40px !important; width: auto !important; max-height: 40px !important; display: block !important; }
.visati-footer__brand-link img.visati-footer__logo {
	height: 40px !important;
	width: auto !important;
	max-height: 40px !important;
}
.visati-footer__brand-link {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	margin-bottom: 1rem;
}
.visati-footer__brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
.visati-footer__wordmark {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	color: var( --visati-white );
	text-transform: uppercase;
	line-height: 1;
}
.visati-footer__tagline {
	font-family: "Poppins", sans-serif;
	font-size: 0.75rem;
	color: rgba(255,255,255,0.5);
	letter-spacing: 0.02em;
	margin-top: 4px;
}
.visati-footer__wordmark {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 800;
	font-size: 1.25rem;
	color: var( --visati-white );
	display: block;
	margin-bottom: 0.75rem;
}
.visati-footer__desc {
	font-size: 0.875rem;
	color: rgba(255,255,255,0.55);
	line-height: 1.6;
	max-width: 280px;
	margin-bottom: 1.25rem;
}
.visati-footer__social { display: flex; gap: 0.6rem; }
.visati-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.15);
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	transition: color 0.15s, border-color 0.15s;
}
.visati-footer__social-link:hover {
	color: var( --visati-white );
	border-color: rgba(255,255,255,0.4);
}
.visati-footer__heading {
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(255,255,255,0.4);
	margin-bottom: 1rem;
}
.visati-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.visati-footer__list li { margin-bottom: 0.6rem; }
.visati-footer__link {
	font-size: 0.875rem;
	color: rgba(255,255,255,0.6);
	text-decoration: none;
	transition: color 0.15s;
}
.visati-footer__link:hover { color: var( --visati-white ); }
.visati-footer__contact { display: flex; flex-direction: column; gap: 1rem; }
.visati-footer__contact-row {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.875rem;
	color: rgba(255,255,255,0.6);
	line-height: 1.5;
}
.visati-footer__contact-row svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var( --visati-gold );
}
.visati-footer__contact-row a {
	color: rgba(255,255,255,0.6);
	text-decoration: none;
	transition: color 0.15s;
}
.visati-footer__contact-row a:hover { color: var( --visati-white ); }
.visati-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	padding-top: 1.5rem;
	margin-top: 2rem;
	border-top: 1px solid rgba(255,255,255,0.1);
	text-align: center;
}
@media ( min-width: 640px ) {
	.visati-footer__bottom {
		flex-direction: row;
		text-align: left;
	}
}
.visati-footer__copy {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.4);
}
.visati-footer__legal {
	display: flex;
	gap: 1.25rem;
}
.visati-footer__legal a {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.4);
	text-decoration: none;
	transition: color 0.15s;
}
.visati-footer__legal a:hover { color: var( --visati-white ); }

/* ─────────────────────────────────────────────────────────
   SHORTCODES — Visa Cards (matches Next.js reference)
   ───────────────────────────────────────────────────────── */
.visati-visa-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media ( min-width: 640px ) {
	.visati-visa-grid { grid-template-columns: repeat(2, 1fr); }
}
@media ( min-width: 1024px ) {
	.visati-visa-grid { grid-template-columns: repeat(3, 1fr); }
}
.visati-visa-card {
	background: var( --visati-white );
	border: 1px solid rgba(10, 22, 40, 0.08);
	border-radius: var( --visati-radius );
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
	position: relative;
}
.visati-visa-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(10,22,40,0.1);
}
.visati-visa-card--featured {
	border: 2px solid var( --visati-gold );
}
.visati-visa-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
	align-items: center;
}
.visati-visa-card__tag {
	display: inline-flex;
	align-items: center;
	font-size: 0.7rem;
	font-weight: 600;
	color: var( --visati-navy );
	background: rgba(10, 22, 40, 0.05);
	border: 1px solid rgba(10, 22, 40, 0.1);
	border-radius: 6px;
	padding: 0.25rem 0.6rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.visati-visa-card__badge {
	display: inline-flex;
	align-items: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: var( --visati-white );
	background: var( --visati-navy );
	border-radius: 6px;
	padding: 0.25rem 0.65rem;
	letter-spacing: 0.02em;
}
.visati-visa-card__title {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0 0 0.5rem;
	line-height: 1.3;
}
.visati-visa-card__tagline {
	font-size: 0.85rem;
	color: rgba(26,26,46,0.55);
	margin: 0 0 1.25rem;
	line-height: 1.5;
	flex: 1;
}
.visati-visa-card__footer {
	border-top: 1px solid rgba(10, 22, 40, 0.08);
	padding-top: 1rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}
.visati-visa-card__price-block {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.visati-visa-card__price-label {
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(26,26,46,0.45);
}
.visati-visa-card__price {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}
.visati-visa-card__price-aed {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1.35rem;
	font-weight: 800;
	color: var( --visati-navy );
}
.visati-visa-card__price-usd {
	font-size: 0.8rem;
	font-weight: 500;
	color: rgba(26,26,46,0.45);
}
.visati-visa-card__apply {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%);
	background-size: 200% 200%;
	color: var( --visati-navy );
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 0.55rem 1.1rem;
	border-radius: 10px;
	text-decoration: none;
	transition: background-position 0.3s, box-shadow 0.3s, transform 0.2s;
	flex-shrink: 0;
	white-space: nowrap;
}
.visati-visa-card__apply:hover {
	background-position: 100% 100%;
	box-shadow: 0 4px 16px rgba(201, 168, 76, 0.4);
	transform: translateY(-1px);
}

/* ─────────────────────────────────────────────────────────
   SHORTCODES — Quick Apply Card
   ───────────────────────────────────────────────────────── */
/* Stats bar: rounded top corners */
[data-id="d3b3e18"] {
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}
/* Hero: constrain hero-row to max-width, center it */
[data-id="hero-row"] {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 80px;
	padding-right: 80px;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 48px !important;
}
[data-id="hero-row"] > [data-id="c0f5644"] {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	max-width: none !important;
	width: auto !important;
}
[data-id="hero-row"] > [data-id="c5d2869"] {
	flex: 0 0 400px !important;
	max-width: 400px !important;
	width: 400px !important;
}
/* Override the internal grid inside hero HTML widget */
[data-id="c0f5644"] > div:first-child {
	display: block !important;
	grid-template-columns: none !important;
}
@media ( max-width: 768px ) {
	[data-id="hero-row"] {
		flex-direction: column !important;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	[data-id="hero-row"] > [data-id="c5d2869"] {
		flex: 0 0 auto !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.visati-faq-layout {
		flex-direction: column;
		gap: 2rem;
	}
	.visati-faq-heading {
		position: static;
		flex: none;
	}
}
.visati-qa-card {
	background: var( --visati-white );
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(10, 22, 40, 0.08), 0 1px 4px rgba(10, 22, 40, 0.04);
	padding: 1.75rem;
	width: 100%;
	max-width: 420px;
}
@media ( min-width: 1024px ) {
	.visati-qa-card {
		max-width: 460px;
	}
}
.visati-qa-card__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.visati-qa-card__eyebrow {
	display: block;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var( --visati-gold );
	text-transform: uppercase;
	margin-bottom: 0.35rem;
}
.visati-qa-card__title {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0;
	line-height: 1.3;
}
.visati-qa-card__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(201, 168, 76, 0.1);
	color: var( --visati-gold );
	display: flex;
	align-items: center;
	justify-content: center;
}
.visati-qa-card__field {
	margin-bottom: 1rem;
}
.visati-qa-card__label {
	display: block;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: rgba(10, 22, 40, 0.5);
	text-transform: uppercase;
	margin-bottom: 0.4rem;
}
.visati-qa-card__select,
.visati-qa-card__input {
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 1.5px solid rgba(10, 22, 40, 0.12) !important;
	border-radius: 10px !important;
	font-size: 0.9rem;
	font-family: "Inter", sans-serif;
	color: var( --visati-ink );
	background: var( --visati-white );
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	appearance: auto;
	box-sizing: border-box;
}
.visati-qa-card__select:focus,
.visati-qa-card__input:focus {
	outline: none;
	border-color: var( --visati-gold );
	box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15);
}
/* Date input: match select field look — some browsers only partially honor
   appearance:none on type=date, so force the box model explicitly rather
   than relying on it inheriting cleanly from the shared rule above. */
.visati-qa-card__input[type="date"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	position: relative;
	border: 1.5px solid rgba(10, 22, 40, 0.12) !important;
	border-radius: 10px !important;
	background: var( --visati-white ) !important;
}
.visati-qa-card__input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0.35;
	cursor: pointer;
}
.visati-qa-card__input[type="date"]:not(:valid)::before {
	content: attr(placeholder);
	color: rgba(10, 22, 40, 0.35);
	position: absolute;
	left: 1rem;
	pointer-events: none;
}
.visati-qa-card__select::placeholder,
.visati-qa-card__input::placeholder {
	color: rgba(10, 22, 40, 0.35);
}
.visati-qa-card__submit {
	width: 100%;
	justify-content: center;
	margin-top: 0.25rem;
}
/* Nationality flag combobox inside the Quick Apply card — match the card's
   own field sizing/gold accent instead of the full apply-form's blue one. */
.visati-qa-card__combobox .visati-combobox__button {
	height: auto;
	padding: 0.75rem 1rem;
	border: 1.5px solid rgba(10, 22, 40, 0.12);
	border-radius: 10px;
	font-size: 0.9rem;
	font-family: "Inter", sans-serif;
}
.visati-qa-card__combobox.is-open .visati-combobox__button {
	border-color: var( --visati-gold ) !important;
	box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15) !important;
}
.visati-qa-card__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0.75rem 0 0;
	font-size: 0.72rem;
	color: rgba(10, 22, 40, 0.4);
	text-align: center;
}

/* ─────────────────────────────────────────────────────────
   SHORTCODES — Testimonials
   ───────────────────────────────────────────────────────── */
.visati-testimonials-wrapper {
	position: relative;
}
.visati-testimonials-track {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 1rem;
	scrollbar-width: none;
	scroll-padding-left: 1rem;
}
.visati-testimonials-track::-webkit-scrollbar { display: none; }
.visati-testimonials-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px !important;
	height: 44px !important;
	min-width: 44px;
	max-width: 44px;
	aspect-ratio: 1 / 1;
	padding: 0 !important;
	margin: 0;
	box-sizing: border-box;
	border-radius: 50% !important;
	border: 1.5px solid rgba(10,22,40,0.12) !important;
	background: var( --visati-white ) !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var( --visati-navy ) !important;
	transition: all 0.2s;
	z-index: 2;
	line-height: 0;
}
.visati-testimonials-arrow svg {
	display: block;
	flex-shrink: 0;
	margin: 0 auto;
}
.visati-testimonials-arrow:hover {
	background: linear-gradient( 135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100% ) !important;
	color: var( --visati-navy ) !important;
	border-color: var( --visati-navy ) !important;
}
.visati-testimonials-arrow--prev { left: -22px; }
.visati-testimonials-arrow--next { right: -22px; }
.visati-testimonial-card {
	min-width: 320px;
	max-width: 400px;
	flex-shrink: 0;
	scroll-snap-align: start;
	background: var( --visati-white );
	border-radius: var( --visati-radius );
	box-shadow: var( --visati-shadow );
	padding: 1.75rem;
}
.visati-testimonial-card__stars {
	color: var( --visati-gold );
	font-size: 1rem;
	margin-bottom: 0.75rem;
	letter-spacing: 2px;
}
.visati-rating-badge {
	text-align: right;
}
.visati-rating-badge__row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}
.visati-rating-badge__stars {
	color: var( --visati-gold );
	font-size: 1rem;
	letter-spacing: 1px;
}
.visati-rating-badge__value {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	color: var( --visati-navy );
	margin-left: 2px;
}
.visati-rating-badge__note {
	font-size: 0.75rem;
	color: rgba(26,26,46,0.5);
	margin: 4px 0 0;
}
@media ( max-width: 768px ) {
	.visati-rating-badge {
		text-align: left;
	}
	.visati-rating-badge__row {
		justify-content: flex-start;
	}
}
.visati-testimonial-card__text {
	font-size: 0.9rem;
	line-height: 1.7;
	color: rgba(26,26,46,0.8);
	margin-bottom: 1rem;
	font-style: italic;
}
.visati-testimonial-card__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.visati-testimonial-card__flag {
	width: 22px;
	height: 16px;
	border-radius: 3px;
	object-fit: cover;
	flex-shrink: 0;
}
.visati-testimonial-card__name {
	font-weight: 600;
	font-size: 0.85rem;
	color: var( --visati-navy );
}
.visati-testimonial-card__country {
	font-size: 0.75rem;
	color: rgba(26,26,46,0.5);
}

/* ─────────────────────────────────────────────────────────
   SHORTCODES — FAQ
   ───────────────────────────────────────────────────────── */
.visati-faq-layout {
	display: flex;
	gap: 48px;
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 1.5rem;
}
.visati-faq-heading {
	flex: 0 0 35%;
	position: sticky;
	top: 100px;
}
.visati-faq-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --visati-gold );
	margin-bottom: 0.75rem;
}
.visati-faq-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: var( --visati-navy );
	line-height: 1.1;
	margin: 0 0 1rem;
}
.visati-faq-desc {
	font-size: 0.95rem;
	color: rgba(26,26,46,0.6);
	line-height: 1.6;
	margin: 0 0 1.5rem;
}
.visati-faq-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 20px;
	border-radius: 12px;
	background: var( --visati-navy );
	color: var( --visati-white );
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s;
}
.visati-faq-cta:hover { background: #0d1f3c; }
.visati-faq-right {
	flex: 1;
	min-width: 0;
}
.visati-faq-search {
	width: 100%;
	padding: 0.85rem 1.25rem;
	border: 2px solid rgba(10,22,40,0.1);
	border-radius: 20px;
	font-size: 0.95rem;
	font-family: inherit;
	margin-bottom: 1.5rem;
	transition: border-color 0.2s;
}
.visati-faq-search:focus { outline: none; border-color: var( --visati-gold ); }
.visati-faq-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}
.visati-faq-cat-btn {
	padding: 0.45rem 1rem !important;
	border-radius: 12px !important;
	border: 1.5px solid rgba(10,22,40,0.15) !important;
	background: var( --visati-white ) !important;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s;
	font-family: inherit;
	color: var( --visati-navy ) !important;
}
.visati-faq-cat-btn:hover,
.visati-faq-cat-btn.is-active {
	background: var( --visati-navy );
	color: var( --visati-white );
	border-color: var( --visati-navy );
}
.visati-faq-item {
	border-bottom: 1px solid rgba(10,22,40,0.08);
	transition: background 0.2s, border-radius 0.2s;
}
.visati-faq-item.is-open {
	background: var( --visati-gold );
	border-radius: 12px;
	margin: 0.35rem 0;
	border-bottom: none;
}
.visati-faq-item__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.1rem 1.25rem !important;
	background: transparent !important;
	border: 0 !important;
	text-align: left;
	font-size: 1rem;
	font-weight: 600;
	color: var( --visati-navy ) !important;
	cursor: pointer;
	font-family: inherit;
	gap: 1rem;
	border-radius: 12px !important;
}
.visati-faq-item.is-open .visati-faq-item__q {
	color: var( --visati-white );
	padding: 1.1rem 1.25rem;
}
.visati-faq-item__q::after {
	content: "+";
	font-size: 1.25rem;
	color: var( --visati-gold );
	flex-shrink: 0;
	transition: transform 0.2s;
}
.visati-faq-item.is-open .visati-faq-item__q::after {
	color: var( --visati-white );
	transform: rotate(45deg);
}
.visati-faq-item__a {
	display: none;
	padding: 0 1.25rem 1.25rem;
	font-size: 0.9rem;
	line-height: 1.7;
	color: rgba(26,26,46,0.7);
}
.visati-faq-item.is-open .visati-faq-item__a {
	display: block;
	color: rgba(255,255,255,0.85);
}
.visati-faq-empty {
	text-align: center;
	padding: 3rem 1rem;
	color: rgba(26,26,46,0.5);
	font-size: 0.95rem;
}

/* ─────────────────────────────────────────────────────────
   SHORTCODES — Contact Form
   ───────────────────────────────────────────────────────── */
.visati-contact-form {
	max-width: 600px;
}
.visati-contact-form .visati-field {
	display: block;
	margin-bottom: 1rem;
}
.visati-contact-form label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var( --visati-navy );
	margin-bottom: 0.35rem;
}
.visati-contact-form input,
.visati-contact-form textarea {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 2px solid rgba(10,22,40,0.1) !important;
	border-radius: 10px !important;
	font-size: 0.95rem;
	font-family: inherit;
	color: var( --visati-ink );
	background: var( --visati-white );
	transition: border-color 0.2s;
	box-sizing: border-box;
}
.visati-contact-form input:focus,
.visati-contact-form textarea:focus {
	outline: none;
	border-color: var( --visati-gold );
}
.visati-contact-form textarea { resize: vertical; min-height: 120px; }
.visati-contact-form .visati-field-error {
	font-size: 0.8rem;
	color: #dc3545;
	margin-top: 0.25rem;
	display: none;
}
.visati-contact-form .visati-field.has-error .visati-field-error { display: block; }
.visati-contact-form .visati-field.has-error input,
.visati-contact-form .visati-field.has-error textarea { border-color: #dc3545; }
.visati-contact-form__status {
	padding: 1rem;
	border-radius: 10px;
	margin-bottom: 1rem;
	font-size: 0.9rem;
	display: none;
}
.visati-contact-form__status.is-success {
	display: block;
	background: #d4edda;
	color: #155724;
}
.visati-contact-form__status.is-error {
	display: block;
	background: #f8d7da;
	color: #721c24;
}

/* ─────────────────────────────────────────────────────────
   TRACKING
   ───────────────────────────────────────────────────────── */
.visati-track-search {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 2rem;
}
.visati-track-search input {
	flex: 1;
	padding: 0.85rem 1.25rem !important;
	border: 2px solid rgba(10,22,40,0.1) !important;
	border-radius: 20px !important;
	font-size: 0.95rem;
	font-family: inherit;
}
.visati-track-search input:focus { outline: none; border-color: var( --visati-gold ); }
.visati-timeline {
	position: relative;
	padding-left: 2rem;
	margin-top: 1.5rem;
}
.visati-timeline::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: rgba(10,22,40,0.1);
}
.visati-timeline-item {
	position: relative;
	padding-bottom: 1.5rem;
}
.visati-timeline-item::before {
	content: "";
	position: absolute;
	left: -2rem;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var( --visati-white );
	border: 3px solid rgba(10,22,40,0.15);
	z-index: 1;
}
.visati-timeline-item.is-current::before {
	border-color: var( --visati-gold );
	background: var( --visati-gold );
}
.visati-timeline-item__status {
	font-weight: 700;
	font-size: 0.9rem;
	color: var( --visati-navy );
	text-transform: capitalize;
}
.visati-timeline-item__note {
	font-size: 0.85rem;
	color: rgba(26,26,46,0.6);
	margin-top: 0.25rem;
}
.visati-timeline-item__date {
	font-size: 0.75rem;
	color: rgba(26,26,46,0.4);
	margin-top: 0.15rem;
}
.visati-track-not-found {
	text-align: center;
	padding: 3rem 1rem;
	color: rgba(26,26,46,0.5);
	font-size: 0.95rem;
}
.visati-track-status-badge {
	display: inline-block;
	padding: 0.35rem 1rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 1rem;
}
.visati-track-status-badge.is-approved { background: #d4edda; color: #155724; }
.visati-track-status-badge.is-rejected { background: #f8d7da; color: #721c24; }
.visati-track-status-badge.is-processing { background: #fff3cd; color: #856404; }
.visati-track-status-badge.is-default { background: var( --visati-mist ); color: var( --visati-ink ); }

/* ─────────────────────────────────────────────────────────
   BUTTON/LINK RESET — override hello-elementor reset.css
   which applies pink #c36 to all bare button elements and #c36 links.
   Uses !important because hello-elementor/reset.css loads after child theme.
   IMPORTANT: Only target content area buttons/links, not admin panel.
   ───────────────────────────────────────────────────────── */

/* Golden gradient button reset — overrides hello-elementor #c36 pink
   Only target bare elements without any visati-btn class.
   Exclude policy page content links. */
body .visati-page:not(.visati-page--policy) a:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-header__brand):not(.visati-footer__social-link):not(.visati-footer__link):not(.visati-footer__legal a):not(.visati-contact-page__detail-value):not(.visati-order-summary__whatsapp):not(.visati-blog-card__stretched-link):not(.visati-blog-sidebar__link):not(.visati-global-reach__cta)),
body .visati-page button:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-faq-item__q):not(.visati-faq-cat-btn):not(.visati-header__toggle):not(.visati-drawer__close):not(.visati-announcement-close):not(.visati-combobox__button):not(.visati-order-summary__discount-btn):not(.visati-testimonials-arrow)),
body .visati-page [type="button"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-combobox__button):not(.visati-order-summary__discount-btn)),
body .visati-page [type="submit"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"])),
body .visati-page [type="reset"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"])) {
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200% !important;
	color: var( --visati-navy );
	border: none !important;
	border-radius: 12px !important;
	padding: 0.85rem 1.75rem !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.3) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-position 0.4s ease !important;
}
body .visati-page:not(.visati-page--policy) a:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-header__brand):not(.visati-footer__social-link):not(.visati-footer__link):not(.visati-footer__legal a):not(.visati-contact-page__detail-value):not(.visati-order-summary__whatsapp):not(.visati-blog-card__stretched-link):not(.visati-blog-sidebar__link):not(.visati-global-reach__cta)):hover,
body .visati-page button:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-faq-item__q):not(.visati-faq-cat-btn):not(.visati-header__toggle):not(.visati-drawer__close):not(.visati-announcement-close):not(.visati-combobox__button):not(.visati-order-summary__discount-btn):not(.visati-testimonials-arrow)):hover,
body .visati-page [type="button"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"]):not(.visati-combobox__button):not(.visati-order-summary__discount-btn)):hover,
body .visati-page [type="submit"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"])):hover,
body .visati-page [type="reset"]:where(:not([class*="visati-btn"]):not([class*="elementor-button"])):hover {
	background-position: 100% 100% !important;
	box-shadow: 0 4px 20px rgba(201, 168, 76, 0.5), 0 0 40px rgba(240, 200, 100, 0.2) !important;
	transform: translateY(-2px) !important;
	color: var( --visati-navy );
}

/* ─────────────────────────────────────────────────────────
   THEME UTILITY CLASSES — for use as Elementor "CSS Classes"
   (Advanced tab) on any widget. .theme-primary-btn ships with
   the full header-button look (shape, padding, font, shadow)
   so it looks right by default — Elementor's own per-widget
   Style tab can still override any of these on a specific
   instance if a different size/radius is ever wanted.
   ───────────────────────────────────────────────────────── */

/* Gold gradient button — identical look to the header CTA / apply-form buttons.
   Elementor's "CSS Classes" (Advanced tab) applies the class to the widget's
   OUTER wrapper div, not the actual <a class="elementor-button"> inside it —
   so this must style the inner .elementor-button descendant, and explicitly
   NOT the wrapper itself (:not(.elementor-widget)), or the whole widget
   container (including Elementor's own spacing) turns into one oversized box. */
.theme-primary-btn:not(.elementor-widget),
.theme-primary-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%);
	background-size: 200% 200%;
	color: var( --visati-navy, #0A1628 );
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	padding: 0.85rem 1.75rem;
	border-radius: 12px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	box-shadow: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-position 0.4s ease;
}
.theme-primary-btn:not(.elementor-widget):hover,
.theme-primary-btn:not(.elementor-widget):focus,
.theme-primary-btn .elementor-button:hover,
.theme-primary-btn .elementor-button:focus {
	background-position: 100% 100%;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.25);
	transform: translateY(-2px);
	color: var( --visati-navy, #0A1628 );
	text-decoration: none;
}

/* Gold gradient text — same gradient, clipped to text for headlines/highlights.
   Same wrapper-vs-inner-element issue as above: covers direct use, plus
   Elementor Heading/Text-Editor widgets' actual content elements. */
.theme-text:not(.elementor-widget),
.theme-text .elementor-heading-title,
.theme-text .elementor-widget-container > * {
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%);
	background-size: 200% 200%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* Nationality combobox */
.visati-combobox {
	position: relative;
	width: 100%;
}
.visati-combobox__button {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100%;
	padding: 0.85rem 1rem !important;
	background: var(--visati-white) !important;
	background-size: unset !important;
	border: 1.5px solid rgba(10, 22, 40, 0.12) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	font-family: "Inter", sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	color: rgba(10, 22, 40, 0.4) !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	text-align: left !important;
	gap: 0.5rem;
	margin: 0;
	text-decoration: none;
}
.visati-combobox__button:hover {
	border-color: var(--visati-gold) !important;
	box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15) !important;
}
.visati-combobox__button.is-filled {
	color: var(--visati-ink) !important;
}
.visati-combobox__flag {
	display: inline-flex;
	align-items: center;
}
.visati-combobox__flag img {
	width: 24px;
	height: 16px;
	border-radius: 2px;
	object-fit: cover;
}
.visati-combobox__text {
	flex: 1;
}
.visati-combobox__chevron {
	flex-shrink: 0;
	opacity: 0.5;
}
.visati-combobox__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 4px;
	background: #fff;
	border: 1px solid #e2e4e7;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(10, 22, 40, 0.15);
	z-index: 100;
	max-height: 280px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.visati-combobox__search {
	border: none !important;
	border-bottom: 1px solid #e2e4e7 !important;
	border-radius: 0 !important;
	padding: 0.65rem 1rem !important;
	font-size: 0.85rem;
	font-family: "Inter", sans-serif;
	outline: none;
}
.visati-combobox__list {
	list-style: none;
	padding: 0;
	margin: 0;
	overflow-y: auto;
	flex: 1;
}
.visati-combobox__list li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	cursor: pointer;
	font-size: 0.85rem;
	transition: background 0.15s ease;
}
.visati-combobox__list li:hover {
	background: var(--visati-mist);
}
.visati-combobox__list li img {
	width: 20px;
	height: 14px;
	border-radius: 2px;
	object-fit: cover;
	flex-shrink: 0;
}

/* Exclude already-styled components from the blanket reset */
.visati-header__toggle,
.visati-drawer__close,
.visati-announcement-close {
	background: unset !important;
	background-size: unset !important;
	box-shadow: unset !important;
	border: unset !important;
	color: unset !important;
}
}

/* ============================================================
   ACCESSIBILITY — focus-visible
   ============================================================ */

.visati-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

:focus-visible {
	outline: 3px solid var(--visati-gold);
	outline-offset: 2px;
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: none;
}

/* ============================================================
   RESPONSIVE — mobile utilities
   ============================================================ */
table { border-collapse: collapse; }
.visati-visa-single__content img { max-width: 100%; height: auto; }
.visati-visa-single__content { overflow-wrap: break-word; }

.visati-footer__social-link {
	width: 44px;
	height: 44px;
}

.visati-footer__legal a {
	font-size: 0.75rem;
}

/* ============================================================
   POST-RESET OVERRIDES — hello-elementor reset.css loads AFTER
   app.css and applies bare-element styles that break our header.
   These selectors use higher specificity to win.
   ============================================================ */

/* CTA button: golden gradient on dark header */
#site-header .visati-btn.visati-header__cta,
#site-header a.visati-header__cta {
	background: linear-gradient(135deg, #C9A84C 0%, #F0C864 50%, #C9A84C 100%) !important;
	background-size: 200% 200% !important;
	color: #0A1628 !important;
	border: none !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 8px rgba(201, 168, 76, 0.3) !important;
	padding: 0.5rem 1.15rem !important;
	text-decoration: none !important;
}
#site-header .visati-btn.visati-header__cta:hover,
#site-header a.visati-header__cta:hover {
	background-position: 100% 100% !important;
	box-shadow: 0 4px 20px rgba(201, 168, 76, 0.5), 0 0 40px rgba(240, 200, 100, 0.2) !important;
	transform: translateY(-1px) !important;
}
#site-header .visati-btn.visati-header__cta svg,
#site-header a.visati-header__cta svg {
	color: #0A1628 !important;
	stroke: #0A1628 !important;
}

/* Hamburger toggle: transparent bg + white lines on dark header */
#site-header .visati-header__toggle {
	background: transparent !important;
	border: none !important;
	padding: 8px !important;
	cursor: pointer !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	border-radius: 8px !important;
}
#site-header .visati-header__toggle span {
	background: #FFFFFF !important;
	display: block !important;
	width: 20px !important;
	height: 2px !important;
	border-radius: 2px !important;
}
/* Hide hamburger on desktop */
@media ( min-width: 1024px ) {
	#site-header .visati-header__toggle { display: none !important; }
}

/* Override hello-elementor reset bare <a> color on header links */
#site-header .visati-header__links a,
#site-header .visati-header__brand {
	color: rgba(255, 255, 255, 0.85) !important;
}
#site-header .visati-header__links a:hover {
	color: #C9A84C !important;
}

/* Override gold links from hello-elementor reset.css
   Use navy for all content links, white for Elementor buttons. */
.visati-page a:where(:not(.visati-btn):not(.elementor-button):not(.visati-header__brand):not(.visati-footer__social-link):not(.visati-footer__link):not(.visati-footer__legal a)) {
	color: var( --visati-navy );
}
.visati-page a:where(:not(.visati-btn):not(.elementor-button):not(.visati-header__brand):not(.visati-footer__social-link):not(.visati-footer__link):not(.visati-footer__legal a)):hover {
	color: var( --visati-gold );
}

/* Elementor buttons: the reset.css a{color:#C9A84C} leaks gold text into
   .elementor-button. Fix: reset to white for gold/navy bg buttons only. */
.elementor-button,
.elementor-button a,
a.elementor-button {
	color: #fff;
}
.elementor-button:hover,
.elementor-button a:hover,
a.elementor-button:hover {
	color: #fff;
}

/* ─────────────────────────────────────────────────────────
   ABOUT PAGE
   ───────────────────────────────────────────────────────── */
.visati-section-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --visati-gold );
	margin-bottom: 0.75rem;
}

/* Hero */
.visati-about-hero {
	background: var( --visati-navy );
	position: relative;
	overflow: hidden;
	padding: 7rem 1.5rem 5rem;
	text-align: center;
}
.visati-about-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.visati-about-hero__ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.08);
}
.visati-about-hero__ring--1 { width: 480px; height: 480px; top: -128px; right: -128px; }
.visati-about-hero__ring--2 { width: 288px; height: 288px; top: 32px; right: -64px; }
.visati-about-hero__ring--3 { width: 256px; height: 256px; bottom: -80px; left: -80px; }
.visati-about-hero__inner {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
}
.visati-about-hero__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --visati-gold );
	margin-bottom: 1rem;
}
.visati-about-hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
	margin: 0 0 1.5rem;
}
.visati-about-hero__desc {
	font-size: 1rem;
	color: rgba(255,255,255,0.6);
	line-height: 1.7;
	max-width: 640px;
	margin: 0 auto 2.5rem;
}
.visati-about-hero__btns {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* Stats */
.visati-about-stats {
	border-bottom: 1px solid rgba(10,22,40,0.08);
}
.visati-about-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.visati-about-stats__item {
	padding: 2.5rem 1.5rem;
	text-align: center;
	border-right: 1px solid rgba(10,22,40,0.08);
}
.visati-about-stats__item:last-child { border-right: none; }
.visati-about-stats__number {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0 0 0.25rem;
}
.visati-about-stats__label {
	font-size: 0.875rem;
	color: rgba(26,26,46,0.6);
	margin: 0;
}

/* Mission */
.visati-about-mission {
	padding: 5rem 0;
}
.visati-about-mission__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}
.visati-about-mission__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-ink );
	line-height: 1.2;
	margin: 0 0 1.5rem;
}
.visati-about-mission__text {
	font-size: 0.95rem;
	color: rgba(26,26,46,0.6);
	line-height: 1.7;
	margin: 0 0 1rem;
}
.visati-about-mission__list {
	list-style: none;
	padding: 0;
	margin: 2rem 0 0;
}
.visati-about-mission__list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.9rem;
	color: var( --visati-ink );
	margin-bottom: 0.75rem;
}
.visati-about-mission__list li svg {
	color: var( --visati-gold );
	flex-shrink: 0;
	margin-top: 2px;
}

/* Mission visual */
.visati-about-mission__visual {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.visati-about-mission__img-wrap {
	border-radius: 16px;
	overflow: hidden;
	height: 208px;
	position: relative;
}
.visati-about-mission__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.visati-about-mission__img-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10,22,40,0.3);
}
.visati-about-mission__img-caption {
	position: absolute;
	bottom: 1rem;
	left: 1.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.8);
}

/* Trust card */
.visati-about-mission__trust {
	background: var( --visati-navy );
	border-radius: 16px;
	padding: 1.75rem;
	position: relative;
}
.visati-about-mission__trust-stars {
	color: var( --visati-gold );
	font-size: 0.875rem;
	margin-bottom: 1rem;
}
.visati-about-mission__trust-stars span {
	color: rgba(255,255,255,0.5);
	font-size: 0.75rem;
	margin-left: 0.5rem;
}
.visati-about-mission__trust-quote {
	font-size: 0.9rem;
	color: #fff;
	line-height: 1.7;
	margin: 0 0 1.25rem;
	font-style: normal;
}
.visati-about-mission__trust-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.visati-about-mission__trust-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(201,168,76,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	flex-shrink: 0;
}
.visati-about-mission__trust-name {
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff;
	margin: 0;
}
.visati-about-mission__trust-role {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.5);
	margin: 0.15rem 0 0;
}
.visati-about-mission__trust-badge {
	position: absolute;
	bottom: -16px;
	right: -16px;
	width: 68px;
	height: 68px;
	border-radius: 16px;
	background: var( --visati-gold );
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(201,168,76,0.3);
}
.visati-about-mission__trust-badge-num {
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
.visati-about-mission__trust-badge-label {
	font-size: 0.55rem;
	color: rgba(255,255,255,0.75);
	text-align: center;
	line-height: 1.2;
	margin-top: 2px;
}

/* Values */
.visati-about-values {
	padding: 4rem 0;
	background: var( --visati-mist );
	border-top: 1px solid rgba(10,22,40,0.08);
	border-bottom: 1px solid rgba(10,22,40,0.08);
}
.visati-about-values__header {
	text-align: center;
	margin-bottom: 3rem;
}
.visati-about-values__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-ink );
	margin: 0;
}
.visati-about-values__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.visati-about-values__card {
	background: #fff;
	border: 1px solid rgba(10,22,40,0.08);
	border-radius: 16px;
	padding: 1.75rem;
}
.visati-about-values__icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgba(201,168,76,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var( --visati-gold );
	margin-bottom: 1.25rem;
}
.visati-about-values__card-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var( --visati-ink );
	margin: 0 0 0.75rem;
}
.visati-about-values__card-body {
	font-size: 0.9rem;
	color: rgba(26,26,46,0.6);
	line-height: 1.7;
	margin: 0;
}

/* CTA */
.visati-about-cta {
	padding: 5rem 0;
	text-align: center;
}
.visati-about-cta__inner {
	max-width: 640px;
	margin: 0 auto;
}
.visati-about-cta__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --visati-gold );
	margin-bottom: 0.75rem;
}
.visati-about-cta__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-navy );
	line-height: 1.2;
	margin: 0 0 1rem;
}
.visati-about-cta__desc {
	font-size: 0.95rem;
	color: rgba(26,26,46,0.6);
	margin: 0 0 2rem;
}
.visati-about-cta__btns {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* About page responsive */
@media ( max-width: 768px ) {
	.visati-about-stats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.visati-about-stats__item:nth-child(2) { border-right: none; }
	.visati-about-mission__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.visati-about-values__grid {
		grid-template-columns: 1fr;
	}
	.visati-about-hero { padding: 5rem 1.5rem 3.5rem; }
	.visati-about-mission__trust-badge { display: none; }
}

/* ─────────────────────────────────────────────────────────
   CONTACT PAGE
   ───────────────────────────────────────────────────────── */
.visati-contact-page {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 1.5rem;
}
.visati-contact-page__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: var( --visati-ink );
	margin: 0 0 1rem;
}
.visati-contact-page__desc {
	font-size: 0.95rem;
	color: rgba(26,26,46,0.6);
	line-height: 1.7;
	margin: 0 0 1.5rem;
	max-width: 480px;
}
.visati-contact-page__details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: 2rem;
}
.visati-contact-page__detail {
	display: flex;
	gap: 0.75rem;
}
.visati-contact-page__detail-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(201,168,76,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var( --visati-gold );
	flex-shrink: 0;
}
.visati-contact-page__detail-label {
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(26,26,46,0.5);
	margin-bottom: 0.25rem;
}
.visati-contact-page__detail-value {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var( --visati-ink );
	text-decoration: none;
	line-height: 1.5;
}
a.visati-contact-page__detail-value:hover { text-decoration: underline; }
.visati-contact-page__detail-note {
	display: block;
	font-size: 0.75rem;
	color: rgba(26,26,46,0.5);
	margin-top: 0.15rem;
}
.visati-contact-page__map {
	border-radius: 16px;
	overflow: hidden;
	height: 224px;
	border: 1px solid rgba(10,22,40,0.08);
	margin-top: 1.5rem;
}
.visati-contact-page__map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}
.visati-contact-page__form-card {
	background: var( --visati-mist );
	border-radius: 16px;
	padding: 2rem;
}
.visati-contact-page__form-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var( --visati-ink );
	margin: 0 0 0.25rem;
}
.visati-contact-page__form-desc {
	font-size: 0.875rem;
	color: rgba(26,26,46,0.6);
	margin: 0 0 1.5rem;
}
.visati-contact-page__form-note {
	text-align: center;
	font-size: 0.75rem;
	color: rgba(26,26,46,0.5);
	margin-top: 1rem;
}
.visati-btn--whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #25D366 !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0 1.5rem;
	height: 44px;
	border-radius: 12px;
	text-decoration: none;
	transition: background 0.2s;
}
.visati-btn--whatsapp:hover { background: #1fb855 !important; }
@media ( max-width: 768px ) {
	.visati-contact-page {
		grid-template-columns: 1fr;
	}
	.visati-contact-page__details {
		grid-template-columns: 1fr;
	}
}

/* ─────────────────────────────────────────────────────────
   TRACK PAGE
   ───────────────────────────────────────────────────────── */
.visati-page--track .visati-section {
	padding: 5rem 0 4rem;
	text-align: center;
}
.visati-page--track .visati-container {
	max-width: 700px;
	margin: 0 auto;
}
.visati-page--track .visati-eyebrow {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --visati-gold );
}
.visati-page--track h1 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0.5rem 0 0.75rem;
}
.visati-page--track .visati-track-search {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin: 2rem 0;
}
.visati-page--track .visati-track-search input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	flex: 1;
	max-width: 320px;
	padding: 0 1.25rem;
	height: 48px;
	border: 2px solid rgba(10,22,40,0.1);
	border-radius: 12px;
	font-size: 0.95rem;
	font-family: inherit;
	background: var( --visati-white );
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: border-color 0.2s;
}
.visati-page--track .visati-track-search input:focus {
	outline: none;
	border-color: var( --visati-gold );
}
.visati-page--track .visati-track-search .visati-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	height: 48px;
	padding: 0 1.5rem;
}
.visati-track-not-found {
	text-align: center;
	padding: 2rem;
	color: rgba(26,26,46,0.5);
	background: var( --visati-mist );
	border-radius: 12px;
}
.visati-timeline {
	text-align: left;
	margin-top: 1rem;
}
.visati-timeline-item {
	padding: 1rem 0;
	border-bottom: 1px solid rgba(10,22,40,0.08);
}
.visati-timeline-item__status {
	font-weight: 600;
	font-size: 0.9rem;
	color: var( --visati-navy );
	text-transform: capitalize;
}
.visati-timeline-item.is-current .visati-timeline-item__status {
	color: var( --visati-gold );
}
.visati-timeline-item__note {
	font-size: 0.85rem;
	color: rgba(26,26,46,0.6);
	margin-top: 0.25rem;
}
.visati-timeline-item__date {
	font-size: 0.75rem;
	color: rgba(26,26,46,0.4);
	margin-top: 0.15rem;
}
.visati-track-status-badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: capitalize;
}
.visati-track-status-badge.is-approved { background: #dcfce7; color: #166534; }
.visati-track-status-badge.is-rejected { background: #fee2e2; color: #991b1b; }
.visati-track-status-badge.is-processing { background: #dbeafe; color: #1e40af; }
.visati-track-status-badge.is-default { background: rgba(10,22,40,0.08); color: rgba(26,26,46,0.6); }
.visati-track-outcome { font-size: 0.95rem; font-weight: 600; }
.visati-track-outcome--approved { color: #166534; }
.visati-track-outcome--rejected { color: #991b1b; }

/* ─────────────────────────────────────────────────────────
   VISA TYPE ARCHIVE
   ───────────────────────────────────────────────────────── */
.visati-page--visa-archive .visati-section {
	padding: 4rem 0;
}
.visati-page--visa-archive .visati-container {
	max-width: 1100px;
	margin: 0 auto;
}
.visati-visa-archive__header {
	text-align: center;
	margin-bottom: 3rem;
}
.visati-visa-archive__header h1 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0.5rem 0 0.75rem;
}
.visati-visa-archive__header p {
	font-size: 1rem;
	color: rgba(26,26,46,0.6);
	margin: 0;
}

/* ─────────────────────────────────────────────────────────
   SINGLE VISA TYPE
   ───────────────────────────────────────────────────────── */
.visati-page--visa-single .visati-section {
	padding: 3rem 0 4rem;
}
.visati-page--visa-single .visati-container {
	max-width: 1100px;
	margin: 0 auto;
}
.visati-visa-single__back {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	font-weight: 500;
	color: rgba(26,26,46,0.5);
	text-decoration: none;
	margin-bottom: 1.5rem;
	transition: color 0.2s;
}
.visati-visa-single__back:hover {
	color: var( --visati-navy );
}
.visati-visa-single__header {
	margin-bottom: 2.5rem;
}
.visati-visa-single__header h1 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0.75rem 0;
}
.visati-visa-single__tagline {
	font-size: 1rem;
	color: rgba(26,26,46,0.6);
	margin: 0;
}
.visati-visa-single__grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 3rem;
	align-items: start;
}
.visati-visa-single__content {
	font-size: 0.95rem;
	color: rgba(26,26,46,0.7);
	line-height: 1.7;
}
.visati-visa-single__content h2,
.visati-visa-single__content h3 {
	color: var( --visati-navy );
}
.visati-visa-single__price-card {
	background: var( --visati-mist );
	border-radius: 16px;
	padding: 1.75rem;
	text-align: center;
}
.visati-visa-single__price-label {
	font-size: 0.8rem;
	color: rgba(26,26,46,0.5);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.visati-visa-single__price {
	margin: 0.5rem 0 1.25rem;
}
.visati-visa-single__price-aed {
	font-size: 1.75rem;
	font-weight: 700;
	color: var( --visati-navy );
	display: block;
}
.visati-visa-single__price-usd {
	font-size: 0.85rem;
	color: rgba(26,26,46,0.5);
}
.visati-visa-single__details,
.visati-visa-single__need-help {
	background: var( --visati-mist );
	border-radius: 16px;
	padding: 1.5rem;
	margin-top: 1rem;
}
.visati-visa-single__details h3,
.visati-visa-single__need-help h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var( --visati-navy );
	margin: 0 0 1rem;
}
.visati-visa-single__details dl {
	margin: 0;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.visati-visa-single__details dt {
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(26,26,46,0.45);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 0.75rem;
}
.visati-visa-single__details dd {
	font-size: 0.95rem;
	color: var( --visati-navy );
	font-weight: 500;
	margin: 0.15rem 0 0;
}
.visati-visa-single__need-help p {
	font-size: 0.85rem;
	color: rgba(26,26,46,0.6);
	margin: 0 0 1rem;
	line-height: 1.5;
}
.visati-btn--whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var( --visati-whatsapp ) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 0.9rem;
	padding: 0.75rem 1.5rem;
	border-radius: 12px;
	text-decoration: none;
	transition: opacity 0.2s;
}
.visati-btn--whatsapp:hover {
	opacity: 0.9;
}
@media ( max-width: 768px ) {
	.visati-visa-single__grid {
		grid-template-columns: 1fr;
	}
}

/* ─────────────────────────────────────────────────────────
   POLICY PAGES (Privacy, Terms, Cookies, Refund)
   ───────────────────────────────────────────────────────── */
/* Hero section — rendered by page-policy.php template */
.visati-policy-hero {
	background: var( --visati-navy );
	padding: 6rem 1.5rem 3rem;
	text-align: center;
	margin-top: -24px;
}
.visati-policy-hero .visati-eyebrow {
	color: var( --visati-gold );
}
.visati-policy-hero h1 {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: #fff;
	margin: 0.5rem 0 0.75rem;
}
.visati-policy-updated {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.5);
	margin: 0;
}
/* Card wrapper for policy pages — rendered by page-policy.php template */
.visati-policy-card {
	background: var( --visati-white );
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(10, 22, 40, 0.06), 0 1px 4px rgba(10, 22, 40, 0.03);
	padding: 3rem;
	margin: -1.5rem auto 3rem;
	max-width: 800px;
	position: relative;
	z-index: 1;
}
/* Force policy card links to stay as text — never buttons */
.visati-policy-card a,
.visati-policy-card a:not([class]),
.visati-policy-card p a,
.visati-policy-card li a,
.visati-policy-card span a,
.elementor-widget-text-editor .visati-policy-card a {
	background: none !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	color: var( --visati-navy ) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	font-weight: inherit !important;
	font-family: inherit !important;
	display: inline !important;
	line-height: inherit !important;
}
.visati-policy-card a:hover,
.visati-policy-card p a:hover,
.visati-policy-card li a:hover {
	background: none !important;
	background-image: none !important;
	box-shadow: none !important;
	transform: none !important;
	color: var( --visati-gold ) !important;
}
@media ( max-width: 768px ) {
	.visati-policy-hero {
		padding: 5rem 1.5rem 2rem;
	}
	.visati-policy-card {
		padding: 1.75rem;
		margin-top: -1rem;
		border-radius: 16px;
	}
}
@media ( max-width: 639px ) {
	.visati-policy-hero {
		padding: 4rem 1rem 1.5rem;
	}
	.visati-policy-card {
		padding: 1.25rem;
	}
}

/* ============================================================
   GLOBAL MOBILE RESPONSIVE
   ============================================================ */

/* ── Sticky header: ~95% width on mobile ─────────────── */
@media ( max-width: 639px ) {
	.visati-header.is-scrolled .visati-header__bar {
		width: 95%;
		margin: 0 auto;
		border-radius: 16px;
	}
	.visati-header.is-scrolled .visati-header__inner {
		height: 56px;
		padding: 0.4rem 1rem;
	}
	.visati-header__inner {
		padding: 0.4rem 1rem;
	}
	.visati-header__logo {
		height: 22px !important;
		max-width: 100px !important;
	}
	.visati-header__wordmark {
		font-size: 1rem;
	}
}

/* ── Track page mobile ───────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-page--track .visati-section {
		padding: 3rem 0 2rem;
	}
	.visati-page--track .visati-track-search {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		margin: 1.5rem 0;
	}
	.visati-page--track .visati-track-search input {
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		appearance: none !important;
		box-sizing: border-box !important;
		max-width: 100%;
		width: 100%;
		height: 48px !important;
		min-height: 48px;
		line-height: normal;
		background: var( --visati-white );
	}
	.visati-page--track .visati-track-search .visati-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ── Single visa type mobile ─────────────────────────── */
@media ( max-width: 768px ) {
	.visati-visa-single__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.visati-visa-single__header {
		margin-bottom: 1.5rem;
	}
	.visati-visa-single__price-card {
		padding: 1.25rem;
	}
	.visati-visa-single__details,
	.visati-visa-single__need-help {
		padding: 1.25rem;
	}
}
@media ( max-width: 639px ) {
	.visati-visa-single__back {
		margin-bottom: 1rem;
		font-size: 0.8rem;
	}
}

/* ── Visa archive mobile ─────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-page--visa-archive .visati-section {
		padding: 2.5rem 0;
	}
	.visati-visa-archive__header {
		margin-bottom: 2rem;
	}
	.visati-visa-archive__header h1 {
		font-size: 1.5rem;
	}
}

/* ── Policy pages mobile ─────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-page--policy .visati-section {
		padding: 2.5rem 0;
	}
	.visati-page--policy .visati-container {
		padding: 0 1rem;
	}
	.visati-page--policy h1 {
		font-size: 1.5rem;
	}
	.visati-page--policy h2 {
		font-size: 1.1rem;
		margin: 1.5rem 0 0.5rem;
	}
	.visati-page--policy p,
	.visati-page--policy li {
		font-size: 0.9rem;
	}
}

/* ── Hero / Quick-Apply mobile ───────────────────────── */
@media ( max-width: 639px ) {
	[data-id="hero-row"] {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		gap: 2rem !important;
	}
	[data-id="hero-row"] > [data-id="c5d2869"] {
		flex: 0 0 auto !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.visati-qa-card {
		max-width: 100%;
		padding: 1.25rem;
	}
}

/* ── FAQ mobile ──────────────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-faq-layout {
		flex-direction: column;
		gap: 2rem;
		padding: 0 1rem;
	}
	.visati-faq-heading {
		position: static;
		flex: none;
		width: 100%;
	}
	.visati-faq-title {
		font-size: 1.75rem;
	}
	.visati-faq-search {
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
	}
	.visati-faq-categories {
		gap: 0.35rem;
	}
	.visati-faq-cat-btn {
		padding: 0.35rem 0.75rem;
		font-size: 0.75rem;
	}
	.visati-faq-item__q {
		padding: 0.9rem 1rem;
		font-size: 0.9rem;
	}
	.visati-faq-item.is-open .visati-faq-item__q {
		padding: 0.9rem 1rem;
	}
	.visati-faq-item__a {
		padding: 0 1rem 1rem;
		font-size: 0.85rem;
	}
}

/* ── Testimonials mobile ─────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-testimonials-track {
		gap: 1rem;
		padding-left: 1rem;
		scroll-padding-left: 1rem;
	}
	.visati-testimonial-card {
		min-width: 280px;
		max-width: 300px;
		padding: 1.25rem;
	}
	.visati-testimonials-arrow--prev {
		left: -8px;
	}
	.visati-testimonials-arrow--next {
		right: -8px;
	}
	.visati-testimonials-arrow {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px;
		max-width: 36px;
	}
	.visati-testimonials-arrow svg {
		width: 16px;
		height: 16px;
	}
}

/* ── Footer mobile ───────────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-footer {
		padding-top: 2.5rem;
		padding-bottom: 1.25rem;
	}
	.visati-footer__inner {
		gap: 2rem;
	}
	.visati-footer__brand-text {
		gap: 0;
	}
	.visati-footer__wordmark {
		font-size: 1.1rem;
	}
	.visati-footer__desc {
		max-width: 100%;
		font-size: 0.8rem;
	}
	.visati-footer__social {
		gap: 0.4rem;
	}
	.visati-footer__social-link {
		width: 44px;
		height: 44px;
	}
	.visati-footer__heading {
		font-size: 0.75rem;
	}
	.visati-footer__link {
		font-size: 0.8rem;
	}
	.visati-footer__contact-row {
		font-size: 0.8rem;
	}
	.visati-footer__bottom {
		padding-top: 1rem;
		margin-top: 1.5rem;
	}
	.visati-footer__copy {
		font-size: 0.7rem;
	}
	.visati-footer__legal {
		gap: 0.75rem;
		flex-wrap: wrap;
		justify-content: center;
	}
	.visati-footer__legal a {
		font-size: 0.75rem;
	}
}

/* ── Contact page mobile ─────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-contact-page {
		padding: 2rem 1rem;
		gap: 2rem;
	}
	.visati-contact-page__title {
		font-size: 1.5rem;
	}
	.visati-contact-page__form-card {
		padding: 1.25rem;
	}
	.visati-contact-page__map {
		height: 180px;
	}
}

/* ── About page mobile ───────────────────────────────── */
@media ( max-width: 639px ) {
	.visati-about-hero {
		padding: 4rem 1rem 2.5rem;
	}
	.visati-about-hero__title {
		font-size: 1.75rem;
	}
	.visati-about-hero__desc {
		font-size: 0.9rem;
	}
	.visati-about-hero__btns {
		flex-direction: column;
		align-items: center;
	}
	.visati-about-stats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.visati-about-stats__item {
		padding: 1.5rem 1rem;
	}
	.visati-about-stats__number {
		font-size: 1.5rem;
	}
	.visati-about-stats__label {
		font-size: 0.8rem;
	}
	.visati-about-mission {
		padding: 3rem 0;
	}
	.visati-about-mission__grid {
		gap: 2rem;
	}
	.visati-about-mission__title {
		font-size: 1.5rem;
	}
	.visati-about-values {
		padding: 2.5rem 0;
	}
	.visati-about-values__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.visati-about-values__card {
		padding: 1.25rem;
	}
	.visati-about-cta {
		padding: 3rem 0;
	}
	.visati-about-cta__title {
		font-size: 1.5rem;
	}
	.visati-about-cta__btns {
		flex-direction: column;
		align-items: center;
	}
}

/* ── Reduced motion ─────────────────────────────────── */
@media ( prefers-reduced-motion: reduce ) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ── Job listings (Careers page) ───────────────────── */
.visati-jobs-empty {
	color: #6b7280;
	font-size: 0.95rem;
	text-align: center;
	padding: 2rem 0;
}
.visati-jobs-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	max-width: 900px;
	margin: 0 auto;
}
.visati-job-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	background: var( --visati-white, #fff );
	border: 1px solid #e5e8ee;
	border-radius: var( --visati-radius, 14px );
	padding: 1.5rem 1.75rem;
}
.visati-job-card__main {
	min-width: 0;
	flex: 1;
}
.visati-job-card__title {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.15rem;
	color: var( --visati-navy, #0A1628 );
	margin: 0 0 0.5rem;
}
.visati-job-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.85rem;
	color: #6b7280;
	margin-bottom: 0.6rem;
}
.visati-job-card__meta span:not(.visati-job-card__badge)::after {
	content: "·";
	margin-left: 0.6rem;
	color: #d1d5db;
}
.visati-job-card__badge {
	background: rgba( 201, 168, 76, 0.12 );
	color: #856404;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 2px 10px;
	border-radius: 10px;
}
.visati-job-card__desc {
	font-size: 0.9rem;
	color: #4b5563;
	line-height: 1.5;
	margin: 0;
}
.visati-job-card__apply {
	flex-shrink: 0;
}
@media ( max-width: 640px ) {
	.visati-job-card {
		flex-direction: column;
		align-items: stretch;
	}
	.visati-job-card__apply {
		justify-content: center;
	}
}

/* ── Blog (grid + filters + sidebar) ───────────────── */
.visati-blog-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 2.5rem;
	align-items: start;
}
.visati-blog-empty {
	color: #6b7280;
	font-size: 0.95rem;
	padding: 2rem 0;
	text-align: center;
}
.visati-blog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}
.visati-blog-filter {
	background: #f1f2f4 !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 0.45rem 1rem !important;
	font-size: 0.85rem;
	font-weight: 600;
	color: #4b5563 !important;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.visati-blog-filter:hover {
	background: #e6e8eb;
}
.visati-blog-filter.is-active {
	background: var( --visati-navy, #0A1628 );
	color: #fff;
}
.visati-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}
.visati-blog-card {
	position: relative;
	background: var( --visati-white, #fff );
	border: 1px solid #e5e8ee;
	border-radius: var( --visati-radius, 14px );
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.visati-blog-card:hover {
	box-shadow: var( --visati-shadow, 0 10px 30px rgba(10,22,40,0.08) );
	transform: translateY(-2px);
}
/* Stretched link — makes the whole card clickable via one <a>, laid over
   everything (z-index above the body content, which stays visually on top
   thanks to normal stacking order but isn't itself interactive). */
.visati-blog-card__stretched-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.visati-blog-card__image {
	width: 100%;
	height: 170px;
	object-fit: cover;
	display: block;
}
.visati-blog-card__image--placeholder {
	background: linear-gradient(135deg, #F8F9FB 0%, #E5E8EE 100%);
}
.visati-blog-card__body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}
.visati-blog-card__cat {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var( --visati-gold, #C9A84C );
}
.visati-blog-card__title {
	margin: 0;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.35;
	color: var( --visati-navy, #0A1628 );
}
.visati-blog-card__excerpt {
	font-size: 0.88rem;
	color: #6b7280;
	line-height: 1.5;
	margin: 0;
	flex: 1;
}
.visati-blog-card__meta {
	display: flex;
	justify-content: space-between;
	font-size: 0.78rem;
	color: #9aa3b2;
	margin-top: 0.25rem;
}

.visati-blog-sidebar {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.visati-blog-sidebar__block {
	background: var( --visati-mist, #F8F9FB );
	border-radius: var( --visati-radius, 14px );
	padding: 1.25rem;
}
.visati-blog-sidebar__heading {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	color: var( --visati-navy, #0A1628 );
	margin: 0 0 0.85rem;
}
.visati-blog-sidebar__list,
.visati-blog-sidebar__recent {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.visati-blog-sidebar__list a {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.88rem;
	color: #4b5563;
	text-decoration: none;
}
.visati-blog-sidebar__list a:hover {
	color: var( --visati-navy, #0A1628 );
}
.visati-blog-sidebar__list a span {
	color: #9aa3b2;
}
.visati-blog-sidebar__recent li a {
	display: block;
	font-size: 0.88rem;
	font-weight: 600;
	color: var( --visati-navy, #0A1628 );
	text-decoration: none;
	margin-bottom: 0.15rem;
}
.visati-blog-sidebar__recent li a:hover {
	text-decoration: underline;
}
.visati-blog-sidebar__recent li span {
	font-size: 0.75rem;
	color: #9aa3b2;
}
.visati-blog-sidebar__quick-actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.visati-blog-sidebar__quick-actions .visati-btn {
	justify-content: center;
	width: 100%;
}

@media ( max-width: 900px ) {
	.visati-blog-layout {
		grid-template-columns: 1fr;
	}
	.visati-blog-sidebar {
		position: static;
	}
}

/* ── Global Reach (animated world map) ─────────────── */
.visati-global-reach {
	background: transparent;
	overflow: hidden;
	padding: 3rem 0;
}
.visati-global-reach__panel {
	position: relative;
	overflow: hidden;
	background: var( --visati-navy, #0A1628 );
	border-radius: 28px;
	padding: 2.5rem;
	min-height: 340px;
}
.visati-global-reach__map-layer {
	position: absolute;
	inset: 0;
}
.visati-global-reach__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.visati-global-reach__map-dots {
	opacity: 0.4;
}
.visati-global-reach__arc-dash {
	animation: visati-arc-travel 3s linear infinite;
}
@keyframes visati-arc-travel {
	to { stroke-dashoffset: -20; }
}
.visati-global-reach__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}
.visati-global-reach__label {
	color: var( --visati-gold, #C9A84C );
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.75rem;
}
.visati-global-reach__title {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.25;
	color: #fff;
	margin: 0;
	max-width: 420px;
}
.visati-global-reach__desc {
	margin: 1rem 0 0;
	max-width: 380px;
	font-size: 0.85rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.6);
}
.visati-global-reach__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	padding: 0.6rem 1.25rem;
	border-radius: 8px;
	border: 1px solid rgba(201,168,76,0.25);
	background: rgba(201,168,76,0.1);
	color: var( --visati-gold, #C9A84C );
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease;
}
.visati-global-reach__cta:hover {
	background: rgba(201,168,76,0.2);
	color: var( --visati-gold, #C9A84C );
}
.visati-global-reach__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
}
.visati-global-reach__stat {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.visati-global-reach__stat-icon {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: rgba(255,255,255,0.06);
	color: rgba(201,168,76,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.visati-global-reach__stat-num {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.3rem;
	color: #fff;
	margin: 0;
	line-height: 1;
}
.visati-global-reach__stat-label {
	font-size: 0.7rem;
	color: rgba(255,255,255,0.5);
	margin: 0.25rem 0 0;
	line-height: 1;
}

@media ( min-width: 1024px ) {
	.visati-global-reach__panel {
		padding: 3rem;
		min-height: 380px;
	}
	.visati-global-reach__content {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.visati-global-reach__stats {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		width: 200px;
		flex-shrink: 0;
	}
}
@media ( prefers-reduced-motion: reduce ) {
	.visati-global-reach__arc-dash,
	.visati-global-reach__pin-pulse {
		animation: none;
	}
}

/* Services page — feature grid */
.visati-services-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	max-width: var( --visati-max, 1200px );
	margin: 0 auto;
}
@media ( min-width: 768px ) {
	.visati-services-grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media ( min-width: 1024px ) {
	.visati-services-grid {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1.5rem;
	}
}
.visati-service-card {
	background: var( --visati-white, #fff );
	border: 1px solid #e5e8ee;
	border-radius: 16px;
	padding: 1.75rem;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.visati-service-card:hover {
	border-color: rgba( 201, 168, 76, 0.35 );
	box-shadow: var( --visati-shadow, 0 10px 30px rgba( 10, 22, 40, 0.08 ) );
}
.visati-service-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba( 201, 168, 76, 0.15 );
	color: var( --visati-gold, #C9A84C );
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}
.visati-service-card__title {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 700;
	font-size: 1.1rem;
	color: var( --visati-navy, #0A1628 );
	margin: 0 0 0.5rem;
}
.visati-service-card__desc {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #6b7280;
	margin: 0 0 1.1rem;
}
.visati-service-card__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.visati-service-card__features li {
	position: relative;
	padding-left: 1.1rem;
	font-size: 0.85rem;
	color: #9199a8;
}
.visati-service-card__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba( 201, 168, 76, 0.5 );
}

/* ─────────────────────────────────────────────────────────
   CTA BUTTON ROW — force equal height when buttons sit side-by-side
   ───────────────────────────────────────────────────────── */
.elementor-element .visati-btn + .visati-btn--whatsapp,
.elementor-element .visati-btn--whatsapp + .visati-btn,
.elementor-widget-container > div:has(.visati-btn) > .visati-btn--whatsapp,
.elementor-widget-container > div:has(.visati-btn--whatsapp) > .visati-btn {
	align-self: stretch;
}
.elementor-element .visati-btn + .visati-btn--whatsapp,
.elementor-element .visati-btn--whatsapp + .visati-btn {
	align-self: stretch;
}
.elementor-widget-button .elementor-button {
	height: 100% !important;
}
