:root {
    --ink: #102328;
    --muted: #718084;
    --line: #dce7e5;
    --paper: #f6f8f5;
    --white: #fff;
    --teal: #1d7771;
    --teal-dark: #125b58;
    --coral: #f27662;
    --yellow: #f7c85b;
    --blue-soft: #e8f2f0;
    --shadow: 0 20px 60px rgba(16, 35, 40, .08);
}

/* Booking flow */
.booking-body { background: #f4f7f4; }
.booking-topbar { height: 78px; border-bottom: 1px solid var(--line); }
.brand-logo { display: block; width: 130px; height: auto; }.footer-brand-logo { padding: 7px 10px; border-radius: 8px; background: #fff; }
.booking-steps { display: flex; align-items: center; gap: 13px; margin: auto; color: #a2b0af; font-size: 10px; font-weight: 700; }
.booking-steps span { display: flex; align-items: center; gap: 6px; }.booking-steps span:first-child { color: var(--teal); }.booking-steps span b { font-weight: 600; }.booking-steps i { display: block; width: 38px; height: 1px; background: var(--line); }.booking-back { color: var(--teal); font-size: 11px; font-weight: 700; }
.booking-page { padding-top: 58px; padding-bottom: 90px; }.booking-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 35px; }.booking-heading h1 { margin: 0 0 8px; font: 600 40px/1 "Space Grotesk", sans-serif; letter-spacing: -.065em; }.booking-heading p:not(.section-kicker) { margin: 0; color: var(--muted); font-size: 13px; }.availability-pill { padding: 8px 11px; border-radius: 4px; color: var(--teal); background: var(--blue-soft); font-size: 11px; font-weight: 700; }
.booking-grid { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 24px; align-items: start; }.seat-panel, .form-panel, .trip-summary, .confirmation-card { border: 1px solid var(--line); border-radius: 10px; background: var(--white); box-shadow: 0 8px 25px rgba(16, 35, 40, .04); }.seat-panel { padding: 24px; }.seat-panel-head, .form-panel-title { display: flex; align-items: center; justify-content: space-between; padding-bottom: 19px; border-bottom: 1px solid var(--line); }.seat-panel-head strong, .form-panel-title strong { font: 600 15px "Space Grotesk", sans-serif; }.seat-panel-head span, .form-panel-title span { color: var(--muted); font-size: 11px; }
.deck-block { max-width: 430px; margin: 28px auto 0; padding: 14px 17px 17px; border: 1px solid var(--line); border-radius: 9px; background: #fbfcfa; }.deck-title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--teal); font-size: 11px; font-weight: 700; }.deck-title span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal); font-size: 10px; }.deck-title strong { font-size: 11px; }.deck-title small { margin-left: auto; color: var(--muted); font-weight: 500; }.seat-grid { display: grid; grid-template-columns: repeat(var(--seat-columns, 2), minmax(0, 1fr)); gap: 10px 16px; padding: 0 18px; }.seat { position: relative; display: block; cursor: pointer; text-align: center; }.seat input { position: absolute; opacity: 0; }.seat-shape { display: grid; height: 39px; place-items: center; border: 1px solid #b8d7d1; border-radius: 7px 7px 11px 11px; color: var(--teal); background: #eaf5f1; font-size: 10px; font-weight: 700; transition: border .2s, background .2s, color .2s; }.seat--double .seat-shape { border-radius: 11px; }.seat--single .seat-shape { border-radius: 7px 7px 12px 12px; }.seat:nth-child(2n) { margin-right: 16px; }.seat:nth-child(2n):after { position: absolute; top: 0; right: -16px; width: 1px; height: 39px; background: var(--line); content: ""; }.seat input:checked + .seat-shape { border-color: var(--coral); color: var(--white); background: var(--coral); box-shadow: 0 5px 12px rgba(242, 118, 98, .22); }.seat.unavailable { cursor: not-allowed; }.seat.unavailable .seat-shape { border-color: #e8eded; color: #aebbbb; background: #f1f4f3; text-decoration: line-through; }.seat-map-note { max-width: 430px; margin: 15px auto 0; color: var(--muted); font-size: 10px; text-align: center; }.seat-type-legend { display: flex; justify-content: center; gap: 20px; margin: 18px auto 0; }.seat-type-legend span { display: grid; grid-template-columns: 10px auto; column-gap: 7px; align-items: center; color: var(--ink); font-size: 10px; }.seat-type-legend i { grid-row: span 2; width: 10px; height: 10px; border-radius: 3px; background: #c9ceff; }.seat-type-legend .seat-type-single i { border-radius: 3px 3px 6px 6px; background: #e8ebff; }.seat-type-legend small { grid-column: 2; color: var(--muted); font-size: 9px; }
.seat-map-layout { display: grid; grid-template-columns: minmax(145px, .72fr) minmax(280px, 1fr); gap: 28px; align-items: start; margin-top: 26px; }.seat-map-legend { padding: 8px 0; }.seat-map-legend-title { display: block; margin-bottom: 18px; color: var(--ink); font-size: 12px; }.seat-status-list { display: grid; gap: 14px; margin-bottom: 27px; }.seat-status-list span { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }.seat-status-list i, .seat-type-item > i { display: block; width: 35px; height: 28px; border: 1px solid #d7d9df; border-radius: 3px; background: #f0f1f3; }.seat-status-list .available-seat { border-color: #ff9b42; background: #fff; }.seat-status-list .selected-seat { border-color: #20bd70; background: #bff1d2; }.seat-status-list .sold-seat { background: #dedfe2; }.seat-type-item { display: flex; align-items: center; gap: 10px; margin: 14px 0; }.seat-type-item > i { background: #fff; }.seat-type-item.seat-type-single > i { border-color: #ff9b42; }.seat-type-item.seat-type-double > i { border-color: #ae70ff; }.seat-type-item span { display: grid; gap: 2px; color: var(--ink); font-size: 11px; }.seat-type-item small { color: var(--muted); font-size: 9px; }.seat-type-item b { font-size: 13px; }.seat-decks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.seat-decks .deck-block { max-width: none; margin: 0; }.deck-front { display: grid; width: 28px; height: 28px; margin: 0 auto 8px; place-items: center; border: 1px solid #aeb0b4; border-radius: 50%; color: #85878b; font-size: 16px; }.seat-shape i { position: relative; display: block; width: 18px; height: 9px; border: 1px solid currentColor; border-radius: 2px; }.seat-shape i:after { position: absolute; right: 2px; bottom: -4px; left: 2px; height: 2px; border: 1px solid currentColor; content: ""; }.seat--single .seat-shape { border-color: #ff9b42; color: #f28b2d; background: #fffaf5; }.seat--double .seat-shape { border-color: #ae70ff; color: #9a5ce8; background: #fcf9ff; }.seat input:checked + .seat-shape { border-color: #20bd70; color: #16894e; background: #bff1d2; box-shadow: 0 5px 12px rgba(32, 189, 112, .18); }.seat.unavailable .seat-shape { border-color: #e5e6e9; color: #b9babd; background: #f0f1f3; }.seat-occupancy-panel { display: grid; gap: 6px; margin: 18px auto 0; padding: 12px 14px; border: 1px solid #cfd5ff; border-radius: 8px; background: #f7f8ff; }.seat-occupancy-panel[hidden] { display: none; }.seat-occupancy-panel strong { color: var(--ink); font-size: 12px; }.seat-occupancy-panel > small { color: var(--muted); font-size: 10px; }.seat-occupancy-options { display: flex; flex-wrap: wrap; gap: 8px; }.seat-occupancy-options label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #c9ceff; border-radius: 6px; color: #4656cf; background: #fff; font-size: 11px; cursor: pointer; }.seat-occupancy-options label:has(input:checked) { border-color: #5266eb; background: #e8ebff; }.seat-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }.seat-total-label { color: var(--muted); font-size: 12px; }.seat-total-value { color: var(--ink); font-size: 16px; }.seat-actions .primary-action { width: auto; min-width: 150px; padding: 0 18px; }.seat-legend { display: flex; justify-content: center; gap: 18px; margin: 25px 0 21px; color: var(--muted); font-size: 10px; }.seat-legend span { display: flex; align-items: center; gap: 6px; }.seat-legend i { display: block; width: 10px; height: 10px; border-radius: 3px; background: #eaf5f1; }.seat-legend .selected-seat { background: var(--coral); }.seat-legend .sold-seat { background: #e2e9e7; }
.primary-action { display: flex; width: 100%; height: 52px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 6px; color: var(--white); background: var(--teal); box-shadow: 0 9px 17px rgba(29, 119, 113, .18); font-size: 12px; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s; }.primary-action:hover { background: var(--teal-dark); transform: translateY(-1px); }.primary-action span { font-size: 17px; }.trip-summary { padding: 24px 20px; }.summary-route { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin: 15px 0; font: 600 15px "Space Grotesk", sans-serif; }.summary-route span { color: var(--coral); }.summary-time { display: flex; align-items: center; gap: 8px; margin-bottom: 25px; color: var(--teal); font: 600 18px "Space Grotesk", sans-serif; }.summary-time i { flex: 1; height: 1px; background: #b6ccca; }.summary-list { border-top: 1px solid var(--line); }.summary-list div, .summary-total { display: flex; flex-direction: column; gap: 3px; padding: 13px 0; border-bottom: 1px solid var(--line); }.summary-list span, .summary-total span { color: var(--muted); font-size: 10px; }.summary-list b { font-size: 11px; }.summary-total { border-bottom: 0; }.summary-total strong { color: var(--teal); font: 700 17px "Space Grotesk", sans-serif; }
.form-panel { padding: 25px; }.input-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 13px; padding: 24px 0 25px; }.input-grid label:last-child { grid-column: span 2; }.form-panel label { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 600; }.form-panel input, .form-panel textarea, .form-panel select { width: 100%; padding: 13px 12px; border: 1px solid var(--line); border-radius: 5px; outline: 0; color: var(--ink); background: #fbfcfa; font-size: 12px; }.form-panel input:focus, .form-panel textarea:focus { border-color: var(--teal); }.form-panel label em { color: var(--coral); font-size: 10px; font-style: normal; }.passenger-title { margin-bottom: 17px; }.passenger-fields { display: flex; flex-direction: column; gap: 10px; margin-bottom: 25px; }.passenger-fields label { display: grid; grid-template-columns: 28px 1fr 1fr; align-items: center; gap: 10px; }.passenger-fields label b { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: var(--teal); background: var(--blue-soft); font-size: 10px; }.passenger-fields label span { color: var(--ink); }
.payment-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 21px; }.payment-options label { display: grid; grid-template-columns: 19px 35px 1fr 15px; align-items: center; gap: 10px; padding: 15px 12px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }.payment-options label:has(input:checked) { border-color: var(--teal); background: #f2faf7; }.payment-options input { accent-color: var(--teal); }.payment-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 7px; color: var(--teal); background: var(--blue-soft); font-weight: 700; }.payment-icon.pink { color: #c03c75; background: #f9e6ef; }.payment-options label span:nth-of-type(2) { display: flex; flex-direction: column; gap: 2px; }.payment-options b { color: var(--ink); font-size: 12px; }.payment-options small { color: var(--muted); font-size: 10px; }.payment-options i { color: var(--teal); font-size: 21px; font-style: normal; }.payment-notice { display: flex; gap: 8px; margin: 20px 0; padding: 13px; border-radius: 5px; color: var(--teal); background: var(--blue-soft); font-size: 10px; line-height: 1.5; }.form-error { margin: 10px 0; color: var(--coral); font-size: 11px; }
.confirmation-page { display: flex; justify-content: center; padding-top: 80px; }.confirmation-card { max-width: 660px; padding: 54px 55px; text-align: center; }.confirmation-mark { display: grid; width: 58px; height: 58px; margin: 0 auto 23px; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal); font-size: 28px; }.confirmation-card h1 { margin: 0 auto 15px; font: 600 38px/1.05 "Space Grotesk", sans-serif; letter-spacing: -.06em; }.confirmation-card > p:not(.section-kicker) { max-width: 475px; margin: 0 auto 27px; color: var(--muted); font-size: 13px; }.reference-code { display: inline-flex; flex-direction: column; gap: 4px; padding: 13px 27px; border-radius: 5px; background: var(--blue-soft); }.reference-code small { color: var(--muted); font-size: 10px; }.reference-code strong { color: var(--teal); font: 700 18px "Space Grotesk", sans-serif; letter-spacing: .07em; }.confirmation-info { display: grid; grid-template-columns: repeat(3, 1fr); margin: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.confirmation-info div { display: flex; min-height: 72px; justify-content: center; flex-direction: column; gap: 4px; border-right: 1px solid var(--line); }.confirmation-info div:last-child { border: 0; }.confirmation-info span { color: var(--muted); font-size: 10px; }.confirmation-info strong { font-size: 11px; }.pending-status { color: #c18821; }

.return-trip-panel { display: grid; gap: 10px; }.return-trip-row { display: grid; grid-template-columns: 1.3fr .8fr 24px .8fr 1fr; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }.return-trip-row:last-child { border-bottom: 0; }.return-trip-row div { display: grid; gap: 3px; }.return-trip-row strong, .return-trip-row b { font-size: 12px; }.return-trip-row small { color: var(--muted); font-size: 10px; }.return-trip-arrow { color: var(--teal); font-size: 18px; }.return-trip-row a { justify-self: start; margin-top: 5px; color: var(--teal); font-size: 11px; font-weight: 700; }.return-trip-row a span { font-size: 14px; }.summary-list small { color: var(--muted); font-size: 10px; font-weight: 400; }

/* Editorial and admin */
.simple-page { min-height: 100vh; background: var(--paper); }.blog-page { padding-top: 83px; padding-bottom: 30px; }.blog-page > h1, .article-page > h1 { max-width: 680px; margin: 0 0 14px; font: 600 clamp(40px, 5vw, 66px)/1 "Space Grotesk", sans-serif; letter-spacing: -.075em; }.blog-intro { margin-bottom: 45px; color: var(--muted); font-size: 15px; }.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.post-card { display: flex; min-height: 410px; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--white); transition: transform .2s, box-shadow .2s; }.post-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }.post-art { position: relative; display: flex; height: 190px; align-items: end; padding: 15px; overflow: hidden; background: linear-gradient(135deg, #f4bc7f, #e87b65); }.post-art:before { position: absolute; right: -25px; bottom: -54px; width: 210px; height: 150px; border-radius: 50%; background: #3c8680; content: ""; }.post-art-2 { background: linear-gradient(135deg, #2a646e, #e59b69); }.post-art-2:before { right: 40px; bottom: -75px; background: #f3ce8a; }.post-art-3 { background: linear-gradient(135deg, #a4cfbf, #f0c87b); }.post-art-3:before { right: -10px; bottom: -65px; background: #e47865; }.post-art small { position: relative; z-index: 1; color: var(--white); font-size: 10px; font-weight: 700; }.post-card > div { display: flex; flex: 1; flex-direction: column; padding: 21px; }.post-date, .article-date { margin-bottom: 9px; color: var(--coral); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.post-card h2 { margin-bottom: 9px; font: 600 19px/1.15 "Space Grotesk", sans-serif; letter-spacing: -.04em; }.post-card > div > p:not(.post-date) { margin-bottom: 15px; color: var(--muted); font-size: 12px; }.post-card .text-link { margin-top: auto; }.article-page { padding-top: 75px; padding-bottom: 90px; }.article-page > h1 { max-width: 850px; margin-bottom: 13px; }.article-date { margin-bottom: 35px; }.article-art { height: 300px; margin-bottom: 38px; border-radius: 10px; }.article-body { max-width: 650px; margin: 0 auto; }.article-lead { color: var(--ink) !important; font: 600 21px/1.45 "Space Grotesk", sans-serif; }.article-body p:not(.article-lead) { color: var(--muted); font-size: 15px; line-height: 1.8; }.inline-action { display: inline-flex; width: auto; padding: 0 22px; }
.admin-body { min-height: 100vh; background: #eff5f1; }.admin-top { display: flex; height: 78px; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); }.admin-label { margin-right: auto; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .15em; }.admin-login { display: flex; min-height: 100vh; align-items: center; justify-content: center; flex-direction: column; gap: 34px; }.admin-login-card { width: min(100% - 30px, 410px); padding: 33px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); box-shadow: var(--shadow); }.admin-login-card h1, .admin-heading h1 { margin: 0 0 9px; font: 600 35px/1 "Space Grotesk", sans-serif; letter-spacing: -.06em; }.admin-login-card > p:not(.section-kicker), .admin-heading p:not(.section-kicker) { color: var(--muted); font-size: 13px; }.admin-login-card form { display: flex; flex-direction: column; gap: 16px; margin-top: 25px; }.admin-login-card label, .post-editor label { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 600; }.admin-login-card input, .post-editor input, .post-editor textarea, .post-editor select { padding: 13px; border: 1px solid var(--line); border-radius: 5px; outline: 0; color: var(--ink); background: #fbfcfa; font-size: 12px; }.admin-page { padding-top: 54px; padding-bottom: 80px; }.admin-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 35px; }.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 27px; }.admin-stats > div { padding: 19px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); }.admin-stats span { display: block; margin-bottom: 11px; color: var(--muted); font-size: 10px; }.admin-stats strong { color: var(--teal); font: 700 24px "Space Grotesk", sans-serif; }.admin-columns { display: grid; grid-template-columns: 1.5fr 1fr; gap: 17px; }.admin-table { min-height: 230px; padding: 20px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); }.admin-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }.admin-section-title h2 { margin: 0; font: 600 16px "Space Grotesk", sans-serif; }.admin-section-title span, .admin-section-title a { color: var(--coral); font-size: 10px; }.table-scroll { overflow-x: auto; }table { width: 100%; border-collapse: collapse; font-size: 11px; }th { color: var(--muted); font-size: 9px; text-align: left; text-transform: uppercase; }th, td { padding: 12px 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }td { color: var(--muted); }td strong { color: var(--ink); }.table-status { color: #bb811b; }.admin-post-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); }.admin-post-row div { display: flex; flex-direction: column; gap: 3px; }.admin-post-row strong { font-size: 11px; }.admin-post-row small, .admin-post-row > span { color: var(--muted); font-size: 10px; }.empty-state, .admin-success { padding: 12px; color: var(--muted); font-size: 11px; }.admin-success { margin-bottom: 20px; border-radius: 5px; color: var(--teal); background: var(--blue-soft); }.post-editor { padding: 26px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }.editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 15px; margin-bottom: 20px; }.editor-grid label:nth-child(5), .editor-grid label:nth-child(6) { grid-column: span 2; }.status-select { max-width: 200px; margin-bottom: 20px; }.status-select select { margin-top: 4px; }

.seat-grid .seat:nth-child(2n) { margin-right: 0; }.seat-grid .seat:nth-child(2n):after { display: none; }.seat-choice-modal[hidden] { display: none; }.seat-choice-modal { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; }.seat-choice-backdrop { position: absolute; inset: 0; background: rgba(12, 18, 31, .42); }.seat-choice-dialog { position: relative; width: min(100%, 375px); padding: 18px 20px 20px; border-radius: 10px; background: #fff; box-shadow: 0 18px 50px rgba(20, 28, 46, .22); }.seat-choice-dialog h2 { margin: 0 28px 15px 0; color: #262936; font-size: 18px; text-align: center; }.seat-choice-dialog p { margin: 0 0 15px; color: #727583; font-size: 12px; line-height: 1.55; }.seat-choice-close { position: absolute; top: 10px; right: 12px; border: 0; color: #282b35; background: transparent; font-size: 25px; line-height: 1; cursor: pointer; }.seat-choice-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.seat-choice-option { display: grid; gap: 7px; min-height: 72px; padding: 10px; border: 2px solid #dfe1e6; border-radius: 6px; color: #555866; background: #fff; text-align: left; cursor: pointer; }.seat-choice-option.selected { border-color: #2572e8; background: #f5f9ff; }.seat-choice-option strong { font-size: 11px; }.seat-choice-option b { color: #263b5d; font-size: 13px; }.seat-choice-confirm { width: 100%; height: 48px; margin-top: 15px; border: 0; border-radius: 7px; color: #fff; background: #123661; font-weight: 700; cursor: pointer; }.seat-choice-confirm:hover { background: #0b294c; }

@media (max-width: 700px) {
    .booking-topbar { height: auto; min-height: 72px; flex-wrap: wrap; gap: 15px; padding-top: 15px; padding-bottom: 15px; }.booking-steps { order: 3; width: 100%; justify-content: center; }.booking-steps i { width: 20px; }.booking-page { padding-top: 40px; }.booking-heading { display: block; }.booking-heading h1 { font-size: 34px; }.availability-pill { display: inline-block; margin-top: 18px; }.booking-grid, .details-grid, .payment-grid { grid-template-columns: 1fr; }.trip-summary { order: -1; }.seat-panel { padding: 15px; }.seat-grid { padding: 0 8px; gap: 8px; }.seat:nth-child(2n) { margin-right: 8px; }.seat:nth-child(2n):after { right: -8px; }.input-grid, .editor-grid { grid-template-columns: 1fr; }.input-grid label:last-child, .editor-grid label:nth-child(5), .editor-grid label:nth-child(6) { grid-column: auto; }.passenger-fields label { grid-template-columns: 28px 1fr; }.passenger-fields input { grid-column: 2; }.confirmation-card { padding: 35px 20px; }.confirmation-card h1 { font-size: 31px; }.confirmation-info { grid-template-columns: 1fr; }.confirmation-info div { min-height: 55px; border-right: 0; border-bottom: 1px solid var(--line); }.return-trip-row { grid-template-columns: 1fr 1fr; }.return-trip-arrow { display: none !important; }.post-grid, .admin-columns { grid-template-columns: 1fr; }.blog-page, .article-page { padding-top: 50px; }.admin-heading { display: block; }.admin-heading .primary-action { margin-top: 20px; }.admin-stats { grid-template-columns: 1fr 1fr; }.admin-top { gap: 15px; }.admin-label { display: none; }
}

@media (max-width: 700px) {
    .seat-map-layout { grid-template-columns: 1fr; gap: 16px; }.seat-map-legend { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; padding: 0; }.seat-map-legend-title { grid-column: 1 / -1; margin-bottom: 8px; }.seat-status-list { margin-bottom: 0; }.seat-type-item { margin: 7px 0; }.seat-decks { gap: 8px; }.seat-decks .deck-block { padding-right: 9px; padding-left: 9px; }.seat-grid { gap: 8px 9px; padding: 0 5px; }.seat:nth-child(2n) { margin-right: 9px; }.seat:nth-child(2n):after { right: -9px; }.seat-actions { justify-content: space-between; }.seat-actions .primary-action { min-width: 0; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 15px/1.5 "DM Sans", sans-serif; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.site-shell { min-height: 100vh; overflow: hidden; }
.topbar { display: flex; align-items: center; height: 86px; gap: 48px; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font: 700 21px/1 "Space Grotesk", sans-serif; letter-spacing: -.06em; }
.brand > span:last-child > span { color: var(--coral); }
.brand-mark { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; transform: skew(-13deg); }
.brand-mark span { display: block; width: 5px; border-radius: 3px; background: var(--coral); }
.brand-mark span:nth-child(1) { height: 12px; }
.brand-mark span:nth-child(2) { height: 18px; background: var(--teal); }
.brand-mark span:nth-child(3) { height: 22px; background: var(--yellow); }
.main-nav { display: flex; align-items: center; gap: 34px; margin-right: auto; color: #617276; font-size: 13px; font-weight: 600; }
.main-nav a, .language-switch, .footer-links a { transition: color .2s ease; }
.main-nav a:hover, .language-switch:hover, .footer-links a:hover { color: var(--coral); }
.top-actions { display: flex; align-items: center; gap: 22px; font-size: 13px; font-weight: 600; }
.language-switch { color: #617276; }
.globe-icon { display: inline-grid; width: 20px; height: 20px; place-items: center; margin-right: 5px; border: 1px solid #9eafae; border-radius: 50%; font-size: 14px; }
.user-button { display: flex; align-items: center; gap: 8px; border: 0; color: var(--ink); background: transparent; font-weight: 600; }
.user-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--teal); background: var(--blue-soft); font-size: 18px; }
.menu-toggle { display: none; border: 0; font-size: 22px; }
.hero { position: relative; display: grid; min-height: 394px; grid-template-columns: 46% 54%; align-items: center; }
.hero-copy { position: relative; z-index: 2; padding-bottom: 18px; }
.eyebrow, .section-kicker { margin: 0 0 16px; color: var(--coral); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--yellow); vertical-align: 1px; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { max-width: 440px; margin-bottom: 21px; font: 700 clamp(45px, 5.2vw, 72px)/.98 "Space Grotesk", sans-serif; letter-spacing: -.075em; }
.hero-text { max-width: 390px; margin-bottom: 25px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.trust-line { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.trust-line strong { color: var(--ink); }
.avatar-stack { display: flex; padding-right: 6px; }
.avatar-stack i { display: block; width: 23px; height: 23px; margin-right: -6px; border: 2px solid var(--paper); border-radius: 50%; background: #e69c83; }
.avatar-stack i:nth-child(2) { background: #718f8a; }
.avatar-stack i:nth-child(3) { background: #f4c274; }
.hero-art { position: relative; height: 355px; }
.sun-orbit { position: absolute; top: 43px; right: 102px; width: 210px; height: 210px; border: 1px solid rgba(242, 118, 98, .28); border-radius: 50%; }
.sun-orbit:before { position: absolute; top: 28px; right: 2px; width: 24px; height: 24px; border-radius: 50%; background: var(--yellow); content: ""; box-shadow: 0 0 0 11px rgba(247, 200, 91, .15); }
.mountain { position: absolute; bottom: 15px; width: 0; height: 0; border-style: solid; transform: rotate(0deg); }
.mountain-back { left: 10%; border-width: 0 154px 174px; border-color: transparent transparent #b6d2c9; opacity: .7; }
.mountain-back:after { position: absolute; left: -20px; top: 51px; border-width: 0 76px 118px; border-style: solid; border-color: transparent transparent #d9e7e1; content: ""; }
.mountain-front { right: 3%; bottom: 2px; border-width: 0 210px 218px; border-color: transparent transparent #286e6b; }
.mountain-front:before { position: absolute; left: -67px; top: 85px; border-width: 0 72px 133px; border-style: solid; border-color: transparent transparent #3b8580; content: ""; }
.road-line { position: absolute; bottom: 0; left: 1%; width: 95%; height: 94px; border-top: 2px solid rgba(29, 119, 113, .25); border-radius: 50%; transform: rotate(-6deg); }
.bus-illustration { position: absolute; right: 16%; bottom: 66px; z-index: 2; width: 137px; height: 66px; border-radius: 42px 42px 12px 12px; background: var(--coral); box-shadow: 10px 12px 0 rgba(16, 35, 40, .1); transform: rotate(-6deg); }
.bus-illustration:before { position: absolute; top: 10px; left: 17px; width: 101px; height: 24px; border-radius: 22px 22px 3px 3px; background: #f9dfc3; content: ""; }
.bus-window { position: absolute; z-index: 1; top: 14px; left: 25px; width: 85px; height: 16px; border-radius: 14px 14px 2px 2px; background: var(--teal-dark); }
.bus-wheel { position: absolute; bottom: -7px; width: 18px; height: 18px; border: 4px solid var(--ink); border-radius: 50%; background: #e6efeb; }
.bus-wheel.one { left: 22px; }.bus-wheel.two { right: 22px; }
.art-label { position: absolute; z-index: 3; padding: 5px 10px; border-radius: 20px; background: var(--white); box-shadow: 0 8px 20px rgba(16, 35, 40, .12); font: 600 11px "Space Grotesk", sans-serif; }
.label-one { top: 47px; left: 23%; color: var(--teal); }.label-two { right: 7%; bottom: 113px; color: var(--coral); }
.search-card { position: relative; z-index: 4; margin-top: -2px; padding: 0; border-radius: 12px; background: var(--white); box-shadow: var(--shadow); }
.search-form { padding: 21px 22px 22px; }
.form-tabs { display: flex; align-items: center; gap: 22px; padding: 0 4px 18px; border-bottom: 1px solid var(--line); }
.form-tabs button { position: relative; padding: 0 0 12px; border: 0; color: #8c9a9b; background: transparent; font-size: 12px; font-weight: 700; }
.form-tabs button.active { color: var(--ink); }.form-tabs button.active:after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 2px; background: var(--coral); content: ""; }
.form-hint { margin-left: auto; color: #a2adae; font-size: 11px; }
.form-fields { display: grid; grid-template-columns: 1.15fr 22px 1.15fr 1.12fr 155px; align-items: center; gap: 10px; padding-top: 19px; }
.field { display: flex; min-width: 0; height: 58px; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); transition: border-color .2s; }
.field:focus-within { border-color: var(--teal); }.field-icon { flex: 0 0 auto; color: var(--teal); font-size: 16px; }.from-icon { color: var(--coral); font-size: 12px; }.to-icon { color: var(--teal); font-size: 12px; }
.field-content { position: relative; display: flex; min-width: 0; flex: 1; flex-direction: column; }.field-content small { margin-bottom: 2px; color: #8c9a9b; font-size: 10px; font-weight: 600; }.field-content input, .field-content select { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; font-weight: 600; }.field-content input[type=date] { font-size: 12px; }.field-arrow { color: #91a1a0; }.swap-button { width: 26px; height: 26px; margin: auto -6px; z-index: 1; border: 1px solid var(--line); border-radius: 50%; color: var(--teal); background: var(--white); font-size: 16px; }
.location-suggestions { position: absolute; z-index: 20; top: calc(100% + 8px); right: -12px; left: -12px; display: grid; overflow: hidden; border: 1px solid #dfe2eb; border-radius: 10px; background: #fff; box-shadow: 0 14px 28px rgba(19, 22, 35, .16); }.location-suggestions:empty { display: none; }.location-suggestions button { padding: 10px 12px; border: 0; border-bottom: 1px solid #eef0f5; background: #fff; color: #252735; cursor: pointer; font: inherit; font-size: 13px; text-align: left; }.location-suggestions button:last-child { border-bottom: 0; }.location-suggestions button:hover, .location-suggestions button:focus { background: #f2f4ff; outline: 0; }
.search-button { display: flex; height: 58px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 7px; color: var(--white); background: var(--teal); box-shadow: 0 9px 17px rgba(29, 119, 113, .2); font-size: 13px; font-weight: 700; transition: background .2s, transform .2s; }.search-button:hover, .trip-button:hover { background: var(--teal-dark); transform: translateY(-1px); }.search-button span { font-size: 20px; }
.section { padding-top: 111px; }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }.section-heading h2 { margin-bottom: 9px; font: 600 32px/1.1 "Space Grotesk", sans-serif; letter-spacing: -.055em; }.section-heading p:not(.section-kicker) { margin-bottom: 0; color: var(--muted); font-size: 14px; }.section-kicker { margin-bottom: 12px; font-size: 10px; }.text-link { color: var(--coral); font-size: 12px; font-weight: 700; }.text-link span { margin-left: 5px; font-size: 16px; }.route-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 16px; margin-top: 31px; }.route-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border-radius: 10px; background: var(--white); box-shadow: 0 7px 26px rgba(16, 35, 40, .055); transition: transform .25s, box-shadow .25s; }.route-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }.route-image { position: relative; display: block; height: 166px; overflow: hidden; background: var(--teal); }.route-card-tall .route-image { height: 215px; }.route-image:after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(16, 35, 40, .48)); content: ""; }.image-coast { background: linear-gradient(130deg, #ea9677, #6faaa1 62%, #d1d178); }.image-coast:before { position: absolute; right: -20px; bottom: -40px; width: 270px; height: 150px; border-radius: 50% 50% 0 0; background: #f8d494; content: ""; transform: rotate(-9deg); }.image-lantern { background: linear-gradient(135deg, #173f48, #d37958); }.image-lantern:before { position: absolute; top: 22px; left: 27%; width: 56px; height: 80px; border-radius: 50% 50% 45% 45%; background: #f6ad57; box-shadow: 34px 34px 0 -11px #ec7457, -32px 47px 0 -16px #f5bd5a; content: ""; }.image-bay { background: linear-gradient(150deg, #a8d4d4, #286f79); }.image-bay:before { position: absolute; right: 8%; bottom: -20px; width: 210px; height: 120px; border-radius: 50% 50% 0 0; background: #e4d6b7; content: ""; transform: rotate(-17deg); }.route-image-caption { position: absolute; bottom: 13px; left: 15px; z-index: 1; color: var(--white); font-size: 11px; font-weight: 600; }.route-card-body { display: flex; flex-direction: column; gap: 5px; padding: 16px; }.route-card-body strong { font: 600 14px "Space Grotesk", sans-serif; }.route-card-body strong span { color: var(--coral); }.route-card-body small { color: var(--muted); font-size: 11px; }.why-section { margin-top: 110px; padding-bottom: 105px; background: var(--blue-soft); }.centered { justify-content: center; text-align: center; }.centered > div { max-width: 530px; }.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 43px; }.benefit { position: relative; padding: 31px 28px 29px; border: 1px solid rgba(29, 119, 113, .13); border-radius: 9px; background: rgba(255, 255, 255, .48); }.benefit-number { position: absolute; top: 21px; right: 22px; color: #a6c2bd; font-size: 10px; font-weight: 700; }.benefit-icon { display: grid; width: 40px; height: 40px; margin-bottom: 20px; place-items: center; border-radius: 50%; color: var(--teal); background: #d1e7e2; font-size: 22px; }.benefit h3 { margin-bottom: 9px; font: 600 16px "Space Grotesk", sans-serif; }.benefit p { max-width: 230px; margin: 0; color: var(--muted); font-size: 13px; }.footer { display: flex; align-items: end; justify-content: space-between; min-height: 175px; padding-top: 40px; padding-bottom: 39px; }.footer p { margin: 15px 0 0; color: var(--muted); font-size: 12px; }.footer-links { display: flex; gap: 30px; padding-bottom: 5px; color: var(--muted); font-size: 12px; font-weight: 600; }.footer-end { display: flex; flex-direction: column; align-items: end; gap: 9px; color: var(--teal); font-size: 10px; font-weight: 700; }.footer-end small { color: var(--muted); font-weight: 400; }

/* Results */
.results-page { padding-bottom: 50px; }.results-toolbar { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; min-height: 92px; border-bottom: 1px solid var(--line); }.back-link, .edit-search { color: var(--teal); font-size: 12px; font-weight: 700; }.edit-search { justify-self: end; padding: 9px 14px; border: 1px solid #bdd7d1; border-radius: 5px; }.results-route { display: flex; align-items: center; justify-content: center; gap: 13px; font: 600 17px "Space Grotesk", sans-serif; }.results-route b { color: var(--coral); }.results-route small { margin-left: 8px; color: var(--muted); font: 400 11px "DM Sans", sans-serif; }.results-layout { display: grid; grid-template-columns: 222px minmax(0, 1fr); gap: 40px; padding-top: 48px; }.filter-panel { padding-top: 4px; }.filter-heading { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); font: 600 16px "Space Grotesk", sans-serif; }.clear-filters { border: 0; color: var(--coral); background: none; font-size: 11px; }.filter-panel fieldset { margin: 0; padding: 22px 0; border: 0; border-bottom: 1px solid var(--line); }.filter-panel legend { margin-bottom: 16px; font-size: 12px; font-weight: 700; }.filter-panel label { display: flex; align-items: center; gap: 7px; margin: 13px 0; color: var(--muted); font-size: 12px; }.filter-panel label input { accent-color: var(--teal); }.filter-panel label em { margin-left: auto; color: #a3aeae; font-size: 10px; font-style: normal; }.filter-note { display: flex; gap: 9px; margin-top: 27px; padding: 12px; border-radius: 6px; background: #e6f1ed; color: var(--teal); font-size: 11px; }.filter-note span { font-size: 17px; }.filter-note p { margin: 0; line-height: 1.5; }.filter-note strong { font-size: 11px; }.results-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 24px; }.results-heading h1 { margin: 0 0 5px; font: 600 31px/1 "Space Grotesk", sans-serif; letter-spacing: -.06em; }.results-heading .section-kicker { margin-bottom: 8px; }.results-count { color: var(--muted); font-size: 12px; }.sort-control { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }.sort-control select { padding: 10px 27px 10px 11px; border: 1px solid var(--line); border-radius: 5px; outline: 0; color: var(--ink); background: var(--white); font-size: 11px; }.trip-card { display: grid; grid-template-columns: minmax(0, 1fr) 190px; margin-bottom: 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); overflow: hidden; transition: box-shadow .2s, border-color .2s; }.trip-card:hover { border-color: #acd0c9; box-shadow: 0 12px 32px rgba(16, 35, 40, .08); }.trip-main { padding: 22px 22px 18px; }.operator-block { display: flex; align-items: center; gap: 9px; }.operator-logo { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: var(--white); background: var(--teal); font: 700 16px "Space Grotesk", sans-serif; }.operator-block > strong { font: 600 13px "Space Grotesk", sans-serif; }.rating { margin-left: 4px; color: #d7a52b; font-size: 11px; font-weight: 700; }.rating small { color: #95a0a0; font-size: 10px; font-weight: 400; }.trip-times { display: grid; grid-template-columns: 1fr 1.4fr 1fr; align-items: center; gap: 13px; margin: 19px 0 13px; }.trip-times > div:not(.trip-line) { display: flex; flex-direction: column; gap: 3px; }.trip-times > div:last-child { text-align: right; }.trip-times strong { font: 600 26px/1 "Space Grotesk", sans-serif; letter-spacing: -.06em; }.trip-times small { color: var(--muted); font-size: 10px; }.trip-line { display: flex; align-items: center; justify-content: center; gap: 8px; color: #9daaaa; font-size: 10px; }.trip-line i { position: relative; display: block; flex: 1; height: 1px; background: #b6ccca; }.trip-line i:after { position: absolute; top: -2px; right: 0; width: 5px; height: 5px; border-top: 1px solid var(--teal); border-right: 1px solid var(--teal); content: ""; transform: rotate(45deg); }.trip-meta { display: flex; gap: 17px; color: var(--muted); font-size: 10px; }.trip-price { display: flex; min-height: 172px; align-items: end; flex-direction: column; padding: 17px 18px; border-left: 1px solid var(--line); background: #fbfcfa; }.trip-badge { align-self: start; margin-bottom: auto; padding: 4px 7px; border-radius: 3px; color: var(--teal); background: var(--blue-soft); font-size: 9px; font-weight: 700; }.trip-price > small { color: var(--muted); font-size: 10px; }.trip-price > strong { margin: 1px 0; color: var(--teal); font: 700 18px "Space Grotesk", sans-serif; }.trip-price > strong small { font: 500 9px "DM Sans", sans-serif; }.trip-price del { margin-bottom: 2px; color: #a3afaf; font-size: 10px; }.seats-left { color: var(--coral); font-size: 10px; }.trip-button { width: 100%; margin-top: 12px; padding: 10px 8px; border: 0; border-radius: 5px; color: var(--white); background: var(--teal); font-size: 11px; font-weight: 700; transition: transform .2s, background .2s; }.trip-button span { margin-left: 4px; font-size: 15px; }.trip-expand { display: none; grid-column: 1 / -1; grid-template-columns: 1fr 1fr 1fr; gap: 12px; padding: 14px 22px; border-top: 1px solid var(--line); background: #fbfcfa; }.trip-card.open .trip-expand { display: grid; }.trip-expand div { display: flex; flex-direction: column; gap: 2px; }.trip-expand span { color: var(--muted); font-size: 10px; }.trip-expand strong { font-size: 11px; }.toast { position: fixed; right: 24px; bottom: 24px; z-index: 20; max-width: 320px; padding: 14px 18px; border-radius: 7px; color: var(--white); background: var(--ink); box-shadow: var(--shadow); font-size: 12px; opacity: 0; pointer-events: none; transform: translateY(15px); transition: opacity .2s, transform .2s; }.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
    .container { width: min(100% - 40px, 680px); }.topbar { gap: 20px; }.main-nav { display: none; }.main-nav.mobile-open { position: absolute; top: 65px; right: 20px; left: 20px; z-index: 10; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }.main-nav.mobile-open a { padding: 11px 12px; }.top-actions { margin-left: auto; }.menu-toggle { display: block; }.hero { grid-template-columns: 1fr; min-height: auto; padding-top: 58px; }.hero-copy { padding-bottom: 0; }.hero-art { height: 260px; margin-top: -8px; }.hero h1 { max-width: 550px; }.sun-orbit { top: 20px; right: 20%; width: 160px; height: 160px; }.mountain-front { right: 12%; border-width: 0 150px 165px; }.mountain-back { left: 18%; border-width: 0 110px 135px; }.bus-illustration { right: 28%; bottom: 50px; }.search-card { width: min(100% - 40px, 680px); }.form-fields { grid-template-columns: 1fr 1fr; }.swap-button { margin: auto -17px; }.search-button { grid-column: span 2; }.route-grid { grid-template-columns: 1fr 1fr; }.route-card-tall { grid-row: span 2; }.route-card-tall .route-image { height: 100%; min-height: 300px; }.benefit-grid { gap: 10px; }.benefit { padding: 24px 18px; }.results-toolbar { grid-template-columns: 1fr auto; gap: 12px; padding: 18px 0; }.results-route { grid-column: 1 / -1; grid-row: 1; justify-content: start; }.back-link { grid-row: 2; }.edit-search { grid-row: 2; }.results-layout { grid-template-columns: 1fr; gap: 22px; padding-top: 30px; }.filter-panel { display: none; }
}
@media (max-width: 560px) {
    .container { width: calc(100% - 30px); }.topbar { height: 72px; }.user-label, .language-switch { display: none; }.hero { padding-top: 43px; }.hero h1 { font-size: 49px; }.hero-text { font-size: 14px; }.hero-art { height: 210px; }.mountain-front { right: 0; bottom: 0; border-width: 0 125px 130px; }.mountain-back { left: 2%; bottom: 0; border-width: 0 85px 105px; }.sun-orbit { top: 14px; right: 12%; width: 130px; height: 130px; }.bus-illustration { right: 20%; bottom: 38px; transform: scale(.78) rotate(-6deg); }.label-one { top: 27px; left: 12%; }.label-two { right: 0; bottom: 76px; }.search-card { width: calc(100% - 30px); margin-top: 3px; }.search-form { padding: 17px 14px; }.form-tabs { gap: 16px; }.form-hint { display: none; }.form-fields { grid-template-columns: 1fr; gap: 8px; }.field { height: 53px; }.swap-button { position: absolute; right: 43%; margin-top: 0; }.search-button { grid-column: auto; height: 53px; }.section { padding-top: 72px; }.section-heading { display: block; }.section-heading h2 { font-size: 28px; }.text-link { display: inline-block; margin-top: 18px; }.route-grid { grid-template-columns: 1fr; }.route-card-tall { grid-row: auto; }.route-card-tall .route-image { height: 190px; min-height: 0; }.route-image { height: 160px; }.why-section { margin-top: 75px; padding-bottom: 70px; }.benefit-grid { grid-template-columns: 1fr; margin-top: 28px; }.benefit p { max-width: none; }.footer { display: block; min-height: 0; padding-top: 48px; padding-bottom: 30px; }.footer-links { flex-wrap: wrap; gap: 15px; margin-top: 27px; }.footer-end { align-items: start; margin-top: 25px; }.results-route { flex-wrap: wrap; gap: 8px; font-size: 15px; }.results-route small { width: 100%; margin: 0; }.results-heading { display: block; }.sort-control { margin-top: 18px; }.trip-card { grid-template-columns: 1fr; }.trip-price { min-height: 0; align-items: start; border-top: 1px solid var(--line); border-left: 0; }.trip-price > small, .trip-price > strong, .trip-price del, .seats-left { position: absolute; opacity: 0; }.trip-badge { margin-bottom: 9px; }.trip-button { margin-top: 0; }.trip-times { gap: 5px; }.trip-times strong { font-size: 22px; }.trip-main { padding: 18px 15px; }.trip-meta { flex-wrap: wrap; gap: 8px 13px; }.trip-expand { grid-template-columns: 1fr; }.results-heading h1 { font-size: 28px; }
}
 .booking-details-form form { display: grid; gap: 18px; }.details-form-section { overflow: hidden; border: 1px solid #e1e4ef; border-radius: 11px; background: #fff; }.details-section-heading { display: flex; align-items: center; gap: 12px; padding: 15px 17px; border-bottom: 1px solid #e8eaf2; background: #f8f9ff; }.details-section-heading > span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; color: #fff; background: #5266eb; font-size: 10px; font-weight: 800; }.details-section-heading > div { display: grid; gap: 2px; }.details-section-heading strong { color: #292c3a; font: 700 14px "Inter", sans-serif; }.details-section-heading small { color: #777b8d; font-size: 10px; }.booking-details-form .passenger-fields { gap: 0; margin: 0; padding: 7px 17px; }.booking-details-form .passenger-row { display: grid; grid-template-columns: 30px minmax(125px, .7fr) minmax(180px, 1.3fr); gap: 12px; padding: 13px 0; border-bottom: 1px solid #eceef4; }.booking-details-form .passenger-row:last-child { border-bottom: 0; }.booking-details-form .passenger-row > b { width: 28px; height: 28px; color: #4657d0; background: #eceeff; }.booking-details-form .passenger-row > span { display: flex; align-items: flex-start; flex-direction: column; gap: 3px; color: #303341; font-size: 11px; }.booking-details-form .passenger-row > span small { padding: 2px 6px; border-radius: 99px; color: #23735f; background: #e8f7f1; font-size: 8px; font-weight: 700; text-transform: uppercase; }.booking-details-form .passenger-row input { background: #fbfbfe; }.booking-details-form .passenger-row em { grid-column: 3; }.contact-owner { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; margin: 17px 17px 0; padding: 12px 14px; border: 1px solid #dce1fb; border-radius: 8px; background: #f5f6ff; }.contact-owner span { grid-row: 1 / 3; align-self: center; padding: 5px 8px; border-radius: 6px; color: #4657d0; background: #e5e8ff; font-size: 9px; font-weight: 800; text-transform: uppercase; }.contact-owner strong { overflow: hidden; color: #292d41; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.contact-owner small { color: #777b8d; font-size: 9px; }.booking-details-form .contact-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 17px; }.booking-details-form .contact-input-grid label:last-child { grid-column: auto; }.booking-details-note { display: flex; gap: 10px; margin: 0; padding: 12px 13px; border: 1px solid #dce1fb; border-radius: 8px; background: #f5f6ff; color: #565a70; font-size: 11px; line-height: 1.5; }.booking-details-note span { color: #5266eb; font-size: 16px; }.booking-details-note p { margin: 0; }.booking-details-note strong { color: #303dbe; }.booking-itinerary-summary { display: grid; gap: 13px; }.itinerary-leg { padding: 14px; border: 1px solid #e2e5ef; border-radius: 10px; background: #fbfbfe; }.itinerary-leg-head { display: flex; align-items: center; gap: 7px; }.itinerary-leg-head > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: #5266eb; font-size: 10px; font-weight: 700; }.itinerary-leg-head strong { color: #30323e; font-size: 12px; }.itinerary-leg-head small { margin-left: auto; color: #777b8d; font-size: 10px; }.itinerary-leg .summary-route { margin: 12px 0 8px; font-size: 13px; }.itinerary-time { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: #4c5ddb; font-size: 12px; }.itinerary-time i { height: 1px; flex: 1; background: #cbd1ff; }.itinerary-leg .summary-list { border-top: 0; }.itinerary-leg .summary-list div { padding: 7px 0; }.itinerary-leg .summary-list b { overflow-wrap: anywhere; }.booking-grand-total { display: flex; align-items: baseline; justify-content: space-between; padding: 16px 3px 0; border-top: 1px solid #dfe2ef; color: #4a4d5d; font-size: 12px; }.booking-grand-total strong { color: #3546c4; font: 700 20px "Inter", sans-serif; }@media (max-width: 700px) { .details-section-heading { align-items: flex-start; }.booking-details-form .passenger-row { grid-template-columns: 30px 1fr; }.booking-details-form .passenger-row input, .booking-details-form .passenger-row em { grid-column: 2; }.booking-details-form .contact-input-grid { grid-template-columns: 1fr; }.contact-owner { grid-template-columns: 1fr; }.contact-owner span { grid-row: auto; justify-self: start; }.itinerary-leg { padding: 12px; } }
