/*
 * GlobaleSIM homepage, October 2026 design.
 * Scoped to body.ges-hd (homepage + its preview copy) and to the ges-hd-* classes the
 * generator (scripts/home-design/build.mjs) puts on the page's top-level containers.
 * Header, ticker, footer, cart drawer: not styled here.
 * Tokens: the designer's globalesim-brand.css, unchanged names.
 */

.ges-hd {
	--gs-navy: #0a2a52; --gs-ink-2: #3b5676; --gs-ink-3: #6a8099;
	--gs-blue: #0d71b9; --gs-blue-deep: #0a5c97; --gs-blue-50: #e8f5ff;
	--gs-teal: #2bb1bb; --gs-teal-soft: #7fe3ea; --gs-cyan: #00c5e7;
	--gs-ice: #e6f9fd; --gs-ice-2: #eef5fc; --gs-line: #dbe7f1; --gs-star: #f5b301;
	--gs-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--gs-fs-xs: 13px; --gs-fs-sm: 15px; --gs-fs-md: 17px; --gs-fs-lg: 20px; --gs-fs-xl: 26px;
	--gs-fs-h2: clamp(28px, 3.4vw, 40px); --gs-fs-h1: clamp(30px, 4.6vw, 58px);
	--gs-track: -.025em;
	--gs-r-sm: 8px; --gs-r-md: 14px; --gs-r-lg: 22px;
	--gs-shadow: 0 1px 2px rgba(10, 42, 82, .06), 0 10px 28px -14px rgba(10, 42, 82, .22);
	--gs-glow: 0 8px 20px -8px rgba(0, 197, 231, .55);
	--gs-wrap: 1240px; --gs-gutter: clamp(16px, 4vw, 40px);
	--gs-ease: cubic-bezier(.16, 1, .3, 1); --gs-t1: 160ms; --gs-t2: 360ms; --gs-t3: 700ms;
	--gs-sect: 112px;
}

/* ---------- Shared: section frame, headings, buttons ---------- */
.ges-hd .ges-hd-sect {
	font-family: var(--gs-font);
	color: var(--gs-navy);
	padding: var(--gs-sect) var(--gs-gutter);
	--content-width: var(--gs-wrap);
	--padding-top: var(--gs-sect); --padding-bottom: var(--gs-sect);
	--padding-left: var(--gs-gutter); --padding-right: var(--gs-gutter);
}
.ges-hd .ges-hd-sect > .e-con-inner { max-width: var(--gs-wrap); width: 100%; margin-inline: auto; padding: 0; gap: 0; }
.ges-hd :where(.ges-hd-sect) .elementor-widget:not(:last-child) { margin-bottom: 0; }
.ges-hd .ges-hd-sect h2.elementor-heading-title,
.ges-hd .ges-hd-sect .ges-hd-h2 .elementor-heading-title,
.ges-hd .ges-hd-sect .tab-title {
	font-family: var(--gs-font);
	font-size: var(--gs-fs-h2);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: var(--gs-track);
	color: var(--gs-navy);
	margin: 0;
	text-wrap: balance;
}
.ges-hd .ges-hd-sect .elementor-heading-title span:not([class^="ges-hd"]) { color: var(--gs-blue); }
.ges-hd .ges-hd-sect .ges-hd-lead,
.ges-hd .ges-hd-sect .ges-hd-lead p {
	font-family: var(--gs-font);
	font-size: var(--gs-fs-md);
	line-height: 1.6;
	color: var(--gs-ink-2);
	font-style: normal;
	margin: 0;
}
.ges-hd .ges-hd-sect .ges-hd-lead { margin-top: 12px; }
.ges-hd .ges-hd-sect .ges-hd-lead i { font-style: normal; }

/* Outline pill button (See Reviews, Show All Destinations) */
.ges-hd .ges-hd-btn-line .elementor-button,
.ges-hd .ges-hd-sect button.popular-countries-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 50px;
	padding: 0 26px;
	border-radius: 999px;
	border: 1.5px solid var(--gs-navy);
	background: transparent;
	color: var(--gs-navy);
	font: 600 15px/1 var(--gs-font);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--gs-t1), color var(--gs-t1), transform var(--gs-t1) var(--gs-ease);
}
.ges-hd .ges-hd-btn-line .elementor-button:hover,
.ges-hd .ges-hd-sect button.popular-countries-toggle:hover,
.ges-hd .ges-hd-sect button.popular-countries-toggle:focus-visible {
	background: var(--gs-navy);
	color: #fff;
}
.ges-hd .ges-hd-arrow .elementor-button-text::after,
.ges-hd .ges-hd-sect button.popular-countries-toggle::after {
	content: "\2192";
	display: inline-block;
	margin-inline-start: 8px;
	transition: transform var(--gs-t2) var(--gs-ease);
}
.ges-hd .ges-hd-arrow .elementor-button:hover .elementor-button-text::after,
.ges-hd .ges-hd-sect button.popular-countries-toggle:hover::after { transform: translateX(4px); }
.ges-hd .ges-hd-sect button.popular-countries-toggle[aria-expanded="true"]::after { content: none; }
[dir="rtl"] .ges-hd .ges-hd-arrow .elementor-button-text::after,
[dir="rtl"] .ges-hd .ges-hd-sect button.popular-countries-toggle::after { content: "\2190"; }

/* no dotted box on mouse clicks; keyboard focus gets one rounded ring */
.ges-hd .ges-hd-sect :focus:not(:focus-visible),
.ges-hd .ges-hd-hero :focus:not(:focus-visible),
.ges-hd .ges-hd-trust :focus:not(:focus-visible) { outline: none !important; }
.ges-hd .ges-hd-sect :focus-visible,
.ges-hd .ges-hd-hero :focus-visible,
.ges-hd .ges-hd-trust :focus-visible { outline: 2px solid var(--gs-teal) !important; outline-offset: 3px; border-radius: 10px; }

/* ---------- 1. Hero ---------- */
/* overflow stays visible so the search results can drop over the trust strip; the banner clips the slides */
.ges-hd .ges-hd-hero { position: relative; z-index: 20; overflow: visible; background: var(--gs-navy); min-height: 500px; padding: 0; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-hero .elementor-element-cdb63b4 { padding: 0; margin: 0; }
.ges-hd .ges-hd-hero .hero-banner-wrapper { width: 100%; }
.ges-hd .ges-hd-hero .responsive-banner {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 500px;
	padding: 72px var(--gs-gutter) 192px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-position: 8% 50% !important;
	background-size: cover !important;
	color: #fff;
}
/* navy wash behind the text, as on the product banners */
.ges-hd .ges-hd-hero .responsive-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(60% 75% at 50% 45%, rgba(8, 38, 84, .62) 0%, rgba(8, 38, 84, .25) 70%, rgba(8, 38, 84, .1) 100%);
}
.ges-hd .ges-hd-hero .banner-content { position: relative; z-index: 2; top: 0; max-width: 900px; font-family: var(--gs-font); }
.ges-hd .ges-hd-hero .banner-h1 {
	font-family: var(--gs-font);
	font-size: var(--gs-fs-h1);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: var(--gs-track);
	text-shadow: 0 2px 24px rgba(5, 25, 60, .35);
	margin: 0;
}
.ges-hd .ges-hd-hero .ges-hd-bar { position: relative; white-space: nowrap; }
.ges-hd .ges-hd-hero .ges-hd-bar::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: -.12em;
	height: .12em;
	border-radius: .1em;
	background: var(--gs-teal);
	transform-origin: left;
	animation: ges-hd-bar .9s var(--gs-ease) .4s both;
}
[dir="rtl"] .ges-hd .ges-hd-hero .ges-hd-bar::after { transform-origin: right; }
@keyframes ges-hd-bar { from { transform: scaleX(0); } }
.ges-hd .ges-hd-hero .banner-headline {
	margin: 24px 0 0;
	font-size: var(--gs-fs-lg);
	font-weight: 600;
	line-height: 1.4;
	text-shadow: 0 1px 12px rgba(5, 25, 60, .35);
}
.ges-hd .ges-hd-hero .banner-subheadline {
	margin: 6px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: var(--gs-fs-md);
	font-weight: 400;
	line-height: 1.4;
	color: rgba(255, 255, 255, .88);
	text-shadow: 0 1px 12px rgba(5, 25, 60, .35);
}
.ges-hd .ges-hd-hero .banner-subheadline::before {
	content: "";
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: 50%;
	background: #3ee08f;
	animation: ges-hd-pulse 2s infinite;
}
@keyframes ges-hd-pulse {
	0% { box-shadow: 0 0 0 0 rgba(62, 224, 143, .55); }
	70% { box-shadow: 0 0 0 9px rgba(62, 224, 143, 0); }
	100% { box-shadow: 0 0 0 0 rgba(62, 224, 143, 0); }
}

