/* ==========================================================================
   AirRJ v2 design layer
   Loaded after style.css + airrj-portal.css. Uses the existing brand tokens
   (navy / blue / orange) only — no new brand colours.
   ========================================================================== */

:root {
  --v2-text: #13253b;
  --v2-body: #3a4d63;
  --v2-soft: #5f738a;
  --v2-line: #e3ebf3;
  --v2-mist: #f4f7fb;
  --v2-tint: #f8fbfe;
  --v2-orange: #f05a28;
  --v2-orange-deep: #d9481a;
  --v2-orange-tint: #fff4ee;
  --v2-blue: #1565c0;
  --v2-blue-tint: #eef5fd;
  --v2-navy: #0b1f3a;
  --v2-radius: 18px;
  --v2-shadow: 0 10px 30px rgba(11, 31, 58, 0.08);
  --v2-font: "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { overflow-x: hidden; }
@supports (overflow: clip) { body { overflow-x: clip; } }

img { max-width: 100%; height: auto; }

.airrj-skip {
  position: absolute; left: 12px; top: -60px; z-index: 5000;
  padding: 10px 16px; border-radius: 10px;
  background: var(--v2-navy); color: #fff !important; font-weight: 700;
  text-decoration: none; transition: top .2s ease;
}
.airrj-skip:focus { top: 12px; }

:focus-visible { outline: 3px solid rgba(21, 101, 192, .45); outline-offset: 2px; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
header .header-nav .main-menu-wrapper {
  flex-wrap: nowrap !important;
  padding: 10px 0 !important;
}
header .main-menu-wrapper .main-nav:last-child { margin-right: 0 !important; }
.main-header .navbar-logo { flex: 0 0 auto; }
.main-header .navbar-logo .logo { max-height: 42px; }
.main-header .header-btn { flex: 0 0 auto; }

.main-header .main-nav > li { margin-right: 0 !important; padding: 0 !important; }
.main-header .main-nav > li.active > a { background: rgba(255, 255, 255, .18) !important; }

/* Desktop dropdowns */
@media (min-width: 1200px) {
  .main-header .main-nav > li.airrj-dd { position: relative; }
  .main-header .main-nav > li.airrj-dd > a::after {
    content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 7px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-3px); opacity: .8;
  }
  .main-header .airrj-dd-menu {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 1200;
    min-width: 250px; margin: 0; padding: 8px; list-style: none;
    background: #fff; border-radius: 14px; border: 1px solid var(--v2-line);
    box-shadow: 0 18px 40px rgba(11, 31, 58, .18);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    display: block !important;
  }
  .main-header .airrj-dd-menu::before {
    content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px;
  }
  .main-header .airrj-dd:hover > .airrj-dd-menu,
  .main-header .airrj-dd:focus-within > .airrj-dd-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
  }
  .main-header .airrj-dd-menu li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  .main-header .airrj-dd-menu li a {
    display: block !important; padding: 9px 12px !important; border-radius: 10px;
    color: var(--v2-text) !important; font-size: 14px !important; font-weight: 600 !important;
    background: transparent !important; text-decoration: none; white-space: nowrap;
  }
  .main-header .airrj-dd-menu li a:hover {
    background: var(--v2-orange-tint) !important; color: var(--v2-orange-deep) !important;
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .main-header .main-nav > li > a,
  .main-header .main-nav .nav-link { padding: 8px 9px !important; font-size: 13.5px !important; }
  .main-header .airrj-header-cta .hide-sm { display: none; }
}

/* Mobile header: logo left, actions right, single row */
@media (max-width: 1199.98px) {
  .main-header > header { padding: 6px 0 10px !important; }
  .main-header .navbar-logo .logo { max-height: 34px; }
  .main-header .header-btn { gap: 12px !important; }
  .main-header .airrj-header-cta { padding: 8px 14px !important; font-size: 12.5px !important; }
  .main-header .header__hamburger { display: inline-flex !important; align-items: center; }
  .main-header .sidebar-menu {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 12px;
    background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22);
  }
}

/* Off-canvas mobile menu */
.offcanvas-info .mobile-menu .mean-nav ul li a {
  font-family: var(--v2-font); font-weight: 600; font-size: 15px;
}

