.route-airport-page .upfront-hero{padding-top:32px;padding-bottom:48px}
.route-airport-page .upfront-hero-copy{max-width:680px}
.route-airport-page .upfront-hero-copy h1{font-size:clamp(38px,4.6vw,66px)}
.route-airport-page .route-fare-preview{margin:24px 0;color:#f6f4ee}
.route-airport-page .route-fare-preview h2{font-size:1.08rem;line-height:1.4;margin:0 0 5px;color:#fff;font-weight:500}
.route-airport-page .route-fare-context{font-size:.85rem;line-height:1.6;margin:0 0 12px;color:#dedfdc}
.route-airport-page .route-fare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-airport-page .route-fare-card{padding:14px 16px;background:rgba(8,14,21,.91);border:1px solid #7f7459;border-radius:8px}
.route-airport-page .route-fare-card h3{font-family:inherit;font-size:.86rem;line-height:1.45;font-weight:500;margin:0;color:#f2eee2}
.route-airport-page .route-fare-card strong{display:block;font-size:1.7rem;line-height:1.3;font-weight:500;color:#f4d8a2;margin:4px 0;font-variant-numeric:tabular-nums}
.route-airport-page .route-fare-card a{font-size:.78rem;line-height:1.5;color:#f2e1bd;text-decoration:underline;text-underline-offset:3px}
.route-airport-page .route-fare-status{font-size:.76rem;line-height:1.6;color:#dedfdc;margin:12px 0 0}
.route-airport-page .route-fare-inclusions{font-size:.8rem;line-height:1.6;color:#dedfdc;margin:8px 0 0}
.route-airport-page .route-journey-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0}
.route-airport-page .route-source-note{font-size:.9rem;line-height:1.7}
.airport-destination-section{background:#f7f5f0;color:#17201f}
.airport-destination-section h2{color:#17201f}
.airport-destination-section p{color:#43534e}
.airport-destination-section .kicker{color:#705a2c}
.airport-destination-section .route-journey-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 24px;margin-top:24px}
.airport-destination-section .route-journey-links a{color:#243d31;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.route-airport-page .upfront-hero{padding-top:24px;padding-bottom:32px}.route-airport-page .upfront-hero-copy h1{font-size:clamp(36px,9vw,56px)}.route-airport-page .route-fare-card{padding:12px}.route-airport-page .route-fare-card strong{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){.route-airport-page{scroll-behavior:auto}}
/* Preserve the shared readability theme on existing routes and scope dark panels. */
body.themed-page.route-airport-page main .upfront-hero-copy :is(h1,h2,h3){color:#f6f3eb!important}
body.themed-page.route-airport-page main .upfront-hero-copy h1 em{color:#ead7ae!important}
body.themed-page.route-airport-page main .upfront-hero-copy p{color:#e1e7e1!important}
body.themed-page.route-airport-page main .upfront-hero-copy .upfront-kicker{color:#ead7ae!important}
body.themed-page.route-airport-page main .upfront-content .upfront-kicker{color:#765a29!important}
body.themed-page.route-airport-page main .upfront-content a{color:#314b34!important}
body.themed-page.route-airport-page main .upfront-faq summary{color:#17201f!important}
body.themed-page.route-airport-page main .upfront-quote-card .upfront-note p{color:#f5f1e8!important;-webkit-text-fill-color:#f5f1e8!important}
body.themed-page.route-airport-page main .upfront-section :is(h2,h3,p){color:#f1f3ed!important}
body.themed-page.route-airport-page main .upfront-section h2 em{color:#ead7ae!important}
body.themed-page.route-airport-page main .upfront-section .upfront-kicker{color:#ead7ae!important}
body.themed-page.route-airport-page main .upfront-section a:not(.upfront-button){color:#f0d59e!important}
body.themed-page.route-airport-page footer .footer-brand span{color:#495849!important}
/* Reverse-direction examples stay separate from the airport-bound hero fares. */
.route-airport-page .route-arrival-examples{max-width:1100px;margin:0 auto 42px;padding:32px clamp(20px,5vw,48px);background:#101923;border:1px solid #807453;border-radius:12px;color:#eef2eb}
body.themed-page.route-airport-page main .route-arrival-examples :is(h2,h3,p){color:#eef2eb!important;-webkit-text-fill-color:#eef2eb!important}
body.themed-page.route-airport-page main .route-arrival-examples .upfront-kicker{color:#ead7ae!important;-webkit-text-fill-color:#ead7ae!important}
body.themed-page.route-airport-page main .route-arrival-examples .route-fare-card strong{color:#f4d8a2!important;-webkit-text-fill-color:#f4d8a2!important}
body.themed-page.route-airport-page main .route-arrival-examples .route-fare-card a{color:#f2e1bd!important;-webkit-text-fill-color:#f2e1bd!important}
.route-airport-page .route-arrival-examples>.upfront-button{margin-top:6px}
@media(max-width:760px){.route-airport-page .route-arrival-examples{margin:0 16px 30px;padding:24px 18px}}
body.themed-page.route-airport-page main .upfront-hero-copy .breadcrumb a{color:#f2e1bd!important;-webkit-text-fill-color:#f2e1bd!important}
/* Match the homepage quote-type labels when legacy route styles are present. */
body.themed-page.route-airport-page main .journey-card .hero-booking-mode label,
body.themed-page.route-airport-page main .journey-card .hero-booking-mode label:has(input:checked){background:transparent!important;color:#465741!important;-webkit-text-fill-color:#465741!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;font-weight:400!important;font-size:14px!important}
/* Keep both directions together near the quote, with explicit labels and colours. */
.route-airport-page .route-fare-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 12px;align-items:start}
.route-airport-page .route-fare-comparison .route-fare-preview{margin:0;padding:14px 12px;border:1px solid #b99a55;border-radius:10px;background:#f3e7cb;min-width:0}
.route-airport-page .route-fare-comparison [data-route-direction="from-airport"]{background:#dfebf3;border-color:#86a8be}
body.themed-page.route-airport-page main .route-fare-comparison :is(h2,h3,p,strong,a){color:#20362c!important;-webkit-text-fill-color:#20362c!important}
body.themed-page.route-airport-page main .route-fare-comparison [data-route-direction="from-airport"] :is(h2,h3,p,strong,a){color:#17324a!important;-webkit-text-fill-color:#17324a!important}
.route-airport-page .route-fare-comparison h2{font-size:1rem;line-height:1.3;font-weight:600;min-height:2.6em;margin-bottom:8px}
.route-airport-page .route-fare-comparison .route-fare-context{font-size:.73rem;line-height:1.45;min-height:4.35em;margin-bottom:10px}
.route-airport-page .route-fare-comparison .route-fare-grid{gap:8px}
.route-airport-page .route-fare-comparison .route-fare-card{padding:10px 9px;background:rgba(255,255,255,.76);border-color:#d3bc86}
.route-airport-page .route-fare-comparison [data-route-direction="from-airport"] .route-fare-card{border-color:#a8c2d3}
.route-airport-page .route-fare-comparison .route-fare-card h3{font-size:.76rem;line-height:1.4}
.route-airport-page .route-fare-comparison .route-fare-card strong{font-size:1.45rem;line-height:1.3}
.route-airport-page .route-fare-comparison .route-fare-card a{font-size:.69rem;line-height:1.45}
.route-airport-page .route-fare-comparison .route-fare-status{font-size:.66rem;line-height:1.45;margin-top:10px}
.route-airport-page .route-fare-comparison .route-fare-inclusions{display:none}
.route-airport-page .route-fare-reference,.route-airport-page .route-fare-comparison-note{font-size:.77rem;line-height:1.5;margin:8px 0}
@media(max-width:1100px){.route-airport-page .route-fare-comparison .route-fare-grid{grid-template-columns:1fr}}
@media(max-width:420px){.route-airport-page .route-fare-comparison{gap:8px}.route-airport-page .route-fare-comparison .route-fare-preview{padding:12px 9px}.route-airport-page .route-fare-comparison .route-fare-card{padding:9px 8px}.route-airport-page .route-fare-comparison .route-fare-card strong{font-size:1.3rem}}

/* Gold quote actions must retain dark glyphs, including WebKit text fill. */
body.themed-page.route-airport-page main a.upfront-button,
body.themed-page.route-airport-page main a.upfront-button span {
 color:#10151c!important;
 -webkit-text-fill-color:#10151c!important;
}
body.themed-page.route-airport-page main a.upfront-button:hover {background:#eed6a9;}
body.themed-page.route-airport-page main a.upfront-button:focus-visible {outline:3px solid #fff;outline-offset:4px;}

/* Collection guide sits with the main quote CTA, outside both fare columns. */
.route-airport-page .route-airport-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  margin-top:16px;
}
.route-airport-page .route-airport-actions > .upfront-button {
  margin-top:0;
  min-height:56px;
  justify-content:space-between;
}
.route-airport-page .route-pickup-guide-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:56px;
  max-width:100%;
  box-sizing:border-box;
  padding:14px 19px;
  border:1px solid #e3c58b;
  border-radius:5px;
  background:rgba(12,29,41,.88);
  color:#f4d6a0!important;
  -webkit-text-fill-color:#f4d6a0!important;
  text-decoration:none!important;
  text-align:center;
  font-size:.87rem;
  font-weight:700;
  line-height:1.4;
  transition:background .2s ease,border-color .2s ease;
}
.route-airport-page .route-pickup-guide-button > span {
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
.route-airport-page .route-pickup-guide-button:hover {
  background:#223b4b;
  border-color:#f8dfaa;
}
.route-airport-page .route-pickup-guide-button:focus-visible {
  outline:3px solid #f5d699;
  outline-offset:3px;
}
.route-airport-page .hero-actions > .route-pickup-guide-button {margin-top:0;}
@media(max-width:620px) {
  .route-airport-page .route-airport-actions > .upfront-button,
  .route-airport-page .route-airport-actions > .route-pickup-guide-button {
    width:100%;
    justify-content:center;
  }
}
