/* Checkout keeps the poster palette, with clear form and order states. */
.booking-dialog .booking-title,.booking-dialog .demo-success h2,.info-dialog .ticket-view h2{font-family:'Golos Text',Arial,sans-serif;font-size:26px;font-weight:600;line-height:1.3;letter-spacing:-.45px}
.results-section h2{font-family:'Golos Text',Arial,sans-serif;font-size:28px;font-weight:600;line-height:1.3;letter-spacing:-.5px}
.booking-dialog .button,.info-dialog .ticket-view .button,.flight-card .button{border-radius:12px;font-weight:600}
.booking-description{font-size:13px;line-height:1.65;margin-top:8px}
.booking-demo-note{font-size:12px;line-height:1.6;margin-top:15px;padding:10px 0;background:transparent;border-top:0;border-bottom:1px solid var(--line);border-radius:0}
.booking-dialog .demo-itinerary,.ticket-view .demo-itinerary{padding:20px;border-radius:16px;box-shadow:none;background:var(--soft)}
.booking-dialog .itinerary-route,.ticket-view .itinerary-route{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:start;gap:10px;font-size:17px;font-weight:600;line-height:1.45;letter-spacing:-.2px}
.itinerary-route>span{min-width:0;overflow-wrap:anywhere}
.itinerary-route>.icon{width:18px;height:18px;margin-top:3px}
.booking-dialog .itinerary-details,.ticket-view .itinerary-details{margin-top:20px;gap:12px;font-size:13px;line-height:1.6}
.booking-dialog .itinerary-details>div,.ticket-view .itinerary-details>div{display:grid;grid-template-columns:minmax(90px,.85fr) minmax(0,1.15fr);gap:15px;align-items:baseline}
.booking-dialog .itinerary-details dd,.ticket-view .itinerary-details dd{text-align:right;font-weight:600;overflow-wrap:anywhere}
.booking-dialog .success-icon{width:32px;height:32px;margin-bottom:14px}
.booking-dialog .success-icon .icon{width:19px;height:19px}
.demo-success>p{line-height:1.7}
.booking-dialog .data-disclosure{font-size:12px;line-height:1.7}
.flight-time span{font-size:13px;line-height:1.5}
.flight-duration{font-size:12px;line-height:1.5}
.flight-availability{font-size:12px}
.seat-legend{font-size:11px}
.booking-actionbar #seat-help{font-size:11px;line-height:1.5}
.booking-step{justify-content:space-between;gap:14px}
.booking-step li{white-space:nowrap}
.flight-journey-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:13px;font-size:12px}
.flight-journey-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:38px;cursor:pointer;list-style:none;color:var(--ink)}
.flight-journey-details summary::-webkit-details-marker{display:none}
.flight-journey-details summary .icon{width:17px;height:17px;transition:transform .18s}
.flight-journey-details[open] summary .icon{transform:rotate(90deg)}
.flight-journey-content{padding-top:13px}
.flight-journey-content dl{margin:0 0 17px;display:grid;gap:12px}
.flight-journey-content dl>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:18px;font-size:12px;line-height:1.7}
.flight-journey-content dt{color:var(--muted)}
.flight-journey-content dd{margin:0;color:var(--ink)}
.flight-journey-content .text-link{font-size:12px;min-height:38px;white-space:normal}
.payment-form{margin-top:22px}
.payment-methods{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0}
.payment-methods legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.payment-method{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;min-height:76px;cursor:pointer;background:var(--surface);color:var(--ink)}
.payment-method:has(input:checked){border-color:var(--cta-bg);box-shadow:inset 0 0 0 1px var(--cta-bg);background:var(--soft)}
.payment-method input{width:19px;height:19px;flex:none;margin:0;accent-color:var(--cta-bg)}
.payment-method strong,.payment-method small{display:block}
.payment-method strong{font-size:14px;font-weight:600;line-height:1.4}
.payment-method small{font-size:12px;color:var(--muted);line-height:1.5;margin-top:4px}
.payment-disclosure{font-size:12px;color:var(--muted);line-height:1.8;margin-top:19px;max-width:620px}
#payment-status{font-size:12px;color:var(--ink);padding:12px 14px;border-radius:12px;background:var(--soft);margin-top:17px}
.payment-cancel-link{background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 0;margin-top:12px;font-size:12px;text-align:left}
.payment-state{margin-top:23px}
.payment-state>p{font-size:13px;line-height:1.8;color:var(--muted)}
.payment-state .cancelled-tickets{margin-top:18px}
.payment-state .demo-itinerary{margin-top:20px}
.order-reference{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink);overflow-wrap:anywhere}
.demo-success .order-reference{font-size:13px;color:var(--ink);margin-top:16px}
.info-dialog:has(.ticket-view){width:min(760px,calc(100% - 32px));max-width:calc(100% - 32px)}
.ticket-view{min-width:0}
.ticket-demo-note{font-size:12px!important;line-height:1.75!important;color:var(--muted);margin:15px 0 20px!important}
#ticket-list{display:grid;gap:13px;margin-top:23px}
.tickets-empty{padding:23px;background:var(--soft);border:1px solid var(--line);border-radius:16px}
.tickets-empty h3{font-size:17px}
.tickets-empty p{font-size:12px;margin:9px 0 0;line-height:1.75}
.ticket-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:21px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}
.ticket-card strong{display:block;font-size:16px;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.ticket-card p{font-size:12px;margin:8px 0 12px;line-height:1.65}
.ticket-card-action{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:13px}
.ticket-card-action>span{font-size:11px;font-weight:650;color:var(--muted)}
.ticket-card-action .button{min-height:44px;font-size:12px;padding:10px 15px}
.ticket-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:8px;background:var(--soft);border:1px solid var(--line);font-size:11px;font-weight:650;line-height:1.35;color:var(--ink)}
.ticket-status-paid{background:var(--soft);border-color:var(--line);color:var(--ink)}
.ticket-status-refunded,.ticket-status-partially_refunded{border-color:var(--cta-bg)}
.ticket-lookup{margin-top:26px;border-top:1px solid var(--line);padding-top:15px}
.ticket-lookup summary{font-size:13px;font-weight:650;min-height:44px;cursor:pointer;color:var(--ink);padding-block:12px}
.ticket-lookup form{margin-top:15px}
.ticket-details>.order-reference{margin:16px 0 13px;font-size:14px;color:var(--ink)}
.ticket-details .demo-itinerary{margin-top:20px}
.ticket-detail-actions{display:flex;flex-wrap:wrap;gap:11px;margin:23px 0}
.ticket-detail-actions .button{font-size:12px;min-height:44px;padding:10px 15px;white-space:normal;text-align:center}
.ticket-details>.back-tickets{margin-top:2px}
.refund-confirm-label{display:flex!important;align-items:flex-start;gap:11px!important;font-size:12px!important;color:var(--ink)!important;line-height:1.7!important;cursor:pointer}
.info-dialog .refund-confirm-label input{width:19px;height:19px;min-height:19px;flex:none;margin:2px 0 0;padding:0;accent-color:var(--cta-bg)}
#refund-form select{width:100%;min-width:0;min-height:46px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px;font-size:14px}
#refund-form .form-actions{margin-top:7px}
.refund-success{padding:17px 18px;border-radius:14px;background:var(--soft);border:1px solid var(--line);margin-top:21px}
.refund-success h3{font-size:17px}
.refund-success p{font-size:12px;line-height:1.75;margin:8px 0 0}
@media(max-width:767px){
  .booking-dialog .booking-title,.booking-dialog .demo-success h2,.info-dialog .ticket-view h2{font-size:24px;letter-spacing:-.3px}
  .results-section h2{font-size:25px}
  .booking-description{font-size:12px}
  .booking-demo-note{font-size:11px;margin-top:13px;padding:9px 0}
  .booking-dialog .demo-itinerary,.ticket-view .demo-itinerary{padding:18px;margin-top:20px}
  .booking-dialog .itinerary-route,.ticket-view .itinerary-route{font-size:16px;gap:8px}
  .booking-dialog .itinerary-details,.ticket-view .itinerary-details{font-size:12px;margin-top:18px;gap:11px}
  .booking-dialog .itinerary-details>div,.ticket-view .itinerary-details>div{grid-template-columns:minmax(84px,.85fr) minmax(0,1.15fr);gap:10px}
  .booking-dialog .itinerary-details dd,.ticket-view .itinerary-details dd{text-align:right}
  .booking-dialog .data-disclosure{font-size:12px}
  .flight-time span{font-size:12px}
  .flight-duration{font-size:11px}
  .flight-availability{font-size:11px}
  .booking-step{gap:5px;font-size:11px;justify-content:space-between}
  .booking-step li{gap:4px}
  .booking-step .booking-step-number{width:18px;height:18px;font-size:9px}
  .flight-journey-content dl>div{grid-template-columns:1fr;gap:4px;font-size:11px}
  .flight-journey-content .text-link{font-size:11px}
  .payment-methods{grid-template-columns:1fr;gap:11px}
  .payment-method{padding:15px;min-height:72px}
  .payment-method strong{font-size:14px}
  .payment-disclosure{font-size:12px;margin-top:17px;line-height:1.7}
  #payment-form .form-actions,.payment-state .form-actions{grid-template-columns:1fr;gap:10px}
  #payment-form .form-actions .button,.payment-state .form-actions .button{min-height:46px;white-space:normal}
  #payment-form>.form-actions{position:sticky;bottom:0;z-index:2;padding:12px 0;background:var(--surface);border-top:1px solid var(--line)}
  .payment-state .cancelled-tickets{width:100%;min-height:44px}
  .info-dialog:has(.ticket-view){padding:27px 20px;width:calc(100% - 20px);max-width:calc(100% - 20px)}
  .ticket-card{grid-template-columns:1fr;gap:16px;padding:18px}
  .ticket-card strong{font-size:15px}
  .ticket-card p{font-size:11px}
  .ticket-card-action{flex-direction:row;align-items:center;gap:12px}
  .ticket-card-action>span{font-size:10px;overflow-wrap:anywhere}
  .ticket-card-action .button{font-size:11px;min-height:44px}
  .ticket-detail-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .ticket-detail-actions .button{min-height:46px}
  #refund-form .form-actions{grid-template-columns:1fr}
  #refund-form .form-actions .button{white-space:normal}
  #refund-form select{font-size:16px}
  .ticket-view .tickets-empty{padding:18px}
  .ticket-view .tickets-empty h3{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.flight-journey-details summary .icon{transition:none}}

/* Supporting copy remains readable at narrow widths. */
.booking-dialog .seat-legend,.booking-actionbar #seat-help,.ticket-status,.ticket-card-action>span{font-size:12px}
.ticket-card-action .button,.ticket-detail-actions .button{font-size:13px}
@media(max-width:767px){.booking-description,.booking-demo-note,.flight-duration,.flight-availability,.booking-step,.flight-journey-content dl>div,.flight-journey-content .text-link,.ticket-card p,.ticket-card-action>span{font-size:12px}.booking-step .booking-step-number{font-size:11px;width:20px;height:20px}.ticket-card-action .button{font-size:13px}.flight-time span{font-size:13px}.flight-journey-details summary{font-size:13px}.flight-journey-content .text-link{min-height:44px}}

.flight-operator small,.flight-price small,.flight-time sup,.booking-step .booking-step-number,.bus-front,.booking-summary .summary-row span,.summary-total>span,.itinerary-note{font-size:12px}
#sort-flights,.flight-card .button,.booking-dialog .button,.info-dialog .ticket-view .button{font-size:14px}
.flight-time strong sup{font-size:12px}
#booking-dialog .demo-success .form-actions .button{font-size:14px}
#info-dialog .ticket-details .demo-itinerary .itinerary-note{font-size:12px}
