.trip-field-error {
    display: block;
    margin-top: .35rem;
    color: #a61b1b;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.trip-booking-fields input[aria-invalid="true"] {
    border-color: #c93636 !important;
    box-shadow: 0 0 0 3px rgba(201, 54, 54, .12) !important;
}

.trip-booking-feedback:focus {
    outline: 3px solid rgba(0, 111, 74, .25);
    outline-offset: 3px;
}

.account-field-error { color: #a61b1b !important; font-weight: 700; }
.account-field input[aria-invalid="true"] { border-color: #c93636 !important; box-shadow: 0 0 0 3px rgba(201,54,54,.12); }
.account-booking-timeline ol { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.account-booking-timeline li { display: grid; grid-template-columns: 12px 1fr; gap: .75rem; align-items: start; }
.account-booking-timeline li > span { width: 10px; height: 10px; margin-top: .35rem; border-radius: 50%; background: #0a9b63; }
.account-booking-timeline li div { display: grid; gap: .15rem; }
.account-booking-timeline li small { color: #62758a; }

.trip-itinerary-terminal-badge {
    left: -6px !important;
    width: 46px !important;
    height: 30px !important;
    border-radius: 999px !important;
}

.trip-map-unavailable {
    display: grid;
    place-items: center;
    min-height: 260px !important;
    padding: 1.5rem;
}

.trip-map-unavailable > div {
    display: grid;
    gap: .5rem;
    max-width: 22rem;
    text-align: center;
}

@media (max-width: 980px) {
    .trip-map-card,
    .trip-map-canvas {
        height: 300px !important;
        min-height: 300px !important;
    }
}

@media (max-width: 420px) {
    .trip-map-card,
    .trip-map-canvas {
        height: 250px !important;
        min-height: 250px !important;
    }
}
