/* =========================================================================
   Country Guides page — hero + intro + country cards grid + CTA.
   Scoped to section IDs. Colours from Elementor globals.
   ========================================================================= */

/* ---------------- HERO ---------------- */
#vz-cg-hero { position: relative; overflow: hidden; }
#vz-cg-hero .elementor-container { position: relative; z-index: 2; }
#vz-cg-hero::after {
	content: "\f57d"; font-family: "Font Awesome 6 Free"; font-weight: 900;
	position: absolute; right: -40px; top: 50%; transform: translateY(-50%);
	font-size: 320px; line-height: 1; color: rgba(255, 255, 255, .06); pointer-events: none; z-index: 1;
}

/* ---------------- COUNTRY CARDS ---------------- */
/* Spacing between cards */
#vz-cg-grid .elementor-inner-section .elementor-column { padding-left: 18px !important; padding-right: 18px !important; }
#vz-cg-grid .elementor-inner-section + .elementor-inner-section { margin-top: 44px !important; }

#vz-cg-grid .elementor-inner-section .elementor-column > .elementor-widget-wrap {
	background: #fff; border: 1px solid #eef1f7; border-radius: 16px;
	box-shadow: 0 12px 30px rgba(18, 48, 107, .06);
	padding: 34px 26px 28px !important; text-align: center; height: 100%;
	transition: transform .3s ease, box-shadow .3s ease;
}
#vz-cg-grid .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap {
	transform: translateY(-6px); box-shadow: 0 24px 46px rgba(18, 48, 107, .14);
}
/* flag badge */
#vz-cg-grid .elementor-widget-image { margin: 0 0 16px !important; }
#vz-cg-grid .elementor-widget-image img {
	width: 78px; height: 78px; border-radius: 50%; object-fit: cover;
	border: 3px solid #fff; box-shadow: 0 8px 20px rgba(18, 48, 107, .18); display: inline-block;
}
/* country name */
#vz-cg-grid .elementor-widget-heading .elementor-heading-title {
	color: var(--e-global-color-secondary); font-size: 21px; font-weight: 700; margin-bottom: 10px;
}
/* description */
#vz-cg-grid .elementor-widget-text-editor { margin: 0 !important; }
#vz-cg-grid .elementor-widget-text-editor p { color: var(--e-global-color-text); font-size: 14.5px; line-height: 1.7; margin: 0; }
/* visa tags */
.vz-cg-tags { margin: 14px 0 6px; }
.vz-cg-tag {
	display: inline-block; margin: 4px 3px; padding: 5px 13px; border-radius: 999px;
	font-size: 12px; font-weight: 600;
	background: color-mix(in srgb, var(--e-global-color-secondary) 8%, #ffffff);
	color: var(--e-global-color-secondary);
}
/* explore link */
#vz-cg-grid .elementor-widget-button { margin-top: 8px !important; }
#vz-cg-grid .elementor-widget-button .elementor-button {
	background: transparent !important; box-shadow: none !important;
	color: var(--e-global-color-primary) !important;
	font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 6px 0;
}
#vz-cg-grid .elementor-widget-button .elementor-button:hover .elementor-button-icon { transform: translateX(5px); }
#vz-cg-grid .elementor-widget-button .elementor-button-icon { transition: transform .2s ease; }

/* ---------------- CTA ---------------- */
#vz-cg-cta .elementor-button {
	background-color: var(--e-global-color-primary) !important; color: #fff !important;
	border-radius: 40px; font-weight: 700;
}

@media (max-width: 767px) {
	#vz-cg-grid .elementor-column, #vz-cg-hero .elementor-column, #vz-cg-cta .elementor-column { width: 100% !important; }
}