/* --------------------------------------------------------------------------
   Hero tightening on phones
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  .home-hero.hero-section,
  section.hero-section.gb-hero-tight { padding-top: 70px !important; }
  .airrj-brand-mark { font-size: 26px !important; margin-bottom: 4px !important; }
  .home-hero .banner-content h1,
  .gb-hero-tight .banner-content .airrj-hero-line { font-size: 21px !important; line-height: 1.25 !important; }
  .home-hero .banner-content p,
  .gb-hero-tight .banner-content p { font-size: 13px !important; }

  /* Group form: two fields per row instead of one long column */
  .gb-hero-tight .gb-form-field { margin-bottom: 10px !important; }
  .gb-hero-tight .row > .gb-form-field:has(input[name="dep_date"]),
  .gb-hero-tight .row > .gb-form-field:has(input[name="ret_date"]) { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; }
  .gb-hero-tight .row > .gb-form-field.col-6.col-md-2 { flex: 0 0 33.333% !important; max-width: 33.333% !important; width: 33.333% !important; }
  .gb-hero-tight .gb-label { font-size: 10.5px !important; margin-bottom: 4px !important; }
  .gb-hero-tight .banner-form .card-body { padding: 14px 12px !important; }
}

/* Home quick-link tiles were clipped on phones */
@media (max-width: 575.98px) {
  .home-stack .quick-links, .home-stack [class*="quick"] { overflow: visible; }
}

/* --------------------------------------------------------------------------
   Breadcrumb
   -------------------------------------------------------------------------- */
.airrj-crumbs {
  background: #fff; border-bottom: 1px solid var(--v2-line);
  font-family: var(--v2-font);
}
.airrj-crumbs .airrj-wrap { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.airrj-crumbs ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
  margin: 0; padding: 12px 0; list-style: none; font-size: 13px;
}
.airrj-crumbs li { display: inline-flex; align-items: center; color: var(--v2-soft); }
.airrj-crumbs li + li::before {
  content: ""; width: 6px; height: 6px; margin: 0 8px 0 4px;
  border-right: 1.5px solid #9fb0c2; border-top: 1.5px solid #9fb0c2; transform: rotate(45deg);
}
.airrj-crumbs a { color: var(--v2-blue); text-decoration: none; font-weight: 600; }
.airrj-crumbs a:hover { color: var(--v2-orange); }
.airrj-crumbs li[aria-current] span {
  color: var(--v2-text); font-weight: 600;
  max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block;
}

/* --------------------------------------------------------------------------
   Content typography for legacy views (unclassed elements only, so
   designed components keep their own styles)
   -------------------------------------------------------------------------- */
.airrj-main { font-family: var(--v2-font); color: var(--v2-body); }
.airrj-main [style*="font-family"] { font-family: var(--v2-font) !important; }

.airrj-inner .airrj-main > section:not(.hero-section),
.airrj-inner .airrj-main > div.content,
.airrj-inner .airrj-main > div.container {
  font-size: 16px; line-height: 1.75;
}

/* Inline-styled legacy sections had no side gutter on phones */
.airrj-main section:not([class*="v2-"]) > div[style*="max-width"],
.airrj-main section[style*="padding"] > div {
  padding-left: 16px; padding-right: 16px;
}

.airrj-inner .airrj-main section:not([class*="v2-"]) h1:not([class*="airrj"]):not(.display-1),
.airrj-inner .airrj-main > div h1:not([class*="airrj"]):not(.display-1) {
  color: var(--v2-text); font-weight: 800; letter-spacing: -0.025em;
  font-size: clamp(26px, 3.4vw, 38px); line-height: 1.18; margin: 6px 0 16px;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) h2:not([class*="airrj"]),
.airrj-inner .airrj-main .content h2:not([class*="airrj"]) {
  color: var(--v2-text); font-weight: 800; letter-spacing: -0.02em;
  font-size: clamp(21px, 2.4vw, 27px); line-height: 1.25;
  margin: 38px 0 14px;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) h3:not([class*="airrj"]) {
  color: var(--v2-text); font-weight: 700; font-size: clamp(18px, 1.9vw, 21px); line-height: 1.3; margin: 26px 0 10px;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) h4 { color: var(--v2-text); font-weight: 700; }