/* slides 2-4 (inserted by home.js after load) sit between the banner image and the wash */
.ges-hd .ges-hd-hero .ges-hd-slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0;
	transition: opacity 1.4s ease;
	pointer-events: none;
}
.ges-hd .ges-hd-hero .ges-hd-slide.is-on { opacity: 1; }
.ges-hd .ges-hd-hero .ges-hd-slide img { width: 100%; height: 100%; object-fit: cover; object-position: 8% 50%; display: block; }
.ges-hd .ges-hd-hero .ges-hd-slide.is-on img { animation: ges-hd-drift 9s linear both; }
@keyframes ges-hd-drift { from { transform: scale(1.06); } to { transform: scale(1); } }
.ges-hd .ges-hd-hero .ges-hd-dots {
	position: absolute;
	inset-inline: 0;
	bottom: 24px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 8px;
}
.ges-hd .ges-hd-hero .ges-hd-dots button {
	position: relative;
	width: 28px;
	height: 20px;
	padding: 0;
	margin: 0;
	border: 0;
	background: none !important;
	box-shadow: none;
	cursor: pointer;
}
.ges-hd .ges-hd-hero .ges-hd-dots button::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 9px;
	height: 3px;
	border-radius: 2px;
	background: rgba(255, 255, 255, .4);
	transition: background var(--gs-t2);
}
.ges-hd .ges-hd-hero .ges-hd-dots button[aria-current="true"]::before { background: #fff; }

/* Search: the live widget (input + results list), shaped like the design's field */
.ges-hd .ges-hd-hero .elementor-element-c2fc15c {
	position: absolute;
	z-index: 4;
	inset-inline: 0;
	bottom: 96px;
	top: auto !important;
	height: auto !important;
	min-height: 0 !important;
	width: 100%;
	padding: 0 var(--gs-gutter);
	display: flex;
	flex-direction: column;
	align-items: center;
	--padding-top: 0; --padding-bottom: 0;
}
.ges-hd .ges-hd-hero .elementor-element-8720a44 { width: 100% !important; max-width: 620px !important; flex: none; height: auto; }
.ges-hd .ges-hd-hero .elementor-element-8720a44 > .elementor-widget-container { height: auto; }
.ges-hd .ges-hd-hero .search_bar { position: relative; margin: 0; }
.ges-hd .ges-hd-hero .search_bar form { position: relative; margin: 0; }
.ges-hd .ges-hd-hero .search_bar input.input_search {
	width: 100%;
	height: 64px;
	margin: 0;
	padding: 0 72px 0 54px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236a8099' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 22px center !important;
	box-shadow: 0 20px 40px -18px rgba(5, 25, 60, .55);
	font: 500 var(--gs-fs-md)/64px var(--gs-font) !important;
	color: var(--gs-navy);
	outline: 0;
	transition: box-shadow var(--gs-t2);
}
.ges-hd .ges-hd-hero .search_bar input.input_search::placeholder { color: var(--gs-ink-3); opacity: 1; }
.ges-hd .ges-hd-hero .search_bar input.input_search:focus { box-shadow: 0 0 0 5px rgba(0, 197, 231, .35), 0 20px 40px -18px rgba(5, 25, 60, .55); }
.ges-hd .ges-hd-hero .search_bar input.input_search::-webkit-search-cancel-button { display: none; }
[dir="rtl"] .ges-hd .ges-hd-hero .search_bar input.input_search { padding: 0 54px 0 72px !important; background-position: calc(100% - 22px) center !important; }
/* the round arrow: focuses the field (results open as the visitor types) */
.ges-hd .ges-hd-hero .ges-hd-search-go {
	position: absolute;
	top: 8px;
	inset-inline-end: 8px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--gs-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center !important;
	box-shadow: var(--gs-glow);
	cursor: pointer;
	transition: background-color var(--gs-t1);
}
.ges-hd .ges-hd-hero .ges-hd-search-go:hover { background-color: var(--gs-blue-deep) !important; }
[dir="rtl"] .ges-hd .ges-hd-hero .ges-hd-search-go { transform: scaleX(-1); }
.ges-hd .ges-hd-hero .plans_search_result { position: absolute; inset-inline: 0; top: calc(100% + 8px); z-index: 30; }
/* no matches: no empty box */
.ges-hd .ges-hd-hero .plans_search_result ul:not(:has(> li.esim_list_item_in_search:not([style*="none"]))) { display: none !important; }
.ges-hd .ges-hd-hero .plans_search_result li.esim_list_item_in_search { margin: 0; padding: 0; list-style: none; border-radius: 10px; }
.ges-hd .ges-hd-hero .plans_search_result li.esim_list_item_in_search + li { border-top: 1px solid var(--gs-line); }
.ges-hd .ges-hd-hero .plans_search_result li.esim_list_item_in_search > a { padding: 10px 12px; border-radius: 10px; text-decoration: none; align-items: center; }
.ges-hd .ges-hd-hero .plans_search_result li.esim_list_item_in_search > a:hover { background: var(--gs-ice-2); }
.ges-hd .ges-hd-hero .plans_search_result ul {
	max-height: 330px;
	overflow: auto;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--gs-line);
	border-radius: var(--gs-r-md);
	box-shadow: var(--gs-shadow);
	text-align: start;
	font-family: var(--gs-font);
}

/* ---------- 2. Trust strip ---------- */
.ges-hd .ges-hd-trust {
	background: var(--gs-ice-2);
	border-block: 1px solid var(--gs-line);
	border-inline: 0;
	padding: 14px var(--gs-gutter);
	min-height: 84px;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 24px;
	font-family: var(--gs-font);
	color: var(--gs-navy);
}
.ges-hd .ges-hd-trust .ges-hd-trust__score .elementor-heading-title {
	font: 800 34px/1 var(--gs-font);
	letter-spacing: -.03em;
	color: var(--gs-navy);
}
.ges-hd .ges-hd-trust .ges-hd-trust__stars { flex-direction: row; gap: 2px; width: auto; padding: 0; }
.ges-hd .ges-hd-trust .ges-hd-trust__stars .elementor-widget-image { width: 20px; }
.ges-hd .ges-hd-trust .ges-hd-trust__stars img { width: 20px !important; height: 20px; object-fit: contain; }
.ges-hd .ges-hd-trust .ges-hd-trust__txt { width: auto; padding: 0; gap: 0; }
.ges-hd .ges-hd-trust .ges-hd-trust__txt .elementor-heading-title { font: 700 var(--gs-fs-sm)/1.45 var(--gs-font); color: var(--gs-navy); text-align: start; }
.ges-hd .ges-hd-trust .ges-hd-trust__txt .elementor-widget + .elementor-widget .elementor-heading-title { font-weight: 400; font-size: var(--gs-fs-xs); color: var(--gs-ink-2); }
.ges-hd .ges-hd-trust .ges-hd-btn-line .elementor-button { height: 40px; padding: 0 18px; font-size: 14px; text-transform: lowercase; }
.ges-hd .ges-hd-trust .ges-hd-btn-line .elementor-button .elementor-button-text::first-letter { text-transform: uppercase; }
.ges-hd .ges-hd-trust .ges-hd-btn-line .elementor-button .elementor-button-content-wrapper { gap: 8px; }

/* ---------- 3. Popular destinations ---------- */
.ges-hd .ges-hd-dest > .e-con-inner { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; }
.ges-hd .ges-hd-dest .elementor-element-bcbf3b1,
.ges-hd .ges-hd-dest .elementor-element-788acf5 { grid-column: 1; text-align: start; }
.ges-hd .ges-hd-dest .elementor-element-bcbf3b1 .elementor-heading-title { text-align: start; }
.ges-hd .ges-hd-dest .elementor-element-788acf5 { margin-top: 12px; }
.ges-hd .ges-hd-dest .elementor-element-dd6ee70 { grid-column: 1 / -1; margin-top: 48px; position: static; }
.ges-hd .ges-hd-dest .elementor-element-dd6ee70 > .elementor-widget-container,
.ges-hd .ges-hd-dest .elementor-element-dd6ee70 .elementor-shortcode,
.ges-hd .ges-hd-dest .popular-countries-wrap { position: static; }
.ges-hd .ges-hd-dest .popular-countries-cards {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-auto-rows: auto;
	grid-auto-flow: dense;
	gap: 16px;
	margin: 0;
	padding: 0;
}
.ges-hd .ges-hd-dest .popular-countries-cards--extra { margin-top: 16px; }
.ges-hd .ges-hd-dest .popular-countries-cards--extra[hidden] { display: none; }
.ges-hd .ges-hd-dest .country-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 16px 20px;
	border-radius: var(--gs-r-md);
	background-color: var(--gs-navy);
	background-size: cover;
	background-position: center;
	color: #fff;
	text-decoration: none;
	box-shadow: none;
	aspect-ratio: 8 / 6; /* the live card size; the photos are cut the same way as today */
	transition: transform var(--gs-t2) var(--gs-ease), box-shadow var(--gs-t2);
}
.ges-hd .ges-hd-dest .country-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(10, 42, 82, 0) 38%, rgba(10, 42, 82, .85) 100%);
}
.ges-hd .ges-hd-dest .country-card::before { content: none; }
.ges-hd .ges-hd-dest .country-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -18px rgba(10, 42, 82, .55); }
/* All cards one size, as on the live site: the card photos are 500x333, so a double-size
   USA / Global card would show them soft (Liron, 2026-10-21). */
