/*
 * Visa Master — modern theme design system
 * Loaded after style.css; overrides/extends the underscores base.
 */

/* ---------- Tokens ---------- */
:root {
	--vm-red: #E2231A;
	--vm-red-dark: #B91912;
	--vm-navy: #0E1B33;
	--vm-navy-soft: #16223d;
	--vm-ink: #1B1F27;
	--vm-gray: #6B7280;
	--vm-gray-light: #F4F5F7;
	--vm-border: #E7E8EC;
	--vm-white: #FFFFFF;
	--vm-radius: 14px;
	--vm-radius-sm: 8px;
	--vm-shadow: 0 10px 30px rgba(14, 27, 51, 0.08);
	--vm-shadow-lg: 0 20px 50px rgba(14, 27, 51, 0.16);
	--vm-container: 1200px;
	--vm-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* ---------- Layout reset ----------
 * style.css (the underscores base) caps #primary.content-area at 960px for
 * an old sidebar layout. This theme's sections manage their own width via
 * .vm-container and need to be full-bleed, so undo that constraint here.
 */
#primary.content-area {
	max-width: none;
	margin: 0;
	padding: 0;
}
#content {
	padding: 0;
}
a, a:visited {
  color: inherit;
}
/* ---------- Base ---------- */
body {
	font-family: var(--vm-font);
	color: var(--vm-ink);
	background: var(--vm-white);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

p { font-weight: 400; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--vm-font);
	color: var(--vm-navy);
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 .6em;
}
h3, h4, h5, h6 { font-weight: 600; }

/*
 * Plain-tag rule only (no ":visited"/":hover" compounding here): a
 * pseudo-class raises this selector's specificity above single-class
 * component rules like .vm-btn, so a visited red button would get its
 * red text painted straight over its red background. Author-origin CSS
 * already beats the browser's default purple :visited colour regardless
 * of specificity, so this plain rule is all that's needed.
 */
a {
	color: var(--vm-red);
	transition: color .2s ease;
}
a:hover { color: var(--vm-red-dark); }

/*
 * Browsers render :visited through a separate, privacy-restricted cascade
 * that a plain "a { color }" rule does not reliably beat (this is also why
 * getComputedStyle can't detect it from script — it's intentionally
 * blind to the real visited render). Any custom link/button class that
 * sets its own color needs an explicit ":visited" twin at matching
 * specificity, or a once-clicked button silently gets the browser's
 * default purple text. Centralised here so every component stays covered.
 */
.vm-btn:visited { color: var(--vm-white); }
.vm-btn-outline:visited { color: var(--vm-navy); }
.vm-btn-white:visited { color: var(--vm-red); }
.vm-btn-white-outline:visited { color: var(--vm-navy); }
.header-cta:visited { color: var(--vm-white); }
.main-navigation a:visited { color: #1a1a1a; }
.main-navigation .current-menu-item > a:visited,
.main-navigation .current_page_item > a:visited { color: var(--vm-red); }
.vm-footer-col ul a:visited { color: #b7c0d6; }
.vm-country-pill-name:visited { color: var(--vm-navy); }
.vm-country-pill-tag:visited { color: var(--vm-red); }
.vm-h-search-result-name:visited { color: var(--vm-navy); }
.vm-h-search-result-tag:visited { color: var(--vm-red); }
.vm-link:visited { color: var(--vm-red); }
.vm-h-popular-searches a:visited { color: var(--vm-white); }
.vm-testimonial-author strong:visited { color: var(--vm-navy); }

img { display: block; max-width: 100%; height: auto; }

.vm-container {
	max-width: var(--vm-container);
	margin: 0 auto;
	padding: 0 24px;
}

.vm-eyebrow {
	display: inline-block;
	color: var(--vm-red);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.vm-section { padding: 80px 0; }
.vm-section-tight { padding: 56px 0; }
.vm-section-header { max-width: 640px; margin: 0 0 40px; }
.vm-section-header.center { margin-left: auto; margin-right: auto; text-align: center; }
.vm-section-header h2 { font-size: 34px; }
.vm-section-header p { color: var(--vm-gray); font-size: 16px; }

.vm-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--vm-red);
	color: var(--vm-white);
	border: 2px solid var(--vm-red);
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.vm-btn:hover { background: var(--vm-red-dark); border-color: var(--vm-red-dark); color: var(--vm-white); }
.vm-btn-outline {
	background: transparent;
	color: var(--vm-navy);
	border-color: var(--vm-border);
}
.vm-btn-outline:hover { background: var(--vm-navy); border-color: var(--vm-navy); color: var(--vm-white); }
.vm-btn-white {
	background: var(--vm-white);
	color: var(--vm-red);
	border-color: var(--vm-white);
}
.vm-btn-white:hover { background: var(--vm-gray-light); color: var(--vm-red-dark); }

/* ---------- Top bar ---------- */
.top-bar {
	background: var(--vm-navy);
	color: #cfd6e4;
	font-size: 13px;
}
.top-bar-inner {
	max-width: var(--vm-container);
	margin: 0 auto;
	padding: 7px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.top-bar .ct-phone { margin: 0; }
.top-bar .ct-phone-number { color: var(--vm-white); font-weight: 600; margin-left: 6px; }
.top-bar-account { margin: 0; }
.top-bar-account a { color: #cfd6e4; }
.top-bar-account a:hover { color: var(--vm-white); }
.top-bar-account .sep { margin: 0 6px; opacity: .5; }

/* ---------- Header / nav ---------- */
.site-header {
	background: var(--vm-white);
	border-bottom: 1px solid var(--vm-border);
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 12px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}
.site-branding .site-title,
.site-branding .site-title a {
	font-size: 20px;
	font-weight: 700;
	color: var(--vm-navy);
	text-decoration: none;
	margin: 0;
}
.site-branding .custom-logo-link img,
.site-branding .ct-custom-logo { max-height: 56px; width: auto; }

.main-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 22px; flex: 1; }
.main-navigation ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}
.main-navigation ul ul {
	position: absolute;
	background: var(--vm-white);
	box-shadow: var(--vm-shadow-lg);
	border-radius: var(--vm-radius-sm);
	padding: 10px;
	flex-direction: column;
	gap: 4px;
	min-width: 200px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all .18s ease;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.main-navigation ul ul li a { padding: 8px 12px; border-radius: 6px; }
.main-navigation ul ul li a:hover { background: var(--vm-gray-light); }
.main-navigation li { position: relative; }
.main-navigation a {
	color: #1a1a1a;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	white-space: nowrap;
}
.main-navigation a:hover { color: var(--vm-red); }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--vm-red);
	position: relative;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--vm-red);
}

.header-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--vm-red);
	color: var(--vm-white);
	padding: 11px 22px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	margin-left: 10px;
}
.header-cta:hover { background: var(--vm-red-dark); color: var(--vm-white); }

.menu-toggle {
	display: none;
	background: none;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	padding: 8px 12px;
	font-size: 14px;
	cursor: pointer;
}

.breadcrumbs {
	background: var(--vm-gray-light);
	border-bottom: 1px solid var(--vm-border);
}
.breadcrumbs-inner {
	max-width: var(--vm-container);
	margin: 0 auto;
	padding: 12px 24px;
	font-size: 13px;
	color: var(--vm-gray);
}
.breadcrumbs .sep { margin: 0 6px; }
.breadcrumbs .current { color: var(--vm-navy); font-weight: 500; }
.is-front-page-body .breadcrumbs,
.home.blog .breadcrumbs { display: none; }

/* ---------- Hero ---------- */
.vm-hero {
	position: relative;
	background: linear-gradient(180deg, #F7F8FA 0%, #FFFFFF 100%);
	overflow: hidden;
	padding: 64px 0 120px;
}
.vm-hero-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 40px;
	align-items: center;
}
.vm-hero-copy .vm-eyebrow { display: block; }
.vm-hero-copy h1 {
	font-size: 46px;
	line-height: 1.15;
	margin-bottom: 18px;
}
.vm-hero-copy h1 span { color: var(--vm-red); }
.vm-hero-copy p {
	font-size: 17px;
	color: var(--vm-gray);
	max-width: 480px;
	margin-bottom: 30px;
}
.vm-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.vm-hero-media { position: relative; }
.vm-hero-media img {
	border-radius: var(--vm-radius);
	box-shadow: var(--vm-shadow-lg);
	width: 100%;
	object-fit: cover;
	aspect-ratio: 4/3.2;
}
.vm-hero-tag {
	position: absolute;
	top: 24px;
	right: 24px;
	background: var(--vm-white);
	padding: 10px 16px;
	border-radius: 999px;
	box-shadow: var(--vm-shadow);
	font-size: 13px;
	font-weight: 600;
	color: var(--vm-navy);
}

