/*
Travel agency v5.4 frontend rebuild
Clean layout system replacing the old stacked override stylesheet.
*/
:root{
  --ar-bg:#f6f8fb;
  --ar-surface:#ffffff;
  --ar-surface-soft:#f8fbff;
  --ar-ink:#102033;
  --ar-muted:#62748a;
  --ar-line:#e4ebf3;
  --ar-primary:#0f5d7e;
  --ar-primary-dark:#0a405a;
  --ar-primary-soft:#e8f5fb;
  --ar-accent:#f4a629;
  --ar-accent-soft:#fff3df;
  --ar-success:#0f8a62;
  --ar-danger:#c43b48;
  --ar-radius:22px;
  --ar-radius-lg:32px;
  --ar-shadow:0 22px 60px rgba(16,32,51,.10);
  --ar-shadow-soft:0 12px 34px rgba(16,32,51,.075);
  --ar-container:1320px;
  --ar-header-h:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  color:var(--ar-ink);
  background:
    radial-gradient(circle at 10% 6%,rgba(15,93,126,.12),transparent 28%),
    radial-gradient(circle at 92% 2%,rgba(244,166,41,.18),transparent 24%),
    linear-gradient(180deg,#fff 0%,var(--ar-bg) 42%,#eef4f8 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.5;
}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{display:block}
.icon-svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Header and navigation */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid rgba(16,32,51,.08);
  box-shadow:0 10px 26px rgba(16,32,51,.045);
}
.site-header-inner{
  width:min(var(--ar-container),calc(100% - 40px));
  min-height:var(--ar-header-h);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:10px 0;
}
.brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ar-ink);
}
.brand-mark{
  width:56px;
  height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ar-line);
  box-shadow:0 10px 24px rgba(16,32,51,.08);
}
.brand-mark img{width:86%;height:86%;object-fit:contain}
.brand-copy{display:grid;gap:2px;min-width:0}
.brand-copy strong{font-size:20px;line-height:1.05;letter-spacing:-.025em;color:var(--ar-primary-dark);font-weight:800}
.brand-copy small{max-width:220px;color:var(--ar-muted);font-size:11px;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-mobile-logo-img{display:none}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--ar-line);
  border-radius:14px;
  background:#fff;
  color:var(--ar-primary);
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 22px rgba(16,32,51,.07);
}
.site-nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
  row-gap:6px;
  overflow:visible;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  color:#26384d;
  font-size:14px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  letter-spacing:-.01em;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.nav-link .nav-text{display:block;overflow:hidden;text-overflow:ellipsis}
