/* ONN Travel: visual tokens derived from the supplied airline banner. */
:root {
  --onn-blue: #063977;
  --onn-blue-deep: #052d60;
  --onn-orange: #ff932e;
  --ink: #092f60;
  --ink-soft: #355779;
  --mint: var(--onn-orange);
  --mint-pale: #edf4fc;
  --coral: #df6e13;
  --paper: #f5f8fc;
  --line: #d8e3f0;
  --muted: #536b86;
  --shadow: 0 18px 48px rgba(5,45,96,.12);
  --radius: 14px;
  --wl-ink: var(--ink);
  --wl-mint: var(--onn-orange);
  --wl-paper: var(--paper);
  --wl-line: var(--line);
  --wl-muted: var(--muted);
}
body { font-family: 'DM Sans', 'Noto Sans Armenian', Arial, sans-serif; }
.onn-brand-banner { display: block; width: 100%; background: var(--onn-blue); }
.onn-brand-banner img { display: block; width: 100%; height: auto; margin: 0; }
.logo-wordmark, .wl-logo .logo-wordmark { font-size: 23px; letter-spacing: -.045em; white-space: nowrap; }
.logo-wordmark b, .travel-header strong b { font-weight: 800; }
.logo-wordmark > span, .travel-header strong > span { font-weight: 500; font-size: inherit; color: inherit; }
.logo-mark { display: none; }
body:not(.white-label-page) h1 em, body:not(.white-label-page) h2 em {
  font-family: inherit !important; font-style: normal !important; font-weight: 700; letter-spacing: inherit;
}
.hero, .airlines-hero, .talks-hero, .wl-header, .legal-header { background: var(--onn-blue); color: white; }
.hero { min-height: 590px; }
.hero::after { display: none; }
.hero-content { padding-top: 70px; }
.hero-kicker, .eyebrow { color: #bd6016; }
.hero .hero-kicker, .airlines-hero .hero-kicker, .talks-hero .hero-kicker { color: #ffc086; }
.main-nav a.active::after { background: var(--onn-orange); }
.white-label-search-heading p, .partner-search-heading p, .modal-eyebrow, .detail-kicker { color: var(--ink-soft); }
.partner-search { background: var(--mint-pale); border-color: var(--line); }
.search-trust span::before { color: #286aac; }
.account-button, .search-submit, .primary-button { background: var(--onn-orange); color: var(--ink); }
button, .travel-button, .account-button { transition: background-color .15s, border-color .15s; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid var(--onn-orange); outline-offset: 3px;
}
.travel-app { background: var(--onn-blue); color: #fff; color-scheme: dark; --ink: #fff; --ink-soft: #c9ddf7; --muted: #c0d4ed; --line: #5275a0; }
.travel-shell { max-width: 940px; padding: 24px 24px calc(32px + env(safe-area-inset-bottom)); }
.travel-shell > .onn-brand-banner { border-radius: 12px; overflow: hidden; margin-bottom: 24px; }
.travel-header { padding-bottom: 20px; margin-bottom: 24px; }
.travel-header strong { font-size: 26px; letter-spacing: -.04em; }
.travel-shell h1 { font-weight: 750; letter-spacing: -.04em; line-height: 1.1; }
.travel-tabs { padding: 5px; background: var(--onn-blue-deep); border-radius: 12px; gap: 4px; }
.travel-tabs button { background: transparent; border-color: transparent; }
.travel-tabs button[aria-current] { color: #092f60; background: #fff; border-color: #fff; }
.travel-shell button, .travel-fields input, .travel-fields select, .travel-calendar-controls input {
  background: #0a4487; color: #fff; border-color: #5275a0; border-radius: 10px; min-height: 46px;
}
.travel-fields input, .travel-fields select, .travel-calendar-controls input { background: var(--onn-blue-deep); padding: 13px; }
.travel-fields input::placeholder { color: #b9cce2; opacity: 1; }
.travel-fields input[type=checkbox], .travel-check input { accent-color: var(--onn-orange); }
.travel-shell .travel-button { display: inline-flex; align-items: center; justify-content: center; background: var(--onn-orange); border-color: var(--onn-orange); color: #092f60; }
.travel-shell .travel-button:hover { background: #ffad5d; border-color: #ffad5d; }
#travel-login .travel-button { margin: 8px 0 12px; }
.travel-shell button:not(.travel-button):not([aria-current]):hover { background: #15569c; }
.travel-card { background: #0a4080; border-color: #5275a0; border-radius: 14px; padding: 22px; }
.travel-card h2 { color: #fff; font-weight: 700; letter-spacing: -.025em; }
.travel-card .travel-price { color: #ffc086; }
.travel-shell footer { border-top: 1px solid var(--line); padding-top: 20px; }
.travel-loading { display: flex; align-items: center; gap: 18px; margin: 20px 0; padding: 20px; border: 1px solid var(--onn-orange); border-radius: 12px; background: var(--onn-blue-deep); }
.travel-loading strong { display: block; font-size: 18px; }
.travel-loading p { margin: 6px 0 0; color: #c9ddf7; font-size: 14px; }
.travel-loading-spinner { flex: 0 0 36px; width: 36px; height: 36px; border: 3px solid #5275a0; border-top-color: var(--onn-orange); border-radius: 50%; animation: onn-search-spin .9s linear infinite; }
#travel-results[aria-busy=true] { opacity: .45; pointer-events: none; }
@keyframes onn-search-spin { to { transform: rotate(360deg); } }
.travel-shell :focus-visible { outline-color: var(--onn-orange); }
body.onn-offline { background: var(--onn-blue); color: #fff; }
.onn-offline p { color: #c9ddf7; }
.onn-offline button { background: var(--onn-orange); color: #092f60; }
@media(max-width: 640px) {
  .hero { min-height: 580px; }
  .hero-content { padding-top: 50px; }
  .logo-wordmark { font-size: 20px; }
  .travel-shell { padding: 14px 14px calc(24px + env(safe-area-inset-bottom)); }
  .travel-shell > .onn-brand-banner { margin-bottom: 20px; border-radius: 8px; }
  .travel-header strong { font-size: 23px; }
  .travel-card { padding: 18px; }
}
@media(prefers-reduced-motion: reduce) { button, .travel-button, .account-button { transition: none; } .travel-loading-spinner { animation: none; } }