.airrj-inner .airrj-main section:not([class*="v2-"]) p { color: var(--v2-body); }
.airrj-inner .airrj-main section:not([class*="v2-"]) p strong,
.airrj-inner .airrj-main section:not([class*="v2-"]) li strong { color: var(--v2-text); font-weight: 700; }
.airrj-inner .airrj-main section:not([class*="v2-"]) a:not([class]) {
  color: var(--v2-blue); text-decoration: underline; text-decoration-color: rgba(21, 101, 192, .3);
  text-underline-offset: 3px; font-weight: 600;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) a:not([class]):hover { color: var(--v2-orange-deep); text-decoration-color: currentColor; }

/* Orange accent bar on section headings inside plain legacy sections */
.airrj-inner .airrj-main section[style]:not([class*="v2-"]) h2,
.airrj-inner .airrj-main section.py-5 h2,
.airrj-inner .airrj-main section.section h2:not([class]) {
  position: relative; padding-left: 16px;
}
.airrj-inner .airrj-main section[style]:not([class*="v2-"]) h2::before,
.airrj-inner .airrj-main section.py-5 h2::before,
.airrj-inner .airrj-main section.section h2:not([class])::before {
  content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 5px;
  border-radius: 6px; background: linear-gradient(180deg, var(--v2-orange), #ffb087);
}

/* Lists → tidy check-lists */
.airrj-inner .airrj-main section:not([class*="v2-"]) ul:not([class]):not([role]) {
  list-style: none; margin: 14px 0 22px !important; padding: 0 !important;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px 18px;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) ul:not([class]):not([role]) > li {
  position: relative; padding: 11px 14px 11px 44px; margin: 0;
  background: var(--v2-tint); border: 1px solid var(--v2-line); border-radius: 12px;
  line-height: 1.55; color: var(--v2-body);
}
.airrj-inner .airrj-main section:not([class*="v2-"]) ul:not([class]):not([role]) > li::before {
  content: ""; position: absolute; left: 14px; top: 13px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--v2-orange-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23f05a28' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) ol:not([class]) {
  counter-reset: v2step; list-style: none; margin: 14px 0 22px !important; padding: 0 !important;
  display: grid; gap: 10px;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) ol:not([class]) > li {
  counter-increment: v2step; position: relative; padding: 12px 14px 12px 56px;
  background: #fff; border: 1px solid var(--v2-line); border-radius: 12px; line-height: 1.55;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) ol:not([class]) > li::before {
  content: counter(v2step); position: absolute; left: 14px; top: 11px;
  width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center;
  background: var(--v2-blue); color: #fff; font-weight: 800; font-size: 14px;
}

/* Tables */
.airrj-inner .airrj-main section:not([class*="v2-"]) table:not(.table-borderless):not(.ui-datepicker-calendar),
.airrj-inner .airrj-main .content table {
  width: 100%; margin: 18px 0 26px !important; border-collapse: separate !important; border-spacing: 0;
  border: 1px solid var(--v2-line) !important; border-radius: 14px; overflow: hidden;
  background: #fff; font-size: 15px; box-shadow: 0 4px 14px rgba(11, 31, 58, .05);
}
.airrj-inner .airrj-main section:not([class*="v2-"]) table th,
.airrj-inner .airrj-main .content table th {
  background: var(--v2-navy) !important; color: #fff !important; font-weight: 700;
  text-align: left; padding: 12px 16px !important; border: 0 !important; font-size: 14px; letter-spacing: .01em;
}
.airrj-inner .airrj-main section:not([class*="v2-"]) table tr:first-child td strong:only-child { color: inherit; }
.airrj-inner .airrj-main section:not([class*="v2-"]) table td,
.airrj-inner .airrj-main .content table td {
  padding: 12px 16px !important; border: 0 !important; border-top: 1px solid var(--v2-line) !important;
  vertical-align: top; color: var(--v2-body);
}
.airrj-inner .airrj-main section:not([class*="v2-"]) table tr:nth-child(even) td { background: var(--v2-tint); }
.airrj-inner .airrj-main section:not([class*="v2-"]) table td:first-child { font-weight: 600; color: var(--v2-text); }
.airrj-inner .airrj-main section:not([class*="v2-"]) table tr[style] { background: transparent !important; }
@media (max-width: 767.98px) {
  .airrj-inner .airrj-main section:not([class*="v2-"]) table:not(.ui-datepicker-calendar),
  .airrj-inner .airrj-main .content table {
    display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: normal;
  }
  .airrj-inner .airrj-main section:not([class*="v2-"]) table td,
  .airrj-inner .airrj-main section:not([class*="v2-"]) table th { min-width: 140px; }
}

/* Generic cards in legacy views */
.airrj-inner .airrj-main .gb-card,
.airrj-inner .airrj-main .card:not(.banner-form) {
  border-radius: 16px !important; border: 1px solid var(--v2-line) !important;
  box-shadow: 0 6px 18px rgba(11, 31, 58, .06) !important;
}
.airrj-inner .airrj-main .gb-icon {
  background: linear-gradient(135deg, var(--v2-orange), #ffb087) !important;
}

/* Accordions / FAQ */
.airrj-main .accordion-item {
  border: 1px solid var(--v2-line) !important; border-radius: 14px !important;
  overflow: hidden; margin-bottom: 10px; background: #fff;
}
.airrj-main .accordion-button {
  font-family: var(--v2-font); font-weight: 700; color: var(--v2-text); font-size: 16px;
  padding: 16px 18px; background: #fff; box-shadow: none !important;
}
.airrj-main .accordion-button:not(.collapsed) { background: var(--v2-orange-tint); color: var(--v2-orange-deep); }
.airrj-main .accordion-body { color: var(--v2-body); line-height: 1.7; }
.airrj-main details {
  border: 1px solid var(--v2-line); border-radius: 14px; background: #fff;
  padding: 0; margin: 0 0 10px; overflow: hidden;
}
.airrj-main details > summary {
  cursor: pointer; list-style: none; padding: 15px 48px 15px 18px; position: relative;
  font-weight: 700; color: var(--v2-text);
}
.airrj-main details > summary::-webkit-details-marker { display: none; }
.airrj-main details > summary::after {
  content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  font-size: 22px; font-weight: 500; color: var(--v2-orange);
}
.airrj-main details[open] > summary { background: var(--v2-orange-tint); color: var(--v2-orange-deep); }
.airrj-main details[open] > summary::after { content: "–"; }
.airrj-main details > *:not(summary) { padding: 0 18px; }
.airrj-main details > *:not(summary):last-child { padding-bottom: 16px; }

/* --------------------------------------------------------------------------
   Shared v2 components (used by rebuilt pages, footer CTA and guides)
   -------------------------------------------------------------------------- */
.v2-wrap { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.v2-section { padding: 48px 0; }
.v2-section.tight { padding: 32px 0; }
.v2-section.mist { background: var(--v2-mist); }
.v2-eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px;
  padding: 6px 12px; border-radius: 999px; background: var(--v2-blue-tint);
  color: var(--v2-blue); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.v2-h2 {
  margin: 0 0 10px; color: var(--v2-text); font-weight: 800; letter-spacing: -0.025em;
  font-size: clamp(24px, 2.8vw, 32px); line-height: 1.2;
}
.v2-h2 span { color: var(--v2-orange); }
.v2-lead { margin: 0 0 22px; color: var(--v2-soft); font-size: 16.5px; line-height: 1.65; max-width: 70ch; }
.v2-prose { color: var(--v2-body); font-size: 16.5px; line-height: 1.8; }
.v2-prose p { margin: 0 0 16px; }
.v2-prose h2 { margin: 36px 0 12px; color: var(--v2-text); font-weight: 800; font-size: clamp(21px, 2.3vw, 26px); letter-spacing: -0.02em; line-height: 1.25; }
.v2-prose h3 { margin: 26px 0 8px; color: var(--v2-text); font-weight: 700; font-size: 19px; }
.v2-prose ul, .v2-prose ol { margin: 0 0 18px; padding-left: 22px; }
.v2-prose li { margin-bottom: 8px; }
.v2-prose li::marker { color: var(--v2-orange); font-weight: 700; }
.v2-prose strong { color: var(--v2-text); }
.v2-prose a { color: var(--v2-blue); font-weight: 600; text-underline-offset: 3px; }
.v2-prose blockquote {
  margin: 22px 0; padding: 16px 20px; border-left: 4px solid var(--v2-orange);
  background: var(--v2-orange-tint); border-radius: 0 14px 14px 0; color: var(--v2-text);
}
.v2-prose table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--v2-line); border-radius: 14px; overflow: hidden; margin: 18px 0 24px; font-size: 15px; }
.v2-prose th { background: var(--v2-navy); color: #fff; text-align: left; padding: 12px 14px; }
.v2-prose td { padding: 12px 14px; border-top: 1px solid var(--v2-line); vertical-align: top; }
.v2-prose tr:nth-child(even) td { background: var(--v2-tint); }
@media (max-width: 767.98px) { .v2-prose table { display: block; overflow-x: auto; } .v2-prose td, .v2-prose th { min-width: 130px; } }

.v2-grid { display: grid; gap: 16px; }
.v2-grid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2-grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991.98px) { .v2-grid.c3, .v2-grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .v2-grid.c2, .v2-grid.c3, .v2-grid.c4 { grid-template-columns: 1fr; } }

.v2-card {
  position: relative; display: block; height: 100%;
  padding: 20px; border-radius: var(--v2-radius); background: #fff;
  border: 1px solid var(--v2-line); box-shadow: 0 4px 14px rgba(11, 31, 58, .04);
  color: inherit; text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.v2-card:hover { transform: translateY(-3px); border-color: #ffc9ae; box-shadow: var(--v2-shadow); color: inherit; }
.v2-card h3 { margin: 0 0 6px; font-size: 17.5px; font-weight: 800; color: var(--v2-text); letter-spacing: -0.01em; line-height: 1.3; }
.v2-card p { margin: 0; color: var(--v2-soft); font-size: 14.5px; line-height: 1.6; }
.v2-card .v2-ico {
  width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; margin-bottom: 14px;
  background: var(--v2-orange-tint); color: var(--v2-orange); font-size: 19px;
}
.v2-card .v2-ico.blue { background: var(--v2-blue-tint); color: var(--v2-blue); }
.v2-card .v2-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 13.5px; font-weight: 800; color: var(--v2-orange-deep); }
.v2-card .v2-meta { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--v2-blue); }

.v2-steps { counter-reset: s; display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991.98px) { .v2-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .v2-steps { grid-template-columns: 1fr; } }
.v2-step { counter-increment: s; position: relative; padding: 20px 18px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--v2-line); }
.v2-step::before {
  content: counter(s, decimal-leading-zero); display: block; margin-bottom: 10px;
  font-size: 13px; font-weight: 800; letter-spacing: .08em; color: var(--v2-orange);
}
.v2-step h3 { margin: 0 0 6px; font-size: 16.5px; font-weight: 800; color: var(--v2-text); }
.v2-step p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--v2-soft); }