/* Search card overlapping hero bottom */
.vm-search-card {
	background: var(--vm-white);
	border-radius: var(--vm-radius);
	box-shadow: var(--vm-shadow-lg);
	padding: 28px;
	margin-top: -72px;
	position: relative;
	z-index: 5;
}
.vm-search-card h2 { font-size: 18px; margin-bottom: 4px; }
.vm-search-card .vm-search-sub { color: var(--vm-gray); font-size: 14px; margin-bottom: 20px; }
.vm-search-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	gap: 14px;
}
.vm-search-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	padding: 10px 14px;
}
.vm-search-field label { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--vm-gray); font-weight: 600; }
.vm-search-field select,
.vm-search-field input {
	border: none;
	outline: none;
	font-size: 14px;
	font-family: var(--vm-font);
	color: var(--vm-navy);
	background: transparent;
}
.vm-search-row .vm-btn { justify-content: center; }

/* ---------- Stats strip ---------- */
.vm-stats {
	background: var(--vm-white);
	padding: 48px 0 20px;
}
.vm-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.vm-stat {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
}
.vm-stat-icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 10px;
	background: #FDEDEC;
	color: var(--vm-red);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.vm-stat h3 { font-size: 22px; margin-bottom: 2px; }
.vm-stat p { font-size: 13px; color: var(--vm-gray); margin: 0; }

/* ---------- Destinations ---------- */
.vm-destinations-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.vm-dest-card {
	position: relative;
	border-radius: var(--vm-radius);
	overflow: hidden;
	box-shadow: var(--vm-shadow);
	aspect-ratio: 4/3;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
}
.vm-dest-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(14,27,51,0) 40%, rgba(14,27,51,.85) 100%);
}
.vm-dest-card-body {
	position: relative;
	z-index: 2;
	padding: 20px;
	color: var(--vm-white);
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.vm-dest-card-body h3 { color: var(--vm-white); font-size: 20px; margin: 0 0 4px; }
.vm-dest-card-body .vm-price { font-size: 13px; opacity: .9; margin: 0; }
.vm-dest-card-body .vm-arrow {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--vm-red);
	color: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* ---------- Services ---------- */
.vm-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.vm-service-card {
	background: var(--vm-white);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 30px;
	transition: box-shadow .2s ease, transform .2s ease;
}
.vm-service-card:hover { box-shadow: var(--vm-shadow-lg); transform: translateY(-4px); }
.vm-service-icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: var(--vm-red);
	color: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 20px;
}
.vm-service-card h3 { font-size: 19px; margin-bottom: 8px; }
.vm-service-card p { color: var(--vm-gray); font-size: 14.5px; margin-bottom: 16px; }
.vm-service-card .vm-link {
	color: var(--vm-red);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ---------- Process steps ---------- */
.vm-process { background: var(--vm-gray-light); }
.vm-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	counter-reset: step;
}
.vm-process-step { position: relative; text-align: center; padding: 0 12px; }
.vm-process-step .vm-step-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--vm-white);
	border: 2px solid var(--vm-red);
	color: var(--vm-red);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
}
.vm-process-step h3 { font-size: 17px; margin-bottom: 6px; }
.vm-process-step p { color: var(--vm-gray); font-size: 14px; }
.vm-process-arrow {
	position: absolute;
	top: 30px;
	right: -12px;
	color: var(--vm-red);
	font-size: 20px;
}

/* ---------- Dark banner / about ---------- */
.vm-dark-band {
	background: var(--vm-navy);
	color: #cfd6e4;
	position: relative;
	overflow: hidden;
}
.vm-dark-band-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 50px;
	align-items: center;
}
.vm-dark-band h2 { color: var(--vm-white); font-size: 32px; }
.vm-dark-band p { color: #b7c0d6; font-size: 15.5px; }
.vm-dark-band-media img { border-radius: var(--vm-radius); }
.vm-checklist { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.vm-checklist li { display: flex; align-items: center; gap: 12px; font-weight: 500; color: var(--vm-white); }
.vm-checklist li::before {
	content: "✓";
	width: 26px;
	height: 26px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--vm-red);
	color: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

/* ---------- Testimonials ---------- */
.vm-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.vm-testimonial {
	background: var(--vm-white);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 28px;
}
.vm-testimonial .vm-stars { color: var(--vm-red); margin-bottom: 12px; font-size: 14px; letter-spacing: 2px; }
.vm-testimonial p.vm-quote { font-size: 15px; color: var(--vm-ink); margin-bottom: 18px; }
.vm-testimonial-author { display: flex; align-items: center; gap: 12px; }
.vm-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--vm-navy);
	color: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 15px;
}
.vm-testimonial-author strong { display: block; font-size: 14px; color: var(--vm-navy); }
.vm-testimonial-author span { font-size: 12.5px; color: var(--vm-gray); }