.ges-hd .ges-hd-dest .country-card-body { position: static; width: 100%; padding: 0; background: none; text-align: start; }
.ges-hd .ges-hd-dest .country-card .country-name {
	display: block;
	margin: 0;
	font: 700 var(--gs-fs-lg)/1.1 var(--gs-font);
	letter-spacing: var(--gs-track);
	color: #fff;
}
.ges-hd .ges-hd-dest .country-card .country-price {
	display: block;
	margin: 6px 0 0;
	font: 400 var(--gs-fs-sm)/1.3 var(--gs-font);
	color: #fff;
}
.ges-hd .ges-hd-dest .country-card .country-price .woocs_price_code,
.ges-hd .ges-hd-dest .country-card .country-price .amount { font-size: var(--gs-fs-md); font-weight: 600; color: #fff; }
.ges-hd .ges-hd-dest .best-seller-badge {
	position: absolute;
	top: 16px;
	inset-inline-start: 20px;
	inset-inline-end: auto;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border-radius: 0;
	background: none;
	color: #fff;
	font: 600 var(--gs-fs-xs)/1.4 var(--gs-font);
	letter-spacing: .06em;
	text-transform: uppercase;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .4);
}
.ges-hd .ges-hd-dest .best-seller-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gs-teal-soft);
	box-shadow: 0 0 0 3px rgba(127, 227, 234, .25);
}
/* "Show All Destinations": beside the title on desktop, under the grid on phones */
.ges-hd .ges-hd-dest .popular-countries-wrap button.popular-countries-toggle {
	position: absolute;
	top: 40px;
	inset-inline-end: 0;
	inset-inline-start: auto;
	margin: 0;
	text-decoration: none;
	background: transparent !important;
	color: var(--gs-navy) !important;
	font-weight: 600 !important;
}
.ges-hd .ges-hd-dest .popular-countries-wrap button.popular-countries-toggle:hover { background: var(--gs-navy) !important; color: #fff !important; }

/* ---------- 4. Why choose ---------- */
.ges-hd .ges-hd-why { background: var(--gs-ice-2); }
.ges-hd .ges-hd-why .elementor-element-3024889 { padding: 0; gap: 0; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-why .elementor-element-86331b7 .elementor-heading-title {
	font: 600 var(--gs-fs-sm)/1.4 var(--gs-font);
	letter-spacing: 0;
	color: var(--gs-blue);
	text-align: center;
}
.ges-hd .ges-hd-why .elementor-element-86331b7 .elementor-heading-title span { color: inherit; }
.ges-hd .ges-hd-why .elementor-element-1a9b5a8 { max-width: 860px !important; margin: 16px auto 72px; }
.ges-hd .ges-hd-why .elementor-element-1a9b5a8 .elementor-heading-title {
	font: 400 16px/1.6 var(--gs-font);
	color: var(--gs-ink-2);
	text-align: center;
}
.ges-hd .ges-hd-why .elementor-element-1a9b5a8 .elementor-heading-title strong { font-weight: 400; }
.ges-hd .ges-hd-why .elementor-element-1a9b5a8 .elementor-heading-title br { display: none; }
.ges-hd .ges-hd-why .ges-hd-why__title {
	display: block;
	margin-bottom: 24px;
	font-size: var(--gs-fs-h2);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: var(--gs-track);
	color: var(--gs-navy);
}
.ges-hd .ges-hd-why .ges-hd-why__title em { font-style: normal; color: var(--gs-blue); }
.ges-hd .ges-hd-why .ges-hd-why__body { display: block; max-width: 64ch; margin-inline: auto; }
.ges-hd .ges-hd-why .elementor-element-34f1234 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	padding: 0;
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
.ges-hd .ges-hd-why .elementor-element-34f1234 > .elementor-widget-image-box { width: auto; max-width: none; padding: 0 24px; margin: 0; }
.ges-hd .ges-hd-why .elementor-element-34f1234 > .elementor-widget-image-box + .elementor-widget-image-box { border-inline-start: 1px solid var(--gs-line); }
.ges-hd .ges-hd-why .elementor-image-box-wrapper { text-align: center; }
.ges-hd .ges-hd-why .elementor-image-box-img {
	position: relative;
	display: grid !important;
	place-items: center;
	width: 164px !important;
	height: 164px;
	margin: 0 auto 24px !important;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff 0%, var(--gs-ice) 55%, #cdeff7 100%);
	box-shadow: none;
	transition: transform var(--gs-t2) var(--gs-ease);
}
.ges-hd .ges-hd-why .elementor-image-box-img::before {
	content: "";
	position: absolute;
	inset: -9px;
	border-radius: 50%;
	border: 1.5px dashed rgba(43, 177, 187, .5);
	animation: ges-hd-spin 40s linear infinite;
}
@keyframes ges-hd-spin { to { rotate: 360deg; } }
.ges-hd .ges-hd-why .elementor-widget-image-box:hover .elementor-image-box-img { transform: translateY(-6px) scale(1.04); }
.ges-hd .ges-hd-why .elementor-image-box-img img { width: 112px !important; height: 112px; max-width: none; box-shadow: none; }
.ges-hd .ges-hd-why .elementor-image-box-title {
	margin: 0;
	font: 800 clamp(32px, 3.2vw, 46px)/1 var(--gs-font);
	letter-spacing: -.035em;
	color: var(--gs-blue);
}
.ges-hd .ges-hd-why .elementor-image-box-title small { font-size: .46em; letter-spacing: -.01em; margin-inline-start: 4px; color: var(--gs-navy); }
.ges-hd .ges-hd-why .elementor-image-box-description {
	max-width: 24ch;
	margin: 12px auto 0;
	font: 400 16px/1.6 var(--gs-font);
	font-style: normal;
	color: var(--gs-ink-2);
}

/* ---------- 5. Region / Global plans ([homepage_tabs]) ---------- */
.ges-hd .ges-hd-plans { background: linear-gradient(180deg, var(--gs-ice) 0%, #d6f2fb 100%); }
.ges-hd .ges-hd-plans .homepage-tabs,
.ges-hd .ges-hd-plans .homepage-tabs[data-active-tab="0"],
.ges-hd .ges-hd-plans .homepage-tabs[data-active-tab="1"] { padding: 0; background: none; font-family: var(--gs-font); color: var(--gs-navy); }
.ges-hd .ges-hd-plans .tabs-nav {
	margin: 0 0 32px;
	max-width: none;
	width: max-content;
	padding: 5px;
	border: 1px solid var(--gs-line);
	border-radius: 999px;
	background: #fff;
}
.ges-hd .ges-hd-plans .tabs-nav::before {
	inset: 5px auto 5px 5px;
	width: calc(50% - 5px);
	height: auto;
	background: var(--gs-navy);
	transition: transform var(--gs-t2) var(--gs-ease);
}
[dir="rtl"] .ges-hd .ges-hd-plans .tabs-nav::before { inset: 5px 5px 5px auto; }
[dir="rtl"] .ges-hd .ges-hd-plans .tabs-nav[data-active="1"]::before { transform: translateX(-100%); }
.ges-hd .ges-hd-plans .homepage-tabs .tabs-nav .tab-btn {
	min-width: 130px;
	height: 42px;
	padding: 0 22px;
	margin: 0;
	border: 0;
	font: 600 var(--gs-fs-sm)/42px var(--gs-font);
	color: var(--gs-ink-2) !important;
	transition: color var(--gs-t2);
}
.ges-hd .ges-hd-plans .homepage-tabs .tabs-nav .tab-btn.active,
.ges-hd .ges-hd-plans .homepage-tabs .tabs-nav .tab-btn[aria-selected="true"] { color: #fff !important; }
.ges-hd .ges-hd-plans div#tab-panel-region,
.ges-hd .ges-hd-plans div#tab-panel-global { padding: 0; }
.ges-hd .ges-hd-plans .tab-content-wrapper,
.ges-hd .ges-hd-plans div#tab-panel-region .tab-content-wrapper,
.ges-hd .ges-hd-plans div#tab-panel-global .tab-content-wrapper {
	max-width: none;
	padding: 0;
	border-radius: 0;
	background: none;
	backdrop-filter: none;
}
.ges-hd .ges-hd-plans .homepage-tabs .tab-title,
.ges-hd .ges-hd-plans div#tab-panel-global .tab-title { margin: 0 0 32px; color: var(--gs-navy); }

/* Region tiles */
.ges-hd .ges-hd-plans .regional-products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ges-hd .ges-hd-plans .regional-card {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 14px;
	padding: 12px 16px 12px 12px;
	margin: 0;
	background: #fff;
	border: 1.5px solid var(--gs-line);
	border-radius: var(--gs-r-md);
	box-shadow: none;
	color: var(--gs-navy);
	text-decoration: none;
	transition: border-color var(--gs-t1), box-shadow var(--gs-t2), transform var(--gs-t2) var(--gs-ease);
}
[dir="rtl"] .ges-hd .ges-hd-plans .regional-card { padding: 12px 12px 12px 16px; }
.ges-hd .ges-hd-plans .regional-card:hover,
.ges-hd .ges-hd-plans .regional-card:focus-visible { border-color: var(--gs-blue); box-shadow: var(--gs-shadow); transform: translateY(-2px); }
.ges-hd .ges-hd-plans .regional-image {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 104px;
	height: 78px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--gs-ice);
}
.ges-hd .ges-hd-plans .regional-image { background: var(--gs-ice) center / cover no-repeat; transition: background-size .6s var(--gs-ease); }
/* the region's own icon stays in the page (alt text, translated) under the designer's mini map */
.ges-hd .ges-hd-plans .regional-image:has(img[src*="/"]) img { opacity: 0; width: 100% !important; height: 100% !important; max-width: none !important; display: block; }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="usa-plus-icon"]) { background-image: url(img/region-usa-plus.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="central-america-icon"]) { background-image: url(img/region-central-america.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="south-america-icon"]) { background-image: url(img/region-south-america.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="africa-icon"]) { background-image: url(img/region-africa.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="central-asia-icon"]) { background-image: url(img/region-central-asia.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="oceania-icon"]) { background-image: url(img/region-oceania.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="/europe-icon"]) { background-image: url(img/region-europe.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="north-america-icon"]) { background-image: url(img/region-north-america.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="caribbean-icon"]) { background-image: url(img/region-caribbean.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="south-east-asia-icon"]) { background-image: url(img/region-south-east-asia.webp); }
.ges-hd .ges-hd-plans .regional-image:has(img[src*="middle-east-icon"]) { background-image: url(img/region-middle-east.webp); }
.ges-hd .ges-hd-plans .regional-info,
.ges-hd .ges-hd-plans .regional-meta,
.ges-hd .ges-hd-plans .regional-info .regional-meta { display: contents; }
.ges-hd .ges-hd-plans .regional-title {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin: 0;
	font: 700 var(--gs-fs-md)/1.25 var(--gs-font);
	letter-spacing: 0;
	color: var(--gs-navy);
	text-align: start;
}
.ges-hd .ges-hd-plans .regional-card p.countries {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	margin: 2px 0 0;
	font: 400 var(--gs-fs-sm)/1.3 var(--gs-font);
	color: var(--gs-ink-3);
	text-align: start;
}
.ges-hd .ges-hd-plans .regional-card p.countries strong { font-weight: 400; color: inherit; }
.ges-hd .ges-hd-plans .regional-card p.price {
	grid-column: 3;
	grid-row: 1 / 3;
	margin: 0;
	text-align: end;
	font: 400 12px/1.2 var(--gs-font);
	color: var(--gs-ink-3) !important;
}
.ges-hd .ges-hd-plans .regional-card p.price .mobile-hidden { display: inline; }
.ges-hd .ges-hd-plans .regional-card p.price .woocs_price_code {
	display: block;
	margin-top: 2px;
	font-size: var(--gs-fs-md);
	font-weight: 700;
	color: var(--gs-blue);
}
.ges-hd .ges-hd-plans .regional-arrow { grid-column: 4; grid-row: 1 / 3; display: flex; color: var(--gs-ink-3); }
.ges-hd .ges-hd-plans .regional-arrow svg.chev { width: 18px; height: 18px; transform: rotate(-90deg); transition: transform var(--gs-t2) var(--gs-ease), color var(--gs-t1); }
[dir="rtl"] .ges-hd .ges-hd-plans .regional-arrow svg.chev { transform: rotate(90deg); }
.ges-hd .ges-hd-plans .regional-card:hover .regional-arrow { color: var(--gs-blue); }
.ges-hd .ges-hd-plans .regional-card:hover .regional-arrow svg.chev { transform: rotate(-90deg) translateY(3px); }

/* Global tab: hero card + map (inserted by home.js), plan cards, voice step */
.ges-hd .ges-hd-plans .ges-hd-glob { display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; margin-bottom: 24px; }
.ges-hd .ges-hd-plans .ges-hd-glob > * { min-width: 0; }
.ges-hd .ges-hd-plans .ges-hd-glob__hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 280px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 6px;
	border-radius: var(--gs-r-lg);
	background: var(--gs-navy) center / cover no-repeat;
	color: #fff;
}
.ges-hd .ges-hd-plans .ges-hd-glob__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(8, 38, 84, .05) 20%, rgba(8, 38, 84, .8) 100%);
}
.ges-hd .ges-hd-plans .ges-hd-glob__tag {
	position: absolute;
	top: 24px;
	inset-inline-start: 32px;
	display: flex;
	align-items: center;
	gap: 6px;
	font: 600 var(--gs-fs-xs)/1.4 var(--gs-font);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.ges-hd .ges-hd-plans .ges-hd-glob__tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gs-teal-soft); }
