/* TEST-MARKER-001 */
/* ===============================================================
   GlobalVisaShop - CONCEPT LAYER (v1)
   New-concept components: flag/globe toggle, dual-tint video,
   interactive visa finder, odometer, sticky finder, journey line,
   3D tilt, founder section, approval feed, payment badges.
   Loads AFTER globalvisashop.css. Scoped under .gvs-page.
   =============================================================== */

/* ---------- WORLD-SWITCH TINT ---------- */
.gvs-hero-video video { transition: filter 1s ease; }
.gvs-page[data-mode="uae"]    .gvs-hero-video video { filter: saturate(1.05) sepia(.18) hue-rotate(-12deg) brightness(1.02); }
.gvs-page[data-mode="global"] .gvs-hero-video video { filter: saturate(1.1) hue-rotate(8deg) brightness(1.0); }
/* DARK hero overlay: video stays crisp, fades to light page at bottom */
.gvs-page[data-mode="uae"]    .gvs-hero-video::after { background:
  linear-gradient(180deg, rgba(9,16,32,.62) 0%, rgba(9,16,32,.34) 30%, rgba(11,20,38,.40) 56%, rgba(13,24,44,.62) 76%, rgba(246,250,254,.78) 93%, #F6FAFE 100%),
  radial-gradient(ellipse 60% 50% at 78% 50%, rgba(245,166,35,.12) 0%, transparent 55%); }
.gvs-page[data-mode="global"] .gvs-hero-video::after { background:
  linear-gradient(180deg, rgba(8,15,32,.62) 0%, rgba(8,15,32,.34) 30%, rgba(10,20,40,.40) 56%, rgba(12,24,48,.62) 76%, rgba(238,246,254,.78) 93%, #EEF6FE 100%),
  radial-gradient(ellipse 60% 50% at 78% 50%, rgba(14,165,233,.14) 0%, transparent 55%); }
.gvs-page[data-mode="uae"]    .gvs-hero { background: linear-gradient(180deg,#0B1B33 0%,#0E2138 55%,#1a3050 78%,#F6FAFE 100%); }
.gvs-page[data-mode="global"] .gvs-hero { background: linear-gradient(180deg,#0A1A30 0%,#0D2038 55%,#173050 78%,#EEF6FE 100%); }

/* hero text on dark = white (both UAE + Global panels) */
.gvs-hero .gvs-h1 { color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.45); }
.gvs-hero .gvs-sub { color: rgba(255,255,255,.86); }
#hero-global .gvs-h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem); }
#hero-global .gvs-eyebrow, #hero-uae .gvs-eyebrow { margin-left: auto; margin-right: auto; }
#hero-global { text-align: center; }
.gvs-hero .gvs-eyebrow { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); color: #fff; box-shadow: none; }
.gvs-hero .gvs-eyebrow svg { color: #fff; }
.gvs-hero .gvs-gdrfa { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.9); box-shadow: none; }
.gvs-hero .gvs-gdrfa b { color: #fff; }
.gvs-hero::before { background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); }

/* mode panels: full-page swap */
.gvs-mode { display: none; }
.gvs-mode.active { display: block; animation: gvsModeIn .55s var(--gvs-ease) both; }
@keyframes gvsModeIn { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }

/* ---------- PREMIUM POLISH ---------- */
/* breathing space */
.gvs-hero { padding-top: calc(var(--gvs-nav-h) + 70px); }
.gvs-finder-body { padding: 32px 34px; }
.gvs-finder-row { margin-bottom: 26px; }
.gvs-finder-foot { padding: 26px 34px; }
.gvs-section { padding: 110px 0; }
.gvs-h1 { letter-spacing: -.045em; }

/* UAE flag (clean, premium - subtle gloss sweep, no distortion) */
.gvs-flag-wrap { position: relative; width: 26px; height: 18px; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 7px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.25); flex-shrink: 0; }
.gvs-flag-wrap img, .gvs-sw-flag { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 4px; }
.gvs-flag-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.6) 50%, transparent 58%); transform: translateX(-130%); animation: gvsFlagGloss 3.2s ease-in-out infinite; }
@keyframes gvsFlagGloss { 0%,65%{ transform: translateX(-130%);} 85%,100%{ transform: translateX(130%);} }

/* attractive WhatsApp chat button */
.gvs-btn-wa { position: relative; isolation: isolate; overflow: hidden; }
.gvs-btn-wa-anim { animation: gvsWaBreathe 2.6s ease-in-out infinite; }
.gvs-btn-wa-anim::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%); transform:translateX(-130%); animation: gvsBtnShine 3.4s ease-in-out infinite; z-index:1; }
.gvs-btn-wa-anim > * { position: relative; z-index: 2; }
.gvs-btn-wa-anim svg { animation: gvsWaWiggle 2.6s ease-in-out infinite; }
@keyframes gvsWaBreathe { 0%,100%{ box-shadow: 0 8px 22px rgba(37,211,102,.30);} 50%{ box-shadow: 0 12px 30px rgba(37,211,102,.55);} }
@keyframes gvsWaWiggle { 0%,100%{ transform: rotate(0);} 15%{ transform: rotate(-9deg);} 30%{ transform: rotate(9deg);} 45%{ transform: rotate(0);} }

/* nav apply button extra pulse */
.gvs-btn-apply { animation: gvsBtnBreathe 3s ease-in-out infinite; }

/* modern globe */
.gvs-globe { width: 22px; height: 22px; }
.gvs-globe svg { width: 100%; height: 100%; overflow: visible; }
.gvs-globe .gvs-globe-lines { transform-origin: 12px 12px; animation: gvsSpin 7s linear infinite; }
.gvs-sw-btn.active .gvs-globe .gvs-globe-lines { animation-duration: 3s; }
.gvs-globe-dot { animation: gvsGlobeDot 2.4s ease-in-out infinite; }
@keyframes gvsGlobeDot { 0%,100%{opacity:.35} 50%{opacity:1} }

/* premium apply button (shine + breathe) */
.gvs-finder-foot .gvs-btn-primary, .gvs-btn-apply-anim { position: relative; overflow: hidden; isolation: isolate; animation: gvsBtnBreathe 3s ease-in-out infinite; }
.gvs-finder-foot .gvs-btn-primary::before, .gvs-btn-apply-anim::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%); transform:translateX(-130%); animation: gvsBtnShine 3s ease-in-out infinite; z-index:1; }
.gvs-finder-foot .gvs-btn-primary > *, .gvs-btn-apply-anim > * { position: relative; z-index: 2; }
.gvs-finder-foot .gvs-btn-primary svg, .gvs-btn-apply-anim svg { transition: transform .25s; }
.gvs-finder-foot .gvs-btn-primary:hover svg, .gvs-btn-apply-anim:hover svg { transform: translateX(4px); }
@keyframes gvsBtnBreathe { 0%,100%{ box-shadow: 0 8px 22px rgba(249,115,22,.30);} 50%{ box-shadow: 0 12px 32px rgba(249,115,22,.50);} }
@keyframes gvsBtnShine { 0%{ transform: translateX(-130%);} 55%,100%{ transform: translateX(130%);} }