/* ---------- CTA strip ---------- */
.vm-cta {
	background: var(--vm-red);
	border-radius: var(--vm-radius);
	padding: 44px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.vm-cta h2 { color: var(--vm-white); font-size: 28px; margin-bottom: 6px; }
.vm-cta p { color: #ffe1df; margin: 0; }
.vm-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- Footer ---------- */
.site-footer {
	background: var(--vm-navy);
	color: #b7c0d6;
	padding: 64px 0 0;
	margin-top: 0;
}
.vm-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.2fr 1.5fr 1.3fr;
	gap: 32px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.vm-footer-countries {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px 16px;
}
.vm-newsletter {
	display: flex;
	align-items: center;
	background: var(--vm-white);
	border-radius: 999px;
	padding: 5px 5px 5px 16px;
	margin-top: 14px;
}
.vm-newsletter input {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	background: transparent;
	font-family: var(--vm-font);
	font-size: 13px;
	color: var(--vm-navy);
}
.vm-newsletter button {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: var(--vm-red);
	color: var(--vm-white);
	cursor: pointer;
	font-size: 14px;
}
.vm-newsletter button:hover { background: var(--vm-red-dark); }
.vm-footer-col h4 {
	color: var(--vm-white);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 18px;
}
.vm-footer-brand { font-size: 20px; font-weight: 700; color: var(--vm-white); margin-bottom: 14px; display: block; }
.vm-footer-col p { font-size: 14px; color: #b7c0d6; }
.vm-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vm-footer-col ul a { color: #b7c0d6; text-decoration: none; font-size: 14px; }
.vm-footer-col ul a:hover { color: var(--vm-white); }
.vm-footer-contact li { display: flex; gap: 10px; font-size: 14px; align-items: flex-start; }
.vm-footer-contact .dashicons { color: var(--vm-red); font-size: 18px; flex-shrink: 0; }
.site-footer .social-links { display: flex; gap: 10px; margin-top: 16px; }
.site-footer .social-link {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vm-white);
	text-decoration: none;
}
.site-footer .social-link:hover { background: var(--vm-red); }
.vm-footer-bottom {
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: #8993ac;
	flex-wrap: wrap;
	gap: 10px;
}
.vm-footer-bottom a { color: #8993ac; }
.vm-footer-bottom a:hover { color: var(--vm-white); }

/* ---------- Generic page hero (interior pages) ---------- */
.vm-page-hero {
	position: relative;
	background: var(--vm-navy);
	background-size: cover;
	background-position: center;
	color: var(--vm-white);
	padding: 54px 0 58px;
	overflow: hidden;
}
.vm-page-hero .vm-container { position: relative; }
.vm-page-hero-eyebrow { color: #ff8c85; }
.vm-page-hero h1 {
	color: var(--vm-white);
	font-size: 44px;
	line-height: 1.15;
	margin-bottom: 14px;
	max-width: 640px;
}
.vm-page-hero h1 span { color: var(--vm-red); }
.vm-page-hero p { color: #dfe3ec; max-width: 560px; margin: 0; font-size: 15.5px; }
.vm-page-hero-scribble { top: 24px; right: 32px; font-size: 24px; }

/* Breadcrumbs sitting inside the hero, above the title */
.vm-page-hero .breadcrumbs {
	background: transparent;
	border-bottom: none;
	margin-bottom: 18px;
}
.vm-page-hero .breadcrumbs-inner { padding: 0; max-width: none; color: #c7cde0; }
.vm-page-hero .breadcrumbs a { color: #c7cde0; }
.vm-page-hero .breadcrumbs a:hover { color: var(--vm-white); }
.vm-page-hero .breadcrumbs .current { color: var(--vm-white); }

/* ---------- About page ---------- */
.vm-accent { color: var(--vm-red); }

.vm-about-grid { align-items: start; gap: 60px; }
.vm-about-media { position: relative; padding-bottom: 40px; }
.vm-about-media img { border-radius: var(--vm-radius); box-shadow: var(--vm-shadow); width: 100%; }
.vm-about-media-inset {
	position: absolute !important;
	right: -10px;
	bottom: 0;
	width: 46% !important;
	border: 5px solid var(--vm-white);
	box-shadow: var(--vm-shadow-lg) !important;
}
.vm-about-badge {
	position: absolute;
	left: 0;
	bottom: 14px;
	background: var(--vm-red);
	color: var(--vm-white);
	border-radius: var(--vm-radius);
	padding: 18px 26px;
	box-shadow: var(--vm-shadow-lg);
}
.vm-about-badge strong { display: block; font-size: 30px; line-height: 1; margin-bottom: 4px; }
.vm-about-badge span { font-size: 12.5px; line-height: 1.4; display: block; opacity: .95; }

.vm-about-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid var(--vm-border);
}
.vm-about-stat { text-align: center; border-right: 1px solid var(--vm-border); padding: 0 8px; }
.vm-about-stat:last-child { border-right: none; }
.vm-about-stat .dashicons { color: var(--vm-red); font-size: 24px; margin-bottom: 8px; }
.vm-about-stat h3 { font-size: 20px; margin-bottom: 2px; }
.vm-about-stat p { font-size: 12.5px; color: var(--vm-gray); margin: 0; }

/* Mission / Vision / Values */
.vm-mvv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vm-mvv-card { border-radius: var(--vm-radius); padding: 30px; }
.vm-mvv-icon {
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 22px; margin-bottom: 18px; background: var(--vm-white);
}
.vm-mvv-card h3 { font-size: 19px; margin-bottom: 10px; }
.vm-mvv-card p { font-size: 14px; color: var(--vm-gray); margin: 0; }
.vm-mvv-card-red { background: #FDECEB; }
.vm-mvv-card-red .vm-mvv-icon { color: var(--vm-red); }
.vm-mvv-card-blue { background: #E9F1FC; }
.vm-mvv-card-blue .vm-mvv-icon { color: #2563EB; }
.vm-mvv-card-green { background: #E9F8F0; }
.vm-mvv-card-green .vm-mvv-icon { color: #16A34A; }
.vm-mvv-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.vm-mvv-list li { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--vm-ink); }
.vm-mvv-list li::before {
	content: "✓";
	width: 18px; height: 18px; flex-shrink: 0;
	border-radius: 50%; background: #16A34A; color: var(--vm-white);
	display: flex; align-items: center; justify-content: center; font-size: 11px;
}

/* Why choose (4 compact cards) */
.vm-about-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vm-about-why-card {
	display: flex; gap: 14px; align-items: flex-start;
	border: 1px solid var(--vm-border); border-radius: var(--vm-radius-sm); padding: 20px;
}
.vm-about-why-card .dashicons { color: var(--vm-red); font-size: 24px; flex-shrink: 0; }
.vm-about-why-card h3 { font-size: 15px; margin-bottom: 4px; }
.vm-about-why-card p { font-size: 12.5px; color: var(--vm-gray); margin: 0; line-height: 1.5; }

/* Team split */
.vm-team-split { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: center; }
.vm-team-split p { color: var(--vm-gray); margin-bottom: 24px; }
.vm-team-media { position: relative; }
.vm-team-media img { border-radius: var(--vm-radius); width: 100%; }
.vm-team-quote {
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	max-width: 230px;
	background: var(--vm-white);
	border-radius: var(--vm-radius-sm);
	padding: 20px;
	box-shadow: var(--vm-shadow-lg);
}
.vm-team-quote-mark { font-family: Georgia, serif; font-size: 32px; color: #C7CEDD; line-height: 1; }
.vm-team-quote p { font-size: 13.5px; color: var(--vm-navy); margin: 4px 0 0; line-height: 1.55; }

/* ---------- Contact page ---------- */
.vm-contact-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vm-contact-card {
	display: flex; gap: 14px; align-items: flex-start;
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius-sm);
	padding: 22px;
}
.vm-contact-card-icon {
	width: 44px; height: 44px; flex-shrink: 0;
	border-radius: 50%; background: var(--vm-red); color: var(--vm-white);
	display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.vm-contact-card h3 { font-size: 15px; margin-bottom: 6px; }
.vm-contact-card p { font-size: 12.5px; color: var(--vm-gray); margin: 0 0 2px; line-height: 1.5; }
.vm-contact-card p a { color: var(--vm-gray); text-decoration: none; }
.vm-contact-card p a:hover { color: var(--vm-red); }

.vm-contact-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: start; }
.vm-contact-split h2 { font-size: 30px; margin-bottom: 8px; }
.vm-contact-sub { color: var(--vm-gray); font-size: 14.5px; margin-bottom: 26px; }

.vm-contact-form .wpcf7-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vm-contact-form .wpcf7-form p { margin: 0; }
.vm-contact-form .wpcf7-form p:has(textarea),
.vm-contact-form .wpcf7-form p:has(input[type="submit"]) { grid-column: 1 / -1; }
.vm-contact-form input[type="text"],
.vm-contact-form input[type="email"],
.vm-contact-form input[type="tel"],
.vm-contact-form select,
.vm-contact-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	font-family: var(--vm-font);
	font-size: 14px;
	background: var(--vm-white);
}
.vm-contact-form textarea { min-height: 130px; resize: vertical; }
.vm-contact-form input[type="submit"] {
	background: var(--vm-red);
	color: var(--vm-white);
	border: none;
	padding: 14px 32px;
	border-radius: 999px;
	font-family: var(--vm-font);
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
}
.vm-contact-form input[type="submit"]:hover { background: var(--vm-red-dark); }

.vm-contact-aside { position: relative; }
.vm-contact-aside img { border-radius: var(--vm-radius); width: 100%; }
.vm-contact-help {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	background: var(--vm-red);
	color: var(--vm-white);
	border-radius: var(--vm-radius-sm);
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.vm-contact-help .dashicons { font-size: 26px; flex-shrink: 0; }
.vm-contact-help h3 { color: var(--vm-white); font-size: 15px; margin: 0 0 2px; }
.vm-contact-help p { font-size: 12.5px; margin: 0; color: #ffe1df; }
.vm-contact-help .vm-btn { padding: 9px 18px; font-size: 13px; margin-left: auto; }

.vm-map-embed { margin-top: 24px; border-radius: var(--vm-radius); overflow: hidden; box-shadow: var(--vm-shadow); }
.vm-map-embed iframe { display: block; }

.vm-contact-duo { display: grid; grid-template-columns: 1fr 1.25fr; gap: 24px; }
.vm-quick-answers {
	position: relative;
	overflow: hidden;
	background: #FDECEB;
	border-radius: var(--vm-radius);
	padding: 34px;
}
.vm-quick-answers h2 { font-size: 28px; margin-bottom: 10px; }
.vm-quick-answers p { color: var(--vm-gray); font-size: 14px; margin-bottom: 22px; max-width: 300px; }
.vm-quick-answers .vm-btn-outline { background: var(--vm-white); border-color: var(--vm-white); color: var(--vm-red); }
.vm-quick-answers-mark {
	position: absolute;
	right: 20px;
	bottom: -10px;
	font-size: 130px;
	font-weight: 700;
	line-height: 1;
	color: rgba(226,35,26,.10);
}
.vm-contact-cta {
	background: var(--vm-red);
	border-radius: var(--vm-radius);
	padding: 34px;
	color: var(--vm-white);
}
.vm-contact-cta .vm-eyebrow { color: #ffd9d6; }
.vm-contact-cta h2 { color: var(--vm-white); font-size: 28px; margin-bottom: 10px; }
.vm-contact-cta p { color: #ffe1df; font-size: 14px; margin-bottom: 22px; max-width: 420px; }

/* ---------- Services page ---------- */
.vm-svc-hero {
	position: relative;
	background: linear-gradient(100deg, #EEF3FA 0%, #F7F9FC 60%, #FFFFFF 100%);
	padding: 54px 0 58px;
	overflow: hidden;
}
.vm-svc-hero .vm-container { position: relative; z-index: 2; }
.vm-svc-hero-copy { max-width: 520px; }
.vm-svc-hero-copy h1 { font-size: 44px; line-height: 1.15; margin-bottom: 14px; }
.vm-svc-hero-copy p { color: var(--vm-gray); font-size: 15.5px; margin-bottom: 24px; max-width: 420px; }
.vm-svc-hero .breadcrumbs { background: transparent; border-bottom: none; margin-bottom: 14px; }
.vm-svc-hero .breadcrumbs-inner { padding: 0; max-width: none; }
.vm-svc-hero-chips { display: flex; gap: 22px; flex-wrap: wrap; }
.vm-svc-hero-chips span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--vm-navy); }
.vm-svc-hero-chips .dashicons { color: var(--vm-red); font-size: 20px; }
.vm-svc-hero-media {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 52%;
	z-index: 1;
	-webkit-mask-image: linear-gradient(100deg, transparent 0%, #000 22%);
	mask-image: linear-gradient(100deg, transparent 0%, #000 22%);
}
.vm-svc-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.vm-svc-hero-scribble { top: 18px; right: 30px; color: var(--vm-navy); font-size: 22px; }

.vm-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vm-svc-card {
	display: block;
	background: var(--vm-white);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	overflow: hidden;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.vm-svc-card:hover { transform: translateY(-4px); box-shadow: var(--vm-shadow-lg); }
.vm-svc-card-photo { position: relative; aspect-ratio: 16/9; }
.vm-svc-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.vm-svc-card-icon {
	position: absolute;
	left: 18px;
	bottom: -22px;
	width: 46px; height: 46px;
	border-radius: 50%;
	background: var(--vm-white);
	color: var(--vm-red);
	display: flex; align-items: center; justify-content: center;
	font-size: 20px;
	box-shadow: var(--vm-shadow);
}
.vm-svc-card-body {
	padding: 34px 20px 20px;
	display: flex; align-items: flex-end; justify-content: space-between; gap: 12px;
}
.vm-svc-card-body h3 { font-size: 17px; margin-bottom: 6px; }
.vm-svc-card-body p { font-size: 13.5px; color: var(--vm-gray); margin: 0; line-height: 1.55; }
.vm-svc-card-arrow {
	width: 34px; height: 34px; flex-shrink: 0;
	border-radius: 50%; background: var(--vm-red); color: var(--vm-white);
	display: flex; align-items: center; justify-content: center; font-size: 14px;
}

.vm-svc-process { background: linear-gradient(180deg, #F3F7FC 0%, #FFFFFF 100%); }
.vm-svc-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vm-svc-step { text-align: center; position: relative; }
.vm-svc-step-icon {
	width: 62px; height: 62px; margin: 0 auto 16px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 24px; color: var(--vm-white);
}
.vm-svc-step-icon.is-red { background: var(--vm-red); }
.vm-svc-step-icon.is-navy { background: #1D4ED8; }
.vm-svc-step h3 { font-size: 16px; margin-bottom: 6px; }
.vm-svc-step p { font-size: 13px; color: var(--vm-gray); margin: 0; }
.vm-svc-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 31px;
	left: calc(50% + 45px);
	right: calc(-50% + 45px);
	border-top: 2px dashed #C9D3E4;
}

.vm-svc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vm-svc-stat {
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius-sm);
	padding: 26px 18px;
	text-align: center;
}
.vm-svc-stat .dashicons { color: var(--vm-red); font-size: 26px; margin-bottom: 10px; }
.vm-svc-stat h3 { font-size: 24px; margin-bottom: 2px; }
.vm-svc-stat p { font-size: 13px; color: var(--vm-gray); margin: 0; }

.vm-svc-destinations { background-size: cover; background-position: center; padding: 64px 0; }
.vm-svc-dest-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: center; }
.vm-svc-dest-copy .vm-eyebrow { color: #ff8c85; }
.vm-svc-dest-copy h2 { color: var(--vm-white); font-size: 30px; margin-bottom: 12px; }
.vm-svc-dest-copy p { color: #c7cde0; font-size: 14.5px; margin-bottom: 22px; }
/* Services band reuses the shared .vm-dest-tile, just fewer across */
.vm-svc-dest-inner .vm-dest-tile-grid { grid-template-columns: repeat(4, 1fr); }

/* ---------- Listing pages (Visa Info / E-Visa Info) ---------- */
.vm-listing-hero { padding-bottom: 46px; }
.vm-listing-hero h1 { max-width: 660px; }
.vm-listing-search { max-width: 560px; margin-top: 26px; margin-bottom: 14px; }

/* E-Visa hero sits on a light wash, so its text flips to dark */
.vm-evisa-hero h1 { color: var(--vm-navy); }
.vm-evisa-hero p { color: var(--vm-gray); }
.vm-evisa-hero .breadcrumbs-inner,
.vm-evisa-hero .breadcrumbs a { color: var(--vm-gray); }
.vm-evisa-hero .breadcrumbs .current { color: var(--vm-navy); }
.vm-evisa-hero .vm-h-popular-searches span { color: var(--vm-gray); }
.vm-evisa-hero .vm-h-popular-searches a {
	background: var(--vm-white);
	border-color: var(--vm-border);
	color: var(--vm-navy);
	box-shadow: var(--vm-shadow);
}
.vm-evisa-hero .vm-h-popular-searches a:hover { background: var(--vm-red); border-color: var(--vm-red); color: var(--vm-white); }
.vm-evisa-hero .vm-page-hero-scribble { color: var(--vm-navy); }

/* Region filter bar */
.vm-region-bar { background: var(--vm-white); border-bottom: 1px solid var(--vm-border); }
.vm-region-bar .vm-container {
	display: flex; gap: 8px; overflow-x: auto; padding-top: 12px; padding-bottom: 12px;
	scrollbar-width: none;
}
.vm-region-bar .vm-container::-webkit-scrollbar { display: none; }
.vm-region-pill {
	flex-shrink: 0;
	border: none;
	background: transparent;
	border-radius: 999px;
	padding: 9px 22px;
	font-family: var(--vm-font);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--vm-gray);
	cursor: pointer;
}
.vm-region-pill:hover { color: var(--vm-navy); }
.vm-region-pill.is-active { background: var(--vm-red); color: var(--vm-white); }

/* Grid wrapper for the shared destination tile (5-up on listings) */
.vm-dest-tile-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.vm-dest-tile-grid-compact { gap: 14px; }
.vm-link-btn {
	background: none;
	border: none;
	padding: 0;
	font-family: var(--vm-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--vm-red);
	cursor: pointer;
}
.vm-link-btn:hover { color: var(--vm-red-dark); }
.vm-dest-tile-wrap { display: flex; flex-direction: column; gap: 8px; }
.vm-dest-tile-tags { display: flex; gap: 6px; flex-wrap: wrap; }

/* Browse by region */
.vm-region-split { display: grid; grid-template-columns: 1.35fr .65fr; gap: 30px; align-items: center; margin-top: 26px; }
.vm-region-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.vm-region-card {
	display: flex; align-items: center; gap: 12px;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	background: var(--vm-white);
	padding: 18px 16px;
	text-align: left;
	text-decoration: none;
	font-family: var(--vm-font);
	cursor: pointer;
}
.vm-region-card:hover { border-color: var(--vm-red); box-shadow: var(--vm-shadow); }
.vm-region-card .dashicons { color: var(--vm-red); font-size: 24px; flex-shrink: 0; }
.vm-region-card strong { font-size: 13.5px; color: var(--vm-navy); flex: 1; }
.vm-region-card-arrow {
	width: 26px; height: 26px; flex-shrink: 0;
	border-radius: 50%; border: 1px solid var(--vm-border);
	display: flex; align-items: center; justify-content: center;
	font-size: 12px; color: var(--vm-navy);
}
.vm-region-aside { position: relative; min-height: 170px; }
.vm-region-scribble {
	position: static;
	display: block;
	color: #1D4ED8;
	font-size: 26px;
	text-align: center;
	transform: rotate(-4deg);
}

/* Useful information */
.vm-useful-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 24px; }
.vm-useful-card { border: 1px solid var(--vm-border); border-radius: var(--vm-radius-sm); padding: 24px; }
.vm-useful-icon {
	width: 48px; height: 48px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 20px; color: var(--vm-white); margin-bottom: 16px;
}
.vm-useful-icon.is-red { background: var(--vm-red); }
.vm-useful-icon.is-navy { background: #1D4ED8; }
.vm-useful-card h3 { font-size: 16px; margin-bottom: 6px; }
.vm-useful-card p { font-size: 13px; color: var(--vm-gray); margin: 0; line-height: 1.55; }

/* Listing stats band */
.vm-listing-stats { background-size: cover; background-position: center; padding: 48px 0; }
.vm-listing-stats-inner { display: grid; grid-template-columns: .9fr 1.6fr; gap: 40px; align-items: center; }
.vm-listing-stats-copy h2 { font-size: 27px; margin: 0; }
.vm-listing-stats-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vm-listing-stats-items > div { text-align: center; border-left: 1px solid rgba(14,27,51,.12); padding: 0 10px; }
.vm-listing-stats-items > div:first-child { border-left: none; }
.vm-listing-stats-items h3 { font-size: 28px; color: var(--vm-red); margin-bottom: 2px; }
.vm-listing-stats-items p { font-size: 12.5px; color: var(--vm-gray); margin: 0; }

/* FAQ two-column */
.vm-faq-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 24px;
	border-top: none;
}
.vm-faq-columns .vm-faq-item {
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	background: var(--vm-white);
	padding: 0 16px;
}
.vm-faq-columns .vm-faq-question { font-size: 14px; }
.vm-faq-numbered .vm-faq-item { background: #FBFCFE; }
.vm-faq-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	border-radius: 6px;
	background: #FDECEB;
	color: var(--vm-red);
	font-size: 12px;
	font-weight: 700;
	margin-right: 10px;
	flex-shrink: 0;
}
.vm-evisa-count {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13.5px; font-weight: 600; color: var(--vm-navy);
	border-bottom: 2px solid var(--vm-red);
	padding-bottom: 4px;
}
.vm-evisa-count .dashicons { color: var(--vm-red); font-size: 18px; }
.vm-svc-steps-5 { grid-template-columns: repeat(5, 1fr); }

/* ---------- Country grid (Visa Info / E-Visa Info) ---------- */
.vm-country-search {
	max-width: 460px;
	margin: 0 auto 34px;
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--vm-border);
	border-radius: 999px;
	padding: 4px 18px;
	background: var(--vm-white);
}
.vm-country-search .dashicons { color: var(--vm-gray); font-size: 18px; }
.vm-country-search input {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	padding: 12px 0;
	font-family: var(--vm-font);
	font-size: 14px;
	background: transparent;
}
.vm-country-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}
.vm-country-pill {
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	padding: 14px 16px;
	background: var(--vm-white);
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.vm-country-pill:hover { border-color: var(--vm-red); box-shadow: var(--vm-shadow); }
.vm-country-pill-main {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.vm-country-pill-flag {
	width: 34px;
	height: 24px;
	flex-shrink: 0;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid var(--vm-border);
	background: var(--vm-gray-light);
}
.vm-country-pill-flag img { width: 100%; height: 100%; object-fit: cover; }
.vm-country-pill-name {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--vm-navy);
	text-decoration: none;
}
.vm-country-pill-main:hover .vm-country-pill-name { color: var(--vm-red); }
.vm-country-pill-arrow {
	width: 26px; height: 26px; flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid var(--vm-border);
	display: flex; align-items: center; justify-content: center;
	font-size: 12px; color: var(--vm-navy);
}
.vm-country-pill-main:hover .vm-country-pill-arrow { background: var(--vm-red); border-color: var(--vm-red); color: var(--vm-white); }
.vm-country-pill-actions { display: flex; gap: 6px; flex-wrap: wrap; padding-left: 45px; }

/* ---------- Shared destination tile (homepage, listings, services) ---------- */
.vm-dest-tile {
	position: relative;
	display: block;
	border-radius: var(--vm-radius);
	overflow: hidden;
	box-shadow: var(--vm-shadow);
	text-decoration: none;
	aspect-ratio: 3/4.3;
	background-size: cover;
	background-position: center;
	transition: transform .2s ease, box-shadow .2s ease;
}
.vm-dest-tile:hover { transform: translateY(-4px); box-shadow: var(--vm-shadow-lg); }
.vm-dest-tile-flag {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--vm-white);
	box-shadow: var(--vm-shadow);
	z-index: 2;
}
.vm-dest-tile-flag img { width: 100%; height: 100%; object-fit: cover; }
.vm-dest-tile-body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 16px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	z-index: 2;
}
.vm-dest-tile-body h3 { color: var(--vm-white); font-size: 17px; margin: 0 0 3px; }
.vm-dest-tile-body p { color: #d7dbe6; font-size: 12.5px; margin: 0; line-height: 1.4; }
.vm-dest-tile-arrow {
	width: 32px; height: 32px; flex-shrink: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.92);
	color: var(--vm-navy);
	display: flex; align-items: center; justify-content: center;
	font-size: 13px;
}
.vm-dest-tile:hover .vm-dest-tile-arrow { background: var(--vm-red); color: var(--vm-white); }
.vm-country-pill-tag {
	font-size: 11px;
	font-weight: 600;
	color: var(--vm-red);
	background: #FDEDEC;
	border-radius: 999px;
	padding: 5px 12px;
	text-decoration: none;
	white-space: nowrap;
}
.vm-country-pill-tag:hover { background: var(--vm-red); color: var(--vm-white); }

/* ---------- About page ---------- */
.vm-about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
}
.vm-about-media img { border-radius: var(--vm-radius); box-shadow: var(--vm-shadow); }
.vm-mission-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.vm-mission-card {
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius);
	padding: 30px;
}
.vm-mission-card h3 { font-size: 18px; color: var(--vm-red); }

/* ---------- Team ---------- */
.vm-team-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.vm-team-card {
	background: var(--vm-white);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 22px;
	text-align: center;
}
.vm-team-card .vm-avatar { width: 64px; height: 64px; font-size: 20px; margin: 0 auto 14px; }
.vm-team-card h3 { font-size: 15px; margin-bottom: 2px; }
.vm-team-card p { font-size: 13px; color: var(--vm-gray); margin: 0 0 8px; }
.vm-team-card a { font-size: 13px; font-weight: 600; }
.vm-partners-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.vm-partners-grid .vm-team-card { display: flex; align-items: center; gap: 16px; text-align: left; padding: 26px; }
.vm-partners-grid .vm-avatar { margin: 0; width: 56px; height: 56px; }

/* ---------- Contact section ---------- */
.contact-page .entry-header.page-title-block { display: none; }
.contact-columns {
	max-width: var(--vm-container);
	margin: 0 auto;
	padding: 60px 24px;
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 40px;
}
.contact-form-column .section-title,
.reach-us-column .section-title { font-size: 26px; margin-bottom: 20px; }
.contact-form-column form p { margin-bottom: 16px; }
.contact-form-column input[type="text"],
.contact-form-column input[type="email"],
.contact-form-column input[type="tel"],
.contact-form-column select,
.contact-form-column textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	font-family: var(--vm-font);
	font-size: 14px;
}
.contact-form-column input[type="submit"] {
	background: var(--vm-red);
	color: var(--vm-white);
	border: none;
	padding: 13px 30px;
	border-radius: 999px;
	font-weight: 600;
	cursor: pointer;
}
.contact-form-column input[type="submit"]:hover { background: var(--vm-red-dark); }
.reach-us {
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius);
	padding: 32px;
}
.reach-us p { margin: 0 0 14px; font-size: 14.5px; }
.reach-us .reach-us-name { font-weight: 700; color: var(--vm-navy); font-size: 18px; }

/* ---------- Destination detail: two-column layout ---------- */
.vm-dest-hero h1 { font-size: 42px; }
.vm-dest-price { color: var(--vm-white); font-weight: 600; margin-top: 10px !important; }
.vm-dest-layout { display: grid; grid-template-columns: 1fr 330px; gap: 40px; align-items: start; }
.vm-dest-heading { font-size: 28px; margin: 0 0 18px; }
.vm-dest-main > *:first-child { margin-top: 0; }
.vm-dest-main .vm-dest-heading:not(:first-child) { margin-top: 44px; }

.vm-dest-aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 110px; }
.vm-dest-aside-photo img { border-radius: var(--vm-radius); width: 100%; }
.vm-dest-facts {
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius);
	padding: 8px 20px;
}
.vm-dest-fact {
	display: flex; align-items: center; gap: 14px;
	padding: 15px 0;
	border-bottom: 1px solid var(--vm-border);
}
.vm-dest-fact:last-child { border-bottom: none; }
.vm-dest-fact-icon {
	width: 40px; height: 40px; flex-shrink: 0;
	border-radius: 50%; background: #FDECEB; color: var(--vm-red);
	display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.vm-dest-fact strong { display: block; font-size: 14px; color: var(--vm-navy); }
.vm-dest-fact span { font-size: 13px; color: var(--vm-gray); }

.vm-dest-assist {
	background: var(--vm-red);
	color: var(--vm-white);
	border-radius: var(--vm-radius);
	padding: 24px;
}
.vm-dest-assist .dashicons { font-size: 26px; margin-bottom: 10px; }
.vm-dest-assist h3 { color: var(--vm-white); font-size: 18px; margin-bottom: 6px; }
.vm-dest-assist p { color: #ffe1df; font-size: 13px; margin-bottom: 16px; }

.vm-dest-switch {
	display: block;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 18px 20px;
	text-decoration: none;
	background: var(--vm-white);
}
.vm-dest-switch:hover { border-color: var(--vm-red); }
.vm-dest-switch strong { display: block; font-size: 14px; color: var(--vm-navy); margin-bottom: 4px; }
.vm-dest-switch span { font-size: 13px; color: var(--vm-red); font-weight: 600; }

.vm-dest-promo {
	position: relative;
	border-radius: var(--vm-radius);
	background-size: cover;
	background-position: center;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px;
	overflow: hidden;
}
.vm-dest-promo-scribble { position: static; text-align: left; font-size: 21px; transform: none; }
.vm-dest-promo-foot strong { display: block; color: var(--vm-white); font-size: 16px; margin-bottom: 12px; line-height: 1.35; }

.vm-dest-forms {
	margin-top: 40px;
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius);
	padding: 24px;
}
.vm-dest-forms h3 { font-size: 18px; margin-bottom: 14px; }
.vm-dest-forms ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vm-dest-forms a {
	display: flex; align-items: center; gap: 10px;
	background: var(--vm-white);
	border-radius: var(--vm-radius-sm);
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--vm-navy);
	text-decoration: none;
}
.vm-dest-forms a:hover { color: var(--vm-red); }
.vm-dest-forms .dashicons { color: var(--vm-red); }
.vm-dest-form-arrow { margin-left: auto; color: var(--vm-red); }

.vm-address-pin { color: var(--vm-red); font-size: 20px; flex-shrink: 0; }
.vm-currency-band {
	display: flex; align-items: center; gap: 16px;
	background: #FDECEB;
	border-radius: var(--vm-radius);
	padding: 20px 26px;
	margin: 26px 0 0;
}
.vm-currency-icon { color: var(--vm-red); font-size: 28px; }
.vm-currency-band p { margin: 0; font-size: 17px; font-weight: 600; color: var(--vm-navy); }

/* ---------- Destination detail: intro / addresses ---------- */
.vm-section-kind {
	font-size: 22px;
	margin: 40px 0 16px;
	padding-top: 30px;
	border-top: 1px solid var(--vm-border);
}
.vm-section-kind:first-child { border-top: none; padding-top: 0; margin-top: 0; }
.vm-destination-intro { color: var(--vm-gray); margin-bottom: 20px; }
.vm-address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}
.vm-address-card {
	background: var(--vm-gray-light);
	border-radius: var(--vm-radius-sm);
	padding: 18px;
	font-size: 14px;
	color: var(--vm-ink);
	line-height: 1.6;
}
.vm-address-card p { margin: 0 0 6px; }

/* ---------- Destination detail: tabs ---------- */
.vm-tabs { margin-bottom: 36px; }
.vm-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 0;
}
.vm-tab-btn {
	background: var(--vm-gray-light);
	border: none;
	border-radius: var(--vm-radius-sm) var(--vm-radius-sm) 0 0;
	padding: 13px 26px;
	font-family: var(--vm-font);
	font-weight: 600;
	font-size: 14px;
	color: var(--vm-navy);
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.vm-tab-btn:hover { color: var(--vm-red); }
.vm-tab-btn.is-active { background: var(--vm-red); color: var(--vm-white); }
.vm-tab-panel {
	display: none;
	font-size: 14px;
	line-height: 1.7;
	background: var(--vm-gray-light);
	border-radius: 0 var(--vm-radius-sm) var(--vm-radius-sm) var(--vm-radius-sm);
	padding: 26px 28px;
}
.vm-tab-panel.is-active { display: block; }
.vm-tab-panel ul { list-style: none; padding-left: 0; margin: 0 0 12px; }
.vm-tab-panel li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	color: var(--vm-ink);
}
.vm-tab-panel li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--vm-red);
	color: var(--vm-white);
	display: flex; align-items: center; justify-content: center;
	font-size: 11px;
}
.vm-tab-panel p { margin: 0 0 12px; }
.vm-tab-panel h4, .vm-tab-panel h5 { font-size: 15px; margin: 18px 0 10px; }

/* ---------- Destination detail: visa-type / pricing cards ---------- */
.vm-subheading { font-size: 20px; margin: 8px 0 18px; }
.vm-visa-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin-bottom: 12px;
}
.vm-h-trust {
  background: #fefcfa;
}
.vm-h-stripline {
  margin-top: 30px;
  width: calc(100% + 20px);
  margin-left: -10px;
}
.vm-visa-card {
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	overflow: hidden;
	padding: 0;
}
.vm-visa-card h4 {
	font-size: 15px;
	color: var(--vm-white);
	background: var(--vm-red);
	margin: 0;
	padding: 14px 20px;
}
.vm-visa-card ul { list-style: none; margin: 0; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.vm-visa-card li {
	position: relative;
	padding-left: 26px;
	display: flex;
	gap: 6px;
	font-size: 13.5px;
	color: var(--vm-gray);
}
.vm-visa-card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px; height: 17px;
	border-radius: 50%;
	background: var(--vm-red);
	color: var(--vm-white);
	display: flex; align-items: center; justify-content: center;
	font-size: 10px;
}
.vm-visa-card li strong { color: var(--vm-navy); font-weight: 600; }
.vm-currency-note { font-size: 13px; color: var(--vm-gray); margin: 4px 0 32px; }

/* ---------- Destination detail: FAQ accordion ---------- */
.vm-faq { margin-bottom: 12px; border-top: 1px solid var(--vm-border); }
.vm-faq-item { border-bottom: 1px solid var(--vm-border); }
.vm-faq-question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: none;
	border: none;
	text-align: left;
	padding: 16px 4px;
	font-family: var(--vm-font);
	font-weight: 600;
	font-size: 15px;
	color: var(--vm-navy);
	cursor: pointer;
}
.vm-faq-icon { flex-shrink: 0; color: var(--vm-red); font-size: 18px; font-weight: 700; }
.vm-faq-item.is-open .vm-faq-icon { transform: rotate(45deg); }
.vm-faq-answer {
	display: none;
	padding: 0 4px 18px;
	color: var(--vm-gray);
	font-size: 14px;
	line-height: 1.7;
}
.vm-faq-item.is-open .vm-faq-answer { display: block; }

/* ==========================================================
   Homepage v2 — matches approved "Explore Without Limits" mockup
   ========================================================== */

.vm-scribble-font { font-family: 'Caveat', cursive; }

/* ---- Hero ---- */
.vm-h-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	padding: 64px 0 0;
	min-height: 560px;
	display: flex;
	align-items: center;
}
.vm-h-hero .vm-container { position: relative; width: 100%; padding-top: 20px; padding-bottom: 90px; }
.vm-h-hero-inner { max-width: 560px; }
.vm-h-hero-eyebrow { color: #ff8c85; }
.vm-h-hero-title {
	color: var(--vm-white);
	font-size: 52px;
	line-height: 1.1;
	font-weight: 700;
	margin-bottom: 18px;
}
.vm-h-hero-title span { color: var(--vm-red); }
.vm-h-hero-copy { color: #dfe3ec; font-size: 16.5px; max-width: 460px; margin-bottom: 26px; }

.vm-h-search {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--vm-white);
	border-radius: 999px;
	box-shadow: var(--vm-shadow-lg);
	padding: 6px 6px 6px 20px;
	max-width: 480px;
	margin-bottom: 16px;
}
.vm-h-search-icon { color: var(--vm-gray); font-size: 20px; }
.vm-h-search input {
	flex: 1;
	border: none;
	outline: none;
	padding: 10px 14px;
	font-family: var(--vm-font);
	font-size: 14px;
	background: transparent;
}
.vm-h-search button {
	background: var(--vm-red);
	border: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}
.vm-h-search button:hover { background: var(--vm-red-dark); }

/* Live search results dropdown */
.vm-h-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	background: var(--vm-white);
	border-radius: var(--vm-radius-sm);
	box-shadow: var(--vm-shadow-lg);
	overflow: hidden;
	z-index: 20;
	max-height: 360px;
	overflow-y: auto;
}
.vm-h-search-result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 18px;
	border-bottom: 1px solid var(--vm-border);
}
.vm-h-search-result:last-child { border-bottom: none; }
.vm-h-search-result-name {
	color: var(--vm-navy);
	font-weight: 600;
	font-size: 14.5px;
	text-decoration: none;
}
.vm-h-search-result-name:hover { color: var(--vm-red); }
.vm-h-search-result-actions { display: flex; gap: 6px; flex-shrink: 0; }
.vm-h-search-result-tag {
	font-size: 11.5px;
	font-weight: 600;
	color: var(--vm-red);
	background: #FDEDEC;
	border-radius: 999px;
	padding: 5px 12px;
	text-decoration: none;
	white-space: nowrap;
}
.vm-h-search-result-tag:hover { background: var(--vm-red); color: var(--vm-white); }
.vm-h-search-empty,
.vm-h-search-loading { padding: 14px 18px; font-size: 13.5px; color: var(--vm-gray); }