.ges-hd .ges-hd-plans .ges-hd-glob__name { font: 800 clamp(28px, 3vw, 38px)/1.1 var(--gs-font); letter-spacing: var(--gs-track); color: #fff; }
.ges-hd .ges-hd-plans .ges-hd-glob__hero .tab-subtitle,
.ges-hd .ges-hd-plans div#tab-panel-global .ges-hd-glob__hero .tab-subtitle {
	margin: 0;
	font: 500 16px/1.5 var(--gs-font);
	color: rgba(255, 255, 255, .9);
	text-decoration: none;
	cursor: default;
}
.ges-hd .ges-hd-plans .ges-hd-glob__view {
	margin-top: 12px;
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--gs-navy) !important;
	font: 600 14px/42px var(--gs-font);
	cursor: pointer;
}
.ges-hd .ges-hd-plans .ges-hd-glob__map {
	margin: 0;
	padding: 18px;
	display: grid;
	place-items: center;
	border-radius: var(--gs-r-lg);
	background: radial-gradient(120% 90% at 80% 0%, #fff 0%, var(--gs-ice) 50%, #cdeff7 100%);
}
.ges-hd .ges-hd-plans .ges-hd-glob__map img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; }

.ges-hd .ges-hd-plans .step-title { margin: 0 0 12px; font: 600 var(--gs-fs-sm)/1.4 var(--gs-font); color: var(--gs-ink-2); }
.ges-hd .ges-hd-plans div#tab-panel-global .step-title { color: var(--gs-ink-2); }
.ges-hd .ges-hd-plans .global-esim-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ges-hd .ges-hd-plans .global-card,
.ges-hd .ges-hd-plans .voice-card {
	position: relative;
	padding: 14px 52px 14px 18px;
	background: #fff;
	border: 1.5px solid var(--gs-line);
	border-radius: var(--gs-r-md);
	color: var(--gs-navy);
	cursor: pointer;
	transform: none;
	transition: border-color var(--gs-t1), background var(--gs-t1), box-shadow var(--gs-t2);
}
[dir="rtl"] .ges-hd .ges-hd-plans .global-card,
[dir="rtl"] .ges-hd .ges-hd-plans .voice-card { padding: 14px 18px 14px 52px; }
.ges-hd .ges-hd-plans .global-card:hover,
.ges-hd .ges-hd-plans .voice-card:hover { border-color: #b7cde0; background: #fff; box-shadow: var(--gs-shadow); transform: none; }
/* step 1: a click opens step 2, so the card ends in a chevron; step 2 (voice) is a radio choice */
.ges-hd .ges-hd-plans .global-card::after,
.ges-hd .ges-hd-plans .voice-card::after {
	content: "";
	position: absolute;
	inset-inline-end: 16px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	border-radius: 50%;
	border: 1.5px solid var(--gs-line);
	background: #fff;
	transition: all var(--gs-t1);
}
.ges-hd .ges-hd-plans .global-card::after {
	border-color: transparent;
	background: var(--gs-ice-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d71b9' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 12px no-repeat;
}
[dir="rtl"] .ges-hd .ges-hd-plans .global-card::after { transform: scaleX(-1); }
.ges-hd .ges-hd-plans .global-card:hover::after { background-color: var(--gs-blue-50); }
.ges-hd .ges-hd-plans .voice-card.active { border-color: var(--gs-blue); background: var(--gs-blue-50); }
.ges-hd .ges-hd-plans .voice-card.active::after {
	border-color: var(--gs-blue);
	background: var(--gs-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.ges-hd .ges-hd-plans .global-row,
.ges-hd .ges-hd-plans .voice-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; align-items: center; }
.ges-hd .ges-hd-plans .voice-row { display: flex !important; justify-content: flex-start !important; width: 100%; gap: 24px; }
.ges-hd .ges-hd-plans .voice-row > .voice-item { flex: 1 1 0 !important; max-width: none; text-align: start; }
.ges-hd .ges-hd-plans .voice-card { display: block !important; background: #fff !important; box-shadow: none !important; }
.ges-hd .ges-hd-plans .voice-card:hover { box-shadow: var(--gs-shadow) !important; }
.ges-hd .ges-hd-plans .voice-card.active { background: var(--gs-blue-50) !important; }
/* phone-number prefix: only takes space when a voice pack is chosen (the plugin toggles [disabled]) */
.ges-hd .ges-hd-plans #phone-prefix-wrapper[disabled] { display: none; }
.ges-hd .ges-hd-plans #phone-prefix-wrapper { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px; padding: 16px 0 0; }
.ges-hd .ges-hd-plans #phone-prefix-wrapper > label { font: 600 var(--gs-fs-sm)/1.4 var(--gs-font); color: var(--gs-navy) !important; }
.ges-hd .ges-hd-plans #phone-prefix-wrapper select { height: 44px; min-width: 220px; padding: 0 14px; border: 1.5px solid var(--gs-line); border-radius: 10px; background-color: #fff; font: 500 var(--gs-fs-sm) var(--gs-font); color: var(--gs-navy); }
.ges-hd .ges-hd-plans .global-item,
.ges-hd .ges-hd-plans .voice-item { display: block; grid-column: auto; grid-row: auto; font-size: 14px; line-height: 1.3; }
.ges-hd .ges-hd-plans .global-item i,
.ges-hd .ges-hd-plans .voice-item i,
.ges-hd .ges-hd-plans .global-item__coverage,
.ges-hd .ges-hd-plans .global-icon,
.ges-hd .ges-hd-plans .voice-row .divider { display: none; }
.ges-hd .ges-hd-plans .global-item small,
.ges-hd .ges-hd-plans .voice-item small { display: block; font: 400 12px/1.4 var(--gs-font); color: var(--gs-ink-3); }
.ges-hd .ges-hd-plans .global-item strong,
.ges-hd .ges-hd-plans .voice-item strong { display: block; font: 700 var(--gs-fs-md)/1.3 var(--gs-font); color: var(--gs-navy); }
.ges-hd .ges-hd-plans .selected-plan-info { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: var(--gs-ink-2); }
.ges-hd .ges-hd-plans .selected-plan-text { margin: 0; font: 400 var(--gs-fs-sm)/1.4 var(--gs-font); color: var(--gs-ink-2); }
.ges-hd .ges-hd-plans .selected-plan-text strong { color: var(--gs-navy); }
.ges-hd .ges-hd-plans #tab-panel-global .voice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
/* Buy Now: same size and shape as today (house rule), brand colour */
.ges-hd .ges-hd-plans .step-actions { display: flex; justify-content: center; width: 100%; }
.ges-hd .ges-hd-plans .back-step { display: none !important; }
.ges-hd .ges-hd-plans #tab-panel-global button.add-to-cart-trigger {
	width: 98%;
	max-width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 30px;
	border-radius: 10px;
	border: 0;
	background: var(--gs-blue) !important;
	color: #fff !important;
	box-shadow: var(--gs-glow);
	font-family: var(--gs-font);
}
.ges-hd .ges-hd-plans #tab-panel-global button.add-to-cart-trigger:hover,
.ges-hd .ges-hd-plans #tab-panel-global button.add-to-cart-trigger:focus { background: var(--gs-blue-deep) !important; }
.ges-hd .ges-hd-plans #tab-panel-global button.add-to-cart-trigger[disabled] { opacity: .6; }
/* Country list ("View List"): the panel under the plan, filled by the tab's own loader */
.ges-hd .ges-hd-plans #global-country-cards {
	display: none;
	margin: 0 0 24px;
	padding: 24px;
	max-width: none;
	text-align: start;
	background: #fff;
	border: 1px solid var(--gs-line);
	border-radius: var(--gs-r-md);
}
.ges-hd .ges-hd-plans #global-country-cards.is-open { display: block; }
.ges-hd .ges-hd-plans #global-country-cards .country-header { display: none; }
.ges-hd .ges-hd-plans .little-country-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 24px; }
.ges-hd .ges-hd-plans a.little_country_card {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
	background: none;
	border-radius: 0;
	color: var(--gs-ink-2);
	font: 400 var(--gs-fs-sm)/1.4 var(--gs-font);
	pointer-events: none;
}
.ges-hd .ges-hd-plans a.little_country_card img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }

