/* Flight Booking Deals — violet, lilac white and electric citron. */
:root {
  color-scheme: light;
  --citron: #def58b;
  --ink: #2e1c41;
  --muted: #736582;
  --teal: #42285e;
  --teal-dark: #2a1a3c;
  --accent: #6d3cdc;
  --accent-hover: #5831b7;
  --mint: #f3f0f6;
  --paper: #fafaf8;
  --line: #e4dfe9;
  --coral: #6d3cdc;
  --radius: 20px;
  --shadow: 0 18px 54px rgba(20,43,66,.09);
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --sans: var(--font);
  --serif: Georgia, "Times New Roman", serif;
}
body { background: var(--paper); color: var(--ink); }
::selection { background: #e4dfea; color: #2a1a3c; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #886da5; outline-offset: 4px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #a793bd; }
h1, h2.display, .closing-banner h2, .subhero h1 { font-family: var(--font); font-weight: 600; letter-spacing: -.045em; }
h2.display { line-height: 1.16; }
.eyebrow { letter-spacing: .15em; }
.eyebrow:before { width: 20px; background: var(--accent); }

/* A compact wordmark keeps navigation and calling easy to reach. */
.site-header { background: rgba(255,255,255,.97); border-top: 0; border-bottom: 1px solid #eae7ee; }
.header-inner { gap: 20px; }
.brand { gap: 10px; }
.brand-mark { position: relative; flex: none; width: 42px; height: 42px; border-radius: 12px; background: #2e1c41; color: #fff; transform: none; box-shadow: none; }
.brand-mark svg { width: 34px; height: 34px; transform: none; stroke-width: 1.6; }
.brand-mark .brand-trail { stroke: #def58b; stroke-width: 2; }
.brand-name { color: #2e1c41; font: 700 23px/1 var(--font); letter-spacing: -.055em; }
.brand-name>span:not(.brand-caption) { color: inherit; font-weight: 450; }
.brand-caption { font: 650 8px/1.2 var(--font); letter-spacing: .27em; margin-top: 7px; color: #847891; }
.header-nav { gap: 22px; }
.header-nav a { font-size: 12px; font-weight: 600; color: #6a5d78; }
.header-nav a:hover, .header-nav a[aria-current=page] { color: #2e1c41; }
.header-nav a[aria-current=page]:after { background: var(--accent); height: 2px; }
.header-actions { gap: 15px; }
.header-phone { color: #2e1c41; font-variant-numeric: tabular-nums; }
.header-phone .icon { color: #71598a; }
.menu-toggle { color: #2e1c41; background: #fff; border-color: #e4dfe9; }

.button { background: var(--accent); color: #fff; border-radius: 10px; font-weight: 650; }
.button:hover { background: var(--accent-hover); color: #fff; box-shadow: 0 6px 18px #bf3f421c; }
.button.small { font-size: 12px; padding-inline: 15px; }
.button.secondary { background: #fff; color: #2e1c41; border-color: #e0d9e7; }
.button.secondary:hover { background: #f4f2f6; color: #2e1c41; box-shadow: none; }

/* Navy glass leaves the aircraft photograph visible. */
.hero { background: #2a1a3c; }
.hero:before { background: linear-gradient(90deg,rgba(13,32,51,.94),rgba(17,39,60,.77) 38%,rgba(17,39,60,.15) 82%),linear-gradient(0deg,rgba(17,39,60,.25),transparent 65%); }
.hero:after { opacity: .65; }
.hero h1 { font-family: var(--font); font-size: clamp(2.6rem,4.35vw,4.15rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.09; }
.hero h1 em { color: #def58b; font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.035em; }
.hero .eyebrow { color: #dbd4e3; }
.hero-copy>p { color: #e3dde9; }
.hero-note { background: #ffffff08; border-color: #ffffff2e; color: #f1eff4; padding: 8px 13px; }
.hero-offer, .call-site .hero-offer { background: linear-gradient(140deg,rgba(16,36,56,.68),rgba(16,36,56,.48)); border-color: #ffffff36; border-radius: 18px; box-shadow: 0 16px 40px #1c11281f,inset 0 1px 0 #ffffff0d; text-shadow: none; }
.hero-offer h2 { font-family: var(--font); font-weight: 600; letter-spacing: -.025em; }
.hero-offer-kicker { color: #e0eac0; }
.hero-offer-description { color: #e9e4ee; }
.hero-offer-disclosure { color: #dbd4e3; }

/* The form stays bright and quiet; the request button is the main red element. */
.booking-card { border-color: #e5e0ea; border-radius: 20px; box-shadow: 0 18px 54px #2a1a3c17; }
.trip-types { background: #f3f1f6; }
.trip-option input:checked+span { color: #2e1c41; box-shadow: 0 2px 8px #2a1a3c0d; }
.trip-option input:focus-visible+span { outline-color: #886da5; }
.field label { color: #685a77; font-weight: 650; }
.field label .icon, .form-heading .icon { color: #7f6c94; }
.field input, .field select, .field textarea { border-color: #e2dce8; background-color: #fff; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: #b4a6c3; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #71558f; box-shadow: 0 0 0 3px #42285e10; }
.field input[aria-invalid=true], .field select[aria-invalid=true], .field textarea[aria-invalid=true] { border-color: #bd472e; background: #fffaf8; }
.swap-button { color: #42285e; background: #f4f2f7; box-shadow: 0 0 0 1px #e2dce9; }
.swap-button:hover { background: #eae5ef; }
.fields-contact, .multi-city-fields { border-color: #ece9f0; }
.traveler-change, .add-email, .more-options { color: #42285e; }
.traveler-options { border-color: #e2dce9; box-shadow: 0 12px 30px #2a1a3c17; }
.traveler-done { background: #f1eff4; color: #42285e; }
.extra-options { background: #f7f6f8; }
.airport-options { border-color: #e2dce9; box-shadow: 0 12px 36px #2a1a3c1f; }
.airport-option:hover, .airport-option[aria-selected=true] { background: #f3f1f6; }
.airport-code { color: #42285e; background: #f4f2f7; border-color: #e3ddea; }
.calendar-day:hover:not(:disabled), .calendar-day:focus-visible { background: #eeebf2; color: #2a1a3c; }
.calendar-day.is-selected, .calendar-day.is-selected:hover { background: #42285e; color: #fff; }
.calendar-nav, .calendar-close { background: #f7f5f9; color: #42285e; border-color: #e5dfeb; }
.calendar-day.is-today { border-color: #a08cb5; }
.journey-plane, .journey-place strong { color: #42285e; }

.section-heading .eyebrow, .split-section .eyebrow, .subhero .eyebrow { color: #786a88; }
.step-number { color: #a091af; font-family: var(--font); font-size: 1.9rem; font-weight: 400; letter-spacing: -.05em; }
.process-step h3 { color: #2e1c41; }
.airlines-section { background: #f2f0f5; border-block-color: #e8e4ed; }
.airline-chip { background: #fff; border-color: #e2dce8; color: #49355e; border-radius: 9px; }
.airline-chip .icon { color: #8f7ca4; }
.airline-chip:hover { border-color: #b2a5c0; background: #fbfafc; }
.airline-chip[aria-pressed=true] { border-color: #826b9b; background: #edeaf1; color: #2e1c41; }
.airline-chip[aria-pressed=true] .icon { color: #6d3cdc; }
.planning-card { border-color: #e5e0ea; border-radius: 16px; box-shadow: 0 4px 14px #2a1a3c03; }
.planning-card:hover { box-shadow: 0 12px 30px #2a1a3c0d; }
.card-symbol, .planning-card:nth-child(2) .card-symbol, .planning-card:nth-child(3) .card-symbol { background: #f1eff4; color: #51366e; border-radius: 12px; }
.flight-path-decoration { color: #c9bed5; opacity: .24; }
.closing-banner { background: linear-gradient(120deg,#2a1a3c,#3b2454); border-radius: 20px; }
.closing-banner h2 { font-weight: 550; }
.closing-banner p { color: #d9d1e2; }
.closing-banner .button { background: #fff; color: #2e1c41; }
.closing-banner .button:hover { background: #f1eff4; color: #2a1a3c; }
.subhero { background: linear-gradient(120deg,#f2f0f5,#f7f7f4); border-color: #e6e1eb; }
.subhero h1 { font-size: clamp(2.2rem,4vw,3.5rem); }
.soft-section { background: #f4f2f6; }
.prose h2, .prose h3 { color: #2e1c41; }
.trust-links { background: #f3f1f5; border-color: #e6e1eb; }
.trust-links strong { color: #594470; }
.trust-links a { color: #42285e; }
.information-card { background: #fff; border-color: #e5e0ea; }
.information-card:hover { background: #f8f6fa; border-color: #c6bad3; }
.information-number { color: #9a8baa; }
.information-action { color: #42285e; }
.related-policies { border-color: #e5e0ea; }
.contact-info { background: #f1eff4; border-color: #e5e0eb; }
.role-card, .contact-form { border-color: #e4dfea; }

.site-footer { background: #251735; color: #eeeaf2; border-color: #251735; }
.site-footer .brand-mark { background: #392351; }
.site-footer .brand-name, .site-footer .brand-name>span:not(.brand-caption) { color: #fff; }
.site-footer .brand-caption { color: #b8aac8; }
.site-footer p, .site-footer address, .site-footer .footer-col, .site-footer .footer-description, .site-footer .footer-disclosure, .site-footer .footer-bottom { color: #c5b8d2; }
.site-footer h3, .site-footer .footer-col h3, .site-footer .footer-disclosure strong { color: #f2f0f5; }
.site-footer a, .site-footer .footer-col li a, .footer-links a { color: #d6cddf; }
.site-footer a:hover { color: #fff; }
.site-footer .footer-phone { color: #fff; }
.site-footer .footer-disclosure, .site-footer .footer-bottom { border-color: #ffffff20; }
.flightdeals-operator { font-size: 12px; line-height: 1.7; margin: 0 0 26px; padding-bottom: 20px; border-bottom: 1px solid #ffffff20; color: #c5b8d2; }
.flightdeals-operator strong { font-weight: 650; color: #ece8f1; }
.cookie-banner.cookie-notice { background: rgba(17,38,59,.94); }
.cookie-notice .cookie-banner-copy p a, .cookie-notice .cookie-preferences a { color: #e2dce8; }
.cookie-notice button:focus-visible, .cookie-notice a:focus-visible { outline-color: #cabed6; }
.cookie-notice .cookie-banner-actions button, .cookie-notice .cookie-banner-actions [data-cookie-accept] { border-color: #c5b8d2; }

/* Payment is part of the same visual system. Account data and scripts are unchanged. */
.payment-hero .hero-copy h1 { color: #2e1c41; font-family: var(--font); font-weight: 600; letter-spacing: -.05em; }
.payment-hero .hero-copy h1 em { color: #62497d; font-family: var(--serif); font-weight: 400; }
.available-methods span { background: #fff; border-color: #e2dce9; color: #614d76; }
.bank-card { background: linear-gradient(140deg,#40275b,#2a1a3c 72%,#382250); border-color: #ffffff26; border-radius: 22px; box-shadow: 0 24px 50px #2a1a3c1c; }
.bank-icon { color: #ded7e5; background: #ffffff0c; }
.bank-badge { color: #dfd8e6; }
.bank-description, .bank-overline, .bank-foot, .detail-row dt { color: #cfc5da; }
.bank-foot .status-dot { background: #adcabd; }
.copy-button { color: #ddd6e4; }
.copy-button[data-copied] { background: #d9ece4; color: #214e3e; }
.copy-status { color: #d9ece4; }
.before-note>.icon, .contact-link { color: #62497d; }
.method-icon { background: #f1eff4; color: #51366e; }
.method-tag { border-color: #e4deea; color: #7c6990; }
.section-heading h2, .checklist-heading h2, .guidance-section h2, .help-banner h2 { font-family: var(--font); font-weight: 600; letter-spacing: -.04em; }
.step-index { color: #9b8bac; font-family: var(--font); }
.help-banner { background: #f1eff4; border-color: #e4deea; }
.help-call { background: #fff; border-color: #dbd3e3; color: #2e1c41; }
.help-call:hover { background: #2e1c41; color: #fff; box-shadow: none; }

.call-site .call-role-strip { background: #f1eff4; border-color: #e4deea; color: #604b77; }
.call-role-strip a, .call-mini-links a, .call-site .text-link, .call-routing a { color: #42285e; }
.call-site .hero .hero-call-disclosure, .call-device-note { color: #ddd6e5; }
.hero-call-disclosure a, .closing-call-disclosure a { color: #eae5ef; }
.call-panel, .call-contact-card { border-color: #e5dfeb; box-shadow: 0 18px 45px #2a1a3c0f; }
.call-panel-copy h2, .call-contact-card h2 { font-family: var(--font); font-weight: 600; letter-spacing: -.04em; }
.call-panel-action { background: #f4f2f6; border-color: #e5e0eb; }
.call-big-number { color: #2e1c41; }
.call-site .soft-section { background: #f3f1f6; }

@media(min-width:1121px) {
  .header-inner>.brand { flex: none; }
  .header-nav { gap: 19px; }
}
@media(max-width:1200px) {
  .header-actions>.button.small { display: none; }
}
@media(max-width:1120px) {
  .header-inner { gap: 16px; }
  .header-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 12px 24px 18px; background: #fff; border-bottom: 1px solid #e6e1eb; box-shadow: 0 12px 25px #2a1a3c0d; flex-direction: column; align-items: stretch; gap: 0; }
  .header-nav.is-open { display: flex; }
  .header-nav a { padding: 12px 8px; border-bottom: 1px solid #f1eef4; font-size: 14px; }
  .header-nav a[aria-current=page] { background: #f4f2f6; border-radius: 6px; }
  .header-nav a[aria-current=page]:after { display: none; }
  .menu-toggle { display: flex; }
  .header-phone { font-size: 12px; }
}
@media(max-width:680px) {
  .brand, .call-site .brand { gap: 8px; }
  .brand-name, .call-site .brand-name { font-size: 20px; }
  .brand-mark, .call-site .brand-mark { width: 35px; height: 35px; border-radius: 10px; }
  .brand-mark svg, .call-site .brand-mark svg { width: 29px; height: 29px; }
  .brand-caption, .call-site .brand-caption { font-size: 7px; letter-spacing: .24em; margin-top: 6px; }
  .header-inner { gap: 10px; }
  .header-actions { gap: 8px; }
  .mobile-phone-first .header-phone { background: #f3f1f6; color: #2e1c41; border-color: #e3ddea; }
  .mobile-phone-first .mobile-call-choice { background: #fff; border-color: #e3ddea; border-radius: 16px; box-shadow: 0 8px 26px #2a1a3c0c; }
  .mobile-call-choice .eyebrow { color: #78628f; }
  .mobile-call-choice .button, .mobile-phone-first .mobile-call-action { background: #2e1c41; color: #fff; }
  .mobile-phone-first .mobile-call-action:hover { background: #41285c; }
  .mobile-form-link { color: #42285e; border-color: #e3ddea; }
  .mobile-call-disclosure { color: #7b6890; }
  .mobile-phone-first .mobile-call-bar { border-color: #e3ddea; box-shadow: 0 5px 25px #2a1a3c1c; }
  .hero h1 { font-size: clamp(2.2rem,8.4vw,2.8rem); line-height: 1.1; }
  .hero-offer h2 { font-size: 1.3rem; }
  .hero-offer { border-radius: 15px; }
  .booking-card { border-radius: 17px; }
  .closing-banner { border-radius: 17px; }
  .flightdeals-operator { font-size: 11px; margin-bottom: 23px; }
  .call-site .header-actions .button.small { display: none; }
  .call-site .mobile-phone { background: #2e1c41; border-color: #2e1c41; color: #fff; }
  .call-site .call-sticky .button { background: var(--accent); color: #fff; }
}
@media(max-width:360px) {
  .brand-name, .call-site .brand-name { font-size: 17px; }
  .brand-mark, .call-site .brand-mark { width: 31px; height: 31px; }
  .brand-mark svg, .call-site .brand-mark svg { width: 26px; height: 26px; }
  .header-inner { gap: 7px; }
  .header-actions { gap: 6px; }
}
@media(prefers-reduced-motion:reduce) {
  .button, .planning-card { transition: none; }
  .button:hover, .planning-card:hover { transform: none; }
}
@media print {
  .site-footer, .bank-card { background: #fff!important; color: #2e1c41!important; }
  .site-footer *, .bank-card * { color: #2e1c41!important; }
  .hero:before { background: #fff; }
  .hero h1, .hero h1 em, .hero-copy>p { color: #2e1c41; }
}

/* Signature details for Flight Booking Deals. */
:root{--ink:#2e2145;--muted:#6c6378;--mint:#f2eef8;--paper:#fbfaff;--line:#e5dfed;--teal:#644099;--teal-dark:#4d2f79;--accent:#6d3cdc;--accent-hover:#5831b7;--coral:#6d3cdc;--shadow:0 18px 54px rgba(48,28,72,.09)}
body{background:var(--paper)}
.brand-mark{background:#6d3cdc;border-radius:13px 13px 5px 13px}
.brand-mark svg{stroke-width:2.3;width:32px;height:32px}
.brand-mark .brand-trail{stroke:#def58b;stroke-width:2.2}
.brand-name{font-size:23px;letter-spacing:-.045em;color:#2e2145}
.brand-caption{font-size:9px;letter-spacing:.32em;color:#6d3cdc;margin-top:7px}
.hero{background:#35204f}
.hero:before{background:linear-gradient(90deg,rgba(36,22,56,.94),rgba(53,32,79,.75) 38%,rgba(53,32,79,.14) 82%),linear-gradient(0deg,rgba(36,22,56,.25),transparent 65%)}
.hero h1{font-weight:650;letter-spacing:-.045em}
.hero h1 em{color:#def58b;font-family:var(--font);font-style:normal;font-weight:500;letter-spacing:-.045em}
.hero .eyebrow:before{background:#def58b}
.hero-offer,.call-site .hero-offer{background:linear-gradient(140deg,rgba(48,27,73,.66),rgba(48,27,73,.43));border-color:#ffffff38;box-shadow:0 16px 40px #24163820,inset 0 1px 0 #ffffff0d}
.hero-offer-kicker{color:#e6f2bd}
.hero-offer-description{color:#f0eaf8}.hero-offer-disclosure{color:#dfd4ec}
.button:hover{box-shadow:0 6px 18px #6d3cdc20}
.booking-card button[type=submit],.contact-form button[type=submit],.call-hero-button,.call-primary{background:#def58b;color:#302044;border-color:#def58b;box-shadow:none}
.booking-card button[type=submit]:hover,.contact-form button[type=submit]:hover,.call-hero-button:hover,.call-primary:hover{background:#d2ec78;color:#302044;border-color:#d2ec78}
.booking-card button[type=submit] .spinner,.contact-form button[type=submit] .spinner{border-color:#30204430;border-top-color:#302044}
.call-site .prose .call-primary{color:#302044}
.trip-types{background:#f3f0f8}.field label .icon{color:#8b78a5}
.airlines-section{background:#f1edf7;border-color:#e5dfed}
.airline-chip[aria-pressed=true]{background:#eae2fa;border-color:#bba3e5;color:#4d2f79}
.airline-chip[aria-pressed=true] .icon{color:#6d3cdc}
.card-symbol,.planning-card:nth-child(2) .card-symbol,.planning-card:nth-child(3) .card-symbol{background:#f0eafa;color:#6d3cdc}
.planning-card:nth-child(2) .card-symbol{background:#eef5d9;color:#536729}
.planning-card:nth-child(3) .card-symbol{background:#eee9f4;color:#785c9e}
.closing-banner{background:linear-gradient(120deg,#35204f,#4b2d6d)}
.closing-banner .button{background:#def58b;color:#302044}.closing-banner .button:hover{background:#d2ec78;color:#302044}
.subhero{background:linear-gradient(120deg,#f0eafa,#faf8ff)}
.site-footer{background:#281b3a;border-color:#281b3a}
.site-footer .brand-mark{background:#5a3686}.site-footer .brand-caption{color:#def58b}
.bank-card{background:linear-gradient(140deg,#58347b,#35204f 72%,#45265f);box-shadow:0 24px 50px #35204f1c}
.bank-badge{color:#e4f2b9;border-color:#def58b45}.bank-icon{color:#def58b}
.payment-hero .hero-copy h1 em{font-family:var(--font);font-style:normal;font-weight:500;color:#6d3cdc}
.payment-hero .hero-copy>.hero-description{color:#6c6378}.payment-hero .hero-copy>.eyebrow{color:#6b5a81}
.help-banner{background:#f0eafa;border-color:#e2d8f1}.help-call{color:#4d2f79;border-color:#d8c8eb}.help-call:hover{background:#4d2f79;color:#fff}
.cookie-banner.cookie-notice{background:rgba(43,28,61,.94)}
@media(max-width:680px){
 .mobile-phone-first .header-actions>.mobile-phone{display:none}
 .brand-name,.call-site .brand-name{font-size:20px}.brand-caption,.call-site .brand-caption{font-size:8px;letter-spacing:.28em}
 .mobile-call-choice h2{font-family:var(--font);font-size:1.45rem;font-weight:600;letter-spacing:-.035em}
 .mobile-phone-first .mobile-call-choice{background:linear-gradient(140deg,#f8f5ff,#fff);border-color:#e0d5ef}
 .mobile-call-choice .button,.mobile-phone-first .mobile-call-action,.call-site .call-sticky .button{background:#def58b;color:#302044}
 .mobile-phone-first .mobile-call-action:hover{background:#d2ec78;color:#302044}
 .mobile-phone-first .header-phone{background:#f0eafa;color:#54337f;border-color:#e1d5f0}
 .call-site .mobile-phone{background:#6d3cdc;border-color:#6d3cdc;color:#fff}
}
@media(max-width:360px){.brand-name,.call-site .brand-name{font-size:16px}.brand-caption,.call-site .brand-caption{font-size:7px}.mobile-phone-first .brand{gap:6px}.mobile-phone-first .header-phone{padding:8px 6px;gap:5px;font-size:.72rem}}
@media print{.site-footer,.bank-card{background:#fff!important;color:#2e2145!important}.site-footer *, .bank-card *{color:#2e2145!important}.hero h1,.hero h1 em,.hero-copy>p{color:#2e2145}}
