:root {
  --navy: #07295f;
  --blue: #0968e5;
  --blue-2: #1c83ff;
  --sky: #eaf4ff;
  --ice: #f5f9ff;
  --ink: #10213c;
  --muted: #637087;
  --line: #dce6f3;
  --white: #fff;
  --green: #0f9c70;
  --orange: #ffb547;
  --shadow: 0 18px 50px rgba(7, 41, 95, .12);
  --radius: 18px;
}

.final-confirmation-receipt{display:grid;grid-template-columns:1fr 1fr 1.15fr;border:1px solid var(--line);border-top:0;background:#f8fbff}.final-confirmation-receipt>div{padding:17px;border-right:1px solid var(--line);display:grid;gap:5px}.final-confirmation-receipt>div:last-child{border-right:0}.final-confirmation-receipt span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.final-confirmation-receipt strong{font-size:11px;color:var(--navy)}
@media(max-width:650px){.final-confirmation-receipt{grid-template-columns:1fr}.final-confirmation-receipt>div{border-right:0;border-bottom:1px solid var(--line)}.final-confirmation-receipt>div:last-child{border-bottom:0}}

/* Final customer service acknowledgement */
.final-confirmation-page{min-height:calc(100vh - 112px);padding:48px 0 72px;background:linear-gradient(145deg,#edf3f9,#f8fafc)}
.final-confirmation-shell{display:grid;grid-template-columns:minmax(0,820px) 330px;gap:24px;align-items:start}
.final-confirmation-document,.final-confirmation-side{background:#fff;border:1px solid #d8e3ef;box-shadow:0 20px 55px rgba(7,41,95,.1)}
.final-confirmation-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;color:#fff;background:linear-gradient(125deg,#06285f,#0c67cf)}
.final-confirmation-header>div{display:flex;align-items:center;gap:12px}.final-confirmation-header img{width:45px;height:45px;padding:8px;border-radius:12px;background:#1685ef}.final-confirmation-header div span{display:grid}.final-confirmation-header div strong{font:800 18px Manrope;letter-spacing:.08em}.final-confirmation-header div small{font-size:8px;letter-spacing:.13em;color:#b9dafb}.final-confirmation-header aside{display:grid;text-align:right;gap:2px}.final-confirmation-header aside small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#acd2f8}.final-confirmation-header aside strong{font:800 14px Manrope}.final-confirmation-header aside span{font-size:9px;color:#d7eaff}
.final-confirmation-title{padding:30px 32px 22px;border-bottom:1px solid var(--line)}.final-confirmation-title>span,.final-confirmation-statement>span{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}.final-confirmation-title h1{margin:6px 0 7px;font:800 29px/1.18 Manrope;color:var(--navy)}.final-confirmation-title p{margin:0;color:var(--muted);font-size:12px}
.final-confirmation-meta{display:grid;grid-template-columns:1.3fr 1.25fr .75fr;margin:24px 32px;border:1px solid var(--line);background:#f6faff}.final-confirmation-meta>div{padding:16px;border-right:1px solid var(--line);display:grid;gap:3px}.final-confirmation-meta>div:last-child{border-right:0}.final-confirmation-meta span,.final-confirmation-itinerary span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.final-confirmation-meta strong{font-size:12px;color:var(--navy)}.final-confirmation-meta small{font-size:9px;color:var(--muted)}
.final-confirmation-service{margin:0 32px 24px}.final-confirmation-service>header{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:2px solid var(--navy)}.final-confirmation-service>header span{font:800 15px Manrope;color:var(--navy)}.final-confirmation-service>header strong{font-size:10px;color:var(--blue)}.final-confirmation-itinerary article{display:grid;grid-template-columns:28px .7fr .85fr 1.45fr;gap:12px;align-items:center;padding:13px 10px;border:1px solid var(--line);border-top:0}.final-confirmation-itinerary article>b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:9px}.final-confirmation-itinerary article>div{display:grid;gap:2px}.final-confirmation-itinerary strong{font-size:10px;color:var(--navy)}
.final-confirmation-statement{margin:0 32px 32px;padding:20px;border-left:4px solid var(--blue);background:#eef6ff}.final-confirmation-statement p{margin:7px 0 0;color:#31435d;font-size:12px;line-height:1.7}
.final-confirmation-side{position:sticky;top:104px;padding:28px}.final-sign-form{display:grid;gap:18px}.final-sign-form .eyebrow{color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.final-sign-form h2,.final-signature-success h2{margin:-10px 0 -10px;font:800 25px Manrope;color:var(--navy)}.final-sign-form>p,.final-signature-success>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.final-sign-form>label:not(.final-sign-check){display:grid;gap:7px}.final-sign-form label>span{font-size:9px;font-weight:800;color:var(--navy)}.final-sign-form label>strong{padding:12px;border:1px solid var(--line);background:#f7faff;color:var(--navy);font-size:12px}.final-sign-form input[type="text"],.final-sign-form input[name="signedName"]{height:49px;border:1px solid #cbd8e7;border-radius:7px;padding:0 13px;color:var(--navy);outline:0}.final-sign-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(9,104,229,.1)}.final-sign-check{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #cadced;background:#f4f9ff}.final-sign-check input{margin-top:3px;accent-color:var(--blue)}.final-sign-check span{font-size:9px!important;line-height:1.55;color:#42536b!important}.final-sign-form button,.final-download-signed{display:block;border:0;border-radius:7px;padding:15px;text-align:center;background:linear-gradient(115deg,#0873e3,#0752b0);color:#fff;font:800 13px Manrope}.final-sign-form button:disabled{opacity:.48;cursor:not-allowed}.final-sign-form>small{color:var(--muted);font-size:8.5px;line-height:1.55}
.final-signature-success{display:grid;gap:18px}.final-signature-success>i{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#dff7ee;color:#0b9b70;font-size:28px;font-style:normal;font-weight:900}.final-signature-success>span{font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#0b9b70}.final-signature-success dl{margin:0;border:1px solid var(--line)}.final-signature-success dl>div{padding:11px 12px;border-bottom:1px solid var(--line);display:grid;gap:2px}.final-signature-success dl>div:last-child{border-bottom:0}.final-signature-success dt{font-size:8px;text-transform:uppercase;color:var(--muted)}.final-signature-success dd{margin:0;color:var(--navy);font-size:10px;font-weight:800;overflow-wrap:anywhere}
@media(max-width:950px){.final-confirmation-shell{grid-template-columns:1fr}.final-confirmation-side{position:static}}
@media(max-width:650px){.final-confirmation-page{padding-top:20px}.final-confirmation-header{align-items:flex-start;padding:22px}.final-confirmation-title{padding:24px 22px}.final-confirmation-title h1{font-size:24px}.final-confirmation-meta{grid-template-columns:1fr;margin:20px 22px}.final-confirmation-meta>div{border-right:0;border-bottom:1px solid var(--line)}.final-confirmation-meta>div:last-child{border-bottom:0}.final-confirmation-service,.final-confirmation-statement{margin-left:22px;margin-right:22px}.final-confirmation-itinerary article{grid-template-columns:28px 1fr}.final-confirmation-itinerary article>div:nth-child(n+3){grid-column:2}}

/* Premium customer checkout */
.checkout-page{min-height:calc(100vh - 92px);padding:34px 0 70px;background:radial-gradient(circle at 12% 15%,rgba(30,137,255,.13),transparent 32%),#f2f6fb}.checkout-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.checkout-top button{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}.checkout-top>div{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:11px}.checkout-top b{padding:5px 9px;border-radius:999px;background:#fff0c7;color:#8a5a00;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.checkout-layout{display:grid;grid-template-columns:380px minmax(0,650px);justify-content:center;align-items:stretch;filter:drop-shadow(0 22px 45px rgba(4,35,78,.13))}.checkout-summary{padding:36px 34px;background:linear-gradient(145deg,#061f49,#075dbf);color:white;display:flex;flex-direction:column;min-height:650px}.checkout-brand{display:flex;align-items:center;gap:11px;margin-bottom:55px}.checkout-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#1788f5;font-size:21px}.checkout-brand>div{display:grid}.checkout-brand strong{font:800 18px Manrope;letter-spacing:.08em}.checkout-brand small{font-size:7px;letter-spacing:.15em;color:#a9d0f6}.checkout-kicker{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9dc8f3}.checkout-summary h1{font:800 36px Manrope;letter-spacing:.17em;margin:7px 0 25px}.checkout-amount{padding:18px 0;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);display:flex;align-items:end;justify-content:space-between}.checkout-amount span{font-size:10px;color:#b7d6f6}.checkout-amount strong{font:800 31px Manrope}.checkout-route{display:flex;align-items:center;justify-content:space-between;margin:24px 0;padding:16px;background:rgba(255,255,255,.08)}.checkout-route span{font:800 17px Manrope}.checkout-route i{font-style:normal;color:#65b7ff}.checkout-customer{display:grid;gap:5px}.checkout-customer small{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#9dc8f3}.checkout-customer strong{font-size:14px}.checkout-customer span{font-size:10px;color:#c9dff5}.checkout-security{margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:5px}.checkout-security b{font-size:10px}.checkout-security span{font-size:9px;line-height:1.55;color:#b8d4f1}.checkout-card{padding:37px 42px;background:white}.checkout-card header h2{font:800 27px/1.15 Manrope;color:var(--navy);margin:13px 0 8px}.checkout-card header p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}.checkout-contact-grid{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:1px;margin:24px 0;background:var(--line);border:1px solid var(--line)}.checkout-contact-grid>div{padding:11px 12px;background:#f8fafc;display:grid;gap:3px;min-width:0}.checkout-contact-grid span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.checkout-contact-grid strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.premium-payment-form{display:grid;gap:14px}.premium-field{display:grid;gap:6px}.premium-field label{color:var(--navy);font-size:10px;font-weight:800}.premium-field input{width:100%;height:48px;border:1px solid #cbd8e7;border-radius:7px;background:#fbfdff;color:var(--navy);font:400 14px Inter,sans-serif;padding:0 13px;outline:0}.premium-field input::placeholder{color:#96a3b3;font-weight:400}.premium-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,105,230,.1);background:white}.premium-field>small{color:var(--muted);font-size:9px;font-weight:400}.premium-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card-number-field{position:relative}.card-number-field input{padding-right:58px}.card-number-field span{position:absolute;right:13px;top:15px;color:#17468d;font-size:10px;font-weight:900;font-style:italic}.premium-pay-button{height:57px;margin-top:5px;border:0;border-radius:8px;background:linear-gradient(115deg,#0873e3,#0752b0);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;cursor:pointer;box-shadow:0 11px 25px rgba(0,91,197,.24)}.premium-pay-button span{font:800 14px Manrope}.premium-pay-button strong{font:800 18px Manrope}.premium-pay-button:disabled{opacity:.65;cursor:wait}.premium-secure-note{display:flex;gap:10px;padding:12px 13px;border:1px solid #dce8f3;border-radius:7px;background:#f7fafc}.premium-secure-note>span{font-size:15px}.premium-secure-note p{margin:0;color:var(--muted);font-size:8.5px;line-height:1.5}.premium-secure-note strong{display:block;color:var(--navy);font-size:9px}.payment-success-page{min-height:calc(100vh - 92px);display:grid;place-items:center;padding:60px 20px;background:radial-gradient(circle at center,#e9f5ff,#f4f7fb 58%)}.payment-success-card{width:min(100%,720px);padding:48px;text-align:center;background:white;border:1px solid #d9e5f1;box-shadow:0 24px 65px rgba(4,39,85,.13)}.payment-success-check{width:76px;height:76px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#e1f8ef;color:#07966c;font-size:36px;font-weight:900}.payment-success-card h1{font:800 36px Manrope;color:var(--navy);margin:10px 0}.payment-success-card>p{max-width:580px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.7}.payment-success-receipt{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;border:1px solid var(--line);background:#f8fafc}.payment-success-receipt>div{padding:16px;border-right:1px solid var(--line);display:grid;gap:5px}.payment-success-receipt>div:last-child{border-right:0}.payment-success-receipt span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.payment-success-receipt strong{font-size:11px;color:var(--navy)}.payment-success-actions{display:flex;justify-content:center;gap:10px}.payment-success-actions .btn-primary{border:0;padding:13px 22px}.payment-success-actions .btn-secondary-link{margin:0;padding:13px 22px}.payment-success-card>small{display:block;margin-top:20px;color:var(--muted);font-size:10px}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr;max-width:700px}.checkout-summary{min-height:auto}.checkout-brand{margin-bottom:28px}.checkout-security{margin-top:30px}.checkout-contact-grid{grid-template-columns:1fr}.payment-success-receipt{grid-template-columns:1fr}.payment-success-receipt>div{border-right:0;border-bottom:1px solid var(--line)}.payment-success-receipt>div:last-child{border-bottom:0}}
@media(max-width:600px){.checkout-page{padding-top:20px}.checkout-top{align-items:flex-start}.checkout-layout{width:100%}.checkout-summary,.checkout-card{padding:27px 22px}.premium-form-row{grid-template-columns:1fr}.payment-success-card{padding:35px 22px}.payment-success-actions{flex-direction:column}.payment-success-card h1{font-size:29px}}

.customer-itinerary{margin:24px 0 0;padding:20px;border-top:1px solid var(--line)}.customer-itinerary h3{margin:0 0 12px;font:800 15px Manrope;color:var(--navy)}.customer-itinerary article{display:grid;grid-template-columns:28px .8fr 1fr 1fr;gap:13px;align-items:center;padding:12px;border:1px solid var(--line);background:#f8fbff}.customer-itinerary article+article{border-top:0}.customer-itinerary article>b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;font-size:10px}.customer-itinerary article>div{display:grid;gap:2px}.customer-itinerary small{font-size:9px;color:var(--muted);text-transform:uppercase}.customer-itinerary strong{font-size:12px;color:var(--navy)}.customer-itinerary span{font-size:10px;color:var(--muted)}
.customer-passenger-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-bottom:18px}.customer-passenger{display:flex!important;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);background:#f8fbff}.customer-passenger>b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;font-size:9px}.customer-passenger>span{display:grid}.customer-passenger strong{font-size:11px;color:var(--navy)}.customer-passenger small{font-size:9px;color:var(--muted)}
@media(max-width:700px){.customer-itinerary article{grid-template-columns:28px 1fr}.customer-itinerary article>div:nth-child(n+3){grid-column:2}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "DM Sans", Arial, sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.top-strip { background: var(--navy); color: #dbeaff; font-size: 13px; }
.top-strip__inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; }
.top-strip a { color: #fff; }
.dot { margin: 0 10px; opacity: .5; }
.site-header { background: rgba(255,255,255,.96); border-bottom: 1px solid #e8eef6; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: Manrope, sans-serif; font-size: 19px; font-weight: 800; letter-spacing: .12em; color: var(--navy); }
.brand img { width: 48px; height: 48px; }
.brand strong { color: var(--blue); }
.brand small { display: block; font-family: "DM Sans", sans-serif; font-size: 8px; letter-spacing: .17em; color: var(--muted); margin-top: -1px; }
.brand--allied { flex: 0 0 auto; line-height: 1; }
.brand--allied img { width: auto; height: 58px; max-width: 258px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 15px; font-weight: 600; }
.main-nav > a:not(.nav-call), .nav-dropdown > button { border: 0; background: transparent; color: #293852; padding: 28px 0; }
.main-nav > a:not(.nav-call):hover, .nav-dropdown > button:hover { color: var(--blue); }
.nav-call { display: flex; flex-direction: column; padding-left: 25px; border-left: 1px solid var(--line); }
.nav-call span { font-size: 11px; color: var(--muted); font-weight: 500; }
.nav-call strong { color: var(--blue); font-family: Manrope, sans-serif; font-size: 18px; }
.nav-dropdown { position: relative; }
.nav-dropdown__menu { display: none; position: fixed; left: 50%; top: 111px; transform: translateX(-50%); width: min(1180px, calc(100vw - 40px)); padding: 0; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }
.nav-dropdown:hover .nav-dropdown__menu, .nav-dropdown:focus-within .nav-dropdown__menu, .nav-dropdown.open .nav-dropdown__menu { display: block; }
.nav-dropdown__menu::before { content:""; position:absolute; left:0; right:0; top:-34px; height:34px; }
.nav-dropdown__menu a { padding: 8px 0; }
.nav-dropdown__menu a:hover { background: var(--sky); color: var(--blue); }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 24px; color: var(--navy); }

.hero { position: relative; min-height: 650px; display: flex; align-items: center; color: white; overflow: hidden; background: linear-gradient(90deg, rgba(5,28,70,.96) 0%, rgba(7,52,118,.77) 50%, rgba(7,52,118,.22) 100%), url('/assets/hero-flight.jpg') center 58%/cover; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(transparent, rgba(4,26,65,.22)); }
.hero__content { position: relative; z-index: 1; display: grid; grid-template-columns: .78fr 1.22fr; gap: 60px; align-items: center; padding: 68px 0 88px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #86c8ff; font-size: 13px; text-transform: uppercase; letter-spacing: .16em; font-weight: 700; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.hero h1, .page-hero h1 { font-family: Manrope, sans-serif; margin: 16px 0; font-size: clamp(42px, 5.4vw, 70px); line-height: 1.03; letter-spacing: -.045em; }
.hero__copy > p { color: #d9e8fb; font-size: 18px; max-width: 500px; }
.trust-row { display: flex; gap: 22px; margin-top: 28px; font-size: 13px; color: #e8f3ff; flex-wrap: wrap; }
.trust-row span { display: flex; align-items: center; gap: 7px; }
.trust-row i { color: #76d4ff; font-style: normal; }
.search-panel { background: white; color: var(--ink); padding: 28px; box-shadow: 0 26px 70px rgba(0,18,54,.28); border-top: 4px solid var(--blue-2); }
.search-panel__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 19px; }
.search-panel__head h2 { margin: 0; font-family: Manrope, sans-serif; font-size: 23px; }
.fixed-fare-label { font-size: 12px; font-weight: 700; color: var(--blue); background: var(--sky); padding: 7px 10px; border-radius: 999px; }
.trip-types { display: flex; gap: 22px; margin-bottom: 18px; font-size: 14px; }
.trip-types label { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.trip-types input { accent-color: var(--blue); }
.field-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.field { display: grid; gap: 6px; }
.field--wide { grid-column: 1 / -1; }
.field label { font-size: 12px; font-weight: 700; color: #526079; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #d8e2ef; background: #fbfdff; color: var(--ink); padding: 12px 13px; outline: none; transition: .2s; border-radius: 7px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(28,131,255,.12); background: white; }
.field textarea { min-height: 120px; resize: vertical; }
.traveller-row { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.search-submit { grid-column: 1/-1; border: 0; background: var(--blue); color: white; padding: 15px 18px; font-weight: 700; border-radius: 7px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 4px; transition: .2s; }
.search-submit:hover, .btn-primary:hover { background: #0756be; transform: translateY(-1px); }
.privacy-note { grid-column: 1/-1; color: var(--muted); font-size: 11px; text-align: center; margin: 0; }

.section { padding: 92px 0; }
.section--soft { background: var(--ice); }
.section--navy { background: var(--navy); color: white; }
.section-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
.section-heading h2 { font-family: Manrope, sans-serif; font-size: clamp(30px,4vw,44px); letter-spacing: -.035em; line-height: 1.12; margin: 10px 0 0; }
.section-heading p { color: var(--muted); max-width: 560px; margin: 0; }
.section-heading--light p { color: #b9cae4; }
.text-link { color: var(--blue); font-weight: 700; white-space: nowrap; }
.destination-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.destination-card { min-height: 330px; position: relative; overflow: hidden; color: white; display: flex; align-items: end; background: var(--navy); }
.destination-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.destination-card::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 35%, rgba(3,20,52,.92)); }
.destination-card__body { position: relative; z-index: 1; padding: 24px; width: 100%; }
.destination-card__body span { font-size: 12px; color: #a9d8ff; text-transform: uppercase; letter-spacing:.13em; }
.destination-card__body h3 { margin: 5px 0 2px; font-family: Manrope,sans-serif; font-size: 25px; }
.destination-card__body p { margin: 0; color: #e8f3ff; font-size: 14px; }
.destination-card:hover img { transform: scale(1.05); }
.fare-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.mini-fare { border: 1px solid var(--line); background: white; padding: 20px; display: grid; gap: 14px; box-shadow: 0 8px 30px rgba(7,41,95,.05); }
.mini-fare__top { display: flex; justify-content: space-between; gap: 10px; }
.airline-badge { display:inline-grid; place-items:center; width:40px; height:40px; background:var(--navy); color:white; border-radius:50%; font-weight:800; font-size:12px; }
.mini-fare h3 { margin: 0; font-size: 17px; }
.mini-fare p { margin: 0; color: var(--muted); font-size: 13px; }
.mini-fare__price { display: flex; justify-content: space-between; align-items: end; border-top: 1px solid var(--line); padding-top: 14px; }
.mini-fare__price strong { font-family: Manrope,sans-serif; font-size: 27px; color:var(--blue); }
.mini-fare__price span { font-size:12px; color:var(--muted); }
.btn-link { font-weight:700; color:var(--blue); }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #274574; border:1px solid #274574; }
.benefit { background:var(--navy); padding:30px; }
.benefit__icon { font-size:25px; color:#70c7ff; }
.benefit h3 { font-family:Manrope,sans-serif; margin:14px 0 7px; }
.benefit p { margin:0; color:#b9cae4; font-size:14px; }
.quote-band { padding: 56px 0; background: linear-gradient(115deg, #0c74ed, #0a4eaf); color:white; }
.quote-band__inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.quote-band h2 { font-family:Manrope,sans-serif; margin:0 0 8px; font-size:32px; }
.quote-band p { margin:0; color:#dceeff; }
.btn-light, .btn-primary, .btn-secondary { border:0; padding:13px 20px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:7px; }
.btn-light { background:white; color:var(--blue); }
.btn-primary { background:var(--blue); color:white; transition:.2s; }
.btn-secondary { background:var(--sky); color:var(--blue); border:1px solid #cae1fb; }
.btn-ghost { background:transparent; color:var(--blue); border:1px solid #bcd7f7; padding:10px 14px; font-weight:700; border-radius:7px; }

.page-hero { color:white; min-height:380px; display:flex; align-items:end; position:relative; background:linear-gradient(90deg,rgba(4,26,64,.93),rgba(4,44,101,.48)), var(--hero-image, url('/assets/hero-flight.jpg')) center/cover; }
.page-hero__inner { padding:75px 0 62px; position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(40px,5vw,62px); margin-bottom:12px; }
.page-hero p { max-width:650px; font-size:18px; color:#dceaff; }
.landing-search { margin-top:-34px; position:relative; z-index:3; }
.landing-search .search-panel { box-shadow:var(--shadow); }
.landing-body { display:grid; grid-template-columns:1.35fr .65fr; gap:54px; }
.prose h2 { font-family:Manrope,sans-serif; font-size:35px; letter-spacing:-.03em; }
.prose h3 { font-family:Manrope,sans-serif; margin-top:30px; }
.prose p, .prose li { color:#526079; }
.tip-list { display:grid; gap:12px; padding:0; list-style:none; }
.tip-list li { padding:14px 16px 14px 44px; background:var(--ice); position:relative; }
.tip-list li::before { content:'✓'; position:absolute; left:17px; color:var(--green); font-weight:800; }
.side-card { background:var(--navy); color:white; padding:28px; position:sticky; top:110px; }
.side-card h3 { font-family:Manrope,sans-serif; font-size:24px; margin:0 0 10px; }
.side-card p { color:#c2d2e9; }
.side-card strong { display:block; color:#6cc8ff; font-size:25px; font-family:Manrope,sans-serif; }

.results-hero { background:var(--navy); color:white; padding:42px 0 58px; }
.results-hero__top { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.route-line { display:flex; align-items:center; gap:16px; font-family:Manrope,sans-serif; font-size:28px; }
.route-line .plane-line { flex:1; min-width:70px; height:1px; background:#5f7ca8; position:relative; }
.route-line .plane-line::after { content:'✈'; position:absolute; top:-13px; left:45%; color:#69c6ff; }
.results-hero p { color:#b9cae4; margin:8px 0 0; }
.results-layout { display:grid; grid-template-columns:250px 1fr; gap:24px; padding:42px 0 90px; }
.filters { border:1px solid var(--line); padding:22px; align-self:start; background:white; }
.filters h3 { margin:0 0 18px; font-family:Manrope,sans-serif; }
.filter-group { border-top:1px solid var(--line); padding-top:18px; margin-top:18px; }
.filter-group label { display:flex; gap:9px; margin:9px 0; font-size:14px; color:#4a5970; }
.filter-group input { accent-color:var(--blue); }
.results-list { display:grid; gap:15px; }
.results-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:3px; }
.results-toolbar h2 { margin:0; font-size:20px; }
.fare-card { background:white; border:1px solid var(--line); display:grid; grid-template-columns:155px 1fr 170px; align-items:stretch; box-shadow:0 8px 24px rgba(7,41,95,.045); }
.fare-card__airline { padding:24px; display:flex; align-items:center; gap:12px; border-right:1px solid var(--line); }
.fare-card__airline strong { display:block; font-size:14px; }
.fare-card__airline span { color:var(--muted); font-size:12px; }
.fare-card__journey { padding:24px; display:grid; align-items:center; }
.times { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; }
.time strong { font-family:Manrope,sans-serif; font-size:24px; }
.time span { display:block; font-size:12px; color:var(--muted); }
.flight-path { text-align:center; font-size:11px; color:var(--muted); }
.flight-path i { display:block; height:1px; background:#aabbd1; position:relative; margin:8px 0; }
.flight-path i::after { content:'✈'; position:absolute; right:-3px; top:-10px; color:var(--blue); font-style:normal; }
.flight-meta { display:flex; gap:18px; margin-top:14px; color:#53627a; font-size:12px; flex-wrap:wrap; }
.fare-card__buy { padding:24px; background:#f7fbff; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; border-left:1px solid var(--line); }
.fare-card__buy span { font-size:12px; color:var(--muted); }
.fare-card__buy strong { font-family:Manrope,sans-serif; font-size:31px; color:var(--navy); }
.fare-card__buy .btn-primary { width:100%; margin-top:10px; }
.empty-state { padding:50px; text-align:center; border:1px dashed #b8cae0; background:white; }
.empty-state h3 { font-family:Manrope,sans-serif; }

.steps { background:white; border-bottom:1px solid var(--line); }
.steps__inner { display:grid; grid-template-columns:repeat(4,1fr); }
.step { padding:18px 12px; display:flex; align-items:center; justify-content:center; gap:10px; color:#8692a5; font-size:13px; font-weight:700; border-bottom:3px solid transparent; }
.step b { width:28px; height:28px; display:grid; place-items:center; border:1px solid #b6c3d5; border-radius:50%; }
.step.active { color:var(--blue); border-color:var(--blue); }
.step.active b, .step.done b { background:var(--blue); color:white; border-color:var(--blue); }
.booking-shell { max-width:980px; margin:0 auto; padding:48px 20px 90px; }
.booking-shell > h1 { font-family:Manrope,sans-serif; font-size:34px; margin:0 0 6px; }
.booking-shell > p { color:var(--muted); margin:0 0 28px; }
.booking-grid { display:grid; grid-template-columns:1fr 310px; gap:24px; }
.booking-card { border:1px solid var(--line); background:white; padding:26px; margin-bottom:18px; }
.booking-card h2 { font-family:Manrope,sans-serif; margin:0 0 18px; font-size:21px; }
.summary-card { background:var(--navy); color:white; padding:24px; align-self:start; position:sticky; top:110px; }
.summary-card h3 { font-family:Manrope,sans-serif; margin-top:0; }
.summary-line { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.15); font-size:14px; }
.summary-line span { color:#b9cae4; }
.summary-line strong { white-space:nowrap; text-align:right; }
.summary-total { display:flex; justify-content:space-between; align-items:end; margin:20px 0; }
.summary-total strong { font-family:Manrope,sans-serif; font-size:31px; }
.seat-legend { display:flex; gap:18px; font-size:12px; color:var(--muted); margin-bottom:18px; }
.seat-legend i { display:inline-block; width:12px; height:12px; margin-right:5px; background:#eef3f9; border:1px solid #cbd6e5; }
.seat-legend .chosen { background:var(--blue); }
.seat-map { width:min(440px,100%); margin:auto; background:#f7faff; padding:25px 20px; border-top:8px solid #dbe9f8; border-radius:48% 48% 10px 10px / 30px 30px 10px 10px; }
.seat-row { display:grid; grid-template-columns:24px repeat(2,44px) 20px repeat(2,44px); gap:8px; justify-content:center; margin:8px 0; align-items:center; }
.seat-row > span { font-size:11px; color:var(--muted); }
.seat { border:1px solid #c7d4e4; background:white; height:38px; border-radius:7px 7px 3px 3px; font-size:11px; color:#53627a; }
.seat:hover:not(:disabled), .seat.selected { background:var(--blue); border-color:var(--blue); color:white; }
.seat:disabled { background:#d9e1eb; color:#a3adba; cursor:not-allowed; }
.passenger-block { padding:20px 0; border-top:1px solid var(--line); }
.passenger-block:first-of-type { border-top:0; padding-top:0; }
.passenger-fields { display:grid; grid-template-columns:90px 1fr 1fr; gap:12px; }
.payment-test { display:flex; gap:12px; padding:14px; background:#fff7e8; border:1px solid #ffd590; color:#7c5512; font-size:13px; margin-bottom:20px; }
.pnr-card { background:linear-gradient(120deg,var(--navy),#0c62ce); color:white; padding:28px; margin-bottom:20px; }
.pnr-card span { text-transform:uppercase; letter-spacing:.15em; font-size:11px; color:#9fd8ff; }
.pnr-card strong { display:block; font-family:Manrope,sans-serif; font-size:40px; letter-spacing:.16em; margin:5px 0; }
.card-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.card-grid .field--wide { grid-column:1/-1; }
.confirmation { text-align:center; padding:50px 30px; }
.confirmation__check { width:72px; height:72px; display:grid; place-items:center; background:#e5f8f1; color:var(--green); border-radius:50%; margin:0 auto 20px; font-size:30px; }
.confirmation h2 { font-size:32px; }

.about-grid, .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.about-visual { min-height:450px; background:url('/assets/hero-flight.jpg') center/cover; position:relative; }
.about-visual__stat { position:absolute; bottom:22px; right:-25px; background:var(--blue); color:white; padding:25px; width:220px; }
.about-visual__stat strong { display:block; font-family:Manrope,sans-serif; font-size:32px; }
.contact-card { border:1px solid var(--line); padding:30px; box-shadow:var(--shadow); }
.contact-details { display:grid; gap:22px; margin-top:28px; }
.contact-details div { border-left:3px solid var(--blue); padding-left:17px; }
.contact-details strong { display:block; }
.contact-details span { color:var(--muted); }

/* Premium destination guide */
.destination-guide-hero{padding:58px 0 115px;background:radial-gradient(circle at 84% 22%,rgba(22,124,233,.28),transparent 26%),linear-gradient(125deg,#031b42 0%,#073979 58%,#086ed5 100%);color:white;overflow:hidden}
.destination-guide-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.84fr);gap:70px;align-items:center}
.destination-guide-copy h1{font:800 clamp(50px,6vw,78px)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:18px 0 22px}.destination-guide-copy>p{max-width:650px;color:#d9eafe;font-size:18px;line-height:1.7}.destination-guide-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.destination-guide-actions .btn-primary{padding:14px 20px}.destination-guide-actions>a:last-child{color:#dcebff;font-weight:700;font-size:13px}
.destination-guide-media{height:520px;position:relative}.destination-guide-media::before{content:"";position:absolute;inset:25px -22px -25px 28px;border:1px solid rgba(255,255,255,.24)}.destination-guide-media img{position:relative;width:100%;height:100%;object-fit:cover;box-shadow:0 28px 70px rgba(0,17,48,.34)}.destination-code{position:absolute;left:-38px;bottom:35px;width:245px;padding:20px 22px;background:white;color:var(--navy);box-shadow:0 17px 45px rgba(0,24,62,.25);display:grid;gap:3px}.destination-code span{color:var(--blue);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.destination-code strong{font:800 39px Manrope,sans-serif;letter-spacing:.09em}.destination-code small{color:var(--muted);line-height:1.35}
.destination-fact-bar{position:relative;z-index:2;margin-top:-58px;background:white;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 20px 55px rgba(5,35,78,.16)}.destination-fact-bar>div{padding:22px 25px;border-right:1px solid var(--line);display:grid;gap:5px}.destination-fact-bar>div:last-child{border-right:0}.destination-fact-bar span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.destination-fact-bar strong{color:var(--navy);font:800 13px Manrope,sans-serif}
.landing-search--premium{position:relative;z-index:3;margin-top:-72px}.destination-editorial{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:70px;align-items:start}.destination-editorial article>h2{font:800 43px/1.08 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy);margin:12px 0 20px}.destination-lead{font-size:18px!important;color:#34445b!important}.destination-editorial article>p{color:var(--muted);line-height:1.8}.destination-planning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}.destination-planning-grid>div{background:white;padding:22px}.destination-planning-grid b{color:var(--blue);font-size:10px}.destination-planning-grid h3{font:800 14px/1.3 Manrope,sans-serif;color:var(--navy);margin:12px 0 7px}.destination-planning-grid p{color:var(--muted);font-size:11px;line-height:1.55;margin:0}.destination-arrival-card{position:relative;background:linear-gradient(145deg,#061f49,#075bb9);color:white;padding:34px;box-shadow:0 22px 55px rgba(6,40,85,.18);overflow:hidden}.destination-arrival-code{position:absolute;right:-7px;top:-20px;color:rgba(255,255,255,.07);font:800 110px Manrope,sans-serif}.destination-arrival-card h3{position:relative;font:800 25px/1.2 Manrope,sans-serif;margin:14px 0}.destination-arrival-card>p{color:#c8dff6;font-size:13px;line-height:1.7}.destination-arrival-card dl{margin:24px 0;display:grid}.destination-arrival-card dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}.destination-arrival-card dt{color:#9ec8f3;font-size:10px}.destination-arrival-card dd{margin:0;font-size:11px;font-weight:700;text-align:right}.destination-arrival-card .btn-light{display:block;text-align:center;margin-top:8px}

/* About and contact */
.about-premium-hero{padding:70px 0 95px;background:#f4f8fd}.about-premium-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:75px;align-items:center}.about-premium-hero h1{font:800 clamp(48px,5.4vw,73px)/1 Manrope,sans-serif;letter-spacing:-.055em;color:var(--navy);margin:18px 0 24px}.about-premium-hero p{color:var(--muted);font-size:17px;line-height:1.75}.about-principles{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.about-principles span{color:#53637a;font-size:11px;font-weight:700}.about-principles b{color:var(--blue);margin-right:6px}.about-premium-image{height:560px;position:relative}.about-premium-image img{width:100%;height:100%;object-fit:cover}.about-premium-image>div{position:absolute;left:-32px;bottom:34px;background:var(--blue);color:white;padding:23px 27px;width:210px}.about-premium-image strong{display:block;font:800 34px Manrope,sans-serif}.about-premium-image span{font-size:11px;color:#d8ebff}.about-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.about-story article h2{font:800 38px/1.1 Manrope,sans-serif;color:var(--navy);margin:13px 0 20px}.about-story article p{color:var(--muted);line-height:1.8}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.about-values>div{background:white;padding:25px 22px}.about-values span{color:var(--blue);font-size:10px;font-weight:800}.about-values h3{font:800 16px/1.35 Manrope,sans-serif;color:var(--navy);margin:20px 0 9px}.about-values p{color:var(--muted);font-size:11px;line-height:1.65;margin:0}.about-numbers{background:var(--navy);color:white;padding:38px 0}.about-numbers .shell{display:grid;grid-template-columns:repeat(3,1fr)}.about-numbers .shell>div{padding:10px 35px;border-right:1px solid rgba(255,255,255,.16);display:grid;gap:4px}.about-numbers .shell>div:last-child{border-right:0}.about-numbers strong{font:800 27px Manrope,sans-serif}.about-numbers span{color:#aac7e8;font-size:11px}
.contact-premium-hero{min-height:510px;padding:105px 0 80px;display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(3,25,61,.96),rgba(5,57,124,.65),rgba(5,57,124,.2)),url('https://images.pexels.com/photos/33598030/pexels-photo-33598030.jpeg?auto=compress&cs=tinysrgb&w=1800') center/cover}.contact-premium-hero h1{font:800 clamp(50px,6vw,78px)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:17px 0 20px}.contact-premium-hero p{max-width:620px;color:#dbeaff;font-size:18px;line-height:1.7}.contact-premium-section{background:#f5f8fc}.contact-premium-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.contact-premium-grid aside h2{font:800 36px/1.12 Manrope,sans-serif;color:var(--navy);margin:14px 0 18px}.contact-premium-grid aside>p{color:var(--muted);line-height:1.8}.contact-methods{margin-top:28px;display:grid}.contact-methods>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:15px 0;border-top:1px solid var(--line)}.contact-methods b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--sky);color:var(--blue);font-size:9px}.contact-methods span{display:grid;gap:2px}.contact-methods small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.contact-methods strong{color:var(--navy);font-size:12px}.contact-policy-note{margin-top:24px;padding:15px 17px;border-left:3px solid #f0aa12;background:#fff8e8;color:#6c5830;font-size:11px;line-height:1.65}.contact-card--premium{background:white;padding:38px;box-shadow:0 22px 55px rgba(6,42,91,.11)}.contact-card--premium>h2{font:800 28px Manrope,sans-serif;color:var(--navy);margin:12px 0 25px}.form-privacy{grid-column:1/-1;color:var(--muted);font-size:10px;text-align:center}.form-privacy a{color:var(--blue);font-weight:700}

/* Legal policies */
.legal-hero{padding:85px 0 70px;color:white;background:radial-gradient(circle at 82% 22%,rgba(44,143,255,.28),transparent 25%),linear-gradient(120deg,#031a40,#074a9d)}.legal-hero h1{font:800 clamp(46px,5.2vw,68px)/1.04 Manrope,sans-serif;letter-spacing:-.045em;margin:15px 0 18px}.legal-hero>div>p{max-width:760px;color:#d6e9fd;font-size:17px;line-height:1.7}.legal-updated{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:30px}.legal-updated span{color:#9fc6ed;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.legal-updated strong{font-size:11px;padding-right:18px;border-right:1px solid rgba(255,255,255,.2)}.legal-updated strong:last-child{border-right:0}.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:45px;align-items:start}.legal-nav{position:sticky;top:108px;background:white;border:1px solid var(--line);padding:20px;display:grid}.legal-nav>strong{font:800 14px Manrope,sans-serif;color:var(--navy);padding:4px 5px 12px}.legal-nav>a{display:grid;grid-template-columns:26px 1fr;gap:7px;padding:9px 5px;border-top:1px solid #eef2f6;color:#5a687d;font-size:10px;line-height:1.35}.legal-nav>a:hover{color:var(--blue)}.legal-nav>a span{color:var(--blue);font-weight:800}.legal-nav>div{margin-top:16px;padding:17px;background:var(--navy);color:white}.legal-nav>div b{font-size:12px}.legal-nav>div p{color:#b8d2ef;font-size:10px;line-height:1.5}.legal-nav>div a{color:#8cc7ff;font-size:10px;font-weight:800}.legal-document{background:white;border:1px solid var(--line);padding:42px 48px}.legal-notice{padding:20px 22px;margin-bottom:12px;border:1px solid #f3d58d;background:#fff9e9}.legal-notice strong{color:#7c5700;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.legal-notice p{margin:7px 0 0!important;color:#5d5138!important}.legal-document>section{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:31px 0;border-bottom:1px solid var(--line);scroll-margin-top:115px}.legal-document>section>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--sky);color:var(--blue);font-size:9px;font-weight:800}.legal-document h2{font:800 22px Manrope,sans-serif;color:var(--navy);margin:3px 0 13px}.legal-document p{color:#5c6b7e;font-size:13px;line-height:1.8;margin:0 0 12px}.legal-document a{color:var(--blue);font-weight:700}.legal-closing{margin-top:30px;padding:23px 25px;background:#f1f7fd}.legal-closing strong{color:var(--navy)}.legal-closing p{margin:7px 0 0}

/* Recorded policy acceptance */
.approval-terms{display:grid;grid-template-columns:20px 1fr;gap:10px;margin:20px 0;padding:14px;border:1px solid #cfe0f2;background:#f5f9fe;color:#53637a;font-size:10px;line-height:1.55;cursor:pointer}.approval-terms input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--blue)}.approval-terms a{color:var(--blue);font-weight:800;text-decoration:underline}.approval-card .btn-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}

.site-footer { background:#041b41; color:white; padding-top:64px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:50px; padding-bottom:46px; }
.brand--light { color:white; }
.brand--light.brand--allied { padding: 8px 12px; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.13); }
.brand--light.brand--allied img { height: 54px; }
.footer-grid p, .footer-grid span { color:#9fb3d0; font-size:14px; }
.footer-grid h3 { font-family:Manrope,sans-serif; font-size:15px; margin:0 0 16px; }
.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.footer-grid a:not(.brand) { color:#bfd0e8; font-size:14px; }
.footer-grid a:hover { color:white; }
.footer-bottom { border-top:1px solid #1d3760; padding:20px 0; display:flex; justify-content:space-between; gap:20px; color:#8197b8; font-size:12px; }
.floating-help { position:fixed; right:20px; bottom:20px; z-index:15; background:var(--blue); color:white; box-shadow:0 12px 28px rgba(5,78,165,.3); padding:12px 16px; border-radius:999px; display:flex; gap:8px; align-items:center; font-size:13px; }
.toast { position:fixed; left:50%; bottom:25px; transform:translate(-50%,20px); background:var(--navy); color:white; padding:13px 20px; opacity:0; visibility:hidden; transition:.25s; z-index:40; box-shadow:var(--shadow); }
.toast.show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.loading { padding:80px 20px; text-align:center; color:var(--muted); }
.spinner { width:38px; height:38px; border:3px solid #dce8f6; border-top-color:var(--blue); border-radius:50%; animation:spin .7s linear infinite; margin:0 auto 15px; }
@keyframes spin { to { transform:rotate(360deg); } }

/* Destination mega menu */
.mega-menu__head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 22px; border-bottom:1px solid var(--line); background:#f8fbff; }
.mega-menu__head strong { font-family:Manrope,sans-serif; color:var(--navy); }
.mega-menu__head a { color:var(--blue); font-size:13px; font-weight:700; }
.mega-menu__grid { display:grid; grid-template-columns:repeat(7,1fr); }
.mega-menu__grid section { padding:19px 17px 21px; border-right:1px solid var(--line); display:flex; flex-direction:column; min-width:0; }
.mega-menu__grid section:last-child { border-right:0; }
.mega-menu__grid section > a { font-size:13px; color:#617089; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mega-menu__grid section > a:hover { background:transparent; color:var(--blue); }
.mega-menu__grid .mega-region { color:var(--navy); font:800 14px Manrope,sans-serif; padding-top:0; border-bottom:1px solid #e8eef6; margin-bottom:5px; }
.mega-menu__grid .mega-more { color:var(--blue); font-weight:700; margin-top:4px; }
.mega-country-list{display:grid;gap:2px}.mega-menu__grid .mega-country-link{min-height:38px;padding:7px 0;border-bottom:1px solid #edf2f8;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#617089;font:600 12px "DM Sans",sans-serif}.mega-menu__grid .mega-country-link:hover{color:var(--blue)}.mega-country-link small{color:#95a2b3;font-size:9px;white-space:nowrap}

/* Elegant airport autocomplete */
.search-panel { position:relative; }
.autocomplete-field { position:relative; }
.location-control { position:relative; }
.location-control input { padding-left:40px; padding-right:38px; }
.location-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--blue); z-index:1; font-weight:800; }
.clear-location { position:absolute; right:8px; top:50%; transform:translateY(-50%); border:0; width:28px; height:28px; border-radius:50%; background:transparent; color:#92a0b3; font-size:18px; }
.clear-location:hover { background:var(--sky); color:var(--blue); }
.location-suggestions { display:none; position:absolute; z-index:45; top:calc(100% + 7px); left:0; right:0; background:white; border:1px solid #cbd9ea; box-shadow:0 18px 45px rgba(7,41,95,.17); max-height:330px; overflow:auto; }
.location-suggestions.open { display:block; }
.location-suggestions button { border:0; border-bottom:1px solid #edf2f7; background:white; width:100%; padding:11px 13px; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; }
.location-suggestions button:hover { background:var(--sky); }
.location-suggestions button span { display:grid; }
.location-suggestions button strong { color:var(--ink); font-size:14px; }
.location-suggestions button small { color:var(--muted); }
.location-suggestions button b { display:grid; place-items:center; min-width:42px; height:30px; border-radius:6px; background:var(--sky); color:var(--blue); font-size:11px; letter-spacing:.06em; }
.location-suggestions p { padding:16px; margin:0; color:var(--muted); font-size:13px; }

/* Themed calendar */
.date-control { width:100%; min-height:47px; border:1px solid #d8e2ef; background:#fbfdff; color:var(--ink); border-radius:7px; padding:11px 13px; display:grid; grid-template-columns:22px 1fr 18px; gap:7px; align-items:center; text-align:left; }
.date-control:hover,.date-control:focus { border-color:var(--blue-2); box-shadow:0 0 0 3px rgba(28,131,255,.1); background:white; outline:0; }
.date-icon { color:var(--blue); border:1px solid currentColor; width:15px; height:15px; font-size:0; position:relative; border-radius:3px; }
.date-icon::before { content:""; position:absolute; left:2px; right:2px; top:4px; border-top:1px solid currentColor; }
.date-chevron { color:#8997aa; text-align:right; }
.calendar-popover { position:absolute; z-index:50; top:190px; right:28px; width:350px; background:white; border:1px solid #cbd9ea; box-shadow:0 24px 55px rgba(7,41,95,.2); padding:18px; border-radius:12px; }
.calendar-popover[hidden] { display:none; }
.calendar-head { display:grid; grid-template-columns:35px 1fr 35px; align-items:center; text-align:center; margin-bottom:14px; }
.calendar-head button { border:0; background:var(--sky); color:var(--blue); width:34px; height:34px; border-radius:8px; }
.calendar-head strong { font:700 16px Manrope,sans-serif; }
.calendar-week,.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
.calendar-week span { color:#8895a8; font-size:10px; text-transform:uppercase; padding:5px 0; }
.calendar-days button { border:0; background:transparent; height:36px; border-radius:8px; color:#33425a; font-size:13px; }
.calendar-days button:hover:not(:disabled) { background:var(--sky); color:var(--blue); }
.calendar-days button.selected { background:var(--blue); color:white; font-weight:800; }
.calendar-days button:disabled { color:#ccd4df; cursor:not-allowed; }
.calendar-foot { border-top:1px solid var(--line); margin-top:12px; padding-top:12px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; color:var(--muted); }
.calendar-foot button { border:0; color:var(--blue); background:var(--sky); padding:7px 11px; border-radius:6px; font-weight:700; }

/* Destination directory */
.destination-index-hero { min-height:330px; }
.destination-browser { display:grid; grid-template-columns:250px 1fr; gap:30px; align-items:start; }
.destination-browser aside { background:white; border:1px solid var(--line); padding:18px; position:sticky; top:110px; }
.destination-browser aside h2 { font:800 19px Manrope,sans-serif; margin:0 0 12px; padding:0 8px; }
.continent-button { width:100%; border:0; background:transparent; padding:11px 9px; color:#5c6b81; display:flex; align-items:center; justify-content:space-between; border-radius:7px; font-weight:700; text-align:left; }
.continent-button b { background:#eef4fb; color:#6d7d94; font-size:10px; padding:3px 7px; border-radius:999px; }
.continent-button:hover,.continent-button.active { background:var(--blue); color:white; }
.continent-button.active b { background:rgba(255,255,255,.2); color:white; }
.country-browser { min-width:0; }
.country-browser__head { margin-bottom:22px; }
.country-browser__head h2 { font:800 34px Manrope,sans-serif; margin:10px 0 5px; letter-spacing:-.03em; }
.country-browser__head p { color:var(--muted); margin:0; }
.country-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.country-card { min-height:175px; background:white; border:1px solid var(--line); padding:20px; color:inherit; display:flex; flex-direction:column; transition:.2s ease; }
.country-card:hover { border-color:#9fc5f6; box-shadow:0 14px 34px rgba(8,45,99,.09); transform:translateY(-2px); }
.country-card__count { align-self:flex-start; color:var(--blue); background:var(--sky); border-radius:999px; padding:5px 9px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.country-card h3 { font:800 20px Manrope,sans-serif; margin:16px 0 6px; color:var(--navy); }
.country-card p { margin:0; color:#6b7890; font-size:12px; line-height:1.6; }
.country-card > strong { margin-top:auto; padding-top:18px; color:var(--blue); font-size:12px; }
.country-card > strong span { margin-left:5px; }

/* Country airport selector */
.country-page-hero { min-height:390px; }
.destination-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:26px; color:#d8eaff; font-size:12px; }
.destination-breadcrumb a { color:white; }
.destination-breadcrumb strong { color:#9ec9ff; }
.country-page { display:grid; gap:28px; }
.country-page__head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.country-page__head h2 { margin:9px 0 7px; font:800 34px Manrope,sans-serif; letter-spacing:-.03em; color:var(--navy); }
.country-page__head p { margin:0; color:var(--muted); }
.country-page__head > a { color:var(--blue); font-size:13px; font-weight:800; white-space:nowrap; }
.airport-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.airport-card { position:relative; min-height:245px; overflow:hidden; background:white; border:1px solid var(--line); padding:26px; color:inherit; display:flex; flex-direction:column; transition:.2s ease; }
.airport-card::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--blue),#68b7ff); }
.airport-card:hover { border-color:#9fc5f6; box-shadow:0 18px 42px rgba(8,45,99,.11); transform:translateY(-3px); }
.airport-card__code { align-self:flex-start; min-width:62px; height:45px; display:grid; place-items:center; border-radius:8px; background:var(--navy); color:white; font:800 16px Manrope,sans-serif; letter-spacing:.08em; }
.airport-card div { margin-top:24px; }
.airport-card div > span { color:var(--blue); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.airport-card h3 { margin:7px 0 6px; color:var(--navy); font:800 22px Manrope,sans-serif; }
.airport-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.airport-card > strong { margin-top:auto; padding-top:22px; color:var(--blue); font-size:13px; }
.country-help { background:linear-gradient(115deg,var(--navy),#075cc7); color:white; padding:50px 0; }
.country-help__inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.country-help h2 { margin:7px 0; font:800 30px Manrope,sans-serif; }
.country-help p { margin:0; color:#d6e7fb; }

/* Compact return-flight results */
.results-layout--compact { grid-template-columns:265px 1fr; gap:22px; }
.result-filters { padding:0; overflow:hidden; }
.filter-title { background:var(--navy); color:white; padding:16px 18px; display:flex; justify-content:space-between; align-items:center; }
.filter-title span { font:800 15px Manrope,sans-serif; }
.filter-title button { border:0; background:transparent; color:#9bd5ff; font-size:11px; font-weight:700; }
.result-filters .filter-group { padding:18px; margin:0; }
.result-filters .filter-group strong { display:block; margin-bottom:10px; }
.result-filters .filter-group label { align-items:center; }
.result-filters .filter-group p { font-size:12px; color:var(--muted); margin:0; }
.filter-airline-code { display:inline-grid; place-items:center; min-width:28px; height:23px; margin-right:2px; border-radius:5px; background:var(--sky); color:var(--blue); font-size:9px; font-weight:800; }
.results-toolbar { background:white; border:1px solid var(--line); padding:15px 17px; margin-bottom:12px; }
.results-toolbar p { margin:2px 0 0; color:var(--muted); font-size:12px; }
.results-toolbar select { border:1px solid var(--line); background:white; padding:8px 10px; color:#4e5d73; border-radius:6px; }
.compact-fare { display:block; margin-bottom:14px; border-radius:10px; overflow:hidden; }
.compact-fare header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:13px 17px; border-bottom:1px solid var(--line); }
.fare-airline { display:flex; align-items:center; gap:11px; }
.fare-airline > div { display:grid; }
.fare-airline strong { font:800 15px Manrope,sans-serif; }
.fare-airline strong span { font-weight:600; color:var(--muted); }
.fare-airline small { color:var(--muted); }
.availability-tag { color:var(--green); background:#e8f8f2; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.compact-fare__body { display:grid; grid-template-columns:1fr 155px; }
.fare-legs { min-width:0; }
.result-leg { display:grid; grid-template-columns:82px 74px 1fr 74px; align-items:center; gap:12px; padding:14px 17px; border-bottom:1px solid #eef2f6; }
.leg-direction { color:var(--navy); font-weight:800; font-size:12px; }
.leg-direction small { display:block; color:var(--muted); font-weight:500; margin-top:2px; }
.leg-airports strong { display:block; font:800 18px Manrope,sans-serif; }
.leg-airports span { color:var(--muted); font-size:11px; }
.leg-line { text-align:center; color:var(--muted); min-width:100px; }
.leg-line small,.leg-line b { display:block; font-size:10px; font-weight:600; }
.leg-line i { display:block; height:1px; background:#b8c8da; position:relative; margin:5px 0; }
.leg-line i::after { content:'✈'; position:absolute; right:-2px; top:-10px; color:var(--blue); font-style:normal; font-size:13px; }
.fare-legs footer { padding:10px 17px; display:flex; gap:18px; flex-wrap:wrap; color:#647289; font-size:11px; }
.compact-fare__price { background:#f5f9ff; border-left:1px solid var(--line); padding:20px 15px; display:flex; flex-direction:column; justify-content:center; align-items:stretch; text-align:center; }
.compact-fare__price small,.compact-fare__price span { color:var(--muted); font-size:10px; }
.compact-fare__price strong { color:var(--navy); font:800 28px Manrope,sans-serif; margin:2px 0; }
.compact-fare__price .btn-primary { margin-top:11px; padding:10px; }

/* My Booking */
.my-booking-login { min-height:690px; display:flex; align-items:center; background:linear-gradient(115deg,rgba(4,27,65,.97) 0%,rgba(6,61,137,.9) 52%,rgba(11,104,220,.72) 100%),url('/assets/hero-flight.jpg') center/cover; color:white; }
.my-booking-login__inner { display:grid; grid-template-columns:1fr 440px; gap:85px; align-items:center; padding:72px 0; }
.my-booking-copy { max-width:650px; }
.my-booking-copy .eyebrow { color:#83d2ff; }
.my-booking-copy h1 { font:800 clamp(48px,6vw,76px)/1 Manrope,sans-serif; letter-spacing:-.055em; margin:15px 0 22px; }
.my-booking-copy > p { color:#d4e5fa; font-size:18px; line-height:1.7; max-width:590px; }
.my-booking-points { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:30px; color:#e3effd; font-size:13px; }
.my-booking-points span { display:flex; align-items:center; gap:8px; }
.my-booking-points i { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:#25b985; color:white; font-style:normal; font-size:11px; }
.booking-login-card { background:white; color:var(--ink); padding:34px; box-shadow:0 28px 70px rgba(0,17,48,.28); border-top:5px solid var(--blue-2); }
.booking-login-icon { width:50px; height:50px; display:grid; place-items:center; background:var(--sky); color:var(--blue); border-radius:12px; font-size:23px; margin-bottom:19px; }
.booking-login-card h2 { font:800 28px Manrope,sans-serif; margin:0 0 6px; }
.booking-login-card > p { color:var(--muted); margin:0 0 24px; }
.booking-login-card .field { margin-bottom:16px; }
.booking-login-card input { text-transform:none; letter-spacing:0; }
.booking-login-card input[name="pnr"] { text-transform:uppercase; letter-spacing:.18em; font-weight:800; }
.booking-login-card .search-submit { width:100%; margin-top:5px; }
.booking-login-card > small { display:block; color:var(--muted); text-align:center; margin-top:13px; }
.my-booking-hero { background:linear-gradient(118deg,#052451,#0b64ce); color:white; }
.my-booking-hero__inner { min-height:250px; padding:50px 0; display:flex; justify-content:space-between; align-items:center; gap:40px; }
.my-booking-hero h1 { font:800 clamp(34px,5vw,54px)/1.08 Manrope,sans-serif; letter-spacing:-.045em; margin:12px 0; }
.my-booking-hero p { color:#cce1fa; margin:0; }
.booking-reference { min-width:250px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:23px 26px; display:grid; }
.booking-reference span,.booking-reference small { color:#bed7f6; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.booking-reference strong { font:800 36px Manrope,sans-serif; letter-spacing:.18em; margin:6px 0; }
.my-booking-section { background:#f4f7fb; }
.my-booking-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:26px; align-items:start; }
.booking-confirmation-card,.approval-card { background:white; border:1px solid var(--line); box-shadow:0 12px 34px rgba(7,41,95,.07); }
.booking-confirmation-card > header { padding:24px 27px; display:flex; justify-content:space-between; align-items:flex-start; gap:20px; border-bottom:1px solid var(--line); }
.booking-label { color:var(--blue); text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:800; }
.booking-confirmation-card h2 { font:800 24px Manrope,sans-serif; margin:7px 0 0; color:var(--navy); }
.booking-confirmation-card h2 span { color:var(--blue); padding:0 6px; }
.booking-status { padding:7px 11px; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.booking-status--pending { background:#fff3dc; color:#9a6200; }
.booking-status--approved { background:#e5f8f1; color:#087d59; }
.booking-status--active { background:var(--sky); color:var(--blue); }
.confirmation-route { margin:25px 27px 0; padding:20px; background:linear-gradient(120deg,#f7faff,#edf6ff); display:grid; grid-template-columns:1fr 180px 1fr; align-items:center; }
.confirmation-route > div:first-child,.confirmation-route > div:last-child { display:grid; gap:4px; }
.confirmation-route > div:last-child { text-align:right; }
.confirmation-route small,.booking-detail-grid span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.confirmation-route strong { color:var(--navy); font:800 17px Manrope,sans-serif; }
.confirmation-route span { color:var(--blue); font-size:11px; font-weight:800; }
.confirmation-flight-line { text-align:center; }
.confirmation-flight-line i { display:block; height:1px; background:#9db8d8; margin:8px 0; position:relative; }
.confirmation-flight-line i::after { content:'✈'; position:absolute; right:45%; top:-11px; color:var(--blue); background:#f2f8ff; padding:0 5px; font-style:normal; }
.confirmation-flight-line b { color:var(--blue); font-size:11px; }
.booking-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:12px 27px 27px; }
.booking-detail-grid > div { min-height:94px; padding:18px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.booking-detail-grid > div:nth-child(4n) { border-right:0; }
.booking-detail-grid strong { color:var(--navy); font-size:13px; }
.booking-detail-grid small { color:var(--muted); font-size:11px; }
.passenger-confirmation { margin:0 27px 27px; border:1px solid var(--line); }
.passenger-confirmation h3 { margin:0; padding:12px 15px; background:#f7f9fc; font:800 13px Manrope,sans-serif; }
.passenger-confirmation div { padding:15px; display:flex; flex-wrap:wrap; gap:12px 28px; color:#526178; font-size:12px; }
.approval-card { padding:28px; position:sticky; top:105px; }
.approval-card h2 { font:800 25px/1.15 Manrope,sans-serif; color:var(--navy); margin:13px 0 10px; }
.approval-card p { color:var(--muted); line-height:1.65; font-size:13px; }
.approval-card ul { list-style:none; padding:0; margin:20px 0; display:grid; gap:10px; color:#4b5a70; font-size:12px; }
.approval-card li::before { content:'✓'; color:var(--green); font-weight:900; margin-right:9px; }
.approval-card .btn-primary { width:100%; border:0; padding:13px; }
.approval-card > small { display:block; color:var(--muted); text-align:center; line-height:1.5; margin-top:12px; }
.approval-complete { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; background:#e5f8f1; color:var(--green); font-size:27px; font-weight:800; }
.payment-due { margin:20px 0 16px; padding:18px; border:1px solid #c8def7; background:linear-gradient(135deg,#f5faff,#e9f4ff); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.payment-due span,.payment-method-note span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.payment-due strong { color:var(--navy); font:800 23px Manrope,sans-serif; }
.pay-now-button { font-size:15px; box-shadow:0 9px 22px rgba(0,105,230,.2); }
.payment-method-note,.payment-receipt { margin:20px 0 4px; padding:16px; border:1px solid var(--line); background:#f7f9fc; display:grid; gap:5px; }
.payment-method-note strong,.payment-receipt span { color:var(--navy); font-size:14px; }
.payment-method-note small,.payment-receipt small { color:var(--muted); font-size:11px; }
.customer-bank-details { margin:12px 0 2px; border:1px solid #cfe0f2; background:white; }
.customer-bank-details div { display:grid; grid-template-columns:112px 1fr; gap:12px; padding:9px 11px; border-bottom:1px solid #e3edf7; }
.customer-bank-details div:last-child { border-bottom:0; }
.customer-bank-details dt { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.customer-bank-details dd { margin:0; color:var(--navy); font-size:12px; font-weight:800; overflow-wrap:anywhere; }
.payment-test-badge { display:inline-flex; padding:6px 9px; border-radius:999px; background:#fff2ce; color:#8a5a00; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.customer-payment-form { display:grid; gap:12px; margin-top:18px; }
.customer-payment-form label { display:grid; gap:6px; color:var(--navy); font-size:11px; font-weight:800; }
.customer-payment-form input { width:100%; border:1px solid #c8d8ea; border-radius:6px; background:#fbfdff; color:var(--navy); font:600 14px Inter,sans-serif; padding:12px; outline:0; }
.customer-payment-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,105,230,.1); }
.payment-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.customer-payment-form .payment-cancel { border:0; background:transparent; color:var(--blue); font-weight:800; padding:7px; cursor:pointer; }
.customer-payment-form > small { margin-top:0; padding-top:10px; border-top:1px solid var(--line); }
.btn-secondary-link { display:block; text-align:center; background:var(--sky); color:var(--blue); font-weight:800; padding:12px; margin-top:20px; }
.booking-signout { width:100%; border:0; background:transparent; color:var(--blue); font-weight:700; margin-top:18px; font-size:12px; }

@media (max-width: 1000px) {
  .hero__content { grid-template-columns:1fr; }
  .hero__copy { max-width:720px; }
  .destination-grid { grid-template-columns:repeat(2,1fr); }
  .fare-strip { grid-template-columns:repeat(2,1fr); }
  .benefit-grid { grid-template-columns:repeat(2,1fr); }
  .main-nav { gap:18px; }
  .nav-call { display:none; }
  .fare-card { grid-template-columns:125px 1fr 155px; }
  .footer-grid { grid-template-columns:1.3fr repeat(2,1fr); }
  .footer-grid > div:last-child { grid-column:2; }
  .mega-menu__grid { grid-template-columns:repeat(4,1fr); max-height:70vh; overflow:auto; }
  .mega-menu__grid section { border-bottom:1px solid var(--line); }
  .country-grid { grid-template-columns:repeat(2,1fr); }
  .airport-grid { grid-template-columns:repeat(2,1fr); }
  .destination-guide-hero__grid{grid-template-columns:1fr 420px;gap:40px}.destination-fact-bar{grid-template-columns:repeat(2,1fr)}.destination-fact-bar>div:nth-child(2){border-right:0}.destination-fact-bar>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.destination-editorial{grid-template-columns:1fr}.destination-arrival-card{width:min(100%,620px)}
  .about-premium-hero__grid{grid-template-columns:1fr 430px;gap:40px}.about-story{grid-template-columns:1fr}.contact-premium-grid{grid-template-columns:1fr 1.2fr;gap:35px}.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}.legal-document{padding:34px}
  .my-booking-login__inner { grid-template-columns:1fr 390px; gap:40px; }
  .my-booking-layout { grid-template-columns:1fr; }
  .approval-card { position:static; }
  .booking-detail-grid { grid-template-columns:repeat(2,1fr); }
  .booking-detail-grid > div:nth-child(4n) { border-right:1px solid var(--line); }
  .booking-detail-grid > div:nth-child(2n) { border-right:0; }
}

@media (max-width: 760px) {
  .shell { width:min(100% - 28px,1180px); }
  .top-strip__inner > span { display:none; }
  .top-strip__inner { justify-content:center; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:78px; left:0; right:0; background:white; padding:18px 22px 25px; border-top:1px solid var(--line); box-shadow:var(--shadow); align-items:stretch; flex-direction:column; gap:0; }
  .main-nav.open { display:flex; }
  .main-nav > a:not(.nav-call), .nav-dropdown > button { padding:12px 0; width:100%; text-align:left; }
  .nav-dropdown__menu { position:static; transform:none; box-shadow:none; border:0; padding:0 0 8px 12px; width:auto; max-height:55vh; overflow:auto; }
  .mega-menu__head { display:none; }
  .mega-menu__grid { grid-template-columns:1fr 1fr; }
  .mega-menu__grid section { padding:12px; }
  .mega-menu__grid section > a:not(.mega-region):not(.mega-more) { display:none; }
  .hero { min-height:0; }
  .hero__content { padding:52px 0 68px; gap:34px; }
  .hero h1 { font-size:43px; }
  .search-panel { padding:21px; }
  .search-panel__head { align-items:flex-start; gap:12px; }
  .fixed-fare-label { display:none; }
  .field-grid, .traveller-row { grid-template-columns:1fr; }
  .field--wide, .traveller-row, .search-submit, .privacy-note { grid-column:auto; }
  .section { padding:67px 0; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .destination-grid, .fare-strip, .benefit-grid { grid-template-columns:1fr; }
  .destination-card { min-height:300px; }
  .quote-band__inner { align-items:flex-start; flex-direction:column; }
  .landing-body, .about-grid, .contact-grid { grid-template-columns:1fr; }
  .side-card { position:static; }
  .results-hero__top { align-items:flex-start; flex-direction:column; }
  .results-layout { grid-template-columns:1fr; }
  .filters { display:none; }
  .results-layout--compact .result-filters { display:block; }
  .result-filters .filter-group:nth-of-type(2) { display:none; }
  .compact-fare__body { grid-template-columns:1fr; }
  .compact-fare__price { border-left:0; border-top:1px solid var(--line); align-items:center; }
  .compact-fare__price .btn-primary { width:min(260px,100%); }
  .destination-browser { grid-template-columns:1fr; }
  .destination-browser aside { position:static; display:flex; overflow:auto; gap:6px; }
  .destination-browser aside h2 { display:none; }
  .continent-button { min-width:max-content; width:auto; gap:9px; }
  .country-grid { grid-template-columns:1fr; }
  .country-page__head,.country-help__inner { align-items:flex-start; flex-direction:column; }
  .country-page__head > a { white-space:normal; }
  .airport-grid { grid-template-columns:1fr; }
  .destination-guide-hero{padding:45px 0 85px}.destination-guide-hero__grid{grid-template-columns:1fr}.destination-guide-media{height:420px}.destination-code{left:18px}.destination-fact-bar{margin-top:-35px;grid-template-columns:1fr}.destination-fact-bar>div{border-right:0;border-bottom:1px solid var(--line)!important}.destination-fact-bar>div:last-child{border-bottom:0!important}.landing-search--premium{margin-top:-45px}.destination-planning-grid{grid-template-columns:1fr}.destination-editorial article>h2{font-size:34px}
  .about-premium-hero__grid,.about-story,.contact-premium-grid,.legal-layout{grid-template-columns:1fr}.about-premium-image{height:430px}.about-premium-image>div{left:15px}.about-values{grid-template-columns:1fr}.about-numbers .shell{grid-template-columns:1fr}.about-numbers .shell>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.about-numbers .shell>div:last-child{border-bottom:0}.contact-premium-hero{min-height:450px;padding:75px 0}.contact-card--premium{padding:26px}.legal-nav{position:static}.legal-nav>a{display:none}.legal-document{padding:25px 22px}.legal-document>section{grid-template-columns:1fr}.legal-document>section>span{margin-bottom:-6px}
  .calendar-popover { top:220px; right:20px; left:20px; width:auto; }
  .my-booking-login__inner { grid-template-columns:1fr; gap:30px; }
  .my-booking-copy h1 { font-size:46px; }
  .my-booking-hero__inner { align-items:flex-start; flex-direction:column; }
  .booking-reference { min-width:0; width:100%; }
  .confirmation-route { grid-template-columns:1fr; gap:16px; }
  .confirmation-route > div:last-child { text-align:left; }
  .confirmation-flight-line { text-align:left; }
  .confirmation-flight-line i::after { right:auto; left:45%; }
  .fare-card { grid-template-columns:1fr; }
  .fare-card__airline, .fare-card__buy { border:0; }
  .fare-card__airline { padding-bottom:0; }
  .fare-card__buy { align-items:stretch; }
  .booking-grid { grid-template-columns:1fr; }
  .summary-card { position:static; grid-row:1; }
  .steps__inner { grid-template-columns:repeat(4,auto); overflow:auto; }
  .step span { display:none; }
  .passenger-fields, .card-grid { grid-template-columns:1fr; }
  .card-grid .field--wide { grid-column:auto; }
  .about-visual__stat { right:15px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
  .floating-help b { display:none; }
}

@media (max-width: 470px) {
  .top-strip__inner div { font-size:11px; }
  .brand { font-size:16px; }
  .brand img { width:42px; height:42px; }
  .brand--allied img { width:auto; height:46px; max-width:205px; }
  .route-line { font-size:21px; }
  .times { gap:8px; }
  .fare-card__journey { padding:18px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > div:first-child { grid-column:auto; }
  .result-leg { grid-template-columns:65px 58px 1fr 58px; gap:6px; padding:12px 10px; }
  .leg-airports strong { font-size:15px; }
  .compact-fare header { align-items:flex-start; }
  .availability-tag { display:none; }
  .calendar-popover { left:10px; right:10px; padding:12px; }
}
.delivery-confirm-copy{margin:16px 0 10px!important;padding-top:14px;border-top:1px solid var(--line)}.delivery-confirmed-note{margin:16px 0;padding:12px;border:1px solid #bfe6d9;background:#edf9f5;color:#087758;font-size:10px;font-weight:700}