/* ---------- 6. Why travelers are choosing eSIM ---------- */
.ges-hd .ges-hd-choose { background: var(--gs-navy); color: #fff; }
.ges-hd .ges-hd-choose .elementor-element-82867cb { padding: 0; gap: 0; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-choose .elementor-element-55a4e09 .elementor-heading-title { color: #fff; text-align: start; }
.ges-hd .ges-hd-choose .elementor-element-55a4e09 .elementor-heading-title span { color: var(--gs-teal-soft); }
.ges-hd .ges-hd-choose .elementor-element-352bd7c {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 48px;
	padding: 0;
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
.ges-hd .ges-hd-choose .ges-hd-choose__item {
	width: auto;
	padding: 24px 24px 32px;
	gap: 0;
	align-items: stretch;
	border-radius: var(--gs-r-lg);
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1);
	transition: background var(--gs-t2), transform var(--gs-t2) var(--gs-ease);
	--padding-top: 24px; --padding-bottom: 32px; --padding-left: 24px; --padding-right: 24px;
}
.ges-hd .ges-hd-choose .ges-hd-choose__item:hover { background: rgba(255, 255, 255, .08); transform: translateY(-4px); }
.ges-hd .ges-hd-choose .ges-hd-choose__item h3.elementor-heading-title { margin-top: 24px; font: 700 var(--gs-fs-lg)/1.3 var(--gs-font); letter-spacing: var(--gs-track); color: #fff; text-align: start; }
.ges-hd .ges-hd-choose .ges-hd-choose__item span.elementor-heading-title { display: block; margin-top: 8px; font: 400 16px/1.6 var(--gs-font); color: #b9cbe0; text-align: start; }
.ges-hd .ges-hd-choose .ges-hd-choose__item .elementor-widget { width: 100%; max-width: none; }

.ges-hd .ges-hd-vig { height: 210px; border-radius: 18px; background: radial-gradient(120% 100% at 50% 0%, rgba(127, 227, 234, .14), rgba(255, 255, 255, .03)); position: relative; overflow: hidden; display: grid; place-items: center; }
.ges-hd .ges-hd-vig--scan { grid-template-columns: auto auto; gap: 36px; justify-content: center; }
.ges-hd .ges-hd-vig .mphone { position: relative; width: 86px; height: 160px; border-radius: 18px; border: 3px solid rgba(255, 255, 255, .85); background: rgba(10, 42, 82, .6); }
.ges-hd .ges-hd-vig .mphone::before { content: ""; position: absolute; top: 6px; left: 50%; width: 26px; height: 6px; margin-left: -13px; border-radius: 4px; background: rgba(255, 255, 255, .85); }
.ges-hd .ges-hd-vig .mphone__qr { position: absolute; inset: 34px 14px auto; height: 56px; border-radius: 6px; background: conic-gradient(from 90deg at 2px 2px, #0000 90deg, #fff 0) 0 0 / 8px 8px; animation: ges-hd-qr 4.8s infinite; }
.ges-hd .ges-hd-vig .mphone__scan { position: absolute; left: 8px; right: 8px; height: 2px; background: var(--gs-teal-soft); box-shadow: 0 0 12px var(--gs-teal-soft); top: 34px; animation: ges-hd-scanl 4.8s infinite; }
.ges-hd .ges-hd-vig .mphone__ok { position: absolute; left: 50%; top: 44px; width: 40px; height: 40px; margin-left: -20px; border-radius: 50%; background: var(--gs-teal); display: grid; place-items: center; transform: scale(0); animation: ges-hd-ok 4.8s infinite; }
.ges-hd .ges-hd-vig .mphone__ok svg { width: 22px; height: 22px; }
.ges-hd .ges-hd-vig .mphone__bars { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; align-items: flex-end; gap: 4px; height: 26px; }
.ges-hd .ges-hd-vig .mphone__bars i { width: 7px; border-radius: 2px; background: var(--gs-teal-soft); transform-origin: bottom; transform: scaleY(0); animation: ges-hd-barup 4.8s infinite; }
.ges-hd .ges-hd-vig .mphone__bars i:nth-child(1) { height: 8px; }
.ges-hd .ges-hd-vig .mphone__bars i:nth-child(2) { height: 14px; animation-delay: .1s; }
.ges-hd .ges-hd-vig .mphone__bars i:nth-child(3) { height: 20px; animation-delay: .2s; }
.ges-hd .ges-hd-vig .mphone__bars i:nth-child(4) { height: 26px; animation-delay: .3s; }
@keyframes ges-hd-qr { 0%, 42% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes ges-hd-scanl { 0% { top: 34px; opacity: 1; } 38% { top: 88px; opacity: 1; } 42%, 100% { opacity: 0; top: 88px; } }
@keyframes ges-hd-ok { 0%, 46% { transform: scale(0); } 54% { transform: scale(1.15); } 60%, 92% { transform: scale(1); } 100% { transform: scale(0); } }
@keyframes ges-hd-barup { 0%, 58% { transform: scaleY(0); } 70%, 92% { transform: scaleY(1); } 100% { transform: scaleY(0); } }
.ges-hd .ges-hd-vig .steps3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ges-hd .ges-hd-vig .steps3 li { width: 40px; height: 40px; margin: 0; border-radius: 12px; display: grid; place-items: center; color: rgba(255, 255, 255, .45); border: 1px solid rgba(255, 255, 255, .15); animation: 4.8s infinite; }
.ges-hd .ges-hd-vig .steps3 li svg { width: 20px; height: 20px; }
.ges-hd .ges-hd-vig .steps3 li:nth-child(1) { animation-name: ges-hd-step1; }
.ges-hd .ges-hd-vig .steps3 li:nth-child(2) { animation-name: ges-hd-step2; }
.ges-hd .ges-hd-vig .steps3 li:nth-child(3) { animation-name: ges-hd-step3; }
@keyframes ges-hd-step1 { 0%, 20% { color: #fff; background: var(--gs-blue); border-color: var(--gs-blue); } 26%, 100% { color: rgba(255, 255, 255, .45); background: none; border-color: rgba(255, 255, 255, .15); } }
@keyframes ges-hd-step2 { 0%, 20%, 50%, 100% { color: rgba(255, 255, 255, .45); background: none; border-color: rgba(255, 255, 255, .15); } 26%, 46% { color: #fff; background: var(--gs-blue); border-color: var(--gs-blue); } }
@keyframes ges-hd-step3 { 0%, 52%, 100% { color: rgba(255, 255, 255, .45); background: none; border-color: rgba(255, 255, 255, .15); } 58%, 94% { color: #06233f; background: var(--gs-teal-soft); border-color: var(--gs-teal-soft); } }
.ges-hd .ges-hd-vig--dual { grid-template-rows: auto auto; gap: 14px; align-content: center; }
.ges-hd .ges-hd-vig .sim { display: flex; align-items: center; gap: 14px; width: 250px; max-width: 100%; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); }
.ges-hd .ges-hd-vig .sim__chip { width: 34px; height: 26px; border-radius: 6px; background: linear-gradient(135deg, #e9d38a, #b89a45); position: relative; flex: none; }
.ges-hd .ges-hd-vig .sim__chip::after { content: ""; position: absolute; inset: 6px 9px; border: 1.5px solid rgba(80, 60, 10, .45); border-radius: 3px; }
.ges-hd .ges-hd-vig .sim--2 .sim__chip { background: linear-gradient(135deg, #7fe3ea, var(--gs-blue)); }
.ges-hd .ges-hd-vig .sim--2 .sim__chip::after { border-color: rgba(255, 255, 255, .6); }
.ges-hd .ges-hd-vig .sim__lines { flex: 1; display: grid; gap: 6px; }
.ges-hd .ges-hd-vig .sim__lines u { display: block; height: 7px; border-radius: 4px; background: rgba(255, 255, 255, .25); }
.ges-hd .ges-hd-vig .sim__lines u + u { width: 60%; background: rgba(255, 255, 255, .14); }
.ges-hd .ges-hd-vig .sim__call,
.ges-hd .ges-hd-vig .sim__data { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; flex: none; position: relative; }
.ges-hd .ges-hd-vig .sim__call { background: #25d366; animation: ges-hd-ringme 2.4s ease-in-out infinite; }
.ges-hd .ges-hd-vig .sim__call::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid #25d366; opacity: 0; animation: ges-hd-halo 2.4s ease-out infinite; }
.ges-hd .ges-hd-vig .sim__call svg,
.ges-hd .ges-hd-vig .sim__data svg { width: 20px; height: 20px; }
.ges-hd .ges-hd-vig .sim__data { background: var(--gs-blue); }
.ges-hd .ges-hd-vig .sim__data .up { animation: ges-hd-up 1.6s ease-in-out infinite; }
.ges-hd .ges-hd-vig .sim__data .down { animation: ges-hd-down 1.6s ease-in-out infinite .8s; }
@keyframes ges-hd-ringme { 0%, 50%, 100% { rotate: 0deg; } 54%, 62% { rotate: -12deg; } 58%, 66% { rotate: 12deg; } }
@keyframes ges-hd-halo { 0% { opacity: .7; transform: scale(.8); } 70%, 100% { opacity: 0; transform: scale(1.35); } }
@keyframes ges-hd-up { 0%, 100% { transform: translateY(2px); opacity: .5; } 50% { transform: translateY(-2px); opacity: 1; } }
@keyframes ges-hd-down { 0%, 100% { transform: translateY(-2px); opacity: .5; } 50% { transform: translateY(2px); opacity: 1; } }
.ges-hd .ges-hd-vig--save { grid-template-columns: auto auto; gap: 34px; justify-content: center; align-items: end; padding-bottom: 28px; }
.ges-hd .ges-hd-vig .save__bars { display: flex; align-items: flex-end; gap: 14px; height: 118px; }
.ges-hd .ges-hd-vig .save__bars i { position: relative; width: 46px; border-radius: 10px 10px 4px 4px; transform-origin: bottom; transform: scaleY(.05); transition: transform 1.3s var(--gs-ease) .25s; }
.ges-hd .ges-hd-vig .save__roam { height: 118px; background: rgba(255, 255, 255, .22); }
.ges-hd .ges-hd-vig .save__esim { height: 14px; background: var(--gs-teal-soft); }
.ges-hd .ges-hd-vig .save__bars span { position: absolute; left: 0; right: 0; top: -24px; text-align: center; font: 800 14px/1 var(--gs-font); color: rgba(255, 255, 255, .7); }
.ges-hd .ges-hd-vig .save__esim span { color: var(--gs-teal-soft); }
.ges-hd .ges-hd-vig.is-in .save__bars i { transform: none; }
.ges-hd .ges-hd-vig .save__num { font: 800 52px/1 var(--gs-font); letter-spacing: -.04em; color: var(--gs-teal-soft); direction: ltr; unicode-bidi: isolate; }
.ges-hd .ges-hd-vig .save__num::before { content: "\2212"; }

/* ---------- 7. Videos: the 30-second guide + the customer stories carousel ---------- */
.ges-hd .ges-hd-videos { gap: 0; }
.ges-hd .ges-hd-videos .elementor-element-03a871c {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	align-items: center;
	gap: 48px;
	max-width: var(--gs-wrap);
	width: 100%;
	margin: 0 auto 112px;
	padding: 48px;
	border-radius: var(--gs-r-lg);
	background: radial-gradient(120% 90% at 80% 0%, #fff 0%, var(--gs-ice) 50%, #cdeff7 100%);
	--padding-top: 48px; --padding-bottom: 48px; --padding-left: 48px; --padding-right: 48px;
}
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 { padding: 0; }
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 h2 {
	text-wrap: balance;
	margin: 0;
	text-align: start;
	font: 800 var(--gs-fs-h2)/1.12 var(--gs-font);
	letter-spacing: var(--gs-track);
	color: var(--gs-navy);
}
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 h2 b,
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 h2 em { font-style: normal; font-weight: 800; }
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 h2 br + * ,
.ges-hd .ges-hd-videos .elementor-element-e0b2b08 h2 span { color: var(--gs-blue); text-decoration: none !important; font-weight: 800; }
.ges-hd .ges-hd-videos .elementor-element-24b0818 { width: 100%; }
.ges-hd .ges-hd-videos .elementor-element-24b0818 .elementor-wrapper { border-radius: var(--gs-r-lg); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(10, 42, 82, .45); }
.ges-hd .ges-hd-videos .elementor-element-84b5a30,
.ges-hd .ges-hd-videos .elementor-element-55391cd { max-width: 780px !important; margin-inline: auto; text-align: center; }
.ges-hd .ges-hd-videos .elementor-element-84b5a30 .elementor-heading-title { text-align: center; }
.ges-hd .ges-hd-videos .elementor-element-55391cd { margin-top: 12px; }
.ges-hd .ges-hd-videos .elementor-element-7db829e { width: 100%; max-width: var(--gs-wrap) !important; margin: 48px auto 0; padding-bottom: 80px; position: relative; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .e-n-carousel { padding: 4px 2px 12px; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .swiper-slide { padding: 0; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .swiper-slide > .e-con { padding: 0; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .swiper-slide > .e-con > .e-con-inner { display: flex; flex-direction: column; gap: 0; padding: 0; }
.ges-hd .ges-hd-videos .vid_container { display: contents; }
.ges-hd .ges-hd-videos .vid_container > .elementor-widget-video { order: 1; width: 100%; }
.ges-hd .ges-hd-videos .video_title_yt { order: 2; }
.ges-hd .ges-hd-videos .vid_desc_container { order: 3; }
.ges-hd .ges-hd-videos .vid_container .elementor-wrapper {
	position: relative;
	aspect-ratio: 9 / 16;
	height: auto;
	border-radius: var(--gs-r-lg);
	overflow: hidden;
	background: var(--gs-navy);
	box-shadow: none;
	isolation: isolate;
}
.ges-hd .ges-hd-videos .vid_container .elementor-custom-embed-image-overlay { transition: transform var(--gs-t3) var(--gs-ease); }
.ges-hd .ges-hd-videos .vid_container .elementor-custom-embed-image-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(10, 42, 82, .55));
}
.ges-hd .ges-hd-videos .vid_container .elementor-wrapper:hover .elementor-custom-embed-image-overlay { transform: scale(1.05); }
.ges-hd .ges-hd-videos .elementor-custom-embed-play {
	z-index: 2;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, .22);
	backdrop-filter: blur(8px);
	border: 1.5px solid rgba(255, 255, 255, .7);
	transition: transform var(--gs-t2) var(--gs-ease), background var(--gs-t2);
}
.ges-hd .ges-hd-videos .elementor-custom-embed-play svg { width: 26px; height: 26px; fill: #fff; opacity: 1; filter: none; }
.ges-hd .ges-hd-videos .elementor-wrapper:hover .elementor-custom-embed-play { transform: translate(-50%, -50%) scale(1.1); background: var(--gs-blue); border-color: var(--gs-blue); }
.ges-hd .ges-hd-videos .video_title_yt .elementor-heading-title {
	margin-top: 14px;
	font: 700 16px/1.35 var(--gs-font);
	letter-spacing: -.01em;
	color: var(--gs-navy);
	text-align: start;
}
.ges-hd .ges-hd-videos .vid_desc_container,
.ges-hd .ges-hd-videos .elementor-element-7db829e .vid_desc_container {
	position: static;
	height: auto;
	padding: 0;
	opacity: 1;
	background: none;
	pointer-events: auto;
	color: var(--gs-ink-2);
}
.ges-hd .ges-hd-videos .vid_desc_container .elementor-widget-text-editor {
	margin-top: 6px;
	font: 400 14px/1.55 var(--gs-font);
	color: var(--gs-ink-2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: start;
}
.ges-hd .ges-hd-videos .vid_desc_container .elementor-widget-text-editor > .elementor-widget-container > div:first-child { display: none; }
.ges-hd .ges-hd-videos .vid_desc_container .elementor-widget-text-editor div,
.ges-hd .ges-hd-videos .vid_desc_container .elementor-widget-text-editor p { display: inline; margin: 0; }
.ges-hd .ges-hd-videos .vid_desc_container .elementor-widget-text-editor a { color: var(--gs-blue); font-weight: 600; }
.ges-hd .ges-hd-videos .is-open .vid_desc_container .elementor-widget-text-editor { display: block; -webkit-line-clamp: unset; }
.ges-hd .ges-hd-videos .ges-hd-more {
	order: 4;
	align-self: flex-start;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none !important;
	color: var(--gs-blue) !important;
	font: 600 14px/1.5 var(--gs-font);
	cursor: pointer;
	box-shadow: none;
}
/* prev · progress · next, centred under the track */
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button {
	position: absolute;
	top: auto;
	bottom: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--gs-line);
	background: #fff;
	color: var(--gs-navy);
	transform: none;
	transition: background var(--gs-t1), color var(--gs-t1), border-color var(--gs-t1);
}
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button svg { width: 20px; height: 20px; fill: currentColor; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button:hover { background: var(--gs-navy); color: #fff; border-color: var(--gs-navy); }
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button.swiper-button-disabled { opacity: .35; pointer-events: none; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button-prev { left: calc(50% - 128px); right: auto; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .elementor-swiper-button-next { left: calc(50% + 80px); right: auto; }
.ges-hd .ges-hd-videos .elementor-element-7db829e .swiper-pagination {
	position: absolute;
	top: auto;
	bottom: 22px;
	left: calc(50% - 80px);
	width: 160px;
	height: 3px;
	border-radius: 3px;
	overflow: hidden;
	background: var(--gs-line);
}
.ges-hd .ges-hd-videos .elementor-element-7db829e .swiper-pagination-progressbar-fill { background: var(--gs-blue); border-radius: 3px; }

/* ---------- 8. FAQ (the page's own FAQ block, re-laid out) ---------- */
.ges-hd .ges-hd-faq .faq-widget {
	display: grid;
	grid-template-columns: .75fr 1.25fr;
	grid-template-rows: auto 1fr;
	column-gap: 72px;
	align-items: start;
	max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	box-shadow: none;
	border-radius: 0;
	font-family: var(--gs-font);
	color: var(--gs-navy);
}
.ges-hd .ges-hd-faq .faq-widget *,
.ges-hd .ges-hd-faq .faq-widget *::before,
.ges-hd .ges-hd-faq .faq-widget *::after { box-sizing: border-box; }
.ges-hd .ges-hd-faq .faq__title { grid-column: 1; grid-row: 1; margin: 0; text-align: start; font: 800 var(--gs-fs-h2)/1.06 var(--gs-font); letter-spacing: var(--gs-track); color: var(--gs-navy); }
.ges-hd .ges-hd-faq .faq__tabs { grid-column: 1; grid-row: 2; display: grid; gap: 4px; margin-top: 32px; position: sticky; top: 110px; }
.ges-hd .ges-hd-faq .faq-widget > .faq__panel { grid-column: 2; grid-row: 1 / 3; }
.ges-hd .ges-hd-faq .faq__tab {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 14px 18px;
	margin: 0;
	border: 0;
	border-radius: 12px;
	background: transparent !important;
	box-shadow: none !important;
	text-align: start;
	white-space: nowrap;
	font: 600 16px/1.4 var(--gs-font);
	color: var(--gs-ink-2) !important;
	cursor: pointer;
	transition: background var(--gs-t1), color var(--gs-t1);
}
.ges-hd .ges-hd-faq .faq__tab:hover { background: var(--gs-ice-2) !important; color: var(--gs-navy) !important; }
.ges-hd .ges-hd-faq .faq__tab.is-active { background: var(--gs-navy) !important; color: #fff !important; }
.ges-hd .ges-hd-faq .faq__tab .ges-hd-count { font-size: var(--gs-fs-xs); opacity: .6; }
.ges-hd .ges-hd-faq .faq__panel { display: none; }
.ges-hd .ges-hd-faq .faq__panel.is-active { display: block; animation: ges-hd-fade var(--gs-t2) var(--gs-ease); }
@keyframes ges-hd-fade { from { opacity: 0; transform: translateY(10px); } }
.ges-hd .ges-hd-faq .faq__list { display: block; }
.ges-hd .ges-hd-faq .faq__item { border: 0; border-bottom: 1px solid var(--gs-line); border-radius: 0; background: none; overflow: visible; }
.ges-hd .ges-hd-faq .faq__item:first-child { border-top: 1px solid var(--gs-line); }
.ges-hd .ges-hd-faq .faq__question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	width: 100%;
	padding: 22px 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none !important;
	text-align: start;
	font: 700 var(--gs-fs-md)/1.35 var(--gs-font);
	color: var(--gs-navy) !important;
	cursor: pointer;
	transition: color var(--gs-t1);
}
.ges-hd .ges-hd-faq .faq__question:hover,
.ges-hd .ges-hd-faq .faq__question:focus-visible { background: none !important; color: var(--gs-blue) !important; }
.ges-hd .ges-hd-faq .faq__question span { color: inherit; background: none; }
.ges-hd .ges-hd-faq .faq__chevron { display: none; }
/* plus / minus disc */
.ges-hd .ges-hd-faq .faq__question::after {
	content: "";
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid var(--gs-line);
	background:
		linear-gradient(var(--gs-navy), var(--gs-navy)) center / 11px 1.5px no-repeat,
		linear-gradient(var(--gs-navy), var(--gs-navy)) center / 1.5px 11px no-repeat;
	transition: background-color var(--gs-t1), border-color var(--gs-t1);
}
.ges-hd .ges-hd-faq .faq__item.is-open .faq__question::after {
	border-color: var(--gs-navy);
	background: linear-gradient(#fff, #fff) center / 11px 1.5px no-repeat, var(--gs-navy);
}
.ges-hd .ges-hd-faq .faq__answer { max-height: 0; overflow: hidden; transition: max-height .3s ease; background: none; }
.ges-hd .ges-hd-faq .faq__answer-inner { padding: 0 0 24px; max-width: 64ch; background: none; font: 400 16px/1.6 var(--gs-font); color: var(--gs-ink-2); }

/* ---------- 9. Reviews (otw-testimonials, kept as on the live site) ---------- */
.ges-hd .ges-hd-rev .elementor-element-da3df11 .elementor-heading-title { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: normal; text-transform: uppercase; color: #000; text-align: center; }

/* ---------- 10. App band ---------- */
.ges-hd .ges-hd-app { padding-top: 0; --padding-top: 0; }
.ges-hd .ges-hd-app > .e-con-inner {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	align-items: center;
	gap: 32px;
	padding: 72px 72px 0;
	border-radius: var(--gs-r-lg);
	background: radial-gradient(120% 90% at 80% 0%, #fff 0%, var(--gs-ice) 50%, #cdeff7 100%);
}
.ges-hd .ges-hd-app > .e-con-inner::before {
	content: "";
	position: absolute;
	width: 620px;
	height: 620px;
	right: -120px;
	top: -60px;
	pointer-events: none;
	opacity: .22;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%232bb1bb' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M70 30c-30 40-30 100 0 140'/%3E%3Cpath d='M95 45c-20 32-20 78 0 110'/%3E%3Cpath d='M120 62c-11 22-11 54 0 76'/%3E%3C/svg%3E") center / contain no-repeat;
}
[dir="rtl"] .ges-hd .ges-hd-app > .e-con-inner::before { right: auto; left: -120px; transform: scaleX(-1); }
.ges-hd .ges-hd-app .ges-hd-app__copy { position: relative; padding: 0 0 72px; gap: 0; width: auto; --padding-top: 0; --padding-bottom: 72px; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-app .elementor-element-e486959 { width: auto; max-width: none; text-align: start; }
.ges-hd .ges-hd-app .elementor-element-e486959 p {
	margin: 0;
	max-width: 46ch;
	font: 400 var(--gs-fs-md)/1.6 var(--gs-font) !important;
	letter-spacing: 0 !important;
	color: var(--gs-ink-2);
}
.ges-hd .ges-hd-app .elementor-element-e486959 p strong {
	display: block;
	max-width: 18ch;
	margin-bottom: 16px;
	font-size: var(--gs-fs-h2);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: var(--gs-track);
	color: var(--gs-navy);
}
.ges-hd .ges-hd-app .elementor-element-e486959 p br { display: none; }
.ges-hd .ges-hd-app .elementor-element-eab4161 { margin-top: 32px; padding: 0; gap: 12px; align-items: flex-start; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-app .elementor-element-4935ec8 .elementor-heading-title { font: 600 var(--gs-fs-xs)/1.4 var(--gs-font); letter-spacing: .08em; text-transform: uppercase; color: var(--gs-ink-3); text-align: start; }
.ges-hd .ges-hd-app .elementor-element-cf3f82d { flex-direction: row; flex-wrap: wrap; gap: 12px; padding: 0; width: auto; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.ges-hd .ges-hd-app .elementor-element-cf3f82d .elementor-widget-image { width: auto; }
.ges-hd .ges-hd-app .elementor-element-cf3f82d img { height: 54px !important; width: auto !important; max-width: none !important; transition: transform var(--gs-t1) var(--gs-ease); }
.ges-hd .ges-hd-app .elementor-element-cf3f82d a:hover img { transform: translateY(-2px); }
.ges-hd .ges-hd-app .ges-hd-app__phone { align-self: stretch; position: relative; min-height: 400px; }
.ges-hd .ges-hd-phone .phone { position: absolute; left: 50%; translate: -50% 0; top: 0; width: min(78%, 270px); aspect-ratio: 9 / 19.3; background: #0b1d33; border-radius: 46px; padding: 10px; box-shadow: 0 50px 80px -40px rgba(10, 42, 82, .6), inset 0 0 0 1.5px #2a4466; font-family: var(--gs-font); color: var(--gs-navy); }
.ges-hd .ges-hd-phone .phone__screen { position: relative; height: 100%; border-radius: 37px; background: #fff; overflow: hidden; font-size: 11px; display: flex; flex-direction: column; }
.ges-hd .ges-hd-phone .phone__island { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 32%; height: 22px; border-radius: 12px; background: #0b1d33; z-index: 2; }
.ges-hd .ges-hd-phone .phone__status { display: flex; justify-content: space-between; padding: 13px 22px 0; font-weight: 600; }
.ges-hd .ges-hd-phone .appui { padding: 22px 16px 0; display: flex; flex-direction: column; gap: 12px; text-align: start; }
.ges-hd .ges-hd-phone .appui p { margin: 0; }
.ges-hd .ges-hd-phone .appui__hi { color: var(--gs-ink-3); font-size: 11px; }
.ges-hd .ges-hd-phone .appui__q { font-weight: 800; font-size: 17px; line-height: 1.2; margin-top: -6px !important; letter-spacing: -.02em; }
.ges-hd .ges-hd-phone .appui__search { height: 36px; border-radius: 10px; background: var(--gs-ice-2); border: 1px solid var(--gs-line); display: flex; align-items: center; gap: 6px; padding-inline: 10px; color: var(--gs-ink-3); }
.ges-hd .ges-hd-phone .appui__label { font-weight: 700; font-size: 12px; }
.ges-hd .ges-hd-phone .appui__row { display: flex; gap: 10px; }
.ges-hd .ges-hd-phone .appui__ctry { flex: 1; display: grid; justify-items: center; gap: 4px; font-size: 9px; color: var(--gs-ink-2); }
.ges-hd .ges-hd-phone .appui__ctry img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--gs-line); }
.ges-hd .ges-hd-phone .appui__plans { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ges-hd .ges-hd-phone .appui__plan { border-radius: 12px; overflow: hidden; position: relative; height: 88px; color: #fff; padding: 8px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }
.ges-hd .ges-hd-phone .appui__plan img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.ges-hd .ges-hd-phone .appui__plan::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(10, 42, 82, .8)); z-index: -1; }
.ges-hd .ges-hd-phone .appui__plan b { font-size: 11px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.ges-hd .ges-hd-why .elementor-element-34f1234 { grid-template-columns: repeat(2, 1fr); row-gap: 48px; }
	.ges-hd .ges-hd-why .elementor-element-34f1234 > .elementor-widget-image-box:nth-child(3) { border-inline-start: 0; }
	.ges-hd .ges-hd-choose .elementor-element-352bd7c { grid-template-columns: 1fr 1fr; }
	.ges-hd .ges-hd-plans .regional-products-grid { grid-template-columns: 1fr 1fr; }
	.ges-hd .ges-hd-dest .popular-countries-cards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.ges-hd { --gs-sect: 72px; }
	.ges-hd .ges-hd-dest > .e-con-inner { grid-template-columns: 1fr; }
	.ges-hd .ges-hd-dest .elementor-element-dd6ee70 { margin-top: 32px; }
	.ges-hd .ges-hd-dest .popular-countries-cards { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.ges-hd .ges-hd-dest .country-card { padding: 16px; }
	.ges-hd .ges-hd-dest .best-seller-badge { inset-inline-start: 16px; }
	/* phones show the first ten; the toggle opens the rest */
	.ges-hd .ges-hd-dest .popular-countries-wrap:has(button.popular-countries-toggle[aria-expanded="false"]) .popular-countries-cards:not(.popular-countries-cards--extra) .country-card:nth-child(n+11) { display: none; }
	.ges-hd .ges-hd-dest .popular-countries-wrap button.popular-countries-toggle { position: static; display: flex; margin: 32px auto 0; }
	.ges-hd .ges-hd-plans .ges-hd-glob { grid-template-columns: 1fr; }
	.ges-hd .ges-hd-choose .elementor-element-352bd7c { grid-template-columns: 1fr; }
	.ges-hd .ges-hd-videos .elementor-element-03a871c { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; margin-bottom: 72px; }
	.ges-hd .ges-hd-faq .faq-widget { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 32px; }
	.ges-hd .ges-hd-faq .faq__title,
	.ges-hd .ges-hd-faq .faq__tabs,
	.ges-hd .ges-hd-faq .faq-widget > .faq__panel { grid-column: 1; grid-row: auto; }
	.ges-hd .ges-hd-faq .faq__tabs { position: static; margin-top: 0; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; scrollbar-width: none; }
	.ges-hd .ges-hd-app > .e-con-inner { grid-template-columns: 1fr; padding: 48px 24px 0; }
	.ges-hd .ges-hd-app .ges-hd-app__copy { padding-bottom: 0; --padding-bottom: 0; }
	.ges-hd .ges-hd-app .ges-hd-app__phone { min-height: 0; height: 270px; overflow: hidden; }
}
@media (max-width: 767px) {
	.ges-hd .ges-hd-rev .elementor-element-da3df11 .elementor-heading-title { font-size: 24px; }
	.ges-hd .ges-hd-plans .global-esim-grid,
	.ges-hd .ges-hd-plans #tab-panel-global .voice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ges-hd .ges-hd-hero,
	.ges-hd .ges-hd-hero .responsive-banner { min-height: 520px; }
	.ges-hd .ges-hd-hero .responsive-banner { padding: 48px var(--gs-gutter) 176px; }
	.ges-hd .ges-hd-hero .banner-headline { font-size: var(--gs-fs-md); }
	.ges-hd .ges-hd-hero .banner-subheadline { font-size: var(--gs-fs-sm); }
	.ges-hd .ges-hd-hero .responsive-banner::before { background: rgba(8, 38, 84, .5); }
	.ges-hd .ges-hd-hero .elementor-element-c2fc15c { bottom: 112px; }
	.ges-hd .ges-hd-hero .search_bar input.input_search { height: 58px; line-height: 58px !important; padding-inline-start: 50px !important; background-position-x: 18px !important; }
	.ges-hd .ges-hd-hero .ges-hd-search-go { top: 7px; inset-inline-end: 6px; width: 44px; height: 44px; }
	.ges-hd .ges-hd-trust { justify-content: flex-start; }
	.ges-hd .ges-hd-trust .elementor-widget-button,
	.ges-hd .ges-hd-trust .ges-hd-btn-line .elementor-button { width: 100%; }
	.ges-hd .ges-hd-dest .country-card { padding: 10px 12px; }
	.ges-hd .ges-hd-dest .country-card .country-name { font-size: var(--gs-fs-md); }
	.ges-hd .ges-hd-dest .country-card .country-price { font-size: var(--gs-fs-xs); }
	.ges-hd .ges-hd-dest .country-card .country-price .amount { font-size: 16px; }
	.ges-hd .ges-hd-why .elementor-element-34f1234 { grid-template-columns: 1fr; }
	.ges-hd .ges-hd-why .elementor-element-34f1234 > .elementor-widget-image-box + .elementor-widget-image-box { border-inline-start: 0; padding-top: 48px; border-top: 1px solid var(--gs-line); }
	.ges-hd .ges-hd-plans .tabs-nav { width: 100%; }
	.ges-hd .ges-hd-plans .homepage-tabs .tabs-nav .tab-btn { flex: 1; min-width: 0; }
	.ges-hd .ges-hd-plans .regional-products-grid { grid-template-columns: 1fr; gap: 10px; }
	.ges-hd .ges-hd-plans .regional-image { width: 80px; height: 60px; }
	.ges-hd .ges-hd-vig { height: 190px; }
	.ges-hd .ges-hd-faq .faq__tab { padding: 12px 14px; font-size: var(--gs-fs-sm); }
	.ges-hd .ges-hd-faq .faq__question { font-size: 16px; }
	.ges-hd .ges-hd-plans .little-country-grid { grid-template-columns: 1fr 1fr; }
}
/* small phones: region tiles stay on two text lines */
@media (max-width: 480px) {
	.ges-hd .ges-hd-plans .regional-card { column-gap: 10px; padding: 10px 12px 10px 10px; }
	[dir="rtl"] .ges-hd .ges-hd-plans .regional-card { padding: 10px 10px 10px 12px; }
	.ges-hd .ges-hd-plans .regional-image { width: 64px; height: 48px; border-radius: 8px; }
	.ges-hd .ges-hd-plans .regional-title { font-size: 15px; }
	.ges-hd .ges-hd-plans .regional-card p.countries { font-size: 13px; white-space: nowrap; }
	.ges-hd .ges-hd-plans .regional-card p.price .mobile-hidden { display: none; }
	.ges-hd .ges-hd-plans .regional-card p.price { white-space: nowrap; }
	.ges-hd .ges-hd-plans .regional-card p.price .woocs_price_code { font-size: 16px; }
	.ges-hd .ges-hd-plans .regional-arrow svg.chev { width: 16px; height: 16px; }
	.ges-hd .ges-hd-videos .elementor-element-7db829e { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.ges-hd .ges-hd-sect *,
	.ges-hd .ges-hd-sect *::before,
	.ges-hd .ges-hd-sect *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
