/* Aerodeals v2 — midnight blue, porcelain surfaces, restrained vermilion accents. */
:root {
  color-scheme: light;
  --ink: #172e46;
  --muted: #657382;
  --teal: #27455f;
  --teal-dark: #142b42;
  --accent: #bf3f42;
  --accent-hover: #a83236;
  --mint: #f0f3f6;
  --paper: #fafaf8;
  --line: #dfe4e9;
  --coral: #bf3f42;
  --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: #dce5ed; color: #142b42; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #6d8ba5; outline-offset: 4px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #93a9bd; }
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 #e7ebee; }
.header-inner { gap: 20px; }
.brand { gap: 10px; }
.brand-mark { position: relative; flex: none; width: 42px; height: 42px; border-radius: 12px; background: #172e46; 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: #f08a7d; stroke-width: 2; }
.brand-name { color: #172e46; 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: #788491; }
.header-nav { gap: 22px; }
.header-nav a { font-size: 12px; font-weight: 600; color: #5d6b78; }
.header-nav a:hover, .header-nav a[aria-current=page] { color: #172e46; }
.header-nav a[aria-current=page]:after { background: var(--accent); height: 2px; }
.header-actions { gap: 15px; }
.header-phone { color: #172e46; font-variant-numeric: tabular-nums; }
.header-phone .icon { color: #59718a; }
.menu-toggle { color: #172e46; background: #fff; border-color: #dfe4e9; }

.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: #172e46; border-color: #d9e1e7; }
.button.secondary:hover { background: #f1f4f7; color: #172e46; box-shadow: none; }

/* Navy glass leaves the aircraft photograph visible. */
.hero { background: #142b42; }
.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: #f0e7db; font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.035em; }
.hero .eyebrow { color: #d1dce6; }
.hero-copy>p { color: #dbe3eb; }
.hero-note { background: #ffffff08; border-color: #ffffff2e; color: #edf2f6; 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 #0b1c2e1f,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: #e9d7c4; }
.hero-offer-description { color: #e3e9ef; }
.hero-offer-disclosure { color: #d1dce6; }

/* The form stays bright and quiet; the request button is the main red element. */
.booking-card { border-color: #e0e5ea; border-radius: 20px; box-shadow: 0 18px 54px #142b4217; }
.trip-types { background: #f1f3f6; }
.trip-option input:checked+span { color: #172e46; box-shadow: 0 2px 8px #142b420d; }
.trip-option input:focus-visible+span { outline-color: #6d8ba5; }
.field label { color: #5a6877; font-weight: 650; }
.field label .icon, .form-heading .icon { color: #6c8194; }
.field input, .field select, .field textarea { border-color: #dce2e8; background-color: #fff; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: #a6b5c3; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #55748f; box-shadow: 0 0 0 3px #27455f10; }
.field input[aria-invalid=true], .field select[aria-invalid=true], .field textarea[aria-invalid=true] { border-color: #bd472e; background: #fffaf8; }
.swap-button { color: #27455f; background: #f2f5f7; box-shadow: 0 0 0 1px #dce3e9; }
.swap-button:hover { background: #e4ebf0; }
.fields-contact, .multi-city-fields { border-color: #e9edf0; }
.traveler-change, .add-email, .more-options { color: #27455f; }
.traveler-options { border-color: #dce3e9; box-shadow: 0 12px 30px #142b4217; }
.traveler-done { background: #edf2f6; color: #27455f; }
.extra-options { background: #f6f7f8; }
.airport-options { border-color: #dce3e9; box-shadow: 0 12px 36px #142b421f; }
.airport-option:hover, .airport-option[aria-selected=true] { background: #f0f4f7; }
.airport-code { color: #27455f; background: #f2f5f7; border-color: #dce4eb; }
.calendar-day:hover:not(:disabled), .calendar-day:focus-visible { background: #e9eff4; color: #142b42; }
.calendar-day.is-selected, .calendar-day.is-selected:hover { background: #27455f; color: #fff; }
.calendar-nav, .calendar-close { background: #f5f7f9; color: #27455f; border-color: #dfe5eb; }
.calendar-day.is-today { border-color: #8ca2b5; }
.journey-plane, .journey-place strong { color: #27455f; }

.section-heading .eyebrow, .split-section .eyebrow, .subhero .eyebrow { color: #6a7988; }
.step-number { color: #91a1af; font-family: var(--font); font-size: 1.9rem; font-weight: 400; letter-spacing: -.05em; }
.process-step h3 { color: #172e46; }
.airlines-section { background: #f0f3f5; border-block-color: #e4e9ed; }
.airline-chip { background: #fff; border-color: #dce3e8; color: #354a5e; border-radius: 9px; }
.airline-chip .icon { color: #7c91a4; }
.airline-chip:hover { border-color: #a5b3c0; background: #fafbfc; }
.airline-chip[aria-pressed=true] { border-color: #6b849b; background: #e8eef3; color: #172e46; }
.airline-chip[aria-pressed=true] .icon { color: #bf3f42; }
.planning-card { border-color: #e0e5ea; border-radius: 16px; box-shadow: 0 4px 14px #142b4203; }
.planning-card:hover { box-shadow: 0 12px 30px #142b420d; }
.card-symbol, .planning-card:nth-child(2) .card-symbol, .planning-card:nth-child(3) .card-symbol { background: #edf2f6; color: #36536e; border-radius: 12px; }
.flight-path-decoration { color: #becbd5; opacity: .24; }
.closing-banner { background: linear-gradient(120deg,#142b42,#203d58); border-radius: 20px; }
.closing-banner h2 { font-weight: 550; }
.closing-banner p { color: #cfdae4; }
.closing-banner .button { background: #fff; color: #172e46; }
.closing-banner .button:hover { background: #edf2f6; color: #142b42; }
.subhero { background: linear-gradient(120deg,#f0f3f5,#f7f7f4); border-color: #e1e6eb; }
.subhero h1 { font-size: clamp(2.2rem,4vw,3.5rem); }
.soft-section { background: #f2f4f6; }
.prose h2, .prose h3 { color: #172e46; }
.trust-links { background: #f1f3f5; border-color: #e1e6eb; }
.trust-links strong { color: #445b70; }
.trust-links a { color: #27455f; }
.information-card { background: #fff; border-color: #e0e5ea; }
.information-card:hover { background: #f6f8fa; border-color: #bac8d3; }
.information-number { color: #8b9baa; }
.information-action { color: #27455f; }
.related-policies { border-color: #e0e5ea; }
.contact-info { background: #edf2f6; border-color: #dfe6ec; }
.role-card, .contact-form { border-color: #dfe5ea; }

.site-footer { background: #11263b; color: #e9eef3; border-color: #11263b; }
.site-footer .brand-mark { background: #203b54; }
.site-footer .brand-name, .site-footer .brand-name>span:not(.brand-caption) { color: #fff; }
.site-footer .brand-caption { color: #aabac8; }
.site-footer p, .site-footer address, .site-footer .footer-col, .site-footer .footer-description, .site-footer .footer-disclosure, .site-footer .footer-bottom { color: #b8c6d2; }
.site-footer h3, .site-footer .footer-col h3, .site-footer .footer-disclosure strong { color: #eef3f7; }
.site-footer a, .site-footer .footer-col li a, .footer-links a { color: #cbd7e1; }
.site-footer a:hover { color: #fff; }
.site-footer .footer-phone { color: #fff; }
.site-footer .footer-disclosure, .site-footer .footer-bottom { border-color: #ffffff20; }
.aerodeals-operator { font-size: 12px; line-height: 1.7; margin: 0 0 26px; padding-bottom: 20px; border-bottom: 1px solid #ffffff20; color: #b8c6d2; }
.aerodeals-operator strong { font-weight: 650; color: #e5edf4; }
.cookie-banner.cookie-notice { background: rgba(17,38,59,.94); }
.cookie-notice .cookie-banner-copy p a, .cookie-notice .cookie-preferences a { color: #d2e3f2; }
.cookie-notice button:focus-visible, .cookie-notice a:focus-visible { outline-color: #b6cede; }
.cookie-notice .cookie-banner-actions button, .cookie-notice .cookie-banner-actions [data-cookie-accept] { border-color: #b3c7d7; }

/* Payment is part of the same visual system. Account data and scripts are unchanged. */
.payment-hero .hero-copy h1 { color: #172e46; font-family: var(--font); font-weight: 600; letter-spacing: -.05em; }
.payment-hero .hero-copy h1 em { color: #49647d; font-family: var(--serif); font-weight: 400; }
.available-methods span { background: #fff; border-color: #dce3e9; color: #4d6276; }
.bank-card { background: linear-gradient(140deg,#24445e,#142b42 72%,#1d3b55); border-color: #ffffff26; border-radius: 22px; box-shadow: 0 24px 50px #142b421c; }
.bank-icon { color: #d1dfeb; background: #ffffff0c; }
.bank-badge { color: #d4e0ea; }
.bank-description, .bank-overline, .bank-foot, .detail-row dt { color: #c2d0dd; }
.bank-foot .status-dot { background: #adcabd; }
.copy-button { color: #d0dfea; }
.copy-button[data-copied] { background: #d9ece4; color: #214e3e; }
.copy-status { color: #d9ece4; }
.before-note>.icon, .contact-link { color: #49647d; }
.method-icon { background: #edf2f6; color: #36536e; }
.method-tag { border-color: #dde5eb; color: #697e90; }
.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: #8b9dac; font-family: var(--font); }
.help-banner { background: #edf2f6; border-color: #dde5eb; }
.help-call { background: #fff; border-color: #d0dce6; color: #172e46; }
.help-call:hover { background: #172e46; color: #fff; box-shadow: none; }

.call-site .call-role-strip { background: #edf2f6; border-color: #dde5eb; color: #4b6277; }
.call-role-strip a, .call-mini-links a, .call-site .text-link, .call-routing a { color: #27455f; }
.call-site .hero .hero-call-disclosure, .call-device-note { color: #d3dfe8; }
.hero-call-disclosure a, .closing-call-disclosure a { color: #e1ebf3; }
.call-panel, .call-contact-card { border-color: #dfe5eb; box-shadow: 0 18px 45px #142b420f; }
.call-panel-copy h2, .call-contact-card h2 { font-family: var(--font); font-weight: 600; letter-spacing: -.04em; }
.call-panel-action { background: #f1f4f7; border-color: #dfe6ec; }
.call-big-number { color: #172e46; }
.call-site .soft-section { background: #f1f4f6; }

@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 #e1e6eb; box-shadow: 0 12px 25px #142b420d; flex-direction: column; align-items: stretch; gap: 0; }
  .header-nav.is-open { display: flex; }
  .header-nav a { padding: 12px 8px; border-bottom: 1px solid #eef1f4; font-size: 14px; }
  .header-nav a[aria-current=page] { background: #f1f4f7; 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: #f0f4f7; color: #172e46; border-color: #dce4eb; }
  .mobile-phone-first .mobile-call-choice { background: #fff; border-color: #dce4eb; border-radius: 16px; box-shadow: 0 8px 26px #142b420c; }
  .mobile-call-choice .eyebrow { color: #62798f; }
  .mobile-call-choice .button, .mobile-phone-first .mobile-call-action { background: #172e46; color: #fff; }
  .mobile-phone-first .mobile-call-action:hover { background: #25455f; }
  .mobile-form-link { color: #27455f; border-color: #dce4eb; }
  .mobile-call-disclosure { color: #687e90; }
  .mobile-phone-first .mobile-call-bar { border-color: #dce4eb; box-shadow: 0 5px 25px #142b421c; }
  .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; }
  .aerodeals-operator { font-size: 11px; margin-bottom: 23px; }
  .call-site .header-actions .button.small { display: none; }
  .call-site .mobile-phone { background: #172e46; border-color: #172e46; 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; }
}
/* Keep navigation and consent controls clear for keyboard and touch users. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid #a76235;
  outline-offset: 3px;
}
@media(max-width:680px) {
  .cookie-notice-tools button, .cookie-banner-actions button { min-height: 44px; }
}
@media print {
  .site-footer, .bank-card { background: #fff!important; color: #172e46!important; }
  .site-footer *, .bank-card * { color: #172e46!important; }
  .hero:before { background: #fff; }
  .hero h1, .hero h1 em, .hero-copy>p { color: #172e46; }
}
