/* ===== Visa Doo — Fresh Blue & White theme ===== */
:root{
  --blue-900:#0b3a8f;
  --blue-700:#1559d6;
  --blue-600:#2563eb;
  --blue-500:#3b82f6;
  --blue-400:#60a5fa;
  --blue-100:#dbeafe;
  --sky-50:#f4f9ff;
  --ink:#0f172a;
  --muted:#5b6b85;
  --line:#e6edf7;
  --white:#ffffff;
  --green:#16a34a;
  --amber:#d97706;
  --red:#dc2626;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 18px 40px -18px rgba(21,89,214,.28);
  --shadow-sm:0 6px 18px -8px rgba(15,23,42,.18);
  --maxw:1280px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100vw}
body{
  margin:0;font-family:var(--font);color:var(--ink);
  background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;max-width:100vw;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.15;margin:0;letter-spacing:-.02em}
p{margin:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.section{padding:84px 0}
.sky{background:linear-gradient(180deg,var(--sky-50),var(--white))}
.center{text-align:center}
.eyebrow{
  display:inline-block;font-weight:700;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--blue-600);background:var(--blue-100);
  padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
.section h2{font-size:clamp(26px,4vw,40px);font-weight:800}
.section .lead{color:var(--muted);font-size:18px;max-width:620px;margin:14px auto 0}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:700;font-size:16px;border:none;cursor:pointer;
  padding:14px 26px;border-radius:999px;transition:.18s ease;font-family:inherit;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px}
.btn-primary{background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(37,99,235,.55)}
.btn-ghost{background:#fff;color:var(--blue-700);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--blue-400);background:var(--sky-50)}
.btn-white{background:#fff;color:var(--blue-700)}
.btn-white:hover{transform:translateY(-2px)}
.btn-lg{padding:16px 32px;font-size:17px}
.btn-block{width:100%}

/* ===== Header ===== */
.header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:var(--ink);position:relative;overflow:hidden;height:54px}
.brand .logo{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue-600),var(--blue-400));color:#fff;
}
.brand .logo svg{width:21px;height:21px}
.brand b{color:var(--blue-600)}
.header .brand {
  overflow: visible !important;
}
.header .brand img{
  height:92px !important;
  max-width:240px !important;
  margin-left:-18px !important;
  mix-blend-mode:multiply !important;
}
.footer .brand img{
  background:#fff;
  border-radius:8px;
  height:76px !important;
  margin-top:-18px !important;
  margin-bottom:-18px !important;
  object-fit:contain;
}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{color:var(--muted);font-weight:600;font-size:15px}
.nav-links a:hover{color:var(--blue-600)}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-btn svg{width:26px;height:26px;color:var(--ink)}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:70px 0 88px}
.hero h1{font-size:clamp(34px,5.2vw,56px);font-weight:800}
.hero h1 .hl{background:linear-gradient(135deg,var(--blue-600),var(--blue-400));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:19px;color:var(--muted);margin-top:20px;max-width:520px}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.trust{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.trust div{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:var(--ink)}
.trust svg{width:20px;height:20px;color:var(--green)}

/* hero visual */
.hero-art{position:relative}
.passport-card{
  background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:26px;
  border:1px solid var(--line);position:relative;z-index:2;max-width:380px;margin:0 auto;
}
.passport-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.passport-head .flag{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--blue-600),var(--blue-400));display:grid;place-items:center;color:#fff}
.passport-head .flag svg{width:24px;height:24px}
.passport-head h4{font-size:16px;font-weight:800}
.passport-head span{font-size:13px;color:var(--muted)}
.passport-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px dashed var(--line);font-size:14px}
.passport-row b{font-weight:700}
.passport-stamp{
  position:absolute;right:-14px;bottom:-14px;z-index:3;background:var(--green);color:#fff;
  font-weight:800;font-size:13px;padding:10px 16px;border-radius:14px;box-shadow:var(--shadow-sm);
  transform:rotate(-6deg);display:flex;align-items:center;gap:7px;
}
.passport-stamp svg{width:16px;height:16px}
.hero-blob{position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--blue-100),transparent 70%);
  top:-120px;right:-120px;z-index:1}

/* ===== Visa cards ===== */
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;max-width:1140px;margin:46px auto 0}
.vcard{
  background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:30px;
  position:relative;transition:.2s ease;display:flex;flex-direction:column;
  flex:1 1 300px;max-width:360px;
}
.vcard:hover{border-color:var(--blue-400);box-shadow:var(--shadow);transform:translateY(-4px)}
.vcard.popular{border-color:var(--blue-500);box-shadow:var(--shadow)}
.vcard .tag{position:absolute;top:-13px;left:30px;background:var(--blue-600);color:#fff;font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;letter-spacing:.04em}
.vcard h3{font-size:23px;font-weight:800}
.vcard .vsub{color:var(--muted);font-weight:600;font-size:14px;margin-top:2px}
.vcard .price{margin:18px 0 6px;font-size:38px;font-weight:800;color:var(--ink)}
.vcard .price small{font-size:16px;color:var(--muted);font-weight:600}
.vcard .blurb{color:var(--muted);font-size:15px;margin-bottom:18px}
.vcard ul{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:11px}
.vcard li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500}
.vcard li svg{width:18px;height:18px;color:var(--green);flex-shrink:0}
.vcard .btn{margin-top:auto}

/* ===== Steps ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative}
.step .num{width:42px;height:42px;border-radius:12px;background:var(--blue-100);color:var(--blue-700);font-weight:800;display:grid;place-items:center;font-size:18px;margin-bottom:16px}
.step h3{font-size:18px;font-weight:800;margin-bottom:8px}
.step p{color:var(--muted);font-size:15px}

/* ===== Requirements ===== */
.req-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;align-items:start}
.req-list{display:flex;flex-direction:column;gap:14px}
.req-item{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px}
.req-item .ic{width:42px;height:42px;border-radius:11px;background:var(--sky-50);color:var(--blue-600);display:grid;place-items:center;flex-shrink:0}
.req-item .ic svg{width:22px;height:22px}
.req-item h4{font-size:16px;font-weight:700;margin-bottom:3px}
.req-item p{color:var(--muted);font-size:14px}
.req-note{background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;border-radius:var(--radius);padding:32px}
.req-note h3{font-size:22px;font-weight:800;margin-bottom:10px}
.req-note p{opacity:.92;margin-bottom:18px}
.req-note .btn{background:#fff;color:var(--blue-700)}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;margin-top:40px;align-items:start}
.contact-methods{display:flex;flex-direction:column;gap:16px}
.cm{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;transition:.18s}
.cm:hover{border-color:var(--blue-400);box-shadow:var(--shadow-sm)}
.cm .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.cm .ic.wa{background:#25d366}.cm .ic.ph{background:var(--blue-600)}.cm .ic.em{background:var(--blue-400)}
.cm .ic svg{width:24px;height:24px}
.cm small{color:var(--muted);font-size:13px;display:block}
.cm b{font-size:16px}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;font-size:14px;margin-bottom:7px}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;
  font-family:inherit;font-size:15px;color:var(--ink);background:#fff;transition:.15s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}
.field textarea{resize:vertical;min-height:110px}
.form-ok{background:#eafaf0;color:#137a3a;border:1px solid #b6e6c9;padding:13px 16px;border-radius:12px;font-weight:600;margin-bottom:16px;display:none}

/* Homepage contact — friendly travel support */
.contact-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 6% 15%,rgba(52,211,153,.15),transparent 29%),
    radial-gradient(circle at 95% 8%,rgba(96,165,250,.18),transparent 28%),
    linear-gradient(145deg,#f7fffc 0%,#f4f9ff 58%,#fff 100%);
}
.contact-section::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  left:-86px;
  bottom:-92px;
  border:38px solid rgba(15,118,110,.055);
  border-radius:50%;
}
.contact-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);
  gap:70px;
  align-items:center;
}
.contact-copy{max-width:500px}
.contact-copy .eyebrow{
  border:1px solid rgba(37,99,235,.1);
  background:rgba(255,255,255,.76);
  box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.contact-copy h2{
  max-width:500px;
  font-size:clamp(36px,4.7vw,56px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.contact-copy>p{
  margin-top:18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.contact-availability{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:25px;
  padding:13px 15px;
  border:1px solid #c8f0e4;
  border-radius:15px;
  background:rgba(233,251,245,.78);
}
.availability-dot{
  position:relative;
  width:11px;
  height:11px;
  flex:none;
  border-radius:50%;
  background:#10b981;
  box-shadow:0 0 0 5px rgba(16,185,129,.12);
}
.availability-dot::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(16,185,129,.35);
  border-radius:50%;
}
.contact-availability b,.contact-availability small{display:block}
.contact-availability b{color:#0f766e;font-size:13px}
.contact-availability small{margin-top:1px;color:#4b6b65;font-size:11px}
.contact-copy .contact-methods{gap:10px;margin-top:15px}
.contact-copy .cm{
  position:relative;
  padding:14px 15px;
  border-color:rgba(148,163,184,.2);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(31,69,96,.055);
}
.contact-copy .cm:hover{
  border-color:rgba(37,99,235,.28);
  background:#fff;
  box-shadow:0 15px 34px rgba(31,69,96,.11);
  transform:translateY(-2px);
}
.contact-copy .cm .ic{
  width:43px;
  height:43px;
  border-radius:12px;
}
.contact-copy .cm .ic svg{width:21px;height:21px}
.contact-copy .cm small{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contact-copy .cm b{
  display:block;
  margin-top:1px;
  overflow-wrap:anywhere;
  font-size:14px;
}
.cm-arrow{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  margin-left:auto;
  border-radius:50%;
  background:#f3f7fb;
  color:var(--blue-600);
  font-size:16px;
  transition:.18s;
}
.cm:hover .cm-arrow{background:var(--blue-600);color:#fff;transform:translateX(2px)}
.contact-proof{
  display:flex;
  flex-wrap:wrap;
  gap:11px 16px;
  margin-top:17px;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.contact-proof span::first-letter{color:#0f9f7a}

.contact-form{
  position:relative;
  padding:34px;
  border:7px solid rgba(255,255,255,.82);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 70px rgba(31,69,96,.17);
}
.contact-form::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:90px;
  height:90px;
  top:-24px;
  right:-25px;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(15,118,110,.18),rgba(37,99,235,.14));
  transform:rotate(12deg);
}
.contact-form-heading{margin-bottom:24px}
.contact-form-heading>span{
  color:#0f766e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.contact-form-heading h3{
  margin-top:5px;
  font-size:27px;
  line-height:1.15;
}
.contact-form-heading p{
  max-width:470px;
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form .field{margin-bottom:14px}
.contact-form .field label{
  margin-bottom:6px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.contact-form .field input,
.contact-form .field textarea{
  border-color:#dce5ef;
  border-radius:13px;
  background:#f9fbfd;
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.02);
}
.contact-form .field input{padding:13px 14px}
.contact-form .field textarea{min-height:125px;padding:13px 14px}
.contact-form .field input:focus,
.contact-form .field textarea:focus{
  border-color:var(--blue-500);
  background:#fff;
  box-shadow:0 0 0 3px var(--blue-100);
}
.contact-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:2px 0 17px;
  color:#64748b;
  font-size:11px;
  line-height:1.55;
  cursor:pointer;
}
.contact-consent input{
  width:16px;
  height:16px;
  flex:none;
  margin:1px 0 0;
  accent-color:var(--blue-600);
}
.contact-form .btn{border-radius:14px}
.contact-form .btn>span{font-size:19px;transition:transform .18s}
.contact-form .btn:hover>span{transform:translateX(4px)}
.contact-privacy{
  margin-top:10px;
  color:#94a3b8;
  font-size:10px;
  text-align:center;
}

@media (max-width:980px){
  .contact-shell{grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:38px}
  .contact-form{padding:28px}
}
.contact-section--simple{
  background:#f8fafc;
  overflow:visible;
}
.contact-section--simple::before{display:none}
.contact-shell--simple{
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
.contact-section--simple .contact-copy h2{
  font-size:clamp(28px,4vw,38px);
  line-height:1.15;
  letter-spacing:-.03em;
}
.contact-section--simple .contact-copy>p{
  margin-top:12px;
  font-size:16px;
}
.contact-section--simple .contact-form{
  border:1px solid var(--line);
  border-radius:16px;
  padding:28px;
  box-shadow:0 4px 16px rgba(15,23,42,.06);
}
.contact-section--simple .contact-form::before{display:none}

@media (max-width:820px){
  .contact-shell{grid-template-columns:1fr;gap:42px;align-items:start}
  .contact-shell--simple{grid-template-columns:1fr;gap:32px}
  .contact-copy{max-width:680px}
  .contact-copy .contact-methods{display:grid;grid-template-columns:1fr 1fr}
  .contact-copy .cm:first-child{grid-column:1/-1}
  .contact-form{width:100%;max-width:680px}
}
@media (max-width:560px){
  .contact-copy h2{font-size:clamp(36px,12vw,50px)}
  .contact-copy>p{font-size:16px}
  .contact-copy .contact-methods{grid-template-columns:1fr}
  .contact-copy .cm:first-child{grid-column:auto}
  .contact-proof{display:grid;grid-template-columns:1fr 1fr}
  .contact-form{padding:22px;border-width:5px;border-radius:23px}
  .contact-form-heading h3{font-size:24px}
  .contact-field-row{grid-template-columns:1fr;gap:0}
  .contact-form .btn{font-size:15px;padding:14px 18px}
}

/* ===== Footer ===== */
.footer{background:var(--ink);color:#cbd6e8;padding:54px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.footer .brand{color:#fff}
.footer p{color:#94a3bb;font-size:15px;margin-top:14px;max-width:320px}
.footer h5{color:#fff;font-size:15px;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer a{color:#94a3bb;font-size:15px}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #1e2b45;margin-top:36px;padding-top:22px;text-align:center;color:#7e8db0;font-size:14px}

/* ===== Global Floating WhatsApp Button ===== */
.wa-float {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 9999 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  border-radius: 26px !important;
  background: #25D366 !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}

.wa-float::before {
  content: "" !important;
  position: absolute !important;
  top: -2px !important;
  left: -2px !important;
  right: -2px !important;
  bottom: -2px !important;
  border-radius: 28px !important;
  border: 2px solid #25D366 !important;
  opacity: 0 !important;
  animation: waPulse 2.5s cubic-bezier(0.24, 0, 0.38, 1) infinite !important;
}

@keyframes waPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    transform: scale(1.15);
    opacity: 0;
  }
}

.wa-float svg {
  width: 26px !important;
  height: 26px !important;
  flex-shrink: 0 !important;
  fill: #ffffff !important;
  transition: transform 0.25s ease !important;
}

.wa-float .wa-label {
  display: inline-block !important;
  max-width: 0 !important;
  opacity: 0 !important;
  transform: translateX(10px) !important;
  transition: max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease, transform 0.3s ease !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
  overflow: hidden !important;
}

@media (hover: hover) and (min-width: 769px) {
  .wa-float:hover,
  .wa-float:active,
  .wa-float:focus {
    width: 154px !important;
    padding: 0 18px !important;
    gap: 8px !important;
    box-shadow: 0 8px 26px rgba(18, 140, 126, 0.5) !important;
    transform: translateY(-2px) !important;
  }
  .wa-float:hover .wa-label,
  .wa-float:active .wa-label,
  .wa-float:focus .wa-label {
    max-width: 100px !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
  }
  .wa-float:hover svg {
    transform: scale(1.05) !important;
  }
}

@media (max-width: 768px) {
  .wa-float {
    bottom: 20px !important;
    right: 20px !important;
    width: 50px !important;
    height: 50px !important;
  }
  .wa-float svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* Keep the global floating WhatsApp off staff console screens & hide AI assistant */
.has-admin-side .wa-float,
.is-staff-view .wa-float,
.apply-focus .wa-float,
.ai-assistant,
.ai-assistant-panel,
.ai-assistant-trigger {
  display: none !important;
}

/* Hide header bar on applicant profiles overview screen */
.applicant-profiles-view .header,
.applicant-profiles-view #mainHeader,
html.applicant-profiles-view .header,
html.applicant-profiles-view #mainHeader,
body.applicant-profiles-view .header,
body.applicant-profiles-view #mainHeader {
  display: none !important;
}

/* ===== Responsive ===== */
@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;gap:30px;padding:48px 0 60px}
  .hero-art{order:-1}
  .req-wrap,.contact-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
.mobile-menu-nat-btn{
  display:none;
}

@media (max-width:820px){
  .nav-brand-cluster > #nationalityDropdown > .header-dropdown-trigger{
    display:none !important;
  }
  .nav-brand-cluster{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
  }
  .header .nav,
  .discover-header .nav,
  .home-page .discover-header .nav{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding-inline:14px !important;
  }
  .header .nav-actions,
  .discover-header .nav-actions,
  .country-page .nav-actions{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
  }
  .site-language-header-selector{
    display:inline-flex !important;
    align-items:center !important;
  }
  .site-language-trigger{
    padding:7px 11px !important;
    font-size:12px !important;
    height:34px !important;
    border-radius:999px !important;
  }
  .header .nav-profile,
  .discover-header .nav-profile{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    max-width:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    flex:0 0 36px !important;
    aspect-ratio:1 / 1 !important;
    border-radius:50% !important;
    padding:0 !important;
  }
  .header .menu-btn,
  .discover-header .menu-btn,
  .menu-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:36px !important;
    height:36px !important;
    padding:6px !important;
    flex:0 0 36px !important;
    border-radius:50% !important;
    background:#f1f5f9 !important;
    border:1px solid #e2e8f0 !important;
    color:#1e293b !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    user-select:none !important;
    position:relative !important;
    z-index:100 !important;
  }
  .header .menu-btn:active,
  .discover-header .menu-btn:active,
  .menu-btn:active{
    background:#e2e8f0 !important;
    transform:scale(.95) !important;
  }
  .header .menu-btn svg,
  .discover-header .menu-btn svg,
  .menu-btn svg{
    width:22px !important;
    height:22px !important;
    pointer-events:none !important;
  }
  .header .nav-links,
  .discover-header .nav-links,
  .home-page .discover-header .nav-links,
  .nav-links{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    background:#fff !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    padding:12px 16px !important;
    border-bottom:1px solid var(--line) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.12) !important;
    z-index:9999 !important;
    margin:0 !important;
  }
  .header .nav-links.open,
  .discover-header .nav-links.open,
  .home-page .discover-header .nav-links.open,
  .nav-links.open{
    display:flex !important;
    animation:smoothFadeIn .2s ease forwards !important;
  }
  .mobile-menu-nat-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:12px 14px !important;
    margin-bottom:8px !important;
    border:1.5px solid #e2e8f0 !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    font-family:inherit !important;
    cursor:pointer !important;
    transition:background-color .15s ease,border-color .15s ease !important;
  }
  .mobile-menu-nat-btn:hover,
  .mobile-menu-nat-btn:active{
    background:#edf4fa !important;
    border-color:#cbd5e1 !important;
  }
  .mobile-nat-left{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
  }
  .mobile-nat-flag{
    width:22px !important;
    height:15px !important;
    border-radius:3px !important;
    object-fit:cover !important;
    box-shadow:0 1px 3px rgba(0,0,0,.1) !important;
  }
  .mobile-nat-label{
    font-size:14px !important;
    font-weight:700 !important;
    color:#0f172a !important;
  }
  .mobile-nat-val{
    font-size:13px !important;
    font-weight:700 !important;
    color:#2563eb !important;
    margin-left:auto !important;
    margin-right:6px !important;
  }
  .mobile-menu-nat-btn .dropdown-chevron{
    width:7px !important;
    height:7px !important;
    border-right:1.5px solid #64748b !important;
    border-bottom:1.5px solid #64748b !important;
    transform:rotate(45deg) !important;
  }
  .header .nav-links a,
  .discover-header .nav-links a,
  .home-page .discover-header .nav-links a,
  .nav-links a{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    padding:12px 16px !important;
    border-radius:12px !important;
    font-size:15px !important;
    font-weight:600 !important;
    color:#1e293b !important;
    background:transparent !important;
    text-align:left !important;
    border:none !important;
  }
  .header .nav-links a:hover,
  .discover-header .nav-links a:hover,
  .home-page .discover-header .nav-links a:hover,
  .nav-links a:hover{
    background:#f8fafc !important;
    color:#0f172a !important;
  }
  .header .nav-links a.active,
  .discover-header .nav-links a.active,
  .home-page .discover-header .nav-links a.active,
  .nav-links a.active{
    background:#eff6ff !important;
    color:#2563eb !important;
  }
  .header .nav-links a.active::after,
  .discover-header .nav-links a.active::after,
  .home-page .discover-header .nav-links a.active::after,
  .nav-links a.active::after{
    display:none !important;
  }
  .nav-actions .btn-ghost{display:none}
  .section{padding:58px 0}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-cta .btn{flex:1}
}

/* ===== Articles list ===== */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.art-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:.18s;display:flex;flex-direction:column}
.art-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--blue-400)}
.art-cover{aspect-ratio:1.7/1;background:var(--sky-50) center/cover no-repeat;display:grid;place-items:center;color:var(--blue-400)}
.art-cover svg{width:46px;height:46px;opacity:.5}
.art-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.art-card-body h3{font-size:18px;font-weight:800;line-height:1.3;margin-bottom:8px}
.art-card-body p{color:var(--muted);font-size:14.5px;line-height:1.5;flex:1}
.art-readmore{color:var(--blue-600);font-weight:700;font-size:14px;margin-top:14px}

/* ===== Single article ===== */
.article-wrap{padding:50px 0 70px}
.article-inner{max-width:760px}
.art-back{color:var(--blue-600);font-weight:600;font-size:14px;display:inline-block;margin-bottom:18px}
.article-title{font-size:clamp(28px,4.5vw,42px);font-weight:800;line-height:1.15}
.article-meta{color:var(--muted);font-size:14px;margin-top:12px}
.article-cover{aspect-ratio:1.9/1;background:var(--sky-50) center/cover no-repeat;border-radius:var(--radius);margin:24px 0}
.article-body{font-size:17.5px;line-height:1.75;color:#24324a}
.article-body h2{font-size:27px;font-weight:800;margin:34px 0 12px}
.article-body h3{font-size:21px;font-weight:800;margin:26px 0 10px}
.article-body p{margin:0 0 18px}
.article-body ul,.article-body ol{margin:0 0 18px;padding-left:24px}
.article-body li{margin-bottom:8px}
.article-body a{color:var(--blue-600);text-decoration:underline}
.article-body img{max-width:100%;border-radius:12px;margin:18px 0}
.article-body b,.article-body strong{font-weight:700}
.article-body blockquote{border-left:4px solid var(--blue-400);background:var(--sky-50);margin:18px 0;padding:14px 20px;border-radius:0 12px 12px 0;color:var(--ink)}
.article-cta{margin-top:44px;padding:30px;background:var(--sky-50);border:1px solid var(--blue-100);border-radius:var(--radius);text-align:center}
.article-cta h3{font-size:22px;font-weight:800;margin-bottom:16px}

@media (max-width:880px){ .art-grid{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .art-grid{grid-template-columns:1fr} }

/* ===== Global platform — destination search & cards ===== */
.dest-search{position:relative;max-width:560px;margin:30px 0 0}
.dest-search input{width:100%;padding:18px 22px 18px 52px;border:1.5px solid var(--line);border-radius:16px;font-family:inherit;font-size:17px;box-shadow:var(--shadow-sm);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b85' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 18px center;background-size:20px}
.dest-search input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}
.dest-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:20;overflow:hidden;display:none;max-height:340px;overflow-y:auto}
.dest-results.show{display:block}
.dest-results a{display:flex;align-items:center;gap:12px;padding:12px 16px;font-weight:600;color:var(--ink)}
.dest-results a:hover{background:var(--sky-50)}
.dest-results .flag{width:28px;height:20px;border-radius:3px;object-fit:cover;flex-shrink:0}
.dest-results .none{padding:14px 16px;color:var(--muted)}

.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.dest-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:.18s;display:flex;flex-direction:column}
.dest-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--blue-400)}
.dest-flag{width:100%;height:120px;object-fit:cover;background:var(--sky-50)}
.dest-body{padding:16px 18px;display:flex;flex-direction:column;flex:1}
.dest-body h3{font-size:17px;font-weight:800}
.dest-body .meta{color:var(--muted);font-size:13.5px;margin-top:3px}
.dest-body .from{margin-top:10px;font-weight:800;color:var(--blue-700);font-size:14px}
.dest-body .from span{color:var(--muted);font-weight:600;font-size:12px}