.v2-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 767.98px) { .v2-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.v2-fact { padding: 16px; border-radius: 14px; background: #fff; border: 1px solid var(--v2-line); }
.v2-fact strong { display: block; font-size: 22px; font-weight: 800; color: var(--v2-text); letter-spacing: -0.02em; line-height: 1.15; }
.v2-fact span { display: block; margin-top: 4px; font-size: 13px; color: var(--v2-soft); line-height: 1.4; }

.v2-note {
  display: flex; gap: 12px; padding: 16px 18px; border-radius: 14px;
  background: var(--v2-blue-tint); border: 1px solid #d5e6fa; color: var(--v2-text); font-size: 15px; line-height: 1.6;
}
.v2-note.warn { background: var(--v2-orange-tint); border-color: #ffd9c7; }

.v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;
  padding: 11px 22px; border-radius: 999px; border: 0; font-family: var(--v2-font);
  font-size: 15px; font-weight: 800; text-decoration: none !important; cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.v2-btn:hover { transform: translateY(-1px); }
.v2-btn.primary { background: var(--v2-orange); color: #fff !important; box-shadow: 0 10px 22px rgba(240, 90, 40, .28); }
.v2-btn.primary:hover { background: var(--v2-orange-deep); }
.v2-btn.blue { background: var(--v2-blue); color: #fff !important; }
.v2-btn.line { background: #fff; color: var(--v2-text) !important; border: 1px solid var(--v2-line); }
.v2-btn.line:hover { border-color: #ffc9ae; color: var(--v2-orange-deep) !important; }
.v2-btn.ghost { background: rgba(255, 255, 255, .12); color: #fff !important; border: 1px solid rgba(255, 255, 255, .3); }
.v2-btn-row { display: flex; flex-wrap: wrap; gap: 10px; }

.v2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v2-chips a, .v2-chips span {
  display: inline-flex; align-items: center; padding: 8px 13px; border-radius: 999px;
  background: #fff; border: 1px solid var(--v2-line); color: var(--v2-text);
  font-size: 13.5px; font-weight: 700; text-decoration: none;
  transition: border-color .2s ease, color .2s ease;
}
.v2-chips a:hover { border-color: #ffc9ae; color: var(--v2-orange-deep); }

/* Two-column article layout with sticky sidebar */
.v2-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 32px; align-items: start; }
@media (max-width: 991.98px) { .v2-layout { grid-template-columns: 1fr; } }
.v2-aside { position: sticky; top: 20px; display: grid; gap: 16px; }
.v2-aside-card { padding: 20px; border-radius: var(--v2-radius); background: #fff; border: 1px solid var(--v2-line); box-shadow: var(--v2-shadow); }
.v2-aside-card.navy { background: var(--v2-navy); border-color: var(--v2-navy); color: #dce6f1; }
.v2-aside-card.navy h3 { color: #fff; }
.v2-aside-card h3 { margin: 0 0 8px; font-size: 18px; font-weight: 800; color: var(--v2-text); }
.v2-aside-card p { margin: 0 0 14px; font-size: 14.5px; line-height: 1.6; }
.v2-aside-card ul { margin: 0; padding: 0; list-style: none; }
.v2-aside-card ul li { border-top: 1px solid var(--v2-line); }
.v2-aside-card ul li:first-child { border-top: 0; }
.v2-aside-card ul li a { display: block; padding: 9px 0; color: var(--v2-text); font-weight: 600; font-size: 14.5px; text-decoration: none; }
.v2-aside-card ul li a:hover { color: var(--v2-orange-deep); }

.v2-toc { padding: 16px 18px; border-radius: 14px; background: var(--v2-tint); border: 1px solid var(--v2-line); margin: 0 0 24px; }
.v2-toc strong { display: block; margin-bottom: 8px; color: var(--v2-text); font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }
.v2-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; }
@media (max-width: 575.98px) { .v2-toc ol { columns: 1; } }
.v2-toc li { margin-bottom: 6px; font-size: 14.5px; break-inside: avoid; }
.v2-toc a { color: var(--v2-blue); text-decoration: none; font-weight: 600; }

/* Page hero used by rebuilt pages (no booking form) */
.v2-hero {
  position: relative; padding: 120px 0 56px; color: #fff; overflow: hidden;
  background: radial-gradient(1200px 500px at 85% -10%, rgba(240, 90, 40, .35), transparent 60%),
              linear-gradient(160deg, #0b1f3a 0%, #0d47a1 120%);
}
.v2-hero::after {
  content: ""; position: absolute; right: -80px; bottom: -120px; width: 420px; height: 420px; border-radius: 50%;
  border: 60px solid rgba(255, 255, 255, .04);
}
.v2-hero .v2-wrap { position: relative; z-index: 1; }
.airrj-main .v2-hero h1 { margin: 0 0 14px; color: #fff; font-weight: 800; letter-spacing: -0.03em; font-size: clamp(30px, 4.4vw, 50px); line-height: 1.1; max-width: 22ch; }
.v2-hero h1 span { color: #ffb087; }
.airrj-main .v2-hero p { margin: 0 0 22px; max-width: 62ch; color: rgba(255, 255, 255, .88); font-size: 17px; line-height: 1.65; }
.v2-hero .v2-eyebrow { background: rgba(255, 255, 255, .12); color: #ffc9ae; }
@media (max-width: 767.98px) { .v2-hero { padding: 92px 0 40px; } .v2-hero p { font-size: 15.5px; } }

/* Footer CTA band + related links (all inner pages) */
.v2-cta-band { padding: 40px 0; background: var(--v2-mist); }
.v2-cta {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center;
  padding: 30px 32px; border-radius: 22px; color: #fff;
  background: radial-gradient(600px 260px at 100% 0%, rgba(240, 90, 40, .45), transparent 65%), var(--v2-navy);
  box-shadow: 0 18px 40px rgba(11, 31, 58, .22);
}
.v2-cta h2 { margin: 0 0 6px; color: #fff; font-size: clamp(21px, 2.4vw, 28px); font-weight: 800; letter-spacing: -0.02em; }
.v2-cta p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 15.5px; line-height: 1.6; max-width: 60ch; }
@media (max-width: 767.98px) { .v2-cta { grid-template-columns: 1fr; padding: 24px 20px; } }

.v2-related { padding: 8px 0 44px; background: var(--v2-mist); }
.v2-related h2 { margin: 0 0 14px; font-size: 19px; font-weight: 800; color: var(--v2-text); }
.v2-related-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 991.98px) { .v2-related-cols { grid-template-columns: 1fr; } }
.v2-related-col { padding: 18px; border-radius: 16px; background: #fff; border: 1px solid var(--v2-line); }
.v2-related-col h3 { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--v2-blue); }
.v2-related-col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.v2-related-col a { display: block; padding: 6px 0; color: var(--v2-text); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.v2-related-col a:hover { color: var(--v2-orange-deep); }

/* Airline monogram when no logo file exists */
.v2-mono {
  display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--v2-blue-tint); color: var(--v2-blue); font-size: 11px; font-weight: 800; letter-spacing: .02em;
}

/* Floating WhatsApp / call on phones */
.v2-float {
  position: fixed; right: 14px; bottom: 16px; z-index: 1500; display: none; gap: 10px; flex-direction: column;
}
.v2-float a {
  width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center;
  color: #fff !important; font-size: 21px; box-shadow: 0 10px 24px rgba(11, 31, 58, .28); text-decoration: none;
}
.v2-float .call { background: var(--v2-orange); }
.v2-float .wa { background: #25d366; }
@media (max-width: 991.98px) { .v2-float { display: flex; } .back-to-top { bottom: 136px !important; } }

/* Small polish */
.airrj-footer .footer-menu li a { font-size: 14px; }
@media (max-width: 575.98px) {
  .airrj-footer .footer-bottom .d-flex { gap: 10px; justify-content: center !important; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* style.css resets list-style globally; restore markers in prose */
.v2-prose ul { list-style: disc outside; }
.v2-prose ol { list-style: decimal outside; }
.v2-prose li { display: list-item; }
.v2-toc ol { list-style: decimal outside; }
.v2-toc li { display: list-item; color: var(--v2-soft); }

/* Home quick-service tiles: legacy style.css adds 75px side padding + 180px min-width */
.home-stack .flight-section { padding-left: 0 !important; padding-right: 0 !important; }
.home-stack .flight-card { min-width: 0 !important; box-shadow: none; }
@media (max-width: 767.98px) {
  .home-stack .flight-section .flight-grid {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: visible !important; gap: 8px !important;
  }
}
/* Hero subtitle was colliding with the booking tabs on phones */
@media (max-width: 767.98px) {
  .home-hero .banner-content { margin-bottom: 26px !important; }
  .home-hero .banner-content p { margin-bottom: 0 !important; }
}

/* Legacy in-page breadcrumbs duplicate the global .airrj-crumbs bar */
.airrj-main nav.crumb[aria-label="Breadcrumb"] { display: none !important; }
.v2-prose ul.v2-chips { list-style: none; padding: 0; margin: 0 0 18px; }
.v2-prose ul.v2-chips li { display: inline-flex; margin: 0; }
@media (max-width: 1199.98px) {
  .main-header .header-btn { margin-left: auto; }
}