.vm-h-popular-searches { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.vm-h-popular-searches span { color: #c7cde0; font-size: 13px; }
.vm-h-popular-searches a {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.3);
	color: var(--vm-white);
	font-size: 13px;
	padding: 6px 16px;
	border-radius: 999px;
	text-decoration: none;
}
.vm-h-popular-searches a:hover { background: var(--vm-white); color: var(--vm-navy); }

.vm-h-hero-scribble {
	position: absolute;
	top: 30px;
	right: 40px;
	font-family: 'Caveat', cursive;
	font-weight: 700;
	font-size: 26px;
	color: var(--vm-white);
	text-align: right;
	line-height: 1.25;
	transform: rotate(-3deg);
}
.vm-h-watch-story {
	position: absolute;
	bottom: 100px;
	right: 40px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--vm-white);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	line-height: 1.3;
}
.vm-h-watch-story-icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255,255,255,.9);
	color: var(--vm-red);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}
.vm-h-watch-story:hover .vm-h-watch-story-icon { background: var(--vm-white); }

/* ---- Visa types strip ---- */
.vm-h-visatypes {
	background: var(--vm-white);
	border-radius: var(--vm-radius);
	box-shadow: var(--vm-shadow-lg);
	margin-top: -56px;
	position: relative;
	z-index: 5;
	padding: 8px;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
}
.vm-h-visatype {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 14px;
	text-decoration: none;
	border-right: 1px solid var(--vm-border);
}
.vm-h-visatype:last-child { border-right: none; }
.vm-h-visatype .dashicons { color: var(--vm-red); font-size: 26px; width: 26px; height: 26px; flex-shrink: 0; }
.vm-h-visatype-copy { display: flex; flex-direction: column; }
.vm-h-visatype-copy strong { color: var(--vm-navy); font-size: 13.5px; font-weight: 600; }
.vm-h-visatype-copy em { color: var(--vm-gray); font-size: 11.5px; font-style: normal; }