.nav-link:hover,.nav-link.active{background:var(--ar-primary-soft);color:var(--ar-primary-dark)}
.nav-link.active{box-shadow:inset 0 0 0 1px rgba(15,93,126,.06)}
.nav-link:hover{box-shadow:inset 0 0 0 1px rgba(15,93,126,.08)}
.header-actions{
  min-width:max-content;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.header-phone{
  color:var(--ar-primary-dark);
  font-weight:700;
  font-size:14px;
  white-space:nowrap;
  letter-spacing:-.01em;
}
.header-quote{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--ar-primary),var(--ar-primary-dark));
  color:#fff;
  font-size:14px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(15,93,126,.18);
  white-space:nowrap;
}
.mobile-menu-actions{display:none}
.mobile-menu-phone,.mobile-menu-quote{display:none}
/* Page frame */
.page-shell{
  width:min(var(--ar-container),calc(100% - 40px));
  margin:0 auto;
  padding:34px 0 22px;
  min-height:58vh;
}
.section{margin:42px 0}
.compact-section{margin-top:26px}
.page-shell>.section:only-child{
  background:rgba(255,255,255,.92);
  border:1px solid var(--ar-line);
  border-radius:var(--ar-radius-lg);
  box-shadow:var(--ar-shadow-soft);
  padding:clamp(24px,4vw,44px);
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:22px;
}
.section-head>div{min-width:0}
.section-head a,.inline-cta{
  color:var(--ar-primary);
  font-weight:950;
  white-space:nowrap;
}
.inline-cta{display:inline-flex;align-items:center;margin-top:18px;border-bottom:2px solid var(--ar-accent);padding-bottom:4px}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:clamp(40px,5.4vw,74px);line-height:.98;letter-spacing:-.07em;margin-bottom:18px;color:var(--ar-ink)}
h2{font-size:clamp(28px,3.4vw,48px);line-height:1.05;letter-spacing:-.055em;margin-bottom:12px;color:var(--ar-ink)}
h3{font-size:23px;line-height:1.12;letter-spacing:-.035em;margin-bottom:9px;color:var(--ar-ink)}
h4{font-size:16px;margin:0 0 14px;color:#fff}
p{color:var(--ar-muted);font-size:16px;line-height:1.7;margin-bottom:16px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--ar-primary);
  font-weight:950;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:12px;
}
.eyebrow:before{content:"";width:28px;height:3px;border-radius:999px;background:var(--ar-accent)}
.tag{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  background:var(--ar-accent-soft);
  color:#9a5c07;
  font-weight:950;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.back-link{display:inline-flex;margin:4px 0 18px;color:var(--ar-primary);font-weight:950}
.muted{color:var(--ar-muted)}

/* Forms */
input,select,textarea{
  width:100%;
  border:1px solid var(--ar-line);
  border-radius:14px;
  background:#fff;
  color:var(--ar-ink);
  padding:13px 14px;
  min-height:48px;
  outline:none;
  transition:border .18s ease,box-shadow .18s ease,background .18s ease;
}
textarea{resize:vertical;min-height:120px}
input:focus,select:focus,textarea:focus{border-color:rgba(15,93,126,.55);box-shadow:0 0 0 4px rgba(15,93,126,.10)}
button[type="submit"],.dark-btn,.outline-btn,.flash-book-btn,.subscribe-form button,.quote-form button,.lead-popup-form button,.cart-form button,.chat-widget button[type="submit"]{
  min-height:50px;
  border:0;
  border-radius:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px;
  font-weight:950;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
button[type="submit"],.dark-btn,.flash-book-btn,.quote-form button,.lead-popup-form button,.cart-form button,.chat-widget button[type="submit"]{background:linear-gradient(135deg,var(--ar-primary),var(--ar-primary-dark));color:#fff;box-shadow:0 14px 32px rgba(15,93,126,.18)}
.outline-btn{background:#fff;color:var(--ar-primary);border:1px solid rgba(15,93,126,.22);box-shadow:none}
button[type="submit"]:hover,.dark-btn:hover,.outline-btn:hover,.flash-book-btn:hover,.header-quote:hover{transform:translateY(-1px)}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-date-field,.lead-trip-fields label{display:grid;gap:7px;color:var(--ar-muted);font-weight:850;font-size:13px}
.terms-check,.lead-terms{display:flex;align-items:flex-start;gap:10px;color:var(--ar-muted);font-size:14px;line-height:1.45}
.terms-check input,.lead-terms input{width:auto;min-height:auto;margin-top:3px;accent-color:var(--ar-primary)}
.terms-check a,.lead-terms a{color:var(--ar-primary);font-weight:850}

/* Top flight search */
.top-flight-search{
  margin:14px 0 42px;
  background:linear-gradient(135deg,#eff9fc 0%,#fff 52%,#fff7e9 100%);
  border:1px solid rgba(15,93,126,.12);
  border-radius:var(--ar-radius-lg);
  box-shadow:var(--ar-shadow);
  padding:24px;
  overflow:hidden;
}
.mobile-search-banner{display:none}
.search-banner-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:18px}
.search-banner-head p{max-width:620px;margin:0}
.flight-search-panel{background:#fff;border:1px solid var(--ar-line);border-radius:24px;overflow:hidden;box-shadow:var(--ar-shadow-soft)}
.trip-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--ar-line)}
.trip-row strong{font-size:17px;color:var(--ar-ink)}
.trip-options{display:flex;gap:18px;flex-wrap:wrap;color:#405267;font-weight:800}
.trip-options label{display:flex;align-items:center;gap:7px}
.trip-options input{width:auto;min-height:auto;accent-color:var(--ar-primary)}
.flight-fields{display:grid;grid-template-columns:1.1fr 1.1fr .9fr .9fr 1fr 86px;align-items:stretch}
.flight-fields label{display:grid;gap:6px;padding:16px;border-right:1px solid var(--ar-line);min-width:0}
.flight-fields label>span{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--ar-muted);font-weight:950}
.flight-fields select,.flight-fields input{border:0;border-radius:0;padding:0;min-height:30px;box-shadow:none;font-weight:900;background:transparent;color:var(--ar-ink)}
.flight-fields small{color:#7a8a9d;font-size:12px}
.flight-fields button{border-radius:0;background:var(--ar-accent);color:#111827;box-shadow:none;min-height:100%;padding:0}
.btn-search-icon{display:grid;place-items:center}

/* Hero */
.hero{margin:28px 0 36px}
.hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);gap:44px;align-items:center}
.hero-copy>p{font-size:19px;max-width:760px;color:#41566b}
.quick-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.quick-tab{
  width:132px;
  min-height:104px;
  display:grid;
  justify-items:start;
  align-content:center;
  gap:10px;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--ar-line);
  color:var(--ar-ink);
  font-weight:950;
  box-shadow:var(--ar-shadow-soft);
}
.quick-tab .nav-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--ar-primary-soft);color:var(--ar-primary)}
.quick-tab.selected,.quick-tab:hover{border-color:rgba(15,93,126,.35);background:linear-gradient(180deg,#fff,#f2fbff)}
.hero-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:16px;min-height:500px}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:28px;box-shadow:var(--ar-shadow-soft)}
.mosaic-a{grid-row:span 2}.mosaic-c{grid-row:span 2}.mosaic-b,.mosaic-d{min-height:150px}
.mobile-travel-illustration{display:none}

/* Strips and feature sections */
.airline-strip,.flash-sale-slider,.subscribe-zone,.quote-section,.split,.about-home-section,.about-page-hero,.about-detail-panel,.contact-hero-card,.flight-search-stage,.deal-single,.blog-single,.insurance-hero-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--ar-line);
  border-radius:var(--ar-radius-lg);
  box-shadow:var(--ar-shadow-soft);
}
.airline-strip{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:18px;padding:20px 24px;overflow:hidden;margin:26px 0}
.airline-title span{display:block;color:var(--ar-primary);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:950}.airline-title strong{font-size:22px;letter-spacing:-.04em}
.airline-marquee{overflow:hidden}.airline-track{display:flex;gap:14px;width:max-content;animation:ar-marquee 30s linear infinite}.airline-pill{display:flex;align-items:center;gap:10px;min-width:190px;padding:10px 14px;border:1px solid var(--ar-line);border-radius:18px;background:#fff}.airline-pill img,.airline-pill span{width:38px;height:38px;border-radius:13px;object-fit:contain;background:var(--ar-primary-soft);display:grid;place-items:center;color:var(--ar-primary);font-weight:950}.airline-pill strong{white-space:nowrap;font-size:14px}@keyframes ar-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.flash-sale-slider{display:grid;grid-template-columns:150px 1fr;gap:0;position:relative;overflow:hidden;margin:34px 0;padding:0;background:linear-gradient(135deg,#0b4059,#0f5d7e 52%,#16344a);color:#fff}
.flash-sale-side{display:grid;place-items:center;padding:24px;text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:950;background:rgba(255,255,255,.08);writing-mode:vertical-rl;transform:rotate(180deg)}
.flash-sale-slides{min-width:0}.flash-sale-slide{display:none;grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);gap:28px;align-items:center;padding:32px}.flash-sale-slide.active{display:grid}.flash-copy h2{color:#fff;font-size:clamp(30px,4vw,58px);line-height:1.02;margin:10px 0 12px}.flash-copy p,.flash-copy small{color:rgba(255,255,255,.83)}.flash-copy p strong{color:var(--ar-accent)}.flash-circle-label{display:inline-flex;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950}.flash-book-btn{background:var(--ar-accent);color:#111827;width:max-content;margin:4px 0 12px}.flash-visual{position:relative;height:310px;border-radius:26px;overflow:hidden}.flash-visual img{width:100%;height:100%;object-fit:cover}.day-left-badge{position:absolute;right:14px;top:14px;width:78px;height:62px;border-radius:18px;background:#fff;color:var(--ar-primary-dark);display:grid;place-items:center;text-align:center;font-weight:950;line-height:1.05;box-shadow:var(--ar-shadow-soft)}.flash-dots{grid-column:1/-1;display:flex;justify-content:center;gap:8px;padding:0 0 18px}.flash-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35)}.flash-dots button.active{background:var(--ar-accent);width:24px;border-radius:999px}

.why-us-section{margin-top:42px}.why-grid,.deal-grid,.all-grid,.blog-grid,.all-blog-grid,.destination-grid,.branch-grid{display:grid;gap:22px}.why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.why-grid article{background:#fff;border:1px solid var(--ar-line);border-radius:24px;padding:24px;box-shadow:var(--ar-shadow-soft)}.why-grid article span{width:42px;height:42px;border-radius:15px;background:var(--ar-primary-soft);color:var(--ar-primary);display:grid;place-items:center;font-weight:950;margin-bottom:16px}

/* Cards */
.deal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.all-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.all-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.deal-card,.blog-card,.destination-card{background:#fff;border:1px solid var(--ar-line);border-radius:24px;overflow:hidden;box-shadow:var(--ar-shadow-soft);min-width:0;display:flex;flex-direction:column}
.deal-img,.deal-card>img,.blog-card>img,.destination-card>img{height:210px;overflow:hidden;background:#dce7ef}.deal-img img,.deal-card>img,.blog-card>img,.destination-card>img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.deal-card:hover .deal-img img,.blog-card:hover>img,.destination-card:hover>img{transform:scale(1.035)}
.deal-body,.blog-card>div,.destination-card>div{padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.deal-body h3,.blog-card h3,.destination-card h3{margin:0}.deal-body p,.blog-card p,.destination-card p{font-size:14px;line-height:1.55;margin-bottom:0}.blog-card span,.destination-card span,.expires{color:var(--ar-muted);font-size:13px;font-weight:800}.blog-card a,.deal-actions a{color:var(--ar-primary);font-weight:950}.deal-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.deal-bottom strong{font-size:22px;color:var(--ar-primary-dark);white-space:nowrap}.deal-actions{display:flex;align-items:center;gap:9px}.cart-add{width:40px;height:40px;border:0;border-radius:14px;background:var(--ar-primary);color:#fff;font-size:22px;line-height:1;font-weight:950}.cart-add.added{background:var(--ar-success)}

/* Split, tours, subscribe, quote */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.82fr);gap:24px;align-items:center;padding:28px}
.glass-panel{background:#fff;border:1px solid var(--ar-line);border-radius:24px;padding:26px;box-shadow:var(--ar-shadow-soft)}
.feature-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.feature-row span{border-radius:999px;background:var(--ar-primary-soft);color:var(--ar-primary-dark);padding:9px 12px;font-weight:900;font-size:13px}
.destination-stack{display:grid;gap:14px}.mini-destination{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:14px;background:#fff;border:1px solid var(--ar-line);border-radius:22px;padding:12px}.mini-destination img{width:96px;height:86px;object-fit:cover;border-radius:16px}.mini-destination strong{display:block}.mini-destination small{color:var(--ar-muted)}
.subscribe-zone,.quote-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;padding:30px;background:linear-gradient(135deg,#fff,#f3fbff)}
.subscribe-form,.quote-form{display:grid;gap:13px}.subscribe-form{grid-template-columns:repeat(2,minmax(0,1fr))}.subscribe-form button{grid-column:1/-1;background:var(--ar-accent);color:#111827}.quote-form button{width:max-content;min-width:190px}

/* Deal and blog detail */
.deal-single{padding:0;overflow:hidden}.deal-single-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1fr);align-items:stretch}.deal-single-grid>img{width:100%;height:100%;min-height:430px;object-fit:cover}.deal-single-body{padding:clamp(26px,4vw,50px);display:grid;align-content:center;gap:15px}.single-price{display:grid;gap:4px;margin:8px 0 4px}.single-price span{color:var(--ar-muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.single-price strong{font-size:44px;letter-spacing:-.05em;color:var(--ar-primary-dark)}.single-actions{display:flex;gap:12px;flex-wrap:wrap}.cart-large{width:max-content}
.blog-single{overflow:hidden}.blog-single>img{width:100%;max-height:430px;object-fit:cover}.blog-single-body{max-width:900px;margin:0 auto;padding:clamp(24px,5vw,56px)}.blog-content{color:#26384a;font-size:17px;line-height:1.78}.blog-content p{font-size:17px;color:#26384a}.blog-content a{color:var(--ar-primary);font-weight:800}.blog-content img{border-radius:22px;margin:24px 0}.article-cta{margin-top:30px;padding:22px;border-radius:22px;background:var(--ar-primary-soft);display:flex;align-items:center;justify-content:space-between;gap:16px}.article-cta a{color:var(--ar-primary);font-weight:950}

/* About */
.about-home-section,.about-page-hero,.about-detail-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:28px;align-items:center;padding:30px}.about-home-copy,.about-page-copy{min-width:0}.about-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.about-feature-grid span,.about-detail-list span{border:1px solid var(--ar-line);background:#fff;border-radius:16px;padding:12px 14px;color:var(--ar-primary-dark);font-weight:900}.about-home-visual,.about-page-image{position:relative;height:360px;border-radius:26px;overflow:hidden}.about-home-visual img,.about-page-image img{width:100%;height:100%;object-fit:cover}.about-visual-card,.about-page-image div{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.92);border-radius:18px;padding:14px 16px;box-shadow:var(--ar-shadow-soft)}.about-visual-card strong,.about-page-image strong{display:block}.about-visual-card small,.about-page-image small{color:var(--ar-muted)}.about-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.about-story-grid article{background:#fff;border:1px solid var(--ar-line);border-radius:24px;padding:24px;box-shadow:var(--ar-shadow-soft)}.about-story-grid article span{width:42px;height:42px;border-radius:15px;background:var(--ar-accent-soft);color:#9a5c07;display:grid;place-items:center;font-weight:950;margin-bottom:14px}.about-detail-list{display:grid;gap:10px}

/* Contact */
.contact-hero-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:28px;align-items:center;padding:32px}.contact-hero-links{display:grid;gap:10px}.contact-hero-links a,.contact-hero-links span{display:block;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--ar-line);font-weight:850;color:var(--ar-primary-dark);overflow:hidden;text-overflow:ellipsis}.branch-grid{grid-template-columns:1fr}.branch-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(360px,1fr);gap:18px;align-items:stretch;background:#fff;border:1px solid var(--ar-line);border-radius:24px;padding:18px;box-shadow:var(--ar-shadow-soft)}.branch-copy{display:grid;align-content:start;gap:8px;padding:8px}.branch-copy a{color:var(--ar-primary);font-weight:850;overflow-wrap:anywhere}.branch-copy p{margin:0}.branch-copy small{color:var(--ar-muted);font-weight:800}.branch-map-wrap{min-height:260px;border-radius:20px;overflow:hidden;background:var(--ar-primary-soft)}.branch-map{width:100%;height:100%;min-height:260px;border:0}.branch-map-placeholder{display:grid;place-items:center;color:var(--ar-muted);font-weight:850}

/* Insurance */
.insurance-hero-card{background:linear-gradient(135deg,#fff,#eef9fd)}.insurance-badge-card{display:grid;align-content:center;gap:10px;min-height:240px;text-align:center}.insurance-badge-card span{color:var(--ar-primary);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.insurance-badge-card strong{font-size:34px;line-height:1.08;letter-spacing:-.05em}.insurance-badge-card small{color:var(--ar-muted);line-height:1.5}.insurance-form-section{align-items:center}

/* Flight search results */
.flight-search-stage{padding:clamp(24px,4vw,42px);overflow:hidden;background:linear-gradient(135deg,#fff,#f2fbff 68%,#fff7e9)}.flight-stage-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:24px;align-items:start}.searched-summary{display:grid;gap:8px}.searched-summary span{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--ar-line);color:var(--ar-muted);font-weight:850}.flight-search-animation{margin:24px 0;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--ar-line);box-shadow:var(--ar-shadow-soft);display:grid;gap:15px}.route-line{position:relative;height:72px;display:flex;align-items:center;justify-content:space-between;color:var(--ar-primary)}.route-line:before{content:"";position:absolute;left:26px;right:26px;top:50%;height:3px;background:linear-gradient(90deg,var(--ar-primary),var(--ar-accent));border-radius:999px}.route-dot{position:relative;width:22px;height:22px;border-radius:50%;background:#fff;border:5px solid var(--ar-primary)}.route-dot.end{border-color:var(--ar-accent)}.route-plane{position:absolute;left:44%;top:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ar-primary);color:#fff;box-shadow:0 12px 28px rgba(15,93,126,.25);animation:ar-plane 2.8s ease-in-out infinite}@keyframes ar-plane{0%,100%{transform:translateX(-18px)}50%{transform:translateX(18px)}}.flight-progress{height:10px;border-radius:999px;background:#e5edf3;overflow:hidden}.flight-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ar-primary),var(--ar-accent));border-radius:999px;transition:width .25s ease}.flight-results-head{display:flex;justify-content:space-between;gap:16px;margin:10px 0 16px;color:var(--ar-muted);font-weight:850}.flight-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.flight-result-card{display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid var(--ar-line);border-radius:18px;padding:14px;box-shadow:var(--ar-shadow-soft)}.flight-airline-mark img,.flight-airline-mark span{width:50px;height:50px;border-radius:16px;background:var(--ar-primary-soft);display:grid;place-items:center;object-fit:contain;color:var(--ar-primary);font-weight:950}.flight-result-main p{font-size:13px;margin:4px 0 0}.flight-card-meta{text-align:right}.flight-card-meta span,.flight-card-meta b{display:block;font-size:12px;color:var(--ar-muted)}.flight-card-meta b{color:var(--ar-primary)}.soft-blur{filter:blur(1.2px);opacity:.55}.lead-popup-backdrop{position:fixed;inset:0;z-index:120;background:rgba(16,32,51,.55);display:none;align-items:center;justify-content:center;padding:20px}.lead-popup-backdrop.open{display:flex}.lead-popup-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:28px;padding:28px;border:1px solid var(--ar-line);box-shadow:0 28px 90px rgba(0,0,0,.28)}.lead-popup-close,.widget-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#eff4f8;color:var(--ar-ink);font-size:24px}.lead-popup-form{display:grid;gap:13px}.lead-trip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lead-contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}

/* Floating contact, cart, chat */
.floating-actions{position:fixed;right:22px;bottom:22px;z-index:110;display:flex;align-items:center;gap:10px}.float-call,.float-mail,.float-cart,.float-chat{border:0;min-width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--ar-primary);box-shadow:0 14px 34px rgba(16,32,51,.18);border:1px solid var(--ar-line);font-weight:950}.float-chat{padding:0 17px}.float-cart{background:var(--ar-primary);color:#fff;position:relative}.float-cart [data-cart-count]{position:absolute;right:-5px;top:-7px;min-width:24px;height:24px;border-radius:50%;background:var(--ar-accent);color:#111827;display:grid;place-items:center;font-size:12px;border:2px solid #fff}.widget-overlay{position:fixed;inset:0;z-index:111;background:rgba(16,32,51,.45);opacity:0;pointer-events:none;transition:opacity .18s ease}.widget-overlay.open{opacity:1;pointer-events:auto}.chat-widget,.cart-drawer{position:fixed;right:22px;bottom:90px;z-index:112;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;background:#fff;border:1px solid var(--ar-line);border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.24);padding:28px;transform:translateY(16px);opacity:0;pointer-events:none;transition:.2s ease}.chat-widget.open,.cart-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}.chat-widget h3,.cart-drawer h3{margin-right:42px}.chat-widget form,.cart-form{display:grid;gap:11px}.chat-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cart-items{display:grid;gap:10px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;border:1px solid var(--ar-line);border-radius:16px;padding:12px;background:var(--ar-surface-soft)}.cart-row span{display:block;color:var(--ar-muted);font-size:13px;margin-top:3px}.cart-row button{width:30px;height:30px;border:0;border-radius:50%;background:#dce8ef;color:var(--ar-ink)}.cart-empty{color:var(--ar-muted);font-style:italic}
.airroute-loader{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;gap:14px;flex-direction:column;background:rgba(255,255,255,.82);backdrop-filter:blur(7px);color:var(--ar-primary);font-weight:950}.airroute-loader.show{display:flex}.loader-plane{width:64px;height:64px;border-radius:22px;background:var(--ar-primary-soft);display:grid;place-items:center;animation:ar-loader 1s ease-in-out infinite alternate}.loader-plane img{max-width:42px;max-height:42px;object-fit:contain}@keyframes ar-loader{to{transform:translateY(-6px)}}

/* Footer */
.footer{
  width:min(var(--ar-container),calc(100% - 40px));
  margin:54px auto 0;
  padding:34px;
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.8fr);
  gap:34px;
  background:linear-gradient(135deg,#102033,#0b4059);
  color:#dcebf3;
  border-radius:32px 32px 0 0;
  box-shadow:0 -18px 54px rgba(16,32,51,.10);
}
.footer p{color:#b9c9d6}.footer-brand strong{display:block;color:#fff;font-size:24px;letter-spacing:-.04em;margin-bottom:10px}.footer-contact{display:grid;gap:6px;margin:16px 0}.footer-contact a{color:#fff;font-weight:900}.footer-note{font-size:13px;color:#a8bdca}.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.footer-cols div{display:grid;align-content:start;gap:8px}.footer-cols a,.footer-cols span{color:#c9d8e2;font-size:14px;line-height:1.4}.footer-cols a:hover{color:#fff}.footer-logo-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}.footer-logo-strip img{max-height:40px;width:auto;border-radius:10px;background:#fff;padding:6px}

/* Tables and WordPress content defaults */
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ar-line);border-radius:18px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--ar-line);text-align:left;vertical-align:top}th{background:var(--ar-surface-soft);font-weight:950}.wp-block-image img{border-radius:22px}.alignwide,.alignfull{max-width:100%}

@media (max-width:1180px){
  .site-header-inner{width:min(var(--ar-container),calc(100% - 28px));grid-template-columns:minmax(220px,280px) minmax(0,1fr) auto;gap:12px}.brand-copy small{display:none}.header-phone{display:none}.nav-link{font-size:13px;padding:8px 9px}.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.flight-fields button{min-height:64px}.flight-fields label:nth-child(3){border-right:0}.footer{grid-template-columns:1fr}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  :root{--ar-header-h:auto}
  .site-header-inner{
    position:relative;
    width:min(var(--ar-container),calc(100% - 28px));
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px 12px;
    padding:10px 0;
  }
  .brand{min-width:0;gap:10px}
  .brand-mark{width:50px;height:50px;border-radius:16px;flex:0 0 auto}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:20px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-copy small{display:none}
  .menu-toggle{display:flex;grid-column:2;grid-row:1}
  .menu-toggle[aria-expanded="true"]{background:var(--ar-primary);border-color:var(--ar-primary);color:#fff}
  .header-actions{display:none}
  .site-nav{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    z-index:120;
    grid-column:1/-1;
    display:none;
    width:100%;
    justify-content:normal;
    align-items:stretch;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0;
    padding:10px;
    border:1px solid var(--ar-line);
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:0 16px 40px rgba(16,32,51,.10);
    overflow:auto;
    overscroll-behavior:contain;
    max-height:calc(100svh - 112px);
  }
  body.menu-open .site-nav{display:grid}
  .nav-link{
    min-height:44px;
    justify-content:flex-start;
    padding:12px 13px;
    border-radius:14px;
    background:var(--ar-surface-soft);
    border:1px solid var(--ar-line);
    color:#203249;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    white-space:normal;
  }
  .nav-link:hover,.nav-link.active{background:var(--ar-primary-soft);color:var(--ar-primary-dark)}
  .mobile-menu-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding-top:2px;
  }
  .mobile-menu-phone{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 12px;
    border:1px solid var(--ar-line);
    border-radius:14px;
    color:var(--ar-primary-dark);
    background:#fff;
    font-size:13px;
    font-weight:700;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-menu-quote{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--ar-primary),var(--ar-primary-dark));
    color:#fff;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
  }
  .page-shell{width:min(var(--ar-container),calc(100% - 28px));padding-top:24px}
  .hero-top,.split,.subscribe-zone,.quote-section,.about-home-section,.about-page-hero,.about-detail-panel,.contact-hero-card,.deal-single-grid,.flight-stage-top{grid-template-columns:1fr}
  .hero-mosaic{min-height:340px;grid-auto-rows:120px}
  .all-grid,.blog-grid,.all-blog-grid,.destination-grid,.why-grid,.flight-results-grid{grid-template-columns:1fr 1fr}
  .branch-card{grid-template-columns:1fr}
  .branch-map-wrap,.branch-map{min-height:230px}
  .lead-contact-fields{grid-template-columns:1fr}
  .footer{width:calc(100% - 28px);padding:28px}
  .flash-sale-slider{grid-template-columns:1fr}
  .flash-sale-side{writing-mode:horizontal-tb;transform:none;justify-content:flex-start;padding:18px 24px}
  .flash-sale-slide{grid-template-columns:1fr;padding:24px}
  .flash-visual{height:240px}
  .flight-fields{grid-template-columns:1fr}
  .flight-fields label{border-right:0;border-bottom:1px solid var(--ar-line)}
  .flight-fields button{min-height:58px;border-radius:0}
  .trip-row{display:grid}
  .search-banner-head{grid-template-columns:1fr}
  .top-flight-search{padding:20px}
  .article-cta{display:grid}
  .two-col,.lead-trip-fields{grid-template-columns:1fr}
  .floating-actions{right:14px;bottom:14px}
  .float-chat span{display:none}
  .chat-widget,.cart-drawer{right:14px;bottom:80px}
  .about-story-grid{grid-template-columns:1fr}
  .about-home-visual,.about-page-image{height:280px}
}
@media (max-width:700px){
  .site-header-inner{width:calc(100% - 24px);padding:8px 0}
  .brand-mark{width:46px;height:46px}
  .brand-copy strong{font-size:18px}
  .site-nav{grid-template-columns:1fr;padding:9px;border-radius:18px;max-height:calc(100svh - 98px);overscroll-behavior:contain}
  .nav-link{min-height:42px;padding:11px 12px}
  .mobile-menu-actions{grid-template-columns:1fr}
  .mobile-menu-phone,.mobile-menu-quote{width:100%;justify-content:center}
  h1{font-size:clamp(34px,11vw,48px)}h2{font-size:clamp(26px,8vw,36px)}p{font-size:15px;line-height:1.62}.section{margin:30px 0}.section-head{display:grid;align-items:start;gap:10px}.section-head a{white-space:normal}.brand-copy small{display:none}.brand-mobile-logo-img{display:none}.header-actions{display:none}.header-quote{display:none}.top-flight-search{padding:0;background:transparent;border:0;box-shadow:none;margin:8px 0 28px}.search-banner-head,.flight-search-panel{display:none}.mobile-search-banner{display:grid;gap:14px;background:linear-gradient(135deg,#fff,#edf8fc);border:1px solid var(--ar-line);border-radius:26px;padding:18px;box-shadow:var(--ar-shadow-soft)}.mobile-search-copy{display:grid;gap:4px}.mobile-search-copy span{color:var(--ar-primary);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:950}.mobile-search-copy strong{font-size:24px;line-height:1.05;letter-spacing:-.045em}.mobile-flight-lite{display:grid;grid-template-columns:42px minmax(0,1fr) 74px;gap:9px;align-items:center}.mobile-search-glass{width:42px;height:42px;border-radius:15px;background:var(--ar-primary-soft);color:var(--ar-primary);display:grid;place-items:center}.mobile-flight-lite input{min-height:48px}.mobile-flight-lite button{min-height:48px;border-radius:15px;background:var(--ar-primary);color:#fff;padding:0 12px}.mobile-search-tags{display:flex;gap:8px;flex-wrap:wrap}.mobile-search-tags span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--ar-line);font-size:12px;color:var(--ar-muted);font-weight:850}.quick-tab{width:calc(50% - 6px);min-height:92px}.hero-mosaic{display:block;height:230px;position:relative;overflow:hidden;border-radius:26px}.hero-mosaic img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .35s ease;border-radius:26px}.hero-mosaic img:first-child{opacity:1}.hero-mosaic.has-mobile-slider img{opacity:0}.hero-mosaic.has-mobile-slider img.active{opacity:1}.airline-strip{grid-template-columns:1fr;padding:18px}.flash-sale-slide{padding:18px}.flash-copy h2{font-size:30px}.flash-visual{height:190px}.deal-grid,.all-grid,.blog-grid,.all-blog-grid,.destination-grid,.why-grid,.flight-results-grid{grid-template-columns:1fr}.deal-img,.deal-card>img,.blog-card>img,.destination-card>img{height:190px}.deal-bottom{align-items:flex-start;display:grid}.deal-actions{justify-content:space-between;width:100%}.subscribe-form{grid-template-columns:1fr}.quote-form button{width:100%}.about-feature-grid{grid-template-columns:1fr}.about-home-section,.about-page-hero,.about-detail-panel,.contact-hero-card,.split,.subscribe-zone,.quote-section,.flight-search-stage{padding:20px;border-radius:24px}.about-home-visual,.about-page-image{height:210px}.single-price strong{font-size:34px}.deal-single-grid>img{min-height:260px}.deal-single-body{padding:22px}.single-actions{display:grid}.cart-large,.single-actions .outline-btn{width:100%}.blog-single-body{padding:22px}.branch-card{padding:14px}.lead-popup-backdrop{align-items:flex-start;padding:80px 12px 12px}.lead-popup-card{padding:22px;border-radius:22px}.chat-two{grid-template-columns:1fr}.chat-widget,.cart-drawer{left:10px;right:10px;width:auto;bottom:76px;border-radius:22px;padding:22px}.float-call,.float-mail,.float-cart,.float-chat{min-width:50px;height:50px}.footer{width:100%;border-radius:26px 26px 0 0;margin-top:38px;padding:24px 16px 94px}.footer-cols{grid-template-columns:1fr}body.home #quote.quote-section,body.front-page #quote.quote-section,body.page-template-front-page #quote.quote-section,.home .quote-section#quote,#quote.quote-section{display:none}
}
@media (max-width:420px){
  .page-shell,.site-header-inner{width:calc(100% - 20px)}.brand-mark{width:46px;height:46px}.brand-copy strong{font-size:18px}.menu-toggle{width:42px;height:42px}.quick-tab{width:100%;min-height:76px;grid-template-columns:40px 1fr;align-items:center;justify-items:start}.mobile-flight-lite{grid-template-columns:38px minmax(0,1fr) 58px}.mobile-flight-lite button{font-size:0}.mobile-flight-lite button:after{content:"Go";font-size:13px}.deal-body,.blog-card>div,.destination-card>div{padding:16px}.flight-result-card{grid-template-columns:44px 1fr}.flight-card-meta{grid-column:1/-1;text-align:left}.flash-visual{height:170px}.footer{padding-left:14px;padding-right:14px}
}