.group-block{margin-top:46px}
.group-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.group-head h3{font-size:22px;font-weight:800}
.group-head .gpill{font-size:12px;font-weight:700;color:#fff;background:var(--blue-600);padding:4px 12px;border-radius:999px}
.group-block p.gdesc{color:var(--muted);font-size:15px;max-width:620px}

@media (max-width:980px){ .legacy-dest-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:720px){ .legacy-dest-grid{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .legacy-dest-grid{grid-template-columns:1fr 1fr;gap:14px} .dest-flag{height:90px} }

/* Homepage — clean, Atlys-inspired experience */
.home-page{
  background:#fff;
}
.home-page .header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}

/* Simple centered hero */
.home-hero--simple{
  position:relative;
  background:#dcecff;
  padding:64px 0 48px;
  text-align:center;
}
.home-hero-center{
  position:relative;
  z-index:2;
  max-width:680px;
  margin:0 auto;
}
.home-hero--simple h1{
  font-size:clamp(36px,6vw,58px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--ink);
}
.home-hero--simple h1 .hl{
  background:linear-gradient(135deg,var(--blue-600),var(--blue-400));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.home-hero--simple .hero-sub{
  margin-top:16px;
  color:var(--muted);
  font-size:18px;
  line-height:1.6;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
}

/* Explore / Events tabs */
.home-tabs{
  display:inline-flex;
  gap:4px;
  margin-top:32px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f8fafc;
}
.home-tab{
  padding:10px 28px;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  color:var(--muted);
  transition:.15s;
}
.home-tab:hover{color:var(--ink)}
.home-tab.active{
  background:#fff;
  color:var(--ink);
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}

/* Centered search bar */
.hero-search--center{
  max-width:520px;
  margin:24px auto 0;
  padding:6px 6px 6px 48px;
  display:flex;
  align-items:center;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:14px;
  box-shadow:0 4px 24px rgba(15,23,42,.06);
}
.hero-search--center:focus-within{
  border-color:var(--blue-500);
  box-shadow:0 4px 24px rgba(37,99,235,.12);
}
.hero-search--center .search-icon{
  position:absolute;
  left:20px;
  width:17px;
  height:17px;
  border:2px solid #94a3b8;
  border-radius:50%;
}
.hero-search--center .search-icon::after{
  content:"";
  position:absolute;
  width:7px;
  height:2px;
  right:-6px;
  bottom:-3px;
  background:#94a3b8;
  transform:rotate(45deg);
  border-radius:2px;
}
.hero-search--center input{
  min-width:0;
  flex:1;
  border:0;
  padding:14px 10px;
  background:transparent;
  box-shadow:none;
  font:inherit;
  font-size:16px;
  outline:0;
}
.hero-search--center input:focus{border:0;box-shadow:none}
.hero-search--center .search-action{
  border:0;
  border-radius:10px;
  padding:12px 22px;
  background:var(--blue-600);
  color:#fff;
  font:inherit;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  transition:background .15s;
}
.hero-search--center .search-action:hover{background:var(--blue-700)}

.popular-chips--center{
  justify-content:center;
  margin-top:14px;
}
.destination-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  transition:.15s;
}
.destination-chip:hover{border-color:var(--blue-400);background:var(--sky-50)}
.destination-chip img{width:20px;height:14px;border-radius:2px;object-fit:cover}

.hero-trust-row{
  display:flex;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.hero-trust-row span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:14px;
  font-weight:600;
  color:var(--muted);
}
.hero-trust-row svg{width:18px;height:18px;color:var(--green);flex-shrink:0}

/* Compact sections */
.section-compact{padding:48px 0}
.home-page #destinations{background:#fff;padding-top:0}
.home-page #how .steps{margin-top:36px}

/* Simple destination cards — Atlys-style list grid */
.dest-grid--simple{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:0;
}
.dest-card-simple{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition:.15s;
}
.dest-card-simple:hover{
  border-color:var(--blue-400);
  box-shadow:0 4px 16px rgba(15,23,42,.08);
  transform:translateY(-2px);
}
.dest-card-simple .dc-flag{
  width:44px;
  height:32px;
  object-fit:cover;
  border-radius:6px;
  flex-shrink:0;
  box-shadow:0 1px 4px rgba(0,0,0,.1);
}
.dest-card-simple .dc-info{flex:1;min-width:0}
.dest-card-simple .dc-info h3{
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dest-card-simple .dc-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:5px;
}
.dest-card-simple .dc-tag{
  font-size:11px;
  font-weight:700;
  padding:3px 8px;
  border-radius:6px;
  background:#f1f5f9;
  color:var(--muted);
}
.dest-card-simple .dc-tag.price{
  background:var(--blue-100);
  color:var(--blue-700);
}
.dest-card-simple .dc-arrow{
  flex-shrink:0;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f8fafc;
  color:var(--muted);
  font-size:18px;
  transition:.15s;
}
.dest-card-simple:hover .dc-arrow{background:var(--blue-600);color:#fff}

.group-block{margin-top:40px}
.group-block .group-head{margin-bottom:16px}
.group-block .dest-grid--simple{margin-top:12px}

@media (max-width:980px){
  .dest-grid--simple{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .home-hero--simple{padding:44px 0 32px}
  .home-hero--simple h1{font-size:clamp(32px,9vw,44px)}
  .home-hero--simple .hero-sub{font-size:16px}
  .home-tabs{margin-top:24px}
  .home-tab{padding:9px 20px;font-size:14px}
  .hero-search--center{margin-top:20px}
  .hero-search--center .search-action{padding:11px 16px;font-size:14px}
  .popular-chips--center{flex-wrap:nowrap;overflow:auto;justify-content:flex-start;padding-bottom:4px}
  .destination-chip{flex:none}
  .hero-trust-row{gap:12px}
  .hero-trust-row span{font-size:13px}
  .dest-grid--simple{grid-template-columns:1fr;gap:8px}
  .dest-card-simple{padding:14px 16px}
  .section-compact{padding:32px 0}
}

/* Legacy homepage hero styles (kept for other pages referencing them) */
.home-hero{
  min-height:0;
  isolation:isolate;
  overflow:hidden;
}
.home-hero-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#dcecff;
  pointer-events:none;
}
.home-hero-video__item{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.015);
  transition:opacity 1.2s ease;
}
.home-hero-video__item.active{
  opacity:1;
}
.home-hero-video__wash{
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(247,251,255,.72)),
    linear-gradient(90deg,rgba(227,242,255,.38),rgba(255,255,255,.18),rgba(227,242,255,.38));
}
@media (max-width:560px){
  .home-hero-video__item{object-position:center center}
  .home-hero-video__wash{
    background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(247,251,255,.8));
  }
}
@media (prefers-reduced-motion:reduce){
  .home-hero-video__item{transition:none}
}
.home-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  align-items:center;
  padding-top:48px;
  padding-bottom:58px;
}
.home-hero-copy{max-width:650px}
.home-hero .eyebrow{
  border:1px solid rgba(37,99,235,.1);
  background:var(--blue-100);
  color:var(--blue-600);
}
.home-hero h1{
  max-width:630px;
  margin-top:18px;
  color:var(--ink);
  font-size:clamp(43px,5.4vw,72px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.home-hero h1 .hl{
  background:linear-gradient(120deg,var(--blue-600),var(--blue-400));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-kicker{
  margin-top:20px;
  color:var(--blue-600);
  font-size:clamp(18px,2vw,24px);
  font-weight:800;
  letter-spacing:-.02em;
}
.home-hero p.sub{
  max-width:590px;
  margin-top:10px;
  color:var(--muted);
  line-height:1.7;
}
.hero-search{
  position:relative;
  max-width:600px;
  margin:28px 0 0;
  padding:7px 7px 7px 48px;
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 4px 24px rgba(15,23,42,.06);
}
.hero-search:focus-within{
  border-color:var(--blue-500);
  box-shadow:0 4px 24px rgba(37,99,235,.12);
}
.hero-search .search-icon{
  position:absolute;
  left:20px;
  width:17px;
  height:17px;
  border:2px solid #64748b;
  border-radius:50%;
}
.hero-search .search-icon::after{
  content:"";
  position:absolute;
  width:7px;
  height:2px;
  right:-6px;
  bottom:-3px;
  background:#64748b;
  transform:rotate(45deg);
  border-radius:2px;
}
.hero-search input{
  min-width:0;
  flex:1;
  border:0;
  padding:12px 10px;
  background:transparent;
  box-shadow:none;
  font:inherit;
  font-size:16px;
  outline:0;
}
.hero-search input:focus{border:0;box-shadow:none}
.search-action{
  border:0;
  border-radius:13px;
  padding:13px 20px;
  background:var(--blue-600);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
}
.search-action:hover{background:var(--blue-700)}
.hero-search .dest-results{top:calc(100% + 10px);left:0;right:0}
.popular-chips{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:16px;
}
.home-hero .trust{margin-top:26px;gap:18px}
.home-hero .trust div{color:var(--muted);font-size:13px}
.home-hero .trust svg{color:var(--green)}
.hero-destinations{display:none}
.hero-photo{display:none}
.hero-stamp{display:none}

.home-page .dest-grid{gap:12px}
.home-page .dest-card{
  position:relative;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:none;
}
.home-page .dest-card:hover{
  border-color:var(--blue-400);
  box-shadow:0 4px 16px rgba(15,23,42,.08);
  transform:translateY(-2px);
}
.dest-media{
  position:relative;
  height:140px;
  overflow:hidden;
  background:var(--sky-50);
}
.dest-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s ease;
}
.dest-card:hover .dest-photo{transform:scale(1.04)}
.dest-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:48%;
  background:linear-gradient(transparent,rgba(5,18,31,.55));
  pointer-events:none;
}
.dest-country-flag{
  position:absolute;
  z-index:2;
  top:12px;
  left:12px;
  width:36px;
  height:25px;
  object-fit:cover;
  border:2px solid #fff;
  border-radius:5px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.dest-place{
  position:absolute;
  z-index:2;
  left:12px;
  right:12px;
  bottom:10px;
  overflow:hidden;
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-page .dest-body{padding:14px 16px}

@media (max-width:1040px){
  .home-hero-grid{grid-template-columns:1fr;gap:34px}
}
@media (max-width:820px){
  .home-hero-grid{grid-template-columns:1fr;padding-top:48px;padding-bottom:58px}
  .home-hero-copy{max-width:680px}
}
@media (max-width:560px){
  .home-hero-grid{padding-top:38px;gap:28px}
  .home-hero h1{font-size:clamp(38px,12vw,54px)}
  .home-hero p.sub{font-size:16px}
  .hero-search{padding-left:43px}
  .search-action{padding:12px 14px}
  .popular-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:5px;margin-right:-22px}
  .destination-chip{flex:none}
  .home-hero .trust{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .home-page .dest-grid{gap:8px}
  .dest-media{height:120px}
  .dest-country-flag{top:10px;left:10px;width:32px;height:22px}
  .dest-place{left:10px;right:10px;bottom:8px;font-size:11px}
  .home-page .dest-body{padding:12px}
  .home-page .dest-body h3{font-size:15px}
}

/* Country pages — shared alignment for every destination */
.country-page{min-height:100vh;background:#fbfefd}
.country-page .header{
  position:relative;
  top:auto;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.country-detail-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(52,211,153,.16),transparent 30%),
    radial-gradient(circle at 92% 8%,rgba(96,165,250,.18),transparent 30%),
    linear-gradient(145deg,#f7fffc 0%,#f3f8ff 58%,#fff 100%);
}
.country-detail-hero::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-90px;
  bottom:-110px;
  border:40px solid rgba(37,99,235,.055);
  border-radius:50%;
}
.country-detail-grid{
  position:relative;
  z-index:1;
  min-height:610px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
  gap:70px;
  align-items:center;
  padding-top:64px;
  padding-bottom:72px;
}
.country-detail-copy{max-width:580px}
.country-back{
  display:inline-flex;
  align-items:center;
  margin-bottom:25px;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
  transition:.18s;
}
.country-back:hover{color:var(--blue-600);transform:translateX(-3px)}
.country-guide-row{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.country-guide-row img{
  width:38px;
  height:27px;
  object-fit:cover;
  border:3px solid #fff;
  border-radius:7px;
  box-shadow:0 5px 14px rgba(15,23,42,.16);
}
.country-guide-row .eyebrow{margin:0}
.country-detail-copy h1{
  max-width:650px;
  font-size:clamp(42px,5.8vw,70px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.country-detail-copy>p{
  max-width:570px;
  margin-top:20px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}
.country-detail-copy>.btn{margin-top:28px}
.country-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:27px;
}
.country-facts>div{
  min-width:0;
  padding:14px 13px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:15px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(31,69,96,.06);
}
.country-facts strong,.country-facts span{display:block}
.country-facts strong{
  overflow:hidden;
  color:var(--ink);
  font-size:16px;
  line-height:1.25;
  text-overflow:ellipsis;
}
.country-facts span{
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.25;
  text-transform:uppercase;
}
.country-detail-visual{
  position:relative;
  height:465px;
  overflow:hidden;
  border:8px solid rgba(255,255,255,.94);
  border-radius:120px 30px 96px 30px;
  background:var(--blue-100);
  box-shadow:0 28px 70px rgba(31,69,96,.22);
  transform:rotate(1.25deg);
}
.country-detail-visual>img{width:100%;height:100%;object-fit:cover}
.country-detail-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--blue-400);
  background:linear-gradient(135deg,var(--blue-100),#fff);
}
.country-detail-placeholder svg{width:70px;height:70px}
.country-image-caption{
  position:absolute;
  z-index:4;
  left:22px;
  bottom:22px;
  min-width:150px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:15px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(15,23,42,.12);
}
.country-image-caption small,.country-image-caption strong{display:block}
.country-image-caption small{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.country-image-caption strong{margin-top:2px;color:var(--ink);font-size:15px}
.country-carousel-stage{position:absolute;inset:0}
.country-carousel-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.025);
  transition:opacity .75s ease,transform 5s ease;
}
.country-carousel-slide.active{opacity:1;transform:scale(1)}
.country-carousel-slide.failed{display:none}
.country-carousel-shade{
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(4,18,31,.38));
  pointer-events:none;
}
.country-carousel-controls{
  position:absolute;
  z-index:5;
  right:20px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:9px;
}
.country-carousel-arrow,.country-carousel-dots button{border:0;cursor:pointer}
.country-carousel-arrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-size:23px;
  line-height:1;
  box-shadow:0 7px 20px rgba(15,23,42,.14);
}
.country-carousel-arrow:hover{background:#fff;transform:translateY(-1px)}
.country-carousel-dots{display:flex;gap:5px}
.country-carousel-dots button{
  width:7px;
  height:7px;
  padding:0;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  transition:.18s;
}
.country-carousel-dots button.active{width:20px;border-radius:999px;background:#fff}

.country-overview{background:#fff}
.country-overview>.container{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:72px;
  align-items:start;
}
.country-overview-copy{max-width:470px}
.country-overview-copy h2{font-size:clamp(30px,4vw,45px);line-height:1.1}
.country-overview-copy p{
  margin-top:18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.country-overview-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.country-overview-points>div{
  min-height:220px;
  display:flex;
  flex-direction:column;
  padding:24px 21px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(155deg,#fff,#f7fffc);
  box-shadow:0 12px 34px rgba(31,69,96,.07);
}
.country-overview-points span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:30px;
  border-radius:13px;
  background:#e9fbf5;
  color:#0f766e;
  font-size:13px;
  font-weight:800;
}
.country-overview-points b{font-size:16px;line-height:1.3}
.country-overview-points small{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.country-options{
  background:
    radial-gradient(circle at 10% 15%,rgba(52,211,153,.1),transparent 26%),
    linear-gradient(180deg,#f6fbff,#fff);
}
.country-options .cards{align-items:stretch}
.country-options .vcard{
  flex-basis:320px;
  max-width:360px;
  border:0;
  border-radius:22px;
  padding:27px;
  box-shadow:0 12px 38px rgba(31,69,96,.1);
}
.country-options .vcard:hover{
  border-color:transparent;
  box-shadow:0 22px 50px rgba(31,69,96,.16);
}
.eta-pill{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  margin-bottom:13px;
  padding:6px 11px;
  border:1px solid #c8f0e4;
  border-radius:999px;
  background:#e9fbf5;
  color:#0f766e;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.country-visa-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:16px 0 18px;
  padding:12px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.country-visa-facts span{min-width:0}
.country-visa-facts small,.country-visa-facts b{display:block}
.country-visa-facts small{
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.country-visa-facts b{
  margin-top:3px;
  overflow-wrap:anywhere;
  font-size:11px;
  line-height:1.35;
}
.country-empty{
  width:100%;
  max-width:620px;
  margin:0 auto;
  padding:38px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  text-align:center;
  box-shadow:var(--shadow-sm);
}
.country-empty p{margin:10px 0 22px;color:var(--muted)}

.country-documents{background:#fff}
.country-documents-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:72px;
  align-items:start;
}
.country-documents-grid>div:first-child{max-width:430px}
.country-documents-grid>div:first-child p{
  margin-top:16px;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.country-doc-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.country-doc-list>div{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:19px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fbfefd;
}
.country-doc-list svg{
  width:21px;
  height:21px;
  flex:none;
  margin-top:2px;
  color:#0f9f7a;
}
.country-doc-list b,.country-doc-list small{display:block}
.country-doc-list b{font-size:15px}
.country-doc-list small{
  margin-top:4px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.55;
}

.country-page-loading,.country-page-error{
  min-height:68vh;
  display:grid;
  place-items:center;
  padding:64px 22px;
  background:
    radial-gradient(circle at 25% 20%,rgba(52,211,153,.13),transparent 32%),
    var(--sky-50);
  text-align:center;
}
.country-loading-card,.country-page-error>div{
  width:100%;
  max-width:480px;
  padding:42px 34px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 54px rgba(31,69,96,.12);
}
.country-loading-card h1,.country-page-error h1{margin-top:18px;font-size:28px}
.country-loading-card p,.country-page-error p{margin:10px 0 23px;color:var(--muted)}
.country-spinner{
  width:42px;
  height:42px;
  display:inline-block;
  border:4px solid var(--blue-100);
  border-top-color:var(--blue-600);
  border-radius:50%;
  animation:country-spin .8s linear infinite;
}
.country-error-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto;
  border-radius:50%;
  background:#fff0f0;
  color:var(--red);
  font-size:24px;
  font-weight:800;
}
@keyframes country-spin{to{transform:rotate(360deg)}}

@media (max-width:980px){
  .country-detail-grid{
    grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
    gap:38px;
  }
  .country-detail-visual{height:410px}
  .country-overview>.container,.country-documents-grid{grid-template-columns:1fr;gap:38px}
  .country-overview-copy,.country-documents-grid>div:first-child{max-width:660px}
}
@media (max-width:760px){
  .country-page .nav-actions{gap:8px}
  .country-page .nav-actions .btn{padding:11px 17px;font-size:14px}
  .country-detail-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:35px;
    padding-top:42px;
    padding-bottom:52px;
  }
  .country-detail-copy{max-width:680px}
  .country-detail-visual{
    width:100%;
    height:390px;
    border-radius:80px 24px 68px 24px;
    transform:none;
  }
  .country-overview-points{grid-template-columns:1fr 1fr}
  .country-overview-points>div:last-child{grid-column:1/-1;min-height:180px}
  .country-doc-list{grid-template-columns:1fr 1fr}
}
@media (max-width:540px){
  .country-page .header .nav{height:66px}
  .country-page .brand{font-size:18px}
  .country-page .brand .logo{width:34px;height:34px}
  .country-page .nav-actions .btn-ghost{display:none}
  .country-page .nav-actions .btn-primary{padding:10px 16px;font-size:13px}
  .country-detail-copy h1{font-size:clamp(39px,13vw,54px)}
  .country-detail-copy>p{font-size:16px}
  .country-facts{grid-template-columns:1fr 1fr}
  .country-facts>div:last-child:nth-child(odd){grid-column:1/-1}
  .country-detail-visual{height:310px;border-width:5px;border-radius:62px 20px 54px 20px}
  .country-image-caption{left:13px;bottom:13px;padding:9px 12px}
  .country-carousel-controls{right:12px;bottom:13px}
  .country-carousel-arrow{width:34px;height:34px}
  .country-overview-points,.country-doc-list{grid-template-columns:1fr}
  .country-overview-points>div,
  .country-overview-points>div:last-child{min-height:0;grid-column:auto}
  .country-overview-points span{margin-bottom:18px}
  .country-options .cards{gap:18px;margin-top:32px}
  .country-options .vcard{max-width:none;padding:23px}
  .country-options .vcard .price{font-size:32px}
  .country-documents-grid{gap:28px}
}
@media (prefers-reduced-motion:reduce){
  .hero-photo{transition:none}
  .country-carousel-slide{transition:opacity .2s ease}
  .country-spinner{animation-duration:1.6s}
}

/* Events page — energetic, travel-ready discovery */
.events-page{background:#fbfefd}
.events-page .header{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.events-hero{
  position:relative;
  min-height:600px;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 16%,rgba(52,211,153,.17),transparent 30%),
    radial-gradient(circle at 92% 7%,rgba(96,165,250,.2),transparent 29%),
    linear-gradient(145deg,#f7fffc 0%,#f3f8ff 58%,#fff 100%);
}
.events-hero::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  left:-85px;
  bottom:-80px;
  border:38px solid rgba(15,118,110,.055);
  border-radius:50%;
}
.events-hero-grid{
  position:relative;
  z-index:1;
  min-height:600px;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(410px,.97fr);
  gap:68px;
  align-items:center;
  padding-top:58px;
  padding-bottom:78px;
}
.events-hero-copy{max-width:640px}
.events-hero-copy .eyebrow{
  border:1px solid rgba(37,99,235,.1);
  background:rgba(255,255,255,.76);
  box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.events-hero-copy h1{
  font-size:clamp(44px,5.7vw,72px);
  line-height:1.01;
  letter-spacing:-.047em;
}
.events-hero-copy h1 span{
  background:linear-gradient(120deg,#0f766e,#2563eb 72%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.events-hero-copy p{
  max-width:590px;
  margin-top:22px;
  color:var(--muted);
  font-size:18px;
  line-height:1.75;
}
.events-hero-copy>.btn{margin-top:30px}
.events-hero-visual{
  position:relative;
  min-height:430px;
  display:grid;
  place-items:center;
}
.event-orbit{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.event-orbit-one{
  width:390px;
  height:390px;
  border:1px solid rgba(37,99,235,.13);
}
.event-orbit-two{
  width:470px;
  height:250px;
  border:1px dashed rgba(15,118,110,.17);
  transform:rotate(-24deg);
}
.events-calendar{
  position:relative;
  z-index:2;
  width:min(410px,88%);
  overflow:hidden;
  border:7px solid rgba(255,255,255,.94);
  border-radius:31px;
  background:#fff;
  box-shadow:0 28px 70px rgba(31,69,96,.2);
  transform:rotate(2deg);
}
.events-calendar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px 14px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.events-calendar-top b{
  padding:5px 9px;
  border-radius:8px;
  background:#e9fbf5;
  color:#0f766e;
  font-size:11px;
}
.events-calendar-feature{
  min-height:185px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  margin:0 9px;
  padding:25px;
  border-radius:22px;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.25),transparent 26%),
    linear-gradient(145deg,#0f766e,#2563eb);
  color:#fff;
}
.events-calendar-feature small{
  margin-bottom:auto;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  opacity:.78;
  text-transform:uppercase;
}
.events-calendar-feature strong{
  max-width:290px;
  font-size:25px;
  line-height:1.1;
}
.events-calendar-feature span{margin-top:5px;font-size:13px;opacity:.82}
.events-calendar-types{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  padding:14px 10px 12px;
}
.events-calendar-types>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:10px 4px;
  border-radius:12px;
  background:#f6f9fd;
  color:var(--blue-600);
  font-size:15px;
}
.events-calendar-types b{color:var(--muted);font-size:9px}
.events-pass{
  position:absolute;
  z-index:3;
  right:-1%;
  bottom:18px;
  display:flex;
  flex-direction:column;
  padding:13px 18px;
  border:5px solid #fff;
  border-radius:17px;
  background:#0f172a;
  color:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.22);
  transform:rotate(-5deg);
}
.events-pass small{
  font-size:9px;
  letter-spacing:.1em;
  opacity:.65;
  text-transform:uppercase;
}
.events-pass b{font-size:14px}

.events-list-section{
  position:relative;
  padding:0 0 86px;
  background:linear-gradient(180deg,#fff,#f8fffc);
}
.events-page .ev-wrap{
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:0 22px;
}
.events-page .ev-tabs{
  position:relative;
  z-index:4;
  width:max-content;
  max-width:100%;
  display:flex;
  justify-content:center;
  gap:8px;
  margin:0 auto 28px;
  padding:11px;
  overflow-x:auto;
  border:1px solid rgba(148,163,184,.2);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 42px rgba(31,69,96,.12);
  transform:translateY(-25px);
  scrollbar-width:none;
}
.events-page .ev-tabs::-webkit-scrollbar{display:none}
.events-page .ev-tab{
  flex:none;
  padding:10px 17px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:.18s;
}
.events-page .ev-tab:hover{background:var(--sky-50);color:var(--blue-700)}
.events-page .ev-tab.active{
  border-color:transparent;
  background:linear-gradient(135deg,#0f766e,var(--blue-600));
  color:#fff;
  box-shadow:0 7px 18px rgba(37,99,235,.2);
}
.events-page .ev-month{margin:0 0 54px}
.events-page .ev-month-label{
  width:100%;
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 20px;
  padding:0;
  background:none;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.events-page .ev-month-label::before{
  content:"";
  width:9px;
  height:9px;
  flex:none;
  border-radius:50%;
  background:#0f9f7a;
  box-shadow:0 0 0 5px #e9fbf5;
}
.events-page .ev-month-label::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,var(--line),transparent);
}
.events-page .ev-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.events-page .ev-card{
  position:relative;
  isolation:isolate;
  min-height:350px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:25px;
  background-position:center;
  background-size:cover;
  box-shadow:0 13px 36px rgba(31,69,96,.13);
  transition:transform .24s ease,box-shadow .24s ease,background-size .5s ease;
}
.events-page .ev-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%,rgba(4,16,29,.78));
}
.events-page .ev-card::after{
  content:"";
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(7px);
}
.events-page .ev-card:hover{
  z-index:2;
  transform:translateY(-7px);
  box-shadow:0 25px 54px rgba(20,52,77,.22);
}
.ev-card-content{width:100%;padding:23px}
.ev-category{
  display:inline-flex;
  margin-bottom:10px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.events-page .ev-name{
  max-width:290px;
  color:#fff;
  font-size:22px;
  font-weight:800;
  line-height:1.2;
  text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.ev-meta{
  margin-top:7px;
  color:rgba(255,255,255,.86);
  font-size:12.5px;
  font-weight:600;
}
.ev-card-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:17px;
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.ev-card-link b{
  font-size:17px;
  line-height:1;
  transition:transform .18s;
}
.ev-card:hover .ev-card-link b{transform:translateX(4px)}
.events-loading{
  min-height:250px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  color:var(--muted);
}
.events-loading p{font-size:14px;font-weight:700}
.events-page .empty-state{
  max-width:650px;
  margin:48px auto 0;
  padding:38px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  color:var(--muted);
  text-align:center;
  box-shadow:var(--shadow-sm);
}

@media (max-width:940px){
  .events-hero-grid{grid-template-columns:1fr minmax(350px,.8fr);gap:38px}
  .events-hero-visual{min-height:390px}
  .events-page .ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .events-hero{min-height:0}
  .events-hero-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:32px;
    padding-top:46px;
    padding-bottom:66px;
  }
  .events-hero-copy{max-width:680px}
  .events-hero-visual{min-height:365px;max-width:560px;width:100%;margin:0 auto}
  .events-calendar{width:min(410px,82%)}
  .events-page .nav-actions{gap:8px}
  .events-page .nav-actions .btn{padding:11px 17px;font-size:14px}
}
@media (max-width:560px){
  .events-page .header .nav{height:66px}
  .events-page .brand{font-size:18px}
  .events-page .brand .logo{width:34px;height:34px}
  .events-page .nav-actions .btn-ghost{display:none}
  .events-page .nav-actions .btn-primary{padding:10px 16px;font-size:13px}
  .events-hero-copy h1{font-size:clamp(40px,13vw,56px)}
  .events-hero-copy p{font-size:16px}
  .events-hero-copy>.btn{width:100%}
  .events-hero-visual{min-height:320px}
  .event-orbit-one{width:300px;height:300px}
  .event-orbit-two{width:330px;height:190px}
  .events-calendar{width:88%;border-width:5px;border-radius:24px}
  .events-calendar-feature{min-height:155px;padding:20px}
  .events-calendar-feature strong{font-size:21px}
  .events-calendar-types>span{padding:8px 2px}
  .events-pass{right:0;bottom:1px;border-width:4px;padding:10px 14px}
  .events-list-section{padding-bottom:60px}
  .events-page .ev-wrap{padding:0 17px}
  .events-page .ev-tabs{
    width:calc(100% + 10px);
    justify-content:flex-start;
    margin-left:-5px;
    padding:8px;
  }
  .events-page .ev-tab{padding:9px 14px;font-size:12px}
  .events-page .ev-grid{grid-template-columns:1fr;gap:17px}
  .events-page .ev-card{min-height:285px;border-width:4px;border-radius:22px}
  .events-page .ev-month{margin-bottom:42px}
  .events-page .ev-month-label{font-size:12px}
}

/* Inner event page — event story and visa planning */
.event-page{min-height:100vh;background:#fbfefd}
.event-page .header{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.event-detail-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 14%,rgba(52,211,153,.16),transparent 29%),
    radial-gradient(circle at 91% 8%,rgba(96,165,250,.2),transparent 29%),
    linear-gradient(145deg,#f7fffc 0%,#f3f8ff 58%,#fff 100%);
}
.event-detail-hero::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  left:-75px;
  bottom:-84px;
  border:34px solid rgba(15,118,110,.055);
  border-radius:50%;
}
.event-detail-grid{
  position:relative;
  z-index:1;
  min-height:640px;
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(440px,1.04fr);
  gap:70px;
  align-items:center;
  padding-top:60px;
  padding-bottom:72px;
}
.event-detail-copy{max-width:610px}
.event-back{
  display:inline-flex;
  margin-bottom:24px;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
  transition:.18s;
}
.event-back:hover{color:var(--blue-600);transform:translateX(-3px)}
.event-detail-badges{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.event-detail-badges img{
  width:41px;
  height:29px;
  object-fit:cover;
  border:3px solid #fff;
  border-radius:7px;
  box-shadow:0 5px 14px rgba(15,23,42,.16);
}
.event-category{
  display:inline-flex;
  padding:7px 12px;
  border:1px solid rgba(37,99,235,.12);
  border-radius:999px;
  background:rgba(255,255,255,.75);
  color:var(--blue-700);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-detail-copy h1{
  max-width:680px;
  font-size:clamp(42px,5.5vw,68px);
  line-height:1.01;
  letter-spacing:-.045em;
}
.event-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.event-meta-line>span{
  min-width:150px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  background:rgba(255,255,255,.7);
  box-shadow:0 8px 22px rgba(31,69,96,.06);
}
.event-meta-line small,.event-meta-line b{display:block}
.event-meta-line small{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-meta-line b{
  margin-top:2px;
  font-size:13px;
  line-height:1.35;
}
.event-lead{
  max-width:520px;
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #c8f0e4;
  border-radius:15px;
  background:#e9fbf5;
  color:#0f766e;
}
.event-lead>span{
  width:34px;
  height:34px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff;
}
.event-lead small,.event-lead b{display:block}
.event-lead small{
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-lead b{font-size:13px;line-height:1.35}
.event-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}
.btn-light{
  border:1.5px solid var(--line);
  background:#fff;
  color:var(--blue-700);
  box-shadow:var(--shadow-sm);
}
.btn-light:hover{border-color:var(--blue-400);transform:translateY(-2px)}
.btn-contact{
  border:1.5px solid #bfe8dd;
  background:#e9fbf5;
  color:#0f766e;
}
.btn-contact:hover{
  border-color:#75cbb6;
  background:#dff8f0;
  transform:translateY(-2px);
}
.event-detail-visual{
  position:relative;
  height:480px;
  overflow:hidden;
  margin:0;
  border:8px solid rgba(255,255,255,.95);
  border-radius:34px 120px 34px 92px;
  background:var(--blue-100);
  box-shadow:0 28px 70px rgba(31,69,96,.22);
  transform:rotate(1.2deg);
}
.event-detail-visual::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:48%;
  background:linear-gradient(transparent,rgba(4,17,30,.5));
}
.event-detail-visual>img{width:100%;height:100%;object-fit:cover}
.event-detail-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#0f766e,var(--blue-600));
  color:rgba(255,255,255,.8);
  font-size:72px;
}
.event-detail-visual figcaption{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:20px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(15,23,42,.13);
}
.event-detail-visual figcaption small,
.event-detail-visual figcaption strong{display:block}
.event-detail-visual figcaption small{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-detail-visual figcaption strong{
  margin-top:2px;
  color:var(--ink);
  font-size:15px;
}
.event-detail-visual figcaption span{
  grid-row:1/3;
  grid-column:2;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.event-about{background:#fff}
.event-about-grid{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  gap:76px;
  align-items:start;
}
.event-about-grid>div:first-child{max-width:500px}
.event-about-grid h2{
  font-size:clamp(30px,4vw,44px);
  line-height:1.1;
}
.event-about-grid>div:first-child p{
  margin-top:18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.78;
}
.event-plan-card{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:0 15px;
  padding:10px 26px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(150deg,#fff,#f7fffc);
  box-shadow:0 16px 42px rgba(31,69,96,.09);
}
.event-plan-card>div{
  padding:19px 0;
  border-bottom:1px solid var(--line);
}
.event-plan-card>div:last-child{border-bottom:0}
.event-plan-number{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  align-self:center;
  border-radius:12px;
  background:#e9fbf5;
  color:#0f766e;
  font-size:11px;
  font-weight:800;
}
.event-plan-card b,.event-plan-card small{display:block}
.event-plan-card b{font-size:15px}
.event-plan-card small{
  margin-top:4px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.55;
}
.event-page .country-options{
  background:
    radial-gradient(circle at 10% 14%,rgba(52,211,153,.1),transparent 26%),
    linear-gradient(180deg,#f5fbff,#fff);
}

@media (max-width:980px){
  .event-detail-grid{
    grid-template-columns:minmax(0,.9fr) minmax(370px,1.1fr);
    gap:40px;
  }
  .event-detail-visual{height:420px}
  .event-about-grid{grid-template-columns:1fr;gap:38px}
  .event-about-grid>div:first-child{max-width:680px}
}
@media (max-width:760px){
  .event-page .nav-actions{gap:8px}
  .event-page .nav-actions .btn{padding:11px 17px;font-size:14px}
  .event-detail-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:36px;
    padding-top:42px;
    padding-bottom:54px;
  }
  .event-detail-copy{max-width:680px}
  .event-detail-visual{
    width:100%;
    height:390px;
    border-radius:27px 80px 27px 65px;
    transform:none;
  }
}
@media (max-width:540px){
  .event-page .header .nav{height:66px}
  .event-page .brand{font-size:18px}
  .event-page .brand .logo{width:34px;height:34px}
  .event-page .nav-actions .btn-ghost{display:none}
  .event-page .nav-actions .btn-primary{padding:10px 16px;font-size:13px}
  .event-detail-copy h1{font-size:clamp(39px,13vw,54px)}
  .event-meta-line{display:grid;grid-template-columns:1fr 1fr}
  .event-meta-line>span{min-width:0}
  .event-actions{display:grid;grid-template-columns:1fr}
  .event-actions .btn{width:100%;padding:14px 18px;font-size:15px}
  .event-detail-visual{height:310px;border-width:5px;border-radius:23px 62px 23px 50px}
  .event-detail-visual figcaption{left:12px;right:12px;bottom:12px;padding:10px 12px}
  .event-detail-visual figcaption span{display:none}
  .event-about-grid{gap:28px}
  .event-plan-card{padding:8px 17px;grid-template-columns:40px 1fr;gap:0 12px}
  .event-plan-number{width:36px;height:36px}
}

/* ===== Social links (footer) ===== */
.social-ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#1e2b45;color:#cbd6e8;transition:.16s}
.social-ico:hover{background:var(--blue-600);color:#fff}
.social-ico svg{width:18px;height:18px}
/* optional homepage hero banner image */
.hero.has-banner{background-size:cover;background-position:center}
.hero.has-banner .container{position:relative;z-index:1}

/* ===== WhatsApp button label ===== */
.wa-float.has-label{width:auto;height:56px;border-radius:30px;padding:0 22px;gap:10px;display:flex;align-items:center;justify-content:center}
.wa-float.has-label .wa-label{color:#fff;font-weight:700;font-size:15px;white-space:nowrap;line-height:1}

/* ===== Announcement bar ===== */
.ann-bar{background:#f7c934;color:#25333a;font-weight:700;font-size:14.5px;box-shadow:0 1px 0 rgba(88,65,0,.12)}
.ann-inner{max-width:var(--maxw);margin:0 auto;padding:10px 44px 10px 22px;text-align:center;position:relative}
.ann-inner a{color:#25333a;text-decoration:underline;text-underline-offset:2px}
.ann-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#25333a;font-size:22px;line-height:1;cursor:pointer;opacity:.72;padding:0}
.ann-x:hover{opacity:1}

/* ===== Cookie banner ===== */
.cookie-bar{position:fixed;left:18px;right:18px;bottom:18px;max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;z-index:80;font-size:14px;color:var(--ink)}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}
.cookie-bar button{font-family:inherit;font-weight:700;font-size:13.5px;border-radius:9px;padding:8px 16px;cursor:pointer;border:1.5px solid var(--line)}
.cookie-ok{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}
.cookie-no{background:#fff;color:var(--muted)}

/* ===== Reviews ===== */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.review-stars{font-size:17px;letter-spacing:2px;margin-bottom:12px}
.review-body{color:#24324a;font-size:15.5px;line-height:1.6}
.review-name{margin-top:16px;font-weight:800;font-size:15px;color:var(--ink)}
.review-name span{color:var(--muted);font-weight:600}
@media (max-width:880px){ .review-grid{grid-template-columns:1fr} }

/* ===== FAQ accordion ===== */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:none;font-family:inherit;font-weight:700;font-size:16px;color:var(--ink);padding:18px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}
.faq-ic{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;color:var(--ink);font-size:0;flex-shrink:0;transition:transform .28s cubic-bezier(0.16,1,0.3,1),background-color .2s ease}
.faq-ic::after{content:"";display:block;width:14px;height:14px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;pointer-events:none}
.faq-item.open .faq-ic{transform:rotate(180deg);background:#f1f5f9}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 20px 18px;color:var(--muted);font-size:15px;line-height:1.6}

/* ===== Homepage destination discovery — VisaDoo original direction ===== */
.home-page{
  background:#f7f8f5;
}
.home-page .discover-header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e8ebe7;
  box-shadow:0 8px 30px rgba(20,36,50,.04);
}
.header .nav,
.discover-header .nav{
  max-width:1320px;
  margin: 0 auto;
  height:72px;
}
.nav-brand-cluster{
  display:flex;
  align-items:center;
  gap:20px;
}
.header .brand .logo,
.discover-header .brand .logo{
  border-radius:50% 50% 50% 16px;
  background:#143f73;
  box-shadow:0 7px 18px rgba(20,63,115,.2);
}
.header .nav-links,
.discover-header .nav-links{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  margin-right:24px;
}
.header .nav-links a,
.discover-header .nav-links a{
  position:relative;
  padding:9px 15px;
  border-radius:999px;
  color:#718091;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:all .15s ease;
}
.header .nav-links a:hover,
.header .nav-links a.active{
  color:#10253c;
  background:#edf4fa;
}
.header .nav-links a.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#ef6f61;
  transform:translateX(-50%);
}
.header .nav-actions,
.discover-header .nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.nav-track{
  padding:10px 18px;
  border:1px solid #d5dde4;
  border-radius:999px;
  color:#18324d;
  font-size:13px;
  font-weight:750;
}
.nav-track:hover{
  border-color:#143f73;
}
.nav-profile{
  position:relative;
  width:40px;
  height:40px;
  display:block;
  flex:0 0 40px;
  border:1px solid #d8dee4;
  border-radius:50%;
  background:#fff;
  color:#1c2630;
  box-shadow:0 4px 12px rgba(18,39,60,.04);
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.nav-profile::before{
  content:"";
  position:absolute;
  top:10px;
  left:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  transform:translateX(-50%);
}
.nav-profile::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:9px;
  width:14px;
  height:8px;
  border-radius:8px 8px 3px 3px;
  background:currentColor;
  transform:translateX(-50%);
}
.nav-profile:hover{
  border-color:#143f73;
  background:#f4f8fb;
  transform:translateY(-1px);
}

.home-hero--simple{
  min-height:460px;
  padding:0;
  text-align:left;
  background:#143f73;
}
.home-hero-layout{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1320px;
  min-height:460px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  align-items:center;
  gap:76px;
  padding-top:74px;
  padding-bottom:86px;
}
.home-hero-copy-v2{
  max-width:710px;
}
.route-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.route-kicker > span{
  width:28px;
  height:2px;
  background:#ff9a76;
}
.home-hero--simple .home-hero-copy-v2 h1{
  max-width:760px;
  margin-top:18px;
  color:#fff;
  font-size:clamp(48px,6.4vw,84px);
  font-weight:760;
  line-height:.96;
  letter-spacing:-.055em;
}
.home-hero--simple .home-hero-copy-v2 h1 .hl{
  color:#bfe4ef;
  background:none;
  -webkit-text-fill-color:initial;
}
.home-hero--simple .home-hero-copy-v2 .hero-sub{
  max-width:610px;
  margin:22px 0 0;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.6;
}
.home-hero-video__wash{
  background:
    linear-gradient(90deg,rgba(6,28,52,.88) 0%,rgba(12,43,71,.72) 48%,rgba(8,27,46,.38) 100%),
    linear-gradient(180deg,rgba(6,24,43,.08),rgba(6,24,43,.42));
}
.home-hero-copy-v2 .hero-trust-row{
  justify-content:flex-start;
  gap:10px;
  margin-top:26px;
  padding:0;
  border:0;
}
.home-hero-copy-v2 .hero-trust-row span{
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:12px;
  backdrop-filter:blur(7px);
}
.home-hero-copy-v2 .hero-trust-row span::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#78dfb3;
}
.hero-spotlight{
  align-self:end;
  min-height:218px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:25px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:28px 28px 8px 28px;
  background:rgba(255,255,255,.13);
  box-shadow:0 22px 50px rgba(3,20,36,.2);
  color:#fff;
  backdrop-filter:blur(16px);
  transition:transform .2s ease,background .2s ease;
}
.hero-spotlight:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.2);
}
.spotlight-label{
  color:#bfe4ef;
  font-size:12px;
  font-weight:750;
  letter-spacing:.04em;
}
.hero-spotlight strong{
  margin-top:9px;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.spotlight-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.24);
  font-size:13px;
  font-weight:700;
}
.spotlight-link b{
  font-size:20px;
}

.destination-board{
  position:relative;
  z-index:4;
  margin-top:-34px;
  padding:68px 0 74px;
  border-radius:34px 34px 0 0;
  background:#f7f8f5;
}
.destination-board > .container{
  max-width:1320px;
}
.board-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
}
.board-kicker{
  display:block;
  margin-bottom:9px;
  color:#ef6f61;
  font-size:12px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.destination-board .board-heading h2{
  color:#10253c;
  font-size:clamp(32px,4.2vw,54px);
  font-weight:760;
  letter-spacing:-.045em;
}
.board-heading p{
  max-width:310px;
  color:#718091;
  font-size:14px;
}
.board-heading p b{
  color:#143f73;
  font-size:22px;
}
.visa-filter-dock{
  display:grid;
  grid-template-columns:minmax(300px,1.5fr) minmax(190px,.7fr) minmax(190px,.7fr);
  gap:0;
  margin-top:32px;
  padding:10px;
  border:1px solid #dfe5e8;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 36px rgba(20,36,50,.08);
}
.visa-filter-dock .hero-search--center{
  max-width:none;
  margin:0;
  border:0;
  border-radius:14px;
  box-shadow:none;
}
.visa-filter-dock .hero-search--center:focus-within{
  background:#f4f8fb;
  box-shadow:none;
}
.visa-filter-dock .filter-field{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:3px 20px;
  border-left:1px solid #e2e7ea;
}
.visa-filter-dock .filter-field > span{
  color:#8a97a4;
  font-size:11px;
  font-weight:700;
}
.visa-filter-dock select{
  width:100%;
  margin-top:2px;
  padding:3px 24px 3px 0;
  border:0;
  outline:0;
  background:transparent;
  color:#182637;
  font:inherit;
  font-size:14px;
  font-weight:750;
  cursor:pointer;
}
.board-shortcuts{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:24px;
}
.board-shortcuts > span{
  color:#8a97a4;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.board-shortcuts .popular-chips--center{
  justify-content:flex-start;
  margin:0;
}
.board-shortcuts .destination-chip{
  padding:7px 12px 7px 8px;
  border-color:#dfe5e8;
  background:#fff;
  color:#30465c;
  font-size:12px;
}
.board-shortcuts .destination-chip img{
  width:23px;
  height:23px;
  border-radius:50%;
}
.region-pills{
  display:flex;
  gap:8px;
  margin:34px 0 17px;
  overflow-x:auto;
  scrollbar-width:none;
}
.region-pills::-webkit-scrollbar{display:none}
.region-pills button{
  flex:none;
  padding:9px 15px;
  border:1px solid #d9e0e4;
  border-radius:999px;
  background:transparent;
  color:#667788;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.region-pills button:hover,
.region-pills button.active{
  border-color:#143f73;
  background:#143f73;
  color:#fff;
}
.destination-board .dest-grid--simple{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.destination-board .destination-tile{
  position:relative;
  min-height:410px;
  display:block;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:26px;
  background:linear-gradient(145deg,#244e6e,#10253c);
  color:#fff;
  isolation:isolate;
  box-shadow:0 12px 28px rgba(20,36,50,.1);
  transform:translateY(0);
  transition:transform .24s ease,box-shadow .24s ease;
}
.destination-board .destination-tile[hidden]{display:none}
.destination-board .destination-tile.tile-shape-1{border-radius:38px 14px 38px 14px}
.destination-board .destination-tile.tile-shape-2{border-radius:14px 38px 14px 38px}
.destination-board .destination-tile.tile-shape-3{border-radius:38px 38px 14px 14px}
.destination-board .destination-tile.tile-shape-4{border-radius:14px 14px 38px 38px}
.destination-board .destination-tile:hover{
  border:0;
  box-shadow:0 24px 48px rgba(20,36,50,.22);
  transform:translateY(-7px);
}
.tile-photo,
.tile-shade{
  position:absolute;
  inset:0;
}
.tile-photo{
  z-index:-2;
  background-position:center;
  background-size:cover;
  transition:transform .65s ease;
}
.destination-tile:hover .tile-photo{
  transform:scale(1.06);
}
.tile-shade{
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(5,17,30,.12) 12%,rgba(5,17,30,.2) 40%,rgba(5,17,30,.94) 100%),
    linear-gradient(120deg,rgba(18,65,91,.2),transparent 60%);
}
.tile-topline{
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.dc-flag-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px 6px 6px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(6,24,43,.45);
  color:#fff;
  font-size:10px;
  letter-spacing:.1em;
  backdrop-filter:blur(8px);
}
.dc-flag-badge img{
  width:26px;
  height:26px;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.85);
  border-radius:50%;
}
.tile-eta{
  padding:7px 10px;
  border-radius:999px;
  background:#bfe4ef;
  color:#10253c;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
}
.tile-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  pointer-events:none;
}
.tile-copy > small{
  display:none;
}
.destination-board .destination-tile h3,
.destination-board .destination-tile .tile-title{
  margin:0;
  color:#fff;
  font-size:clamp(22px,2vw,30px);
  font-weight:750;
  line-height:1.15;
  letter-spacing:-.03em;
  white-space:normal;
  transform:translateY(0);
  transition:transform .35s cubic-bezier(0.16,1,0.3,1);
}
.tile-reqs{
  opacity:0;
  max-height:0;
  margin-top:0;
  padding-top:0;
  padding-bottom:0;
  border-top:1px solid rgba(255,255,255,0);
  border-bottom:1px solid rgba(255,255,255,0);
  transform:translateY(12px);
  overflow:hidden;
  transition:opacity .35s cubic-bezier(0.16,1,0.3,1),
             transform .35s cubic-bezier(0.16,1,0.3,1),
             max-height .35s cubic-bezier(0.16,1,0.3,1),
             margin-top .35s cubic-bezier(0.16,1,0.3,1),
             padding-top .35s cubic-bezier(0.16,1,0.3,1),
             padding-bottom .35s cubic-bezier(0.16,1,0.3,1),
             border-color .35s cubic-bezier(0.16,1,0.3,1);
}
.tile-reqs-label{
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  color:#94a3b8;
  text-transform:uppercase;
  margin-bottom:4px;
}
.tile-reqs-value{
  display:block;
  font-size:13.5px;
  font-weight:700;
  color:#ffffff;
  line-height:1.25;
  letter-spacing:-.01em;
}
.destination-board .destination-tile:hover .tile-title{
  transform:translateY(-2px);
}
.destination-board .destination-tile:hover .tile-reqs,
.destination-board .destination-tile:focus-visible .tile-reqs{
  opacity:1;
  max-height:90px;
  margin-top:12px;
  padding-top:10px;
  padding-bottom:8px;
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22);
  transform:translateY(0);
}
.destination-empty{
  margin-top:20px;
  padding:32px;
  border:1px dashed #c8d2d9;
  border-radius:20px;
  color:#718091;
  text-align:center;
}
.destination-more-wrap{
  margin-top:30px;
  text-align:center;
}
.destination-more-wrap[hidden]{display:none}
.destination-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:50px;
  padding:13px 22px;
  border:1px solid #d5e0e7;
  border-radius:999px;
  background:#fff;
  color:#102f4b;
  font:800 13px/1 Inter,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(16,47,75,.08);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.destination-more:hover{
  border-color:#2b91c7;
  box-shadow:0 12px 28px rgba(16,47,75,.13);
  transform:translateY(-2px);
}
.destination-more:focus-visible{
  outline:3px solid rgba(43,145,199,.24);
  outline-offset:3px;
}
.destination-more-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ef6f61;
  color:#fff;
  font-size:15px;
  transition:transform .2s ease;
}
.destination-more[aria-expanded="true"] .destination-more-icon{transform:rotate(180deg)}
@media (max-width:1100px){
  .discover-header .nav-links a{padding:10px}
  .home-hero-layout{gap:44px}
  .destination-board .dest-grid--simple{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .discover-header .nav-links{
    top:82px;
  }
  .home-hero-layout{
    min-height:auto;
    grid-template-columns:1fr;
    gap:28px;
    padding-top:58px;
    padding-bottom:76px;
  }
  .hero-spotlight{
    min-height:0;
    max-width:420px;
  }
  .visa-filter-dock{
    grid-template-columns:1fr 1fr;
  }
  .visa-filter-dock .hero-search--center{
    grid-column:1/-1;
    border-bottom:1px solid #e2e7ea;
  }
  .visa-filter-dock .filter-field{
    margin-top:8px;
  }
  .visa-filter-dock .filter-field:nth-of-type(1){
    border-left:0;
  }
  .destination-board .dest-grid--simple{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .discover-header .nav{height:72px}
  .discover-header .nav-links{top:72px;margin:0}
  .discover-header .nav-track{display:none}
  .discover-header .nav-profile{width:36px;height:36px;flex-basis:36px}
  .home-hero--simple{min-height:0}
  .home-hero-layout{
    padding-top:48px;
    padding-bottom:66px;
  }
  .home-hero--simple .home-hero-copy-v2 h1{
    font-size:clamp(42px,13vw,62px);
  }
  .home-hero--simple .home-hero-copy-v2 .hero-sub{
    font-size:16px;
  }
  .home-hero-copy-v2 .hero-trust-row{
    flex-wrap:nowrap;
    overflow-x:auto;
  }
  .home-hero-copy-v2 .hero-trust-row span{
    flex:none;
  }
  .destination-board{
    margin-top:-24px;
    padding-top:52px;
  }
  .board-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .visa-filter-dock{
    grid-template-columns:1fr;
    border-radius:18px;
  }
  .visa-filter-dock .hero-search--center{
    grid-column:auto;
  }
  .visa-filter-dock .filter-field{
    padding:12px 15px;
    border-top:1px solid #e2e7ea;
    border-left:0;
  }
  .board-shortcuts{
    align-items:flex-start;
    flex-direction:column;
  }
  .board-shortcuts .popular-chips--center{
    width:calc(100% + 22px);
    overflow-x:auto;
  }
  .destination-board .dest-grid--simple{grid-template-columns:1fr}
  .destination-board .destination-tile{
    min-height:390px;
  }
}

/* ===== Homepage simplification — search, select, travel ===== */
.home-page #how,
.home-page #faq {
  display:none !important;
}
.home-page .discover-header .nav{
  max-width: 1320px;
  margin: 0 auto;
  height:72px;
}
.home-page .discover-header .nav-links{
  margin-left:auto;
  margin-right:28px;
}
.home-page .discover-header .nav-links a{
  padding:9px 14px;
}
.home-page .home-hero--simple{
  min-height:560px;
  padding:0;
  background:#082d58;
}
.hero-wordmark{
  position:absolute;
  z-index:1;
  top:56px;
  left:50%;
  width:100%;
  color:rgba(255,255,255,.88);
  font-size:clamp(92px,18vw,270px);
  font-weight:850;
  line-height:.82;
  letter-spacing:-.085em;
  text-align:center;
  transform:translateX(-51%);
  pointer-events:none;
  white-space:nowrap;
}
.home-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("assets/hero-world-travel.png");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.home-page .home-hero-image__wash{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(4,32,56,.03) 0%,rgba(4,32,56,.12) 52%,rgba(4,32,56,.72) 100%),
    linear-gradient(90deg,rgba(4,31,59,.56) 0%,rgba(4,31,59,.16) 46%,transparent 72%);
}
.home-page .home-hero-layout{
  min-height:560px;
  display:flex;
  align-items:flex-end;
  padding-top:250px;
  padding-bottom:48px;
}
.home-page .home-hero-copy-v2{
  max-width:520px;
}
.home-page .route-kicker{
  font-size:11px;
}
.home-page .home-hero--simple .home-hero-copy-v2 h1{
  margin-top:14px;
  font-size:clamp(42px,5vw,66px);
  line-height:.98;
}
.home-page .home-hero--simple .home-hero-copy-v2 .hero-sub{
  max-width:440px;
  margin-top:15px;
  font-size:16px;
}
.home-page .destination-board{
  margin-top:0;
  padding:0 0 66px;
  border-radius:0;
  background:#fff;
}
.home-page .destination-board > .container{
  display:flex;
  flex-direction:column;
}
.home-page .visa-filter-dock{
  order:1;
  position:relative;
  z-index:6;
  width:calc(100% - 56px);
  margin:-34px auto 0;
  border-radius:18px;
  box-shadow:0 18px 48px rgba(6,36,67,.14);
}
.home-page .board-heading{
  order:2;
  margin-top:62px;
}
.home-page .board-heading p{
  max-width:none;
}
.home-page .destination-board .dest-grid--simple{
  order:3;
  margin-top:24px;
}
.home-page .destination-more-wrap{order:4}
.home-page .destination-empty{order:5}
.home-page #groupsArea{order:6}
.home-page .destination-board .destination-tile{
  min-height:340px;
  border-radius:20px;
}
.home-page .destination-board .destination-tile.tile-shape-1,
.home-page .destination-board .destination-tile.tile-shape-2,
.home-page .destination-board .destination-tile.tile-shape-3,
.home-page .destination-board .destination-tile.tile-shape-4{
  border-radius:20px;
}
.home-page .tile-copy > small{
  display:none;
}
.home-page .destination-board .destination-tile h3{
  font-size:clamp(24px,2vw,31px);
}
.home-page .tile-copy{
  bottom:20px;
}
.home-page .tile-divider{
  margin:14px 0 11px;
}
.home-page .tile-eta{
  background:rgba(255,255,255,.9);
}
.home-page .footer{
  padding:25px 0 18px;
  background:#082744;
}
.home-page .footer-grid{
  display:block;
  padding-bottom:20px;
  margin-bottom:16px;
}
.home-page .footer-grid > div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.home-page .footer-grid > div:first-child p,
.home-page .footer-grid > div:nth-child(n+2){
  display:none;
}
.home-page .footer .brand{
  color:#fff;
}
.home-page .footer-bottom{
  color:#9fb1c1;
  font-size:12px;
}

@media (max-width:900px){
  .hero-wordmark{
    top:80px;
    font-size:20vw;
  }
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .home-page .discover-header .nav{
    height:66px;
  }
  .home-page .discover-header .nav-links{
    top:66px;
    margin:0;
  }
  .home-page .home-hero--simple,
  .home-page .home-hero-layout{
    min-height:480px;
  }
  .hero-wordmark{
    top:92px;
    font-size:20.5vw;
  }
  .home-page .home-hero-layout{
    padding-top:220px;
    padding-bottom:36px;
  }
  .home-page .visa-filter-dock{
    width:calc(100% - 20px);
    margin-top:-28px;
  }
  .home-page .board-heading{
    margin-top:48px;
  }
  .home-page .board-heading p{
    font-size:13px;
  }
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:1fr;
  }
  .home-page .destination-board .destination-tile{
    min-height:360px;
  }
  .home-page .footer-grid > div:first-child{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

/* ===== Destination search model and reassurance strip ===== */
.home-page .visa-filter-dock{
  grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(155px,.62fr));
  padding:0 10px 10px;
}
.visa-filter-tabs{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  padding:10px 5px;
  border-bottom:1px solid #e4e9ec;
}
.visa-filter-tabs button,
.visa-filter-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 13px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#65778a;
  font:inherit;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.visa-filter-tabs button:hover,
.visa-filter-tabs button.active{
  background:#eaf3fb;
  color:#0f5fae;
}
.visa-filter-tabs a{
  margin-left:auto;
  color:#143f73;
}
.visa-filter-tabs a:hover{
  background:#f2f5f7;
}
.visa-filter-tabs a span{
  font-size:15px;
}
.home-page .visa-filter-dock .filter-field{
  margin-top:10px;
}
.search-benefits{
  order:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
  width:100%;
  max-width:1080px;
  margin:30px auto 0;
  padding:10px 0 4px;
}
.search-benefits > div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.benefit-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  flex:0 0 54px;
  border:0;
  border-radius:50%;
  background:#eef6ff;
  color:#1972ca;
  box-shadow:inset 0 0 0 1px rgba(25,114,202,.045);
}
.benefit-icon svg{
  width:28px;
  height:28px;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.search-benefits > div > span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.search-benefits b{
  color:#102f4b;
  font-size:12.5px;
  font-weight:800;
  line-height:1.3;
}
.search-benefits small{
  max-width:165px;
  margin-top:4px;
  color:#7d8d9c;
  font-size:10px;
  line-height:1.5;
}

@media (max-width:980px){
  .home-page .visa-filter-dock{
    grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(135px,.6fr));
  }
  .search-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .home-page .visa-filter-dock{
    grid-template-columns:1fr 1fr;
  }
  .home-page .visa-filter-dock .hero-search--center{
    grid-column:1/-1;
  }
  .home-page .visa-filter-dock .filter-field{
    border-top:1px solid #e4e9ec;
  }
}
@media (max-width:720px){
  .home-page .visa-filter-dock{
    grid-template-columns:1fr;
    padding-left:8px;
    padding-right:8px;
  }
  .visa-filter-tabs{
    overflow-x:auto;
    scrollbar-width:none;
  }
  .visa-filter-tabs::-webkit-scrollbar{display:none}
  .visa-filter-tabs a{
    margin-left:0;
  }
  .home-page .visa-filter-dock .hero-search--center{
    grid-column:auto;
  }
  .search-benefits{
    grid-template-columns:1fr 1fr;
    gap:22px 18px;
    width:100%;
    padding-inline:4px;
  }
  .benefit-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .benefit-icon svg{width:25px;height:25px}
}

@media (max-width:430px){
  .search-benefits{
    grid-template-columns:1fr;
    gap:16px;
    max-width:315px;
    margin-top:25px;
  }
  .search-benefits > div{gap:15px}
  .search-benefits small{max-width:none}
}

/* ===== Search-only destination selector ===== */
.home-page .visa-filter-dock.visa-search-only{
  display:block;
  width:calc(100% - 56px);
  max-width:960px;
  padding:7px;
  border:1px solid #e0e6eb;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(20,48,73,.09);
}
.home-page .visa-filter-dock.visa-search-only .hero-search--center{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:11px;
  background:#fff;
  box-shadow:none;
}
.home-page .visa-filter-dock.visa-search-only .hero-search--center:focus-within{
  background:#fff;
}
.home-page .visa-filter-dock.visa-search-only input{
  padding-top:11px;
  padding-bottom:11px;
  font-size:15px;
}
.home-page .visa-filter-dock.visa-search-only .search-action{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #d8e0e6;
  border-radius:50%;
  background:#fff;
  color:#182735;
  font-size:13px;
  font-weight:700;
}
.home-page .visa-filter-dock.visa-search-only .search-action:hover{
  border-color:#9eb0bf;
  background:#f5f8fa;
}
.home-page .button-search-icon{
  position:relative;
  width:14px;
  height:14px;
  border:2px solid currentColor;
  border-radius:50%;
}
.home-page .button-search-icon::after{
  content:"";
  position:absolute;
  right:-5px;
  bottom:-3px;
  width:6px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform:rotate(45deg);
}

@media (max-width:720px){
  .home-page .visa-filter-dock.visa-search-only{
    width:calc(100% - 20px);
    padding:6px;
  }
  .home-page .visa-filter-dock.visa-search-only .search-action{
    width:40px;
    height:40px;
    min-width:40px;
    flex-basis:40px;
    padding:0;
  }
}

.home-page .search-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:5px;
  padding:11px 7px 5px;
  border-top:1px solid #edf1f4;
}
.home-page .search-suggestions:empty{
  display:none;
}
.home-page .search-suggestions .destination-chip{
  flex:0 0 auto;
  gap:7px;
  padding:7px 11px;
  border:1px solid #dce4ea;
  border-radius:999px;
  background:#fff;
  color:#172c40;
  box-shadow:none;
  font-size:12px;
  font-weight:700;
}
.home-page .search-suggestions .destination-chip:hover{
  border-color:#aabac7;
  background:#f6f9fb;
}
.home-page .search-suggestions .destination-chip img{
  width:22px;
  height:15px;
  border-radius:2px;
}

/* ===== Expanded home footer ===== */
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer{
  padding:0 0 22px;
  border-top:1px solid #e7edf1;
  background:#fff;
  color:#617184;
}
.country-page .home-footer{border-top:1px solid #e3e9ed}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-route-line{
  position:relative;
  height:64px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-route-line::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:1px;
  background:#dfe6eb;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-route-line span{
  position:absolute;
  top:calc(50% - 4px);
  left:0;
  width:8px;
  height:8px;
  border-radius:2px;
  background:#2d7fd2;
  transform:rotate(45deg);
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.55fr) minmax(130px,.72fr) minmax(170px,.9fr) minmax(220px,1fr);
  gap:54px;
  margin:0;
  padding:52px 0 62px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid > div,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid > div:first-child{
  display:block;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid > div:first-child p,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid > div:nth-child(n+2){
  display:block;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .brand{
  color:#0d2741;
  font-size:24px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .brand .logo{
  color:#1873c9;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer p{
  max-width:360px;
  margin-top:20px;
  color:#66778a;
  font-size:14px;
  line-height:1.75;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer h5{
  margin-bottom:20px;
  color:#18324d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:none;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer ul{
  gap:13px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer a{
  color:#657487;
  font-size:14px;
  line-height:1.45;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer a:hover{
  color:#0f6dcc;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-assurances{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-assurances span{
  padding:7px 10px;
  border:1px solid #dce8f2;
  border-radius:999px;
  background:#f5f9fc;
  color:#345775;
  font-size:11px;
  font-weight:700;
}
.footer-social-links{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
}
.home-footer .footer-social-links .social-ico{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #dce5ec;
  border-radius:50%;
  background:#f7f9fb;
  color:#263f55;
  transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease;
}
.home-footer .footer-social-links a.social-ico:hover{
  border-color:#1873c9;
  background:#1873c9;
  color:#fff;
  transform:translateY(-2px);
}
.home-footer .footer-social-links .social-whatsapp:hover{
  border-color:#25d366;
  background:#25d366;
}
.home-footer .footer-social-links .social-ico svg{
  width:18px;
  height:18px;
}
.home-footer .footer-social-links .social-ico.is-disabled{
  opacity:.45;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a{
  display:flex;
  flex-direction:column;
  gap:3px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a span{
  color:#23415d;
  font-weight:700;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a small{
  color:#8a98a7;
  font-size:11px;
}
:is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:0;
  padding-top:22px;
  border-top:1px solid #e5ebef;
  color:#8996a4;
  font-size:12px;
  text-align:left;
}

@media (max-width:980px){
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid{
    grid-template-columns:1.35fr 1fr;
    gap:44px 56px;
  }
}

@media (max-width:620px){
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-route-line{
    height:42px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid{
    grid-template-columns:1fr;
    gap:34px;
    padding:32px 0 44px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ===== Schengen and e-Visa destination collections ===== */
.home-page .visa-groups-area{
  width:100%;
  margin-top:72px;
}
.home-page .visa-country-group{
  padding-top:64px;
  border-top:1px solid #e2e9ee;
}
.home-page .visa-country-group + .visa-country-group{
  margin-top:78px;
}
.home-page .visa-group-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.home-page .visa-group-heading h3{
  margin-top:5px;
  color:#102b46;
  font-size:clamp(30px,4vw,48px);
  font-weight:820;
  letter-spacing:-.045em;
  line-height:1;
}
.home-page .visa-group-count{
  flex:0 0 auto;
  padding:9px 13px;
  border:1px solid #d8e4ed;
  border-radius:999px;
  background:#f6f9fb;
  color:#49647d;
  font-size:12px;
  font-weight:750;
}
.home-page .visa-group-description{
  max-width:680px;
  margin-top:14px;
  color:#6f7f8f;
  font-size:15px;
  line-height:1.65;
}
.home-page .visa-country-group .dest-grid--simple{
  margin-top:28px;
}

@media (max-width:620px){
  .home-page .visa-groups-area{
    margin-top:54px;
  }
  .home-page .visa-country-group{
    padding-top:48px;
  }
  .home-page .visa-country-group + .visa-country-group{
    margin-top:58px;
  }
  .home-page .visa-group-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
}

/* ===== Compact five-card destination rows ===== */
.home-page .destination-board .dest-grid--simple{
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:22px;
  row-gap:28px;
}
.home-page .destination-board .destination-tile{
  min-height:285px;
  border-radius:17px;
}
.home-page .destination-board .destination-tile.tile-shape-1,
.home-page .destination-board .destination-tile.tile-shape-2,
.home-page .destination-board .destination-tile.tile-shape-3,
.home-page .destination-board .destination-tile.tile-shape-4{
  border-radius:17px;
}
.home-page .destination-board .destination-tile h3{
  max-width:90%;
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.08;
}
.home-page .destination-board .tile-copy{
  left:16px;
  right:16px;
  bottom:16px;
}
.home-page .destination-board .tile-topline{
  top:14px;
  left:14px;
  right:14px;
}

@media (max-width:1180px){
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:14px;
    row-gap:20px;
  }
  .home-page .destination-board .destination-tile{
    min-height:300px;
  }
}

@media (max-width:440px){
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:1fr;
    row-gap:22px;
  }
  .home-page .destination-board .destination-tile{
    min-height:350px;
  }
}

/* ===== Interactive country map selector ===== */
.home-page .map-toggle{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:5px;
  padding:0;
  border:1px solid #dce3e8;
  border-radius:50%;
  background:#fff;
  color:#526779;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.home-page .map-toggle:hover,
.home-page .map-toggle.active{
  border-color:#9eb2c2;
  background:#f5f8fa;
  color:#173d60;
}
.home-page .map-globe-icon{
  position:relative;
  width:17px;
  height:17px;
  border:1.8px solid currentColor;
  border-radius:50%;
}
.home-page .map-globe-icon::before{
  content:"";
  position:absolute;
  top:1px;
  bottom:1px;
  left:4px;
  right:4px;
  border-right:1.4px solid currentColor;
  border-left:1.4px solid currentColor;
  border-radius:50%;
}
.home-page .map-globe-icon::after{
  content:"";
  position:absolute;
  top:7px;
  left:1px;
  width:13px;
  height:1.4px;
  background:currentColor;
}
.home-page .country-map-panel[hidden]{
  display:none;
}
.home-page .country-map-panel{
  margin-top:10px;
  padding:18px;
  border-top:1px solid #e2e9ee;
  border-radius:0 0 16px 16px;
  background:#f7fafc;
}
.home-page .country-map-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.home-page .country-map-heading > div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.home-page .country-map-heading b{
  color:#173651;
  font-size:15px;
}
.home-page .country-map-heading small{
  color:#7b8b99;
  font-size:11px;
}
.home-page .country-map-close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid #d4dee6;
  border-radius:50%;
  background:#fff;
  color:#3a536a;
  font:inherit;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.home-page .country-map-wrap{
  position:relative;
  min-height:410px;
  overflow:hidden;
  border:1px solid #dbe5ec;
  border-radius:14px;
  background:#dcecf4;
}
.home-page .country-map{
  width:100%;
  height:410px;
}
.home-page .country-map-status{
  position:absolute;
  z-index:500;
  top:14px;
  left:50%;
  padding:8px 12px;
  border:1px solid rgba(205,219,230,.92);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#4c6479;
  box-shadow:0 5px 15px rgba(18,47,72,.1);
  font-size:11px;
  font-weight:700;
  transform:translateX(-50%);
  white-space:nowrap;
}
.home-page .country-map-status[hidden]{
  display:none;
}
.home-page .map-country-fallback{
  position:absolute;
  z-index:450;
  inset:50px 14px 14px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 18px;
  overflow-y:auto;
  border-radius:12px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
}
.home-page .map-country-fallback[hidden]{
  display:none;
}
.home-page .map-country-fallback button{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border:1px solid #e2e8f0;
  border-radius:9999px;
  background:#fff;
  color:#1e293b;
  font:inherit;
  font-size:12.5px;
  font-weight:650;
  text-align:left;
  cursor:pointer;
  transition:all .15s ease;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.home-page .map-country-fallback button:hover{
  border-color:#2563eb;
  background:#eff6ff;
  color:#2563eb;
  transform:translateY(-1px);
}
.home-page .map-country-fallback img{
  width:18px;
  height:18px;
  flex:0 0 auto;
  border-radius:50%;
  object-fit:cover;
}
.home-page .leaflet-container{
  font-family:Inter,Arial,sans-serif;
}
.home-page .leaflet-tooltip{
  border:0;
  border-radius:7px;
  color:#183650;
  box-shadow:0 7px 18px rgba(14,42,67,.16);
  font-size:11px;
  font-weight:750;
}

@media (max-width:620px){
  .home-page .map-toggle{
    width:40px;
    height:40px;
    min-width:40px;
    flex-basis:40px;
    padding:0;
  }
  .home-page .search-suggestions{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:none;
  }
  .home-page .search-suggestions::-webkit-scrollbar{
    display:none;
  }
  .home-page .country-map-panel{
    padding:12px;
  }
  .home-page .country-map-wrap,
  .home-page .country-map{
    height:330px;
    min-height:330px;
  }
  .home-page .map-country-fallback{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Country detail — simple and consistent with the main site */
.country-page{
  background:#fff;
}
.country-detail-hero{
  position:relative;
  isolation:isolate;
  min-height:650px;
  border-bottom:1px solid #e8edf1;
  background:#07131d;
}
.country-detail-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background-image:
    radial-gradient(circle at 50% 38%,rgba(7,38,59,.12),rgba(2,18,30,.7) 72%),
    linear-gradient(0deg,rgba(2,18,30,.86) 0%,rgba(2,18,30,.2) 58%,rgba(2,18,30,.52) 100%),
    var(--country-hero-image,linear-gradient(135deg,#183650,#0a1722));
  background-position:center;
  background-size:cover;
  filter:saturate(.82);
  transform:scale(1.01);
}
.country-detail-hero::after{
  display:none;
}
.country-detail-grid{
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:64px;
  padding-bottom:64px;
}
.country-detail-copy{
  width:100%;
  max-width:860px;
  margin:0 auto;
  text-align:center;
}
.country-back{
  width:max-content;
  margin-right:auto;
  margin-bottom:22px;
  margin-left:auto;
  gap:5px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:800;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.country-back:hover{
  color:#fff;
}
.country-guide-row{
  justify-content:center;
  margin-bottom:15px;
}
.country-guide-row img{
  width:38px;
  height:27px;
  border-width:1px;
  border-color:rgba(255,255,255,.92);
  border-radius:7px;
  box-shadow:none;
}
.country-guide-row .eyebrow{
  margin:0;
  padding:7px 15px;
  background:#fff4dc;
  color:#e58d00;
  font-size:12px;
  letter-spacing:.1em;
}
.country-detail-copy h1{
  max-width:850px;
  margin:0 auto;
  color:#fff;
  font-size:clamp(50px,5.6vw,78px);
  line-height:.98;
  letter-spacing:-.055em;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
  text-wrap:balance;
}
.country-detail-copy h1::after{
  content:"";
  width:54px;
  height:3px;
  display:block;
  margin:22px auto 0;
  border-radius:999px;
  background:#78c8f0;
}
.country-detail-copy>p{
  max-width:620px;
  margin:18px auto 0;
  color:rgba(255,255,255,.8);
  font-size:16px;
  line-height:1.6;
}
.country-detail-copy>.btn{
  min-width:150px;
  height:46px;
  margin-top:20px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#061a2a;
  font-size:13px;
  font-weight:800;
  box-shadow:0 12px 30px rgba(2,18,30,.2);
}
.country-detail-copy>.btn span{
  font-size:16px;
  line-height:1;
  transition:transform .18s ease;
}
.country-detail-copy>.btn:hover{
  background:#eef6fa;
  box-shadow:0 16px 30px rgba(2,18,30,.24);
}
.country-detail-copy>.btn:hover span{
  transform:translateX(3px);
}
.country-facts{
  width:min(500px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:22px auto 0;
  border:0;
}
.country-facts>div{
  padding:0 18px;
  border:0;
  border-right:1px solid rgba(255,255,255,.2);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.country-facts>div:first-child{
  padding-left:18px;
}
.country-facts>div:last-child{
  border-right:0;
}
.country-facts strong{
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  line-height:1.2;
  text-transform:uppercase;
}
.country-facts span{
  margin-top:5px;
  color:rgba(255,255,255,.58);
  font-size:8px;
  letter-spacing:.12em;
}
.country-detail-visual{
  display:grid;
  grid-template-columns:minmax(0,1fr) 185px;
  gap:0;
  height:410px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:#111b24;
  box-shadow:0 20px 44px rgba(0,0,0,.28);
  transform:none;
}
.country-detail-visual.single-place{
  grid-template-columns:minmax(0,1fr);
}
.country-gallery-main{
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#18232d;
  box-shadow:none;
}
.country-gallery-main .country-carousel-slide{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.country-gallery-main .country-carousel-shade{
  background:
    linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.18) 52%,rgba(0,0,0,.76) 100%),
    linear-gradient(90deg,transparent 72%,rgba(0,0,0,.18) 100%);
}
.country-place-list{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:12px;
  overflow:hidden;
  border:0;
  border-left:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:rgba(7,15,22,.96);
}
.country-place-list-heading{
  padding:3px 3px 11px;
}
.country-place-list-heading strong,
.country-place-list-heading small{
  display:block;
}
.country-place-list-heading strong{
  color:#fff;
  font-size:13px;
}
.country-place-list-heading small{
  margin-top:2px;
  overflow:hidden;
  color:rgba(255,255,255,.52);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.country-place-thumbs{
  min-height:0;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:8px;
  overflow:auto;
  scrollbar-width:none;
}
.country-place-thumbs::-webkit-scrollbar{
  display:none;
}
.country-place-card{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  flex:1 1 0;
  align-items:center;
  gap:9px;
  padding:5px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.country-place-card:hover,
.country-place-card.active{
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.13);
  box-shadow:0 6px 16px rgba(0,0,0,.16);
}
.country-place-card:hover{
  transform:translateY(-1px);
}
.country-place-card img{
  width:62px;
  height:100%;
  min-height:52px;
  max-height:70px;
  object-fit:cover;
  border-radius:8px;
}
.country-place-card strong{
  min-width:0;
  display:-webkit-box;
  overflow:hidden;
  font-size:10px;
  font-weight:750;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.country-image-caption{
  left:16px;
  bottom:16px;
  min-width:0;
  padding:9px 12px;
  border:0;
  border-radius:10px;
  background:rgba(0,0,0,.62);
  box-shadow:none;
}
.country-image-caption small{
  display:none;
}
.country-image-caption strong{
  margin:0;
  color:#fff;
  font-size:13px;
}
.country-carousel-controls{
  right:15px;
  bottom:15px;
}
.country-carousel-arrow{
  width:34px;
  height:34px;
  font-size:20px;
  box-shadow:none;
}

.country-info-nav{
  position:sticky;
  top:0;
  z-index:49;
  border-top:1px solid #e4ebef;
  border-bottom:1px solid #e4ebef;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,43,70,.06);
}
.country-info-nav .container{
  min-height:64px;
  display:flex;
  align-items:center;
  gap:34px;
}
.country-info-nav a{
  position:relative;
  min-height:64px;
  display:flex;
  align-items:center;
  color:#607789;
  font-size:12px;
  font-weight:750;
}
.country-info-nav a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:2px;
  background:#2b91c7;
  transform:scaleX(0);
  transition:transform .18s ease;
}
.country-info-nav a:focus-visible::after,
.country-info-nav a.active::after{
  transform:scaleX(1);
}
.country-info-nav a.active{color:#071d2d}
@media (hover:hover) and (pointer:fine){
  .country-info-nav a:hover{color:#071d2d}
  .country-info-nav a:hover::after{transform:scaleX(1)}
}
.country-options,
.country-documents,
.country-process{
  scroll-margin-top:76px;
}

.country-options{
  padding:68px 0;
  border-bottom:1px solid #e8edf1;
  background:#f7f9fb;
}
.country-section-heading h2{
  margin-top:7px;
  font-size:clamp(30px,4vw,42px);
}
.country-options .cards{
  max-width:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  justify-content:stretch;
  gap:16px;
  margin:28px 0 0;
}
.country-options .vcard{
  max-width:none;
  padding:23px;
  border:1px solid #e0e6eb;
  border-radius:16px;
  box-shadow:none;
}
.country-options .vcard:hover{
  border-color:#cbd8e2;
  box-shadow:0 10px 24px rgba(16,43,70,.08);
  transform:translateY(-2px);
}
.country-options .vcard h3{
  font-size:20px;
}
.country-options .vcard .vsub{
  margin-top:3px;
  font-size:12px;
}
.country-options .vcard .price{
  margin:18px 0 4px;
  font-size:30px;
}
.country-options .vcard .price small{
  font-size:12px;
}
.eta-pill{
  margin-bottom:12px;
  padding:5px 9px;
  border:0;
  background:#eaf6ff;
  color:#215a86;
  font-size:10px;
}
.country-visa-facts{
  margin:15px 0 19px;
  padding:11px 0;
}
.country-visa-facts small{
  font-size:8px;
}
.country-visa-facts b{
  font-size:11px;
}
.country-visa-details{
  display:block;
  margin-top:11px;
  color:var(--blue-600);
  font-size:12px;
  font-weight:700;
  text-align:center;
}
.country-empty{
  grid-column:1/-1;
  padding:34px;
}
.country-empty .btn{
  margin-top:18px;
}

.country-documents{
  padding:56px 0;
  background:#fff;
}
.country-documents-grid{
  grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);
  align-items:center;
  gap:52px;
}
.country-documents-grid h2{
  margin-top:7px;
  font-size:clamp(26px,3vw,36px);
}
.country-doc-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.country-doc-list>div{
  align-items:center;
  gap:9px;
  padding:15px;
  border-radius:12px;
  background:#fafcfd;
}
.country-doc-list svg{
  width:18px;
  height:18px;
  margin:0;
}
.country-doc-list b{
  font-size:12px;
  line-height:1.35;
}
.country-doc-list small{
  display:none;
}

.country-process{
  padding:72px 0;
  border-top:1px solid #e8edf1;
  background:#f7f9fb;
}
.country-process-heading{
  max-width:650px;
  margin:0 auto;
  text-align:center;
}
.country-process-heading h2{
  margin-top:7px;
  font-size:clamp(30px,4vw,42px);
}
.country-process-heading p{
  max-width:520px;
  margin:12px auto 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.country-process-flow{
  position:relative;
  max-width:900px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:80px;
  margin:42px auto 0;
}
.country-process-flow::before{
  content:"";
  position:absolute;
  z-index:0;
  top:40px;
  right:16%;
  left:16%;
  height:2px;
  background:#d7e5ed;
}
.country-process-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.country-process-step:not(:last-child)::after{
  content:"›";
  position:absolute;
  top:22px;
  right:-49px;
  width:18px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f7f9fb;
  color:#7b9db1;
  font-size:28px;
  line-height:1;
}
.country-process-step i{
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
  margin-bottom:17px;
  border:2px solid #cfe1eb;
  border-radius:50%;
  background:#f3f9fc;
  color:#2b91c7;
  font-size:25px;
  font-style:normal;
  font-weight:850;
  box-shadow:0 0 0 8px #f7f9fb;
}
.country-process-step:nth-child(2) i{
  border-color:#2b91c7;
  background:#2b91c7;
  color:#fff;
}
.country-process-step b{
  color:var(--ink);
  font-size:15px;
}
.country-process-step small{
  margin-top:5px;
  color:var(--muted);
  font-size:11.5px;
}

@media (max-width:900px){
  .country-detail-grid{
    grid-template-columns:minmax(0,1fr);
    gap:34px;
  }
  .country-detail-copy{
    min-width:0;
    max-width:680px;
  }
  .country-detail-visual{
    min-width:0;
    width:100%;
    grid-template-columns:minmax(0,1fr) 210px;
    height:400px;
  }
  .country-options .cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .country-documents-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .country-doc-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:600px){
  .country-detail-grid{
    min-height:610px;
    gap:28px;
    padding-top:34px;
    padding-bottom:40px;
  }
  .country-detail-hero{
    min-height:610px;
  }
  .country-detail-copy h1{
    font-size:clamp(38px,12vw,50px);
  }
  .country-detail-copy>p{
    font-size:15px;
  }
  .country-info-nav .container{
    min-height:56px;
    justify-content:space-between;
    gap:12px;
  }
  .country-info-nav a{
    min-height:56px;
    font-size:10.5px;
  }
  .country-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .country-facts>div,
  .country-facts>div:first-child{
    padding:12px 9px;
  }
  .country-facts>div:last-child:nth-child(odd){
    grid-column:auto;
  }
  .country-detail-visual{
    display:block;
    height:auto;
    border-width:1px;
    border-radius:16px;
  }
  .country-gallery-main{
    height:300px;
    border-radius:0;
  }
  .country-place-list{
    margin-top:0;
    padding:11px;
    border-top:1px solid rgba(255,255,255,.12);
    border-left:0;
    border-radius:0;
  }
  .country-place-list-heading{
    padding:2px 2px 9px;
  }
  .country-place-thumbs{
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
  }
  .country-place-card{
    min-height:64px;
    grid-template-columns:54px minmax(0,1fr);
    flex:0 0 150px;
  }
  .country-place-card img{
    width:54px;
    min-height:52px;
    max-height:56px;
  }
  .country-options{
    padding:50px 0;
  }
  .country-options .cards{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:22px;
  }
  .country-options .vcard{
    padding:20px;
  }
  .country-documents{
    padding:46px 0;
  }
  .country-doc-list{
    grid-template-columns:1fr;
  }
  .country-process{
    padding:54px 0;
  }
  .country-process-flow{
    max-width:320px;
    grid-template-columns:1fr;
    gap:20px;
    margin-top:34px;
  }
  .country-process-flow::before{
    top:36px;
    bottom:36px;
    left:40px;
    width:2px;
    height:auto;
  }
  .country-process-step{
    min-height:80px;
    display:grid;
    grid-template-columns:72px 1fr;
    grid-template-rows:auto auto;
    gap:3px 18px;
    align-items:center;
    text-align:left;
  }
  .country-process-step:not(:last-child)::after{
    content:"⌄";
    top:auto;
    right:auto;
    bottom:-18px;
    left:31px;
    width:18px;
    height:24px;
    background:#f7f9fb;
    font-size:18px;
  }
  .country-process-step i{
    grid-row:1/3;
    width:72px;
    height:72px;
    margin:0;
  }
  .country-process-step small{
    margin:0;
  }
}

@media (max-width:480px){
  .country-detail-hero,
  .country-detail-grid{
    min-height:570px;
  }
  .country-detail-copy h1::after{
    margin-top:17px;
  }
}

/* Country page mobile collections: two compact items per row. */
@media (max-width:600px){
  .country-back{
    margin-bottom:16px;
    padding:0;
    font-size:10px;
  }
  .country-options{
    padding:38px 0;
  }
  .country-section-heading h2,
  .country-process-heading h2,
  .country-documents-grid h2{
    font-size:26px;
  }
  .country-options .cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
  }
  .country-options .vcard{
    min-width:0;
    padding:13px;
    border-radius:13px;
  }
  .country-options .eta-pill{
    width:max-content;
    max-width:100%;
    margin-bottom:8px;
    padding:4px 7px;
    font-size:8px;
  }
  .country-options .vcard h3{
    font-size:15px;
    line-height:1.18;
  }
  .country-options .vcard .vsub{
    font-size:10px;
  }
  .country-options .vcard .price{
    margin:12px 0 3px;
    font-size:22px;
    letter-spacing:-.025em;
  }
  .country-options .vcard .price small{
    font-size:9px;
  }
  .country-options .country-visa-facts{
    gap:4px;
    margin:10px 0 12px;
    padding:8px 0;
  }
  .country-options .country-visa-facts small{
    font-size:6.5px;
    letter-spacing:.02em;
  }
  .country-options .country-visa-facts b{
    margin-top:2px;
    font-size:8.5px;
    line-height:1.25;
  }
  .country-options .vcard .btn{
    min-height:36px;
    padding:9px 8px;
    font-size:11px;
  }
  .country-documents{
    padding:38px 0;
  }
  .country-documents-grid{
    gap:20px;
  }
  .country-documents-grid>div:first-child p{
    margin-top:10px;
    font-size:13px;
    line-height:1.5;
  }
  .country-doc-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .country-doc-list>div{
    min-width:0;
    gap:7px;
    padding:11px 9px;
    border-radius:10px;
  }
  .country-doc-list svg{
    width:16px;
    height:16px;
  }
  .country-doc-list b{
    overflow-wrap:anywhere;
    font-size:10px;
    line-height:1.25;
  }
  .country-process{
    padding:40px 0;
  }
  .country-process-heading p{
    margin-top:8px;
    font-size:12px;
    line-height:1.5;
  }
  .country-process-flow{
    max-width:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:22px;
  }
  .country-process-flow::before,
  .country-process-step:not(:last-child)::after{
    display:none;
  }
  .country-process-step{
    min-width:0;
    min-height:132px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:0;
    padding:13px 9px;
    border:1px solid #dfe8ee;
    border-radius:12px;
    background:#fff;
    text-align:center;
  }
  .country-process-step i{
    width:46px;
    height:46px;
    margin:0 0 9px;
    border-width:1.5px;
    font-size:17px;
    box-shadow:none;
  }
  .country-process-step b{
    font-size:12px;
  }
  .country-process-step small{
    margin-top:3px;
    font-size:9px;
    line-height:1.3;
  }
}

/* Homepage mobile layout: compact cards, two destinations per row. */
@media (max-width:720px){
  .home-page .search-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 12px;
    max-width:none;
    padding-inline:0;
  }
  .home-page .search-benefits > div{
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .home-page .search-benefits b{font-size:12px}
  .home-page .search-benefits small{
    max-width:none;
    font-size:10px;
  }
  .home-page .destination-board .dest-grid--simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .home-page .destination-board .destination-tile,
  .home-page .destination-board .destination-tile.tile-shape-1,
  .home-page .destination-board .destination-tile.tile-shape-2,
  .home-page .destination-board .destination-tile.tile-shape-3,
  .home-page .destination-board .destination-tile.tile-shape-4{
    min-height:250px;
    border-radius:16px;
  }
  .home-page .destination-board .tile-topline{
    top:10px;
    left:10px;
    right:10px;
    gap:6px;
  }
  .home-page .destination-board .dc-flag-badge{
    gap:5px;
    padding:4px 7px 4px 4px;
    font-size:8px;
  }
  .home-page .destination-board .dc-flag-badge img{
    width:21px;
    height:21px;
    border-width:1.5px;
  }
  .home-page .destination-board .tile-eta{
    padding:5px 7px;
    font-size:8px;
  }
  .home-page .destination-board .tile-copy{
    left:11px;
    right:11px;
    bottom:12px;
  }
  .home-page .destination-board .destination-tile h3{
    max-width:100%;
    margin-top:0;
    font-size:16px;
    line-height:1.08;
    letter-spacing:-.025em;
  }
  .home-page .destination-board .tile-reqs{
    padding-top:6px;
    padding-bottom:4px;
    margin-top:6px;
  }
  .home-page .destination-board .tile-reqs-label{
    font-size:8px;
    margin-bottom:2px;
  }
  .home-page .destination-board .tile-reqs-value{
    font-size:11px;
  }
}

@media (max-width:380px){
  .home-page .destination-board .dest-grid--simple{gap:9px}
  .home-page .destination-board .destination-tile{min-height:235px}
  .home-page .destination-board .destination-tile h3{font-size:14px}
  .home-page .destination-board .tile-reqs-label{font-size:7px}
  .home-page .destination-board .tile-reqs-value{font-size:10px}
}

/* Compact mobile footer and support action across customer-facing pages. */
@media (max-width:720px){
  .footer{
    padding:26px 0 16px;
  }
  .footer .container{
    padding-inline:16px;
  }
  .footer-grid,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 18px;
    padding:22px 0 26px;
  }
  .footer-grid > div:first-child,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-grid > div:first-child{
    grid-column:1/-1;
  }
  .footer .brand,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .brand{
    font-size:20px;
  }
  .footer .brand .logo,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .brand .logo{
    width:32px;
    height:32px;
    border-radius:9px;
  }
  .footer p,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer p{
    max-width:100%;
    margin-top:11px;
    font-size:12px;
    line-height:1.55;
  }
  .footer h5,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer h5{
    margin-bottom:10px;
    font-size:11px;
  }
  .footer ul,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer ul{
    gap:7px;
  }
  .footer a,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer a{
    font-size:12px;
    line-height:1.35;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-assurances{
    gap:6px;
    margin-top:12px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-assurances span{
    padding:5px 8px;
    font-size:9px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact{
    grid-column:1/-1;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a{
    gap:2px;
    padding:9px 10px;
    border:1px solid #e4eaef;
    border-radius:10px;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a small{
    font-size:9px;
  }
  .footer-bottom,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-bottom{
    align-items:center;
    gap:5px;
    margin-top:0;
    padding:13px 0 0;
    font-size:10px;
    line-height:1.4;
    text-align:center;
  }
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .home-footer .footer-route-line{
    height:24px;
  }
  .wa-float{
    right:16px !important;
    bottom:76px !important;
    width:46px !important;
    height:46px !important;
    box-shadow:0 9px 22px -8px rgba(37,211,102,.65);
    z-index: 9998 !important;
  }
  .ai-assistant{
    position: fixed !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 99999 !important;
    transform: translate3d(0, 0, 0) !important;
  }
  .ai-assistant-trigger{
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    gap: 0 !important;
    transform: none !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.4) !important;
  }
  .ai-assistant-trigger span{
    display: none !important;
    max-width: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
  }
  .ai-assistant-trigger svg{
    width: 22px !important;
    height: 22px !important;
    margin: auto !important;
  }
  .wa-float svg{
    width:22px;
    height:22px;
  }
  .wa-float.has-label{
    width:auto;
    height:40px;
    padding:0 11px;
    gap:6px;
    border-radius:20px;
  }
  .wa-float.has-label .wa-label{
    font-size:11px;
  }
  .footer .social-ico{
    width:30px;
    height:30px;
    border-radius:8px;
  }
  .footer .social-ico svg{
    width:15px;
    height:15px;
  }
}

@media (max-width:380px){
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact ul{
    grid-template-columns:1fr;
  }
  .wa-float{
    right:12px !important;
    bottom:68px !important;
    width:42px !important;
    height:42px !important;
  }
  .ai-assistant{
    position: fixed !important;
    right:12px !important;
    bottom:14px !important;
    z-index: 99999 !important;
  }
  .ai-assistant-trigger{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    gap: 0 !important;
    transform: none !important;
  }
  .ai-assistant-trigger span{
    display: none !important;
  }
  .wa-float.has-label{
    padding:0 10px;
  }
  .wa-float.has-label .wa-label{
    font-size:10.5px;
  }
}

/* Compact customer-facing header on mobile screens. */
@media (max-width:720px){
  .header .nav,
  .home-page .discover-header .nav,
  .country-page .header .nav,
  .events-page .header .nav,
  .event-page .header .nav{
    height:54px;
    padding-inline:14px;
  }
  .header .brand,
  .country-page .brand,
  .events-page .brand,
  .event-page .brand{
    gap:7px;
    font-size:16px;
    height:40px;
  }
  .header .brand .logo,
  .country-page .brand .logo,
  .events-page .brand .logo,
  .event-page .brand .logo{
    width:28px;
    height:28px;
    border-radius:8px;
  }
  .header .brand .logo svg{
    width:16px;
    height:16px;
  }
  .header .brand img{
    width:auto !important;
    max-width:180px !important;
    height:72px !important;
    margin-left:-14px !important;
    mix-blend-mode:multiply !important;
  }
  .header .nav-actions,
  .discover-header .nav-actions,
  .country-page .nav-actions{
    gap:7px;
  }
  .header .nav-profile,
  .discover-header .nav-profile{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
  .header .nav-profile::before{
    top:7px;
    width:6px;
    height:6px;
  }
  .header .nav-profile::after{
    bottom:6px;
    width:12px;
    height:7px;
  }
  .header .menu-btn{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    padding:4px;
  }
  .header .menu-btn svg{
    width:21px;
    height:21px;
  }
  .header .nav-links,
  .discover-header .nav-links,
  .home-page .discover-header .nav-links{
    top:54px;
  }
}

/* Compact homepage hero, copy spacing and destination search on mobile. */
@media (max-width:720px){
  .home-page .home-hero--simple,
  .home-page .home-hero-layout{
    min-height:390px;
  }
  .home-page .hero-wordmark{
    top:64px;
    font-size:17.5vw;
    line-height:.84;
  }
  .home-page .home-hero-layout{
    padding-top:155px;
    padding-bottom:25px;
  }
  .home-page .route-kicker{
    gap:7px;
    font-size:9px;
    letter-spacing:.11em;
  }
  .home-page .route-kicker > span{
    width:22px;
  }
  .home-page .home-hero--simple .home-hero-copy-v2 h1{
    margin-top:9px;
    font-size:36px;
    line-height:.98;
    letter-spacing:-.045em;
  }
  .home-page .home-hero--simple .home-hero-copy-v2 .hero-sub{
    max-width:320px;
    margin-top:10px;
    font-size:14px;
    line-height:1.45;
  }
  .home-page .visa-filter-dock,
  .home-page .visa-filter-dock.visa-search-only{
    width:calc(100% - 32px);
    margin-top:-20px;
    padding:4px;
    border-radius:14px;
  }
  .home-page .visa-filter-dock.visa-search-only .hero-search--center{
    min-height:42px;
    padding:3px 3px 3px 39px;
    border-radius:10px;
  }
  .home-page .hero-search--center .search-icon{
    left:15px;
    width:14px;
    height:14px;
    border-width:1.7px;
  }
  .home-page .hero-search--center .search-icon::after{
    right:-5px;
    bottom:-3px;
    width:6px;
    height:1.7px;
  }
  .home-page .visa-filter-dock.visa-search-only input{
    padding:8px 6px;
    font-size:13px;
  }
  .home-page .visa-filter-dock.visa-search-only .search-action,
  .home-page .map-toggle{
    width:34px;
    height:34px;
    min-width:34px;
    flex-basis:34px;
  }
  .home-page .button-search-icon{
    width:12px;
    height:12px;
    border-width:1.7px;
  }
  .home-page .map-globe-icon{
    width:14px;
    height:14px;
    border-width:1.5px;
  }
  .home-page .search-suggestions{
    gap:6px;
    margin-top:3px;
    padding:7px 4px 3px;
  }
  .home-page .search-suggestions .destination-chip{
    gap:5px;
    padding:5px 8px;
    font-size:10px;
  }
  .home-page .search-suggestions .destination-chip img{
    width:18px;
    height:12px;
  }
  .home-page .board-heading{
    margin-top:38px;
  }
}

@media (max-width:380px){
  .home-page .home-hero--simple,
  .home-page .home-hero-layout{min-height:375px}
  .home-page .hero-wordmark{top:61px;font-size:17vw}
  .home-page .home-hero-layout{padding-top:148px;padding-bottom:23px}
  .home-page .home-hero--simple .home-hero-copy-v2 h1{font-size:34px}
}

/* ===== Visa detail page: application timeline + sticky application card ===== */
.visa-page{background:#f4f7fa}
.visa-page>.hero.sky,
.visa-page>.section:not(.sky){display:none}
.visa-detail-page{color:#25384b}
.visa-detail-intro{
  padding:46px 0 48px;
  border-bottom:1px solid #dce5ec;
  background:#fff;
}
.visa-detail-back{
  display:inline-flex;
  margin-bottom:25px;
  color:#66798c;
  font-size:13px;
  font-weight:700;
}
.visa-detail-back:hover{color:var(--blue-600)}
.visa-detail-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:46px;
  align-items:end;
}
.visa-detail-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--blue-600);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.visa-detail-intro h1{
  max-width:760px;
  color:#122b42;
  font-size:clamp(36px,5vw,60px);
  font-weight:800;
  letter-spacing:-.05em;
}
.visa-detail-intro-grid>div:first-child>p{
  max-width:710px;
  margin-top:14px;
  color:#617386;
  font-size:16px;
  line-height:1.7;
}
.visa-detail-quickfacts{
  display:flex;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #d8e2ea;
  border-radius:14px;
  background:#f7f9fb;
}
.visa-detail-quickfacts span{
  min-width:118px;
  padding:14px 17px;
  border-left:1px solid #d8e2ea;
}
.visa-detail-quickfacts span:first-child{border-left:0}
.visa-detail-quickfacts small,
.visa-detail-quickfacts b{display:block}
.visa-detail-quickfacts small{
  color:#7b8ca0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visa-detail-quickfacts b{
  margin-top:3px;
  color:#21384c;
  font-size:12px;
  white-space:nowrap;
}
.visa-detail-content-section{padding:46px 0 76px}
.visa-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:52px;
  align-items:start;
}
.visa-audience-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:17px;
  align-items:start;
  padding:21px 23px;
  border:1px solid #d5dee7;
  border-radius:15px;
  background:#eef2f6;
}
.visa-audience-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#dce3ea;
  color:#2c4258;
}
.visa-audience-icon svg{width:23px;height:23px}
.visa-audience-card small{
  display:block;
  margin-bottom:4px;
  color:#73849a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.visa-audience-card p{
  color:#465a6f;
  font-size:14px;
  line-height:1.6;
}
.visa-timeline-heading{
  margin-top:42px;
  padding-bottom:15px;
  border-bottom:1px solid #d5dee7;
}
.visa-timeline-heading span{
  color:#74869a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.visa-timeline-heading h2{
  margin-top:6px;
  color:#182f44;
  font-family:Georgia,'Times New Roman',serif;
  font-size:27px;
  font-weight:500;
  letter-spacing:-.025em;
}
.visa-timeline{padding:20px 0 0 8px}
.visa-timeline-step{
  position:relative;
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:18px;
  min-height:116px;
  padding-bottom:28px;
}
.visa-timeline-step::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:-2px;
  left:7px;
  width:1px;
  background:#c8d3de;
}
.visa-timeline-step:last-child::before{display:none}
.visa-timeline-dot{
  position:relative;
  z-index:1;
  width:16px;
  height:16px;
  margin-top:2px;
  border:2px solid #29465e;
  border-radius:50%;
  background:#f4f7fa;
  box-shadow:inset 0 0 0 3px #f4f7fa;
}
.visa-timeline-dot::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#29465e;
}
.visa-step-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:7px;
}
.visa-step-meta b,
.visa-step-meta span{
  padding:4px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
}
.visa-step-meta b{
  background:#e6ebf0;
  color:#40566b;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visa-step-meta span{
  border:1px solid #d5dee7;
  color:#728398;
}
.visa-timeline-step h3{
  margin:0 0 6px;
  color:#263b50;
  font-size:16px;
  font-weight:750;
  letter-spacing:-.015em;
}
.visa-timeline-step p{
  max-width:720px;
  color:#53667a;
  font-size:14px;
  line-height:1.7;
}
.visa-requirement-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.visa-requirement-chips span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #d8e2e9;
  border-radius:8px;
  background:#fff;
  color:#43586d;
  font-size:10px;
  font-weight:700;
}
.visa-requirement-chips svg{width:12px;height:12px;color:#249159}
.visa-apply-panel{
  position:sticky;
  top:94px;
  overflow:hidden;
  border:1px solid #d4dee7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 46px rgba(22,47,68,.11);
}
.visa-apply-price{
  padding:25px 26px 23px;
  background:#2d4357;
  color:#fff;
}
.visa-apply-price>small{
  display:block;
  margin-bottom:7px;
  color:#afbdc9;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.visa-apply-price div{display:flex;align-items:baseline;gap:4px}
.visa-apply-price strong{
  font-family:Georgia,'Times New Roman',serif;
  font-size:35px;
  font-weight:600;
  letter-spacing:-.025em;
}
.visa-apply-price div span{color:#bdc8d2;font-size:11px;font-weight:700}
.visa-apply-price p{margin-top:5px;color:#b9c5cf;font-size:11px}
.visa-apply-body{padding:22px}
.visa-apply-body>label,
.visa-apply-label{
  display:block;
  margin-bottom:7px;
  color:#72849a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.visa-apply-body select{
  width:100%;
  padding:12px 38px 12px 13px;
  border:1px solid #ced9e4;
  border-radius:9px;
  background:#fff;
  color:#20364a;
  font:inherit;
  font-size:13px;
  font-weight:650;
}
.visa-apply-label{margin-top:19px}
.visa-apply-facts{display:flex;flex-direction:column;gap:7px}
.visa-apply-facts>div{
  display:grid;
  grid-template-columns:25px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:48px;
  padding:9px 11px;
  border:1px solid #d4dee7;
  border-radius:9px;
  background:#fff;
}
.visa-apply-facts>div.active{
  border-color:#2d4357;
  background:#f3f6f9;
}
.visa-fact-icon{display:grid;place-items:center;color:#40576c}
.visa-fact-icon svg{width:17px;height:17px}
.visa-apply-facts small,
.visa-apply-facts b{display:block}
.visa-apply-facts small{color:#7b8b9b;font-size:9px}
.visa-apply-facts b{margin-top:1px;color:#263b50;font-size:12px}
.visa-apply-facts em{
  padding:4px 7px;
  border-radius:999px;
  background:#e3e9ef;
  color:#506579;
  font-size:8px;
  font-style:normal;
  font-weight:800;
}
.visa-estimate-note{
  margin-top:11px;
  color:#8190a0;
  font-size:10px;
  line-height:1.5;
}
.visa-apply-cta{margin-top:18px;border-radius:10px}
.visa-help-link{
  display:block;
  margin-top:13px;
  color:var(--blue-600);
  font-size:11px;
  font-weight:750;
  text-align:center;
}
.visa-safe-note{
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e1e7ed;
  color:#4f6478;
}
.visa-safe-note>svg{width:18px;height:18px;color:#28905c;flex:none}
.visa-safe-note span,.visa-safe-note b,.visa-safe-note small{display:block}
.visa-safe-note b{font-size:10px}
.visa-safe-note small{margin-top:1px;color:#8593a1;font-size:9px}
.visa-page>.section.sky{background:#fff}

@media (max-width:960px){
  .visa-detail-intro-grid{grid-template-columns:1fr;gap:25px}
  .visa-detail-quickfacts{width:fit-content;max-width:100%}
  .visa-detail-layout{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
}

@media (max-width:760px){
  .visa-page .nav-actions .btn-ghost{display:none}
  .visa-page .nav-actions .btn-primary{padding:10px 17px;font-size:13px}
  .visa-detail-intro{padding:30px 0 34px}
  .visa-detail-back{margin-bottom:19px}
  .visa-detail-intro h1{font-size:36px}
  .visa-detail-intro-grid>div:first-child>p{font-size:14px}
  .visa-detail-quickfacts{width:100%;overflow-x:auto}
  .visa-detail-quickfacts span{flex:1;min-width:108px;padding:12px}
  .visa-detail-content-section{padding:24px 0 55px}
  .visa-detail-layout{display:flex;flex-direction:column;gap:28px}
  .visa-apply-panel{position:static;order:-1;width:100%}
  .visa-apply-price{padding:21px 22px}
  .visa-apply-price strong{font-size:31px}
  .visa-audience-card{grid-template-columns:42px minmax(0,1fr);padding:18px}
  .visa-audience-icon{width:40px;height:40px}
  .visa-timeline-heading{margin-top:34px}
  .visa-timeline-heading h2{font-size:24px}
  .visa-timeline{padding-left:2px}
  .visa-timeline-step{gap:13px}
  .visa-timeline-step p{font-size:13px}
}

@media (max-width:420px){
  .visa-detail-intro h1{font-size:32px}
  .visa-detail-quickfacts b{font-size:11px}
  .visa-apply-body{padding:18px}
  .visa-audience-card{grid-template-columns:1fr}
  .visa-timeline-step{grid-template-columns:21px minmax(0,1fr)}
  .visa-requirement-chips span{width:100%}
}

/* Visa finder rollback: styles below are intentionally disabled.
.country-section-heading>p{
  max-width:650px;
  margin-top:10px;
  color:#687b8d;
  font-size:14px;
  line-height:1.65;
}
.country-options-layout{
  display:grid;
  grid-template-columns:244px minmax(0,1fr);
  gap:26px;
  align-items:start;
  margin-top:30px;
}
.country-visa-sidebar{
  position:sticky;
  top:92px;
  padding:20px;
  border:1px solid #dce5eb;
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 28px rgba(20,47,72,.055);
}
.country-filter-heading{
  display:flex;
  gap:11px;
  align-items:center;
  padding-bottom:17px;
  border-bottom:1px solid #e9eef2;
}
.country-filter-heading>svg{
  width:36px;
  height:36px;
  padding:8px;
  border-radius:10px;
  background:#fff4d9;
  color:#e39400;
}
.country-filter-heading span,
.country-filter-heading small{display:block}
.country-filter-heading span{color:#0c2234;font-size:14px;font-weight:800}
.country-filter-heading small{margin-top:2px;color:#81909d;font-size:10px}
.country-filter-field{margin-top:17px}
.country-filter-field>label{
  display:block;
  margin-bottom:7px;
  color:#52687b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.country-filter-field select{
  width:100%;
  min-height:43px;
  padding:0 35px 0 12px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  background:#fbfcfd;
  color:#183147;
  font:650 12px/1 Inter,sans-serif;
  cursor:pointer;
}
.country-filter-field select:focus{
  border-color:#3d9fcf;
  outline:3px solid rgba(61,159,207,.12);
}
.country-stepper{
  min-height:43px;
  display:grid;
  grid-template-columns:22px 34px 1fr 34px;
  gap:4px;
  align-items:center;
  padding:4px 5px 4px 10px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  background:#fbfcfd;
}
.country-stepper>svg{width:17px;height:17px;color:#668095}
.country-stepper button{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid #d5e0e7;
  border-radius:8px;
  background:#fff;
  color:#17334a;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.country-stepper button:hover:not(:disabled){border-color:#2b91c7;color:#1477ae}
.country-stepper button:disabled{opacity:.38;cursor:not-allowed}
.country-stepper output{text-align:center;color:#0d2538;font-size:13px;font-weight:800}
.country-filter-reset{
  width:100%;
  margin-top:15px;
  padding:8px;
  border:0;
  background:transparent;
  color:#2b7da9;
  font:750 11px/1 Inter,sans-serif;
  cursor:pointer;
}
.country-filter-help{
  display:flex;
  gap:9px;
  margin:13px -5px -5px;
  padding:13px;
  border-radius:12px;
  background:#eef8f4;
  color:#267257;
}
.country-filter-help>svg{width:18px;height:18px;flex:none}
.country-filter-help p,.country-filter-help b,.country-filter-help span{display:block;margin:0}
.country-filter-help b{font-size:10.5px}
.country-filter-help span{margin-top:3px;color:#638075;font-size:9.5px;line-height:1.45}
.country-options-results{min-width:0}
.country-results-bar{
  min-height:25px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:11px;
  color:#82909d;
  font-size:10.5px;
  font-weight:650;
}
.country-results-bar span:first-child{color:#435c70;font-weight:800}
.country-options-results .cards{margin-top:0}
.country-options-results .vcard{min-width:0;display:flex;flex-direction:column}
.country-options-results .country-visa-facts{margin-top:auto}
.country-card-total{
  min-height:15px;
  margin-top:2px;
  color:#257454;
  font-size:10px;
  font-weight:750;
}
.country-no-match{
  grid-column:1/-1;
  min-height:280px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:36px;
  border:1px dashed #cbd8e1;
  border-radius:16px;
  background:#fff;
  text-align:center;
}
.country-no-match>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#edf6fb;color:#2b91c7}
.country-no-match svg{width:21px;height:21px}
.country-no-match h3{margin-top:13px;color:#173047;font-size:18px}
.country-no-match p{margin-top:6px;color:#748494;font-size:12px}
.country-no-match button{margin-top:15px;border:0;background:transparent;color:#1677ad;font:750 12px/1 Inter,sans-serif;cursor:pointer}

body.visa-modal-open{overflow:hidden}
.visa-choice-modal[hidden]{display:none}
.visa-choice-modal{
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  transition:opacity .18s ease;
}
.visa-choice-modal.open{opacity:1}
.visa-choice-backdrop{position:absolute;inset:0;background:rgba(4,20,33,.66);backdrop-filter:blur(4px)}
.visa-choice-dialog{
  position:relative;
  width:min(860px,100%);
  max-height:min(690px,calc(100vh - 48px));
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(330px,.96fr);
  overflow:auto;
  border:1px solid rgba(255,255,255,.45);
  border-radius:22px;
  background:#fff;
  box-shadow:0 32px 90px rgba(0,18,32,.32);
  transform:translateY(14px) scale(.985);
  transition:transform .2s ease;
}
.visa-choice-modal.open .visa-choice-dialog{transform:translateY(0) scale(1)}
.visa-choice-close{
  position:absolute;
  z-index:2;
  top:15px;
  right:15px;
  width:34px;
  height:34px;
  border:1px solid #dce4ea;
  border-radius:50%;
  background:#fff;
  color:#43576a;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.visa-choice-about{padding:38px;background:#f3f8fb}
.visa-choice-kicker{
  display:block;
  color:#d98d00;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.visa-choice-about h2{max-width:320px;margin-top:10px;color:#0a2235;font-size:30px;line-height:1.14}
.visa-choice-about>p{margin-top:7px;color:#668094;font-size:13px}
.visa-choice-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:27px;
  border:1px solid #d8e5ec;
  border-radius:13px;
  background:#fff;
}
.visa-choice-facts span{min-width:0;padding:13px;border-left:1px solid #e4ebef}
.visa-choice-facts span:first-child{border-left:0}
.visa-choice-facts small,.visa-choice-facts b{display:block}
.visa-choice-facts small{color:#8997a3;font-size:8px;font-weight:800;text-transform:uppercase}
.visa-choice-facts b{margin-top:4px;overflow-wrap:anywhere;color:#173149;font-size:10.5px}
.visa-choice-includes{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.visa-choice-includes>b{margin-bottom:2px;color:#1c364c;font-size:12px}
.visa-choice-includes>span{display:flex;gap:8px;align-items:center;color:#587184;font-size:11.5px}
.visa-choice-includes svg{width:15px;height:15px;color:#279060;flex:none}
.visa-choice-assurance{display:flex;gap:10px;align-items:center;margin-top:29px;padding-top:18px;border-top:1px solid #dce7ed;color:#2a8961}
.visa-choice-assurance>svg{width:24px;height:24px;flex:none}
.visa-choice-assurance span,.visa-choice-assurance b,.visa-choice-assurance small{display:block}
.visa-choice-assurance b{font-size:11px}
.visa-choice-assurance small{margin-top:2px;color:#718696;font-size:9.5px}
.visa-choice-summary{padding:38px;background:#fff}
.visa-choice-summary h3{margin-top:10px;color:#102a3e;font-size:24px}
.visa-choice-summary>p{margin-top:7px;color:#718292;font-size:12px;line-height:1.55}
.visa-modal-travellers{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-top:25px;
  padding:13px;
  border:1px solid #dce4ea;
  border-radius:12px;
}
.visa-modal-travellers>span{display:flex;gap:8px;align-items:center;color:#273f52;font-size:12px}
.visa-modal-travellers>span svg{width:18px;height:18px;color:#658096}
.visa-modal-travellers .country-stepper{min-height:35px;grid-template-columns:31px 35px 31px;padding:1px;border:0;background:#fff}
.visa-modal-travellers .country-stepper button{width:29px;height:29px}
.visa-price-lines{margin-top:23px;padding-top:5px;border-top:1px solid #edf0f3}
.visa-price-lines>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;color:#728292;font-size:11.5px}
.visa-price-lines b{color:#334c60;font-size:11.5px}
.visa-price-lines .visa-price-total{align-items:baseline;margin-top:4px;padding-top:17px;border-top:1px solid #dfe6eb;color:#20384b;font-size:13px;font-weight:800}
.visa-price-total strong{color:#09243a;font-size:27px;letter-spacing:-.03em}
.visa-choice-summary .visa-price-note{margin-top:7px;padding:10px;border-radius:9px;background:#fff8e8;color:#866b38;font-size:9.5px}
.visa-modal-continue{min-height:48px;margin-top:17px;border-radius:11px}
.visa-modal-back{width:100%;margin-top:10px;padding:8px;border:0;background:transparent;color:#5d7386;font:750 11px/1 Inter,sans-serif;cursor:pointer}

@media (max-width:1080px){
  .country-options-layout{grid-template-columns:220px minmax(0,1fr)}
  .country-options-results .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .country-options-layout{grid-template-columns:1fr;gap:18px;margin-top:22px}
  .country-visa-sidebar{position:static;padding:16px}
  .country-filter-heading{padding-bottom:13px}
  .country-visa-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .country-filter-heading,.country-filter-help{grid-column:1/-1}
  .country-filter-field{margin-top:0}
  .country-filter-reset{align-self:end;margin:0;min-height:43px;border:1px solid #d8e1e8;border-radius:10px;background:#fff}
  .country-filter-help{margin:0;padding:11px}
  .country-results-bar{margin-top:4px}
  .visa-choice-dialog{grid-template-columns:1fr;max-width:520px}
  .visa-choice-about,.visa-choice-summary{padding:30px}
  .visa-choice-about{padding-bottom:25px}
  .visa-choice-assurance{display:none}
}

@media (max-width:540px){
  .country-section-heading>p{font-size:12px}
  .country-visa-sidebar{grid-template-columns:1fr}
  .country-filter-heading,.country-filter-help{grid-column:auto}
  .country-options-results .cards{grid-template-columns:1fr}
  .country-results-bar span:last-child{display:none}
  .country-options-results .vcard{padding:18px}
  .country-options-results .vcard h3{font-size:17px}
  .country-options-results .vcard .price{font-size:25px}
  .visa-choice-modal{align-items:end;padding:0}
  .visa-choice-dialog{width:100%;max-height:92vh;border-radius:21px 21px 0 0}
  .visa-choice-about,.visa-choice-summary{padding:24px 20px}
  .visa-choice-about h2{font-size:25px}
  .visa-choice-facts{margin-top:19px}
  .visa-choice-includes{margin-top:21px}
  .visa-choice-summary h3{font-size:21px}
  .visa-choice-close{position:fixed;top:auto;right:14px;margin-top:-10px}
}
*/

/* UAE country page — simple visa comparison and selection */
.uae-country-options{
  padding:74px 0 82px;
  border-bottom:0;
  background:#fff;
}
.uae-country-page{
  --blue-900:#9e4940;
  --blue-700:#ce6053;
  --blue-600:#ef6f61;
  --blue-500:#f17b6e;
  --blue-400:#f39a91;
  --blue-100:#fdf0ee;
  --sky-50:#fff9f8;
  background:#fff;
}
.uae-country-page .country-guide-row .eyebrow{background:#fdf0ee;color:#ef6f61}
.uae-country-page .country-info-nav{border-top:0;border-bottom:1px solid #e3e9ed;box-shadow:none}
.uae-country-page .uae-documents{border-bottom:0;background:#fff}
.uae-country-page .uae-country-process{border-top:0;background:#fff}
.uae-country-options .country-section-heading{max-width:690px}
.uae-country-options .country-section-heading>p{
  margin-top:12px;
  color:#607386;
  font-size:15px;
  line-height:1.65;
}
.uae-visa-selector{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:26px;
  align-items:stretch;
  margin-top:32px;
}
.uae-visa-details,
.uae-visa-form{
  min-width:0;
  border-radius:24px;
}
.uae-visa-details{
  position:relative;
  overflow:hidden;
  padding:34px;
  background:
    radial-gradient(circle at 88% 10%,rgba(96,165,250,.28),transparent 30%),
    linear-gradient(145deg,#071d2d 0%,#0c3855 100%);
  color:#fff;
  box-shadow:0 20px 48px rgba(8,37,58,.2);
}
.uae-visa-details::after{
  content:"";
  position:absolute;
  right:-48px;
  bottom:-74px;
  width:190px;
  height:190px;
  border:34px solid rgba(255,255,255,.045);
  border-radius:50%;
  pointer-events:none;
}
.uae-visa-details-top{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}
.uae-visa-kicker,
.uae-form-kicker{
  color:#7dd3fc;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.uae-visa-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:43px;
  height:29px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.uae-visa-details h3{
  position:relative;
  z-index:1;
  max-width:570px;
  margin-top:18px;
  color:#fff;
  font-size:clamp(27px,3.2vw,39px);
  line-height:1.13;
}
.uae-visa-details>p{
  position:relative;
  z-index:1;
  margin-top:8px;
  color:#b9d2e4;
  font-size:14px;
  font-weight:650;
}
.uae-visa-facts{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:30px;
}
.uae-visa-facts>div{
  min-width:0;
  min-height:128px;
  padding:17px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(255,255,255,.075);
}
.uae-fact-icon{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(125,211,252,.13);
  color:#8edcff;
  font-size:16px;
  font-weight:800;
}
.uae-visa-facts small,
.uae-visa-facts b{display:block}
.uae-visa-facts small{
  margin-top:16px;
  color:#9eb9cc;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
.uae-visa-facts b{
  margin-top:3px;
  overflow-wrap:anywhere;
  color:#fff;
  font-size:14px;
  line-height:1.35;
}
.uae-visa-fee{
  position:relative;
  z-index:1;
  min-height:88px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-top:12px;
  padding:17px 19px;
  border-radius:17px;
  background:#fff;
  color:#0a263b;
}
.uae-visa-fee small,
.uae-visa-fee strong{display:block}
.uae-visa-fee small{color:#6b7d8b;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.uae-visa-fee strong{margin-top:3px;font-size:26px;line-height:1.15}
.uae-visa-fee>span{padding-bottom:4px;color:#6c7f8e;font-size:11px;font-weight:650}
.uae-visa-form{
  padding:32px;
  border:1px solid #dbe5ec;
  background:#fff;
  box-shadow:0 18px 46px rgba(20,51,74,.1);
}
.uae-form-kicker{color:#247eae}
.uae-visa-form h3{margin-top:8px;color:#0a2539;font-size:25px}
.uae-visa-form>p{margin-top:9px;color:#667b8c;font-size:13px;line-height:1.6}
.uae-visa-form>label{
  display:block;
  margin-top:25px;
  color:#20394d;
  font-size:12px;
  font-weight:800;
}
.uae-select-wrap{position:relative;margin-top:8px}
.uae-select-wrap select{
  width:100%;
  min-height:58px;
  appearance:none;
  padding:0 46px 0 16px;
  border:1.5px solid #cfdae3;
  border-radius:13px;
  background:#fbfdff;
  color:#112e43;
  font:750 13px/1.3 var(--font);
  cursor:pointer;
}
.uae-select-wrap>span{
  position:absolute;
  top:50%;
  right:17px;
  transform:translateY(-56%);
  color:#2b7ba8;
  font-size:20px;
  line-height:1;
  pointer-events:none;
}
.uae-select-wrap select:hover{border-color:#9eb6c8}
.uae-select-wrap select:focus{
  border-color:var(--blue-600);
  outline:3px solid rgba(37,99,235,.14);
}
.uae-selection-summary{
  margin-top:19px;
  padding:6px 16px;
  border:1px solid #e1e9ef;
  border-radius:13px;
  background:#f7fafc;
}
.uae-selection-summary>div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid #e4ebf0;
}
.uae-selection-summary>div:first-child{border-top:0}
.uae-selection-summary span{color:#6f8190;font-size:11px}
.uae-selection-summary b{max-width:58%;text-align:right;color:#18364b;font-size:12px;line-height:1.35}
.uae-form-assurance{
  display:flex;
  gap:11px;
  align-items:center;
  margin-top:18px;
  padding:13px;
  border-radius:12px;
  background:#edf8f4;
  color:#247052;
}
.uae-form-assurance>span{
  width:29px;
  height:29px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d7f2e7;
  font-size:13px;
  font-weight:900;
}
.uae-form-assurance p,
.uae-form-assurance b,
.uae-form-assurance small{display:block}
.uae-form-assurance b{font-size:11px}
.uae-form-assurance small{margin-top:2px;color:#648173;font-size:9.5px;line-height:1.4}
.uae-visa-submit{
  min-height:54px;
  margin-top:18px;
  border-radius:13px;
  font-size:14px;
}
.uae-visa-submit:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:3px}

@media (max-width:900px){
  .uae-visa-selector{grid-template-columns:1fr}
  .uae-visa-details,.uae-visa-form{padding:28px}
}

@media (max-width:600px){
  .uae-country-options{padding:44px 0 50px}
  .uae-country-options .country-section-heading>p{font-size:12.5px}
  .uae-visa-selector{gap:14px;margin-top:22px}
  .uae-visa-details,.uae-visa-form{padding:20px;border-radius:18px}
  .uae-visa-details h3{font-size:25px}
  .uae-visa-facts{grid-template-columns:1fr;gap:8px;margin-top:22px}
  .uae-visa-facts>div{
    min-height:0;
    display:grid;
    grid-template-columns:31px minmax(0,1fr);
    column-gap:12px;
    padding:13px;
  }
  .uae-visa-facts small{align-self:end;margin-top:0}
  .uae-visa-facts b{grid-column:2;margin-top:1px}
  .uae-visa-fee{min-height:80px;padding:14px 15px}
  .uae-visa-fee strong{font-size:23px}
  .uae-visa-form h3{font-size:22px}
  .uae-visa-form>label{margin-top:20px}
  .uae-select-wrap select{min-height:55px;font-size:12px}
}

/* UAE visa catalogue v2 — compact list with a sticky application summary */
.uae-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.uae-visa-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:28px;
  align-items:start;
  margin-top:32px;
}
.uae-visa-catalogue{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.uae-catalogue-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:end;
  margin-bottom:14px;
}
.uae-catalogue-heading span{
  display:block;
  color:#2a82ad;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.uae-catalogue-heading h3{
  margin-top:4px;
  color:#102b3f;
  font-size:23px;
}
.uae-catalogue-heading>b{
  flex:none;
  margin-bottom:2px;
  padding:6px 10px;
  border:1px solid #d9e5ed;
  border-radius:999px;
  background:#fff;
  color:#607789;
  font-size:10px;
}
.uae-visa-list{
  max-height:none;
  display:flex;
  flex-direction:column;
  gap:15px;
  overflow:visible;
  padding:2px;
}
.uae-visa-option{
  position:relative;
  display:block;
  flex:none;
  padding:24px 25px 22px;
  border:1.5px solid #dbe5ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 22px rgba(18,52,76,.055);
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.uae-visa-option:hover{
  border-color:#a8c3d4;
  box-shadow:0 10px 25px rgba(18,52,76,.09);
  transform:translateY(-1px);
}
.uae-visa-option.selected{
  border-color:var(--blue-600);
  background:linear-gradient(135deg,#f5faff,#fff);
  box-shadow:0 0 0 3px rgba(37,99,235,.09),0 10px 26px rgba(18,52,76,.08);
}
.uae-visa-option-input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  opacity:0;
}
.uae-visa-option:has(.uae-visa-option-input:focus-visible){
  outline:3px solid rgba(37,99,235,.23);
  outline-offset:3px;
}
.uae-option-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
}
.uae-option-top>span,
.uae-option-top b,
.uae-option-top small,
.uae-option-top strong{display:block}
.uae-option-top>span{min-width:0}
.uae-option-top b{
  overflow-wrap:anywhere;
  color:#102c41;
  font-size:20px;
  line-height:1.28;
}
.uae-option-top>span>small{
  margin-top:5px;
  color:#718493;
  font-size:11.5px;
  font-weight:650;
}
.uae-option-top>strong{
  flex:none;
  color:#0b3049;
  font-size:22px;
  line-height:1.15;
  text-align:right;
}
.uae-option-top>strong>small{
  margin-top:3px;
  color:#81909b;
  font-size:8px;
  font-weight:650;
}
.uae-option-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:18px;
}
.uae-option-facts>span{
  min-width:0;
  padding:13px 14px;
  border-radius:10px;
  background:#f3f7fa;
}
.uae-option-facts small,
.uae-option-facts b{display:block}
.uae-option-facts small{color:#83929e;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.uae-option-facts b{margin-top:3px;overflow-wrap:anywhere;color:#29465a;font-size:12px;line-height:1.3}
.uae-option-action{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  align-items:center;
  margin-top:14px;
  color:#5f7688;
  font-size:11px;
  font-weight:750;
}
.uae-option-action i{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:1px solid #b9c9d4;
  border-radius:50%;
  color:transparent;
  font-size:9px;
  font-style:normal;
}
.uae-visa-option.selected .uae-option-action{color:var(--blue-700)}
.uae-visa-option.selected .uae-option-action i{border-color:var(--blue-600);background:var(--blue-600);color:#fff}
.uae-picker-summary{
  position:sticky;
  top:82px;
  align-self:start;
  min-width:0;
  padding:28px;
  border:1px solid #d7e2ea;
  border-radius:19px;
  background:#fff;
  box-shadow:0 16px 42px rgba(18,48,70,.11);
}
.uae-picker-kicker{
  color:#2781ad;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.uae-picker-summary h3{margin-top:8px;color:#0b283d;font-size:25px;line-height:1.22}
.uae-picker-summary>p{margin-top:4px;color:#718494;font-size:12px;font-weight:650}
.uae-picker-price{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:2px 14px;
  margin-top:21px;
  padding:17px;
  border-radius:12px;
  background:linear-gradient(135deg,#edf6ff,#f7fbff);
}
.uae-picker-price>span{color:#607b90;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.uae-picker-price>strong{grid-row:1/3;grid-column:2;color:#0a3856;font-size:27px;line-height:1.1}
.uae-picker-price>small{color:#82939e;font-size:8.5px}
.uae-picker-facts{margin-top:13px;border-top:1px solid #e4ebf0;border-bottom:1px solid #e4ebf0;padding:5px 0}
.uae-picker-facts>div{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:10px 2px}
.uae-picker-facts span{color:#718492;font-size:11px}
.uae-picker-facts b{max-width:62%;text-align:right;color:#244257;font-size:12px;line-height:1.3}
.uae-picker-assurance{
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:13px;
  padding:10px;
  border-radius:10px;
  background:#edf8f4;
  color:#257052;
}
.uae-picker-assurance>span{
  width:25px;
  height:25px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d6f2e6;
  font-size:11px;
  font-weight:900;
}
.uae-picker-assurance p,
.uae-picker-assurance b,
.uae-picker-assurance small{display:block}
.uae-picker-assurance b{font-size:10px}
.uae-picker-assurance small{margin-top:1px;color:#698376;font-size:8.5px}
.uae-picker-submit{min-height:54px;margin-top:17px;border-radius:12px;font-size:14px}
.uae-picker-submit:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:3px}

@media (max-width:900px){
  .uae-visa-picker{grid-template-columns:minmax(0,1fr) 330px;gap:20px}
  .uae-picker-summary{padding:22px}
}

@media (max-width:760px){
  .uae-visa-picker{grid-template-columns:1fr}
  .uae-visa-list{max-height:none;overflow:visible;padding-right:2px;scrollbar-gutter:auto}
  .uae-picker-summary{position:static;top:auto}
}

@media (max-width:520px){
  .uae-catalogue-heading{align-items:center}
  .uae-catalogue-heading h3{font-size:18px}
  .uae-visa-option{padding:14px}
  .uae-option-top{gap:12px}
  .uae-option-top b{font-size:14px}
  .uae-option-top>strong{font-size:16px}
  .uae-option-facts{gap:5px}
  .uae-option-facts>span{padding:8px 7px}
  .uae-option-facts small{font-size:6.8px}
  .uae-option-facts b{font-size:8.8px}
  .uae-picker-summary{padding:18px;border-radius:16px}
}

/* UAE documents — VisaDoo checklist model */
.uae-documents{
  padding:88px 0;
  border-bottom:0;
  background:#fff;
}
.uae-documents-shell{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:38px;
  align-items:stretch;
}
.uae-documents-intro{
  position:relative;
  overflow:hidden;
  padding:32px;
  border-radius:24px;
  background:
    radial-gradient(circle at 95% 5%,rgba(96,165,250,.25),transparent 31%),
    linear-gradient(150deg,#081f31 0%,#0c3a58 100%);
  color:#fff;
  box-shadow:0 20px 48px rgba(7,35,55,.17);
}
.uae-documents-intro::after{
  content:"";
  position:absolute;
  right:-62px;
  bottom:-72px;
  width:180px;
  height:180px;
  border:30px solid rgba(255,255,255,.045);
  border-radius:50%;
  pointer-events:none;
}
.uae-documents-kicker{
  position:relative;
  z-index:1;
  color:#7dd3fc;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.uae-documents-intro h2{
  position:relative;
  z-index:1;
  margin-top:12px;
  color:#fff;
  font-size:30px;
  line-height:1.17;
}
.uae-documents-intro>p{
  position:relative;
  z-index:1;
  margin-top:13px;
  color:#b6cedf;
  font-size:13px;
  line-height:1.65;
}
.uae-documents-stats{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:25px;
}
.uae-documents-stats>div{
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.075);
}
.uae-documents-stats strong,
.uae-documents-stats span{display:block}
.uae-documents-stats strong{color:#fff;font-size:19px}
.uae-documents-stats span{margin-top:2px;color:#9eb9cc;font-size:9px}
.uae-documents-upload-note{
  position:relative;
  z-index:1;
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:11px;
  padding:13px;
  border-radius:13px;
  background:#fff;
  color:#15374d;
}
.uae-documents-upload-note>span{
  width:31px;
  height:31px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#e5f4ff;
  color:#257da9;
  font-size:17px;
  font-weight:800;
}
.uae-documents-upload-note p,
.uae-documents-upload-note b,
.uae-documents-upload-note small{display:block}
.uae-documents-upload-note b{font-size:10.5px}
.uae-documents-upload-note small{margin-top:2px;color:#718491;font-size:8.5px;line-height:1.4}
.uae-documents-cta{
  position:relative;
  z-index:1;
  width:100%;
  min-height:49px;
  margin-top:15px;
  padding:12px 18px;
  border-radius:12px;
  font-size:12px;
}
.uae-documents-cta:focus-visible{outline:3px solid rgba(255,255,255,.28);outline-offset:3px}
.uae-documents-content{min-width:0}
.uae-documents-heading{max-width:630px}
.uae-documents-heading .eyebrow{margin-bottom:10px}
.uae-documents-heading h2{font-size:clamp(29px,3.8vw,40px)}
.uae-documents-heading>p{margin-top:9px;color:#687b8b;font-size:13px}
.uae-document-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin-top:25px;
}
.uae-document-card{
  position:relative;
  min-width:0;
  min-height:242px;
  padding:20px;
  border:1px solid #dbe5ec;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(19,51,73,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.uae-document-card:hover{
  transform:translateY(-2px);
  border-color:#b6cad8;
  box-shadow:0 13px 30px rgba(19,51,73,.09);
}
.uae-document-card-top{display:flex;justify-content:space-between;gap:14px;align-items:center}
.uae-document-number{
  color:#87a0b2;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
.uae-document-status{
  padding:5px 8px;
  border-radius:999px;
  background:#edf6fb;
  color:#2b789f;
  font-size:7.5px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.uae-document-card:nth-child(-n+2) .uae-document-status{background:#e9f8f2;color:#277455}
.uae-document-icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  margin-top:15px;
  border-radius:13px;
  background:linear-gradient(135deg,#e8f5ff,#f5fbff);
  color:#217ba8;
}
.uae-document-card:nth-child(-n+2) .uae-document-icon{background:linear-gradient(135deg,#e5f8f1,#f4fcf9);color:#258160}
.uae-document-icon svg{width:24px;height:24px}
.uae-document-card h3{margin-top:13px;color:#112f44;font-size:17px}
.uae-document-card>p{margin-top:6px;color:#6b7f8f;font-size:10.5px;line-height:1.55}
.uae-document-card>small{
  display:flex;
  gap:6px;
  align-items:flex-start;
  margin-top:11px;
  color:#536d7f;
  font-size:8.5px;
  font-weight:700;
  line-height:1.4;
}
.uae-document-card>small>span{
  width:15px;
  height:15px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e5f6ef;
  color:#24815f;
  font-size:8px;
  font-weight:900;
}

@media (max-width:900px){
  .uae-documents-shell{grid-template-columns:290px minmax(0,1fr);gap:24px}
  .uae-documents-intro{padding:25px}
  .uae-documents-intro h2{font-size:26px}
  .uae-document-card{padding:17px}
}

@media (max-width:760px){
  .uae-documents{padding:54px 0}
  .uae-documents-shell{grid-template-columns:1fr}
  .uae-documents-intro{padding:27px}
  .uae-document-grid{margin-top:20px}
}

@media (max-width:520px){
  .uae-documents{padding:42px 0}
  .uae-documents-intro{padding:22px;border-radius:19px}
  .uae-documents-intro h2{font-size:25px}
  .uae-document-grid{grid-template-columns:1fr;gap:10px}
  .uae-document-card{min-height:0;padding:17px;border-radius:15px}
  .uae-document-icon{width:41px;height:41px}
}

/* UAE documents v2 — single, easy-to-scan flow */
.uae-documents-simple{max-width:1080px}
.uae-documents-overview{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:42px;
  align-items:end;
}
.uae-documents-simple .uae-documents-heading{max-width:650px}
.uae-documents-simple .uae-documents-heading>p{
  max-width:610px;
  margin-top:10px;
  color:#647989;
  font-size:14px;
  line-height:1.65;
}
.uae-documents-quick{
  display:grid;
  grid-template-columns:repeat(3,minmax(92px,1fr));
  overflow:hidden;
  border:1px solid #dce6ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,52,76,.055);
}
.uae-documents-quick>div{
  min-width:0;
  padding:15px 17px;
  border-left:1px solid #e3ebf0;
}
.uae-documents-quick>div:first-child{border-left:0}
.uae-documents-quick strong,
.uae-documents-quick span{display:block}
.uae-documents-quick strong{color:#15384e;font-size:16px;line-height:1.2}
.uae-documents-quick span{margin-top:3px;color:#7a8c99;font-size:8.5px;line-height:1.3}
.uae-documents-simple .uae-document-grid{margin-top:30px}
.uae-documents-simple .uae-document-card{min-height:220px;padding:22px}
.uae-documents-footer{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin-top:15px;
  padding:16px 18px;
  border:1px solid #dce6ed;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,52,76,.045);
}
.uae-documents-footer>div{display:flex;gap:11px;align-items:center;min-width:0}
.uae-documents-footer>div>span{
  width:36px;
  height:36px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e8f5ff;
  color:#257ca9;
  font-size:18px;
  font-weight:850;
}
.uae-documents-footer p,
.uae-documents-footer b,
.uae-documents-footer small{display:block}
.uae-documents-footer b{color:#19394e;font-size:11px}
.uae-documents-footer small{margin-top:2px;color:#748793;font-size:9px}
.uae-documents-footer .btn{min-height:45px;padding:11px 21px;border-radius:11px;font-size:11.5px}
.uae-documents-footer .btn:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:3px}

@media (max-width:850px){
  .uae-documents-overview{grid-template-columns:1fr;gap:21px}
  .uae-documents-quick{width:100%}
  .uae-documents-quick>div{padding:13px 15px}
}

@media (max-width:600px){
  .uae-documents-simple .uae-documents-heading h2{font-size:29px}
  .uae-documents-simple .uae-documents-heading>p{font-size:12px}
  .uae-documents-quick{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:13px}
  .uae-documents-quick>div{padding:12px 9px}
  .uae-documents-quick strong{font-size:14px}
  .uae-documents-quick span{font-size:7.5px}
  .uae-documents-simple .uae-document-grid{margin-top:19px}
  .uae-documents-simple .uae-document-card{min-height:0;padding:18px}
  .uae-documents-footer{align-items:stretch;flex-direction:column;padding:14px}
  .uae-documents-footer .btn{width:100%}
}

/* UAE document cards v3 — minimal content */
.uae-documents-simple .uae-document-card-simple{
  min-height:0;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:14px;
}

/* Signed-in customer history shown on the UAE destination page. */
.uae-history{margin-top:54px;padding-top:39px;border-top:1px solid #e3e9eb}
.uae-history-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:21px;text-align:left}
.uae-history-heading>div>span{display:block;color:#d9584b;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.uae-history-heading h2{margin-top:7px;color:#132a38;font-size:30px;font-weight:800;letter-spacing:-.035em}
.uae-history-heading p{margin-top:7px;color:#687b85;font-size:12px}
.uae-history-heading>a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #dce4e7;border-radius:999px;background:#fff;color:#253f4a;font-size:11px;font-weight:750;transition:.18s ease}
.uae-history-heading>a:hover{border-color:#ef6f61;background:#fff9f8;color:#c94f43;transform:translateY(-2px)}
.uae-history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.uae-history-card{min-width:0;overflow:hidden;border:1px solid #dfe6e8;border-radius:21px;background:#fff;box-shadow:0 14px 34px rgba(24,49,60,.07)}
.uae-history-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px;border-bottom:1px solid #e8edef;text-align:left}
.uae-history-card>header>div{min-width:0}
.uae-history-card>header>div>span{display:block;color:#d9584b;font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.uae-history-card h3{margin-top:5px;color:#193641;font-size:16px;line-height:1.25}
.uae-history-card header p{margin-top:5px;color:#7a8991;font-size:9.5px}
.uae-history-status{flex:none;padding:5px 8px;border:1px solid #f3cbc6;border-radius:999px;background:#fff2f0;color:#bf4e43;font-size:8px;white-space:nowrap}
.uae-history-status.issued{border-color:#bfe2ce;background:#eff9f3;color:#187047}
.uae-history-status.action{border-color:#efd397;background:#fff9ec;color:#9a6200}
.uae-history-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}
.uae-history-document{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e0e7e9;border-radius:13px;background:#fff;color:#193640;font-family:inherit;text-align:left}
.uae-history-document.uploaded{border-color:#bbf7d0;background:#f0fdf4}
.uae-history-document .uae-doc-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#16a34a;color:#fff;font-size:12px;font-weight:800;flex-shrink:0}
.uae-history-document.missing .uae-doc-icon{background:#cbd5e1;color:#64748b}
.uae-history-doc-copy{flex:1;min-width:0}
.uae-history-document b,.uae-history-document small{display:block}
.uae-history-document b{font-size:12px;color:#0f172a}
.uae-history-document small{margin-top:2px;color:#16a34a;font-size:9.5px;font-weight:700}
.uae-history-document.missing small{color:#89969c}
.uae-doc-status{font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#15803d;background:#dcfce7;padding:3px 7px;border-radius:5px;border:1px solid #bbf7d0;flex-shrink:0}
.uae-history-document.missing .uae-doc-status{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}

@media (max-width:900px){
  .uae-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:620px){
  .uae-history{margin-top:36px;padding-top:29px}
  .uae-history-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:17px}
  .uae-history-heading h2{font-size:25px}
  .uae-history-heading p{font-size:10.5px;line-height:1.5}
  .uae-history-list{grid-template-columns:1fr;gap:12px}
  .uae-history-card>header{padding:16px}
  .uae-history-media{height:126px}
}
.uae-document-card-simple .uae-document-photo{
  width:118px;
  height:86px;
  margin:0;
  overflow:hidden;
  border-radius:14px;
  background:#e8f0f5;
}
.uae-document-card-simple .uae-document-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.uae-document-card-simple .uae-document-copy{min-width:0}
.uae-document-card-simple .uae-document-copy>div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.uae-document-card-simple .uae-document-copy h3{
  min-width:0;
  margin:0;
  font-size:16px;
}
.uae-document-card-simple .uae-document-status{flex:none}
.uae-document-card-simple .uae-document-copy>p{
  margin-top:6px;
  color:#6d808f;
  font-size:10.5px;
  line-height:1.5;
}

@media (max-width:520px){
  .uae-documents-simple .uae-document-card-simple{grid-template-columns:88px minmax(0,1fr);gap:13px;padding:12px}
  .uae-document-card-simple .uae-document-photo{width:88px;height:72px;border-radius:12px}
  .uae-document-card-simple .uae-document-copy>div{align-items:flex-start;flex-direction:column;gap:5px}
  .uae-document-card-simple .uae-document-copy h3{font-size:14px}
  .uae-document-card-simple .uae-document-copy>p{font-size:9.5px}
}

/* UAE visa process — horizontal timeline */
.uae-country-process{
  padding:76px 0;
  overflow:hidden;
  border-top:0;
  background:#fff;
}
.uae-process-simple{max-width:1120px}
.uae-process-heading{
  max-width:650px;
  margin:0;
  text-align:left;
}
.uae-process-heading .eyebrow{margin-bottom:10px}
.uae-process-heading h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(29px,3.8vw,40px);
  line-height:1.12;
  letter-spacing:-.035em;
}
.uae-process-heading>p{
  max-width:610px;
  margin-top:10px;
  color:#647989;
  font-size:14px;
  line-height:1.65;
}
.uae-process-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:30px;
}
.uae-process-steps::before{
  content:"";
  position:absolute;
  top:50%;
  right:9%;
  left:9%;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#168177,#47aaa0);
  transform:translateY(-50%);
}
.uae-process-step{
  position:relative;
  z-index:1;
  min-width:0;
  min-height:238px;
  display:grid;
  grid-template-rows:1fr 30px 1fr;
  justify-items:center;
  padding:0 26px;
}
.uae-process-step>i{
  grid-row:2;
  align-self:center;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:#0b7c71;
  box-shadow:0 0 0 2px #0b7c71;
}
.uae-process-step>div{
  grid-row:1;
  align-self:end;
  padding-bottom:25px;
  text-align:center;
}
.uae-process-step:nth-child(even)>div{
  grid-row:3;
  align-self:start;
  padding-top:25px;
  padding-bottom:0;
}
.uae-process-step>div>span{
  display:block;
  margin-bottom:7px;
  color:#0b7c71;
  font-size:24px;
  font-weight:500;
  line-height:1;
}
.uae-process-step h3{
  margin:0;
  color:#0c2635;
  font-size:17px;
  line-height:1.3;
}
.uae-process-step p{
  max-width:250px;
  margin:6px auto 0;
  color:#697e8c;
  font-size:12px;
  line-height:1.55;
}
@media (max-width:720px){
  .uae-country-process{padding:52px 0}
  .uae-process-heading{text-align:left}
  .uae-process-heading h2{font-size:29px}
  .uae-process-heading>p{font-size:12px}
  .uae-process-steps{grid-template-columns:1fr;gap:0;margin-top:24px}
  .uae-process-steps::before{top:20px;bottom:20px;right:auto;left:14px;width:5px;height:auto;transform:none}
  .uae-process-step{min-height:0;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto;justify-items:start;gap:15px;padding:15px 0}
  .uae-process-step>i{grid-row:1;grid-column:1;align-self:start;margin-top:5px}
  .uae-process-step>div,.uae-process-step:nth-child(even)>div{grid-row:1;grid-column:2;align-self:start;padding:0;text-align:left}
  .uae-process-step>div>span{font-size:20px}
  .uae-process-step h3{font-size:15px}
  .uae-process-step p{max-width:none;margin-top:4px;font-size:10.5px}
}

/* Returning UAE customer — application-first destination page */
.uae-account-page{background:#f4f6f5}
.uae-account-page #countryPage,.uae-account-page main{background:#f4f6f5}
.uae-account-hero{
  position:relative;
  isolation:isolate;
  min-height:560px;
  overflow:hidden;
  background:#0a242b;
  color:#fff;
}
.uae-account-hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background-image:url("https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=1800&q=86");
  background-position:center;
  background-size:cover;
  filter:saturate(.72);
  transform:scale(1.015);
}
.uae-account-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(5,28,34,.96) 0%,rgba(5,28,34,.88) 44%,rgba(5,28,34,.58) 100%),linear-gradient(0deg,rgba(3,23,28,.75),transparent 55%);
}
.uae-account-hero>.container{padding-top:47px;padding-bottom:58px}
.uae-account-back{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.76);font-size:11px;font-weight:750}
.uae-account-back:hover{color:#fff}
.uae-account-page .uae-account-back{width:max-content;display:flex;margin-right:auto;margin-left:auto}
.uae-account-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:74px;align-items:center;margin-top:48px}
.uae-account-hero-copy{max-width:690px}
.uae-account-flag{display:flex;gap:10px;align-items:center;margin-bottom:21px}
.uae-account-flag img{width:35px;height:24px;border:1px solid rgba(255,255,255,.7);border-radius:6px;object-fit:cover}
.uae-account-flag span{font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.uae-account-hero-copy>p{color:#bcd0d5;font-size:13px;font-weight:720}
.uae-account-hero-copy h1{max-width:670px;margin-top:9px;color:#fff;font-size:clamp(40px,5.3vw,68px);font-weight:800;letter-spacing:-.055em;line-height:1.02;text-wrap:balance}
.uae-account-hero-lead{display:block;max-width:590px;margin-top:18px;color:#c4d4d8;font-size:15px;line-height:1.65}
.uae-account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.uae-account-actions>a{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:13px 21px;border-radius:999px;font-size:12px;font-weight:800;transition:.18s ease}
.uae-account-primary{background:#fff;color:#102d35;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.uae-account-primary:hover{background:#edf5f3;transform:translateY(-2px)}
.uae-account-secondary{border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px)}
.uae-account-secondary:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.uae-account-secondary span{font-size:18px;line-height:1}
.uae-account-hero-summary{padding:29px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(8,31,38,.62);box-shadow:0 24px 58px rgba(0,0,0,.23);backdrop-filter:blur(18px)}
.uae-account-hero-summary>span{color:#9fc3bd;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.uae-account-hero-summary h2{margin-top:7px;color:#fff;font-size:25px;line-height:1.25}
.uae-account-hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:23px;border-top:1px solid rgba(255,255,255,.18)}
.uae-account-hero-meta>div{padding:16px 13px 14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.uae-account-hero-meta>div:nth-child(even){padding-left:17px;border-left:1px solid rgba(255,255,255,.18)}
.uae-account-hero-meta small,.uae-account-hero-meta b{display:block}
.uae-account-hero-meta small{color:#91a9af;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.uae-account-hero-meta b{margin-top:5px;overflow-wrap:anywhere;color:#fff;font-size:12px}
.uae-account-content{padding:68px 0 84px}
.uae-account-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:64px;align-items:start}
.uae-account-main,.uae-account-side{min-width:0}
.uae-account-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid #d8e1df}
.uae-account-section-head>div>span,.uae-account-documents>header span,.uae-account-side section>span,.uae-account-other header span{display:block;color:#24756d;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.uae-account-section-head h2,.uae-account-documents h2,.uae-account-side h2{margin-top:6px;color:#16323a;font-size:25px;letter-spacing:-.03em}
.uae-account-section-head p,.uae-account-documents header p{margin-top:5px;color:#78898d;font-size:10px}
.uae-account-progress{padding:29px 0 33px;border-bottom:1px solid #d8e1df}
.uae-account-progress-head{display:flex;justify-content:space-between;gap:18px;align-items:end}
.uae-account-progress-head span,.uae-account-progress-head b{display:block}
.uae-account-progress-head span{color:#7a8c90;font-size:9px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}
.uae-account-progress-head b{margin-top:5px;color:#1a3a42;font-size:13px}
.uae-account-progress-head>strong{color:#1f766d;font-size:22px}
.uae-account-progress-line{height:5px;margin-top:15px;overflow:hidden;border-radius:999px;background:#dce6e4}
.uae-account-progress-line i{width:var(--uae-progress);height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#1f766d,#53aaa0)}
.uae-account-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none}
.uae-account-progress li{display:flex;gap:8px;align-items:center;color:#829095;font-size:9px;font-weight:720}
.uae-account-progress li>i{width:22px;height:22px;flex:none;display:grid;place-items:center;border:1px solid #cad7d5;border-radius:50%;background:#fff;color:#74888b;font-size:8px;font-style:normal;font-weight:850}
.uae-account-progress li.done,.uae-account-progress li.current{color:#225f59}
.uae-account-progress li.done>i{border-color:#1f766d;background:#1f766d;color:#fff}
.uae-account-progress li.current>i{border-color:#1f766d;color:#1f766d;box-shadow:0 0 0 4px rgba(31,118,109,.1)}
.uae-account-documents{padding-top:32px}
.uae-account-documents>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.uae-account-documents>header>b{padding:6px 9px;border:1px solid #c6e1d8;border-radius:999px;background:#ecf7f3;color:#246d59;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.uae-account-document-disclosure{margin-top:19px;border-top:1px solid #d8e1df;border-bottom:1px solid #d8e1df}
.uae-account-document-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 1px;color:#000;cursor:pointer;list-style:none}
.uae-account-document-disclosure>summary::-webkit-details-marker{display:none}
.uae-account-document-disclosure>summary>span{color:#000;font-size:11px;font-weight:820}
.uae-account-document-disclosure>summary>i{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cdd9d7;border-radius:50%;color:#000;font-size:0;font-style:normal;transition:transform .28s cubic-bezier(0.16,1,0.3,1),background-color .2s ease}
.uae-account-document-disclosure>summary>i::after{content:"";display:block;width:14px;height:14px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;pointer-events:none}
.uae-account-document-disclosure[open]>summary>i{transform:rotate(180deg);background:#f1f5f9}
.uae-account-document-disclosure[open]>summary{border-bottom:1px solid #e6ebea}
.uae-account-documents .uae-history-documents{gap:13px;padding:20px 0 0}
.uae-account-document-disclosure .uae-history-documents{padding-bottom:20px}
.uae-account-documents .uae-history-document{border-color:#d8e1df;border-radius:18px;box-shadow:none}
.uae-account-documents .uae-history-document:hover{border-color:#6e9c96;box-shadow:0 12px 28px rgba(15,49,55,.08)}
.uae-account-documents .uae-history-media{height:190px;background:#eef2f1}
.uae-account-documents .uae-history-document>div:last-child{padding:13px 14px}
.uae-account-documents .uae-history-document b{font-size:12px}
.uae-account-documents .uae-history-document small{color:#24756d;font-size:9px}
.uae-account-side{display:grid;gap:25px}
.uae-account-side>section{padding:28px;border-radius:22px;background:#fff}
.uae-account-side>section:first-child{background:linear-gradient(145deg,#0b3038,#174e4b);color:#fff;box-shadow:0 18px 42px rgba(13,54,58,.16)}
.uae-account-side>section:first-child>span{color:#8fc9bf}
.uae-account-side>section:first-child h2{color:#fff}
.uae-account-side>section:first-child p{margin-top:10px;color:#b6cfcc;font-size:12px;line-height:1.6}
.uae-account-side>section:first-child>a{width:100%;min-height:47px;display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:12px 15px;border-radius:12px;background:#fff;color:#12343a;font-size:11px;font-weight:800}
.uae-account-other{border:1px solid #dce4e2}
.uae-account-other>p{margin-top:9px;color:#73858a;font-size:11px;line-height:1.55}
.uae-account-application-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:12px;align-items:center;padding:16px 0;border-top:1px solid #e4eae9}
.uae-account-application-row:first-child{margin-top:17px}
.uae-account-application-row span{color:#24756d;font-size:8px;font-weight:820;text-transform:uppercase;letter-spacing:.06em}
.uae-account-application-row h3{margin-top:4px;color:#203d44;font-size:13px}
.uae-account-application-row p{margin-top:4px;color:#7c8d91;font-size:9px}
.uae-account-application-row>a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d5e0de;border-radius:50%;color:#1f766d;font-weight:800}
.uae-account-add{width:100%;min-height:45px;display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:11px 14px;border:1px solid #cbd8d6;border-radius:12px;color:#1b4b4c;font-size:11px;font-weight:800}
.uae-account-add:hover{border-color:#1f766d;background:#eef7f5}
.uae-account-add span{font-size:17px}
.uae-account-application-card{border-top:1px solid #e4eae9}
.uae-account-application-card:first-child{margin-top:17px}
.uae-account-application-card>summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:12px;align-items:center;padding:15px 0;cursor:pointer;list-style:none}
.uae-account-application-card>summary::-webkit-details-marker{display:none}
.uae-account-application-card>summary span{color:#24756d;font-size:8px;font-weight:820;letter-spacing:.06em;text-transform:uppercase}
.uae-account-application-card>summary h3{margin-top:4px;color:#203d44;font-size:13px}
.uae-account-application-card>summary p{margin-top:4px;color:#7c8d91;font-size:9px}
.uae-account-application-card>summary>i{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5e0de;border-radius:50%;color:#1f766d;font-size:0;font-style:normal;transition:transform .28s cubic-bezier(0.16,1,0.3,1),background-color .2s ease}
.uae-account-application-card>summary>i::after{content:"";display:block;width:14px;height:14px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;pointer-events:none}
.uae-account-application-card[open]>summary>i{transform:rotate(180deg);background:#f1f5f9}
.uae-account-application-detail{padding:0 0 17px}
.uae-account-application-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:11px 0;border-top:1px solid #eef1f1}
.uae-account-application-detail dl>div:nth-child(even){padding-left:13px;border-left:1px solid #eef1f1}
.uae-account-application-detail dt{color:#849397;font-size:7px;font-weight:760;text-transform:uppercase;letter-spacing:.05em}
.uae-account-application-detail dd{margin-top:3px;overflow-wrap:anywhere;color:#334e55;font-size:9px;font-weight:720}
.uae-account-application-detail .uae-history-documents{gap:7px;padding:9px 0}
.uae-account-application-detail .uae-history-document{border-radius:10px}
.uae-account-application-detail .uae-history-media{height:76px}
.uae-account-application-detail .uae-history-document>div:last-child{padding:8px}
.uae-account-application-detail .uae-history-document b{font-size:8.5px}
.uae-account-application-detail .uae-history-document small{font-size:7px}
.uae-account-application-detail>a{display:inline-flex;align-items:center;gap:7px;margin-top:6px;color:#1f6e68;font-size:9px;font-weight:800}

@media (max-width:900px){
  .uae-account-hero-grid{grid-template-columns:1fr;gap:34px;margin-top:38px}
  .uae-account-hero-summary{max-width:600px}
  .uae-account-grid{grid-template-columns:1fr;gap:42px}
  .uae-account-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:620px){
  .uae-account-hero>.container{padding-top:28px;padding-bottom:38px}
  .uae-account-hero-grid{margin-top:31px}
  .uae-account-hero-copy h1{font-size:39px}
  .uae-account-hero-lead{font-size:13px}
  .uae-account-actions{align-items:stretch;flex-direction:column}
  .uae-account-actions>a{width:100%}
  .uae-account-hero-summary{padding:22px;border-radius:19px}
  .uae-account-hero-summary h2{font-size:21px}
  .uae-account-content{padding:43px 0 60px}
  .uae-account-grid{gap:32px}
  .uae-account-section-head,.uae-account-documents>header{align-items:flex-start;flex-direction:column}
  .uae-account-progress ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .uae-account-documents .uae-history-documents{grid-template-columns:1fr}
  .uae-account-documents .uae-history-media{height:205px}
  .uae-account-side{grid-template-columns:1fr}
  .uae-account-side>section{padding:22px;border-radius:18px}
}

/* Returning UAE page v2 — pure white travel and application hub */
.uae-account-page,.uae-account-page #countryPage,.uae-account-page main{background:#fff}
.uae-account-page .header{border-bottom:1px solid #edf0f1;background:#fff}
.uae-account-hero{min-height:560px;border-bottom:1px solid #e3e8e9;background:#dbe3e6;color:#fff}
.uae-account-hero::before{display:block;filter:none}
.uae-account-hero::after{
  display:block;
  background:
    linear-gradient(90deg,rgba(3,18,24,.78) 0%,rgba(3,18,24,.62) 52%,rgba(3,18,24,.42) 100%),
    linear-gradient(0deg,rgba(3,18,24,.48),rgba(3,18,24,.12) 62%);
}
.uae-account-hero>.container{padding-top:42px;padding-bottom:54px}
.uae-account-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.72)}
.uae-account-back:hover{color:#fff}
.uae-account-hero-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:43px}
.uae-account-hero-copy{max-width:760px;margin-right:auto;margin-left:auto;text-align:center}
.uae-account-flag,.uae-account-actions{justify-content:center}
.uae-account-hero-copy h1,.uae-account-hero-lead{margin-right:auto;margin-left:auto}
.uae-account-flag span{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.78)}
.uae-account-hero-copy>p{color:#fff;text-shadow:0 2px 9px rgba(0,0,0,.82)}
.uae-account-hero-copy h1{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.72)}
.uae-account-hero-lead{color:#fff;text-shadow:0 2px 9px rgba(0,0,0,.82)}
.uae-account-primary{background:#fff;color:#112f38;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.uae-account-primary:hover{background:#eef4f3;color:#112f38}
.uae-account-secondary{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px)}
.uae-account-secondary:hover{border-color:#fff;background:rgba(255,255,255,.15)}
.uae-account-contact{min-height:50px!important;padding-right:9px!important;padding-left:9px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.uae-account-contact:hover{color:#dcecea!important;transform:none!important}
.uae-account-hero-summary{border-color:rgba(255,255,255,.28);background:rgba(7,31,38,.64);box-shadow:0 22px 50px rgba(0,0,0,.22);backdrop-filter:blur(18px)}
.uae-account-hero-summary>span{color:#9ccbc3}
.uae-account-hero-summary h2{color:#fff}
.uae-account-hero-meta{border-top-color:rgba(255,255,255,.2)}
.uae-account-hero-meta>div{border-bottom-color:rgba(255,255,255,.2)}
.uae-account-hero-meta>div:nth-child(even){border-left-color:rgba(255,255,255,.2)}
.uae-account-hero-meta small{color:#9eb1b6}
.uae-account-hero-meta b{color:#fff}
.uae-account-content{background:#fff}
.uae-account-side>section{border:1px solid #dce4e2;background:#fff}
.uae-account-side>section:first-child{border:1px solid #dce4e2;background:#fff;color:#17313d;box-shadow:none}
.uae-account-side>section:first-child>span{color:#24756d}
.uae-account-side>section:first-child h2{color:#17313d}
.uae-account-side>section:first-child p{color:#71848a}
.uae-account-side>section:first-child>a{border:1px solid #cad7d5;background:#fff;color:#17313d}
.uae-account-side>section:first-child>a:hover{border-color:#236f69;background:#f4f9f7}
.uae-public-guide-section{padding:76px 0 82px;border-top:1px solid #e0e6e6;background:#fff}
.uae-public-travel-guide{margin-top:0;padding-top:0;border-top:0}
.uae-public-travel-guide .uae-attractions{margin-top:0;padding-top:0;border-top:0}
#uae-attractions,#uae-faq,#country-attractions,#country-faq{scroll-margin-top:82px}
.uae-account-info-nav .container{overflow-x:auto;scrollbar-width:none}
.uae-account-info-nav .container::-webkit-scrollbar{display:none}
.uae-account-info-nav a{flex:none;white-space:nowrap}
#uae-current-visa,#uae-account-documents,#uae-visa-process{scroll-margin-top:82px}
#uae-current-visa>header>div:first-child>span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 15px;
  border-radius:999px;
  background:#fdf0ee;
  color:#ef6f61;
  font-size:10px;
  line-height:1;
  letter-spacing:.09em;
}
#uae-current-visa{overflow:visible;border:0;border-radius:0;background:transparent}
#uae-current-visa>header{padding-right:0;padding-left:0}
#uae-current-visa>.uae-account-current-detail{padding-right:0;padding-left:0;border-top:0}
.uae-country-page .country-info-nav .container{overflow-x:auto;scrollbar-width:none}
.uae-country-page .country-info-nav .container::-webkit-scrollbar{display:none}
.uae-country-page .country-info-nav a{flex:none;white-space:nowrap}
.uae-account-information{margin-top:76px;padding-top:64px;border-top:1px solid #dbe3e2}
.uae-account-information>header{max-width:760px}
.uae-account-information>header>span,.uae-attractions>header span,.uae-account-faq>header span,.uae-contact-panel>div>span{display:block;color:#24756d;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.uae-account-information>header h2,.uae-attractions>header h2,.uae-account-faq>header h2,.uae-contact-panel h2{margin-top:7px;color:#142f39;font-size:clamp(27px,3.6vw,40px);letter-spacing:-.04em}
.uae-account-information>header p{max-width:720px;margin-top:11px;color:#6c7f86;font-size:12px;line-height:1.65}
.uae-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;margin-top:38px}
.uae-info-disclosure{border-top:1px solid #dbe3e2;border-bottom:1px solid #dbe3e2;background:#fff}
.uae-info-disclosure summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 0;cursor:pointer;list-style:none}
.uae-info-disclosure summary::-webkit-details-marker{display:none}
.uae-info-disclosure summary span{display:block;color:#24756d;font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.uae-info-disclosure summary h3{margin-top:5px;color:#18343e;font-size:19px}
.uae-info-disclosure summary>i{flex:none;color:#60777d;font-size:9px;font-style:normal;font-weight:720}
.uae-info-disclosure summary>i b,.uae-info-disclosure summary>i em{font-style:normal}
.uae-info-disclosure summary>i em{display:none}
.uae-info-disclosure:not([open]) summary>i b{display:none}
.uae-info-disclosure:not([open]) summary>i em{display:block}
.uae-info-disclosure ul{display:grid;gap:0;margin:0;padding:0 0 20px;list-style:none}
.uae-info-disclosure li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:11px 0;border-top:1px solid #eef1f1}
.uae-info-disclosure li>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#edf7f4;color:#24756d;font-size:8px;font-weight:900}
.uae-info-disclosure li p{color:#526970;font-size:11px;line-height:1.55}
.uae-attractions{margin-top:70px;padding-top:56px;border-top:1px solid #dbe3e2}
.uae-attractions>header{max-width:620px}
.uae-attractions ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin:28px 0 0;padding:0;list-style:none}
.uae-attractions li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:17px 0;border-top:1px solid #e4e9e9}
.uae-attractions li b{color:#24756d;font-size:10px;letter-spacing:.06em}
.uae-attractions li span{color:#203b45;font-size:13px;font-weight:730}
.uae-account-faq{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:70px;margin-top:70px;padding-top:56px;border-top:1px solid #dbe3e2}
.uae-account-faq>div{border-top:1px solid #dbe3e2}
.uae-account-faq details{border-bottom:1px solid #dbe3e2}
.uae-account-faq summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;color:#1d3942;font-size:12px;font-weight:760;cursor:pointer;list-style:none}
.uae-account-faq summary::-webkit-details-marker{display:none}
.uae-account-faq summary>span{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:50%;background:#ffffff;color:#0f172a;font-size:0;transition:transform .28s cubic-bezier(0.16,1,0.3,1),background-color .2s ease,border-color .2s ease}
.uae-account-faq summary>span::after{content:"";display:block;width:14px;height:14px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;pointer-events:none}
.uae-account-faq details[open] summary>span{transform:rotate(180deg);background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}
.uae-account-faq summary:hover>span{border-color:#94a3b8;background:#f8fafc}
.uae-account-faq details[open] summary:hover>span{background:#e2e8f0}
.uae-account-faq details>p{max-width:720px;padding:0 34px 19px 0;color:#687c82;font-size:11px;line-height:1.65}
.uae-contact-panel{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:72px;padding:31px 0;border-top:1px solid #dbe3e2;border-bottom:1px solid #dbe3e2}
.uae-contact-panel h2{font-size:27px}
.uae-contact-panel p{margin-top:7px;color:#6e8187;font-size:11px}
.uae-contact-panel>a{min-height:48px;display:inline-flex;align-items:center;gap:12px;padding:12px 19px;border-radius:999px;background:#0b1114;color:#fff;font-size:11px;font-weight:800}
.uae-contact-panel>a:hover{background:#263035;transform:translateY(-1px)}

@media (max-width:760px){
  .uae-information-grid{grid-template-columns:1fr;gap:25px}
  .uae-account-faq{grid-template-columns:1fr;gap:27px}
}

@media (max-width:620px){
  .uae-account-hero>.container{padding-top:27px;padding-bottom:38px}
  .uae-account-information{margin-top:52px;padding-top:43px}
  .uae-information-grid{margin-top:29px}
  .uae-attractions,.uae-account-faq{margin-top:49px;padding-top:41px}
  .uae-attractions ol{grid-template-columns:1fr;margin-top:23px}
  .uae-contact-panel{align-items:flex-start;flex-direction:column;margin-top:52px}
  .uae-contact-panel>a{width:100%;justify-content:center}
}

/* Public UAE guide — compact sections after Visa Process */
.uae-public-guide-section{padding:68px 0 76px;border-top:0;background:#fff}
.uae-public-travel-guide{margin:0;padding:0;border:0}
.uae-public-travel-guide .uae-attractions{margin:0;padding:0;border:0}
.uae-public-travel-guide .uae-attractions>header{max-width:680px}
.uae-public-travel-guide .uae-attractions>header>span,.uae-public-travel-guide .uae-account-faq>header>span{display:inline-flex;align-items:center;width:max-content;padding:8px 14px;border-radius:999px;background:#fdf0ee;color:#ef6f61;font-size:10px;font-weight:850;line-height:1;letter-spacing:.1em;text-transform:uppercase}
.uae-public-travel-guide .uae-attractions>header h2,.uae-public-travel-guide .uae-account-faq>header h2{margin-top:12px}
.uae-public-travel-guide .uae-attractions ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:27px}
.uae-public-travel-guide .uae-attractions li{display:block;min-height:0;overflow:hidden;padding:0;border:1px solid #e1e8e7;border-radius:15px;background:#fff}
.uae-public-travel-guide .uae-attraction-photo{height:148px;overflow:hidden;background:#eef2f1}
.uae-public-travel-guide .uae-attraction-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.uae-public-travel-guide .uae-attraction-photo.image-unavailable{background:linear-gradient(135deg,#eef2f1,#e3ecea)}
.uae-public-travel-guide .uae-attractions li:hover .uae-attraction-photo img{transform:scale(1.035)}
.uae-public-travel-guide .uae-attraction-copy{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start;padding:14px 15px 15px}
.uae-public-travel-guide .uae-attraction-copy b{color:#24756d;font-size:9px}
.uae-public-travel-guide .uae-attraction-copy span{color:#203b45;font-size:12px;font-weight:730;line-height:1.4}
.uae-public-travel-guide .uae-account-faq{grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr);gap:54px;margin-top:64px;padding-top:0;border-top:0}
.uae-public-travel-guide.uae-information-faq-only .uae-account-faq{margin-top:0}
.uae-public-travel-guide .uae-account-faq>div{display:grid;gap:9px;border-top:0}
.uae-public-travel-guide .uae-account-faq details{overflow:hidden;border:1px solid #e1e8e7;border-radius:13px;background:#fff}
.uae-public-travel-guide .uae-account-faq summary{padding:15px 16px}
.uae-public-travel-guide .uae-account-faq details>p{padding:0 48px 16px 16px}

@media (max-width:900px){
  .uae-public-travel-guide .uae-attractions ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
  .uae-public-guide-section{padding:50px 0 58px}
  .uae-public-travel-guide .uae-account-faq{grid-template-columns:1fr;gap:24px;margin-top:48px}
}

@media (max-width:480px){
  .uae-public-travel-guide .uae-attractions ol{grid-template-columns:1fr}
  .uae-public-travel-guide .uae-attractions li{min-height:0}
  .uae-public-travel-guide .uae-attraction-photo{height:190px}
}

/* Returning UAE page — summary-first application, visa and contact sections */
.uae-account-current{overflow:hidden;border:1px solid #d9e3e1;border-radius:22px;background:#fff}
.uae-account-current>summary,.uae-account-current>header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:25px 27px;list-style:none}
.uae-account-current>summary{cursor:pointer}
.uae-account-current>summary::-webkit-details-marker,.uae-account-disclosure>summary::-webkit-details-marker{display:none}
.uae-account-current>summary>div:first-child>span,.uae-account-current>header>div:first-child>span{display:block;color:#24756d;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.uae-account-current>summary h2,.uae-account-current>header h2{margin-top:6px;color:#16323a;font-size:25px;letter-spacing:-.03em}
.uae-account-current>summary p,.uae-account-current>header p{margin-top:5px;color:#78898d;font-size:10px}
.uae-account-current>summary>div:last-child{display:flex;gap:13px;align-items:center}
.uae-account-current>summary i,.uae-account-disclosure>summary>i{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:50%;color:#0f172a;background:#fff;font-size:0;font-style:normal;transition:transform .28s cubic-bezier(0.16,1,0.3,1),background-color .2s ease}
.uae-account-current>summary i::after,.uae-account-disclosure>summary>i::after{content:"";display:block;width:14px;height:14px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain;pointer-events:none}
.uae-account-current[open]>summary i,.uae-account-disclosure[open]>summary>i{transform:rotate(180deg);background:#f1f5f9;border-color:#cbd5e1}
.uae-account-current-detail{padding:0 27px 27px;border-top:1px solid #e8eeee}
.uae-account-current-detail .uae-account-progress{padding-top:27px}
.uae-account-current-detail .uae-account-documents{padding-bottom:0}
.uae-account-application-card:not([open]) .uae-account-application-detail{display:none}

.uae-account-extras{display:grid;gap:16px;margin-top:52px}
.uae-account-disclosure{scroll-margin-top:88px;overflow:hidden;border:1px solid #d9e3e1;border-radius:20px;background:#fff}
.uae-account-disclosure>summary,.uae-account-disclosure>header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 27px;list-style:none}
.uae-account-disclosure>summary{cursor:pointer}
.uae-account-disclosure>summary span,.uae-account-disclosure>header span{display:block;color:#24756d;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.uae-account-disclosure>summary h2,.uae-account-disclosure>header h2{margin-top:6px;color:#16323a;font-size:23px;letter-spacing:-.03em}
.uae-account-disclosure>summary p,.uae-account-disclosure>header p{margin-top:5px;color:#75878c;font-size:11px}
.uae-account-disclosure-body{padding:26px 27px 28px;border-top:1px solid #e8eeee}
.uae-account-empty-copy{color:#667b80;font-size:12px;line-height:1.6}
.uae-account-inline-link{display:inline-flex;align-items:center;gap:9px;margin-top:16px;color:#176c64;font-size:11px;font-weight:820}

.uae-account-visa-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.uae-account-visa-option{padding:20px;border:1px solid #d9e3e1;border-radius:16px;background:#fff}
.uae-account-visa-option>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.uae-account-visa-option>header span{color:#76898e;font-size:8px;font-weight:780;text-transform:uppercase;letter-spacing:.06em}
.uae-account-visa-option h3{margin-top:5px;color:#16323a;font-size:18px}
.uae-account-visa-option>header strong{color:#16323a;font-size:20px;text-align:right;white-space:nowrap}
.uae-account-visa-option>header strong small{display:block;margin-top:2px;color:#7b8d91;font-size:7px;font-weight:650}
.uae-account-visa-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:18px}
.uae-account-visa-facts>div{padding:11px;border-radius:10px;background:#f2f6f7}
.uae-account-visa-facts small,.uae-account-visa-facts b{display:block}
.uae-account-visa-facts small{color:#7c9095;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.uae-account-visa-facts b{margin-top:5px;color:#224049;font-size:10px;line-height:1.35}
.uae-account-visa-option>a{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:14px;border-top:1px solid #e6eceb;color:#1f6f68;font-size:10px;font-weight:820}

.uae-account-contact-body{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:38px;align-items:start}
.uae-account-contact-intro h3{color:#16323a;font-size:24px;letter-spacing:-.03em}
.uae-account-contact-intro p{margin-top:8px;color:#72858a;font-size:11px;line-height:1.65}
.uae-account-contact-options{display:grid;gap:9px}
.uae-account-contact-options>a{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:12px 14px;border:1px solid #dce5e4;border-radius:13px;color:#18343e;background:#fff;transition:border-color .18s ease,background .18s ease}
.uae-account-contact-options>a:hover{border-color:#6d9e98;background:#f7faf9}
.uae-account-contact-options i{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eef7f5;color:#1b746b;font-size:9px;font-style:normal;font-weight:900}
.uae-account-contact-options small,.uae-account-contact-options b{display:block}
.uae-account-contact-options small{color:#7c8d91;font-size:9px}
.uae-account-contact-options b{margin-top:3px;overflow-wrap:anywhere;font-size:11px}
.uae-account-contact-options em{color:#26776f;font-size:15px;font-style:normal}

/* Light colour accents for the visa and contact panels */
#uae-other-visa-types{overflow:visible;border:0;border-radius:0;background:transparent}
#uae-other-visa-types>header{padding-right:0;padding-left:0;background:transparent}
#uae-other-visa-types>header span,
#uae-contact-help>header span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 15px;
  border-radius:999px;
  background:#fdf0ee;
  color:#ef6f61;
  font-size:11px;
  letter-spacing:.08em;
}
#uae-other-visa-types>.uae-account-disclosure-body{padding-right:0;padding-left:0;border-top:0}
#uae-contact-help{overflow:visible;border:0;border-radius:0;background:transparent}
#uae-contact-help>header{padding-right:0;padding-left:0;background:transparent}
#uae-contact-help>.uae-account-disclosure-body{padding-right:0;padding-left:0;border-top:0}
.uae-account-visa-option{
  position:relative;
  overflow:hidden;
  border-color:#d9e3e1;
  background:#fff;
  box-shadow:0 7px 18px rgba(23,69,64,.04);
}
.uae-account-visa-option::before{display:none}
.uae-account-visa-option>header strong{color:#176e67}
.uae-account-visa-facts>div:nth-child(1),
.uae-account-visa-facts>div:nth-child(2),
.uae-account-visa-facts>div:nth-child(3),
.uae-account-visa-facts>div:nth-child(4){background:#f1f6f5}
.uae-account-contact-options>a:nth-child(1){border-color:#cfe7dc;background:#fbfffd}
.uae-account-contact-options>a:nth-child(1) i{background:#e6f7ef;color:#14845d}
.uae-account-contact-options>a:nth-child(2){border-color:#d5e4ee;background:#fcfeff}
.uae-account-contact-options>a:nth-child(2) i{background:#e9f3fa;color:#287ba4}
.uae-account-contact-options>a:nth-child(3){border-color:#efdcd7;background:#fffdfc}
.uae-account-contact-options>a:nth-child(3) i{background:#fff0ec;color:#c85c4e}
.uae-account-contact-options>a:nth-child(1):hover{border-color:#52a783;background:#f3fbf7}
.uae-account-contact-options>a:nth-child(2):hover{border-color:#68a4c4;background:#f5fafe}
.uae-account-contact-options>a:nth-child(3):hover{border-color:#d98b7f;background:#fff7f5}

@media (max-width:760px){
  .uae-account-visa-list{grid-template-columns:1fr}
  .uae-account-contact-body{grid-template-columns:1fr;gap:22px}
}

@media (max-width:520px){
  .uae-account-current>summary,.uae-account-current>header,.uae-account-disclosure>summary,.uae-account-disclosure>header{padding:20px}
  .uae-account-current-detail,.uae-account-disclosure-body{padding-right:20px;padding-left:20px}
  .uae-account-current>summary>div:last-child{align-items:flex-end;flex-direction:column-reverse}
  .uae-account-disclosure>summary p{max-width:250px}
  .uae-account-visa-option>header{flex-direction:column}
  .uae-account-visa-option>header strong{text-align:left}
  .uae-account-visa-facts{grid-template-columns:1fr}
}

/* Returning UAE dashboard — visual polish only; behaviour remains unchanged. */
.uae-account-page .uae-account-content{
  position:relative;
  background:
    radial-gradient(circle at 8% 2%,rgba(239,111,97,.08),transparent 25%),
    radial-gradient(circle at 92% 8%,rgba(31,118,109,.09),transparent 28%),
    linear-gradient(180deg,#f8fbfa 0,#fff 620px);
}
.uae-account-page .uae-account-grid{gap:36px}
.uae-account-page #uae-current-visa{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #d9e5e2;
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 60px rgba(21,60,63,.1);
}
.uae-account-page #uae-current-visa>header{
  padding:31px 31px 25px;
  border-bottom:1px solid #e5ecea;
  background:linear-gradient(135deg,rgba(255,247,245,.92),rgba(244,250,248,.94));
}
.uae-account-page #uae-current-visa>header h2{font-size:28px}
.uae-account-page #uae-current-visa>.uae-account-current-detail{padding:0 31px 31px}
.uae-account-page .uae-account-progress{padding:29px 0 31px}
.uae-account-page .uae-account-progress-head>strong{
  padding:7px 11px;
  border-radius:12px;
  background:#eaf6f3;
  color:#156e65;
  font-size:22px;
  line-height:1;
}
.uae-account-page .uae-account-progress-line{height:7px;background:#e2ece9}
.uae-account-page .uae-account-progress-line i{background:linear-gradient(90deg,#167269,#5eb9ad);box-shadow:0 0 16px rgba(31,118,109,.28)}
.uae-account-page .uae-account-progress li{gap:9px;color:#72868b}
.uae-account-page .uae-account-progress li>i{width:26px;height:26px;box-shadow:0 3px 9px rgba(24,65,68,.06)}
.uae-account-page .uae-account-documents{padding-top:27px}
.uae-account-page .uae-account-documents>header>b{padding:7px 10px;background:#e9f7f2;box-shadow:inset 0 0 0 1px rgba(36,117,109,.05)}
.uae-account-page .uae-account-document-disclosure{
  margin-top:20px;
  overflow:hidden;
  border:1px solid #d8e5e2;
  border-radius:16px;
  background:linear-gradient(135deg,#fbfdfc,#f3f8f7);
  box-shadow:0 8px 22px rgba(20,61,63,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.uae-account-page .uae-account-document-disclosure:hover{border-color:#93bbb5;box-shadow:0 12px 28px rgba(20,61,63,.08);transform:translateY(-1px)}
.uae-account-page .uae-account-document-disclosure>summary{padding:16px 17px}
.uae-account-page .uae-account-document-disclosure>summary>span{font-size:12px}
.uae-account-page .uae-account-document-disclosure>summary>i{border-color:#b9d2ce;background:#fff;color:#176e67;box-shadow:0 4px 12px rgba(31,118,109,.08)}
.uae-account-page .uae-account-document-disclosure[open]{background:#fff}
.uae-account-page .uae-account-document-disclosure .uae-history-documents{padding-right:16px;padding-bottom:17px;padding-left:16px}

.uae-account-page .uae-account-side{position:sticky;top:92px;gap:20px}
.uae-account-page .uae-account-side>section{padding:28px;border-radius:24px;box-shadow:0 16px 40px rgba(19,57,60,.07)}
.uae-account-page .uae-account-side>section:first-child{
  position:relative;
  overflow:hidden;
  border-color:#123f42;
  background:
    radial-gradient(circle at 100% 0,rgba(239,111,97,.34),transparent 40%),
    linear-gradient(145deg,#0d3339,#175b56);
  color:#fff;
  box-shadow:0 22px 50px rgba(13,55,58,.2);
}
.uae-account-page .uae-account-side>section:first-child::after{
  content:"";
  position:absolute;
  right:-35px;
  bottom:-65px;
  width:150px;
  height:150px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.uae-account-page .uae-account-side>section:first-child>span{color:#91d2c8}
.uae-account-page .uae-account-side>section:first-child h2{color:#fff;font-size:27px}
.uae-account-page .uae-account-side>section:first-child p{color:#c4dbd8}
.uae-account-page .uae-account-side>section:first-child>a{
  position:relative;
  z-index:1;
  border:0;
  background:#fff;
  color:#10383d;
  box-shadow:0 9px 22px rgba(0,0,0,.15);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.uae-account-page .uae-account-side>section:first-child>a:hover{border:0;background:#f2f8f6;transform:translateY(-2px);box-shadow:0 13px 28px rgba(0,0,0,.2)}
.uae-account-page .uae-account-other{
  border-color:#dbe5e3;
  background:linear-gradient(145deg,#fff,#f9fbfa);
}
.uae-account-page .uae-account-other header{padding-bottom:19px;border-bottom:1px solid #e4ebe9}
.uae-account-page .uae-account-application-row{margin-top:10px;padding:15px 13px;border:0;border-radius:14px;background:#f1f7f5;transition:background .18s ease,transform .18s ease}
.uae-account-page .uae-account-application-row:hover{background:#e9f3f0;transform:translateX(2px)}
.uae-account-page .uae-account-add{
  border-color:#113f43;
  background:#113f43;
  color:#fff;
  box-shadow:0 9px 20px rgba(17,63,67,.13);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.uae-account-page .uae-account-add:hover{border-color:#1b5a5b;background:#1b5a5b;color:#fff;transform:translateY(-2px);box-shadow:0 13px 26px rgba(17,63,67,.18)}

.uae-account-page .uae-account-extras{margin-top:64px}
.uae-account-page .uae-account-visa-option{
  border-color:#dce6e4;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#fbfdfc);
  box-shadow:0 14px 34px rgba(18,62,64,.07);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.uae-account-page .uae-account-visa-option:hover{border-color:#98bbb6;transform:translateY(-4px);box-shadow:0 21px 44px rgba(18,62,64,.12)}
.uae-account-page .uae-account-visa-facts>div{border:1px solid #e4ecea;background:#f3f8f6}
.uae-account-page .uae-account-visa-option>a{
  margin-top:17px;
  padding:13px 14px;
  border:0;
  border-radius:11px;
  background:#eef7f4;
  color:#176e67;
  transition:background .18s ease,color .18s ease;
}
.uae-account-page .uae-account-visa-option>a:hover{background:#176e67;color:#fff}

@media (max-width:900px){
  .uae-account-page .uae-account-grid{gap:30px}
  .uae-account-page .uae-account-side{position:static}
}

@media (max-width:620px){
  .uae-account-page #uae-current-visa{border-radius:21px}
  .uae-account-page #uae-current-visa>header{padding:25px 22px 21px}
  .uae-account-page #uae-current-visa>.uae-account-current-detail{padding:0 22px 24px}
  .uae-account-page #uae-current-visa>header h2{font-size:24px}
  .uae-account-page .uae-account-progress-head{align-items:flex-start}
  .uae-account-page .uae-account-progress-head>strong{font-size:19px}
  .uae-account-page .uae-account-side>section{padding:23px;border-radius:20px}
  .uae-account-page .uae-account-extras{margin-top:52px}
}

/* ==========================================================================
   AI TRAVEL ASSISTANT FLOATING WIDGET (STYLING OVERRIDES)
   ========================================================================== */

/* Assistant parent container */
.ai-assistant {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 9999 !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* Trigger floating action button */
.ai-assistant-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #ffffff !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35) !important;
  position: relative !important;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease, background 0.25s ease !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.ai-assistant-trigger::before {
  content: "" !important;
  position: absolute !important;
  top: -2px !important;
  left: -2px !important;
  right: -2px !important;
  bottom: -2px !important;
  border-radius: 28px !important;
  border: 2px solid #2563eb !important;
  opacity: 0 !important;
  animation: buttonPulse 2.5s cubic-bezier(0.24, 0, 0.38, 1) infinite !important;
}
@keyframes buttonPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    transform: scale(1.15);
    opacity: 0;
  }
}
.ai-assistant-trigger svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 2.2 !important;
  flex-shrink: 0 !important;
}
.ai-assistant-trigger span {
  display: inline-block !important;
  max-width: 0 !important;
  opacity: 0 !important;
  transform: translateX(10px) !important;
  transition: max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease, transform 0.3s ease !important;
  font-family: inherit !important;
  font-weight: 750 !important;
}
@media (hover: hover) and (min-width: 769px) {
  .ai-assistant-trigger:hover,
  .ai-assistant-trigger:active,
  .ai-assistant-trigger:focus {
    width: 154px !important;
    padding: 0 20px !important;
    gap: 8px !important;
  }
  .ai-assistant-trigger:hover span,
  .ai-assistant-trigger:active span,
  .ai-assistant-trigger:focus span {
    max-width: 100px !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
  }
  .ai-assistant-trigger:hover {
    background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
    box-shadow: 0 10px 28px rgba(37, 99, 235, 0.45) !important;
  }
  .ai-assistant-trigger:active {
    transform: translateY(0) scale(0.98) !important;
  }
}

/* Chat Assistant Panel Popup Container */
.ai-assistant-panel {
  position: absolute !important;
  bottom: 66px !important;
  right: 0 !important;
  width: 380px !important;
  height: 520px !important;
  max-height: 80vh !important;
  display: flex !important;
  flex-direction: column !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden !important;
  z-index: 10000 !important;
  transition: all 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform-origin: bottom right !important;
}

/* Visibility transitions matching the .open class state */
.ai-assistant:not(.open) .ai-assistant-panel {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(24px) scale(0.92) !important;
}
.ai-assistant.open .ai-assistant-panel {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* Panel Header */
.ai-assistant-panel header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  background: linear-gradient(135deg, #1e293b, #0f172a) !important;
  color: #ffffff !important;
  border-bottom: 1px solid #1e293b !important;
}
.ai-assistant-panel header .ai-bot-mark {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3) !important;
}
.ai-assistant-panel header div {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.ai-assistant-panel header b {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
}
.ai-assistant-panel header small {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  color: #94a3b8 !important;
}
.ai-assistant-panel header small i {
  width: 6px !important;
  height: 6px !important;
  background: #10b981 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.4) !important;
  animation: pulseGreen 2s infinite !important;
}
@keyframes pulseGreen {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
  70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
.ai-assistant-panel header button {
  background: transparent !important;
  border: 0 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 4px !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}
.ai-assistant-panel header button:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Chat conversation content log */
.ai-conversation {
  flex: 1 !important;
  padding: 20px !important;
  overflow-y: auto !important;
  background: #f8fafc !important;
  display: flex !important;
  flex-direction: column !important;
}
.ai-conversation::-webkit-scrollbar {
  width: 6px !important;
}
.ai-conversation::-webkit-scrollbar-track {
  background: transparent !important;
}
.ai-conversation::-webkit-scrollbar-thumb {
  background: #cbd5e1 !important;
  border-radius: 3px !important;
}
.ai-conversation::-webkit-scrollbar-thumb:hover {
  background: #94a3b8 !important;
}

/* WhatsApp Card inside AI Assistant */
.ai-wa-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  margin: 8px 0 14px 0 !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-self: stretch !important;
}
.ai-wa-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.ai-wa-icon-bg {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(37, 211, 102, 0.1) !important;
  color: #25d366 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.ai-wa-icon-bg svg {
  width: 22px !important;
  height: 22px !important;
  color: #25d366 !important;
}
.ai-wa-details {
  flex: 1 !important;
}
.ai-wa-details h4 {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}
.ai-wa-details p {
  margin: 2px 0 0 0 !important;
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}
.ai-wa-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #25d366 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.2) !important;
}
.ai-wa-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}
.ai-wa-btn span {
  color: #ffffff !important;
}
.ai-wa-btn:hover {
  background: #20ba5a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(37, 211, 102, 0.3) !important;
  color: #ffffff !important;
}
.ai-wa-btn:active {
  transform: translateY(0) !important;
}
.ai-message {
  margin-bottom: 12px !important;
  padding: 12px 16px !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  max-width: 85% !important;
  width: fit-content !important;
}
.ai-message-bot {
  background: #ffffff !important;
  color: #1e293b !important;
  border-radius: 16px 16px 16px 4px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  align-self: flex-start !important;
}
.ai-message-user {
  background: #2563eb !important;
  color: #ffffff !important;
  border-radius: 16px 16px 4px 16px !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2) !important;
  align-self: flex-end !important;
}

/* Suggestions container & chips */
.ai-suggestions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 14px !important;
  width: 100% !important;
}
.ai-suggestions button {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  color: #2563eb !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.01) !important;
}
.ai-suggestions button:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  transform: translateX(4px) !important;
}

/* Chat Input bar styling */
.ai-input-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
}
.ai-input-row input {
  flex: 1 !important;
  height: 42px !important;
  padding: 0 16px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 21px !important;
  font-size: 13px !important;
  background: #f8fafc !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}
.ai-input-row input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  background: #ffffff !important;
}
.ai-input-row button {
  height: 42px !important;
  padding: 0 18px !important;
  border-radius: 21px !important;
  background: #2563eb !important;
  color: #ffffff !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.1s ease !important;
}
.ai-input-row button:hover {
  background: #1d4ed8 !important;
}
.ai-input-row button:active {
  transform: scale(0.96) !important;
}

/* Translucent popup footer */
.ai-assistant-panel footer {
  padding: 10px 16px !important;
  font-size: 10px !important;
  color: #94a3b8 !important;
  text-align: center !important;
  background: #f8fafc !important;
  border-top: 1px solid #f1f5f9 !important;
  font-weight: 600 !important;
}

@media (max-width: 480px) {
  .ai-assistant-panel {
    width: calc(100vw - 32px) !important;
    right: 0 !important;
    bottom: 60px !important;
  }
}

/* ===== Global Custom Chevron Dropdown Styles for All Selects across the Website ===== */
select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px !important;
  padding-right: 40px !important;
  background-color: #ffffff !important;
}

/* Hide absolute arrow span overlays on select wraps to avoid duplicate chevrons */
.uae-select-wrap > span {
  display: none !important;
}

/* ===== Premium Global Input & Select Styling overrides (Borders, Shadows, Focus states) ===== */
.field input:not(.northpeak-input), 
.field textarea, 
.field select,
select, 
input[type="text"]:not(.northpeak-input), 
input[type="number"]:not(.northpeak-input), 
input[type="tel"]:not(.northpeak-input), 
input[type="email"]:not(.northpeak-input), 
input[type="date"]:not(.northpeak-input), 
textarea {
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04), inset 0 1px 2px rgba(15,23,42,0.02) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  outline: none;
  box-sizing: border-box;
}

.field input:not(.northpeak-input):hover, 
.field textarea:hover, 
.field select:hover,
select:hover, 
input[type="text"]:not(.northpeak-input):hover, 
input[type="number"]:not(.northpeak-input):hover, 
input[type="tel"]:not(.northpeak-input):hover, 
input[type="email"]:not(.northpeak-input):hover, 
input[type="date"]:not(.northpeak-input):hover, 
textarea:hover {
  border-color: #94a3b8 !important;
}

.field input:not(.northpeak-input):focus, 
.field textarea:focus, 
.field select:focus,
select:focus, 
input[type="text"]:not(.northpeak-input):focus, 
input[type="number"]:not(.northpeak-input):focus, 
input[type="tel"]:not(.northpeak-input):focus, 
input[type="email"]:not(.northpeak-input):focus, 
input[type="date"]:not(.northpeak-input):focus, 
textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,0.15) !important;
}

/* ===== Global Header Language Selector ===== */
.site-language-header-selector {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.site-language-source {
  display: none !important;
}
.site-language-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border: 1px solid #d5dde4;
  border-radius: 999px;
  color: #18324d;
  font-size: 13px;
  font-weight: 750;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  line-height: 1;
}
.site-language-trigger:hover {
  border-color: #143f73;
}

/* ===== Global Header Draft Resume Button ===== */
.site-draft-resume-btn {
  display: none !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  background: #0f172a;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  cursor: pointer;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
  position: relative;
  flex-shrink: 0;
  vertical-align: middle;
  line-height: 1;
}
.site-draft-resume-btn.is-active,
.site-draft-resume-btn[data-has-draft="true"] {
  display: inline-flex !important;
}
.site-draft-resume-btn:hover {
  background: #1e293b;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.28);
  color: #ffffff !important;
}
.site-draft-resume-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.15);
}
.site-draft-resume-btn svg {
  display: block;
  stroke: #ffffff;
  color: #ffffff;
  flex-shrink: 0;
}
.site-draft-resume-btn span {
  display: inline-block;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .site-draft-resume-btn {
    height: 32px;
    padding: 0 12px;
    font-size: 11.5px;
    gap: 5px;
  }
  .site-draft-resume-btn svg {
    width: 14px;
    height: 14px;
  }
}

.site-new-visa-btn {
  display: none !important;
}
.site-new-visa-btn:hover {
  background: #1e293b;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.28);
  color: #ffffff !important;
}
.site-new-visa-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.15);
}
.site-new-visa-btn svg {
  display: block;
  stroke: #ffffff;
  color: #ffffff;
  flex-shrink: 0;
}
.site-new-visa-btn span {
  display: inline-block;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .site-new-visa-btn {
    height: 32px;
    padding: 0 12px;
    font-size: 11.5px;
    gap: 5px;
  }
  .site-new-visa-btn svg {
    width: 14px;
    height: 14px;
  }
}
.site-language-trigger::after {
  content: "";
  flex: none;
  width: 5px;
  height: 5px;
  margin-left: 4px;
  border-right: 1.5px solid #18324d;
  border-bottom: 1.5px solid #18324d;
  transform: rotate(45deg);
  transition: transform .18s ease;
  margin-top: -2px;
}
.site-language-trigger[aria-expanded="true"]::after {
  transform: rotate(225deg);
  margin-top: 2px;
}
@keyframes langMenuPop {
  0% {
    opacity: 0;
    transform: translateY(-10px) scale(0.96);
  }
  65% {
    opacity: 1;
    transform: translateY(2px) scale(1.008);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.site-language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 175px;
  display: none;
  flex-direction: column;
  gap: 3px;
  padding: 8px 6px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 20px 45px -10px rgba(15, 23, 42, 0.22), 0 8px 16px rgba(15, 23, 42, 0.06);
  z-index: 1000;
  animation: langMenuPop 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.site-language-menu button {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  color: #1e293b;
  text-align: left;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}
.site-language-menu button:hover {
  background: #f1f5f9;
  transform: translateX(2px);
}
.site-language-menu button img {
  width: 22px;
  height: 16px;
  display: block;
  border-radius: 4px;
  object-fit: cover;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  flex: none;
}
.site-language-menu button span {
  font-size: 13.5px;
  font-weight: 650;
  color: #1e293b;
}
.site-language-menu button i {
  display: none;
  margin-left: auto;
  color: #2563eb;
  font-size: 14px;
  font-weight: 800;
  font-style: normal;
}

/* ===== Google Translate Stealth Mode & Full Page Translation Styles ===== */
.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
iframe.goog-te-banner-frame,
.goog-te-gadget,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  pointer-events: none !important;
}

html,
body,
body.home-page,
body.country-page {
  top: 0px !important;
  position: static !important;
}

html.translated-rtl,
html.translated-ltr {
  margin-top: 0px !important;
  top: 0px !important;
}

.goog-text-highlight {
  background: transparent !important;
  box-shadow: none !important;
}

#google_translate_element {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  visibility: hidden !important;
}

.skiptranslate:not(.allow-visible) {
  display: none !important;
}

/* RTL Layout Enhancements for Arabic */
[dir="rtl"] .site-language-menu {
  right: auto;
  left: 0;
}
[dir="rtl"] .site-language-menu button {
  text-align: right;
}
[dir="rtl"] .site-language-menu button i {
  margin-left: 0;
  margin-right: auto;
}
[dir="rtl"] .site-language-trigger::after {
  margin-left: 0;
  margin-right: 4px;
}
[dir="rtl"] .hero-curved-content {
  text-align: right;
}
[dir="rtl"] .dock-field-info {
  text-align: right;
}
[dir="rtl"] .board-heading {
  text-align: right;
}
/* Header Bar Layout in RTL (Fixes media_1789455960079.png) */
[dir="rtl"] .nav,
[dir="rtl"] .discover-header .nav,
[dir="rtl"] .header .nav,
html.visadoo-rtl .nav,
html.visadoo-rtl .discover-header .nav,
html.visadoo-rtl .header .nav,
html.translated-rtl .nav,
html.translated-rtl .discover-header .nav,
html.translated-rtl .header .nav {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
}

[dir="rtl"] .nav-actions,
[dir="rtl"] .discover-header .nav-actions,
[dir="rtl"] .header .nav-actions,
html.visadoo-rtl .nav-actions,
html.visadoo-rtl .discover-header .nav-actions,
html.visadoo-rtl .header .nav-actions,
html.translated-rtl .nav-actions,
html.translated-rtl .discover-header .nav-actions,
html.translated-rtl .header .nav-actions {
  margin-right: auto !important;
  margin-left: 0 !important;
}

[dir="rtl"] .nav-brand-cluster,
[dir="rtl"] .discover-header .nav-brand-cluster,
html.visadoo-rtl .nav-brand-cluster,
html.visadoo-rtl .discover-header .nav-brand-cluster,
html.translated-rtl .nav-brand-cluster,
html.translated-rtl .discover-header .nav-brand-cluster {
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
}

[dir="rtl"] .discover-header .brand-logo-img,
[dir="rtl"] .discover-header .brand img,
[dir="rtl"] .header .brand img,
html.visadoo-rtl .discover-header .brand-logo-img,
html.visadoo-rtl .discover-header .brand img,
html.translated-rtl .discover-header .brand-logo-img,
html.translated-rtl .discover-header .brand img {
  margin-left: 0 !important;
  margin-right: -18px !important;
}

[dir="rtl"] .discover-header #nationalityDropdown .dropdown-chevron,
[dir="rtl"] .discover-header .header-dropdown-trigger .dropdown-chevron,
html.visadoo-rtl .discover-header #nationalityDropdown .dropdown-chevron,
html.visadoo-rtl .discover-header .header-dropdown-trigger .dropdown-chevron,
html.translated-rtl .discover-header #nationalityDropdown .dropdown-chevron,
html.translated-rtl .discover-header .header-dropdown-trigger .dropdown-chevron {
  margin-left: 0 !important;
  margin-right: 4px !important;
}

[dir="rtl"] .discover-header .header-dropdown-menu,
html.visadoo-rtl .discover-header .header-dropdown-menu,
html.translated-rtl .discover-header .header-dropdown-menu {
  right: auto !important;
  left: 0 !important;
}

@media (min-width: 821px) {
  [dir="rtl"] .discover-header .nav-links,
  [dir="rtl"] .header .nav-links,
  [dir="rtl"] .home-page .discover-header .nav-links,
  [dir="rtl"] .nav-links,
  html.visadoo-rtl .discover-header .nav-links,
  html.visadoo-rtl .header .nav-links,
  html.visadoo-rtl .home-page .discover-header .nav-links,
  html.visadoo-rtl .nav-links,
  html.translated-rtl .discover-header .nav-links,
  html.translated-rtl .header .nav-links,
  html.translated-rtl .home-page .discover-header .nav-links,
  html.translated-rtl .nav-links {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    z-index: 20 !important;
    direction: rtl !important;
  }
}
[dir="rtl"] .faq-question-btn,
html.visadoo-rtl .faq-question-btn,
html.translated-rtl .faq-question-btn {
  text-align: right !important;
}
[dir="rtl"] .faq-a-text,
html.visadoo-rtl .faq-a-text,
html.translated-rtl .faq-a-text {
  text-align: right !important;
}
html.translated-rtl body,
html.translated-ltr body,
body.translated-rtl,
body.translated-ltr {
  top: 0px !important;
  position: static !important;
}
.goog-te-banner-frame {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
}


/* ===== 2026-08-11 FINAL USER REQUESTS ===== */
/* Marketing header: hide Track visa button while keeping application tracking available inside the app. */
.header .nav-track,
.discover-header .nav-track,
.events-page .nav-track,
.event-page .nav-track,
.article-page .nav-track,
.country-page .nav-track { display:none !important; }

/* Keep footer contact icons, labels and helper text neatly aligned on every public page. */
.footer-contact a,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
}
.footer-contact a > svg,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a > svg,
.footer-contact .contact-ico {
  flex:0 0 24px !important;
  width:24px !important;
  height:24px !important;
  display:block !important;
}
.footer-contact a > div,
.footer-contact .contact-text-block,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a > div {
  min-width:0;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  line-height:1.3 !important;
}
.footer-contact a span,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a span {
  font-size:14px !important;
  font-weight:700 !important;
  color:#1e293b !important;
  line-height:1.2 !important;
}
.footer-contact a small,
:is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a small {
  font-size:12px !important;
  font-weight:500 !important;
  color:#64748b !important;
  line-height:1.2 !important;
}

/* Dubai attractions carousel arrows: visible immediately when drawer opens. */
.uae-attractions-dropdown.is-open .uae-carousel-arrow-right {
  opacity:1;
  pointer-events:auto;
}

/* Professional AI assistant polish */
.ai-assistant-panel { width:min(390px,calc(100vw - 24px)) !important; max-height:min(650px,calc(100vh - 100px)); }
.ai-assistant-panel header { padding:17px 18px !important; }
.ai-assistant-panel header b { font-size:14px !important; letter-spacing:-.01em; }
.ai-assistant-panel header small { margin-top:3px; }
.ai-conversation { background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%) !important; }
.ai-message { max-width:88%; line-height:1.48 !important; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.ai-message-user { margin-left:auto; background:#2563eb !important; color:#fff !important; border-color:#2563eb !important; }
.ai-message-bot { background:#fff !important; border:1px solid #e2e8f0 !important; color:#25364d !important; }
.ai-message-loading { min-width:56px; color:#64748b !important; }
.ai-suggestions { display:flex !important; flex-wrap:wrap; gap:7px !important; }
.ai-suggestions button { width:auto !important; border-radius:999px !important; padding:8px 11px !important; background:#fff !important; }
.ai-input-row { border-top:1px solid #e7edf5 !important; background:#fff !important; }
.ai-input-row input { font-size:14px !important; }
.ai-input-row button { min-width:68px; }
.ai-assistant-panel footer { background:#fff !important; border-top:1px solid #eef2f7; }
@media (max-width:520px){
  .footer-contact a > div,
  .footer-contact .contact-text-block,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a > div { display:block; }
  .footer-contact a small,
  :is(.home-page,.country-page,.contact-page,.visa-types-page) .footer-contact a small { display:block; margin-top:2px; }
}

/* ===== 2026-08-28 CUSTOM HEADER SELECTORS AND BUTTONS ===== */
.nav-finish-app {
  background-color: #ff9100;
  color: #fff !important;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: none;
  transition: background-color 0.2s, transform 0.15s;
}
.nav-finish-app:hover {
  background-color: #e68200;
}
.nav-finish-app:active {
  transform: translateY(1px);
}
.nav-login {
  background-color: #76c859;
  color: #fff !important;
  padding: 8px 20px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: none;
  transition: background-color 0.2s, transform 0.15s;
}
.nav-login:hover {
  background-color: #63b347;
}
.nav-login:active {
  transform: translateY(1px);
}

.header-dropdown {
  position: relative;
  display: inline-block;
}

.header-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 6px;
  transition: background-color 0.2s;
}

.header-dropdown-trigger:hover {
  background-color: #f3f4f6;
}

/* Clean Modern Theme for Nationality Dropdown trigger */
#nationalityDropdown .header-dropdown-trigger {
  background-color: transparent !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

#nationalityDropdown .header-dropdown-trigger:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
}

.dropdown-flag,
#nationalityDropdown .dropdown-flag {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.dropdown-chevron,
#nationalityDropdown .dropdown-chevron {
  width: 6px !important;
  height: 6px !important;
  border-right: 1.8px solid #475569 !important;
  border-bottom: 1.8px solid #475569 !important;
  border-left: none !important;
  border-top: none !important;
  transform: rotate(45deg) !important;
  margin-left: 4px !important;
  margin-top: -3px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease !important;
  background: transparent !important;
}

.header-dropdown.open .dropdown-chevron,
#nationalityDropdown.open .dropdown-chevron {
  transform: rotate(225deg) !important;
  margin-top: 3px !important;
}

@keyframes natModalPop {
  0% {
    opacity: 0;
    transform: translateY(-16px) scale(0.94);
  }
  65% {
    opacity: 1;
    transform: translateY(2px) scale(1.006);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.header-dropdown-menu {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px) scale(0.96);
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
  
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background-color: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 26px;
  box-shadow: 0 30px 70px -15px rgba(15, 23, 42, 0.28), 0 10px 24px rgba(15, 23, 42, 0.06);
  z-index: 1000;
  width: 330px;
  max-width: calc(100vw - 32px);
  max-height: 490px;
  padding: 16px 14px 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.header-dropdown.open .header-dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  animation: natModalPop 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ============================================================
   NEW DESTINATION SELECTOR POPUP ("I'M FROM")
   ============================================================ */
/* Header Title & Subtitle + Close Button */
.nat-modal-top-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 2px 2px 4px;
  gap: 12px;
}

.nat-modal-header-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}

.nat-modal-title {
  margin: 0;
  font-size: 17px;
  font-weight: 750;
  color: #0f172a;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.nat-modal-sub {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  font-weight: 450;
  line-height: 1.35;
}

.nat-modal-close {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f1f5f9;
  border: none;
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.nat-modal-close:hover {
  background: #e2e8f0;
  color: #0f172a;
  transform: scale(1.08);
}

/* Clean Destination Search Box */
.header-dropdown-search {
  padding: 0;
  position: relative;
}

.dropdown-search-input.nat-dest-search-input,
.dropdown-search-input {
  width: 100%;
  height: 38px;
  padding: 0 14px 0 36px;
  font-family: inherit;
  font-size: 12.5px;
  border: 1.5px solid #e2e8f0;
  border-radius: 9999px;
  outline: none;
  box-sizing: border-box;
  background-color: #f8fafc;
  color: #0f172a;
  transition: all 0.18s ease;
}

.dropdown-search-input.nat-dest-search-input:focus,
.dropdown-search-input:focus {
  border-color: #006ce4;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(0, 108, 228, 0.12);
}

.dropdown-search-input::placeholder {
  color: #94a3b8;
  font-weight: 450;
}

.header-dropdown-search::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}

/* Destination Items List */
.nat-feed-list,
.nat-dest-list {
  flex: 1;
  max-height: 350px;
  overflow-y: auto;
  padding: 2px 3px 6px 1px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.nat-feed-list::-webkit-scrollbar,
.nat-dest-list::-webkit-scrollbar {
  width: 4px;
}

.nat-feed-list::-webkit-scrollbar-thumb,
.nat-dest-list::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}

/* Destination Item Card */
.nat-dest-item {
  background: #ffffff;
  border: 1.5px solid #f1f5f9;
  border-radius: 14px;
  padding: 8px 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.18s ease;
  text-decoration: none;
  box-sizing: border-box;
  user-select: none;
}

.nat-dest-item:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  transform: translateY(-1px);
}

/* Selected item style (subtle light-blue background, blue border, soft shadow) */
.nat-dest-item.active {
  background: #f0f7ff;
  border-color: #006ce4;
  box-shadow: 0 4px 14px rgba(0, 108, 228, 0.08);
}

.nat-dest-media {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Clean flag presentation (52px x 36px ~3:2 ratio) */
.nat-dest-img,
.nat-dest-flag {
  width: 52px;
  height: 36px;
  border-radius: 6px;
  object-fit: cover;
  box-shadow: 0 1.5px 5px rgba(15, 23, 42, 0.1);
  border: 1px solid rgba(15, 23, 42, 0.1);
  display: block;
  flex-shrink: 0;
  background: #f8fafc;
}

.nat-dest-item:hover .nat-dest-img,
.nat-dest-item:hover .nat-dest-flag {
  transform: scale(1.04);
  transition: transform 0.2s ease;
}

.nat-dest-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}

.nat-dest-name {
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.nat-dest-desc {
  font-size: 12px;
  color: #64748b;
  font-weight: 500;
  line-height: 1.3;
}

.nat-dest-item.active .nat-dest-name {
  color: #006ce4;
}

/* Circular selector on the right */
.nat-dest-radio {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 4px;
}

/* Unselected: empty circle */
.nat-dest-radio-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.8px solid #cbd5e1;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.18s ease;
  box-sizing: border-box;
}

.nat-dest-item:hover .nat-dest-radio-circle {
  border-color: #94a3b8;
}

/* Selected: blue filled circle with white check */
.nat-dest-item.active .nat-dest-radio-circle {
  background: #006ce4;
  border-color: #006ce4;
  box-shadow: 0 2px 6px rgba(0, 108, 228, 0.35);
}

.nat-dest-check-icon {
  width: 10px;
  height: 10px;
  display: none;
}

.nat-dest-item.active .nat-dest-check-icon {
  display: block;
}

.nat-no-results {
  padding: 24px 16px;
  text-align: center;
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}

/* Adjust header layout on mobile */
@media (max-width: 720px) {
  .header-dropdown {
    width: 100%;
  }
  .header-dropdown-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 14px 22px;
    border-radius: 0;
    border-bottom: 1px solid #f3f4f6;
  }
  #nationalityDropdown .header-dropdown-trigger {
    border-radius: 0;
    padding: 14px 22px;
    background-color: #fff;
  }
  #nationalityDropdown .header-dropdown-menu.nat-luxury-modal {
    position: fixed;
    top: 82px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 110px);
    border-radius: 28px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    background: #ffffff;
    z-index: 10000;
    padding: 18px 14px 14px;
    border: 1px solid #e2e8f0;
  }
  
  #nationalityDropdown.open .header-dropdown-menu.nat-luxury-modal {
    display: flex !important;
  }
  .header-dropdown-menu button,
  .dropdown-options-list button {
    padding: 12px 36px;
  }
  .nav-links a {
    border-bottom: 1px solid #f3f4f6;
  }
  .nav-finish-app {
    display: none !important; /* Hide on mobile to avoid clutter */
  }
}

#destinationDropdown .header-dropdown-menu {
  min-width: 720px;
  left: 50%;
  transform: translate(-50%, -8px);
}
#destinationDropdown.open .header-dropdown-menu {
  transform: translate(-50%, 0);
}

.dest-dropdown-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
}

@media (max-width: 800px) {
  .dest-dropdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 500px) {
  .dest-dropdown-grid {
    grid-template-columns: 1fr;
  }
}

.dest-dropdown-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 52px;
  background-color: #ffffff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  text-decoration: none;
  color: #1f2937;
  transition: all 0.2s ease;
  cursor: pointer;
  box-sizing: border-box;
}

.dest-dropdown-card:hover {
  border-color: #3b82f6;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.dest-dropdown-card.active {
  border-color: #ef4444;
  box-shadow: 0 0 0 1px #ef4444;
}

.dest-dropdown-card-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.dest-dropdown-card-left img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  flex-shrink: 0;
}

.dest-dropdown-card-left .dest-card-name {
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dest-dropdown-card-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dest-card-eta {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.dest-card-eta.instant {
  background-color: #ecfdf5;
  color: #059669;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11.5px;
}

.dest-card-arrow {
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  transition: transform 0.2s;
}

.dest-dropdown-card:hover .dest-card-arrow {
  transform: translateX(3px);
  color: #3b82f6;
}

@media (max-width: 720px) {
  #destinationDropdown .header-dropdown-menu {
    min-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    position: static !important;
  }
  .dest-dropdown-grid {
    grid-template-columns: 1fr;
    padding: 10px;
  }
  .dest-dropdown-header {
    flex-direction: column;
    align-items: stretch !important;
    gap: 8px;
    padding: 12px !important;
  }
  #destToggleAllBtn {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   CURVED RECTANGLE HERO & FLOATING GLASS SEARCH DOCK
   ========================================================= */

/* Hero Outer Section (Full Window on Desktop) */
.hero-curved-section {
  position: relative;
  padding: 12px 24px 76px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}

.hero-curved-container {
  width: 100%;
  max-width: 100%;
}

.hero-curved-card {
  position: relative;
  min-height: 560px;
  height: 65vh;
  max-height: 720px;
  border-radius: 36px;
  overflow: visible;
  box-shadow: 0 24px 50px -18px rgba(15, 23, 42, 0.16);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-curved-bg {
  position: absolute;
  inset: 0;
  border-radius: 36px;
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  z-index: 1;
  overflow: hidden;
}

.hero-curved-overlay {
  position: absolute;
  inset: 0;
  border-radius: 36px;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.76) 0%, rgba(15, 23, 42, 0.48) 45%, rgba(15, 23, 42, 0.12) 100%),
              linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.35) 100%);
  z-index: 2;
}

.hero-curved-content {
  position: relative;
  z-index: 3;
  padding: 60px 80px 70px;
  max-width: 780px;
}

.hero-curved-title {
  color: #ffffff;
  font-size: clamp(48px, 5.2vw, 76px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.04em;
  margin: 0 0 18px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.2);
}

.hero-curved-sub {
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.55;
  margin: 0 0 32px;
  max-width: 540px;
  font-weight: 450;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}

.hero-pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #2563eb;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  padding: 16px 34px;
  border-radius: 9999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.45);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  cursor: pointer;
}

.hero-pill-btn:hover {
  background: #1d4ed8;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.55);
  color: #ffffff;
}

/* Floating Glassmorphic Search Dock */
.floating-search-dock {
  position: absolute;
  left: 50%;
  bottom: -36px;
  transform: translateX(-50%);
  width: calc(100% - 100px);
  max-width: 1140px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16), 0 4px 16px rgba(15, 23, 42, 0.05);
  padding: 14px 24px 14px 28px;
}

/* Search Row */
.dock-search-row {
  display: grid;
  grid-template-columns: 1fr auto 1.3fr auto auto;
  align-items: center;
  gap: 14px;
  position: relative;
}

.dock-search-field {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px;
  border-radius: 18px;
  transition: all 0.18s ease;
  cursor: pointer;
  position: relative;
  user-select: none;
}

.dock-search-field:hover,
.dock-search-field:focus-within {
  background: rgba(241, 245, 249, 0.75);
}

.dock-field-icon {
  width: 24px;
  height: 24px;
  color: #334155;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dock-field-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
}

.dock-field-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  flex: 1;
  min-width: 0;
  position: relative;
}

.dock-field-label {
  font-size: 15px;
  font-weight: 750;
  color: #0f172a;
  letter-spacing: -0.015em;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  margin: 0;
  padding: 0;
}

.dock-field-val {
  font-size: 14px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.3;
  margin: 0;
  padding: 0;
}

.dock-search-input,
input.dock-search-input,
#destSearch.dock-search-input {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  background: transparent !important;
  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  width: 100% !important;
  font-family: inherit !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border-radius: 0 !important;
}

.dock-search-input:focus,
input.dock-search-input:focus,
#destSearch.dock-search-input:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.dock-search-input::placeholder {
  color: #94a3b8 !important;
  font-weight: 450 !important;
  opacity: 1 !important;
}

.dock-field-separator {
  width: 1.5px;
  height: 40px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 1px;
}

/* Map Button inside Search Dock */
.floating-search-dock .dock-map-btn,
.home-page .floating-search-dock .dock-map-btn,
.home-page .floating-search-dock #mapToggle {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  height: 46px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1.5px solid #d5dde4 !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  margin: 0 !important;
}

.floating-search-dock .dock-map-btn:hover,
.home-page .floating-search-dock .dock-map-btn:hover,
.home-page .floating-search-dock #mapToggle:hover {
  border-color: #2563eb !important;
  color: #2563eb !important;
  background: #eff6ff !important;
  transform: translateY(-1px) !important;
}

.floating-search-dock .dock-map-btn.active,
.home-page .floating-search-dock .dock-map-btn.active,
.home-page .floating-search-dock #mapToggle.active {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.floating-search-dock .dock-map-btn svg {
  width: 17px !important;
  height: 17px !important;
  flex-shrink: 0 !important;
}

/* Circular Blue Search Button */
.dock-search-btn {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #2563eb;
  color: #ffffff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.42);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

.dock-search-btn:hover {
  background: #1d4ed8;
  transform: scale(1.06);
  box-shadow: 0 10px 26px rgba(37, 99, 235, 0.52);
}

.dock-search-btn svg {
  width: 22px;
  height: 22px;
}

/* Floating Dock Results Dropdown */
.dock-field-info .dest-results,
.floating-search-dock .dest-results {
  position: absolute;
  top: calc(100% + 14px);
  left: -44px;
  right: -60px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.16);
  border: 1px solid #e2e8f0;
  z-index: 100;
  max-height: 320px;
  overflow-y: auto;
  display: none;
}

.dock-field-info .dest-results.show,
.floating-search-dock .dest-results.show {
  display: block;
}

/* Sub-bar below Hero (Popular chips + Map button) */
.destination-sub-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.destination-sub-bar .search-suggestions {
  margin: 0;
  flex: 1;
}

.destination-sub-bar .map-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid #d5dde4;
  background: #fff;
  color: #1e293b;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}

.destination-sub-bar .map-toggle:hover {
  border-color: #2563eb;
  color: #2563eb;
}

/* Responsive Rules for Hero & Dock */
@media (max-width: 992px) {
  .hero-curved-section {
    padding: 14px 18px 60px;
  }
  .hero-curved-card {
    min-height: 420px;
  }
  .hero-curved-content {
    padding: 48px 36px 120px;
  }
  .floating-search-dock {
    width: calc(100% - 36px);
    padding: 14px 18px;
    bottom: -46px;
  }
  .dock-category-tabs {
    gap: 16px;
  }
  .floating-search-dock .dest-results {
    left: 0;
    right: 0;
  }
}

@media (max-width: 768px) {
  .hero-curved-section {
    padding: 8px 12px 18px;
  }
  .hero-curved-card {
    min-height: auto;
    border-radius: 20px;
    box-shadow: 0 10px 25px -8px rgba(15, 23, 42, 0.12);
  }
  .hero-curved-bg,
  .hero-curved-overlay {
    border-radius: 20px;
  }
  .hero-curved-content {
    padding: 22px 16px 28px;
  }
  .hero-curved-title {
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.12;
    margin: 0 0 6px;
    letter-spacing: -0.03em;
  }
  .hero-curved-sub {
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.92);
  }
  .hero-pill-btn {
    padding: 8px 18px;
    font-size: 12.5px;
    font-weight: 700;
    gap: 6px;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.35);
  }
  .floating-search-dock {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: calc(100% - 12px) !important;
    max-width: 330px !important;
    margin: -16px auto 0 !important;
    border-radius: 16px !important;
    padding: 8px 10px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(16px) !important;
  }
  .dock-search-row {
    grid-template-columns: 1fr;
    gap: 6px !important;
  }
  .dock-field-separator {
    display: none;
  }
  .dock-search-field {
    background: rgba(241, 245, 249, 0.75) !important;
    padding: 5px 10px !important;
    border-radius: 10px !important;
    gap: 8px !important;
    min-height: 38px !important;
  }
  .dock-field-icon {
    width: 18px !important;
    height: 18px !important;
  }
  .dock-field-icon svg {
    width: 15px !important;
    height: 15px !important;
  }
  .dock-field-info {
    gap: 1px !important;
  }
  .dock-field-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }
  .dock-field-val {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }
  .dock-search-input,
  input.dock-search-input,
  #destSearch.dock-search-input {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }
  .floating-search-dock .dock-map-btn,
  .home-page .floating-search-dock .dock-map-btn,
  .home-page .floating-search-dock #mapToggle {
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 11.5px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    gap: 5px !important;
    box-shadow: none !important;
  }
  .floating-search-dock .dock-map-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
  .dock-search-btn {
    width: 100% !important;
    border-radius: 9999px !important;
    height: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .dock-search-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
  .floating-search-dock .dest-results {
    left: 0;
    right: 0;
  }
}

/* ==========================================================================
   GLOBAL ULTRA-SMOOTH SCROLLING & HIGH-REFRESH-RATE (60/90/120/144Hz) OPTIMIZATION
   ========================================================================== */
:root {
  --motion-fast: 160ms;
  --motion-normal: 280ms;
  --motion-slow: 450ms;
  --ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

/* Lenis smooth momentum scrolling (matches visadoo.com / uicore) */
html.lenis,
html.lenis body {
  height: auto;
}

html.lenis,
html.lenis body,
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent],
.lenis-prevent {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Eliminate 300ms mobile tap latency */
button,
input,
select,
textarea,
a,
.btn,
.vcard,
.dest-card,
.uae-travel-tab,
.country-place-card,
.nat-feed-card {
  touch-action: manipulation;
}

/* Smooth inertia scrolling on all scrollable elements */
:is(.nav-scroll, .dest-grid, .uae-travel-options, .vcard-row, .country-place-thumbs, .attraction-slider, .country-carousel-track, .review-grid, .country-faq-list, .dialog, .modal-dialog, .drawer, .tray-scroll, .passport-page-col, .apply-review-col, .dest-results, .nat-results) {
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
  overscroll-behavior-y: contain;
}

/* Fixed and sticky elements promoted to independent GPU compositor layers */
.header,
.discover-header,
.uae-sticky-bottom-bar,
.wa-float,
.ai-assistant {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Fluid spring transitions for interactive elements */
.btn,
.vcard,
.dest-card,
.uae-benefit-item,
.premium-feature-card,
.country-place-card,
.nav-profile,
.social-ico,
.floating-search-dock,
.dock-search-field,
.action-btn-sm {
  transition: transform var(--motion-normal) var(--ease-spring),
              box-shadow var(--motion-normal) var(--ease-spring),
              background-color var(--motion-fast) ease,
              border-color var(--motion-fast) ease,
              opacity var(--motion-fast) ease !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Smooth Accordion / Dropdown animations */
.uae-travel-accordion-body,
details[open] > *:not(summary) {
  animation: smoothAccordionOpen var(--motion-normal) var(--ease-spring) forwards;
  will-change: transform, opacity;
}

@keyframes smoothAccordionOpen {
  0% {
    opacity: 0;
    transform: translate3d(0, -6px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Smooth Dialog & Modal reveal */
.traveller-picker-dialog,
.review-image-dialog,
.modal-dialog,
#passportPreviewModal .review-image-dialog {
  animation: smoothModalScale var(--motion-normal) var(--ease-spring) forwards !important;
  will-change: transform, opacity;
}

@keyframes smoothModalScale {
  0% {
    opacity: 0;
    transform: scale(0.95) translate3d(0, 10px, 0);
  }
  100% {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
  }
}

/* Smooth backdrop blur transitions */
.traveller-picker-backdrop,
.modal-backdrop,
.review-image-modal {
  animation: smoothFadeIn var(--motion-fast) var(--ease-spring) forwards !important;
}

@keyframes smoothFadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* Smooth carousel slide crossfades */
.country-carousel-slide {
  transition: opacity var(--motion-slow) var(--ease-spring), transform 0.65s var(--ease-spring) !important;
  will-change: opacity, transform;
}

/* Smooth application step transitions */
.apply-step-pane,
#applyStep1:not([hidden]),
#applyStep2:not([hidden]),
#applyStep3:not([hidden]) {
  animation: smoothStepReveal 0.34s var(--ease-spring) forwards;
  will-change: transform, opacity;
}

@keyframes smoothStepReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

input[type="password"],
#siPass,
#spPass,
#spPass2,
#emBrevoKey,
input[id*="pass" i],
input[name*="pass" i] {
  text-transform: none !important;
}

/* ==========================================================================
   HOMEPAGE MOCKUP REDESIGN (MATCHING REFERENCE DESIGN PIXEL-FOR-PIXEL)
   ========================================================================== */

/* Pure White Background Globally */
html,
body,
body.home-page,
.home-page,
.home-page .section,
.home-page .destination-board,
.home-page .section-benefits-bar,
.home-page .how-it-works-section,
.home-page .cta-banner-section,
.home-page .contact-section {
  background-color: #ffffff !important;
  color: #0f172a;
}

/* =========================================================
   HEADER: Permanently Solid White Clean Navigation (Refined)
   ========================================================= */
.home-page .discover-header,
.discover-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  padding: 6px 0 !important;
  transition: all 0.2s ease !important;
}

.discover-header .nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  height: 56px !important;
  min-height: 56px !important;
}

/* Brand Cluster */
.discover-header .nav-brand-cluster {
  display: flex;
  align-items: center;
  gap: 12px;
}

.discover-header .brand,
.header .brand {
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
}

.discover-header .brand-logo-img,
.discover-header .brand img {
  height: 92px !important;
  width: auto !important;
  max-width: 240px !important;
  margin-left: -18px !important;
  display: block !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}

@media (max-width: 820px) {
  .discover-header .brand-logo-img,
  .discover-header .brand img {
    height: 38px !important;
    max-width: 120px !important;
    margin-left: 0 !important;
  }
}

/* Nationality Trigger Button */
.discover-header .header-dropdown,
.discover-header #nationalityDropdown {
  position: relative !important;
}

.discover-header #nationalityDropdown .header-dropdown-trigger,
.discover-header .header-dropdown-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1.5px solid #d5dde4 !important;
  color: #0f172a !important;
  padding: 0 13px !important;
  border-radius: 9999px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  gap: 6px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.discover-header #nationalityDropdown .header-dropdown-trigger span,
.discover-header .header-dropdown-trigger span {
  color: #0f172a !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
}

.discover-header #nationalityDropdown .dropdown-flag,
.discover-header .header-dropdown-trigger .dropdown-flag {
  width: 17px !important;
  height: 17px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 1.5px solid rgba(0, 0, 0, 0.12) !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.discover-header #nationalityDropdown .dropdown-chevron,
.discover-header .header-dropdown-trigger .dropdown-chevron {
  border-right: 1.5px solid #0f172a !important;
  border-bottom: 1.5px solid #0f172a !important;
  border-top: none !important;
  border-left: none !important;
  width: 5px !important;
  height: 5px !important;
  display: inline-block !important;
  transform: rotate(45deg) !important;
  margin-top: -2px !important;
  margin-left: 4px !important;
  transition: transform 0.18s ease !important;
  background: transparent !important;
}

.discover-header #nationalityDropdown.open .dropdown-chevron,
.discover-header .header-dropdown.open .dropdown-chevron {
  transform: rotate(225deg) !important;
  margin-top: 2px !important;
}

.discover-header #nationalityDropdown .header-dropdown-trigger:hover,
.discover-header .header-dropdown-trigger:hover {
  background: #eff6ff !important;
  border-color: #2563eb !important;
  color: #2563eb !important;
}

.discover-header #nationalityDropdown .header-dropdown-trigger:hover span,
.discover-header .header-dropdown-trigger:hover span {
  color: #2563eb !important;
}

.discover-header #nationalityDropdown .header-dropdown-trigger:hover .dropdown-chevron,
.discover-header .header-dropdown-trigger:hover .dropdown-chevron {
  border-right-color: #2563eb !important;
  border-bottom-color: #2563eb !important;
}

.discover-header .header-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
}

/* Navigation Links (Home & Events) - Perfectly Centered in Header on Desktop */
@media (min-width: 821px) {
  .discover-header .nav,
  .header .nav {
    position: relative !important;
  }

  .discover-header .nav-links,
  .header .nav-links,
  .home-page .discover-header .nav-links {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    margin: 0 !important;
    z-index: 20 !important;
    pointer-events: auto !important;
  }

  .discover-header .nav-actions,
  .header .nav-actions {
    margin-left: auto !important;
  }
}

.discover-header .nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0 auto;
}

.discover-header .nav-links a {
  position: relative;
  font-size: 14.5px;
  font-weight: 600;
  color: #334155 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none;
  padding: 6px 4px !important;
  border-radius: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: none !important;
  transition: color 0.18s ease;
}

.discover-header .nav-links a:hover {
  color: #2563eb !important;
  text-shadow: none !important;
}

.discover-header .nav-links a.active {
  color: #2563eb !important;
  font-weight: 700;
}

.discover-header .active-dot {
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #2563eb !important;
  display: block;
}

/* Nav Actions */
.discover-header .nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Language selector & Profile button */
.discover-header .site-language-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1.5px solid #d5dde4 !important;
  color: #0f172a !important;
  border-radius: 9999px !important;
  padding: 0 12px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
  cursor: pointer;
  text-decoration: none;
  height: 36px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

.discover-header .site-language-trigger .globe-icon {
  width: 16px !important;
  height: 16px !important;
  color: #0f172a !important;
}

.discover-header .site-language-trigger::after {
  content: "" !important;
  flex: none !important;
  width: 5px !important;
  height: 5px !important;
  margin-left: 6px !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: rotate(45deg) !important;
  transition: transform .18s ease !important;
  margin-top: -2px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.discover-header .site-language-trigger[aria-expanded="true"]::after {
  transform: rotate(225deg) !important;
  margin-top: 2px !important;
}

.discover-header .site-language-trigger:hover {
  border-color: #2563eb !important;
  color: #2563eb !important;
  background: #eff6ff !important;
}

.discover-header .site-language-trigger:hover .globe-icon {
  color: #2563eb !important;
}

/* Profile button: ALWAYS an exact 1:1 Perfect Circle */
.discover-header .nav-user-avatar,
.discover-header .nav-profile,
.nav-profile {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #d5dde4 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  flex: 0 0 36px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

.discover-header .nav-user-avatar svg,
.discover-header .nav-profile svg,
.nav-profile svg {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  color: #0f172a !important;
  display: block !important;
  margin: 0 auto !important;
}

.discover-header .nav-user-avatar:hover,
.discover-header .nav-profile:hover,
.nav-profile:hover,
.discover-header .nav-profile.active,
.nav-profile.active {
  border-color: #2563eb !important;
  color: #2563eb !important;
  background: #eff6ff !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  transform: none !important;
}

.discover-header .nav-user-avatar:hover svg,
.discover-header .nav-profile:hover svg,
.nav-profile:hover svg,
.discover-header .nav-profile.active svg,
.nav-profile.active svg {
  color: #2563eb !important;
}

.discover-header .nav-profile::before,
.discover-header .nav-profile::after,
.nav-profile::before,
.nav-profile::after {
  display: none !important;
  content: none !important;
}

@media (min-width: 821px) {
  .discover-header .menu-btn {
    display: none !important;
  }
}

@media (max-width: 820px) {
  .header .nav,
  .discover-header .nav,
  .home-page .discover-header .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-inline: 14px !important;
    height: 60px !important;
  }

  .discover-header .nav-actions,
  .header .nav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }

  .discover-header #nationalityDropdown .header-dropdown-trigger,
  .discover-header .header-dropdown-trigger {
    height: 34px !important;
    padding: 0 8px !important;
    gap: 4px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }

  .discover-header #nationalityDropdown .header-dropdown-trigger span,
  .discover-header .header-dropdown-trigger span {
    font-size: 12px !important;
    max-width: 68px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .discover-header .site-language-trigger {
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }

  .discover-header .site-language-trigger .globe-icon {
    width: 14px !important;
    height: 14px !important;
    margin-right: 3px !important;
  }

  .header .nav-profile,
  .discover-header .nav-profile,
  .nav-profile {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
  }

  .header .menu-btn,
  .discover-header .menu-btn,
  .menu-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    flex: 0 0 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    cursor: pointer !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 100 !important;
  }

  .header .menu-btn svg,
  .discover-header .menu-btn svg,
  .menu-btn svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #0f172a !important;
    pointer-events: none !important;
  }

  .header .nav-links,
  .discover-header .nav-links,
  .home-page .discover-header .nav-links,
  .nav-links {
    display: none !important;
    position: absolute !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14) !important;
    z-index: 9999 !important;
    margin: 0 !important;
  }

  .header .nav-links.open,
  .discover-header .nav-links.open,
  .home-page .discover-header .nav-links.open,
  .nav-links.open {
    display: flex !important;
    animation: smoothFadeIn 0.2s ease forwards !important;
  }
}

.discover-header .northpeak-logo-text {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: #0f172a !important;
}

/* Scrolled compatibility */
.discover-header.scrolled {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  padding: 6px 0 !important;
}

/* ==========================================================================
   Visadoo STYLE HERO & SEARCH DOCK (Matches media_1788955105689.png)
   ========================================================================== */
.viator-hero-section {
  position: relative !important;
  width: 100% !important;
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  background-color: #0f172a !important;
}

.viator-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: url('assets/hero-world-landmarks.png?v=20260910-world-hd-v1') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  image-rendering: -webkit-optimize-contrast !important;
  z-index: 1 !important;
}

.viator-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(15, 23, 42, 0.22) 0%,
    rgba(15, 23, 42, 0.42) 100%
  ) !important;
  z-index: 2 !important;
}

.viator-hero-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 960px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 92px 24px 108px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.viator-hero-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.viator-hero-title {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: clamp(34px, 5vw, 56px) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-align: center !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55) !important;
}

.viator-hero-sub {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: clamp(13.5px, 1.3vw, 15.5px) !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-weight: 450 !important;
  max-width: 580px !important;
  margin: 0 0 24px 0 !important;
  text-align: center !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55) !important;
  letter-spacing: -0.01em !important;
}

/* Viator White Search Dock Capsule */
.viator-search-dock {
  position: relative !important;
  z-index: 60 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border-radius: 9999px !important;
  padding: 6px 7px 6px 20px !important;
  max-width: 820px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-shadow: 0 16px 40px -8px rgba(0, 0, 0, 0.28), 0 4px 14px rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.viator-search-dock:focus-within {
  box-shadow: 0 22px 50px -8px rgba(0, 0, 0, 0.38), 0 6px 18px rgba(0, 0, 0, 0.12) !important;
}

.viator-dock-field {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
  position: relative !important;
  min-width: 0 !important;
}

.viator-dock-icon-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-right: 11px !important;
}

.viator-dock-text-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.viator-dock-from {
  flex: 1.15 1 0 !important;
  cursor: pointer !important;
  padding: 3px 12px 3px 4px !important;
  user-select: none !important;
}

.viator-dock-divider {
  width: 1px !important;
  height: 32px !important;
  background: #e2e8f0 !important;
  flex-shrink: 0 !important;
  margin: 0 4px !important;
}

.viator-dock-to {
  flex: 1.55 1 0 !important;
  padding: 3px 12px !important;
  position: relative !important;
  min-width: 0 !important;
}

.viator-dock-type {
  flex: 1.25 1 0 !important;
  cursor: pointer !important;
  padding: 3px 6px 3px 12px !important;
  position: relative !important;
  user-select: none !important;
  min-width: 0 !important;
}

.viator-field-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #8492a6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 2px !important;
  line-height: 1.2 !important;
  display: block !important;
  cursor: inherit !important;
  white-space: nowrap !important;
}

.viator-field-val-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.viator-flag-icon,
.viator-flag-circle {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16) !important;
  flex-shrink: 0 !important;
  display: block !important;
}

.viator-type-icon-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}

.viator-pin-icon {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  fill: #0080ff !important;
  display: block !important;
}

.viator-passport-icon {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  stroke: #0080ff !important;
  display: block !important;
}

.viator-field-val {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.25 !important;
}

.viator-field-caret-svg {
  width: 8px !important;
  height: 6px !important;
  color: #475569 !important;
  flex-shrink: 0 !important;
  margin-left: 2px !important;
  opacity: 0.8 !important;
  transition: transform 0.2s ease !important;
}

.viator-dock-field[aria-expanded="true"] .viator-field-caret-svg {
  transform: rotate(180deg) !important;
}

.viator-input,
#destSearch.viator-input,
#destSearch,
#destSearch:hover,
#destSearch:focus,
#destSearch:active,
.viator-input:hover,
.viator-input:focus,
.viator-input:active {
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 14px !important;
  color: #0f172a !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.viator-input::placeholder,
#destSearch::placeholder {
  color: #8492a6 !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
}

/* Nationality Dropdown right underneath I'M FROM */
.viator-nat-dropdown,
.Visadoo-nat-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;
  min-width: 220px !important;
  max-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  padding: 10px 18px !important;
  z-index: 1000 !important;
  display: none !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
  box-sizing: border-box !important;
}

.viator-nat-dropdown.show,
.Visadoo-nat-dropdown.show {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.viator-nat-opt,
.Visadoo-nat-opt {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 4px 2px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: opacity 0.14s ease !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}

.viator-nat-opt:hover,
.Visadoo-nat-opt:hover {
  background: transparent !important;
  opacity: 0.85 !important;
}

.viator-nat-opt.active,
.Visadoo-nat-opt.active {
  background: transparent !important;
}

.nat-opt-flag-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  flex-shrink: 0 !important;
}

.viator-nat-flag,
.Visadoo-nat-flag {
  width: 25px !important;
  height: 17px !important;
  object-fit: cover !important;
  border-radius: 3.5px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
  flex-shrink: 0 !important;
  display: block !important;
}

.viator-nat-name,
.Visadoo-nat-name {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #0b66e4 !important;
  line-height: 1.2 !important;
  flex: 1 !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
}

.viator-nat-opt.active .viator-nat-name,
.Visadoo-nat-opt.active .Visadoo-nat-name {
  color: #0b66e4 !important;
  font-weight: 700 !important;
}

.viator-nat-check,
.Visadoo-nat-check {
  width: 16px !important;
  height: 16px !important;
  color: #0b66e4 !important;
  stroke: #0b66e4 !important;
  stroke-width: 2.6 !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  transition: opacity 0.14s ease !important;
}

.viator-nat-opt:not(.active) .viator-nat-check,
.Visadoo-nat-opt:not(.active) .Visadoo-nat-check {
  display: none !important;
}

/* Visa Type Dropdown */
.viator-type-dropdown,
.Visadoo-type-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(4px) !important;
  min-width: 220px !important;
  max-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  padding: 8px 12px !important;
  z-index: 1000 !important;
  display: none !important;
  opacity: 0 !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
  box-sizing: border-box !important;
}

.viator-type-dropdown.show,
.Visadoo-type-dropdown.show {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

.viator-type-opt,
.Visadoo-type-opt {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 8px 10px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: background 0.14s ease, color 0.14s ease !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}

.viator-type-opt:hover,
.Visadoo-type-opt:hover {
  background: #f8fafc !important;
}

.viator-type-opt.active,
.Visadoo-type-opt.active {
  background: #f0f7ff !important;
}

.type-opt-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
  flex-shrink: 0 !important;
}

.type-opt-icon.all {
  background: #eff6ff !important;
  color: #006ce4 !important;
}

.type-opt-icon.evisa {
  background: #fef3c7 !important;
  color: #d97706 !important;
}

.type-opt-icon.schengen {
  background: #ede9fe !important;
  color: #7c3aed !important;
}

.type-opt-name,
.type-opt-text strong {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  line-height: 1.2 !important;
  flex: 1 !important;
  white-space: nowrap !important;
}

.viator-type-opt.active .type-opt-name,
.viator-type-opt.active .type-opt-text strong {
  color: #006ce4 !important;
  font-weight: 700 !important;
}

.type-opt-check {
  width: 14px !important;
  height: 14px !important;
  color: #006ce4 !important;
  opacity: 0 !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.14s ease !important;
}

.viator-type-opt.active .type-opt-check {
  opacity: 1 !important;
}

/* Blue Circular Search Button */
.viator-search-btn {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #087bef !important;
  color: #ffffff !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin-left: 6px !important;
  box-shadow: 0 4px 14px rgba(8, 123, 239, 0.4) !important;
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease !important;
}

.viator-search-btn:hover {
  background: #006ee0 !important;
  transform: scale(1.05) !important;
  box-shadow: 0 6px 20px rgba(8, 123, 239, 0.5) !important;
}

.viator-search-btn:active {
  transform: scale(0.97) !important;
}

.viator-dest-results,
.viator-search-dock .dest-results {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: -20px !important;
  min-width: 320px !important;
  max-width: 380px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.2) !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  z-index: 1000 !important;
  display: none !important;
  padding: 8px !important;
  text-align: left !important;
}

.viator-dest-results.show,
.viator-search-dock .dest-results.show {
  display: block !important;
}

.viator-dest-results a,
.viator-search-dock .dest-results a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  color: #0f172a !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
}

.viator-dest-results a:hover,
.viator-dest-results a.active-item,
.viator-search-dock .dest-results a:hover,
.viator-search-dock .dest-results a.active-item {
  background: #f1f5f9 !important;
  color: #2563eb !important;
}

.viator-dest-results .dest-search-name {
  color: #0f172a !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

.viator-dest-results .dest-search-badge {
  margin-left: auto !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #2563eb !important;
  background: #eff6ff !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  border: 1px solid #dbeafe !important;
}

.viator-dest-results .flag {
  width: 24px !important;
  height: 16px !important;
  object-fit: cover !important;
  border-radius: 3px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
  flex-shrink: 0 !important;
}

/* =========================================================
   TRUST & STATS BANNER (Matches media_1788957205225.png)
   ========================================================= */
.trust-stats-section {
  padding: 44px 0 38px !important;
  background-color: #ebf3fd !important;
  background-image: none !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  border-bottom: none !important;
}

.trust-bg-map-pattern {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: url('assets/world-dots-pattern.svg') !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  opacity: 0.16 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.trust-stats-section .container {
  position: relative !important;
  z-index: 2 !important;
}

/* Top Trust Badge */
.trust-top-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 14px !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 108, 228, 0.14) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #006ce4 !important;
  box-shadow: 0 2px 6px rgba(0, 108, 228, 0.05) !important;
  margin-bottom: 12px !important;
}

.trust-top-badge-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #006ce4 !important;
}

.trust-stats-header {
  margin-bottom: 16px !important;
}

.trust-stats-title {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: clamp(24px, 2.9vw, 35px) !important;
  font-weight: 850 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important;
  text-align: center !important;
}

.trust-stat-orange {
  color: #ea580c !important; /* Vibrant warm orange */
  font-weight: 850 !important;
}

.trust-stats-sub {
  font-size: clamp(13.5px, 1.2vw, 15px) !important;
  font-weight: 500 !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  margin: 8px auto 0 !important;
  max-width: 580px !important;
}

/* Feature Pill Badges Row */
.trust-pill-badges-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 auto 22px !important;
  flex-wrap: wrap !important;
}

.trust-pill-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  padding: 5px 14px !important;
  border-radius: 9999px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.trust-pill-check-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.trust-pill-check-icon svg circle {
  fill: #0f172a !important;
}

/* Flanked Showcase Wrapper */
.trust-showcase-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  position: relative !important;
  gap: 16px !important;
}

/* Left & Right Decorative Vector Art Flanks (Matching Image 3 & Image 4) */
.trust-flank-decor {
  flex: 0 0 145px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  user-select: none !important;
  position: relative !important;
}

.trust-flank-left {
  align-items: center !important;
  text-align: center !important;
}

.trust-flank-right {
  align-items: center !important;
  text-align: center !important;
}

/* Left Handwritten Note with Orange Swoosh Under 'Tomorrow' */
.trust-handwritten-note-v2 {
  font-family: 'Caveat', cursive, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.15 !important;
  text-align: center !important;
  transform: rotate(-6deg) !important;
  margin-bottom: 2px !important;
}

.trust-note-text {
  display: block !important;
  white-space: nowrap !important;
}

.trust-note-highlight {
  display: inline-block !important;
  position: relative !important;
}

.trust-swoosh-svg {
  position: absolute !important;
  bottom: -4px !important;
  left: -2px !important;
  width: 104% !important;
  height: 8px !important;
  pointer-events: none !important;
  overflow: visible !important;
}

/* Isometric Passport Art (Left) */
.trust-passport-art-svg {
  width: 138px !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
  filter: drop-shadow(0 4px 10px rgba(37, 99, 235, 0.07)) !important;
}

/* Immigration Stamp & Stacked Text Art (Right) */
.trust-stamp-art-svg {
  width: 142px !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
  filter: drop-shadow(0 3px 8px rgba(37, 99, 235, 0.06)) !important;
}

/* 4 Metric Columns Grid */
.trust-metrics-grid {
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.trust-metric-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

.trust-metric-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 108, 228, 0.12) !important;
  box-shadow: 0 2px 6px rgba(0, 108, 228, 0.06) !important;
  margin-bottom: 4px !important;
  color: #006ce4 !important;
  transition: transform 0.2s ease !important;
}

.trust-metric-col:hover .trust-metric-icon {
  transform: translateY(-2px) !important;
}

.trust-metric-number {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 850 !important;
  color: #0f172a !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}

.trust-metric-value {
  display: inline-block !important;
  font-variant-numeric: tabular-nums !important;
}

.trust-metric-k,
.trust-metric-plus,
.trust-metric-pct {
  font-size: 0.85em !important;
  font-weight: 800 !important;
  color: #ea580c !important;
}

.trust-metric-label {
  font-size: 12.5px !important;
  color: #64748b !important;
  font-weight: 550 !important;
  line-height: 1.25 !important;
}

/* Social Proof */
.trust-social-proof {
  margin-top: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 3px !important;
}

.trust-avatars-cluster {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 2px !important;
}

.trust-avatar-img {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 2px solid #ffffff !important;
  margin-left: -7px !important;
  object-fit: cover !important;
  box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08) !important;
  display: block !important;
}

.trust-avatar-img:first-child {
  margin-left: 0 !important;
}

.trust-social-headline {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
}

.trust-social-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #475569 !important;
}

.trust-stars-row {
  color: #f59e0b !important; /* Golden Star rating */
  letter-spacing: 1.5px !important;
  font-size: 13px !important;
}

.trust-rating-text b {
  color: #0f172a !important;
  font-weight: 750 !important;
}

@media (max-width: 768px) {
  .viator-search-dock {
    flex-direction: column !important;
    border-radius: 20px !important;
    padding: 14px 16px !important;
    gap: 10px !important;
  }
  .viator-dock-field {
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    flex: none !important;
  }
  .viator-dock-from {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }
  .viator-dock-divider {
    display: none !important;
  }
  .viator-dock-to {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }
  .viator-dock-type {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 4px !important;
  }
  .viator-nat-dropdown,
  .viator-type-dropdown,
  .viator-dest-results,
  .viator-search-dock .dest-results {
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .viator-nat-dropdown.show,
  .viator-type-dropdown.show {
    transform: translateY(0) !important;
  }
  .viator-search-btn {
    width: 100% !important;
    height: 48px !important;
    border-radius: 14px !important;
    margin-left: 0 !important;
    margin-top: 4px !important;
  }
  .viator-hero-section {
    min-height: auto !important;
  }
  .viator-hero-container {
    padding: 42px 16px 52px !important;
  }
  .trust-stats-section {
    padding: 38px 0 34px !important;
  }
  .trust-flank-decor {
    display: none !important;
  }
  .trust-showcase-wrapper {
    justify-content: center !important;
  }
  .trust-pill-badges-row {
    gap: 8px !important;
    margin-bottom: 28px !important;
  }
  .trust-pill-badge {
    padding: 6px 14px !important;
    font-size: 12.5px !important;
  }
  .trust-metrics-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 16px !important;
    max-width: 440px !important;
  }
  .trust-social-proof {
    margin-top: 36px !important;
  }
}

@media (max-width: 1060px) and (min-width: 821px) {
  .trust-flank-decor {
    flex: 0 0 135px !important;
  }
  .trust-passport-art-svg,
  .trust-stamp-art-svg {
    width: 135px !important;
  }
  .trust-handwritten-note-v2 {
    font-size: 17px !important;
  }
}

/* ==========================================================================
   COMPACT FOOTER BAR (.site-footer-bar)
   ========================================================================== */
.site-footer-bar {
  background: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  padding: 20px 0 0 !important;
  margin-top: auto !important;
  position: relative !important;
  z-index: 10 !important;
  font-family: 'Plus Jakarta Sans', var(--font), system-ui, sans-serif !important;
}

.footer-bar-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.footer-bar-main {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.footer-bar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-shrink: 0 !important;
}

.footer-bar-logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.footer-bar-logo-img {
  height: 30px !important;
  width: auto !important;
  max-width: 150px !important;
  display: block !important;
  object-fit: contain !important;
}

.footer-bar-tagline {
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  border-left: 1px solid #cbd5e1 !important;
  padding-left: 14px !important;
  display: inline-block !important;
}

.footer-bar-nav {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.footer-bar-nav a {
  color: #334155 !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  transition: color 0.18s ease !important;
  white-space: nowrap !important;
}

.footer-bar-nav a:hover {
  color: #006ce4 !important;
}

.footer-bar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

.footer-bar-wa-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #25d366 !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  padding: 7px 14px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25) !important;
}

.footer-bar-wa-btn:hover {
  background: #20bd5a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35) !important;
}

.footer-bar-sub {
  margin-top: 16px !important;
  padding: 12px 0 14px !important;
  border-top: 1px solid #f1f5f9 !important;
  background: #fafcff !important;
}

.footer-bar-sub-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 12px !important;
  color: #94a3b8 !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.footer-bar-copy {
  color: #64748b !important;
  font-weight: 500 !important;
}

.footer-bar-badges {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #64748b !important;
  font-weight: 550 !important;
}

@media (max-width: 900px) {
  .site-footer-bar {
    padding-top: 18px !important;
  }
  .footer-bar-main {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px !important;
  }
  .footer-bar-brand {
    flex-direction: column !important;
    gap: 6px !important;
  }
  .footer-bar-tagline {
    border-left: none !important;
    padding-left: 0 !important;
  }
  .footer-bar-nav {
    justify-content: center !important;
    gap: 12px 18px !important;
  }
  .footer-bar-sub-inner {
    flex-direction: column !important;
    gap: 6px !important;
    text-align: center !important;
  }
}

.northpeak-logo-text {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: #0f172a !important;
}

.northpeak-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  border-radius: 9999px !important;
  color: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 7px 18px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.northpeak-login-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

/* =========================================================
   VALUE PROPOSITIONS / BENEFITS BAR
   ========================================================= */
.section-benefits-bar {
  padding: 24px 0 10px;
}

.search-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.search-benefit-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.benefit-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #eef6ff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.benefit-icon svg {
  width: 22px;
  height: 22px;
}

.search-benefit-item span:last-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.search-benefit-item b {
  font-size: 14px;
  font-weight: 750;
  color: #0f172a;
}

.search-benefit-item small {
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
}

/* =========================================================
   POPULAR DESTINATIONS (CLEAN WHITE BACKGROUND - NO ANIMATION)
   ========================================================= */
.destination-board,
#destinations,
.home-page #destinations {
  position: relative !important;
  z-index: 10 !important;
  margin-top: 0 !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  padding: 50px 0 65px !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  outline: none !important;
  scroll-margin-top: 85px !important;
}

.destination-board,
.destination-board *,
.dest-mockup-card,
.dest-photo-box,
.popular-section-block,
.evisa-section-block {
  animation: none !important;
  opacity: 1 !important;
}

.destination-board .container {
  max-width: 1380px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

.reviews-showcase-section .container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 36px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1200px) {
  .destination-board .container {
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
  .reviews-showcase-section .container {
    padding-left: 44px !important;
    padding-right: 44px !important;
  }
}

/* =========================================================
   WHY RECOMMENDATIONS DIVIDER & MODAL (Matches media_1788957570714.png)
   ========================================================= */
.why-recommendations-divider {
  display: none !important;
}

.why-rec-text {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
  flex-shrink: 0 !important;
}

.why-rec-link {
  color: #0f172a !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

.why-rec-link:hover {
  color: #2563eb !important;
}

/* Modal for Why Recommendations */
.why-rec-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  padding: 20px;
}

.why-rec-modal.show {
  display: flex !important;
}

.why-rec-modal-card {
  background: #ffffff;
  border-radius: 20px;
  max-width: 480px;
  width: 100%;
  padding: 28px 26px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
  position: relative;
  text-align: left;
  animation: recModalFadeIn 0.2s ease-out;
}

@keyframes recModalFadeIn {
  from { opacity: 0; transform: scale(0.96) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.why-rec-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 12px;
}

.why-rec-modal-title {
  font-size: 17.5px;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  letter-spacing: -0.02em;
}

.why-rec-modal-close {
  background: #f1f5f9;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  line-height: 1;
  transition: all 0.15s ease;
}

.why-rec-modal-close:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.why-rec-modal-body p {
  font-size: 13.5px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 12px 0;
}

.why-rec-modal-body ul {
  margin: 0 0 16px 0;
  padding-left: 20px;
  font-size: 13px;
  color: #334155;
  line-height: 1.6;
}

.board-heading-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

.popular-section-block {
  margin-bottom: 44px !important;
}

.evisa-section-block {
  margin-top: 10px !important;
}

.board-heading-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.coral-kicker {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  color: #ef4444;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

#destinations .coral-kicker {
  color: #2563eb !important;
}

.board-main-title {
  font-size: clamp(28px, 3.2vw, 38px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.03em !important;
  color: #0f172a !important;
  margin: 0 !important;
  text-align: center !important;
}

.title-highlight {
  color: #2563eb !important;
}

.board-main-sub {
  font-size: 14.5px;
  color: #64748b;
  margin: 0;
}

.board-heading-action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 2px !important;
  gap: 12px;
}

.board-nav-arrows {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dest-arrow-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.18s ease;
}

.dest-arrow-btn:hover {
  border-color: #0f172a !important;
  color: #0f172a !important;
  background: #f1f5f9 !important;
  transform: scale(1.05);
}

.board-bottom-action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 28px !important;
  text-align: center !important;
}

.view-all-countries-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 30px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #0f172a !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 14.5px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
}

.view-all-countries-pill:hover {
  background: #f8fafc !important;
  border-color: #0f172a !important;
  color: #0f172a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

.view-all-countries-pill .arrow-ico {
  font-size: 15px !important;
  transition: transform 0.2s ease !important;
}

.view-all-countries-pill:hover .arrow-ico {
  transform: translateX(3px) !important;
}

.popular-section-block {
  width: 100%;
}

.dynamic-groups-area {
  width: 100% !important;
}

.group-section-block,
.evisa-section-block,
.schengen-section-block {
  margin-top: 54px !important;
  width: 100% !important;
}

@media (max-width: 768px) {
  .group-section-block,
  .evisa-section-block,
  .schengen-section-block {
    margin-top: 36px !important;
  }
}

/* Destination Grids: 5 columns on desktop matching reference media_1788953353275.png */
.dest-grid-popular,
.dest-grid-evisa,
.dest-grid-schengen,
.dest-grid-mockup,
.home-page .dest-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 34px 20px !important;
  width: 100% !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 1200px) {
  .dest-grid-popular,
  .dest-grid-evisa,
  .dest-grid-schengen,
  .dest-grid-mockup,
  .home-page .dest-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
  }
}

@media (max-width: 900px) {
  .dest-grid-popular,
  .dest-grid-evisa,
  .dest-grid-schengen,
  .dest-grid-mockup,
  .home-page .dest-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
  }
}

@media (max-width: 600px) {
  .dest-grid-popular,
  .dest-grid-evisa,
  .dest-grid-schengen,
  .dest-grid-mockup,
  .home-page .dest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }
}

@media (max-width: 360px) {
  .dest-grid-popular,
  .dest-grid-evisa,
  .dest-grid-schengen,
  .dest-grid-mockup,
  .home-page .dest-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Clean Photography Destination Cards (Photo Box + Info Below Box) */
.dest-mockup-card,
.dest-card-item-link {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* The Photo Box containing destination image and country name */
.dest-photo-box,
.dest-center-photo-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
  background-color: transparent !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
  border: none !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.2s ease !important;
}

.dest-card-item-link:hover .dest-photo-box,
.dest-mockup-card:hover .dest-photo-box,
.dest-photo-box:hover {
  transform: none !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.14) !important;
}

/* Subtle, clean overlay for readability without dimming or blackening the photos */
.dest-photo-box .dest-card-overlay,
.dest-mockup-card .dest-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.04) 40%, rgba(0, 0, 0, 0.22) 100%) !important;
  transition: background 0.2s ease !important;
  pointer-events: none !important;
  border-radius: inherit !important;
}

.dest-card-item-link:hover .dest-card-overlay,
.dest-mockup-card:hover .dest-card-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.02) 40%, rgba(0, 0, 0, 0.15) 100%) !important;
}

/* Centered country name text inside photo box */
.dest-photo-box .dest-card-name-centered,
.dest-mockup-card .dest-card-name-centered {
  position: relative !important;
  z-index: 2 !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 6px 14px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 14px rgba(0, 0, 0, 0.7) !important;
  white-space: normal !important;
  word-break: break-word !important;
  pointer-events: none !important;
}

/* Documents needed info UNDER the box (hidden per user request) */
.dest-card-under-info {
  display: none !important;
}

.dest-mockup-card .dest-card-arrow-circle {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
}

.dest-mockup-card:hover .dest-card-arrow-circle {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #ffffff !important;
  transform: scale(1.08) !important;
}

/* =========================================================
   POPULAR REVIEWS SHOWCASE SECTION
   ========================================================= */
.home-page .reviews-showcase-section,
.reviews-showcase-section,
.home-page #reviews,
#reviews {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 32px 0 40px !important;
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

.reviews-outer-shell {
  background: #ffffff !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.reviews-top-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 38px !important;
  flex-wrap: wrap;
}

.reviews-showcase-title {
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #0f172a;
  margin: 0;
}

.reviews-meta-block {
  display: flex;
  align-items: center;
  gap: 20px;
}

.reviews-rating-tag {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.reviews-score-line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.score-bold {
  font-size: 20px;
  font-weight: 850;
  color: #0f172a;
}

.score-scale {
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  margin-right: 4px;
}

.score-stars {
  color: #f59e0b;
  font-size: 15px;
  letter-spacing: 2px;
}

.score-based-text {
  font-size: 11.5px;
  color: #64748b;
  font-weight: 500;
}

.read-all-reviews-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 9999px;
  border: 1.5px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.18s ease;
}

.read-all-reviews-pill:hover {
  border-color: #2563eb;
  color: #2563eb;
  background: #eff6ff;
}

/* Reviews Carousel */
.reviews-carousel-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
}

.rev-arrow-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid #e2e8f0;
  background: #ffffff;
  color: #475569;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  user-select: none;
}

.rev-arrow-btn:hover {
  border-color: #2563eb;
  color: #2563eb;
  background: #eff6ff;
  transform: scale(1.08);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.15);
}

.rev-arrow-btn:active {
  transform: scale(0.95);
}

.reviews-cards-row {
  display: flex;
  align-items: stretch;
  gap: 20px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden !important;
  overscroll-behavior-y: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 10px 4px 18px;
  -webkit-overflow-scrolling: touch;
}

.reviews-cards-row::-webkit-scrollbar {
  display: none;
}

/* Force review carousel and cards to stay visible and immune to scroll-reveal opacity/clip */
.reviews-carousel-container,
.reviews-cards-row,
.review-card-item,
html.has-scroll-animations .reviews-carousel-container,
html.has-scroll-animations .reviews-cards-row,
html.has-scroll-animations .review-card-item {
  opacity: 1 !important;
  visibility: visible !important;
  clip-path: none !important;
  filter: none !important;
}

html.has-scroll-animations .reviews-carousel-container,
html.has-scroll-animations .reviews-cards-row {
  transform: none !important;
}

.review-card-item {
  flex: 0 0 calc(33.333% - 14px);
  min-width: 280px;
  scroll-snap-align: start;
  background: #ffffff;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}

.review-card-item:hover,
html.has-scroll-animations .review-card-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.09) !important;
}

.rev-user-profile {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rev-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e2e8f0;
  flex-shrink: 0;
}

.rev-user-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.rev-user-name {
  font-size: 15px;
  font-weight: 750;
  color: #0f172a;
}

.rev-user-country {
  font-size: 12.5px;
  color: #64748b;
  font-weight: 500;
}

.rev-stars-gold {
  color: #f59e0b;
  font-size: 15px;
  letter-spacing: 2px;
}

.rev-feedback-quote {
  font-size: 14px;
  line-height: 1.6;
  color: #334155;
  margin: 0;
  font-style: normal;
  flex-grow: 1;
}

.rev-dots-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}

.rev-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cbd5e1;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.rev-dot.active {
  background: #2563eb;
  width: 22px;
  border-radius: 999px;
}

/* =========================================================
   TRAVEL YOUR WAY BANNER (Blue #ebf3fd Theme, Full Black Title, Clean Rectangle)
   ========================================================= */
.flexible-travel-banner-section,
#flexible-travel {
  width: 100% !important;
  background-color: #ebf3fd !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 200px !important;
  display: flex !important;
  align-items: center !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  clip-path: none !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html.has-scroll-animations #flexible-travel,
html.has-scroll-animations .flexible-travel-banner-section,
html.has-scroll-animations #flexible-travel.is-revealed,
html.has-scroll-animations .flexible-travel-banner-section.is-revealed {
  clip-path: none !important;
  border-radius: 0 !important;
}

/* Subtle World Dots Map to enrich the center background */
.flexible-travel-bg-dots {
  position: absolute !important;
  inset: 0 !important;
  background-image: url('assets/world-dots-pattern.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 820px auto !important;
  opacity: 0.18 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Content Container - neatly bounds the text and prevents center void */
.flexible-travel-container {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

.flexible-travel-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  max-width: 540px !important;
  padding: 32px 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.flexible-travel-eyebrow {
  display: inline-block !important;
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #4b5e76 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 8px 0 !important;
  text-transform: none !important;
}

/* Full Black Title */
.flexible-travel-title {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  font-weight: 800 !important;
  color: #000000 !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
}

.flexible-travel-desc {
  font-family: 'Plus Jakarta Sans', var(--font), sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  margin: 0 !important;
  max-width: 520px !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Right Illustration seamlessly anchored to right window edge */
.flexible-travel-art-bg {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  max-height: 220px !important;
  width: auto !important;
  max-width: 55vw !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  pointer-events: none !important;
  z-index: 1 !important;
  display: block !important;
}

@media (max-width: 900px) {
  .flexible-travel-banner-section,
  #flexible-travel {
    min-height: auto !important;
    display: block !important;
    padding: 28px 0 0 !important;
    border: none !important;
    border-radius: 0 !important;
    clip-path: none !important;
  }
  .flexible-travel-bg-dots {
    display: none !important;
  }
  .flexible-travel-container {
    padding: 0 20px !important;
  }
  .flexible-travel-content {
    max-width: 100% !important;
    padding: 0 0 16px !important;
    width: 100% !important;
  }
  .flexible-travel-eyebrow {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
  .flexible-travel-title {
    font-size: clamp(24px, 5.5vw, 28px) !important;
    margin-bottom: 8px !important;
  }
  .flexible-travel-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  .flexible-travel-art-bg {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
    object-fit: cover !important;
    object-position: right center !important;
    display: block !important;
    margin-top: 4px !important;
  }
}

/* =========================================================
   HOW EVISAS WORKS SECTION (Matches media_1788957178248.png)
   ========================================================= */
.how-evisas-works-section {
  padding: 68px 0 60px !important;
  background-color: #ffffff !important;
  text-align: center !important;
  position: relative !important;
}

.how-evisas-header {
  margin-bottom: 48px !important;
}

.how-evisas-title {
  font-size: clamp(30px, 3.6vw, 42px) !important;
  font-weight: 850 !important;
  color: #0f172a !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 12px 0 !important;
}

.how-evisas-brand,
.how-visadoo-brand {
  color: #006ce4 !important;
}

.how-evisas-faded {
  color: #0f172a !important;
  font-weight: 850 !important;
}

.how-evisas-sub {
  font-size: clamp(14px, 1.4vw, 15.5px) !important;
  color: #64748b !important;
  margin: 0 auto !important;
  max-width: 600px !important;
  line-height: 1.45 !important;
}

/* Stepper Track with 4 Badges */
.how-stepper-track-wrap {
  position: relative !important;
  max-width: 1040px !important;
  width: 100% !important;
  margin: 0 auto 28px !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

.how-stepper-connector-line {
  position: absolute !important;
  top: 50% !important;
  left: 10% !important;
  right: 10% !important;
  height: 2px !important;
  background: #e2e8f0 !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
}

.how-stepper-badges-row {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

.how-step-num-badge {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1.5px solid #0f172a !important;
  color: #0f172a !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08) !important;
}

/* 4 Step Columns Grid */
.how-evisas-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  max-width: 1100px !important;
  margin: 0 auto 48px !important;
  text-align: center !important;
}

.how-evisas-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0 8px !important;
}

.how-evisas-icon-box {
  width: 72px !important;
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
  background: transparent !important;
}

.how-evisas-icon-box svg {
  display: block;
  stroke: #006ce4 !important;
}

.how-step-heading {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
  margin: 0 0 8px 0 !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.how-step-desc {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #64748b !important;
  margin: 0 !important;
  max-width: 220px !important;
}

/* Bottom CTA & Trust */
.how-evisas-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 10px !important;
}

.how-evisas-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  border: 1.5px solid #0f172a !important;
  color: #0f172a !important;
  font-size: 14.5px !important;
  font-weight: 750 !important;
  padding: 11px 30px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
}

.how-evisas-cta-btn:hover {
  background: #f8fafc !important;
  border-color: #0f172a !important;
  color: #0f172a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

.how-evisas-trust-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

.how-trust-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.how-trust-dot {
  color: #cbd5e1 !important;
  font-size: 14px !important;
}

@media (max-width: 900px) {
  .how-evisas-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 20px !important;
  }
  .how-stepper-track-wrap {
    display: none !important;
  }
}

@media (max-width: 540px) {
  .how-evisas-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .how-step-heading {
    min-height: auto !important;
  }
}

/* =========================================================
   VISA CONFUSION CTA BANNER (Matching Image 2 - Real Text & Interactive Button)
   ========================================================= */
.cta-banner-section {
  padding: 40px 0 92px;
  background-color: #ffffff !important;
}

.cta-confusion-card {
  position: relative;
  width: 100%;
  min-height: 380px;
  border-radius: 28px;
  overflow: hidden;
  background-color: #f6fafe;
  border: 1px solid rgba(219, 234, 254, 0.85);
  box-shadow: 0 16px 42px -6px rgba(15, 23, 42, 0.08), 0 4px 14px -2px rgba(15, 23, 42, 0.03);
  display: flex;
  align-items: center;
  isolation: isolate;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.cta-confusion-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px -6px rgba(15, 23, 42, 0.12), 0 8px 20px -4px rgba(15, 23, 42, 0.05);
}

.cta-confusion-art-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url('assets/visa-confusion-bg.png');
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.cta-confusion-content {
  position: relative;
  z-index: 2;
  padding: 50px 56px;
  max-width: 580px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cta-confusion-tag {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.cta-tag-dash {
  width: 26px;
  height: 2.5px;
  background-color: #1d70f5;
  border-radius: 2px;
  display: inline-block;
}

.cta-tag-text {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: 12.5px;
  font-weight: 750;
  letter-spacing: 0.14em;
  color: #64748b;
  text-transform: uppercase;
}

.cta-confusion-title {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: clamp(32px, 3.8vw, 50px);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -0.035em;
  color: #0a192f;
  margin: 0 0 16px 0;
}

.cta-confusion-highlight {
  color: #1d70f5;
  background: linear-gradient(135deg, #1d70f5 0%, #0084ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

.cta-confusion-sub {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: clamp(14.5px, 1.35vw, 16px);
  line-height: 1.55;
  color: #475569;
  margin: 0 0 28px 0;
  max-width: 480px;
}

.cta-confusion-actions {
  display: flex;
  align-items: center;
}

.cta-confusion-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background-color: #091a33;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  padding: 13px 28px;
  border-radius: 9999px;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(9, 26, 51, 0.22);
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  outline: none;
  border: none;
}

.cta-confusion-pill-btn:hover {
  background-color: #006ce4;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 108, 228, 0.35);
}

.cta-confusion-pill-btn:active {
  transform: translateY(0) scale(0.98);
}

.cta-confusion-pill-btn:focus-visible {
  outline: 3px solid #006ce4;
  outline-offset: 4px;
}

.cta-btn-arrow {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.cta-confusion-pill-btn:hover .cta-btn-arrow {
  transform: translateX(4px);
}

/* RTL Banner Layout for Arabic & Translated Pages (Fixes media_1789455532797.png) */
[dir="rtl"] .cta-confusion-card,
html.visadoo-rtl .cta-confusion-card,
html.translated-rtl .cta-confusion-card,
body.translated-rtl .cta-confusion-card,
body.visadoo-rtl .cta-confusion-card {
  direction: ltr !important;
}

[dir="rtl"] .cta-confusion-content,
html.visadoo-rtl .cta-confusion-content,
html.translated-rtl .cta-confusion-content,
body.translated-rtl .cta-confusion-content,
body.visadoo-rtl .cta-confusion-content {
  direction: rtl !important;
  text-align: right !important;
  align-items: flex-start !important;
  background: linear-gradient(90deg, rgba(246, 250, 254, 0.96) 0%, rgba(246, 250, 254, 0.90) 65%, rgba(246, 250, 254, 0) 100%) !important;
  border-radius: 24px !important;
}

[dir="rtl"] .cta-confusion-title,
html.visadoo-rtl .cta-confusion-title,
html.translated-rtl .cta-confusion-title,
body.translated-rtl .cta-confusion-title,
body.visadoo-rtl .cta-confusion-title {
  letter-spacing: normal !important;
  text-align: right !important;
}

[dir="rtl"] .cta-confusion-sub,
html.visadoo-rtl .cta-confusion-sub,
html.translated-rtl .cta-confusion-sub,
body.translated-rtl .cta-confusion-sub,
body.visadoo-rtl .cta-confusion-sub {
  text-align: right !important;
}

[dir="rtl"] .cta-confusion-tag,
html.visadoo-rtl .cta-confusion-tag,
html.translated-rtl .cta-confusion-tag,
body.translated-rtl .cta-confusion-tag,
body.visadoo-rtl .cta-confusion-tag {
  flex-direction: row !important;
}

[dir="rtl"] .cta-confusion-actions,
html.visadoo-rtl .cta-confusion-actions,
html.translated-rtl .cta-confusion-actions,
body.translated-rtl .cta-confusion-actions,
body.visadoo-rtl .cta-confusion-actions {
  justify-content: flex-start !important;
}

[dir="rtl"] .cta-confusion-pill-btn,
html.visadoo-rtl .cta-confusion-pill-btn,
html.translated-rtl .cta-confusion-pill-btn,
body.translated-rtl .cta-confusion-pill-btn,
body.visadoo-rtl .cta-confusion-pill-btn {
  flex-direction: row-reverse !important;
}

[dir="rtl"] .cta-confusion-pill-btn .cta-btn-arrow,
html.visadoo-rtl .cta-confusion-pill-btn .cta-btn-arrow,
html.translated-rtl .cta-confusion-pill-btn .cta-btn-arrow,
body.translated-rtl .cta-confusion-pill-btn .cta-btn-arrow,
body.visadoo-rtl .cta-confusion-pill-btn .cta-btn-arrow {
  transform: rotate(180deg) !important;
}

[dir="rtl"] .cta-confusion-pill-btn:hover .cta-btn-arrow,
html.visadoo-rtl .cta-confusion-pill-btn:hover .cta-btn-arrow,
html.translated-rtl .cta-confusion-pill-btn:hover .cta-btn-arrow,
body.translated-rtl .cta-confusion-pill-btn:hover .cta-btn-arrow,
body.visadoo-rtl .cta-confusion-pill-btn:hover .cta-btn-arrow {
  transform: rotate(180deg) translateX(4px) !important;
}

/* =========================================================
   FREQUENTLY ASKED QUESTIONS (Matches reference design)
   ========================================================= */
.home-faq-section {
  padding: 56px 0 64px !important;
  background-color: #ffffff !important;
  position: relative !important;
}

.faq-header-block {
  text-align: center !important;
  max-width: 680px !important;
  margin: 0 auto 36px !important;
}

.faq-main-title {
  font-size: clamp(28px, 3.4vw, 38px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.03em !important;
  color: #0f172a !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.2 !important;
}

.faq-main-sub {
  font-size: clamp(14px, 1.4vw, 15.5px) !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 auto !important;
}

.faq-accordion-list {
  max-width: 860px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.faq-card-item {
  background-color: #fdfaf3 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(226, 218, 202, 0.45) !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}

.faq-card-item:hover {
  border-color: rgba(200, 190, 170, 0.7) !important;
}

.faq-question-btn {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  padding: 20px 24px !important;
  cursor: pointer !important;
  color: #0f172a !important;
  font-family: inherit !important;
  outline: none !important;
  gap: 16px !important;
}

.faq-q-text {
  font-size: 15.5px !important;
  font-weight: 750 !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
}

.faq-chevron-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f172a !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.faq-card-item.active .faq-chevron-icon {
  transform: rotate(180deg) !important;
}

.faq-answer-collapse {
  display: none;
  padding: 0 24px 22px 24px !important;
  border-top: none !important;
}

.faq-card-item.active .faq-answer-collapse {
  display: block !important;
}

.faq-a-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .home-faq-section {
    padding: 40px 0 48px !important;
  }
  .faq-question-btn {
    padding: 16px 18px !important;
  }
  .faq-q-text {
    font-size: 14.5px !important;
  }
  .faq-answer-collapse {
    padding: 0 18px 18px 18px !important;
  }
  .faq-a-text {
    font-size: 13.5px !important;
  }
}

/* =========================================================
   RESPONSIVE DESIGN BREAKPOINTS
   ========================================================= */
@media (max-width: 1200px) {
  .dest-grid-mockup,
  .dest-grid-popular,
  .dest-grid-evisa {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .hero-script-badge {
    left: 480px;
  }
}

@media (max-width: 992px) {
  .dest-grid-popular {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dest-grid-mockup,
  .dest-grid-evisa {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .search-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .review-card-item {
    flex: 0 0 calc(50% - 10px);
    min-width: 260px;
  }
  .hero-trusted-card {
    display: none;
  }
  .hero-script-badge {
    display: none;
  }
}

@media (max-width: 768px) {
  .home-page .discover-header {
    padding: 4px 0 !important;
  }
  .hero-redesign-section {
    min-height: calc(100vh - 60px) !important;
    padding: 50px 16px 40px !important;
  }
  .hero-main-heading {
    font-size: clamp(34px, 8.5vw, 46px) !important;
    line-height: 1.08 !important;
    margin-bottom: 12px !important;
  }
  .hero-sub-text {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }
  .hero-redesign-section .floating-search-dock {
    border-radius: 20px !important;
    padding: 10px !important;
  }
  .hero-redesign-section .dock-search-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .hero-redesign-section .dock-field-separator {
    display: none !important;
  }
  .dock-search-pill-btn {
    width: 100% !important;
    padding: 12px !important;
  }
  .destination-board,
  #destinations,
  .home-page #destinations {
    margin-top: 0 !important;
    border-radius: 0 !important;
    padding: 36px 0 28px !important;
  }
  .dest-grid-mockup,
  .dest-grid-popular,
  .dest-grid-evisa,
  .home-page .dest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }
  .dest-mockup-card,
  .dest-card-item-link {
    gap: 7px !important;
  }
  .dest-photo-box,
  .dest-center-photo-card {
    height: 160px !important;
    min-height: 160px !important;
    max-height: none !important;
    border-radius: 14px !important;
    padding: 0 !important;
    background-origin: border-box !important;
    background-clip: border-box !important;
  }
  .dest-photo-box .dest-card-name-centered,
  .dest-mockup-card .dest-card-name-centered,
  .dest-center-photo-card .dest-card-name-centered {
    font-size: 15.5px !important;
  }

  /* Featured destination card spanning full width on mobile when count is odd (like 5 cards) */
  .dest-grid-popular > .dest-card-item-link:first-child:nth-last-child(odd) {
    grid-column: 1 / -1 !important;
  }
  .dest-grid-popular > .dest-card-item-link:first-child:nth-last-child(odd) .dest-photo-box {
    height: 190px !important;
    min-height: 190px !important;
  }
  .dest-grid-popular > .dest-card-item-link:first-child:nth-last-child(odd) .dest-card-name-centered {
    font-size: 18px !important;
    font-weight: 850 !important;
  }

  /* Universal orphan card protector for all 2-col destination grids */
  .dest-grid-evisa > .dest-card-item-link:last-child:nth-child(odd),
  .dest-grid-schengen > .dest-card-item-link:last-child:nth-child(odd),
  .dynamic-groups-area .dest-grid > .dest-card-item-link:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }
  .reviews-outer-shell {
    padding: 24px 16px;
    border-radius: 20px;
  }
  .reviews-top-row {
    margin-bottom: 26px !important;
  }
  .review-card-item {
    flex: 0 0 calc(100% - 20px);
    min-width: calc(100% - 20px);
  }
  .cta-banner-section {
    padding: 24px 0 64px;
  }
  .cta-confusion-card {
    min-height: auto;
    border-radius: 20px;
  }
  .cta-confusion-content {
    padding: 34px 22px 30px;
    max-width: 100%;
    background: linear-gradient(135deg, rgba(246, 250, 254, 0.96) 0%, rgba(246, 250, 254, 0.90) 65%, rgba(246, 250, 254, 0.72) 100%);
    border-radius: 20px;
  }
  .cta-br-desktop {
    display: none;
  }
}

/* ==========================================================================
   STATIC DISPLAY (All animations removed per user preference)
   ========================================================================== */

/* Hardware Acceleration & Text Rendering */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ==========================================================================
   SMOOTH SCROLL ANIMATIONS (Wipe In/Out, Fade In/Out, Scale In/Out)
   ========================================================================== */

/* Hero Entrance Animations (Plays on load for instant visual punch) */
.viator-hero-title {
  animation: heroWipeUp 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.viator-hero-sub {
  animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

.viator-search-dock {
  animation: heroDockPop 1s cubic-bezier(0.16, 1, 0.3, 1) 0.22s both;
}

@keyframes heroWipeUp {
  0% {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 36px, 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes heroFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes heroDockPop {
  0% {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* Base Scroll Reveal Configuration */
html.has-scroll-animations .scroll-reveal,
html.has-scroll-animations [data-reveal] {
  opacity: 0;
  will-change: opacity, transform, clip-path;
  /* Smooth exit transition (when scrolling out of view) */
  transition: opacity 0.45s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.45s cubic-bezier(0.25, 1, 0.5, 1),
              clip-path 0.5s cubic-bezier(0.25, 1, 0.5, 1),
              filter 0.45s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: 0s !important;
}

/* 1. Fade Up (Default) */
html.has-scroll-animations .scroll-reveal,
html.has-scroll-animations [data-reveal="fade"],
html.has-scroll-animations [data-reveal="fade-up"] {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  filter: blur(4px);
}

html.has-scroll-animations .scroll-reveal.is-revealed,
html.has-scroll-animations [data-reveal="fade"].is-revealed,
html.has-scroll-animations [data-reveal="fade-up"].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0px);
  /* Smooth entrance transition (when scrolling into view) */
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 2. Wipe In/Out (Bottom-to-Top Wipe with upward float) */
html.has-scroll-animations [data-reveal="wipe"],
html.has-scroll-animations [data-reveal="wipe-up"] {
  opacity: 0;
  clip-path: inset(100% 0 0 0 round 14px);
  transform: translate3d(0, 36px, 0);
}

html.has-scroll-animations [data-reveal="wipe"].is-revealed,
html.has-scroll-animations [data-reveal="wipe-up"].is-revealed {
  opacity: 1;
  clip-path: inset(0 0 0 0 round 14px);
  transform: translate3d(0, 0, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              clip-path 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 3. Wipe Down In/Out (Top-to-Bottom Wipe) */
html.has-scroll-animations [data-reveal="wipe-down"] {
  opacity: 0;
  clip-path: inset(0 0 100% 0 round 14px);
  transform: translate3d(0, -32px, 0);
}

html.has-scroll-animations [data-reveal="wipe-down"].is-revealed {
  opacity: 1;
  clip-path: inset(0 0 0 0 round 14px);
  transform: translate3d(0, 0, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              clip-path 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 4. Scale & Zoom In/Out */
html.has-scroll-animations [data-reveal="scale"],
html.has-scroll-animations [data-reveal="zoom"] {
  opacity: 0;
  transform: scale(0.92) translate3d(0, 20px, 0);
}

html.has-scroll-animations [data-reveal="scale"].is-revealed,
html.has-scroll-animations [data-reveal="zoom"].is-revealed {
  opacity: 1;
  transform: scale(1) translate3d(0, 0, 0);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 5. Fade Left & Right */
html.has-scroll-animations [data-reveal="fade-left"] {
  opacity: 0;
  transform: translate3d(-36px, 0, 0);
}

html.has-scroll-animations [data-reveal="fade-left"].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

html.has-scroll-animations [data-reveal="fade-right"] {
  opacity: 0;
  transform: translate3d(36px, 0, 0);
}

html.has-scroll-animations [data-reveal="fade-right"].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 6. Stagger wave delays for list & grid children when entering */
html.has-scroll-animations .stagger-group > *:nth-child(1).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(1) { transition-delay: 0.04s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(2).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(2) { transition-delay: 0.12s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(3).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(3) { transition-delay: 0.20s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(4).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(4) { transition-delay: 0.28s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(5).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(5) { transition-delay: 0.36s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(6).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(6) { transition-delay: 0.44s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(7).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(7) { transition-delay: 0.52s !important; }
html.has-scroll-animations .stagger-group > *:nth-child(8).is-revealed,
html.has-scroll-animations .stagger-group.is-revealed > *:nth-child(8) { transition-delay: 0.60s !important; }

/* Destination card hover - no transform animation */
.dest-mockup-card:hover .dest-photo-box,
.dest-card-item-link:hover .dest-photo-box {
  transform: none !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.14) !important;
  transition: box-shadow 0.2s ease !important;
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  html.has-scroll-animations .scroll-reveal,
  html.has-scroll-animations [data-reveal],
  .viator-hero-title,
  .viator-hero-sub,
  .viator-search-dock {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================
   HIDE TRAVEL DATE COLUMN / FIELD FROM VISA FORMS
   Customer has already chosen travel date in the destination modal.
   Preserve hidden input value for submission, draft, and PDF generation.
   ============================================================ */
.field:has(#arrival_date),
.field:has(#travel_date),
.field:has(#intended_entry_date),
.field:has(#date_of_arrival),
.field:has(input[name="arrival_date"]),
.field:has(input[name="travel_date"]),
.field:has(label[for="arrival_date"]),
.field:has(label[for="travel_date"]),
.field-travel-date-hidden {
  display: none !important;
}

/* =========================================================
/* =========================================================
   CONTACT US SECTION - Clean, Simple, Modern Design
   ========================================================= */
.contact-section {
  padding: 40px 0 70px !important;
  background-color: #f8fafc !important;
  width: 100%;
}

.contact-container {
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.contact-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 40px;
}

.contact-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #006ce4;
  background: #eff6ff;
  border: 1px solid rgba(0, 108, 228, 0.15);
  padding: 5px 14px;
  border-radius: 9999px;
  margin-bottom: 12px;
}

.contact-title {
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}

.contact-subtitle {
  font-size: 15.5px !important;
  color: #64748b !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  font-weight: 450;
  text-align: center;
}

.contact-layout-row {
  display: grid;
  grid-template-columns: 1.25fr 0.95fr;
  gap: 28px;
  align-items: stretch;
  margin-bottom: 36px;
}

@media (max-width: 880px) {
  .contact-layout-row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.contact-form-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 34px 30px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  box-sizing: border-box;
}

.contact-name-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 540px) {
  .contact-name-row {
    grid-template-columns: 1fr;
  }
  .contact-form-card,
  .contact-info-card {
    padding: 24px 20px !important;
  }
}

.contact-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact-label {
  font-size: 13.5px;
  font-weight: 600;
  color: #334155;
  letter-spacing: -0.01em;
}

.contact-input,
.contact-textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1.5px solid #e2e8f0 !important;
  background-color: #f8fafc !important;
  font-size: 14.5px;
  color: #0f172a;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
  outline: none;
}

.contact-input::placeholder,
.contact-textarea::placeholder {
  color: #94a3b8;
  font-weight: 400;
}

.contact-input:focus,
.contact-textarea:focus {
  border-color: #006ce4 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(0, 108, 228, 0.12) !important;
}

.contact-textarea {
  resize: vertical;
  min-height: 110px;
}

.contact-submit-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #006ce4 !important;
  color: #ffffff !important;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 108, 228, 0.25);
  transition: all 0.2s ease;
  letter-spacing: -0.01em;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.contact-submit-btn:hover {
  background-color: #0056b8 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 108, 228, 0.32);
}

.contact-submit-btn:active {
  transform: translateY(0);
}

.contact-submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.contact-form-status {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  text-align: center;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.contact-form-alt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13.5px;
  color: #64748b;
  margin-top: 4px;
  flex-wrap: wrap;
}

.contact-form-direct-email {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #006ce4;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease, text-decoration 0.15s ease;
}

.contact-form-direct-email:hover {
  color: #0056b8;
  text-decoration: underline;
}

/* Address Box (Right) */
.contact-info-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 34px 30px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
  box-sizing: border-box;
  height: 100%;
}

.contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.contact-info-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #eff6ff;
  color: #006ce4;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 108, 228, 0.1);
}

.contact-info-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-info-heading {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

.contact-info-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #475569;
  margin: 0;
  font-weight: 450;
}

.contact-link {
  color: #006ce4;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

.contact-link:hover {
  color: #004ba3;
  text-decoration: underline;
}

/* WhatsApp Box */
.contact-wa-box {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border: 1px solid #bbf7d0;
  border-radius: 14px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
}

.contact-wa-box-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact-wa-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.contact-wa-heading {
  font-size: 14px;
  font-weight: 700;
  color: #14532d;
  margin: 0;
}

.contact-wa-sub {
  font-size: 12px;
  color: #166534;
  margin: 0;
}

.contact-wa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px 16px;
  background: #16a34a;
  color: #ffffff !important;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 650;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
  box-sizing: border-box;
}

.contact-wa-btn:hover {
  background: #15803d;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(22, 163, 74, 0.35);
}

/* Map Embed */
.contact-map-wrapper {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
  border: 1px solid #e2e8f0;
  background: #ffffff;
}

.contact-map-iframe {
  width: 100%;
  height: 380px;
  border: 0;
  display: block;
}

@media (max-width: 768px) {
  .contact-map-iframe {
    height: 280px;
  }
}

/* Dedicated Contact Us Page - Normal Light Theme */
body.contact-page {
  background-color: #f8fafc !important;
  color: #0f172a !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.contact-page .discover-header {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

body.contact-page .discover-header .nav-links a {
  color: #334155 !important;
}

body.contact-page .discover-header .nav-links a.active {
  color: #006ce4 !important;
  font-weight: 700 !important;
}

.contact-page-main {
  flex: 1 0 auto;
  padding-top: 108px;
  padding-bottom: 50px;
  width: 100%;
}

.contact-page-main .contact-section {
  background: #f8fafc !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

body.contact-page .contact-form-card,
body.contact-page .contact-info-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05) !important;
}

body.contact-page .site-footer-bar,
body.contact-page .home-footer,
body.contact-page footer {
  background: #ffffff !important;
  color: #475569 !important;
  border-top: 1px solid #e2e8f0 !important;
}

body.contact-page .footer-bar-sub {
  background: #fafcff !important;
  border-top: 1px solid #f1f5f9 !important;
}


