/* 2026 booking-first visual system — inspired by modern travel marketplaces */
:root {
  --aftc-ink: #191e3b;
  --aftc-ink-2: #2d3353;
  --aftc-blue: #1668e3;
  --aftc-blue-dark: #0d4eaf;
  --aftc-sky: #e7f2ff;
  --aftc-amber: #f5b400;
  --aftc-cloud: #f6f7f9;
  --aftc-mist: #eef3ff;
  --aftc-line: #d7dbe2;
  --aftc-copy: #343b53;
  --aftc-muted: #676d83;
  --aftc-canvas: #f8f9fb;
  --aftc-surface: #fff;
  --aftc-success: #087e5b;
  --aftc-danger: #b3261e;
  --aftc-radius-sm: 10px;
  --aftc-radius: 16px;
  --aftc-radius-lg: 22px;
  --aftc-shadow-sm: 0 2px 8px rgba(25,30,59,.08);
  --aftc-shadow: 0 12px 36px rgba(25,30,59,.12);
  --aftc-focus: 0 0 0 3px rgba(22,104,227,.18);
  --bs-primary: #1668e3;
  --bs-primary-rgb: 22,104,227;
  --bs-link-color: #1668e3;
  --bs-link-hover-color: #0d4eaf;
}

html { background: #fff; }
body { color: var(--aftc-copy) !important; background: var(--aftc-cloud) !important; font-family: "Plus Jakarta Sans", Arial, sans-serif !important; font-size: 16px; line-height: 1.65; }
main { background: #fff; }
h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3, .display-4, .display-5 { color: var(--aftc-ink); font-family: "Plus Jakarta Sans", Arial, sans-serif !important; font-weight: 700 !important; letter-spacing: -.025em; }
p { line-height: 1.68; }
a { text-underline-offset: 3px; }
hr { border-color: var(--aftc-line); opacity: 1; }
.container { max-width: 1220px; }
.py-5 { padding-top: 4.75rem !important; padding-bottom: 4.75rem !important; }
.bg-white { background-color: #fff !important; }
.bg-light { background-color: var(--aftc-cloud) !important; }
.text-muted { color: var(--aftc-muted) !important; }
.border, .border-top, .border-bottom { border-color: var(--aftc-line) !important; }
::selection { color: #fff; background: var(--aftc-blue); }

/* Header and navigation */
.site-announcement { display: none !important; }
.site-header { position: relative; z-index: 1040; background: #fff !important; border-bottom: 1px solid #e1e3e8; box-shadow: none !important; backdrop-filter: none !important; }
.site-header .navbar { min-height: 72px; padding-block: 8px; }
.site-header .navbar-brand img { display: block; width: 238px; height: auto; }
.site-header .navbar-nav { gap: 2px; }
.site-header .nav-link { padding: 10px 11px !important; border-radius: 9px; color: var(--aftc-ink) !important; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.site-header .nav-link:hover, .site-header .nav-link.active { color: var(--aftc-blue) !important; background: #f1f6ff !important; }
.site-header .nav-link.active::after { display: none; }
.header-cta { gap: 9px; margin-left: 9px; padding: 7px 12px 7px 7px; color: var(--aftc-blue) !important; border: 1px solid #b8cff4; border-radius: 999px; background: #fff !important; box-shadow: none !important; }
.header-cta:hover { color: var(--aftc-blue-dark) !important; border-color: var(--aftc-blue); background: #f5f8ff !important; transform: none; }
.header-cta-icon { width: 32px; height: 32px; color: #fff !important; background: var(--aftc-blue) !important; }
.header-cta small { color: var(--aftc-muted) !important; font-size: 10px; }
.header-cta strong { color: var(--aftc-ink) !important; font-size: 12px; }
.site-header .navbar-toggler { border-color: #cfd3dc; border-radius: 10px; background: #fff; }

/* Shared controls and cards */
.btn { min-height: 46px; padding: 11px 19px; border-radius: 999px; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.btn-primary, .btn-coral, .btn-warning { color: #fff !important; border-color: var(--aftc-blue) !important; background: var(--aftc-blue) !important; box-shadow: none !important; }
.btn-primary:hover, .btn-coral:hover, .btn-warning:hover { color: #fff !important; border-color: var(--aftc-blue-dark) !important; background: var(--aftc-blue-dark) !important; }
.btn-outline-primary { color: var(--aftc-blue) !important; border-color: var(--aftc-blue) !important; background: #fff !important; }
.btn-outline-primary:hover { color: #fff !important; background: var(--aftc-blue) !important; }
.btn-success { color: #fff !important; border-color: var(--aftc-success) !important; background: var(--aftc-success) !important; }
.bg-primary { background-color: var(--aftc-blue) !important; }
.bg-danger { background-color: var(--aftc-danger) !important; }
.bg-success { background-color: var(--aftc-success) !important; }
.bg-info { background-color: #087d9d !important; }
.bg-warning { color: var(--aftc-ink) !important; background-color: #ffd166 !important; }
.text-primary { color: var(--aftc-blue) !important; }
.text-success { color: var(--aftc-success) !important; }
.text-danger { color: var(--aftc-danger) !important; }
.card, .review-card, .form-card, .flight-card, .summary-card, .filter-card, .contact-form, .contact-info, .policy-content, .content-box, .info-card, .upgrade-card, .destination-card, .package-card, .vacation-info-card, .euro-dest-card { border: 1px solid var(--aftc-line) !important; border-radius: var(--aftc-radius) !important; background: #fff; box-shadow: none !important; }
.card:hover, .info-card:hover, .upgrade-card:hover, .destination-card:hover, .package-card:hover, .vacation-info-card:hover, .euro-dest-card:hover { border-color: #a9c6f2 !important; box-shadow: var(--aftc-shadow-sm) !important; }
.form-control, .form-select, .input-group-text, .custom-input { min-height: 52px; border: 1px solid #aeb4c0 !important; border-radius: 10px !important; color: var(--aftc-ink) !important; background-color: #fff !important; font-size: 15px; }
.form-control:focus, .form-select:focus, .custom-input:focus { border-color: var(--aftc-blue) !important; box-shadow: var(--aftc-focus) !important; }
.form-floating > label { color: var(--aftc-muted); }
.form-check-input:checked { border-color: var(--aftc-blue); background-color: var(--aftc-blue); }
.accordion-item { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--aftc-line) !important; border-radius: 12px !important; box-shadow: none; }
.accordion-button { min-height: 62px; padding: 17px 20px; color: var(--aftc-ink); background: #fff; font-size: 15px; }
.accordion-body { font-size: 15px; }
.accordion-button:not(.collapsed) { color: var(--aftc-ink) !important; background: #f1f6ff !important; box-shadow: none; }
.accordion-button:focus { box-shadow: var(--aftc-focus); }

/* Booking search module */
html body .flight-search-shell { margin-top: -58px; margin-bottom: 48px; }
html body .search-widget { padding: 22px !important; overflow: visible; border: 1px solid #c9cdd6 !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 8px 24px rgba(25,30,59,.13) !important; }
html body .search-widget::before { display: none !important; }
html body .search-widget .widget-header { padding-top: 0; }
html body .search-widget .search-bar-grid { gap: 8px; border: 0 !important; background: transparent !important; }
html body .search-widget .input-box { min-height: 66px; padding-inline: 15px; border: 1px solid #aeb4c0 !important; border-radius: 10px !important; background: #fff !important; }
html body .search-widget .input-box:hover { border-color: #7d8493 !important; background: #fff !important; }
html body .search-widget .input-box:focus-within { border-color: var(--aftc-blue) !important; box-shadow: var(--aftc-focus) !important; }
html body .search-widget .input-label { color: #4f566d !important; font-size: 11px; letter-spacing: .04em; }
html body .search-widget .input-field { color: var(--aftc-ink) !important; font-size: 15px; }
html body .search-widget .input-icon-overlay { color: var(--aftc-blue) !important; opacity: .72; }
html body .search-widget .btn-search-container { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
html body .search-widget .btn-search { min-height: 66px; border-radius: 10px !important; color: #fff !important; background: var(--aftc-blue) !important; box-shadow: none !important; }
html body .search-widget .btn-search:hover { color: #fff !important; background: var(--aftc-blue-dark) !important; }
html body .search-widget .control-pill-trigger { min-height: 42px; border-color: #c9cdd6; background: #fff; box-shadow: none; }
html body .search-widget .control-pill-trigger i, html body .search-widget .widget-help-copy a { color: var(--aftc-blue); }
html body .search-widget .trip-radio .form-check-input:checked { border-color: var(--aftc-blue); background-color: var(--aftc-blue); }
html body .search-widget .airport-dropdown { border-radius: 12px; box-shadow: var(--aftc-shadow); }

/* Interior-page title areas */
.shared-page-hero { padding: 64px 0 116px !important; color: var(--aftc-ink) !important; text-align: left !important; background: linear-gradient(135deg, #eef3ff 0%, #f5f8ff 55%, #e8f3ff 100%) !important; }
.shared-page-hero::before { opacity: 1 !important; background: radial-gradient(circle at 84% 12%, rgba(22,104,227,.13), transparent 29%) !important; }
.shared-page-hero::after { display: none !important; }
.shared-page-hero .container { position: relative; z-index: 2; }
.shared-page-eyebrow { color: var(--aftc-blue) !important; }
.shared-page-hero h1 { max-width: 760px; margin: 0; color: var(--aftc-ink) !important; font-size: clamp(2.5rem,5vw,4.2rem) !important; line-height: 1.06 !important; }
.shared-page-hero > .container > p { max-width: 680px; margin: 16px 0 0; color: var(--aftc-copy) !important; font-size: 1.075rem; }
.shared-breadcrumb { justify-content: flex-start; margin-top: 24px; }
.shared-breadcrumb a, .shared-breadcrumb li, .shared-breadcrumb span { color: var(--aftc-copy) !important; }

/* Airline, service, vacation, and directory page families */
.airline-hero, .hero-service, .vacation-hero { padding: 72px 0 82px !important; color: var(--aftc-ink) !important; background: linear-gradient(135deg, #eef3ff, #f7f9ff 65%, #e4f1ff) !important; }
.airline-hero::before, .hero-service::before, .vacation-hero::before { background: radial-gradient(circle at 88% 12%, rgba(22,104,227,.13), transparent 27%) !important; }
.airline-hero h1, .hero-service h1, .vacation-hero h1 { color: var(--aftc-ink) !important; font-size: clamp(2.65rem,5vw,4.35rem) !important; line-height: 1.04 !important; }
html body .airline-hero h1.display-4, html body .hero-service h1.display-4, html body .vacation-hero h1.display-4 { color: var(--aftc-ink) !important; }
.airline-hero h1 span, .hero-service h1 span, .vacation-hero h1 span, .vacation-accent { color: var(--aftc-blue) !important; }
html body .airline-hero p, html body .airline-hero .lead, html body .hero-service p, html body .hero-service .lead, html body .vacation-hero p, html body .vacation-hero .lead { color: var(--aftc-copy) !important; }
.airline-hero .hero-badge, .hero-service .hero-badge, .hero-badge-vacation { color: var(--aftc-blue-dark) !important; border-color: #b8cff4 !important; background: #fff !important; }
.airline-hero img, .hero-service img, .vacation-hero img { border: 5px solid #fff !important; border-radius: 18px !important; box-shadow: 0 10px 30px rgba(25,30,59,.16) !important; }
.airline-hero a[href^="tel:"], .hero-service a[href^="tel:"], .vacation-hero a[href^="tel:"] { color: #fff !important; border-color: var(--aftc-blue) !important; background: var(--aftc-blue) !important; }
.page-airlines main > section[style*="background"], .page-name-correction main > section[style*="background"], .page-flight-changes main > section[style*="background"], .page-seat-upgrade main > section[style*="background"] { background: var(--aftc-cloud) !important; }
.section-eyebrow, .section-kicker { color: var(--aftc-blue) !important; }
.section-kicker::before { background: var(--aftc-blue) !important; }
.icon-circle, .benefit-icon, .icon-circle-vacation, .benefit-icon-vacation { color: var(--aftc-blue) !important; background: var(--aftc-sky) !important; }
.icon-circle i, .benefit-icon i, .icon-circle-vacation i, .benefit-icon-vacation i { color: var(--aftc-blue) !important; }
.step-number, .timeline-num, .step-number-vacation { color: #fff !important; background: var(--aftc-blue) !important; box-shadow: none !important; }
.timeline-step:not(:last-child)::before { background: linear-gradient(to bottom, var(--aftc-blue), #d8e2f0) !important; }
.cta-strip, .vacation-cta-strip, .stats-bar { border: 1px solid #cbd8ef !important; border-radius: 18px !important; color: var(--aftc-ink) !important; background: #eef3ff !important; box-shadow: none !important; }
.cta-strip h2, .cta-strip h3, .cta-strip p, .vacation-cta-strip h2, .vacation-cta-strip p { color: var(--aftc-ink) !important; }
.stats-bar .stat-number { color: var(--aftc-ink) !important; }
.stats-bar .stat-label { color: var(--aftc-copy) !important; }
.airlines-hero, .destinations-hero { padding: 68px 0 112px !important; color: var(--aftc-ink) !important; background: linear-gradient(135deg, #eef3ff, #f8faff 65%, #e6f2ff) !important; }
.airlines-hero h1, .destinations-hero h1 { color: var(--aftc-ink) !important; }
.airlines-hero p, .destinations-hero p { color: var(--aftc-copy) !important; }
.airlines-hero .airlines-kicker { color: var(--aftc-blue) !important; border-color: #b8cff4 !important; background: #fff !important; }
.airlines-hero .airlines-hero-icon { color: var(--aftc-blue) !important; border-color: #bdd2f0 !important; background: rgba(255,255,255,.9) !important; box-shadow: 0 10px 30px rgba(25,30,59,.1) !important; }
.airlines-directory { background: var(--aftc-cloud) !important; }
.airlines-directory-card { border: 1px solid var(--aftc-line) !important; border-radius: 18px !important; box-shadow: var(--aftc-shadow-sm) !important; }
.airline-link-card, .destination-list-card { border-color: var(--aftc-line) !important; border-radius: 12px !important; }
.airline-link-card:hover, .destination-list-card:hover { border-color: #86afea !important; box-shadow: var(--aftc-shadow-sm) !important; }
.airline-symbol { background: var(--aftc-blue) !important; }
.destination-hero { min-height: 480px; display: flex; align-items: center; }
.destination-hero::after { background: linear-gradient(90deg, rgba(17,22,50,.82), rgba(17,22,50,.14)) !important; }
.destination-hero h1 { font-size: clamp(2.8rem,5vw,4.4rem) !important; }
.destination-hero .btn-warning { color: #fff !important; border-color: var(--aftc-blue) !important; background: var(--aftc-blue) !important; }
.destination-hero .btn-warning:hover { border-color: var(--aftc-blue-dark) !important; background: var(--aftc-blue-dark) !important; }
.destination-content .content-block, .destination-section, .destination-sidebar-card { border-color: var(--aftc-line) !important; box-shadow: none !important; }

/* Content, legal, contact, results, and booking screens */
body[class*="page-"] main > .content { padding: 68px 0 !important; background: var(--aftc-cloud); }
.page-about-us main > .content > .container > .row > [class*="col-"]:first-child, .page-contact-us main > .content > .container > .row > [class*="col-"]:first-child { padding: 34px; border: 1px solid var(--aftc-line); border-radius: 16px; background: #fff; box-shadow: none; }
.page-about-us main > .content .card, .page-contact-us main > .content .card { border-radius: 16px !important; background: #f7f9ff !important; }
.page-privacy-policy main > .content .card, .page-terms-and-conditions main > .content .card, .page-refund main .card { max-width: 1040px; margin-inline: auto; }
.page-privacy-policy .card-body > h5, .page-terms-and-conditions .card-body > h5, .page-refund .card-body h4 { margin-top: 30px; font-size: 1.12rem; }
.page-privacy-policy .card-body > h5::before, .page-terms-and-conditions .card-body > h5::before, .page-refund .card-body h4::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--aftc-blue); }
.page-search-flights main, body:has(.summary-card) main, body:has(.review-card) main { background: var(--aftc-cloud); }
.page-header { background: #eef3ff !important; }
.page-header h1, .page-header p { color: var(--aftc-ink) !important; }
.summary-header, .card-header-custom.bg-primary { background: var(--aftc-blue) !important; }
.passenger-section { border-color: var(--aftc-line) !important; border-radius: 12px !important; background: #f8f9fb !important; }
.segment-badge { border-radius: 999px !important; }
.badge-outbound { color: var(--aftc-success) !important; background: #e7f6ef !important; }
.badge-return { color: var(--aftc-blue) !important; background: var(--aftc-mist) !important; }
.total-price, .total-amount, .price-tag, .flight-price { color: var(--aftc-blue) !important; }
.filter-card { border-radius: 14px !important; }
.flight-card:hover { transform: translateY(-2px) !important; box-shadow: var(--aftc-shadow-sm) !important; }
.alert-danger { color: #8e2731; border-color: #f0c0c5; background: #fff0f1; }
.alert-success { color: #0e5a42; border-color: #b9dfcf; background: #eaf7f1; }

/* Readable type scale across legacy and redesigned page templates */
.section-eyebrow, .section-kicker, .shared-page-eyebrow, .airlines-kicker, .hero-badge, .hero-badge-vacation { font-size: 12px !important; }
.airlines-count { font-size: 13px !important; }
.airlines-help p { font-size: 14px !important; }
.card-body p, .content-box p, .info-card p, .upgrade-card p, .vacation-info-card p, .destination-section p, .destination-content p, .policy-content p, .contact-info p, .contact-form p { font-size: 15px !important; }
.card-body small, .info-card small, .upgrade-card small, .vacation-info-card small, .airline-link-copy span, .destination-list-card span, .cabin-badge, .package-tag { font-size: 12px !important; }
.airline-link-copy strong, .destination-list-card strong, .sitemap-item, .form-label, .form-check-label { font-size: 14px !important; }
.lead { font-size: 1.1rem; }

/* Deals, sitemap, errors, and footer */
.page-deals main > .section { background: var(--aftc-cloud) !important; }
.page-deals .card { overflow: hidden; }
.page-deals .card-img-top { height: 225px !important; }
.page-deals .card.text-white h2, .page-deals .card.text-white h3, .page-deals .card.text-white h4 { color: #fff !important; }
.page-deals .card.text-white .bg-white { color: #fff !important; background: rgba(255,255,255,.18) !important; }
.sitemap-wrapper { padding: 70px 0 86px !important; background: var(--aftc-cloud) !important; }
.sitemap-header h1 { font-size: clamp(2.6rem,5vw,4.2rem) !important; color: var(--aftc-ink) !important; }
.sitemap-section { padding: 26px; border: 1px solid var(--aftc-line); border-radius: 16px; background: #fff; box-shadow: none; }
.sitemap-section-title { color: var(--aftc-ink) !important; font-weight: 800 !important; }
.sitemap-item { min-height: 38px; color: var(--aftc-copy) !important; }
.sitemap-item:hover, .sitemap-item:hover::before { color: var(--aftc-blue) !important; }
.error-section { min-height: 70vh; background: #f7f9ff !important; }
.error-code { color: var(--aftc-blue) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
/* Why choose us and global footer */
.why-choose-us { padding: 84px 0 88px; background: #f4f7fb; }
.why-choose-heading { max-width: 700px; margin: 0 auto 42px; text-align: center; }
.why-choose-heading .section-kicker { justify-content: center; }
.why-choose-heading h2 { margin: 0 0 10px; color: var(--aftc-ink); font-size: clamp(2.35rem,4vw,3.7rem); }
.why-choose-heading p { margin: 0; color: var(--aftc-muted); font-size: 1rem; }
.why-choose-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.why-choose-card { min-height: 310px; padding: 34px 28px; border: 1px solid #e3e7ee; border-radius: 18px; text-align: center; background: #fff; box-shadow: 0 10px 30px rgba(25,30,59,.06); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.why-choose-card:hover { border-color: #a9c6f2; transform: translateY(-4px); box-shadow: 0 16px 34px rgba(25,30,59,.1); }
.why-choose-icon { display: grid; width: 82px; height: 82px; margin: 0 auto 25px; place-items: center; border-radius: 50%; color: var(--aftc-blue); background: #eaf3fc; font-size: 28px; }
.why-choose-card:nth-child(2) .why-choose-icon { color: #087e5b; background: #e8f6f0; }
.why-choose-card:nth-child(3) .why-choose-icon { color: #b45a00; background: #fff2dd; }
.why-choose-card:nth-child(4) .why-choose-icon { color: #7048b8; background: #f1ebfb; }
.why-choose-card h3 { margin-bottom: 12px; color: var(--aftc-ink); font-size: 1.22rem; line-height: 1.3; }
.why-choose-card p { margin: 0; color: var(--aftc-copy); font-size: 15px; line-height: 1.7; }

.site-footer { position: relative; overflow: hidden; padding: 76px 0 24px; color: rgba(255,255,255,.76) !important; background: #071c2b !important; }
.site-footer > .container { position: relative; z-index: 2; }
.footer-orbit { position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.footer-orbit-top { top: -260px; right: -220px; width: 580px; height: 580px; background: rgba(24,78,110,.22); }
.footer-orbit-bottom { bottom: -250px; left: -210px; width: 430px; height: 430px; background: rgba(245,180,0,.055); }
.footer-main-grid { display: grid; grid-template-columns: 1.35fr .62fr .72fr 1.15fr; gap: 54px; }
.footer-brand { min-width: 0; }
.footer-brand .footer-logo { display: inline-flex; padding: 12px 15px; border-radius: 10px; background: #fff; }
.footer-brand img { width: 248px; height: auto; content: normal !important; }
.footer-brand > p { max-width: 390px; margin: 24px 0 28px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.8; }
.footer-quick-label { margin-bottom: 13px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-quick-actions a { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: #fff; background: rgba(255,255,255,.07); text-decoration: none; }
.footer-quick-actions a:hover { border-color: #58b9ff; color: #fff; background: var(--aftc-blue); transform: translateY(-2px); }
.footer-links, .footer-support-column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-links h3, .footer-support-column > h3 { position: relative; margin: 5px 0 20px; padding-bottom: 12px; color: #fff !important; font-size: 18px; letter-spacing: 0; text-transform: none; }
.footer-links h3::after, .footer-support-column > h3::after { content: ""; position: absolute; bottom: 0; left: 0; width: 42px; height: 3px; border-radius: 999px; background: #43b4ff; }
.footer-links a { color: rgba(255,255,255,.78); font-size: 14px; text-decoration: none; }
.footer-links a:hover { color: #78c9ff; transform: translateX(3px); }
.footer-contact-card { width: 100%; padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.045); }
.footer-contact-card a, .footer-contact-address { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 13px; color: #fff; text-decoration: none; }
.footer-contact-card a + a, .footer-contact-address { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.footer-contact-card a > span, .footer-contact-address > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 12px; color: #54c0ff; background: rgba(63,179,247,.12); }
.footer-contact-card small, .footer-contact-card strong, .footer-contact-address small, .footer-contact-address strong { display: block; min-width: 0; overflow-wrap: normal; word-break: normal; }
.footer-contact-card small, .footer-contact-address small { color: rgba(255,255,255,.68); font-size: 11px; }
.footer-contact-card strong, .footer-contact-address strong { margin-top: 3px; color: #fff; font-size: 13px; }
.footer-contact-card a:hover strong { color: #78c9ff; }
.footer-disclaimer-card { margin-top: 48px; padding: 24px 28px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(255,255,255,.045); }
.footer-disclaimer-card h3 { margin: 0 0 9px; color: #fff !important; font-size: 15px; }
.footer-disclaimer-card h3 i { margin-right: 7px; color: #54c0ff; }
.footer-disclaimer-card p { margin: 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.75; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.62) !important; background: transparent !important; font-size: 12px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 22px; }
.footer-bottom a { color: rgba(255,255,255,.68); text-decoration: none; }
.footer-bottom a:hover { color: #78c9ff; }
.mobile-booking-bar { box-shadow: 0 -4px 14px rgba(25,30,59,.12); }
.mobile-booking-bar .mobile-booking-call { color: #fff !important; background: var(--aftc-blue) !important; }

@media (max-width: 1199.98px) {
  .site-header .navbar-brand img { width: 210px; }
  .site-header .nav-link { padding-inline: 8px !important; font-size: 13px; }
  .header-cta { padding-right: 9px; }
  .footer-main-grid { grid-template-columns: 1.25fr .65fr .75fr 1.1fr; gap: 32px; }
}
@media (max-width: 991.98px) {
  .py-5 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .site-header .navbar { min-height: 66px; }
  .site-header .navbar-collapse { margin-top: 8px; padding: 12px !important; border: 1px solid var(--aftc-line); border-radius: 14px !important; background: #fff; box-shadow: var(--aftc-shadow); }
  .site-header .nav-link { padding: 11px 12px !important; }
  .site-header .header-cta { margin: 10px 0 0; border-radius: 12px; }
  .shared-page-hero { padding: 56px 0 104px !important; }
  .airline-hero, .hero-service, .vacation-hero { padding: 60px 0 72px !important; }
  html body .search-widget .search-bar-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html body .search-widget .btn-search-container { grid-column: span 2; }
  .page-about-us main > .content > .container > .row > [class*="col-"]:first-child, .page-contact-us main > .content > .container > .row > [class*="col-"]:first-child { padding: 28px; }
  .why-choose-grid { grid-template-columns: repeat(2,1fr); }
  .footer-main-grid { grid-template-columns: 1.2fr .8fr .9fr; }
  .footer-support-column { grid-column: 1 / -1; }
  .footer-contact-card { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .footer-contact-card a + a { margin: 0; padding: 0 0 0 16px; border-top: 0; border-left: 1px solid rgba(255,255,255,.1); }
  .footer-contact-address { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); font-size: 15px; }
  .py-5 { padding-top: 3.35rem !important; padding-bottom: 3.35rem !important; }
  .site-header .navbar-brand img { width: 190px; }
  .shared-page-hero { padding: 46px 0 94px !important; }
  .shared-page-hero h1 { font-size: clamp(2.35rem,11vw,3.25rem) !important; }
  .shared-breadcrumb { overflow-x: auto; white-space: nowrap; }
  .airline-hero, .hero-service, .vacation-hero { padding: 50px 0 62px !important; }
  .airline-hero h1, .hero-service h1, .vacation-hero h1 { font-size: clamp(2.35rem,11vw,3.25rem) !important; }
  html body .flight-search-shell { margin-top: -48px; margin-bottom: 38px; }
  html body .search-widget { padding: 16px !important; border-radius: 14px !important; }
  html body .search-widget .mobile-booking-banner { color: var(--aftc-ink) !important; background: var(--aftc-mist) !important; }
  html body .search-widget .mobile-booking-copy span { color: var(--aftc-blue) !important; background: #fff !important; }
  html body .search-widget .mobile-booking-banner h2, html body .search-widget .mobile-booking-banner h3, html body .search-widget .mobile-booking-banner p { color: var(--aftc-ink) !important; }
  html body .search-widget .mobile-offer-strip { color: var(--aftc-copy) !important; background: #f7f8fa !important; }
  html body .search-widget .mobile-offer-strip a { color: #fff !important; background: var(--aftc-blue) !important; }
  html body .search-widget .mobile-trip-row { border-color: var(--aftc-line) !important; background: #fff !important; }
  html body .search-widget .mobile-trip-row .form-check-label, html body .search-widget .search-form-footer .form-check-label { color: var(--aftc-ink) !important; }
  html body .search-widget .mobile-trip-row .form-check-input { border-color: #8d94a3 !important; background-color: #fff !important; }
  html body .search-widget .mobile-trip-row .form-check-input:checked { border-color: var(--aftc-blue) !important; background-color: var(--aftc-blue) !important; box-shadow: inset 0 0 0 3px #fff !important; }
  html body .search-widget .mobile-field { border-color: #aeb4c0 !important; background: #fff !important; }
  html body .search-widget .mobile-field label, html body .search-widget .mobile-field input { color: var(--aftc-ink) !important; }
  html body .search-widget .mobile-submit { color: #fff !important; background: var(--aftc-blue) !important; }
  html body .search-widget .mobile-help-actions a { color: var(--aftc-blue) !important; border-color: #b8cff4 !important; background: #fff !important; }
  html body .search-widget .mobile-booking-copy span, html body .search-widget .mobile-field label { font-size: 11px !important; }
  html body .search-widget .mobile-booking-banner h2, html body .search-widget .mobile-booking-banner h3 { font-size: 20px !important; }
  html body .search-widget .mobile-booking-banner p, html body .search-widget .mobile-offer-strip, html body .search-widget .mobile-trip-row .form-check-label, html body .search-widget .search-form-footer .form-check-label { font-size: 13px !important; }
  html body .search-widget .mobile-field input, html body .search-widget .mobile-select-field strong { font-size: 15px !important; }
  html body .search-widget .mobile-submit, html body .search-widget .mobile-help-actions a { font-size: 14px !important; }
  .destination-hero { min-height: 420px; }
  .why-choose-us { padding: 62px 0 66px; }
  .why-choose-heading { margin-bottom: 30px; }
  .why-choose-grid { gap: 14px; }
  .why-choose-card { min-height: 280px; padding: 28px 22px; }
  .site-footer { padding-top: 54px; }
  .footer-main-grid { grid-template-columns: 1fr 1fr; gap: 38px 28px; }
  .footer-brand, .footer-support-column { grid-column: 1 / -1; }
  .footer-brand > p { max-width: 540px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-bottom nav { justify-content: flex-start; }
}
@media (max-width: 479.98px) {
  .site-header .navbar-brand img { width: 172px; }
  html body .search-widget { padding: 12px !important; }
  .shared-page-hero h1, .airline-hero h1, .hero-service h1, .vacation-hero h1 { font-size: 2.25rem !important; }
  .why-choose-grid, .footer-main-grid, .footer-contact-card { grid-template-columns: 1fr; }
  .why-choose-card { min-height: 0; }
  .footer-brand, .footer-support-column { grid-column: auto; }
  .footer-brand img { width: 218px; }
  .footer-contact-card a + a { margin-top: 14px; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .footer-contact-address { grid-column: auto; }
  .footer-disclaimer-card { padding: 20px; }
}