/* ---- Section head with right-aligned actions ---- */
.vm-h-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 36px;
	flex-wrap: wrap;
}
.vm-h-section-head h2 { margin-bottom: 0; }
.vm-h-section-head-right { max-width: 380px; text-align: right; }
.vm-h-section-head-right p { color: var(--vm-gray); font-size: 14.5px; margin-bottom: 14px; }
.vm-h-section-head-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }

/* 3-column header row: heading block | description | button + slider arrows */
.vm-h-section-head-3col {
	align-items: center;
	flex-wrap: nowrap;
	gap: 40px;
}
.vm-h-head-title { flex: 1.15 1 0; min-width: 0; }
.vm-h-head-title h2 { margin-bottom: 0; }
.vm-h-head-desc {
	flex: 1 1 0;
	min-width: 0;
	color: var(--vm-gray);
	font-size: 14.5px;
	margin: 0;
}
.vm-h-section-head-3col .vm-h-section-head-actions { flex: 0 0 auto; }
.vm-h-arrow-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--vm-border);
	background: var(--vm-white);
	color: var(--vm-navy);
	cursor: pointer;
	flex-shrink: 0;
}
.vm-h-arrow-btn:hover { border-color: var(--vm-red); color: var(--vm-red); }

/* ---- Destinations slider v2: 6 visible on desktop, scrolls to reveal more ---- */
.vm-h-dest-grid {
	display: flex;
	gap: 15px;
	width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.vm-h-dest-grid::-webkit-scrollbar { display: none; }
.vm-h-dest-grid > .vm-dest-tile-wrap {
	flex: 0 0 calc((100% - 5 * 15px) / 6);
	scroll-snap-align: start;
}

/* ---- Why choose ---- */
.vm-h-why-grid {
	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: 50px;
	align-items: center;
}
.vm-h-why-copy p { color: var(--vm-gray); margin-bottom: 24px; }
.vm-h-why-features {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.vm-h-why-feature {
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius-sm);
	padding: 22px;
}
.vm-h-why-feature .dashicons { color: var(--vm-red); font-size: 26px; margin-bottom: 12px; }
.vm-h-why-feature h3 { font-size: 15.5px; margin-bottom: 4px; }
.vm-h-why-feature p { font-size: 13px; color: var(--vm-gray); margin: 0; }

/* ---- Stats stripline: quote | divider | stats | photo, one light band ---- */


/* ---- CTA band ---- */
.vm-h-cta-band {
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding: 70px 0;
}
@media (max-width: 960px) {
	.vm-h-cta-band { background-attachment: scroll; }
}
.vm-h-cta-inner { position: relative; max-width: 620px; }
.vm-h-cta-inner h2 { color: var(--vm-white); font-size: 34px; margin-bottom: 12px; }
.vm-h-cta-inner .vm-eyebrow { color: #ff8c85; }
.vm-h-cta-inner > div > p { color: #dfe3ec; margin-bottom: 24px; }
.vm-h-cta-scribble {
	position: static;
	display: block;
	margin-top: 24px;
	color: var(--vm-white);
	text-align: left;
}
.vm-btn-white-outline {
	background: var(--vm-white);
	color: var(--vm-navy);
	border-color: var(--vm-white);
}
.vm-btn-white-outline:hover { background: transparent; color: var(--vm-white); }

/* ---- Trust badges: centered intro + colored icon-card grid ---- */
.vm-h-section-head-center {
	max-width: 640px;
	margin: 0 auto 44px;
	text-align: center;
}
.vm-h-section-head-center h2 span { color: var(--vm-red); }
.vm-h-section-head-center p { color: var(--vm-gray); font-size: 15.5px; margin: 0; }

.vm-h-trust-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.vm-h-trust-card {
	position: relative;
	border-radius: var(--vm-radius);
	padding: 26px 56px 26px 24px;
	background: var(--vm-gray-light);
}
.vm-h-trust-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.vm-h-trust-icon .dashicons { font-size: 24px; width: 24px; height: 24px; }
.vm-h-trust-card h3 { font-size: 17px; margin-bottom: 8px; }
.vm-h-trust-card p { font-size: 13.5px; color: var(--vm-gray); margin: 0; line-height: 1.6; }
.vm-h-trust-arrow {
	position: absolute;
	right: 24px;
	bottom: 26px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--vm-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	box-shadow: var(--vm-shadow);
}

.vm-h-trust-card-red { background: #FDECEB; }
.vm-h-trust-card-red .vm-h-trust-icon { background: #FBD5D2; }
.vm-h-trust-card-red .vm-h-trust-icon .dashicons,
.vm-h-trust-card-red .vm-h-trust-arrow { color: var(--vm-red); }

.vm-h-trust-card-blue { background: #E9F1FC; }
.vm-h-trust-card-blue .vm-h-trust-icon { background: #CFE2F8; }
.vm-h-trust-card-blue .vm-h-trust-icon .dashicons,
.vm-h-trust-card-blue .vm-h-trust-arrow { color: #2563EB; }

.vm-h-trust-card-green { background: #E9F8F0; }
.vm-h-trust-card-green .vm-h-trust-icon { background: #CDEFDD; }
.vm-h-trust-card-green .vm-h-trust-icon .dashicons,
.vm-h-trust-card-green .vm-h-trust-arrow { color: #16A34A; }

.vm-h-trust-card-yellow { background: #FDF3E3; }
.vm-h-trust-card-yellow .vm-h-trust-icon { background: #FBE4BE; }
.vm-h-trust-card-yellow .vm-h-trust-icon .dashicons,
.vm-h-trust-card-yellow .vm-h-trust-arrow { color: #D97706; }

.vm-h-trust-card-purple { background: #F1EEFB; }
.vm-h-trust-card-purple .vm-h-trust-icon { background: #DFD8F5; }
.vm-h-trust-card-purple .vm-h-trust-icon .dashicons,
.vm-h-trust-card-purple .vm-h-trust-arrow { color: #7C3AED; }

/* ---- Testimonials v2 addition (stars moved below) ---- */
.vm-testimonial .vm-stars { margin: 14px 0 0; }

/* ---- Responsive: homepage v2 ---- */
@media (max-width: 960px) {
	.vm-h-hero-title { font-size: 38px; }
	.vm-h-visatypes { grid-template-columns: repeat(3, 1fr); }
	.vm-h-visatype:nth-child(3) { border-right: none; }
	.vm-h-visatype { border-bottom: 1px solid var(--vm-border); }
	.vm-h-dest-grid > .vm-dest-tile-wrap { flex-basis: calc((100% - 2 * 15px) / 3); }
	.vm-h-why-grid { grid-template-columns: 1fr; }
	.vm-h-stripline { flex-wrap: wrap; padding: 24px; }
	.vm-h-stripline-quote { flex: 1 1 100%; }
	.vm-h-stripline-divider { display: none; }
	.vm-h-stripline-stats { flex: 1 1 100%; gap: 20px 28px; }
	.vm-h-stripline-media { display: none; }
	.vm-h-section-head-right { text-align: left; max-width: 100%; }
	.vm-h-section-head-actions { justify-content: flex-start; }
	.vm-h-section-head-3col { flex-wrap: wrap; }
	.vm-h-head-desc { flex-basis: 100%; order: 3; }
	.vm-h-trust-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-dest-tile-grid,
	.vm-svc-dest-inner .vm-dest-tile-grid { grid-template-columns: repeat(3, 1fr); }
	.vm-contact-cards,
	.vm-about-why-grid,
	.vm-useful-grid,
	.vm-svc-grid,
	.vm-svc-stats { grid-template-columns: repeat(2, 1fr); }
	.vm-mvv-grid,
	.vm-region-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-about-grid,
	.vm-team-split,
	.vm-contact-split,
	.vm-contact-duo,
	.vm-region-split,
	.vm-svc-dest-inner,
	.vm-dest-layout,
	.vm-listing-stats-inner { grid-template-columns: 1fr; }
	.vm-dest-aside { position: static; }
	.vm-svc-hero-media { display: none; }
	.vm-svc-steps,
	.vm-svc-steps-5 { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; }
	.vm-svc-step:not(:last-child)::after { display: none; }
	.vm-faq-columns { grid-template-columns: 1fr; }
	.vm-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
	.vm-h-hero { min-height: auto; padding-top: 40px; }
	.vm-h-hero-title { font-size: 30px; }
	.vm-h-hero-scribble, .vm-h-watch-story { display: none; }
	.vm-h-visatypes { grid-template-columns: repeat(2, 1fr); margin-top: 24px; }
	.vm-h-visatype:nth-child(2n) { border-right: none; }
	.vm-h-dest-grid > .vm-dest-tile-wrap { flex-basis: calc((100% - 15px) / 2); }
	.vm-h-why-features { grid-template-columns: 1fr; }
	.vm-h-stripline-stats { grid-template-columns: 1fr 1fr; }
	.vm-h-cta-inner h2 { font-size: 26px; }
	.vm-h-trust-grid { grid-template-columns: 1fr; }
	.vm-dest-tile-grid,
	.vm-svc-dest-inner .vm-dest-tile-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-contact-cards,
	.vm-about-why-grid,
	.vm-useful-grid,
	.vm-svc-grid,
	.vm-mvv-grid,
	.vm-region-grid,
	.vm-about-stats { grid-template-columns: 1fr; }
	.vm-about-stat { border-right: none; border-bottom: 1px solid var(--vm-border); padding-bottom: 14px; }
	.vm-svc-stats,
	.vm-listing-stats-items { grid-template-columns: repeat(2, 1fr); }
	.vm-svc-steps,
	.vm-svc-steps-5 { grid-template-columns: 1fr; }
	.vm-page-hero h1,
	.vm-svc-hero-copy h1 { font-size: 30px; }
	.vm-contact-form .wpcf7-form { grid-template-columns: 1fr; }
	.vm-footer-grid { grid-template-columns: 1fr; }
	.vm-about-media-inset { display: none !important; }
	.vm-team-quote { position: static; transform: none; max-width: none; margin-top: -30px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.vm-hero-grid,
	.vm-dark-band-grid,
	.vm-about-grid,
	.contact-columns { grid-template-columns: 1fr; }
	.vm-destinations-grid,
	.vm-services-grid,
	.vm-testimonials-grid,
	.vm-mission-grid,
	.vm-partners-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-stats-grid,
	.vm-process-grid,
	.vm-team-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-country-grid { grid-template-columns: repeat(3, 1fr); }
	.vm-process-arrow { display: none; }
	.vm-search-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
	.main-navigation ul:not(.toggled-open) { display: none; }
	.menu-toggle { display: inline-block; }
	.main-navigation { flex-wrap: wrap; }
	.main-navigation.toggled ul {
		display: flex;
		flex-direction: column;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: var(--vm-white);
		box-shadow: var(--vm-shadow-lg);
		padding: 16px 24px;
		z-index: 99;
	}
	.header-cta { display: none; }
	.vm-hero-copy h1 { font-size: 32px; }
	.vm-search-row { grid-template-columns: 1fr; }
	.vm-destinations-grid,
	.vm-services-grid,
	.vm-testimonials-grid,
	.vm-mission-grid,
	.vm-partners-grid,
	.vm-stats-grid,
	.vm-process-grid,
	.vm-team-grid { grid-template-columns: 1fr; }
	.vm-country-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-footer-grid { grid-template-columns: 1fr 1fr; }
	.vm-cta { flex-direction: column; text-align: center; }
	.vm-section { padding: 56px 0; }
}
