/* Presentation only: original service content and handlers stay inside each panel. */
.airport-presentation { padding: 0.65rem 0; color: var(--ink); font: 400 1rem/1.5 var(--font-interface); }
.airport-presentation p { margin: 0; }
.airport-presentation__time { font-weight: 600; }
.airport-presentation small { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.875rem; }
.service-accordion { position: relative; padding: 0.1rem 0; border-bottom: 1px solid var(--line); }
.service-accordion:last-of-type { border-bottom: 0; }
.service-accordion[data-connected-after="true"] { border-bottom: 0; }
.connection-action__instructions { margin: 0.3rem 0 0.75rem; padding-inline-start: 1.2rem; font: 400 1rem/1.6 var(--font-reading); }
.service-summary { margin: 0; }
.service-summary__toggle { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; width: 100%; min-height: 44px; padding: 0.35rem 0; border: 0; background: none; color: var(--ink); text-align: left; font: 500 1rem/1.5 var(--font-interface); cursor: pointer; }
.service-summary__copy { min-width: 0; overflow-wrap: anywhere; }
.service-summary__time { white-space: nowrap; font-weight: 600; }
.service-summary__compact .service-line-icon { width: 17px; height: 17px; margin-inline-end: 0.4rem; vertical-align: -0.2em; }
.service-summary__toggle[aria-expanded="false"] .service-summary__detail,
.service-summary__toggle[aria-expanded="true"] .service-summary__compact { display: none; }
[data-transfer-tracking-slot][hidden] { display: none !important; }
.transfer-tracking-dialog { max-width: 26rem; }
.transfer-tracking-dialog h2 { font-size: 1.65rem; }
.service-summary__chevron { width: 18px; height: 18px; flex: 0 0 18px; }
.service-summary__toggle[aria-expanded="true"] .service-summary__chevron { transform: rotate(180deg); }
.service-summary__toggle:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 2px; }
.service-panel[hidden] { display: none !important; }
.service-panel > .event-card { padding-block: 0.65rem 1rem; padding-inline: 0; border: 0; }
.service-panel > .event-card::before { display: none; }
.service-summary__alert { display: inline-block; width: 16px; height: 16px; margin-inline-end: 0.35rem; vertical-align: -0.15em; color: #854b36; }
.service-summary__critical { display: inline; margin-inline-start: 0.5rem; color: var(--muted); font-size: 0.875rem; }
.service-accordion[data-open="true"] .service-summary__critical { display: none; }
.service-required-action { display: flex; align-items: baseline; gap: 0.3rem; padding-block: 0.5rem; font: 500 1rem/1.5 var(--font-interface); color: var(--ink); }
.service-required-action .service-summary__alert { flex: 0 0 16px; }
.service-information > .event-card { padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
.service-information > .event-card::before { display: none; }
.service-information attention-note { padding: 0.5rem 0.65rem; margin: 0.45rem 0; gap: 0.5rem; }
.service-panel .hotel-night .hotel-address { margin: 0; }
.day-section[data-service-view] .event-list::before { display: none; }
.day-section[data-service-view] operational-notice { margin-block: 0.65rem 0.25rem; }
.day-section[data-service-view] .flight-connection { padding-block: 0.2rem; margin-block: 0; font-size: 0.8125rem; }
.day-section[data-service-density="compact"] .service-accordion { padding-block: 0; }
.day-section[data-service-density="compact"] .service-summary__toggle { padding-block: 0.25rem; }
.day-section[data-service-density="compact"] .flight-connection { padding-block: 0.1rem; line-height: 1.25; }
.day-section[data-service-density="compact"] .service-information > .event-card { padding-block: 0.25rem; }
@media (width < 768px) {
 #itinerary .day-section[data-service-density="compact"] { padding-bottom: 0.5rem; }
 #itinerary .day-section[data-service-density="compact"] .event-list { padding-top: 0; }
}
