/* AEROBOP's brighter palette. Keep the page and result surfaces white. */
:root {
  --blue2: #eaf1ff;
  --line: #cbdcf5;
  --teal: #087f73;
  --coral: #c64c24;
  --sun: #ffc44f;
}

.topbar { border-bottom: 2px solid #d4e3ff; box-shadow: 0 3px 20px #163b7609; }
.live-dot { background: #10a974; box-shadow: 0 0 0 3px #10a97425; }
.hero .eyebrow {
  display: inline-flex;
  margin-bottom: 17px;
  padding: 6px 12px;
  border: 1px solid #c8daff;
  border-radius: 999px;
  background: #edf4ff;
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}
.hero h1 { color: #102c59; text-wrap: balance; }
.hero p { color: #405572; }
.search-card { border: 1.5px solid #bbd0f9; box-shadow: 0 18px 48px #1646871b; }

.tab { border-width: 1.5px; }
#tab-route { border-color: #ccdcff; background: #f1f6ff; }
#tab-destination { border-color: #b5e5db; background: #effbf8; }
#tab-origin { border-color: #f6cfb6; background: #fff4ec; }
#tab-route .tab-label { color: #194db1; }
#tab-destination .tab-label { color: #087268; }
#tab-origin .tab-label { color: #aa4825; }
.tab .tab-description { color: #425a77; }
.tab:hover { box-shadow: 0 10px 24px #214c8420; }
#tab-route.active {
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  background: #e6efff;
  box-shadow: 0 0 0 2px #155eef26, 0 9px 23px #155eef21;
}
#tab-destination.active {
  border-color: var(--teal) !important;
  color: var(--teal) !important;
  background: #def7ef;
  box-shadow: 0 0 0 2px #087f7326, 0 9px 23px #087f7321;
}
#tab-origin.active {
  border-color: var(--coral) !important;
  color: var(--coral) !important;
  background: #ffebdc;
  box-shadow: 0 0 0 2px #c64c2426, 0 9px 23px #c64c2421;
}
.tab.active .tab-description { color: #334a68; }

.fieldbox, .trip-date-field input, .selectbox select { border-color: #a9c3eb; }
.fieldbox:focus-within, .trip-date-field input:focus, .selectbox select:focus-visible {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #155eef25;
}
.field-icon { color: #2158ac; }
.field-hint, .trip-date-hint { color: #4e637f; }
.swap { border-color: #a9c3eb; background: #edf4ff; color: #1b55bc; }
.swap:hover { border-color: var(--blue); background: #e1ebff; }
.route-kind-btn { border-color: #b7cdec; background: #f5f8ff; color: #274667; }
.route-kind-btn:hover { border-color: var(--blue); background: #eaf1ff; }
.route-kind-btn.active { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 4px 12px #155eef30; }
.route-kind-btn[data-kind="stopover"].active,
.destination-kind-btn[data-destination-kind="stopover"].active { border-color: var(--teal); background: var(--teal); color: #fff; box-shadow: 0 4px 12px #087f7330; }
.route-kind-btn[data-kind="multi"].active { border-color: var(--coral); background: var(--coral); color: #fff; box-shadow: 0 4px 12px #c64c2430; }
.search-btn { background-color: var(--blue); background-image: linear-gradient(115deg, #ffffff19, transparent 70%); box-shadow: 0 8px 20px #155eef38; }
.search-btn:hover { filter: brightness(.91); transform: translateY(-1px); box-shadow: 0 11px 24px #155eef40; }
.search-btn:disabled { transform: none; filter: none; }
.search-btn:focus-visible, .tab:focus-visible, .route-kind-btn:focus-visible,
.map-expand:focus-visible, .route-alternative:focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; }

.suggestions { border-color: #aac5ee; box-shadow: 0 16px 34px #1a4b872b; }
.suggestion:hover, .suggestion[aria-selected="true"] { background: #eaf2ff; }
.iata { background: #dbe9ff; color: #194ba4; }
.date-summary span { background: #e5f0ff; color: #1e4f97; }
.results-kicker { color: #175cc6; }
.results-title span { color: var(--blue); }
.route-card { border-color: #bfd4f1; box-shadow: 0 3px 13px #1b4d8608; }
.route-card:hover { border-color: var(--blue); box-shadow: 0 12px 28px #1b4d861b; }
.direct-pill { background: #d8f6e9; color: #086345; }
.airline-link { border-color: #bfd4f1; background: #f4f8ff; color: #1552bf; }
.airline-link:hover, .airline-link:focus-visible { border-color: var(--blue); background: #e3edff; color: #1144a7; }
.airline-logo { background: #dfeaff; color: #174da6; }
.route-alternatives { border-color: #bfd4f1; background: #eff5ff; }
.route-alternative { border-color: #a5c4ef; background: #fff; color: #1551b8; }
.route-alternative:hover { border-color: var(--blue); background: #dfebff; }
.route-map-wrap { border-color: #bcd3f4; }
.route-map-wrap, .flight-map { isolation: isolate; }
.route-map-head { background: #edf4ff; color: #1c568d; }
.route-map-head strong { color: #174373; }
.route-map-airports { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 11px 13px; list-style: none; border-top: 1px solid #dbe6f3; background: #fff; }
.route-map-airports li { display: flex; align-items: center; gap: 9px; flex: 1 1 175px; min-width: 0; }
.route-map-airport-code { flex: 0 0 auto; display: grid; place-items: center; min-width: 43px; min-height: 34px; padding: 0 5px; border-radius: 9px; color: #fff; background: #155eef; font-size: 11px; font-weight: 850; letter-spacing: .03em; }
.route-map-airport-code[data-role="stop"] { background: #7449d6; }
.route-map-airport-code[data-role="arrival"] { background: #d9542b; }
.route-map-airport-copy { display: grid; min-width: 0; line-height: 1.2; }
.route-map-airport-copy em { font-size: 9px; font-style: normal; font-weight: 850; color: #58718b; letter-spacing: .08em; text-transform: uppercase; }
.route-map-airport-copy strong { color: #183858; font-size: 13px; font-weight: 800; }
.route-map-airport-copy small { color: #526780; font-size: 11px; overflow-wrap: anywhere; }
#map-modal-airports { max-height: 125px; overflow-y: auto; }
@media (max-width: 700px) {
  .route-map-airports { gap: 7px; padding: 10px; }
  .route-map-airports li { flex-basis: 100%; }
  .route-map-airport-copy { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 7px; }
  .route-map-airport-copy strong { font-size: 12px; }
  .route-map-airport-copy small { font-size: 11px; }
}
.map-expand { border-color: #9fbeed; background: #fff; color: #1551b8; }
.map-expand:hover { border-color: var(--blue); background: #dceaff; }
.overview-route-info.selected { border-left-color: var(--coral); }
.overview-route-link, .seo-guide-link { background: var(--blue); }
.overview-route-link:hover, .seo-guide-link:hover { background: #104abf; }
.route-card-highlight { outline-color: var(--coral); }

.origin-profile-choice { border-color: #a9dfd1; background: #eefbf7; }
.origin-profile-heading strong, .destination-index h3 { color: #11564f; }
.origin-profile-options button { border-color: #b7ddcf; }
.origin-profile-options button:hover { border-color: var(--teal); background: #f3fffb; }
.origin-profile-options button[aria-pressed="true"] { border-color: var(--teal); background: #d6f5ea; box-shadow: inset 0 0 0 1px var(--teal); }
.origin-profile-options button:nth-child(2) svg { color: #6654bf; }
.origin-profile-options button:nth-child(3) svg { color: #087f92; }
.origin-profile-options button:nth-child(4) svg { color: #158054; }
.origin-profile-options button:nth-child(5) svg { color: var(--coral); }
.destination-index { border-color: #a9dccb; background: #f0fbf7; }
.destination-index-eyebrow { color: var(--teal); }
.destination-index-item { border-color: #b9ddcd; }
.destination-index-item:hover { border-color: var(--teal); background: #e4f8ed; }
.destination-index-code { background: #d9f4e8; color: #086b60; }
.back-to-top { border-color: #07675e; background: var(--teal); box-shadow: 0 8px 25px #087f7345; }
.back-to-top:hover { background: #06675d; }

.bopi-launcher { border-color: #1248b7; background: var(--blue); box-shadow: 0 10px 28px #155eef45; }
.bopi-launcher[aria-expanded="true"] { background: #1749b4; }
.bopi-head { background: linear-gradient(112deg, #1551bd, #087f85); }
.bopi-user { background: #1556c7; }
.bopi-choices button, .bopi-view-results { border-color: #a5c5ec; background: #eaf3ff; color: #164a9c; }
.bopi-choices button:hover, .bopi-view-results:hover { border-color: var(--blue); background: #dceaff; }
.bopi-send { background: var(--blue); }
.bopi-send:hover { background: #104abf; }

.seo-guide { border-color: #bfd4f3; background: linear-gradient(145deg, #eff5ff, #fff 57%); }
.seo-step { border-color: #c8daf4; }
.seo-step-number { color: var(--blue); }
.seo-faq details { border-bottom-color: #c9daf2; }

@media (prefers-reduced-motion: reduce) {
  .search-btn:hover { transform: none; }
}