/* premium finder card */
.gvs-finder { border-radius: 28px; box-shadow: 0 30px 70px rgba(16,34,64,.16), 0 8px 24px rgba(16,34,64,.08); border: 1px solid rgba(255,255,255,.8); }
.gvs-finder::before { height: 5px; }
.gvs-finder-foot { background: linear-gradient(180deg,#fff,#F3F8FD); }
.gvs-fprice { font-size: 2.5rem; }

/* clean stepper icons */
.gvs-stepper-info .gvs-mini-ic { width: 34px; height: 34px; border-radius: 10px; display:flex; align-items:center; justify-content:center; background: var(--gvs-sky-soft); color: var(--gvs-sky-dark); flex-shrink:0; }
.gvs-stepper-info .gvs-mini-ic svg { width: 18px; height: 18px; }

/* GDRFA trust line */
.gvs-gdrfa { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--gvs-muted); background:#fff; border:1px solid var(--gvs-border); border-radius:100px; padding:7px 16px; margin-top:16px; box-shadow: var(--gvs-sh-sm); }
.gvs-gdrfa b { color: var(--gvs-ink); }
.gvs-gdrfa svg { color: var(--gvs-green); }

/* ---------- SMART TOOLS (Validity Visualizer + Fly-By) ---------- */
.gvs-tools-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 24px; }
.gvs-tool { background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-lg); padding: 30px; box-shadow: var(--gvs-sh-sm); }
.gvs-tool-head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.gvs-tool-ic { width: 44px; height: 44px; border-radius: 12px; background: var(--gvs-sky-soft); color: var(--gvs-sky-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gvs-tool-title { font-size: 17px; font-weight: 700; color: var(--gvs-ink); }
.gvs-tool-sub { font-size: 12.5px; color: var(--gvs-muted); }

/* Validity Visualizer */
.gvs-vviz-chips { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 26px; }
.gvs-vviz-chip { padding: 7px 14px; font-size: 12.5px; font-weight: 600; border-radius: 100px; border: 1.5px solid var(--gvs-border2); background: #fff; color: var(--gvs-text); cursor: pointer; transition: .2s; }
.gvs-vviz-chip.active { background: var(--gvs-sky); border-color: var(--gvs-sky); color: #fff; }
.gvs-vviz-track { position: relative; height: 8px; background: var(--gvs-bg3); border-radius: 100px; margin: 38px 0 50px; }
.gvs-vviz-fill { position: absolute; top: 0; left: 0; height: 100%; border-radius: 100px; background: linear-gradient(90deg,var(--gvs-sky),var(--gvs-teal)); transition: width .5s var(--gvs-ease); }
.gvs-vviz-node { position: absolute; top: 50%; transform: translate(-50%,-50%); width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--gvs-sky); transition: left .5s var(--gvs-ease); z-index: 2; }
.gvs-vviz-node.start { left: 0; } .gvs-vviz-node.enter { } .gvs-vviz-node.exit { background: var(--gvs-orange); border-color: var(--gvs-orange); }
.gvs-vviz-lbl { position: absolute; transform: translateX(-50%); font-size: 11px; font-weight: 600; color: var(--gvs-ink); white-space: nowrap; transition: left .5s var(--gvs-ease); }
.gvs-vviz-lbl small { display: block; font-weight: 500; color: var(--gvs-muted); font-size: 10px; }
.gvs-vviz-lbl.top { top: -34px; } .gvs-vviz-lbl.bot { top: 18px; }
.gvs-vviz-lbl-start { transform: translateX(0) !important; text-align: left; }
.gvs-vviz-lbl-end { transform: translateX(-100%) !important; text-align: right; }
.gvs-vviz-lbl-end small { display: block; }

/* Fly-By Calculator */
.gvs-flyby-input { width: 100%; padding: 14px 16px; font-size: 15px; border: 1.5px solid var(--gvs-border2); border-radius: 12px; outline: none; color: var(--gvs-ink); font-family: inherit; margin-bottom: 18px; }
.gvs-flyby-input:focus { border-color: var(--gvs-sky); box-shadow: 0 0 0 4px var(--gvs-sky-soft); }
.gvs-flyby-result { border-radius: 14px; padding: 18px; font-size: 14px; line-height: 1.55; display: none; }
.gvs-flyby-result.show { display: block; animation: gvsFadeUp .4s ease; }
.gvs-flyby-result.ok { background: #E7F8EE; border: 1px solid #BBE9CC; color: #15803D; }
.gvs-flyby-result.exp { background: #FFF6EE; border: 1px solid #FBD9BC; color: var(--gvs-orange-dk); }
.gvs-flyby-result.urgent { background: #FEECEC; border: 1px solid #F8C9C9; color: #DC2626; }
.gvs-flyby-result b { display:block; font-size:15px; margin-bottom:4px; }
.gvs-flyby-result a { color: inherit; font-weight: 700; text-decoration: underline; }
@media (max-width: 900px) { .gvs-tools-grid { grid-template-columns: 1fr; } }

/* ---------- TOTAL COST CALCULATOR ---------- */
.gvs-calc { max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-xl); box-shadow: var(--gvs-sh-lg); overflow: hidden; }
.gvs-calc-head { background: linear-gradient(135deg,var(--gvs-sky),var(--gvs-sky-dark)); color: #fff; padding: 22px 28px; }
.gvs-calc-head .t { font-size: 17px; font-weight: 700; }
.gvs-calc-head .s { font-size: 12.5px; opacity: .85; }
.gvs-calc-body { padding: 14px 28px 24px; }
.gvs-calc-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--gvs-border); }
.gvs-calc-row:last-child { border-bottom: none; }
.gvs-calc-check { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.gvs-calc-box { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--gvs-border2); display: flex; align-items: center; justify-content: center; transition: .2s; flex-shrink: 0; color: #fff; }
.gvs-calc-check.on .gvs-calc-box { background: var(--gvs-sky); border-color: var(--gvs-sky); }
.gvs-calc-check .nm { font-size: 14.5px; font-weight: 600; color: var(--gvs-ink); }
.gvs-calc-check .ds { font-size: 12px; color: var(--gvs-muted); }
.gvs-calc-price { font-size: 14px; font-weight: 700; color: var(--gvs-ink); white-space: nowrap; }
.gvs-calc-total { display: flex; align-items: center; justify-content: space-between; padding: 20px 28px; background: var(--gvs-bg2); border-top: 1px solid var(--gvs-border); }
.gvs-calc-total .lbl { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: var(--gvs-dim); }
.gvs-calc-total .amt { font-size: 1.9rem; font-weight: 700; color: var(--gvs-ink); letter-spacing: -.03em; }
.gvs-calc-sel { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 6px; }
.gvs-calc-chip { padding: 7px 13px; font-size: 12.5px; font-weight: 600; border-radius: 100px; border: 1.5px solid var(--gvs-border2); background: #fff; color: var(--gvs-text); cursor: pointer; }
.gvs-calc-chip.active { background: var(--gvs-sky); border-color: var(--gvs-sky); color: #fff; }

/* ---------- WHERE CAN I GO EXPLORER ---------- */
.gvs-exp-tabs { display: flex; gap: 8px; justify-content: center; margin-bottom: 28px; flex-wrap: wrap; }
.gvs-exp-tab { padding: 9px 20px; font-size: 13.5px; font-weight: 600; border-radius: 100px; border: 1.5px solid var(--gvs-border2); background: #fff; color: var(--gvs-text); cursor: pointer; transition: .2s; font-family: inherit; }
.gvs-exp-tab.active { background: var(--gvs-sky); border-color: var(--gvs-sky); color: #fff; box-shadow: var(--gvs-sh-sky); }
.gvs-exp-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.gvs-exp-card { display: flex; align-items: center; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-md); box-shadow: var(--gvs-sh-sm); transition: .2s; }
.gvs-exp-card:hover { transform: translateY(-3px); box-shadow: var(--gvs-sh-md); }
.gvs-exp-card img { width: 30px; height: 21px; border-radius: 3px; object-fit: cover; box-shadow: 0 1px 3px rgba(0,0,0,.15); flex-shrink: 0; }
.gvs-exp-card .nm { font-size: 13px; font-weight: 600; color: var(--gvs-ink); }
@media (max-width: 900px) { .gvs-exp-grid { grid-template-columns: repeat(2,1fr); } }

/* ---------- RATING WIDGET ---------- */
.gvs-rating { display: inline-flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--gvs-border); border-radius: 100px; padding: 12px 24px; box-shadow: var(--gvs-sh-md); flex-wrap: wrap; justify-content: center; }
.gvs-rating-item { display: flex; align-items: center; gap: 8px; }
.gvs-rating-item:not(:last-child) { border-right: 1px solid var(--gvs-border); padding-right: 16px; }
.gvs-rating-score { font-size: 18px; font-weight: 800; color: var(--gvs-ink); }
.gvs-rating-stars { display: flex; gap: 1px; }
.gvs-rating-stars svg { color: var(--gvs-gold); }
.gvs-rating-txt { font-size: 12.5px; color: var(--gvs-muted); font-weight: 600; }

/* ---------- EMIRATES MAP (image cards) ---------- */
.gvs-emirates { display: grid; grid-template-columns: repeat(7,1fr); gap: 14px; }
.gvs-emirate { position: relative; border-radius: var(--gvs-r-md); overflow: hidden; aspect-ratio: 3/4; transition: transform .3s var(--gvs-ease), box-shadow .3s; box-shadow: var(--gvs-sh-sm); cursor: pointer; background: linear-gradient(135deg, var(--gvs-sky), var(--gvs-teal)); }
.gvs-emirate:hover { transform: translateY(-5px); box-shadow: var(--gvs-sh-lg); }
.gvs-emirate-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform .5s var(--gvs-ease); }
.gvs-emirate:hover .gvs-emirate-img { transform: scale(1.08); }
.gvs-emirate::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8,20,40,.05) 0%, rgba(8,20,40,.35) 55%, rgba(8,20,40,.85) 100%); }
.gvs-emirate-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 12px; text-align: center; }
.gvs-emirate-name { font-size: 13px; font-weight: 700; color: #fff; line-height: 1.2; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.gvs-emirate-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 9.5px; color: #fff; font-weight: 700; margin-top: 5px; background: rgba(34,197,94,.9); padding: 2px 9px; border-radius: 100px; }
@media (max-width: 900px) { .gvs-emirates { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 480px) { .gvs-emirates { grid-template-columns: repeat(2,1fr); } }

/* ---------- ELIGIBILITY QUIZ ---------- */
.gvs-quiz { max-width: 680px; margin: 0 auto; background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-xl); box-shadow: var(--gvs-sh-lg); overflow: hidden; }
.gvs-quiz-bar { height: 5px; background: var(--gvs-bg3); }
.gvs-quiz-bar-fill { height: 100%; background: linear-gradient(90deg,var(--gvs-sky),var(--gvs-teal)); width: 33%; transition: width .4s var(--gvs-ease); }
.gvs-quiz-body { padding: 36px; }
.gvs-quiz-step { display: none; animation: gvsFadeUp .4s ease; }
.gvs-quiz-step.active { display: block; }
.gvs-quiz-stepno { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--gvs-sky-dark); margin-bottom: 8px; }
.gvs-quiz-q { font-size: 22px; font-weight: 700; color: var(--gvs-ink); margin-bottom: 22px; letter-spacing: -.02em; }
.gvs-quiz-opts { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.gvs-quiz-opt { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1.5px solid var(--gvs-border2); border-radius: 14px; background: #fff; cursor: pointer; transition: .2s; font-size: 14.5px; font-weight: 600; color: var(--gvs-ink); text-align: left; font-family: inherit; }
.gvs-quiz-opt:hover { border-color: var(--gvs-sky); background: var(--gvs-sky-soft); }
.gvs-quiz-opt .em { display:flex; align-items:center; justify-content:center; width:38px; height:38px; flex-shrink:0; border-radius:10px; background:var(--gvs-bg3); transition:transform .25s cubic-bezier(.34,1.56,.64,1), background .2s; }
.gvs-quiz-opt:hover .em { transform:scale(1.15) rotate(-4deg); background:var(--gvs-sky-soft); }
.gvs-quiz-opt .em img { width:28px; height:21px; border-radius:3px; box-shadow:0 2px 8px rgba(0,0,0,.22); display:block; }
.gvs-quiz-opt .em svg { width:20px; height:20px; display:block; }
.gvs-quiz-opt .em.icon-tourism { color:#F97316; background:rgba(249,115,22,.1); }
.gvs-quiz-opt .em.icon-business { color:#0EA5E9; background:rgba(14,165,233,.1); }
.gvs-quiz-opt .em.icon-family { color:#8B5CF6; background:rgba(139,92,246,.1); }
.gvs-quiz-opt .em.icon-study { color:#10B981; background:rgba(16,185,129,.1); }
.gvs-quiz-opt .em.icon-valid { color:#22C55E; background:rgba(34,197,94,.1); }
.gvs-quiz-opt .em.icon-expiring { color:#F59E0B; background:rgba(245,158,11,.1); }
.gvs-quiz-opt .em.icon-unsure { color:#6366F1; background:rgba(99,102,241,.1); }
.gvs-quiz-opt .em.icon-globe { color:#0EA5E9; background:rgba(14,165,233,.1); }
/* skyline divider */
.gvs-skyline-divider { width:100%; line-height:0; overflow:hidden; padding:8px 0; opacity:.22; pointer-events:none; }
.gvs-skyline-divider img { width:100%; height:auto; display:block; filter:saturate(0); }
.gvs-quiz-result { display: none; text-align: center; padding: 12px 0; }
.gvs-quiz-result.show { display: block; animation: gvsFadeUp .5s ease; }
.gvs-quiz-result-ic { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; background: linear-gradient(135deg,var(--gvs-sky),var(--gvs-teal)); display: flex; align-items: center; justify-content: center; color: #fff; }
@media (max-width: 600px) { .gvs-quiz-opts { grid-template-columns: 1fr; } .gvs-quiz-body { padding: 26px 20px; } }

/* global 4-step grid */
.gvs-steps-4 { grid-template-columns: repeat(4,1fr); }
.gvs-steps-4::before { display: none; }
@media (max-width: 1024px) { .gvs-steps-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .gvs-steps-4 { grid-template-columns: 1fr; } }

/* ---------- TRANSPARENT NAV OVER DARK HERO ---------- */
.gvs-nav { background: linear-gradient(180deg, rgba(8,14,28,.5) 0%, rgba(8,14,28,.15) 55%, transparent 100%); }
.gvs-logo-dark { display: none; }
.gvs-nav.scrolled .gvs-logo-light { display: none; }
.gvs-nav.scrolled .gvs-logo-dark { display: block; }
.gvs-nav:not(.scrolled) .gvs-nav-links a,
.gvs-nav:not(.scrolled) .gvs-nav-drop > a { color: rgba(255,255,255,.92); }
.gvs-nav:not(.scrolled) .gvs-nav-links a:hover,
.gvs-nav:not(.scrolled) .gvs-nav-links a.active { color: #fff; background: rgba(255,255,255,.15); }
/* ── Dropdown always dark (fix white-on-white bug) ── */
.gvs-nav-drop-menu a { color: var(--gvs-ink) !important; }
.gvs-nav-drop-menu a:hover { color: var(--gvs-sky-dark) !important; }
/* ── Reduce section padding (was 110px, too much) ── */
.gvs-section { padding: 72px 0 !important; }
.gvs-section-sm { padding: 36px 0; }
.gvs-nav:not(.scrolled) .gvs-btn-login { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.gvs-nav:not(.scrolled) .gvs-btn-login:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.7); }
.gvs-nav:not(.scrolled) .gvs-nav-hamburger span { background: #fff; }
.gvs-nav:not(.scrolled) .gvs-nav-wa { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.25); color: #fff; }
.gvs-nav:not(.scrolled) .gvs-nav-wa:hover { background: rgba(255,255,255,.24); }

/* ---------- PREMIUM FOOTER ---------- */
.gvs-footer { padding-top: 0; }
.gvs-footer-cta { background: linear-gradient(120deg, var(--gvs-sky), var(--gvs-sky-dark)); position: relative; overflow: hidden; min-height: 160px; }
.gvs-footer-cta::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 80% 30%, rgba(255,255,255,.14) 0%, transparent 40%), radial-gradient(circle at 15% 80%, rgba(15,181,192,.4) 0%, transparent 45%); }
.gvs-footer-cta-skyline { position:absolute; bottom:0; left:0; right:0; width:100%; pointer-events:none; line-height:0; opacity:.15; z-index:0; }
.gvs-footer-cta-skyline img { width:100%; height:auto; display:block; filter:brightness(0) invert(1); }
.gvs-footer-cta-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 40px 0; flex-wrap: wrap; }
.gvs-footer-cta-title { font-size: clamp(1.4rem,2.6vw,2rem); font-weight: 700; color: #fff; letter-spacing: -.02em; }
.gvs-footer-cta-sub { font-size: 15px; color: rgba(255,255,255,.85); margin-top: 4px; }
.gvs-footer-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.gvs-footer-cta .gvs-btn-primary { background: #fff; color: var(--gvs-sky-dark); }
.gvs-footer-cta .gvs-btn-primary:hover { background: #fff; color: var(--gvs-ink); }
.gvs-footer .gvs-container { padding-top: 60px; }
/* MISSING grid rules (were dropped) */
.gvs-footer-grid { display: grid; grid-template-columns: 1.9fr 1fr 1fr 1.1fr; gap: 44px; padding-bottom: 40px; }
.gvs-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.1); }
.gvs-footer-copy { font-size: 13px; color: #7E92B2; }
.gvs-footer-legal { display: flex; gap: 22px; }
.gvs-footer-legal a { font-size: 13px; color: #7E92B2; text-decoration: none; transition: color .2s; }
.gvs-footer-legal a:hover { color: #C9D6E8; }
@media (max-width: 1024px) { .gvs-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 600px) { .gvs-footer-grid { grid-template-columns: 1fr; gap: 30px; } .gvs-footer-bottom { flex-direction: column; text-align: center; } }
.gvs-footer-desc { margin-bottom: 18px !important; }
.gvs-footer-contact { display: flex; flex-direction: column; gap: 11px; margin-top: 0; margin-bottom: 20px; }
.gvs-footer-socials { margin-top: 4px; }
.gvs-footer-contact a, .gvs-footer-contact span { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #AFC0D8; text-decoration: none; transition: color .2s; }
.gvs-footer-contact a:hover { color: #fff; }
.gvs-footer-contact svg { color: var(--gvs-sky); flex-shrink: 0; }
.gvs-footer-mid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: end; padding: 36px 0; border-top: 1px solid rgba(255,255,255,.1); margin-top: 20px; }
.gvs-footer-news-form { display: flex; gap: 10px; max-width: 440px; }
.gvs-footer-news-form input { flex: 1; padding: 13px 18px; border-radius: 100px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.07); color: #fff; font-size: 14px; outline: none; font-family: inherit; }
.gvs-footer-news-form input::placeholder { color: #7E92B2; }
.gvs-footer-news-form input:focus { border-color: var(--gvs-sky); background: rgba(255,255,255,.12); }
.gvs-footer-pay { text-align: right; }
.gvs-footer-pay-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.gvs-footer-pay-row span { padding: 7px 14px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; font-size: 12.5px; font-weight: 700; color: #C9D6E8; }
@media (max-width: 768px) {
  .gvs-footer-cta-inner { flex-direction: column; text-align: center; }
  .gvs-footer-cta-btns { justify-content: center; }
  .gvs-footer-mid { grid-template-columns: 1fr; gap: 28px; }
  .gvs-footer-pay { text-align: left; }
  .gvs-footer-pay-row { justify-content: flex-start; }
  .gvs-footer-news-form { max-width: 100%; }
}

/* ---------- TWO-COLUMN HERO ---------- */
.gvs-hero-2col { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 50px; align-items: center; text-align: left; max-width: 1160px; margin: 0 auto; }
.gvs-hero-left .gvs-h1 { font-size: clamp(2.3rem, 4.2vw, 3.7rem); line-height: 1.04; margin-bottom: 16px; }
.gvs-hero-left .gvs-sub { margin: 0 0 8px; max-width: 460px; }
.gvs-hero-left .gvs-eyebrow { margin-bottom: 18px; }
.gvs-hero-right { position: relative; }
.gvs-hero-right .gvs-finder { margin: 0; }
#hero-global { max-width: 900px; margin: 0 auto; }
@media (max-width: 980px) {
  .gvs-hero-2col { grid-template-columns: 1fr; gap: 26px; text-align: center; }
  .gvs-hero-left .gvs-sub { margin-left: auto; margin-right: auto; }
  .gvs-hero-left .gvs-eyebrow, .gvs-hero-left .gvs-gdrfa { margin-left: auto; margin-right: auto; }
}

/* ---------- TOGGLE (flag + globe) ---------- */
.gvs-switch { position: relative; display: inline-flex; background: #fff; border: 1px solid var(--gvs-border2); border-radius: 100px; padding: 5px; gap: 0; margin-bottom: 38px; box-shadow: var(--gvs-sh-md); }
.gvs-switch-ind { position: absolute; top: 5px; bottom: 5px; left: 5px; border-radius: 100px; background: linear-gradient(135deg, var(--gvs-sky), var(--gvs-sky-dark)); box-shadow: var(--gvs-sh-sky); transition: transform .5s cubic-bezier(.65,.05,.36,1), width .5s cubic-bezier(.65,.05,.36,1), background .5s ease; z-index: 0; }
.gvs-page[data-mode="uae"]    .gvs-switch-ind { background: linear-gradient(135deg,#F5A623,#EA8004); box-shadow: 0 8px 22px rgba(245,166,35,.32); }
.gvs-page[data-mode="global"] .gvs-switch-ind { background: linear-gradient(135deg, var(--gvs-sky), var(--gvs-sky-dark)); box-shadow: var(--gvs-sh-sky); }
.gvs-sw-btn { position: relative; z-index: 1; padding: 12px 30px; font-size: 14.5px; font-weight: 700; color: var(--gvs-muted); border: none; background: none; cursor: pointer; display: flex; align-items: center; gap: 9px; white-space: nowrap; font-family: inherit; transition: color .35s; border-radius: 100px; }
.gvs-sw-btn.active { color: #fff; }
.gvs-sw-flag { width: 22px; height: 16px; border-radius: 3px; object-fit: cover; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
/* Animated globe */
.gvs-globe { width: 20px; height: 20px; position: relative; display: inline-block; }
.gvs-globe svg { width: 100%; height: 100%; }
.gvs-globe .gvs-globe-lines { transform-origin: center; animation: gvsSpin 8s linear infinite; }
.gvs-sw-btn.active .gvs-globe .gvs-globe-lines { animation-duration: 3.5s; }
@keyframes gvsSpin { to { transform: rotate(360deg); } }

/* ---------- VISA FINDER ---------- */
.gvs-finder { background: #fff; border: 1px solid var(--gvs-border); border-radius: 26px; box-shadow: var(--gvs-sh-lg); max-width: 720px; margin: 0 auto; overflow: hidden; position: relative; }
.gvs-finder::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--gvs-sky), var(--gvs-teal)); z-index: 2; }
.gvs-finder-head { display: flex; }
.gvs-finder-tab { flex: 1; padding: 14px; font-size: 13px; font-weight: 700; color: var(--gvs-muted); background: var(--gvs-bg2); border: none; border-bottom: 2px solid transparent; cursor: pointer; transition: .2s; font-family: inherit; }
.gvs-finder-tab.active { color: var(--gvs-sky-dark); background: #fff; border-bottom-color: var(--gvs-sky); }
.gvs-finder-body { padding: 26px 28px; }
.gvs-finder-row { margin-bottom: 22px; text-align: left; }
.gvs-finder-row:last-child { margin-bottom: 0; }
.gvs-finder-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--gvs-dim); margin-bottom: 10px; display: block; }

/* duration chips */
.gvs-fchips { display: flex; flex-wrap: wrap; gap: 8px; }
.gvs-fchip { padding: 9px 16px; font-size: 13.5px; font-weight: 600; color: var(--gvs-text); background: #fff; border: 1.5px solid var(--gvs-border2); border-radius: 100px; cursor: pointer; transition: .2s; display: flex; align-items: center; gap: 6px; font-family: inherit; }
.gvs-fchip:hover { border-color: var(--gvs-sky); color: var(--gvs-sky-dark); }
.gvs-fchip.active { border-color: var(--gvs-sky); background: var(--gvs-sky); color: #fff; box-shadow: var(--gvs-sh-sky); }
.gvs-fchip-tag { font-size: 8.5px; font-weight: 700; background: var(--gvs-orange); color: #fff; padding: 1px 5px; border-radius: 100px; }
.gvs-fchip.active .gvs-fchip-tag { background: #fff; color: var(--gvs-orange); }

/* steppers */
.gvs-steppers { display: flex; gap: 24px; flex-wrap: wrap; }
.gvs-stepper { display: flex; align-items: center; gap: 12px; }
.gvs-stepper-info { display: flex; align-items: center; gap: 8px; }
.gvs-stepper-info img { width: 22px; height: 22px; }
.gvs-stepper-info .t { font-size: 13.5px; font-weight: 600; color: var(--gvs-ink); }
.gvs-stepper-info .s { font-size: 11px; color: var(--gvs-muted); }
.gvs-step-btns { display: flex; align-items: center; gap: 10px; }
.gvs-step-btn { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--gvs-border2); background: #fff; color: var(--gvs-ink); font-size: 18px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: .15s; line-height: 1; }
.gvs-step-btn:hover { border-color: var(--gvs-sky); color: var(--gvs-sky-dark); background: var(--gvs-sky-soft); }
.gvs-step-btn:active { transform: scale(.9); }
.gvs-step-val { min-width: 22px; text-align: center; font-size: 16px; font-weight: 700; color: var(--gvs-ink); }

/* express */
.gvs-fexpress { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; background: var(--gvs-bg2); border: 1px solid var(--gvs-border); border-radius: 14px; cursor: pointer; transition: .2s; }
.gvs-fexpress:hover { border-color: var(--gvs-orange); }
.gvs-fexpress.on { background: #FFF6EE; border-color: var(--gvs-orange); }
.gvs-fexpress .gvs-toggle-track { width: 44px; height: 24px; background: var(--gvs-border2); border-radius: 100px; position: relative; transition: background .25s; flex-shrink: 0; }
.gvs-fexpress .gvs-toggle-thumb { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; transition: transform .25s cubic-bezier(.34,1.56,.64,1); box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.gvs-fexpress.on .gvs-toggle-track { background: var(--gvs-orange); }
.gvs-fexpress.on .gvs-toggle-thumb { transform: translateX(20px); }
.gvs-fexpress-l { display: flex; align-items: center; gap: 10px; }
.gvs-fexpress-l .ic { width: 30px; height: 30px; border-radius: 8px; background: #FFE9D6; display: flex; align-items: center; justify-content: center; color: var(--gvs-orange); }
.gvs-fexpress-t { font-size: 13.5px; font-weight: 700; color: var(--gvs-ink); }
.gvs-fexpress-s { font-size: 11px; color: var(--gvs-muted); }
.gvs-fexpress-r { display: flex; align-items: center; gap: 10px; }
.gvs-fexpress-add { font-size: 12px; font-weight: 700; color: var(--gvs-orange); }

/* finder footer: price + cta */
.gvs-finder-foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; background: linear-gradient(180deg, #fff, var(--gvs-bg2)); border-top: 1px solid var(--gvs-border); flex-wrap: wrap; }
.gvs-fprice-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--gvs-dim); margin-bottom: 2px; }
.gvs-fprice { font-size: 2.2rem; font-weight: 700; letter-spacing: -.04em; color: var(--gvs-ink); line-height: 1; font-variant-numeric: tabular-nums; }
.gvs-fprice .cur { font-size: 1rem; font-weight: 600; color: var(--gvs-muted); margin-right: 4px; vertical-align: super; }
.gvs-fprice-was { font-size: 14px; color: var(--gvs-dim); text-decoration: line-through; margin-left: 8px; }
.gvs-fprice-meta { font-size: 11.5px; color: var(--gvs-muted); margin-top: 4px; }
/* express lightning sweep */
.gvs-finder-foot.flash::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(249,115,22,.18) 50%, transparent 70%); transform: translateX(-100%); animation: gvsSweep .7s ease; pointer-events: none; }
.gvs-finder-foot { position: relative; overflow: hidden; }
@keyframes gvsSweep { to { transform: translateX(100%); } }

/* country finder (global) */
.gvs-fcountry-search { position: relative; }
.gvs-fcountry-search input { width: 100%; padding: 14px 18px 14px 46px; font-size: 15px; color: var(--gvs-ink); background: #fff; border: 1.5px solid var(--gvs-border2); border-radius: 14px; outline: none; transition: .2s; font-family: inherit; }
.gvs-fcountry-search input:focus { border-color: var(--gvs-sky); box-shadow: 0 0 0 4px var(--gvs-sky-soft); }
.gvs-fcountry-search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--gvs-muted); }
.gvs-fcountry-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 14px; }
.gvs-fcountry-chip { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1.5px solid var(--gvs-border2); border-radius: 10px; cursor: pointer; transition: .18s; font-size: 12.5px; font-weight: 600; color: var(--gvs-text); background: #fff; text-decoration: none; }
.gvs-fcountry-chip:hover { border-color: var(--gvs-sky); transform: translateY(-2px); box-shadow: var(--gvs-sh-sm); }
.gvs-fcountry-chip img { width: 18px; height: 13px; border-radius: 2px; object-fit: cover; }

/* ---------- STICKY MINI FINDER ---------- */
.gvs-sticky-finder { position: fixed; top: -80px; left: 0; right: 0; z-index: 990; background: rgba(255,255,255,.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--gvs-border); box-shadow: 0 4px 20px rgba(16,34,64,.08); transition: top .4s var(--gvs-ease); }
.gvs-sticky-finder.show { top: 0; }
.gvs-sticky-inner { max-width: 1280px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gvs-sticky-info { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.gvs-sticky-info b { color: var(--gvs-ink); }
.gvs-sticky-price { font-size: 1.3rem; font-weight: 700; color: var(--gvs-ink); letter-spacing: -.02em; }

/* ---------- JOURNEY LINE (how it works) ---------- */
.gvs-journey { position: relative; }
.gvs-journey-svg { position: absolute; top: 40px; left: 0; right: 0; width: 100%; height: 60px; pointer-events: none; z-index: 0; }
.gvs-journey-path { fill: none; stroke: var(--gvs-border2); stroke-width: 2; stroke-dasharray: 6 6; }
.gvs-journey-progress { fill: none; stroke: url(#gvsJourneyGrad); stroke-width: 2.5; stroke-linecap: round; }
.gvs-journey-plane { fill: var(--gvs-sky-dark); }

/* ---------- 3D TILT ---------- */
.gvs-tilt { transform-style: preserve-3d; transition: transform .25s ease; will-change: transform; }

/* ---------- COUNT-UP STATS ---------- */
.gvs-stat-num { font-variant-numeric: tabular-nums; }

/* ---------- PAYMENT BADGES ---------- */
.gvs-pay-row { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.gvs-pay-badge { height: 30px; padding: 7px 14px; background: #fff; border: 1px solid var(--gvs-border); border-radius: 8px; display: flex; align-items: center; font-size: 13px; font-weight: 700; color: var(--gvs-muted); box-shadow: var(--gvs-sh-sm); }
.gvs-pay-badge.tabby { color: #3BBCA4; }

/* ---------- LIVE APPROVAL FEED ---------- */
.gvs-feed { position: fixed; bottom: 24px; left: 24px; z-index: 480; max-width: 320px; }
.gvs-feed-card { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--gvs-border); border-radius: 14px; padding: 12px 16px; box-shadow: var(--gvs-sh-lg); transform: translateX(-120%); opacity: 0; transition: transform .5s var(--gvs-ease), opacity .5s; }
.gvs-feed-card.show { transform: translateX(0); opacity: 1; }
.gvs-feed-av { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--gvs-green), var(--gvs-teal)); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; flex-shrink: 0; }
.gvs-feed-txt { font-size: 12.5px; color: var(--gvs-text); line-height: 1.35; }
.gvs-feed-txt b { color: var(--gvs-ink); }
.gvs-feed-time { font-size: 11px; color: var(--gvs-green); font-weight: 600; }

/* ---------- FOUNDER SECTION ---------- */
.gvs-founder { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: center; background: linear-gradient(120deg, var(--gvs-sky-soft) 0%, #fff 65%); border: 1px solid var(--gvs-border2); border-radius: var(--gvs-r-xl); padding: 48px; box-shadow: var(--gvs-sh-md); overflow: hidden; }
.gvs-founder-name { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 700; color: var(--gvs-ink); letter-spacing: -.02em; }
.gvs-founder-role { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--gvs-sky-dark); margin: 4px 0 16px; }
.gvs-founder-creds { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.gvs-founder-cred { font-size: 12px; font-weight: 600; color: var(--gvs-text); background: #fff; border: 1px solid var(--gvs-border2); border-radius: 100px; padding: 5px 14px; }
.gvs-founder-bio { font-size: 14.5px; color: var(--gvs-muted); line-height: 1.75; margin-bottom: 14px; }
.gvs-founder-links { display: flex; gap: 12px; margin-top: 20px; }
.gvs-founder-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--gvs-sky-dark); text-decoration: none; padding: 9px 18px; border: 1px solid var(--gvs-border2); border-radius: 100px; transition: .2s; background: #fff; }
.gvs-founder-link:hover { border-color: var(--gvs-sky); background: var(--gvs-sky-soft); }
.gvs-founder-photo { position: relative; align-self: end; }
.gvs-founder-photo img { width: 100%; max-width: 360px; height: auto; display: block; margin-left: auto; filter: drop-shadow(0 20px 40px rgba(16,34,64,.18)); }
.gvs-founder-tag { position: absolute; bottom: 24px; left: 0; background: #fff; border-radius: 14px; padding: 12px 18px; box-shadow: var(--gvs-sh-lg); display: flex; align-items: center; gap: 12px; }
.gvs-founder-tag .ic { width: 40px; height: 40px; border-radius: 10px; background: var(--gvs-sky); display: flex; align-items: center; justify-content: center; color: #fff; }
.gvs-founder-tag .nm { font-size: 14px; font-weight: 700; color: var(--gvs-ink); }
.gvs-founder-tag .rl { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--gvs-muted); }

/* ---------- APPROVED STAMP ---------- */
.gvs-stamp { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 18px; border: 3px solid var(--gvs-green); color: var(--gvs-green); border-radius: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; font-size: 14px; transform: rotate(-8deg) scale(0); opacity: 0; }
.gvs-stamp.hit { animation: gvsStamp .5s cubic-bezier(.2,1.4,.4,1) forwards; }
@keyframes gvsStamp { 0%{transform:rotate(-8deg) scale(2.2);opacity:0} 60%{transform:rotate(-8deg) scale(.92);opacity:1} 100%{transform:rotate(-8deg) scale(1);opacity:1} }

/* ---------- YOUTUBE / VIDEO CARDS ---------- */
.gvs-vid-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.gvs-vid-card { position: relative; border-radius: var(--gvs-r-lg); overflow: hidden; aspect-ratio: 16/9; box-shadow: var(--gvs-sh-md); cursor: pointer; background: #000; }
.gvs-vid-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gvs-vid-card:hover img { transform: scale(1.06); }
.gvs-vid-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.gvs-vid-play span { width: 60px; height: 60px; border-radius: 50%; background: rgba(255,255,255,.92); display: flex; align-items: center; justify-content: center; color: var(--gvs-orange); box-shadow: var(--gvs-sh-md); transition: transform .2s; }
.gvs-vid-card:hover .gvs-vid-play span { transform: scale(1.12); }

/* ---------- COMPARISON TABLE ---------- */
.gvs-compare { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-lg); overflow: hidden; box-shadow: var(--gvs-sh-sm); }
.gvs-compare th, .gvs-compare td { padding: 16px 20px; text-align: center; font-size: 14px; border-bottom: 1px solid var(--gvs-border); }
.gvs-compare th { font-weight: 700; color: var(--gvs-ink); background: var(--gvs-bg2); }
.gvs-compare th.us { background: var(--gvs-sky); color: #fff; }
.gvs-compare td:first-child, .gvs-compare th:first-child { text-align: left; font-weight: 600; color: var(--gvs-text); }
.gvs-compare td.us { background: var(--gvs-sky-soft); font-weight: 700; color: var(--gvs-sky-dark); }
.gvs-compare .yes { color: var(--gvs-green); }
.gvs-compare .no { color: #CBD5E1; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .gvs-founder { grid-template-columns: 1fr; gap: 28px; padding: 32px 24px; text-align: center; }
  .gvs-founder-photo img { margin: 0 auto; }
  .gvs-founder-tag { position: static; margin: 16px auto 0; display: inline-flex; }
  .gvs-founder-creds, .gvs-founder-links { justify-content: center; }
  .gvs-vid-grid { grid-template-columns: 1fr; }
  .gvs-fcountry-grid { grid-template-columns: repeat(2,1fr); }
  .gvs-combo-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
  .gvs-finder-foot { flex-direction: column; align-items: stretch; text-align: center; }
  .gvs-steppers { justify-content: center; }
  .gvs-sticky-info .hide-sm { display: none; }
  .gvs-feed { left: 12px; right: 12px; max-width: none; }
}

/* ---------- GOV / DTCM TRUST LOGOS ---------- */
.gvs-gov-logos { background: #F8FAFC; border-top: 1px solid var(--gvs-border); border-bottom: 1px solid var(--gvs-border); padding: 14px 0; }
.gvs-gov-inner { display: flex; align-items: center; justify-content: center; gap: 36px; flex-wrap: wrap; }
.gvs-gov-label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.4px; color: var(--gvs-dim); white-space: nowrap; }
.gvs-gov-inner img { height: 30px; width: auto; object-fit: contain; opacity: .6; filter: grayscale(1); transition: opacity .25s, filter .25s; }
.gvs-gov-inner img:hover { opacity: .9; filter: grayscale(0); }

/* ---------- PROMO CODE ---------- */
.gvs-promo-row { margin-bottom: 0 !important; }
.gvs-promo-wrap { display: flex; gap: 8px; }
.gvs-promo-input { flex: 1; padding: 10px 14px; border: 1.5px solid var(--gvs-border2); border-radius: 10px; font-size: 14px; font-family: inherit; color: var(--gvs-ink); outline: none; background: #fff; transition: border .2s, box-shadow .2s; letter-spacing: 1px; text-transform: uppercase; }
.gvs-promo-input::placeholder { text-transform: none; letter-spacing: 0; }
.gvs-promo-input:focus { border-color: var(--gvs-sky); box-shadow: 0 0 0 3px var(--gvs-sky-soft); }
.gvs-promo-btn { padding: 10px 20px; background: var(--gvs-ink); color: #fff; border-radius: 10px; border: none; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s; font-family: inherit; white-space: nowrap; }
.gvs-promo-btn:hover { background: var(--gvs-sky-dark); }
.gvs-promo-msg { font-size: 12px; margin-top: 6px; min-height: 16px; font-weight: 600; }
.gvs-promo-msg.ok { color: var(--gvs-green); }
.gvs-promo-msg.err { color: #DC2626; }

/* ---------- URGENCY COUNTER ---------- */
.gvs-urgency { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: var(--gvs-muted); margin-top: 5px; }
.gvs-urgency-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gvs-green); animation: urgPulse 2s ease-in-out infinite; flex-shrink: 0; }
@keyframes urgPulse { 0%,100%{ box-shadow: 0 0 0 0 rgba(34,197,94,.5); } 50%{ box-shadow: 0 0 0 6px rgba(34,197,94,0); } }

/* ---------- REVIEWS GRID (shared UAE + Global) ---------- */
.gvs-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.gvs-tcard { background: #fff; border: 1px solid var(--gvs-border); border-radius: var(--gvs-r-lg); padding: 26px; box-shadow: var(--gvs-sh-sm); transition: transform .3s var(--gvs-ease), box-shadow .3s; }
.gvs-tcard:hover { transform: translateY(-5px); box-shadow: var(--gvs-sh-md); }
.gvs-tcard-stars { display: flex; gap: 2px; margin-bottom: 12px; color: var(--gvs-gold); }
.gvs-tcard-quote { font-size: 14px; color: var(--gvs-text); line-height: 1.65; margin-bottom: 18px; font-style: italic; }
.gvs-tcard-author { display: flex; align-items: center; gap: 12px; }
.gvs-tcard-avatar { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, var(--gvs-sky), var(--gvs-teal)); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; color: #fff; flex-shrink: 0; }
.gvs-tcard-name { font-size: 14px; font-weight: 700; color: var(--gvs-ink); }
.gvs-tcard-meta { font-size: 12px; color: var(--gvs-muted); margin-top: 2px; }
@media (max-width: 900px) { .gvs-reviews-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .gvs-reviews-grid { grid-template-columns: 1fr; } }

/* ══ EXIT-INTENT POPUP ══ */
.gvs-exit-overlay{position:fixed;inset:0;background:rgba(14,27,51,.6);backdrop-filter:blur(4px);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.gvs-exit-overlay.show{opacity:1;pointer-events:all}
.gvs-exit-box{background:#fff;border-radius:24px;padding:44px 40px;max-width:480px;width:92%;text-align:center;position:relative;transform:translateY(-18px);transition:transform .3s;box-shadow:0 32px 80px rgba(14,27,51,.25)}
.gvs-exit-overlay.show .gvs-exit-box{transform:translateY(0)}
.gvs-exit-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--gvs-bg3);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gvs-muted);font-size:18px;font-family:inherit;transition:background .2s}
.gvs-exit-close:hover{background:var(--gvs-border2)}
.gvs-exit-badge{display:inline-block;background:var(--gvs-orange);color:#fff;font-size:11.5px;font-weight:700;padding:5px 16px;border-radius:100px;margin-bottom:18px;letter-spacing:.5px}
.gvs-exit-title{font-size:1.75rem;font-weight:700;color:var(--gvs-ink);letter-spacing:-.03em;margin-bottom:10px;line-height:1.15}
.gvs-exit-sub{font-size:15px;color:var(--gvs-muted);margin-bottom:24px;line-height:1.6}
.gvs-exit-code{background:var(--gvs-bg2);border:2.5px dashed var(--gvs-border2);border-radius:12px;padding:12px 28px;font-size:22px;font-weight:800;color:var(--gvs-ink);letter-spacing:4px;margin-bottom:22px;display:inline-block;cursor:pointer;transition:border-color .2s}
.gvs-exit-code:hover{border-color:var(--gvs-sky)}
.gvs-exit-note{font-size:12px;color:var(--gvs-dim);margin-top:14px}

/* ══ CALLBACK FAB ══ */
.gvs-cb-fab{position:fixed;bottom:96px;right:28px;z-index:199;background:#fff;border:1.5px solid var(--gvs-border2);border-radius:100px;padding:10px 18px 10px 12px;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--gvs-ink);cursor:pointer;box-shadow:0 8px 24px rgba(14,27,51,.12);transition:transform .25s,box-shadow .25s;white-space:nowrap}
.gvs-cb-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(14,27,51,.18)}
.gvs-cb-dot{width:8px;height:8px;border-radius:50%;background:var(--gvs-green);flex-shrink:0;animation:urgPulse 2s ease-in-out infinite}
.gvs-cb-modal{position:fixed;inset:0;background:rgba(14,27,51,.55);backdrop-filter:blur(4px);z-index:2001;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.gvs-cb-modal.show{opacity:1;pointer-events:all}
.gvs-cb-box{background:#fff;border-radius:20px;padding:36px;max-width:400px;width:92%;position:relative;transform:scale(.94);transition:transform .3s;box-shadow:0 24px 60px rgba(14,27,51,.2)}
.gvs-cb-modal.show .gvs-cb-box{transform:scale(1)}
.gvs-cb-ic{width:52px;height:52px;border-radius:50%;background:var(--gvs-sky-soft);color:var(--gvs-sky-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.gvs-cb-title{font-size:1.3rem;font-weight:700;color:var(--gvs-ink);text-align:center;margin-bottom:6px}
.gvs-cb-sub{font-size:13.5px;color:var(--gvs-muted);text-align:center;margin-bottom:22px;line-height:1.55}
.gvs-cb-inp{width:100%;padding:13px 16px;border:1.5px solid var(--gvs-border2);border-radius:12px;font-size:15px;font-family:inherit;color:var(--gvs-ink);outline:none;margin-bottom:12px;transition:border .2s;box-sizing:border-box}
.gvs-cb-inp:focus{border-color:var(--gvs-sky);box-shadow:0 0 0 3px var(--gvs-sky-soft)}
.gvs-cb-success{display:none;text-align:center;padding:8px 0}
.gvs-cb-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:var(--gvs-bg3);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gvs-muted);font-family:inherit;font-size:16px}

/* ══ SOCIAL PROOF ══ */
.gvs-sproof{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gvs-muted);font-weight:600;padding:6px 14px;background:var(--gvs-sky-soft);border-radius:100px;margin-top:8px}
.gvs-sproof strong{color:var(--gvs-sky-dark)}

/* ══ VISA EXPIRY TOOL ══ */
.gvs-expiry-wrap{max-width:540px;margin:48px auto 0;background:#fff;border:1px solid var(--gvs-border);border-radius:var(--gvs-r-xl);padding:36px;box-shadow:var(--gvs-sh-lg)}
.gvs-expiry-wrap label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gvs-dim);display:block;margin-bottom:8px}
.gvs-expiry-inp{width:100%;padding:13px 16px;border:1.5px solid var(--gvs-border2);border-radius:12px;font-size:15px;font-family:inherit;color:var(--gvs-ink);outline:none;margin-bottom:14px;transition:border .2s;box-sizing:border-box}
.gvs-expiry-inp:focus{border-color:var(--gvs-sky);box-shadow:0 0 0 3px var(--gvs-sky-soft)}
.gvs-expiry-result{display:none;border-radius:14px;padding:20px 22px;animation:gvsFadeUp .4s ease;margin-top:4px}
.gvs-expiry-result.show{display:block}
.gvs-expiry-result.safe{background:#E7F8EE;border:1px solid #BBE9CC;color:#15803D}
.gvs-expiry-result.warn{background:#FFF6EE;border:1px solid #FBD9BC;color:#C2410C}
.gvs-expiry-result.danger{background:#FEECEC;border:1px solid #F8C9C9;color:#DC2626}
.gvs-expiry-days{font-size:2.4rem;font-weight:700;line-height:1;margin-bottom:4px}
.gvs-expiry-msg{font-size:13.5px;font-weight:600;margin-bottom:14px}

/* ══ COUNTRY COMPARISON ══ */
.gvs-cmp-picks{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:24px}
.gvs-cmp-vs{font-size:13px;font-weight:700;color:var(--gvs-dim);text-align:center;white-space:nowrap}
.gvs-cmp-sel{width:100%;padding:12px 14px;border:1.5px solid var(--gvs-border2);border-radius:12px;font-size:14px;font-family:inherit;color:var(--gvs-ink);outline:none;background:#fff;cursor:pointer;appearance:none;transition:border .2s}
.gvs-cmp-sel:focus{border-color:var(--gvs-sky)}
.gvs-cmp-out{display:none;animation:gvsFadeUp .4s ease}
.gvs-cmp-out.show{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gvs-cmp-card{background:#fff;border:1px solid var(--gvs-border);border-radius:var(--gvs-r-lg);overflow:hidden;box-shadow:var(--gvs-sh-sm)}
.gvs-cmp-card-head{padding:16px 20px;background:var(--gvs-sky-soft);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--gvs-border)}
.gvs-cmp-card-flag{width:26px;height:19px;border-radius:3px;object-fit:cover;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.gvs-cmp-card-name{font-size:15px;font-weight:700;color:var(--gvs-ink)}
.gvs-cmp-row{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;border-bottom:1px solid var(--gvs-border);font-size:13px}
.gvs-cmp-row:last-child{border-bottom:none}
.gvs-cmp-row .k{color:var(--gvs-muted);font-weight:600}
.gvs-cmp-row .v{font-weight:700;color:var(--gvs-ink)}
@media(max-width:600px){.gvs-cmp-out.show{grid-template-columns:1fr}.gvs-cmp-picks{grid-template-columns:1fr;gap:8px}.gvs-cmp-vs{display:none}}

/* ══ LANGUAGE TOGGLE ══ */
.gvs-lang-wrap{position:relative}
.gvs-lang-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--gvs-border2);border-radius:100px;font-size:12.5px;font-weight:700;color:var(--gvs-text);background:#fff;cursor:pointer;transition:.2s;font-family:inherit;white-space:nowrap}
.gvs-lang-btn:hover{border-color:var(--gvs-sky);color:var(--gvs-sky-dark)}
.gvs-lang-drop{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--gvs-border);border-radius:var(--gvs-r-md);box-shadow:var(--gvs-sh-lg);overflow:hidden;min-width:150px;display:none;z-index:300}
.gvs-lang-drop.open{display:block;animation:gvsFadeUp .2s ease}
.gvs-lang-opt{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--gvs-text);cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;font-family:inherit}
.gvs-lang-opt:hover{background:var(--gvs-sky-soft);color:var(--gvs-sky-dark)}
.gvs-lang-opt.active{color:var(--gvs-sky-dark)}
.gvs-lang-opt .flag{font-size:16px}
[dir="rtl"]{text-align:right}

/* ══ BOARDING PASS MODAL ══ */
.gvs-bp-overlay{position:fixed;inset:0;background:rgba(14,27,51,.65);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s;padding:16px}
.gvs-bp-overlay.show{opacity:1;pointer-events:all}
.gvs-bp-card{background:#fff;border-radius:24px;max-width:420px;width:100%;overflow:hidden;box-shadow:0 40px 100px rgba(14,27,51,.3);transform:translateY(20px) scale(.96);transition:transform .35s var(--gvs-ease)}
.gvs-bp-overlay.show .gvs-bp-card{transform:translateY(0) scale(1)}
.gvs-bp-head{background:linear-gradient(135deg,var(--gvs-sky),var(--gvs-sky-dark));padding:22px 24px;display:flex;justify-content:space-between;align-items:center}
.gvs-bp-airline{font-size:11px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.85);text-transform:uppercase}
.gvs-bp-type-tag{font-size:10px;font-weight:700;letter-spacing:1px;background:rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:100px}
.gvs-bp-route{padding:20px 24px 0;display:flex;align-items:center;gap:12px}
.gvs-bp-port{flex:1;text-align:center}
.gvs-bp-code{font-size:2.2rem;font-weight:700;color:var(--gvs-ink);line-height:1;letter-spacing:-.03em}
.gvs-bp-city{font-size:11px;color:var(--gvs-muted);font-weight:600;margin-top:3px}
.gvs-bp-arrow{color:var(--gvs-sky);flex-shrink:0}
.gvs-bp-info{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:18px 24px;border-bottom:1.5px dashed var(--gvs-border2)}
.gvs-bp-info-item .lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--gvs-dim);margin-bottom:3px}
.gvs-bp-info-item .val{font-size:13.5px;font-weight:700;color:var(--gvs-ink)}
.gvs-bp-barcode{padding:18px 24px;display:flex;gap:2px;justify-content:center}
.gvs-bp-bar{height:36px;border-radius:1px;background:var(--gvs-ink)}
.gvs-bp-actions{display:flex;gap:10px;padding:4px 24px 22px}

/* Mobile adjustments */
@media(max-width:480px){
  .gvs-cb-fab{bottom:84px;right:16px;font-size:11.5px;padding:8px 14px 8px 10px}
  .gvs-exit-box{padding:32px 24px}
  .gvs-exit-title{font-size:1.4rem}
}

/* ══════════════════════════════════════════════════════
   AUTHORITATIVE RESPONSIVE OVERRIDES (loads last, wins)
   B2C audience is mobile-first — this block is the source of truth
   ══════════════════════════════════════════════════════ */

/* ── Hide Google Translate banner / tooltip (keeps our own UI clean) ── */
.goog-te-banner-frame, .skiptranslate { display: none !important; }
body { top: 0 !important; }
.goog-te-gadget { font-size: 0 !important; }
#goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Global: kill all horizontal overflow */
html, body { max-width: 100%; overflow-x: hidden !important; }
.gvs-page { max-width: 100vw; overflow-x: hidden; }
.gvs-page video { max-width: 100%; }
/* keep logo fixed-height (was broken by broad img rule) */
.gvs-logo img { height: 58px !important; width: auto !important; }
.gvs-nav.scrolled .gvs-logo img { height: 46px !important; }

/* ── TABLET (≤980px) ── */
@media (max-width: 980px) {
  .gvs-hero { min-height: auto; padding: calc(var(--gvs-nav-h) + 30px) 0 50px; }
  .gvs-hero-2col { grid-template-columns: 1fr; gap: 28px; text-align: center; }
  .gvs-hero-left .gvs-h1 { font-size: clamp(2rem, 7vw, 3rem); }
  .gvs-hero-right .gvs-finder { max-width: 560px; margin: 0 auto; }
}

/* ── MOBILE (≤768px) — PRIORITY ── */
@media (max-width: 768px) {
  /* Hero */
  .gvs-hero { padding: calc(var(--gvs-nav-h) + 20px) 0 40px; min-height: auto; }
  .gvs-hero-2col { gap: 22px; }
  .gvs-hero-left .gvs-h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); line-height: 1.08; word-break: normal; }
  .gvs-hero-left .gvs-sub { font-size: 14px; padding: 0 4px; }
  .gvs-eyebrow { font-size: 11px; }

  /* Finder card — full width, no overflow */
  .gvs-hero-right { width: 100%; }
  .gvs-hero-right .gvs-finder, .gvs-finder { max-width: 100% !important; width: 100%; margin: 0 auto; }
  .gvs-finder-body { padding: 20px 16px; }
  .gvs-finder-foot { padding: 18px 16px; flex-direction: column; align-items: stretch; text-align: center; gap: 12px; }
  .gvs-finder-foot .gvs-btn { width: 100%; justify-content: center; }
  .gvs-fchips { gap: 6px; }
  .gvs-fchip { padding: 8px 12px; font-size: 12.5px; }
  .gvs-steppers { flex-direction: column; gap: 14px; align-items: stretch; }
  .gvs-stepper { justify-content: space-between; }
  .gvs-fprice { font-size: 1.9rem; }
  .gvs-promo-wrap { flex-direction: column; }
  .gvs-promo-btn { width: 100%; }

  /* Section spacing */
  .gvs-section { padding: 48px 0 !important; }
  .gvs-section-sm { padding: 28px 0; }
  .gvs-container { padding: 0 16px; }
  .gvs-h2 { font-size: clamp(1.6rem, 6vw, 2.1rem) !important; }
  .gvs-section-sub { font-size: 14px; }

  /* All grids → single column */
  .gvs-visa-grid, .gvs-why-grid, .gvs-combo-grid,
  .gvs-tools-grid, .gvs-vid-grid, .gvs-reviews-grid { grid-template-columns: 1fr !important; }
  .gvs-countries-grid, .gvs-exp-grid { grid-template-columns: repeat(2,1fr) !important; }
  .gvs-emirates { grid-template-columns: repeat(2,1fr) !important; }

  /* Visa expiry + WA apply 2-col → stack */
  .gvs-section [style*="grid-template-columns:1fr 1fr"],
  .gvs-section [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }

  /* Comparison */
  .gvs-cmp-picks { grid-template-columns: 1fr !important; }
  .gvs-cmp-vs { display: none; }
  .gvs-cmp-out.show { grid-template-columns: 1fr !important; }

  /* Language dropdown — anchor to screen edge */
  .gvs-lang-drop { right: 0; min-width: 140px; }
  .gvs-lang-btn { padding: 6px 9px; font-size: 11.5px; }

  /* Trust bar stack */
  .gvs-trust-inner { flex-wrap: wrap; gap: 10px; }
  .gvs-trust-item { font-size: 12px; }

  /* Footer */
  .gvs-footer-cta-inner { flex-direction: column; text-align: center; gap: 18px; }
  .gvs-footer-grid { grid-template-columns: 1fr !important; gap: 28px; }
  .gvs-footer-mid { grid-template-columns: 1fr !important; gap: 24px; }
  .gvs-footer-bottom { flex-direction: column; text-align: center; gap: 10px; }

  /* FABs — keep clear of each other */
  .gvs-wa-fab { bottom: 18px; right: 16px; }
  .gvs-cb-fab { bottom: 86px; right: 16px; }

  /* Validity visualizer — prevent label overflow */
  .gvs-vviz-lbl { font-size: 10px; }
  .gvs-vviz-track { margin: 34px 0 46px; }
}

/* ── SMALL MOBILE (≤420px) ── */
@media (max-width: 420px) {
  .gvs-countries-grid, .gvs-exp-grid, .gvs-emirates { grid-template-columns: 1fr !important; }
  .gvs-hero-left .gvs-h1 { font-size: 1.75rem; }
  .gvs-switch { transform: scale(.92); }
  .gvs-bp-card, .gvs-cb-box, .gvs-exit-box { width: 94%; }
  .gvs-lang-drop { position: fixed; top: 60px; right: 12px; }
}


/* ══ STICKY MOBILE CTA BAR ══ */
.gvs-mcta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 195; display: none;
  background: rgba(255,255,255,.97); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid var(--gvs-border); box-shadow: 0 -4px 20px rgba(16,34,64,.1);
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); gap: 10px; }
.gvs-mcta a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px;
  padding: 13px 10px; border-radius: 12px; font-size: 14px; font-weight: 700; text-decoration: none; }
.gvs-mcta .mcta-apply { background: var(--gvs-orange); color: #fff; box-shadow: var(--gvs-sh-cta); }
.gvs-mcta .mcta-wa { background: #25D366; color: #fff; }
@media (max-width: 768px) {
  .gvs-mcta { display: flex; }
  .gvs-wa-fab { bottom: 78px; }     /* lift FAB above the bar */
  .gvs-cb-fab { bottom: 140px; }
  body { padding-bottom: 64px; }    /* room so footer not hidden */
}

/* ══ DOCUMENT CHECKLIST GENERATOR ══ */
.gvs-dcg { max-width: 720px; margin: 48px auto 0; background: #fff; border: 1px solid var(--gvs-border);
  border-radius: var(--gvs-r-xl); box-shadow: var(--gvs-sh-lg); overflow: hidden; }
.gvs-dcg-head { padding: 24px 28px; background: linear-gradient(135deg, var(--gvs-sky), var(--gvs-sky-dark)); color: #fff; }
.gvs-dcg-head .t { font-size: 18px; font-weight: 700; }
.gvs-dcg-head .s { font-size: 13px; opacity: .9; margin-top: 2px; }
.gvs-dcg-body { padding: 24px 28px; }
.gvs-dcg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.gvs-dcg-row select { width: 100%; padding: 12px 14px; border: 1.5px solid var(--gvs-border2); border-radius: 12px;
  font-size: 14px; font-family: inherit; color: var(--gvs-ink); background: #fff; outline: none; cursor: pointer; transition: border .2s; }
.gvs-dcg-row select:focus { border-color: var(--gvs-sky); box-shadow: 0 0 0 3px var(--gvs-sky-soft); }
.gvs-dcg-list { display: none; flex-direction: column; gap: 10px; margin-top: 8px; animation: gvsFadeUp .4s ease; }
.gvs-dcg-list.show { display: flex; }
.gvs-dcg-item { display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; background: var(--gvs-bg2);
  border: 1px solid var(--gvs-border); border-radius: 12px; }
.gvs-dcg-item svg { color: var(--gvs-green); flex-shrink: 0; margin-top: 1px; }
.gvs-dcg-item .dt { font-size: 14px; font-weight: 600; color: var(--gvs-ink); }
.gvs-dcg-item .dd { font-size: 12.5px; color: var(--gvs-muted); margin-top: 2px; }
.gvs-dcg-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
@media (max-width: 600px) { .gvs-dcg-row { grid-template-columns: 1fr; } .gvs-dcg-body { padding: 20px 18px; } }

/* ══════════════════════════════════════════════════════
   PERFORMANCE PASS (reduce GPU/paint load, esp. mobile)
   ══════════════════════════════════════════════════════ */

/* Defer offscreen section rendering — big scroll-perf win */
.gvs-section { content-visibility: auto; contain-intrinsic-size: auto 600px; }

/* GPU hint only where it helps */
.gvs-marquee-track, .gvs-flag-row { will-change: transform; }

/* ── MOBILE: cut expensive effects ── */
@media (max-width: 768px) {
  /* backdrop-filter blur is the #1 mobile GPU killer — replace with solid/near-solid */
  .gvs-nav.scrolled { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(255,255,255,.98) !important; }
  .gvs-sticky-finder { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(255,255,255,.98) !important; }
  .gvs-mcta { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fff !important; }
  .gvs-lang-drop, .gvs-cb-box, .gvs-bp-card, .gvs-exit-box { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .gvs-finder { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }

  /* Stop always-running decorative animations that force repaints */
  .gvs-btn-apply, .gvs-btn-wa-anim, .gvs-finder-foot .gvs-btn-primary, .gvs-btn-apply-anim { animation: none !important; }
  .gvs-btn-wa-anim::before, .gvs-btn-apply-anim::before, .gvs-finder-foot .gvs-btn-primary::before { display: none !important; }
  .gvs-flag-wrap::after { animation: none !important; }
  .gvs-globe .gvs-globe-lines { animation-duration: 6s !important; }

  /* Marquees: slower = fewer frames; keep but lighten */
  .gvs-marquee-track { animation-duration: 60s !important; }
}

/* Respect reduced-motion globally */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ══ MOBILE VISUAL POLISH (de-crowd, more air) ══ */
@media (max-width: 768px) {
  .gvs-section { padding: 54px 0 !important; }
  .gvs-section + .gvs-section { padding-top: 10px !important; }
  /* breathing room around section headings */
  .gvs-section > .gvs-container > div[style*="text-align:center"] { margin-bottom: 28px !important; }
  /* comfortable card insides */
  .gvs-vcard, .gvs-why-card, .gvs-combo-card, .gvs-tcard, .gvs-tool { padding: 22px 20px !important; }
  /* stack gaps */
  .gvs-why-grid, .gvs-visa-grid, .gvs-reviews-grid, .gvs-combo-grid, .gvs-tools-grid, .gvs-vid-grid { gap: 16px !important; }
  /* emirates: 2-col with a touch more gap, shorter cards */
  .gvs-emirates { gap: 10px !important; }
  .gvs-emirate { aspect-ratio: 4/3; }
  /* hero finder breathing */
  .gvs-finder-row { margin-bottom: 18px !important; }
  /* headings not too tight */
  .gvs-h2 { margin-bottom: 10px !important; }
  .gvs-section-sub { padding: 0 6px; line-height: 1.6; }
  /* trust bar: 2-per-row chips instead of cramped single column */
  .gvs-trust-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 8px; }
  .gvs-trust-item { border: none !important; font-size: 12px; justify-content: flex-start; }
}

/* ══ CURRENCY SWITCHER ══ */
.gvs-cur-wrap { position: relative; }
.gvs-cur-btn { display:flex; align-items:center; gap:5px; padding:7px 11px; border:1px solid var(--gvs-border2); border-radius:100px; font-size:12.5px; font-weight:700; color:var(--gvs-text); background:#fff; cursor:pointer; font-family:inherit; white-space:nowrap; transition:.2s; }
.gvs-cur-btn:hover { border-color:var(--gvs-sky); color:var(--gvs-sky-dark); }
.gvs-cur-drop { position:absolute; top:calc(100% + 8px); right:0; background:#fff; border:1px solid var(--gvs-border); border-radius:var(--gvs-r-md); box-shadow:var(--gvs-sh-lg); overflow:hidden; min-width:150px; max-height:300px; overflow-y:auto; display:none; z-index:300; }
.gvs-cur-drop.open { display:block; animation:gvsFadeUp .2s ease; }
.gvs-cur-opt { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 14px; font-size:13px; font-weight:600; color:var(--gvs-text); cursor:pointer; border:none; background:none; width:100%; text-align:left; font-family:inherit; transition:background .15s; }
.gvs-cur-opt:hover { background:var(--gvs-sky-soft); color:var(--gvs-sky-dark); }
.gvs-cur-opt.active { color:var(--gvs-sky-dark); }
.gvs-cur-opt .sym { font-size:11px; color:var(--gvs-muted); }
.gvs-cur-note { font-size:10.5px; color:var(--gvs-muted); padding:8px 14px; border-top:1px solid var(--gvs-border); }
.gvs-nav:not(.scrolled) .gvs-cur-btn { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25); color:#fff; }

/* ══ REFERRAL BANNER ══ */
.gvs-referral { position:relative; overflow:hidden; border-radius:var(--gvs-r-xl); padding:44px 40px; background:linear-gradient(125deg,#0E1B33 0%,#0B3A66 50%,var(--gvs-sky-dark) 100%); color:#fff; text-align:center; }
.gvs-referral::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 85% 20%,rgba(15,181,192,.35) 0%,transparent 45%),radial-gradient(circle at 10% 90%,rgba(249,115,22,.25) 0%,transparent 45%); }
.gvs-referral > * { position:relative; z-index:1; }
.gvs-referral-tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); padding:6px 16px; border-radius:100px; margin-bottom:16px; }
.gvs-referral h2 { font-size:clamp(1.6rem,4vw,2.4rem); font-weight:800; letter-spacing:-.02em; margin-bottom:10px; }
.gvs-referral h2 em { font-style:normal; color:#FFD9A8; }
.gvs-referral p { font-size:15px; color:rgba(255,255,255,.85); max-width:520px; margin:0 auto 26px; line-height:1.6; }
.gvs-referral-code { display:inline-flex; align-items:center; gap:0; background:rgba(255,255,255,.1); border:1.5px dashed rgba(255,255,255,.4); border-radius:14px; overflow:hidden; max-width:100%; }
.gvs-referral-code input { background:none; border:none; color:#fff; font-size:15px; font-weight:700; padding:14px 18px; outline:none; font-family:inherit; width:280px; max-width:60vw; letter-spacing:.3px; }
.gvs-referral-code button { background:#fff; color:var(--gvs-sky-dark); border:none; padding:14px 22px; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; transition:background .2s; white-space:nowrap; }
.gvs-referral-code button:hover { background:#FFEFCB; }
.gvs-referral-share { display:flex; gap:10px; justify-content:center; margin-top:20px; flex-wrap:wrap; }
.gvs-referral-share a { display:inline-flex; align-items:center; gap:7px; padding:10px 18px; border-radius:100px; font-size:13px; font-weight:600; text-decoration:none; transition:.2s; }
.gvs-referral-share .wa { background:#25D366; color:#fff; }
.gvs-referral-share .cp { background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25); cursor:pointer; }
@media(max-width:600px){ .gvs-referral{padding:32px 20px} .gvs-referral-code input{width:auto;flex:1} }

/* ══ VISA-FREE CHECKER ══ */
.gvs-vfree { max-width:760px; margin:40px auto 0; background:#fff; border:1px solid var(--gvs-border); border-radius:var(--gvs-r-xl); box-shadow:var(--gvs-sh-lg); overflow:hidden; }
.gvs-vfree-head { padding:22px 28px; background:linear-gradient(135deg,var(--gvs-teal),var(--gvs-sky)); color:#fff; }
.gvs-vfree-head .t { font-size:17px; font-weight:700; }
.gvs-vfree-head .s { font-size:12.5px; opacity:.9; margin-top:2px; }
.gvs-vfree-body { padding:24px 28px; }
.gvs-vfree-body select { width:100%; padding:13px 16px; border:1.5px solid var(--gvs-border2); border-radius:12px; font-size:15px; font-family:inherit; color:var(--gvs-ink); background:#fff; outline:none; cursor:pointer; transition:border .2s; }
.gvs-vfree-body select:focus { border-color:var(--gvs-sky); box-shadow:0 0 0 3px var(--gvs-sky-soft); }
.gvs-vfree-result { display:none; margin-top:20px; animation:gvsFadeUp .4s ease; }
.gvs-vfree-result.show { display:block; }
.gvs-vfree-stat { text-align:center; margin-bottom:18px; }
.gvs-vfree-stat .num { font-size:2.6rem; font-weight:800; color:var(--gvs-teal); line-height:1; letter-spacing:-.02em; }
.gvs-vfree-stat .lbl { font-size:13px; color:var(--gvs-muted); font-weight:600; margin-top:4px; }
.gvs-vfree-chips { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.gvs-vfree-chip { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; background:var(--gvs-bg2); border:1px solid var(--gvs-border); border-radius:100px; font-size:12.5px; font-weight:600; color:var(--gvs-ink); }
.gvs-vfree-chip img { width:18px; height:13px; border-radius:2px; object-fit:cover; }

/* ══ GROUP DISCOUNT BADGE (in finder) ══ */
.gvs-group-badge { display:none; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:var(--gvs-green); background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.25); padding:4px 11px; border-radius:100px; margin-top:6px; }
.gvs-group-badge.show { display:inline-flex; }

/* ══════════════════════════════════════════════════════
   MOBILE UX CLEANUP (navbar declutter + bottom dedupe)
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Navbar: keep ONLY logo + language + currency + hamburger.
     Login/WhatsApp/Apply live inside the hamburger menu + sticky bar. */
  .gvs-nav-wa,
  .gvs-nav-right .gvs-btn-login,
  .gvs-nav-right .gvs-btn-apply { display: none !important; }
  .gvs-nav-inner { gap: 8px; }
  .gvs-nav-right { gap: 7px; }
  .gvs-lang-btn, .gvs-cur-btn { padding: 6px 8px; font-size: 11px; }
  .gvs-logo img { height: 40px !important; }
  .gvs-nav.scrolled .gvs-logo img { height: 36px !important; }

  /* Bottom: ONLY the sticky CTA bar. Remove duplicate floating FABs. */
  .gvs-wa-fab { display: none !important; }   /* WhatsApp already in sticky bar */
  .gvs-cb-fab { display: none !important; }   /* declutter; callback in menu/expert section */

  /* Sticky CTA bar — balanced, no text truncation */
  .gvs-mcta { padding: 9px 10px calc(9px + env(safe-area-inset-bottom)); gap: 9px; }
  .gvs-mcta a { font-size: 14px; padding: 13px 6px; white-space: nowrap; letter-spacing: .2px; }
  .gvs-mcta a svg { flex: none; }
  body { padding-bottom: 66px; }   /* room for sticky bar */
}

/* Tiny phones: shrink lang/currency labels to avoid nav overflow */
@media (max-width: 380px) {
  .gvs-lang-btn span:not(#gvsLangFlag), .gvs-cur-btn { font-size: 10.5px; }
  .gvs-nav-right { gap: 5px; }
  .gvs-mcta a { font-size: 13px; }
}

/* ══════════════════════════════════════════════════════
   MOBILE BOTTOM DE-CLUTTER (sticky bar is the only fixed CTA)
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Live approval feed collides with sticky bar on mobile — hide it */
  .gvs-feed { display: none !important; }

  /* Sticky CTA: guarantee both labels fit, no truncation */
  .gvs-mcta { padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); gap: 8px; }
  .gvs-mcta a { font-size: 13.5px; padding: 13px 4px; gap: 6px; min-width: 0; overflow: visible; }
  .gvs-mcta a svg { width: 16px; height: 16px; }

  /* Lift any 3rd-party chat widget above the 66px sticky bar */
  #tawkchat-minified, .tawk-min-container,
  iframe[title*="chat" i], iframe[title*="Chat" i],
  #tidio-chat, .crisp-client, #intercom-container,
  div[class*="livechat"], div[id*="livechat"],
  .woot-widget-bubble, #wati-widget,
  div[id^="chat-widget"], div[class*="chat-widget"] {
    bottom: 74px !important;
  }
}

/* ══════════════════════════════════════════════════════
   MOBILE UX + CONVERSION POLISH v2
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* (5) iOS zoom fix — inputs/selects must be >=16px */
  input, select, textarea { font-size: 16px !important; }

  /* (6) Tap targets >= 44px */
  .gvs-btn, .gvs-fchip, .gvs-vviz-chip, .gvs-exp-tab, .gvs-step-btn,
  .gvs-cur-opt, .gvs-lang-opt, .gvs-quiz-opt, .gvs-dest-filter,
  .gvs-nav-hamburger, .gvs-cmp-sel { min-height: 44px; }
  .gvs-step-btn { width: 44px; height: 44px; }
  .gvs-fchip { padding: 11px 16px; }

  /* (7) Hero finder: duration chips in ONE scrollable row (no 2-row wrap) */
  .gvs-fchips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px; }
  .gvs-fchips::-webkit-scrollbar { display: none; }
  .gvs-fchip { flex: 0 0 auto; }
  .gvs-finder-body { padding: 18px 16px; }
  .gvs-finder-row { margin-bottom: 16px !important; }

  /* (4) Visa cards compact */
  .gvs-vcard { padding: 18px 18px !important; gap: 10px !important; }
  .gvs-vcard-name { font-size: 18px; }
  .gvs-vcard-price { font-size: 1.5rem; }
  .gvs-vcard-feats { margin: 6px 0 !important; }
  .gvs-vcard-feats li { font-size: 13px; }

  /* (9) Hero video off on mobile — show poster bg (saves data/GPU) */
  .gvs-hero-video video { display: none !important; }
  .gvs-hero-video { background-size: cover !important; background-position: center !important; }

  /* (1) Sticky CTA bar with price strip */
  .gvs-mcta { flex-direction: column; gap: 0; padding: 0 0 env(safe-area-inset-bottom); }
  .gvs-mcta-price { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 6px 0 5px; font-size: 12px; font-weight: 600; color: var(--gvs-muted); background: var(--gvs-bg2); border-bottom: 1px solid var(--gvs-border); }
  .gvs-mcta-price b { color: var(--gvs-ink); font-weight: 800; }
  .gvs-mcta-row { display: flex; gap: 8px; width: 100%; padding: 8px 10px; }
  .gvs-mcta-row a { flex: 1; }
  body { padding-bottom: 92px; }   /* taller bar now (price + buttons) */
}
.gvs-mcta-price { display: none; }  /* desktop: hidden (no sticky bar) */

/* ══════════════════════════════════════════════════════
   NATIVE-APP UX POLISH (mobile-first, no GTM touch)
   ══════════════════════════════════════════════════════ */

/* (8) Tactile button press — every CTA feels responsive */
.gvs-btn, .gvs-fchip, .gvs-vviz-chip, .gvs-exp-tab, .mcta-apply, .mcta-wa,
.gvs-cur-opt, .gvs-lang-opt, .gvs-step-btn, .gvs-quiz-opt, .btn-visa-apply,
.gvs-promo-btn, .gvs-cmp-sel { transition: transform .12s ease, box-shadow .2s, background .2s, border-color .2s; }
.gvs-btn:active, .gvs-fchip:active, .gvs-vviz-chip:active, .gvs-exp-tab:active,
.mcta-apply:active, .mcta-wa:active, .gvs-step-btn:active, .gvs-quiz-opt:active,
.btn-visa-apply:active, .gvs-promo-btn:active { transform: scale(.96); }

/* (7) Image fade-in / skeleton shimmer (no layout jump) */
.gvs-emirate, .gvs-vfree-chip img, .gvs-exp-card img { background-image: linear-gradient(100deg, #e8eef5 30%, #f4f8fc 50%, #e8eef5 70%); background-size: 200% 100%; }
.gvs-emirate-img, .gvs-cmp-card-flag { opacity: 0; transition: opacity .5s ease; }
.gvs-emirate-img.loaded, .gvs-cmp-card-flag.loaded { opacity: 1; }

/* Scroll-to-top */
.gvs-totop { position: fixed; left: 16px; bottom: 24px; z-index: 190; width: 44px; height: 44px; border-radius: 50%; background: rgba(14,27,51,.85); color: #fff; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(14,27,51,.3); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .3s, transform .3s, background .2s; backdrop-filter: blur(8px); }
.gvs-totop.show { opacity: 1; pointer-events: auto; transform: translateY(0); }
.gvs-totop:hover { background: var(--gvs-sky-dark); }
.gvs-totop:active { transform: scale(.92); }
@media (max-width: 768px) { .gvs-totop { bottom: 102px; width: 42px; height: 42px; } }

/* (5) Inline trust strip under finder CTA */
.gvs-finder-trust { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; padding: 12px 16px 0; font-size: 11.5px; font-weight: 600; color: var(--gvs-muted); }
.gvs-finder-trust span { display: inline-flex; align-items: center; gap: 5px; }
.gvs-finder-trust svg { color: var(--gvs-green); flex-shrink: 0; }

/* (9) Bottom-sheet modals on mobile (native feel) */
@media (max-width: 768px) {
  .gvs-cb-modal, .gvs-exit-overlay, .gvs-bp-overlay { align-items: flex-end !important; }
  .gvs-cb-box, .gvs-exit-box, .gvs-bp-card {
    width: 100% !important; max-width: 100% !important;
    border-radius: 22px 22px 0 0 !important;
    transform: translateY(100%) !important; transition: transform .35s cubic-bezier(.2,.8,.2,1) !important;
    padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
  }
  .gvs-cb-modal.show .gvs-cb-box, .gvs-exit-overlay.show .gvs-exit-box, .gvs-bp-overlay.show .gvs-bp-card { transform: translateY(0) !important; }
  /* grab handle */
  .gvs-cb-box::before, .gvs-exit-box::before, .gvs-bp-card::before {
    content: ''; position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
    width: 40px; height: 4px; border-radius: 100px; background: var(--gvs-border2);
  }
}

/* ══════════════════════════════════════════════════════
   CRITICAL FIX: hero grid blow-out on mobile
   (nowrap chip row forced the 1fr column wider than viewport)
   ══════════════════════════════════════════════════════ */
.gvs-hero-2col { grid-template-columns: 0.9fr 1.1fr; }
@media (max-width: 980px) {
  .gvs-hero-2col { grid-template-columns: minmax(0,1fr) !important; }
}
/* let grid/flex children shrink below their content's min-width */
.gvs-hero-2col, .gvs-hero-left, .gvs-hero-right,
.gvs-finder, .gvs-finder-body, .gvs-finder-row,
.gvs-fchips, .gvs-steppers { min-width: 0; max-width: 100%; }
.gvs-hero-left, .gvs-hero-right { width: 100%; }
.gvs-fchips { width: 100%; }

/* SINGLE tag — subtle (vs orange MULTI upsell) */
.gvs-fchip-tag.single { background: var(--gvs-bg3); color: var(--gvs-muted); }
.gvs-fchip.active .gvs-fchip-tag.single { background: rgba(255,255,255,.25); color: #fff; }

/* ══════════════════════════════════════════════════════
   MOBILE FOOTER — organized (brand centered + 2-col links)
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .gvs-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 30px 20px !important; padding-bottom: 32px; }
  /* Brand block spans full width, centered */
  .gvs-footer-grid > div:first-child { grid-column: 1 / -1; text-align: center; }
  .gvs-footer-grid > div:first-child .gvs-footer-logo { margin: 0 auto 14px; }
  .gvs-footer-grid > div:first-child .gvs-footer-desc { max-width: 340px; margin: 0 auto 18px; }
  .gvs-footer-contact { align-items: center; }
  .gvs-footer-contact a, .gvs-footer-contact span { justify-content: center; font-size: 13.5px; }
  .gvs-footer-socials { justify-content: center; }
  /* Link columns: tidy, left-aligned, comfortable spacing */
  .gvs-footer-col-title { font-size: 10.5px; margin-bottom: 14px; }
  .gvs-footer-links { gap: 12px; }
  .gvs-footer-links a { font-size: 13.5px; }
  /* Newsletter + payments: stacked, centered */
  .gvs-footer-mid { text-align: center; }
  .gvs-footer-news-form { margin: 0 auto; }
  .gvs-footer-pay { text-align: center !important; }
  .gvs-footer-pay-row { justify-content: center !important; }
  /* Legal + copyright centered */
  .gvs-footer-bottom { flex-direction: column; text-align: center; gap: 10px; }
  .gvs-footer-legal { justify-content: center; flex-wrap: wrap; gap: 14px; }
  .gvs-footer-legal-disclaimer, .gvs-footer-legal p { text-align: center; }
}
/* Very small: single column links only if too tight */
@media (max-width: 360px) {
  .gvs-footer-grid { grid-template-columns: 1fr !important; text-align: center; }
  .gvs-footer-links { align-items: center; }
}

/* ══════════════════════════════════════════════════════
   SOLID NAVBAR for light-hero pages (uae-visa, global-visa, etc.)
   Homepage keeps transparent white nav over dark video hero.
   ══════════════════════════════════════════════════════ */
body.gvs-solid-nav .gvs-nav { background: rgba(255,255,255,.96); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid var(--gvs-border); box-shadow: 0 4px 20px rgba(16,34,64,.06); }
body.gvs-solid-nav .gvs-logo-light { display: none !important; }
body.gvs-solid-nav .gvs-logo-dark { display: block !important; }
body.gvs-solid-nav .gvs-nav-links a,
body.gvs-solid-nav .gvs-nav-drop > a { color: var(--gvs-text) !important; }
body.gvs-solid-nav .gvs-nav-links a:hover,
body.gvs-solid-nav .gvs-nav-links a.active { color: var(--gvs-sky-dark) !important; background: var(--gvs-sky-soft) !important; }
body.gvs-solid-nav .gvs-btn-login { color: var(--gvs-ink) !important; border-color: var(--gvs-border2) !important; background: #fff !important; }
body.gvs-solid-nav .gvs-nav-hamburger span { background: var(--gvs-ink) !important; }
body.gvs-solid-nav .gvs-lang-btn, body.gvs-solid-nav .gvs-cur-btn { background: #fff !important; border-color: var(--gvs-border2) !important; color: var(--gvs-text) !important; }
body.gvs-solid-nav .gvs-nav-wa { background: rgba(37,211,102,.12) !important; border-color: rgba(37,211,102,.25) !important; color: #25D366 !important; }

/* ══════════════════════════════════════════════════════
   SOCIAL ICONS — brand-colour hover (attractive)
   ══════════════════════════════════════════════════════ */
.gvs-footer-socials { gap: 9px; flex-wrap: wrap; }
.gvs-footer-social { width: 40px; height: 40px; transition: transform .22s cubic-bezier(.34,1.56,.64,1), background .22s, color .22s, border-color .22s, box-shadow .22s; }
.gvs-footer-social:hover { transform: translateY(-3px) scale(1.06); color: #fff; }
.gvs-footer-social.s-fb:hover { background:#1877F2; border-color:#1877F2; box-shadow:0 8px 18px rgba(24,119,242,.4); }
.gvs-footer-social.s-ig:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color:transparent; box-shadow:0 8px 18px rgba(220,39,67,.4); }
.gvs-footer-social.s-yt:hover { background:#FF0000; border-color:#FF0000; box-shadow:0 8px 18px rgba(255,0,0,.4); }
.gvs-footer-social.s-li:hover { background:#0A66C2; border-color:#0A66C2; box-shadow:0 8px 18px rgba(10,102,194,.4); }
.gvs-footer-social.s-x:hover  { background:#000; border-color:#000; box-shadow:0 8px 18px rgba(0,0,0,.5); }
.gvs-footer-social.s-wa { background:rgba(37,211,102,.12); border-color:rgba(37,211,102,.25); color:#25D366; }
.gvs-footer-social.s-wa:hover { background:#25D366; border-color:#25D366; color:#fff; box-shadow:0 8px 18px rgba(37,211,102,.45); }
.gvs-footer-social.s-tt:hover { background:#000; border-color:#000; box-shadow:0 8px 18px rgba(0,0,0,.5); }

/* ══ UNIFORM DURATION CHIPS (equal size) ══ */
.gvs-fchips { gap: 10px; }
.gvs-fchip { min-width: 132px; justify-content: center; text-align: center; }
@media (max-width: 768px) { .gvs-fchip { min-width: 124px; flex: 0 0 auto; } }
@media (max-width: 380px) { .gvs-fchip { min-width: 116px; } }

/* ══ 4-COLUMN GRID (how-it-works steps in one line) ══ */
.gvs-why-grid.gvs-grid-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width: 1024px) { .gvs-why-grid.gvs-grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px)  { .gvs-why-grid.gvs-grid-4 { grid-template-columns: 1fr; } }
