/* Native SSR form adapters. Template visual tokens are compiled separately. */
.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.native-trip-options{display:flex;gap:0}.native-trip-options label{display:flex;align-items:center;justify-content:center;gap:5rem;padding:9rem;flex:1;cursor:pointer;font-size:11rem;border-bottom:2px solid transparent}.native-trip-options label:has(input:checked){color:#ae792a;border-color:#d5a454;background:#fff8ec}.native-trip-options input{accent-color:#c49340;width:12rem;height:12rem;margin:0}
[hidden]{display:none!important}.field-full{grid-column:1/-1}.booking-input textarea{width:100%;min-height:60rem;resize:vertical;border:0;background:transparent;font:inherit}.booking-input input,.booking-input select{min-width:0}.consent-row{display:block;font-size:11rem;line-height:1.7;margin:16rem 0}.consent-row input{accent-color:#b38335;margin-right:8rem}.consent-row a{color:#956921;text-decoration:underline}.booking-submit{width:100%}.booking-note{font-size:10rem;color:#647084}.booking-summary{align-self:start;position:sticky;top:20rem;padding:22rem;border:1px solid #e3e7ed;border-radius:9rem;background:#fff}.booking-summary h2{font-size:20rem}.booking-summary p{font-size:12rem;line-height:1.6}.booking-summary [data-booking-summary] p:first-child{font-size:26rem;font-weight:600;color:#9f7226}.form-message{font-size:12rem;color:#8c2222;background:#fff1ef;padding:10rem;border-radius:5rem;margin-bottom:12rem}.validation-summary:empty{display:none}.return-booking-fields{grid-column:1/-1}.status-panel{padding:50rem;max-width:850rem;margin:auto}.status-panel h1{font-size:32rem}.status-panel p,.status-panel dl{font-size:14rem;line-height:1.7}.status-panel dt{font-weight:600}.status-panel dd{margin:0 0 12rem}.status-actions{display:flex;flex-wrap:wrap;gap:12rem;margin-top:20rem}
@media(max-width:700px){.booking-summary{position:static}.status-panel{padding:24rem}.native-trip-options label{font-size:12rem;padding:10rem 5rem}}
@media(max-width:700px) and (scripting:none){.navigation{flex-wrap:wrap}.nav-links{display:flex;position:static;order:3;width:100%;flex-wrap:wrap;padding:10rem 0}.menu-toggle{display:none}}
.operator-contact{font-size:7rem;text-align:center;color:#7c8797;line-height:1.6;margin:5rem 0 0}.operator-contact a{white-space:nowrap;text-decoration:underline}
.language-switcher{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:4px 16px;font-size:14px}.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:4px;text-decoration:underline}.language-switcher a[aria-current="page"]{font-weight:700;text-decoration-thickness:2px}
.editorial-document .document-section{font-size:16rem;line-height:1.75;color:#263345;overflow-wrap:anywhere}
.editorial-document .document-section{width:min(100%,1050rem);margin:0 auto;padding:28rem 36rem}
.editorial-document .document-section:first-child{padding-top:42rem}
.editorial-document .document-section h1{font-size:clamp(28rem,4vw,44rem);line-height:1.18;margin:12rem 0 22rem}
.editorial-document .document-section h2{font-size:28rem;line-height:1.3;margin:12rem 0 20rem}
.editorial-document .document-section h3{font-size:21rem;line-height:1.35;margin:24rem 0 12rem}
.editorial-document .document-section p{font-size:16rem;line-height:1.75;margin:16rem 0;max-width:none}
.editorial-document .document-section ul,.editorial-document .document-section ol{padding-left:24rem;margin:18rem 0}
.editorial-document .document-section li{padding:5rem 0}
.editorial-document .document-section a{text-decoration:underline;text-underline-offset:3rem;color:#855d22}
.editorial-document .document-section img{display:block;max-width:100%;height:auto;max-height:640rem;object-fit:contain;margin:22rem auto}
.editorial-document .document-table{max-width:100%;overflow-x:auto;margin:22rem 0}
.editorial-document .document-section dl{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);margin:22px 0;border-top:1px solid #dce2e8}
.editorial-document .document-section dt,.editorial-document .document-section dd{margin:0;padding:12px;border-bottom:1px solid #dce2e8}
.editorial-document .document-section dt{font-weight:600;background:#f4f1ec}
@media(max-width:700px){.editorial-document .document-section dl{grid-template-columns:minmax(0,1fr)}.editorial-document .document-section dt{border-bottom:0}.editorial-document .document-section dd{padding-top:4px}}
.editorial-document .document-table table{width:100%;border-collapse:collapse;font-size:15rem;line-height:1.6}
.editorial-document .document-table th,.editorial-document .document-table td{padding:12rem;border:1rem solid #dce2e8;text-align:left;min-width:110rem;vertical-align:top}
.editorial-document .document-table th{background:#f4f1ec;font-weight:600}
.editorial-document .document-section details{border-bottom:1rem solid #dce2e8;padding:16rem 0}
.editorial-document .document-section summary{cursor:pointer;font-size:18rem;font-weight:600;min-height:32rem}
.editorial-document .document-section .ride-search{position:static;inset:auto;z-index:auto;transform:none;margin:24rem 0;max-width:100%;width:100%;padding:20rem}
.editorial-document .document-section .ride-search #ride-fields{display:grid;grid-template-columns:1fr 1fr;gap:12rem}
.editorial-document .document-section .ride-search .trip-tabs label{font-size:14rem;min-height:44rem}
.editorial-document .document-section .ride-search .search-field label{font-size:14rem}
.editorial-document .document-section .ride-search .input-wrap input,.editorial-document .document-section .ride-search .input-wrap select{font-size:14rem}
.editorial-document .document-section .booking-layout{position:static;width:100%;margin:24rem 0;max-width:100%}
.editorial-document [id]{scroll-margin-top:24rem}
.editorial-document .hero-area{display:flex;flex-direction:column}
.editorial-document .hero-area>.home-hero{order:0;height:auto;min-height:300rem}
.editorial-document .hero-area>.ride-search{order:1}
.editorial-document .hero-area>.trust-bar{order:2}
.editorial-document .hero-area>.document-section{order:3}
.editorial-document .hero-copy{padding-bottom:35rem}
.editorial-document .hero-copy .hero-intro{max-width:450rem}
.editorial-document.page-vip .page-hero h1{max-width:500rem}
.editorial-document.page-vip .page-lead{max-width:490rem}
.editorial-document.page-vip .page-hero:after{background:linear-gradient(90deg,#fff0d8f5,#fff0d8e6 35%,#fff0d875 57%,transparent 78%)}
@media(min-width:701px){.editorial-document .hero-copy{padding-right:310rem}.editorial-document .hero-copy h1{font-size:35rem;max-width:490rem}}
@media(max-width:700px){.editorial-document .hero-area>.home-hero{min-height:310rem}.editorial-document .hero-copy{padding-bottom:55rem}.editorial-document .hero-copy .hero-intro{max-width:340rem}}
@media(max-width:700px){.editorial-document .document-section{padding:22rem 18rem}.editorial-document .document-section h2{font-size:25rem}.editorial-document .document-section .ride-search #ride-fields{grid-template-columns:1fr}.editorial-document .document-table th,.editorial-document .document-table td{padding:9rem}}
@media(max-width:700px){.operator-contact{font-size:9rem}}

/* Public layout: full-width canvas, bounded reading widths and readable controls.
   Keep this maintained layer outside the generated reference stylesheets. */
:root {
  --layout-max: 1440px;
  --layout-gutter: clamp(20px, 3vw, 48px);
}
body { background: #fff; font-size: 16px; line-height: 1.6; }
body [data-template] .home-shell {
  width: 100%; max-width: none; margin: 0; border-radius: 0; box-shadow: none;
}
body [data-template] :is(.content, .page-content, .page-hero-content, .landing-inner) {
  width: min(calc(100% - 2 * var(--layout-gutter)), var(--layout-max));
  max-width: var(--layout-max); margin-inline: auto;
}
body [data-template] .navigation { height: auto; min-height: 80px; padding-block: 14px; gap: 24px; }
body [data-template] .brand { font-size: 18px; gap: 9px; }
body [data-template] .logo-mark { width: 44px; height: 32px; }
body [data-template] .nav-links { font-size: 14px; line-height: 1.5; gap: 28px; margin-left: 0; }
body [data-template] .nav-actions { gap: 24px; }
body [data-template] .whatsapp-link { font-size: 14px; }
body [data-template] .button {
  min-height: 46px; padding: 11px 20px; font-size: 15px; line-height: 1.4;
  border-radius: 9px; white-space: normal; text-align: center;
}
body [data-template] .button .bi { font-size: 18px; }
body [data-template] :is(.section-heading, .trust-actions, .hero-buttons, .landing-actions, .info-card) .button {
  min-height: 46px; font-size: 15px; padding: 11px 20px;
}
body [data-template] .nav-actions .button { white-space: nowrap; }
body [data-template] :is(.page-hero, .home-hero) { min-height: 440px; height: auto; }
body [data-template] .hero-area > .home-hero { min-height: 440px; }
body [data-template] .page-hero-content { padding: 44px 0 100px; }
body [data-template] .hero-copy { padding: 56px 400px 64px 0; }
body [data-template] :is(.page-hero h1, .hero-copy h1) {
  font-size: clamp(36px, 3.4vw, 56px); line-height: 1.1; letter-spacing: -1.3px;
  max-width: 760px; margin: 0 0 20px;
}
body [data-template] .breadcrumbs { font-size: 14px; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
body [data-template] :is(.page-lead, .hero-intro) { font-size: 19px; line-height: 1.6; max-width: 640px; margin-bottom: 16px; }
body [data-template] :is(.page-intro-detail, .hero-detail) { font-size: 16px; line-height: 1.65; max-width: 640px; }
body [data-template] .eyebrow { font-size: 12px; margin-bottom: 14px; }
body [data-template] .hero-area > .ride-search {
  top: 36px; right: max(var(--layout-gutter), calc((100% - var(--layout-max)) / 2));
  width: 360px; padding: 18px 20px 20px;
}
body [data-template] .ride-search .search-field { margin-bottom: 12px; }
body [data-template] .ride-search .search-field label { font-size: 14px; margin-bottom: 5px; }
body [data-template] .ride-search .input-wrap { height: 44px; }
body [data-template] .ride-search .input-wrap :is(input, select) { font-size: 14px; }
body [data-template] .native-trip-options label { font-size: 14px; min-height: 44px; padding: 10px 5px; }
body [data-template] .payment-note { font-size: 12px; line-height: 1.5; margin-top: 12px; }
body [data-template] .trust-bar { height: auto; padding-block: 24px; }
body [data-template] .trust-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-right: 0; }
body [data-template] .trust-items b { font-size: 14px; }
body [data-template] .trust-items small { font-size: 13px; }
body [data-template] .trust-panel { margin-top: -48px; padding: 24px; }
body [data-template] .page-fact b { font-size: 14px; line-height: 1.4; }
body [data-template] .page-fact small { font-size: 13px; line-height: 1.5; }
body [data-template] .page-fact > .bi { font-size: 30px; }
body [data-template] :is(.trust-actions, .hero-buttons) { flex-wrap: wrap; gap: 12px; margin-top: 20px; }
body [data-template] :is(.main-content, .main-page-content) { padding-top: 36px; }
body [data-template] :is(.page-section, .fleet-section, .services-section, .faq-section, .how-section) { margin-top: 0; margin-bottom: 40px; }
body [data-template] .section-heading { gap: 20px; margin-bottom: 20px; }
body [data-template] :is(h2, .section-heading h2) { font-size: 30px; line-height: 1.25; letter-spacing: -.5px; margin-bottom: 10px; }
body [data-template] h3 { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
body [data-template] :is(.section-heading p, .page-section p, .info-card p, .page-step p, .how-step p, .district-card p, .fleet-card p, .service-card p, .airport-card p) { font-size: 16px; line-height: 1.65; }
body [data-template] .price-table :is(th, td) { padding: 16px 18px; font-size: 16px; line-height: 1.45; }
body [data-template] .price-table thead th { height: auto; padding-top: 18px; padding-bottom: 18px; font-size: 17px; }
body [data-template] .price-table small { font-size: 14px; line-height: 1.5; }
body [data-template] .price-photo { width: min(160px, 100%); height: auto; aspect-ratio: 109 / 49; }
body [data-template] .district-layout { gap: 24px; }
body [data-template] .district-previews { gap: 16px; }
body [data-template] .district-card { min-height: 160px; gap: 16px; }
body [data-template] .district-card > div { padding: 18px 12px 30px 0; min-width: 0; }
body [data-template] .district-photo { width: 112px; height: auto; min-height: 160px; }
body [data-template] .district-matrix { gap: 10px; }
body [data-template] .district-matrix a { min-height: 46px; font-size: 14px; padding: 10px 12px; white-space: normal; }
body [data-template] .district-matrix .bi { font-size: 20px; }
body [data-template] :is(.hub-how-row, .hub-faq-row, .columns-2, .columns-3, .fleet-grid, .services-grid) { gap: 24px; }
body [data-template] .info-card { padding: 22px; gap: 18px; }
body [data-template] .page-steps { gap: 24px; }
body [data-template] .page-step h3 { font-size: 18px; }
body [data-template] .page-step > div { min-width: 0; }
body [data-template] .check-list li { font-size: 16px; line-height: 1.6; }
body [data-template] :is(.faq-column details, .faq-column details p, .faq-column summary) { font-size: 16px; line-height: 1.65; }
body [data-template] .faq-column details { padding: 14px 18px; }
body [data-template] .landing-banner { margin: 48px 0 0; border-radius: 0; }
body [data-template] .landing-inner { padding-block: 40px; }
body [data-template] .landing-banner h2 { font-size: 32px; }
body [data-template] .landing-banner p { font-size: 16px; }
body [data-template] .site-footer { margin-top: 48px; padding: 40px var(--layout-gutter) 24px; background: #f8fafc; }
body [data-template] .footer-grid { max-width: var(--layout-max); margin-inline: auto; padding-top: 24px; gap: 32px; font-size: 14px; line-height: 1.75; }
body [data-template] .footer-grid :is(p, h3) { font-size: 14px; line-height: 1.75; }
body [data-template] .footer-grid h3 { margin-bottom: 12px; }
body [data-template] .footer-legal { font-size: 13px; line-height: 1.75; margin-top: 28px; }
body [data-template] .operator-contact { font-size: 13px; line-height: 1.75; }
body [data-template] .booking-field label { font-size: 14px; }
body [data-template] .booking-input { min-height: 46px; }
body [data-template] .booking-input :is(input, select, textarea) { font-size: 16px; padding-block: 12px; }
body [data-template] .booking-step { padding: 24px; }
body [data-template] .booking-step-heading h2 { font-size: 24px; }
body [data-template] .booking-step-heading p { font-size: 15px; }
body [data-template] :is(.booking-summary p, .consent-row, .booking-note) { font-size: 15px; line-height: 1.65; }
body [data-template] .cruise-hero-panel { width: 760px; max-width: 64%; padding: 28px; }
body [data-template] .cruise-hero-panel .page-lead { font-size: 18px; line-height: 1.6; }
body [data-template] .document-section { width: min(calc(100% - 2 * var(--layout-gutter)), 1100px); padding: 32px 0; font-size: 18px; }
body [data-template] .document-section p { font-size: 18px; line-height: 1.75; max-width: 75ch; }
body [data-template] .document-section :is(th, td) { font-size: 16px; }
@media (min-width: 1601px) {
  body [data-template] :is(.page-hero-image, .hero-image) {
    width: 1760px; max-width: 100%; left: auto; right: 0; height: 100%;
    object-fit: contain; object-position: right center;
    mask-image: linear-gradient(to right, transparent, #000 28%);
  }
}
@media (min-width: 1001px) {
  body [data-template] .hero-area > .home-hero { min-height: 600px; }
}
@media (max-width: 1100px) {
  body [data-template] :is(.district-layout, .hub-how-row, .hub-faq-row) { grid-template-columns: 1fr; }
  body [data-template] .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body [data-template] .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 1000px) {
  body [data-template] .navigation { min-height: 72px; position: relative; flex-wrap: wrap; gap: 12px; }
  body [data-template] .nav-actions { gap: 12px; }
  body [data-template] .nav-actions > .whatsapp-link { display: none; }
  body [data-template] .menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; font-size: 24px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
  body [data-template] .nav-links { display: none; position: absolute; z-index: 5; top: 100%; left: 0; right: 0; width: 100%; padding: 16px; background: #fff; box-shadow: 0 8px 16px #1c29351b; flex-direction: column; align-items: stretch; gap: 0; }
  body [data-template] .nav-links.open { display: flex; }
  body [data-template] .nav-links a { padding: 12px; min-height: 44px; }
  body [data-template] .hero-copy { padding-right: 0; padding-bottom: 56px; }
  body [data-template] .hero-copy h1 { max-width: 640px; }
  body [data-template] .hero-area > .ride-search { position: relative; top: auto; right: auto; width: min(calc(100% - 2 * var(--layout-gutter)), 640px); margin: -24px auto 24px; }
  body [data-template] .trust-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body [data-template] .page-facts { flex-wrap: wrap; gap: 20px; }
  body [data-template] .page-fact { flex-basis: calc(50% - 20px); }
  body [data-template] .trust-panel .page-fact { margin: 0; padding: 0; border: 0; }
  body [data-template] :is(.booking-layout, .columns-3) { grid-template-columns: 1fr; }
  body [data-template] .booking-summary { position: static; }
  body [data-template] .cruise-hero-panel { max-width: 82%; }
}
@media (max-width: 700px) {
  :root { --layout-gutter: 20px; }
  body [data-template] .navigation { padding-block: 10px; gap: 8px; }
  body [data-template] .navigation { flex-wrap: nowrap; }
  body [data-template] .brand { font-size: 13px; gap: 5px; }
  body [data-template] .logo-mark { width: 32px; height: 26px; }
  body [data-template] .nav-actions { gap: 8px; }
  body [data-template] .nav-actions .button { font-size: 13px; padding-inline: 12px; }
  body [data-template] .button { font-size: 14px; }
  body [data-template] :is(.page-hero, .home-hero) { min-height: 360px; }
  body [data-template] .hero-area > .home-hero { min-height: 360px; }
  body [data-template] .page-hero-content { padding: 32px 0 72px; }
  body [data-template] .hero-copy { padding-top: 40px; padding-bottom: 56px; }
  body [data-template] :is(.page-hero h1, .hero-copy h1) { font-size: 34px; line-height: 1.12; letter-spacing: -.7px; max-width: 100%; }
  body [data-template] :is(.page-lead, .hero-intro) { font-size: 17px; line-height: 1.6; }
  body [data-template] :is(.page-intro-detail, .hero-detail) { font-size: 15px; }
  body [data-template] .breadcrumbs { font-size: 13px; margin-bottom: 20px; }
  body [data-template] .trust-panel { padding: 20px; margin-top: -32px; }
  body [data-template] .page-fact { gap: 10px; }
  body [data-template] .page-fact > .bi { font-size: 24px; }
  body [data-template] .page-fact b { font-size: 13px; }
  body [data-template] .page-fact small { font-size: 12px; }
  body [data-template] .trust-actions .button { flex: 1 1 100%; }
  body [data-template] :is(.main-content, .main-page-content) { padding-top: 28px; }
  body [data-template] :is(.page-section, .fleet-section, .services-section, .faq-section) { margin-bottom: 32px; }
  body [data-template] .section-heading { flex-wrap: wrap; align-items: flex-start; gap: 12px; }
  body [data-template] :is(h2, .section-heading h2) { font-size: 26px; }
  body [data-template] h3 { font-size: 19px; }
  body [data-template] .price-table :is(th, td) { padding: 12px 6px; font-size: 14px; }
  body [data-template] .price-table thead th { font-size: 14px; padding-inline: 4px; }
  body [data-template] .price-table small { font-size: 12px; }
  body [data-template] :is(.district-previews, .page-steps, .columns-2, .services-grid, .fleet-grid, .airport-grid) { grid-template-columns: 1fr; }
  body [data-template] .district-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body [data-template] .district-card { min-height: 150px; }
  body [data-template] .district-photo { width: 108px; min-height: 150px; }
  body [data-template] .district-card > div { padding-top: 16px; }
  body [data-template] .page-step > div { padding-left: 0; }
  body [data-template] .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  body [data-template] .footer-grid a { min-height: 36px; }
  body [data-template] .footer-areas { gap: 6px 16px; }
  body [data-template] .cruise-hero-panel { max-width: 100%; padding: 22px; }
  body [data-template] .cruise-hero-panel .hero-buttons .button { font-size: 14px!important; padding-inline: 14px!important; }
  body [data-template] .booking-step { padding: 20px 16px; }
  body [data-template] .booking-grid { gap: 16px; }
  body [data-template] .document-section { padding: 26px 0; }
  body [data-template] .document-section p { font-size: 16px; line-height: 1.75; }
}
@media (max-width: 374px) {
  :root { --layout-gutter: 16px; }
  body [data-template] .brand { font-size: 12px; }
  body [data-template] .logo-mark { width: 28px; height: 24px; }
  body [data-template] .nav-actions .button { font-size: 12px; padding-inline: 9px; }
  body [data-template] .nav-actions .button .bi { display: none; }
  body [data-template] .footer-grid { grid-template-columns: 1fr; }
}

/* Current copy composed in the original native card, media and CTA modules. */
body [data-template] .native-section { margin-block: 0 24px; }
body [data-template] .native-section > h2 { margin-top: 0; }
body [data-template] .native-card-grid { margin: 24px 0; }
body [data-template] .native-card-grid .fleet-card { min-width: 0; padding: 8px; gap: 16px; color: inherit; text-decoration: none; }
body [data-template] .native-card-copy { min-width: 0; flex: 1; }
body [data-template] .native-card-copy :is(p,li) { margin: 0 0 10px; font-size: 16px; line-height: 1.6; white-space: normal; }
body [data-template] .native-vehicle-name { font-size: 19px; font-weight: 650; }
body [data-template] .native-card-grid .fleet-photo { width: 112px; height: 90px; }
body [data-template] .native-vehicle-image { display: block; width: 46%; height: auto; margin: 0; align-self: stretch; object-fit: cover; border-radius: 6px; }
body [data-template] .native-section .services-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
body [data-template] .native-section .service-card { min-width: 0; align-items: center; gap: 14px; padding: 8px; color: inherit; text-decoration: none; }
body [data-template] .native-section .service-photo { width: 72px; height: 100px; border-radius: 5px; }
body [data-template] .native-media-split { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 40px; }
body [data-template] .native-prose { min-width: 0; }
body [data-template] .native-media { min-width: 0; }
body [data-template] .native-media > .source-photo { width: 100%; height: 280px; border-radius: 10px; }
/* Body cruise photos live inside their media rows, away from hero positioning. */
body [data-template] .native-media > .source-photo.cruise-photo:has(>.crop-source) { position: relative; inset: auto; mask-image: none; }
body [data-template] .native-map-frame { position: relative; width: 100%; }
body [data-template] .native-map-frame > .route-map { height: auto; width: 100%; aspect-ratio: 344 / 145; border-radius: 8px; }
body [data-template] .native-map-badge { position: absolute; left: 50%; top: 16%; width: 30%; height: 38%; padding: 4px; display: grid; align-content: center; border: 1px solid var(--border); border-radius: 6px; background: white; text-align: center; }
body [data-template] .native-map-badge .native-map-time { font-size: clamp(12px,1.1vw,17px); line-height: 1.25; font-weight: 650; margin: 0; white-space: nowrap; }
body [data-template] .native-map-badge .native-map-traffic { font-size: clamp(8px,.8vw,12px); line-height: 1.25; margin: 2px 0 0; }
body [data-template] .native-photo-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body [data-template] .native-photo-pair .source-photo { width: 100%; height: 220px; border-radius: 8px; }
body [data-template] .native-section .source-photo > .crop-source { max-width: none; max-height: none; margin: 0; object-fit: fill; }
/* Independent photos replace the exported screenshot sprites. Preserve ratios. */
body [data-template] .native-card-photo { position:relative; display:block; container-type:normal; background-image:none!important; overflow:hidden; mask-image:none; }
body [data-template] .native-section .native-card-photo>.card-photo-source { position:static; display:block; width:100%; height:100%; max-width:none; max-height:none; margin:0; object-fit:cover; object-position:inherit; }
body [data-template] .native-section .native-card-photo.vehicle-photo>.card-photo-source { object-fit:contain; }
body [data-template] .native-card-photo.vehicle-photo { background-color:#f8fafc; }
body [data-template] .native-pickup-figure { width:min(100%,360px); margin:0 auto; }
body [data-template] .native-picker-host { display:flex; align-items:center; gap:8px; min-width:0; }
body [data-template] .native-picker-host>input { flex:1 1 0; width:0; min-width:0; max-width:100%; min-height:44px; }
body [data-template] .native-picker-host>input::-webkit-calendar-picker-indicator { display:none; }
body [data-template] .native-picker-trigger { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; min-height:44px; padding:8px; border:1px solid #d9e2eb; border-radius:7px; background:#f1f5f9; color:#28455e; cursor:pointer; font-size:18px; }
body [data-template] .native-picker-trigger:hover { background:#e4ecf3; }
body [data-template] .native-picker-trigger:focus-visible { outline:3px solid #b47b19; outline-offset:2px; }
body [data-template] .native-pickup-figure.native-pickup-wide { width:100%; max-width:780px; }
body [data-template] .native-section.native-meeting-point-pair { display:block; }
body [data-template] .native-pickup-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px; margin-top:28px; }
@media(max-width:700px) { body [data-template] .native-pickup-pair { grid-template-columns:1fr; } }
body [data-template] .native-pickup-photo { display:block; width:100%; height:auto!important; max-height:none; aspect-ratio:auto; object-fit:contain; border-radius:8px; }
body [data-template] .native-pickup-caption { margin-top:10px; font-size:14px; line-height:1.5; color:#526276; }
body [data-template] .native-pickup-enlarge { margin:8px 0 0; font-size:14px; }
body [data-template] .airport-pickup-guide { grid-column:1/-1; min-width:0; padding:12px 14px; border:1px solid #d9e2eb; border-radius:8px; background:#f6f8fb; }
body [data-template] .airport-pickup-guide summary { cursor:pointer; font-weight:600; line-height:1.5; }
body [data-template] .airport-pickup-guide summary::after { content:'+'; float:right; margin-left:12px; }
body [data-template] .airport-pickup-guide[open] summary::after { content:'−'; }
body [data-template] .airport-pickup-guide>p { margin:12px 0; font-size:14px; line-height:1.6; }
body [data-template] .airport-pickup-guide>a { display:inline-block; margin-top:12px; font-size:14px; }
body [data-template] .native-section .service-card { flex-direction:column; align-items:stretch; }
body [data-template] .native-section .service-card .service-photo { width:100%; height:auto; aspect-ratio:3/2; }
body [data-template] .native-section .district-photo { width:112px; height:84px; min-height:0; align-self:flex-start; flex-shrink:0; margin:14px 0 14px 14px; border-radius:6px; }
body [data-template] .native-section .native-vehicle-image { object-fit:contain; background-color:#f8fafc; }
body [data-template] .native-route-overview { position:relative; aspect-ratio:auto!important; overflow:hidden; background:#eef3f5; }
body [data-template] .native-route-overview iframe { display:block; width:100%; height:260px; border:0; pointer-events:none; }
body [data-template] .native-route-overview>a { display:block; padding:8px 10px; font-size:12px; line-height:1.5; background:#fff; }
body [data-template] .native-map-frame:has(.native-route-overview) .native-map-badge { position:static; display:flex; align-items:center; justify-content:center; width:auto; height:auto; gap:10px; padding:10px; margin-top:8px; }
@media(max-width:700px){body [data-template] .native-route-overview iframe {height:220px;}}
body [data-template] .native-section .price-photo { display: inline-block; vertical-align: middle; margin-right: 12px; width: 78px; height: 60px; border-radius: 6px; }
body [data-template] .native-section .page-steps { margin: 24px 0; gap: 28px; }
body [data-template] .native-section .page-step { min-width: 0; padding: 18px; background: var(--light,#f7f8fa); border-radius: 8px; }
body [data-template] .native-section .step-icon { flex-shrink: 0; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #fff2d8; font-size: 25px; color: var(--gold); }
body [data-template] .native-section .step-icon > .bi { font-size: 25px; }
body [data-template] .native-section .page-step h3 { font-size: 20px; white-space: normal; margin-top: 0; }
body [data-template] .native-section .page-step p { font-size: 16px; }
body [data-template] .native-section .faq-grid { gap: 24px; }
body [data-template] .native-section .faq-column { gap: 12px; }
body [data-template] .native-section .faq-column details { padding: 16px 20px; border: 1px solid var(--border); border-radius: 8px; font-size: 16px; }
body [data-template] .native-section .faq-column summary { min-height: 44px; font-size: 17px; line-height: 1.5; }
body [data-template] .native-section .faq-column details p { font-size: 16px; }
body [data-template] .native-icon-panel { display: flex; align-items: flex-start; gap: 24px; padding: 28px; }
body [data-template] .native-icon-panel > .bi { color: var(--gold); font-size: 40px; flex-shrink: 0; }
body [data-template] .native-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
body [data-template] .native-benefit-item { display: flex; align-items: flex-start; gap: 14px; padding: 18px; background: #f7f8fa; border-radius: 8px; }
body [data-template] .native-benefit-item > .bi { color: var(--gold); font-size: 30px; }
body [data-template] .native-airport-grid { align-items: stretch; }
body [data-template] .native-airport-grid > .native-airport-card { width: 100%; margin: 0; padding: 24px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 22px; }
body [data-template] .native-airport-card .airport-photo { width: 132px; height: 160px; }
body [data-template] .native-airport-card h2 { font-size: 25px; line-height: 1.3; margin-top: 0; }
body [data-template] .native-airport-card p { font-size: 16px; }
body [data-template] .native-contact-strip { display: block; padding: 28px; border-radius: 8px; }
body [data-template] .native-term-row { grid-template-columns: minmax(0,1fr) 190px; }
body [data-template] .native-term-row .native-media > .source-photo { height: 180px; }
body [data-template] .native-landing-banner .landing-title { font-size: 32px; line-height: 1.25; font-weight: 650; margin: 0 0 8px; color: var(--ink); }
body [data-template] .native-landing-banner .landing-inner { min-height: 210px; padding-block: 40px; }
/* Source-opted answer-first route opening: longer text grows its own panel. */
body [data-template] .answer-first-hero { min-height: 0; height: auto; }
body [data-template] .answer-first-hero .page-hero-content { padding-block: 34px; }
body [data-template] .answer-first-hero .page-lead { max-width: 720px; margin: 0 0 18px; font-size: 18px; line-height: 1.65; }
body [data-template] .answer-first-hero .hero-quick-answer { max-width: 720px; margin: 0 0 22px; font-size: 16px; line-height: 1.65; }
body [data-template] .answer-first-hero h1 { max-width: 780px; }
body [data-template] .answer-first-hero:after { background: linear-gradient(90deg,#fff7e9 0%,#fff7e9f2 45%,#fff7e990 70%,transparent 100%); }
body [data-template] .answer-first-hero .hero-facts-card { max-width: 820px; margin: 20px 0 0; }
body [data-template] .answer-first-hero .inline-facts { width: auto; max-width: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
body [data-template] .answer-first-hero .page-fact { min-width: 0; }
body [data-template] .answer-first-hero .page-fact :is(b,small) { white-space: normal; }
body [data-template] .answer-first-hero .page-fact small { font-size: 13px; line-height: 1.5; }
body [data-template] .answer-first-hero .hero-buttons { flex-wrap: wrap; }
body [data-template] .answer-first-hero .hero-cancellation-terms { max-width: 720px; margin: 18px 0 0; font-size: 14px; line-height: 1.6; }
body [data-template] .answer-first-hero .hero-cancellation-terms a { color: #61400f; text-decoration: underline; text-underline-offset: 3px; }
body [data-template] .inline-request-hero .hero-editorial-byline { max-width: 720px; margin: 16px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
/* Owner review pilot: fixed-price offer, explicitly opted in by page source. */
body [data-template] .hero-offer-label { display: inline-flex; flex-direction: column; max-width: 100%; padding: 14px 18px; margin: 0 0 20px; border: 1px solid #d9b677; border-radius: 10px; background: #fffaf0; box-shadow: 0 3px 12px #875a100a; }
body [data-template] .hero-offer-price-row { display: flex; align-items: center; gap: 16px; }
body [data-template] .hero-offer-amount { font-size: 56px; line-height: 1; font-weight: 750; letter-spacing: -2px; color: #875a10; }
body [data-template] .hero-offer-unit { display: flex; flex-direction: column; gap: 3px; font-size: 14px; line-height: 1.35; color: var(--ink); }
body [data-template] .hero-offer-capacity { margin: 10px 0 0; font-size: 14px; line-height: 1.45; color: var(--ink); }
@media(max-width:700px){body [data-template] .hero-offer-label{padding:12px 14px;margin-bottom:16px;}body [data-template] .hero-offer-amount{font-size:48px;}body [data-template] .hero-offer-capacity{font-size:13px;}}
body [data-template] .inline-request-hero .hero-facts-card { padding: 0; margin: 20px 0 0; background: transparent; border: 0; box-shadow: none; }
body [data-template] .route-quick-summary .summary-title { font-size: 22px; font-weight: 650; line-height: 1.3; margin: 0 0 12px; color: var(--ink); }
body [data-template] .route-quick-summary .summary-editorial-byline { margin: -4px 0 12px; font-size: 12px; line-height: 1.45; color: var(--muted); }
body [data-template] .route-quick-summary .summary-editorial-byline strong { font-weight: 400; }
body [data-template] .route-quick-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0 0 12px; border: 0; }
body [data-template] .route-quick-summary .summary-fact { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 7px; background: #fff; }
body [data-template] .route-quick-summary .summary-fact dt { background: transparent; font-size: 14px; line-height: 1.35; padding: 0 0 4px; border: 0; color: var(--ink); }
body [data-template] .route-quick-summary .summary-fact dd { margin: 0; padding: 0; border: 0; font-size: 14px; line-height: 1.45; color: var(--muted); }
body [data-template] .inline-route-request { padding-top: 0; }
body [data-template] .inline-route-request .booking-layout { margin-top: 0; }
/* The dedicated booking route starts with its transaction, after a short identity. */
body [data-template="booking"].booking-first-layout .booking-opening { background:linear-gradient(110deg,#fff7e9,#fffcf7); border-bottom:1px solid #eee5d8; }
body [data-template="booking"].booking-first-layout .booking-opening-inner { width:min(calc(100% - 2 * var(--layout-gutter)),1100px); max-width:1100px; margin-inline:auto; padding-block:26px 24px; }
body [data-template="booking"].booking-first-layout .booking-opening .breadcrumbs { margin:0 0 12px; font-size:13px; }
body [data-template="booking"].booking-first-layout .booking-opening h1 { margin:0 0 12px; max-width:none; font-size:clamp(30px,3vw,44px); line-height:1.12; letter-spacing:-.8px; }
body [data-template="booking"].booking-first-layout .booking-opening-lead { margin:0; max-width:940px; font-size:16px; line-height:1.6; color:#344054; }
body [data-template="booking"].booking-first-layout .booking-first-request { padding-top:24px; }
body [data-template="booking"].booking-first-layout .booking-first-request .booking-layout { margin-top:0; }
body [data-template="booking"].booking-first-layout .booking-reference-section { padding-block:28px; border-top:1px solid var(--border); }
@media(max-width:700px){
 body [data-template="booking"].booking-first-layout .booking-opening-inner { padding-block:20px; }
 body [data-template="booking"].booking-first-layout .booking-opening .breadcrumbs { margin-bottom:10px; }
 body [data-template="booking"].booking-first-layout .booking-first-request { padding-top:16px; }
 body [data-content-id="minibus-transfer-istanbul"] .service-panorama-hero > .page-hero-image { object-position:85% 50%; }
}
/* Phone picker uses a body portal so the rounded form cannot clip its list. */
body [data-template] .booking-input:has(.booking-phone) { padding-left:0; }
body [data-template] .booking-phone,body [data-template] .booking-phone .iti { width:100%; min-width:0; }
body [data-template] .booking-phone > input { padding-left:12px; }
body [data-template] .booking-phone .iti__selected-country { min-height:44px; cursor:pointer; }
body [data-template] .booking-phone .iti__selected-country:focus-visible { outline:2px solid #875a10; outline-offset:-2px; }
body [data-template] .booking-phone .iti__selected-dial-code { font-size:14px; color:#344054; }
.iti--container.ride-phone-dropdown { z-index:1000; font:14px/1.45 Inter,Arial,sans-serif; }
.ride-phone-dropdown .iti__dropdown-content { border:1px solid #dce2eb; border-radius:8px; box-shadow:0 8px 24px #11192526; overflow:hidden; }
.ride-phone-dropdown .iti__country-list { max-height:min(260px,45vh); }
.ride-phone-dropdown .iti__country { min-height:40px; padding:9px 12px; }
.ride-phone-dropdown .iti__search-input { min-height:44px; padding:12px; font:16px/1.4 Inter,Arial,sans-serif; background:white; color:#111925; border:0; border-bottom:1px solid #dce2eb; }
.ride-phone-dropdown .iti__search-input:focus { outline:2px solid #875a10; outline-offset:-3px; }
/* Compact airport booking: one native form, native vehicle radios, one summary. */
body [data-template] .airport-booking { grid-template-columns: minmax(0,1.65fr) minmax(280px,1fr); gap:20px; align-items:start; }
body [data-template] .airport-booking > .booking-form { grid-column:1; grid-row:1; }
body [data-template] .airport-booking-rail { grid-column:2; grid-row:1; min-width:0; display:grid; gap:14px; }
body [data-template] .airport-booking-rail.airport-rail-sticky { position:sticky; top:20px; }
body [data-template] .airport-booking .booking-step { padding:20px; }
body [data-template] .airport-booking .booking-step-heading { gap:0; margin-bottom:16px; }
body [data-template] .airport-booking .booking-step-heading>span { display:none; }
body [data-template] .airport-booking .booking-step-heading h2 { font-size:20px; line-height:1.35; margin:0 0 5px; }
body [data-template] .airport-booking .booking-step-heading p { font-size:14px; line-height:1.45; margin:0; }
body [data-template] .airport-booking .booking-grid { gap:12px 16px; }
body [data-template] .airport-booking .booking-input { min-height:44px; }
body [data-template] .airport-booking .booking-input :is(input,select,textarea) { padding-block:10px; }
body [data-template] .airport-vehicle-choices { border:0; padding:0; margin:20px 0 0; min-width:0; }
body [data-template] .airport-vehicle-choices legend { padding:0; margin:0 0 10px; font-size:15px; font-weight:650; }
body [data-template] .airport-vehicle-card { display:grid; grid-template-columns:18px 96px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid #d9e0e8; border-radius:8px; padding:12px; margin-bottom:8px; cursor:pointer; min-height:92px; background:#fff; }
body [data-template] .airport-vehicle-card:has(input:checked) { background:#fffaf0; border-color:#b47b19; box-shadow:0 0 0 1px #b47b19; }
body [data-template] .airport-vehicle-card:has(input:focus-visible) { outline:3px solid #245a7a; outline-offset:3px; }
body [data-template] .airport-vehicle-card input { margin:0; width:18px; height:18px; accent-color:#a86e15; }
body [data-template] .airport-vehicle-card img { width:96px; height:64px; object-fit:contain; margin:0; max-height:none; background:#f8fafc; border-radius:5px; }
body [data-template] .airport-vehicle-description { display:flex; flex-direction:column; gap:6px; min-width:0; }
body [data-template] .airport-vehicle-description>strong { font-size:15px; line-height:1.3; }
body [data-template] .airport-vehicle-capacity { font-size:12px; line-height:1.5; color:#536278; }
body [data-template] .airport-vehicle-capacity>.bi { font-size:12px; }
body [data-template] .airport-vehicle-fare { text-align:right; display:flex; flex-direction:column; gap:3px; max-width:92px; }
body [data-template] .airport-vehicle-fare strong { color:#875a10; font-size:19px; line-height:1.2; }
body [data-template] .airport-vehicle-fare small { font-size:11px; line-height:1.3; color:#536278; }
body [data-template] .airport-capacity-warning { font-size:12px; color:#8b3608; line-height:1.4; }
body [data-template] .airport-order-summary,body [data-template] .airport-route-preview { border:1px solid #dfe4eb; border-radius:9px; padding:18px; background:#fff; }
body [data-template] .airport-summary-heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
body [data-template] .airport-summary-heading h2 { font-size:19px; line-height:1.3; margin:0; }
body [data-template] .airport-summary-heading a { font-size:12px; white-space:nowrap; }
body [data-template] .airport-booking .airport-summary-date { font-size:12px; line-height:1.4; margin:12px 0; color:#536278; }
body [data-template] .airport-summary-route { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
body [data-template] .airport-summary-route li { display:flex; align-items:flex-start; gap:8px; font-size:13px; line-height:1.45; padding:0; }
body [data-template] .airport-summary-route li>span:first-child { display:grid; place-items:center; flex:0 0 19px; height:19px; border-radius:50%; background:#e7eff5; color:#245a7a; font-size:11px; font-weight:700; }
body [data-template] .airport-summary-route li:last-child>span:first-child { background:#fff1d6; color:#875a10; }
body [data-template] .airport-booking .airport-summary-selection { font-size:12px; line-height:1.5; margin:12px 0; color:#536278; }
body [data-template] .airport-summary-total { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #e2e7ed; padding-top:14px; }
body [data-template] .airport-summary-total>div:first-child { display:grid; gap:4px; font-size:14px; }
body [data-template] .airport-summary-total [data-summary-mode] { font-size:12px; color:#536278; }
body [data-template] .airport-summary-total [data-booking-summary] p { margin:0; font-size:28px; line-height:1.2; font-weight:700; color:#875a10; text-align:right; }
body [data-template] .airport-booking .airport-summary-payment { font-size:12px; line-height:1.5; margin:12px 0 0; }
body [data-template] .airport-booking .airport-fare-date { font-size:11px; line-height:1.4; color:#687587; margin:8px 0 0; }
body [data-template] .airport-route-preview>summary { cursor:pointer; min-height:28px; font-size:15px; font-weight:650; line-height:1.5; }
body [data-template] .airport-route-preview [data-route-metrics] { font-size:12px; font-weight:400; color:#536278; margin-left:5px; }
body [data-template] .airport-route-map { height:220px; position:relative; margin-top:12px; border-radius:6px; overflow:hidden; background:#edf2f5; font-size:13px; }
body [data-template] .airport-route-map img.leaflet-tile { max-width:none!important; max-height:none!important; margin:0!important; object-fit:fill; }
body [data-template] .airport-route-map [data-map-fallback] { padding:20px; margin:0; font-size:13px; line-height:1.5; }
body [data-template] .airport-route-map .leaflet-control-attribution { font-size:10px; line-height:1.4; }
body [data-template] .airport-route-map .leaflet-control-attribution a { font-size:10px; }
body [data-template] .airport-route-map .leaflet-control-zoom a { width:36px; height:36px; line-height:36px; }
body [data-template] .airport-booking .airport-route-caption,body [data-template] .airport-booking .airport-field-hint { font-size:12px; line-height:1.5; margin:8px 0 0; color:#536278; }
body [data-template] .airport-route-preview>[data-route-link] { display:inline-block; font-size:12px; margin-top:10px; line-height:1.5; }
body [data-template] .airport-booking .airport-help { margin:0; font-size:13px; line-height:1.5; }
body [data-template] .airport-booking .booking-submit { min-height:48px; font-size:16px; }
@media(max-width:1000px){body [data-template] .airport-booking{grid-template-columns:minmax(0,1fr);gap:16px;}body [data-template] .airport-booking-rail{grid-column:1;grid-row:1;}body [data-template] .airport-booking>.booking-form{grid-column:1;grid-row:2;}body [data-template] .airport-booking-rail{gap:8px;}body [data-template] .airport-route-preview{padding:12px 16px;}body [data-template] .airport-order-summary{padding:16px;}}
@media(max-width:700px){body [data-template] .airport-booking .booking-step{padding:18px 14px;}body [data-template] .airport-booking .booking-grid{grid-template-columns:minmax(0,1fr);gap:12px;}body [data-template] .airport-vehicle-card{grid-template-columns:18px 70px minmax(0,1fr) auto;gap:8px;padding:10px 8px;min-height:90px;}body [data-template] .airport-vehicle-card img{width:70px;height:54px;}body [data-template] .airport-vehicle-description>strong{font-size:14px;}body [data-template] .airport-vehicle-capacity{font-size:11px;}body [data-template] .airport-vehicle-fare{max-width:72px;}body [data-template] .airport-vehicle-fare strong{font-size:18px;}body [data-template] .airport-route-map{height:230px;}}
@media(max-width:374px){body [data-template] .airport-vehicle-card{grid-template-columns:16px 48px minmax(0,1fr) auto;gap:6px;}body [data-template] .airport-vehicle-card img{width:48px;height:46px;}body [data-template] .airport-vehicle-fare{max-width:62px;}body [data-template] .airport-vehicle-fare strong{font-size:16px;}}
@media(max-width:700px){body [data-template] .airport-route-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;}}
@media(min-width:701px) and (max-width:1000px){body [data-template] .route-quick-summary dl {grid-template-columns: repeat(2,minmax(0,1fr));}}
@media(max-width:700px){body [data-template] .route-quick-summary dl {grid-template-columns: minmax(0,1fr);gap:8px;}body [data-template] .route-quick-summary .summary-fact{padding:10px 12px;}body [data-template] .route-quick-summary .summary-title{font-size:20px;}body [data-template] .inline-request-hero .hero-facts-card{padding:0;}}
@media(max-width:1100px) {
  body [data-template] .native-card-grid { grid-template-columns: 1fr; }
  body [data-template] .native-airport-grid { grid-template-columns: 1fr; }
  body [data-template] .native-section .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body [data-template] .answer-first-hero { display: flex; flex-direction: column; background: #fff7e9; }
  body [data-template] .answer-first-hero > .page-hero-image { position: static; order: 2; display: block; width: 100%; height: 210px; max-width: 100%; object-fit: cover; object-position: right center; mask-image: none; }
  body [data-template] .answer-first-hero .page-hero-content { order: 1; }
  body [data-template] .answer-first-hero .page-hero-content { padding-block: 28px; }
  body [data-template] .answer-first-hero .page-lead { font-size: 16px; line-height: 1.7; }
  body [data-template] .answer-first-hero .hero-quick-answer { font-size: 15px; line-height: 1.65; }
  body [data-template] .answer-first-hero:after { display: none; }
  body [data-template] .answer-first-hero .hero-facts-card { padding: 16px; }
  body [data-template] .answer-first-hero .inline-facts { gap: 16px 12px; }
  body [data-template] .native-media-split,body [data-template] .native-section .services-grid,body [data-template] .native-section .faq-grid,body [data-template] .native-benefit-grid { grid-template-columns: minmax(0,1fr); }
  body [data-template] .native-media-split { gap: 20px; }
  body [data-template] .native-section .page-steps { grid-template-columns: minmax(0,1fr); gap: 16px; }
  body [data-template] .native-section .page-step { padding: 16px; }
  body [data-template] .native-section .fleet-card { gap: 14px; }
  body [data-template] .native-card-grid .fleet-photo { width: 100px; height: 90px; }
  body [data-template] .native-airport-grid > .native-airport-card { grid-template-columns: minmax(0,1fr); padding: 18px; }
  body [data-template] .native-airport-card .airport-photo { width: 100%; height: 180px; }
  body [data-template] .native-icon-panel { padding: 18px; gap: 16px; }
  body [data-template] .native-photo-pair { grid-template-columns: minmax(0,1fr); }
  body [data-template] .native-landing-banner .landing-inner { min-height: 250px; gap: 24px; align-items: flex-start; flex-direction: column; }
  body [data-template] .native-landing-banner .landing-title { font-size: 28px; }
}

/* Pair short date/time inputs on phones; keep addresses and contact fields full width. */
@media(max-width:700px){body [data-template] .airport-booking .booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));}body [data-template] .airport-booking .booking-grid>.booking-field,body [data-template] .airport-booking .airport-flight-field,body [data-template] .airport-booking [data-return-flight]{grid-column:1/-1;}body [data-template] .airport-booking .booking-grid>.booking-field:has(#date,#time,#return-date,#return-time){grid-column:auto;}}
@media(max-width:374px){body [data-template] .airport-booking .booking-grid>.booking-field:has(#date,#time,#return-date,#return-time){grid-column:1/-1;}}
/* Optional, real server-side flight check. Manual booking remains available. */
body [data-template] .booking-grid>.airport-flight-field { grid-column:1/-1; }
body [data-template] .flight-departure-date { max-width:360px; }
body [data-template] .airport-flight-field>label,body [data-template] .flight-departure-date>label { display:block; font-size:14px; font-weight:550; margin-bottom:4px; }
body [data-template] .flight-number-row { display:flex; align-items:stretch; gap:8px; }
body [data-template] .flight-number-row>.booking-input { flex:1; min-width:0; }
body [data-template] .flight-verify-button { min-height:44px; min-width:84px; border:1px solid #a86e15; background:#fffaf0; color:#714b10; border-radius:6px; padding:10px 14px; font-size:14px; font-weight:650; cursor:pointer; }
body [data-template] .flight-verify-button:disabled { opacity:.65; cursor:wait; }
html:not(.js) [data-flight-verify] { display:none; }
body [data-template] .flight-departure-date { margin-top:12px; }
body [data-template] .flight-check-message { font-size:13px; line-height:1.5; padding:10px 12px; margin-top:10px; background:#eef4f8; border-radius:6px; }
body [data-template] .flight-check-message.is-error { background:#fff4e6; color:#77400d; }
body [data-template] .flight-result { margin-top:12px; padding:16px; border:1px solid #96bdb0; border-radius:8px; background:#f4faf7; }
body [data-template] .flight-result-heading { font-size:15px; color:#23644a; }
body [data-template] .flight-result p { font-size:14px; line-height:1.5; margin:9px 0 0; }
body [data-template] .flight-result .flight-result-status,body [data-template] .flight-result .flight-result-note,body [data-template] .flight-result .flight-waiting-note { font-size:12px; line-height:1.5; color:#465a54; }
body [data-template] .flight-waiting-timeline { display:flex; justify-content:space-between; gap:16px; margin-top:16px; padding-top:12px; border-top:1px dashed #a1b8af; }
body [data-template] .flight-waiting-timeline>div { display:grid; gap:5px; font-size:12px; }
body [data-template] .flight-waiting-timeline>div:last-child { text-align:right; }
body [data-template] .flight-waiting-timeline strong { font-size:15px; }
body [data-template] .flight-use-time,body [data-template] .flight-clear-check { min-height:44px; border:1px solid #a2b9af; border-radius:5px; background:#fff; font-size:13px; color:#28523f; padding:8px 12px; margin-top:12px; cursor:pointer; }
body [data-template] .flight-clear-check { border:0; text-decoration:underline; background:transparent; padding-inline:0; }
body [data-template] .flight-delay-choice { display:flex; align-items:flex-start; gap:8px; margin-top:12px; min-height:44px; padding-block:10px; font-size:13px; line-height:1.5; }
body [data-template] .flight-delay-choice input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; accent-color:#875a10; }

/* Owner-approved compact airport-template presentation for the homepage only. */
body [data-template="home"].home-airport-layout .home-reference-hero { min-height:430px; position:relative; background:#fbf5e9; }
body [data-template="home"].home-airport-layout .home-reference-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff8e9f5 0%,#fff8e9e8 33%,#fff8e970 63%,transparent 85%); pointer-events:none; }
body [data-template="home"].home-airport-layout .hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 50%; }
body [data-template="home"].home-airport-layout .hero-copy { position:relative; z-index:1; padding:38px 0 76px; }
body [data-template="home"].home-airport-layout .hero-copy h1 { max-width:780px; font-size:44px; line-height:1.12; margin-bottom:18px; }
body [data-template="home"].home-airport-layout .hero-intro { max-width:730px; font-size:18px; line-height:1.65; margin-bottom:14px; color:#172331; }
body [data-template="home"].home-airport-layout .hero-intro strong { color:#704500; font-weight:750; }
body [data-template="home"].home-airport-layout .home-fare-byline { max-width:730px; margin:0; font-size:12px; color:#526276; }
body [data-template="home"].home-airport-layout .home-trust-panel { position:relative; z-index:2; margin-top:-38px; padding:18px 22px; border-radius:12px; background:#fff; box-shadow:0 8px 28px #1021340b; }
body [data-template="home"].home-airport-layout .page-facts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
body [data-template="home"].home-airport-layout .page-fact { display:flex; align-items:flex-start; gap:10px; min-width:0; }
body [data-template="home"].home-airport-layout .page-fact .bi { font-size:25px; color:#b47b19; }
body [data-template="home"].home-airport-layout .page-fact p { font-size:12px; line-height:1.45; margin:0; }
body [data-template="home"].home-airport-layout .page-fact p:first-child { font-size:13px; font-weight:650; color:#172331; margin-bottom:3px; }
body [data-template="home"].home-airport-layout .trust-actions { margin-top:16px; }
body [data-template="home"].home-airport-layout .native-section { margin-bottom:26px; }
body [data-template="home"].home-airport-layout .native-section h2 { font-size:25px; line-height:1.25; margin-bottom:10px; }
body [data-template="home"].home-airport-layout .native-section p { font-size:14px; line-height:1.65; margin-bottom:12px; }
body [data-template="home"].home-airport-layout .price-table :is(th,td) { padding:10px 14px; font-size:14px; }
body [data-template="home"].home-airport-layout .price-photo { width:92px; height:52px; }
body [data-template="home"].home-airport-layout .home-transfer-details { border:1px solid #dfe5ec; border-radius:8px; padding:12px 16px; margin-top:14px; }
body [data-template="home"].home-airport-layout .home-transfer-details summary { cursor:pointer; font-size:14px; font-weight:600; }
body [data-template="home"].home-airport-layout .home-transfer-details[open]>p { margin-top:14px; }
body [data-template="home"].home-airport-layout .home-transfer-details img { width:min(100%,320px); height:auto; max-height:none; object-fit:contain; }
body [data-template="home"].home-airport-layout .native-airport-grid { gap:20px; margin-bottom:26px; }
body [data-template="home"].home-airport-layout .native-airport-card { padding:16px; align-items:start; gap:14px; }
body [data-template="home"].home-airport-layout .native-airport-card .airport-photo { width:120px; height:110px; border-radius:6px; }
body [data-template="home"].home-airport-layout .native-airport-card h2 { font-size:21px; }
body [data-template="home"].home-airport-layout .home-district-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
body [data-template="home"].home-airport-layout .home-district-links a { border:1px solid #e2e8ee; border-radius:6px; padding:7px 8px; font-size:13px; line-height:1.4; text-decoration:none; min-height:36px; display:flex; align-items:center; }
body [data-template="home"].home-airport-layout .fleet-grid { gap:16px; }
body [data-template="home"].home-airport-layout .fleet-card { display:flex; align-items:center; gap:12px; padding:12px; }
body [data-template="home"].home-airport-layout .fleet-photo { width:112px; height:86px; flex-shrink:0; }
body [data-template="home"].home-airport-layout .fleet-card p { font-size:13px; line-height:1.55; margin:0; }
body [data-template="home"].home-airport-layout .home-info-grid { width:min(calc(100% - 2 * var(--layout-gutter)),var(--layout-max)); margin:0 auto 26px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body [data-template="home"].home-airport-layout .home-info-card { display:flex; gap:12px; padding:12px; border:1px solid #dfe5ec; border-radius:8px; min-width:0; }
body [data-template="home"].home-airport-layout .home-info-photo { width:96px; height:96px; flex-shrink:0; border-radius:6px; }
body [data-template="home"].home-airport-layout .home-info-photo>.card-photo-source { width:100%; height:100%; object-fit:cover; position:static; display:block; }
body [data-template="home"].home-airport-layout .home-info-card p { font-size:13px; line-height:1.55; margin:0 0 6px; }
body [data-template="home"].home-airport-layout .home-info-card .home-card-title { font-size:15px; font-weight:650; color:#172331; }
body [data-template="home"].home-airport-layout .home-info-card a { font-size:13px; }
body [data-template="home"].home-airport-layout .page-steps { gap:16px; }
body [data-template="home"].home-airport-layout .page-step { gap:12px; padding:14px; border:1px solid #e2e8ee; border-radius:8px; }
body [data-template="home"].home-airport-layout .page-step h3 { font-size:17px; }
body [data-template="home"].home-airport-layout .home-route-search { padding:20px; border:1px solid #dfe5ec; border-radius:10px; background:#f8fafc; }
body [data-template="home"].home-airport-layout .home-route-search .ride-search { position:static; width:100%; margin:16px 0 0; padding:16px; box-shadow:none; }
body [data-template="home"].home-airport-layout .home-route-search #ride-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body [data-template="home"].home-airport-layout .services-grid { gap:16px; }
body [data-template="home"].home-airport-layout .faq-column details { padding:10px 14px; }
body [data-template="home"].home-airport-layout .faq-column summary { font-size:14px; }
@media(max-width:1100px) {
 body [data-template="home"].home-airport-layout .hero-copy h1 { max-width:680px; font-size:40px; }
 body [data-template="home"].home-airport-layout .hero-intro { max-width:620px; }
 body [data-template="home"].home-airport-layout .page-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body [data-template="home"].home-airport-layout .home-info-grid { grid-template-columns:1fr; }
 body [data-template="home"].home-airport-layout .native-airport-card { flex-direction:column; }
 body [data-template="home"].home-airport-layout .native-airport-card .airport-photo { width:100%; height:160px; }
}
@media(max-width:700px) {
 body [data-template="home"].home-airport-layout .hero-copy { padding:28px 0 220px; }
 body [data-template="home"].home-airport-layout .hero-copy h1 { font-size:32px; }
 body [data-template="home"].home-airport-layout .hero-intro { font-size:16px; line-height:1.6; }
 body [data-template="home"].home-airport-layout .hero-image { top:auto; bottom:0; height:210px; object-position:85% 50%; }
 body [data-template="home"].home-airport-layout .home-reference-hero:after { top:auto; height:230px; background:linear-gradient(180deg,#fbf5e9 0%,transparent 60%); }
 body [data-template="home"].home-airport-layout .home-trust-panel { margin-top:-16px; padding:16px; }
 body [data-template="home"].home-airport-layout .page-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 body [data-template="home"].home-airport-layout .trust-actions .button { width:100%; justify-content:center; }
 body [data-template="home"].home-airport-layout .native-section h2 { font-size:23px; }
 body [data-template="home"].home-airport-layout .native-airport-grid { grid-template-columns:1fr; }
 body [data-template="home"].home-airport-layout .fleet-card { align-items:center; }
 body [data-template="home"].home-airport-layout .home-route-search #ride-fields { grid-template-columns:1fr; }
 body [data-template="home"].home-airport-layout .home-route-search { padding:16px; }
 body [data-template="home"].home-airport-layout .home-route-search .ride-search { padding:10px; }
}

body [data-template="home"].home-airport-layout :is(.native-section,.native-airport-grid,.home-info-grid,.hero-copy) { width:min(calc(100% - 2 * var(--layout-gutter)),1280px); max-width:1280px; margin-inline:auto; }
body [data-template="home"].home-airport-layout .native-section>p { max-width:880px; }

/* Establish the navigation's real first-paint state without waiting for the
   deferred enhancement script. Non-scripted browsers keep all links visible. */
@media(max-width:1000px) and (scripting:none) {
  body [data-template] .navigation { flex-wrap:wrap; }
  body [data-template] .nav-links { display:flex; position:static; flex-direction:row; flex-wrap:wrap; box-shadow:none; order:3; }
  body [data-template] .menu-toggle { display:none; }
}
/* Native logo pixels, isolated from the heavyweight reference screenshot. */
body [data-template] .source-photo.logo-mark {
  background-image:url('/template-assets/images/brand-mark-v1.png')!important;
  background-size:100% 100%; background-position:center;
}
.bi::before { width:1em; text-align:center; }
/* Preserve the native palette while meeting text contrast in audited controls. */
body [data-template] .trip-tabs label:has(input:checked),
body [data-template] .native-trip-options label:has(input:checked) { color:#875a10; }
body [data-template] .ride-search .input-wrap select { color:#526174; }
body [data-template] :is(.footer-grid,.footer-legal,.operator-contact) { color:#596779; }

body [data-template="home"].home-airport-layout .native-airport-card { width:100%; max-width:none; margin:0; }

/* Owner-supplied local planning details: open, readable cards after the fares/fleet. */
body [data-template="home"].home-airport-layout .home-local-experience {
  padding:32px; border:1px solid #e7dcc8; border-radius:16px;
  background:linear-gradient(145deg,#fcf8ef,#f6f1e8);
}
body [data-template="home"].home-airport-layout .home-local-experience>h2 {
  margin:0 0 12px; max-width:900px; font-size:30px; line-height:1.22;
}
body [data-template="home"].home-airport-layout .home-local-experience>p {
  max-width:880px; margin:0 0 24px; color:#526174; font-size:16px; line-height:1.7;
}
body [data-template="home"].home-airport-layout .home-local-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;
  margin:0; padding:0; list-style:none;
}
body [data-template="home"].home-airport-layout .home-local-card {
  margin:0; padding:24px; border:1px solid #e7dfd1; border-radius:10px; background:#fff;
  box-shadow:0 3px 12px #18233004;
}
body [data-template="home"].home-airport-layout .home-local-card h3 {
  margin:0 0 12px; padding-top:13px; border-top:3px solid #c5a064;
  color:#12273d; font-size:19px; line-height:1.4; font-weight:700;
}
body [data-template="home"].home-airport-layout .home-local-card p {
  max-width:none; margin:0; color:#526174; font-size:16px; line-height:1.75;
}
body [data-template="home"].home-airport-layout .home-local-experience>p:last-child {
  margin:22px 0 0;
}
@media(max-width:800px) {
  body [data-template="home"].home-airport-layout .home-local-experience { padding:22px; }
  body [data-template="home"].home-airport-layout .home-local-grid { grid-template-columns:1fr; gap:14px; }
}
@media(max-width:480px) {
  body [data-template="home"].home-airport-layout .home-local-experience { padding:18px; border-radius:12px; }
  body [data-template="home"].home-airport-layout .home-local-experience>h2 { font-size:25px; }
  body [data-template="home"].home-airport-layout .home-local-card { padding:18px; }
  body [data-template="home"].home-airport-layout .home-local-card h3 { font-size:18px; }
}

/* First-time international visitor audit: legibility and actionable form guidance. */
/* Arabic follows the same native templates; retain predictable numeric/phone entry. */
html[dir="rtl"] body { font-family:Tahoma,Arial,sans-serif; }
html[dir="rtl"] :is(.booking-form,.booking-summary,.airport-booking-rail,.site-footer,.cookie-banner,.cookie-dialog) { text-align:start; }
html[dir="rtl"] :is(input[type="tel"],input[type="email"],input[type="date"],input[type="time"],input[name="Form.FlightNumber"],input[name="Form.ReturnFlight"]) { direction:ltr; text-align:left; }
html[dir="rtl"] .booking-phone { direction:ltr; }
html[dir="rtl"] .bi-arrow-right::before { transform:scaleX(-1); }
html[dir="rtl"] .language-switcher { direction:ltr; }
body [data-template] .button-gold { background:#9a6514; color:#fff; box-shadow:inset 0 1px 0 #ffffff20; }
body [data-template] .button-gold:hover { background:#795011; }
body [data-template] :is(.button,button,summary,a,input,select,textarea):focus-visible { outline:3px solid #245a7a; outline-offset:3px; }
body [data-template] .answer-first-hero .hero-buttons .button { min-height:44px!important; height:auto!important; font-size:15px!important; padding:11px 16px!important; }
body [data-template] .airport-route-preview>summary { min-height:44px; padding:9px 0; }
body [data-template] .booking-field-hint { color:#526276; font-size:13px; line-height:1.55; margin:8px 0; }
body [data-template] .booking-grid>.booking-field-hint { margin-top:-4px; }
body [data-template] .booking-capacity-message { margin:12px 0 0; padding:12px 14px; border:1px solid #c7a66a; border-radius:8px; background:#fff7e8; color:#65430d; font-size:14px; line-height:1.55; }
@media(max-width:700px) {
 body [data-template] .ride-search :is(input,select,textarea) { font-size:16px!important; }
}
/* Visitor sitemap: topic groups with real language counterparts. */
.sitemap-content {padding-block:40px 64px;max-width:1200px;margin-inline:auto;}
.sitemap-content h1 {font-size:clamp(30px,4vw,44px);margin:0 0 14px;}
.sitemap-intro {font-size:18px;line-height:1.6;color:#526174;}
.sitemap-topics {display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 40px;}
.sitemap-topics a {padding:10px 14px;border:1px solid #e7dcc8;border-radius:6px;background:#fcf8ef;color:#765015;}
.sitemap-group {margin-block:36px;scroll-margin-top:24px;}
.sitemap-group h2 {font-size:26px;margin-bottom:18px;}
.sitemap-entries {list-style:none;padding:0;display:grid;gap:16px;}
.sitemap-entries>li {padding:22px;border:1px solid #dfe6ed;border-radius:10px;min-width:0;}
.sitemap-entries h3 {font-size:18px;line-height:1.5;margin:0 0 16px;}
.sitemap-entries h3 a {color:#12273d;}
.sitemap-languages {list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.sitemap-languages a {display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#f7f9fb;border-radius:6px;min-height:44px;color:#795011;overflow-wrap:anywhere;}
.sitemap-link-title {font-size:14px;line-height:1.5;color:#526174;}
.sitemap-languages a[lang="ar"] {direction:rtl;text-align:start;}
.sitemap-footer-link {text-align:center;margin:16px 0 0;font-size:14px;}
@media(max-width:600px){.sitemap-content{padding-block:28px 40px}.sitemap-languages{grid-template-columns:1fr}.sitemap-entries>li{padding:16px}.sitemap-topics{gap:8px}}
/* Compact airport-hub facts: four essentials, full original facts on demand. */
body [data-template] .airport-summary-compact {padding-block:16px!important;}
body [data-template] .airport-summary-compact .summary-editorial-byline {margin:0 0 10px;font-size:11px;}
body [data-template] .airport-benefit-strip {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:0;border:1px solid #e7dcc8;border-radius:8px;background:#fcf8ef;}
body [data-template] .airport-benefit-strip li {margin:0;padding:12px 16px;font-size:14px;line-height:1.45;font-weight:600;color:#12273d;min-width:0;}
body [data-template] .airport-benefit-strip li+li {border-inline-start:1px solid #e7dcc8;}
body [data-template] .airport-summary-details {margin-top:8px;border:0;background:transparent;}
body [data-template] .airport-summary-details>summary {cursor:pointer;padding:8px 0;min-height:36px;font-size:13px;color:#795011;font-weight:500;}
body [data-template] .airport-summary-details[open]>dl {margin-top:8px;}
body [data-template] .airport-summary-details .summary-fact {padding:9px 11px;}
@media(max-width:800px){body [data-template] .airport-benefit-strip {grid-template-columns:repeat(2,minmax(0,1fr));}body [data-template] .airport-benefit-strip li {padding:10px 12px;font-size:13px;}body [data-template] .airport-benefit-strip li:nth-child(3){border-inline-start:0;}body [data-template] .airport-benefit-strip li:nth-child(n+3){border-top:1px solid #e7dcc8;}}
body [data-template] .airport-summary-details {padding:0;}
body [data-template] .airport-summary-details>summary {line-height:1.4;}
/* Request receipt: positive acknowledgement with a separate team-confirmation step. */
.status-panel.receipt-panel{max-width:1040px;padding:40px 24px 56px;}
.receipt-success{text-align:center;padding:36px 28px 30px;background:linear-gradient(145deg,#f0fbf5,#e8f6ee);border:1px solid #bfdfcb;border-radius:16px;}
.receipt-check{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#14804a;color:#fff;box-shadow:0 0 0 8px #14804a10;}
.receipt-check svg{width:36px;height:36px;}
.status-panel .receipt-eyebrow{margin:0 0 10px;color:#176b40;font-size:13px;font-weight:700;letter-spacing:.04em;}
.status-panel .receipt-success h1{max-width:740px;margin:0 auto 12px;font-size:clamp(26px,3vw,36px);line-height:1.22;color:#145534;}
.status-panel .receipt-thanks{margin:0 0 22px;color:#426453;font-size:16px;}
.receipt-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:15px 20px;border-radius:9px;background:#ffffffb8;border:1px solid #cde4d5;color:#345a44;}
.receipt-reference>span:first-child{font-size:13px;font-weight:600;}
.receipt-reference strong{font-family:ui-monospace,Consolas,monospace;font-size:25px;letter-spacing:.06em;color:#145534;}
.receipt-reference>span:last-child{flex-basis:100%;font-size:12px;}
.receipt-next,.receipt-journey{margin-top:24px;padding:26px 28px;border:1px solid #e0e6eb;border-radius:12px;background:#fff;}
.status-panel.receipt-panel h2{margin:0 0 12px;font-size:21px;line-height:1.35;color:#12273d;}
.status-panel .receipt-next>p{margin:0;color:#526174;max-width:800px;font-size:15px;}
.receipt-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:24px 0 0;}
.receipt-steps>li{display:flex;gap:11px;align-items:flex-start;min-width:0;}
.receipt-steps>li>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;font-size:13px;background:#edf1f5;color:#526174;font-weight:700;}
.receipt-steps>.is-complete>span{background:#e1f3e8;color:#147544;}
.receipt-steps strong{display:block;font-size:14px;line-height:1.4;color:#1e3348;}
.status-panel .receipt-steps p{font-size:13px;color:#637286;line-height:1.55;margin:5px 0 0;}
.receipt-journey dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:20px 0;}
.receipt-journey dl>div{min-width:0;}
.receipt-journey .receipt-route{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid #e6ebef;}
.status-panel .receipt-journey dt{font-size:12px;font-weight:500;color:#66768a;margin-bottom:5px;}
.status-panel .receipt-journey dd{font-size:16px;font-weight:600;line-height:1.5;margin:0;color:#12273d;overflow-wrap:anywhere;}
.receipt-route dd span{padding-inline:8px;color:#718598;}
.status-panel .receipt-fare dd{color:#167347;font-size:24px;}
.status-panel .receipt-payment{margin:0;padding-top:16px;border-top:1px solid #e6ebef;font-size:13px;color:#526174;}
.receipt-actions{align-items:center;margin-top:24px;}
.receipt-actions .button{font-size:14px;min-height:46px;padding:12px 20px;}
.receipt-actions .receipt-primary{background:#14804a;color:#fff;border:1px solid #14804a;}
.receipt-actions .receipt-primary:hover{background:#10683c;}
.receipt-actions .receipt-home{margin-inline-start:auto;font-size:14px;color:#526174;text-decoration:underline;}
@media(max-width:700px){.status-panel.receipt-panel{padding:24px 16px 36px;}.receipt-success{padding:28px 18px 22px;}.receipt-next,.receipt-journey{padding:22px 18px;}.receipt-steps{grid-template-columns:1fr;gap:18px;}.receipt-journey dl{gap:18px 14px;}.receipt-actions .button{flex:1 1 100%;}.receipt-actions .receipt-home{margin:6px auto 0;}.receipt-check{width:60px;height:60px;}.receipt-reference{padding:12px;}}
