.flights-page { background: #f5f8fb; }
.flight-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(120deg,#0a2447,#284177 60%,#087b9b); padding: clamp(54px,8vw,110px) 0 clamp(48px,6vw,84px); }
.flight-hero--hub .flight-hero__photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.flight-hero::before { content: ''; position: absolute; z-index: -1; width: 610px; height: 610px; left: -130px; top: -300px; border: 2px solid #ffffff38; border-radius: 50%; box-shadow: 0 0 0 55px #ffffff0b,0 0 0 112px #ffffff09,0 0 0 182px #ffffff06; }
.flight-hero::after { content: '✦'; position: absolute; z-index: -1; left: 12%; bottom: -95px; color: #ffffff0e; font-size: 350px; line-height: 1; }
.flight-hero--hub::before { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; box-shadow: none; background: linear-gradient(270deg, #092448f2 0%, #092448df 46%, #092448a8 100%); }
.flight-hero .eyebrow { color: #9ee6ee; }
.flight-hero h1 { max-width: 850px; font-size: clamp(42px,6vw,78px); letter-spacing: -.03em; line-height: 1.04; margin: 14px 0 20px; }
.flight-hero p { max-width: 700px; font-size: clamp(19px,2.2vw,26px); line-height: 1.42; color: #eaf7ff; }
.flight-hero__jump { display: inline-flex; align-items: center; gap: 18px; margin-top: 18px; padding: 13px 22px; background: #fff; border-radius: 999px; color: #163764; font-weight: 800; }
.flight-hero__jump:hover { background: #d9f5fa; color: #163764; }
.flight-hero--route { padding-block: 50px 60px; }
.flight-hero--route h1 { font-size: clamp(38px,5vw,64px); }
.flight-back { display: block; width: fit-content; color: #d7f8ff; font-size: 16px; margin-bottom: 25px; text-decoration: underline; }
.flight-main { padding-block: 46px 80px; }
.flight-board { background: #fff; border: 1px solid #c8dbe9; border-radius: 20px; padding: clamp(22px,3vw,38px); box-shadow: 0 18px 42px #102e5613; }
.flight-board__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.flight-board h2, .flight-section h2, .flight-explainer h2, .flight-route-copy h2, .flight-booking h2, .flight-related h2 { color: #17365e; font-size: clamp(26px,3vw,36px); line-height: 1.17; margin: 8px 0 16px; }
.flight-freshness { background: #e9f5f8; color: #124a63; border-radius: 8px; padding: 9px 13px; font-size: 15px; font-weight: 700; line-height: 1.4; }
.flight-freshness.is-stale { background: #fff2d9; color: #704b00; }
.flight-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; background: #edf4f8; padding: 15px; border-radius: 12px; }
.flight-filters label { display: flex; flex-direction: column; gap: 6px; color: #244563; font-size: 14px; font-weight: 700; }
.flight-filters select, .flight-filters input { width: 100%; min-height: 44px; color: #17365e; background: #fff; border: 1px solid #b8cbdb; border-radius: 7px; padding: 8px 12px; }
.flight-filters .flight-filters__past { flex-direction: row; align-items: center; gap: 9px; grid-column: 1 / -1; cursor: pointer; }
.flight-filters .flight-filters__past input { width: 18px; height: 18px; min-height: 18px; padding: 0; accent-color: #0b718f; }
.flight-board__results { margin-top: 24px; }
.flight-count { color: #3c536e; font-weight: 700; margin-bottom: 10px; }
.flight-table-scroll { overflow-x: auto; }
.flight-table { width: 100%; border-collapse: collapse; text-align: right; font-size: 16px; }
.flight-table th { background: #193a65; color: #fff; font-weight: 700; }
.flight-table td, .flight-table th { padding: 12px 10px; border-bottom: 1px solid #d9e5ec; vertical-align: middle; }
.flight-table td:first-child { white-space: nowrap; font-weight: 700; }
.flight-table tbody tr:nth-child(even) { background: #f6f9fb; }
.flight-table .flight-code { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.flight-status { display: inline-block; border-radius: 999px; padding: 3px 9px; background: #e8f4eb; color: #21613a; font-weight: 700; white-space: nowrap; }
.flight-status--delay { background: #fff2d9; color: #805500; }
.flight-status--cancel { background: #fbe8e8; color: #9e2c2c; }
.flight-source { color: #526778; font-size: 14px; line-height: 1.55; margin: 20px 0 0; }
.flight-source a, .flight-route-copy a, .flight-booking a:not(.flight-cta) { color: #086782; text-decoration: underline; }
.flight-section, .flight-explainer, .flight-booking, .flight-related { margin-top: 58px; }
.flight-section__head { max-width: 700px; margin-bottom: 25px; }
.flight-section__head p { color: #40566f; font-size: 19px; }
.flight-destinations { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; }
.flight-destination { display: flex; flex-direction: column; background: #fff; border: 1px solid #cedee9; border-radius: 15px; overflow: hidden; padding: 22px; }
.flight-destination__code { color: #087b9b; font-size: 17px; font-weight: 800; }
.flight-destination h3 { color: #17365e; font-size: 23px; margin: 8px 0; }
.flight-destination p { margin-bottom: 18px; font-size: 15px; }
.flight-destination p a { color: #087b9b; text-decoration: underline; }
.flight-destination__links { margin-top: auto; display: flex; flex-direction: column; gap: 9px; }
.flight-destination__links a { display: block; background: #e8f4f8; color: #164c6d; border-radius: 7px; padding: 8px 10px; font-size: 14px; font-weight: 700; }
.flight-destination__links a:hover { background: #d4ebf3; }
.flight-explainer { background: #e7f2f8; border-radius: 18px; padding: 30px; }
.flight-explainer__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.flight-explainer__grid div { background: #fff; border-radius: 10px; padding: 20px; }
.flight-explainer strong { color: #17365e; font-size: 21px; }
.flight-explainer p { color: #40566f; line-height: 1.5; margin: 10px 0 0; }
.flight-booking { background: #fff; border: 1px solid #cedee9; border-radius: 16px; padding: 26px; }
.flight-booking-pending { color: #486078; line-height: 1.5; }
.flight-cta { display: inline-flex; align-items: center; gap: 20px; background: #0b718f; color: #fff; padding: 13px 23px; border-radius: 8px; font-weight: 800; }
.flight-cta:hover { background: #145a76; color: #fff; }
.flight-disclosure { color: #53697a; font-size: 14px; }
.flight-route-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(270px,1fr); gap: 25px; align-items: start; }
.flight-route-copy { margin-top: 55px; background: #fff; border: 1px solid #cedee9; border-radius: 16px; padding: 28px; }
.flight-route-copy p, .flight-route-copy li { line-height: 1.6; }
.flight-route-copy ul { padding-inline-start: 22px; }
.flight-local-guide { margin-top: 28px; background: #e7f2f8; border: 1px solid #cbdfea; border-radius: 16px; padding: clamp(22px,3vw,34px); }
.flight-local-guide h2 { color: #17365e; font-size: clamp(25px,3vw,34px); margin: 7px 0 15px; }
.flight-local-guide p { max-width: 82ch; color: #334f68; line-height: 1.65; margin: 12px 0; }
.flight-local-guide__source { font-size: 14px; }
.flight-local-guide a { color: #086782; text-decoration: underline; }
.flight-related > div { display: flex; flex-wrap: wrap; gap: 9px; }
.flight-related a { background: #e7f2f8; color: #164c6d; padding: 8px 14px; border-radius: 999px; }
@media (max-width: 1100px) { .flight-destinations { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .flight-board__head { display: block; }
  .flight-freshness { width: fit-content; }
  .flight-filters { grid-template-columns: 1fr; }
  .flight-destinations { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .flight-explainer__grid, .flight-route-layout { grid-template-columns: 1fr; }
  .flight-route-copy { margin-top: 24px; }
  .flight-table { font-size: 14px; min-width: 670px; }
}
@media (max-width: 520px) {
  .flight-destinations { grid-template-columns: 1fr; }
  .flight-destination { padding: 18px; }
  .flight-board { padding: 18px; }
  .flight-hero h1 { font-size: 42px; }
}
