:root {
    --blue-900: #0b3572;
    --blue-800: #0e448d;
    --blue-700: #1454a4;
    --blue-100: #eef5ff;
    --ink: #102b55;
    --muted: #5f7192;
    --green: #15964f;
    --green-dark: #0e783e;
    --gold: #f3b529;
    --paper: #ffffff;
    --line: #d9e3f2;
    --shadow: 0 18px 42px rgba(13, 47, 97, 0.18);
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option:has(input:checked) {
        border-color: #8bd2a6;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-protection-addon {
        margin-top: 18px;
        border-radius: 18px;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-protection-addon__head {
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-protection-addon__head h3 {
        font-size: 19px;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-protection-addon__body {
        gap: 16px;
        padding: 16px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__media {
        display: none;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content {
        gap: 14px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content ul {
        gap: 9px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content li {
        color: #18395f;
        font-size: 14px;
        line-height: 1.32;
        padding-left: 28px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content li::before {
        top: 0;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content a {
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice {
        align-items: center;
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 12px;
        border: 1px solid #f3c768;
        border-radius: 16px;
        padding: 13px;
        background: #fffaf0;
        box-shadow: 0 8px 18px rgba(245, 158, 11, .08);
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice:has(input:checked) {
        border-color: #8bd2a6;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input {
        width: 28px;
        height: 28px;
        margin: 0;
        accent-color: #0f9f55;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice span {
        display: grid;
        gap: 3px;
        min-width: 0;
        font-size: initial;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice strong {
        color: #071741;
        font-size: 15px;
        font-weight: 950;
        line-height: 1.18;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice small {
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice b {
        justify-self: end;
        color: #071741;
        font-size: 16px;
        font-weight: 950;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-seat-addon {
        margin-top: 18px;
        border-radius: 18px;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-seat-addon__head {
        gap: 12px;
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-seat-addon__head span {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        font-size: 20px;
    }

    .uapi-passengers-page .uapi-seat-addon__head h3 {
        font-size: 19px;
        line-height: 1.18;
    }

    .uapi-passengers-page .uapi-seat-modal {
        z-index: 10080;
    }

    .uapi-passengers-page .uapi-seat-modal__dialog {
        inset: auto 0 0;
        display: grid;
        grid-template-rows: auto auto auto minmax(0, 1fr) auto;
        width: 100vw;
        height: min(92dvh, 780px);
        max-width: none;
        max-height: none;
        border-radius: 22px 22px 0 0;
        transform: none;
    }

    .uapi-passengers-page .uapi-seat-modal__head {
        align-items: flex-start;
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-seat-modal__head h3 {
        font-size: 24px;
        line-height: 1.05;
    }

    .uapi-passengers-page .uapi-seat-modal__head p {
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-seat-modal__head button {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        font-size: 28px;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs,
    .uapi-passengers-page .uapi-seat-modal__directions {
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding: 10px 16px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs::-webkit-scrollbar,
    .uapi-passengers-page .uapi-seat-modal__directions::-webkit-scrollbar {
        display: none;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs button {
        flex: 0 0 auto;
        min-width: 142px;
        min-height: 52px;
        border-radius: 14px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs button strong {
        font-size: 12px;
    }

    .uapi-passengers-page .uapi-seat-modal__directions button {
        flex: 0 0 auto;
        min-height: 38px;
        border-radius: 999px;
        padding: 0 16px;
        font-size: 14px;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-seat-modal__content {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        overflow: auto;
        padding: 12px 0 16px;
        background: #ffffff;
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .uapi-seat-map {
        justify-self: stretch;
        width: max-content;
        min-width: 560px;
        max-width: none;
        margin: 0;
        padding: 16px 18px 22px;
        transform: none;
    }

    .uapi-passengers-page .uapi-seat-modal__content > .uapi-seat-map {
        overflow: visible;
    }

    .uapi-passengers-page .uapi-seat-modal__content {
        overflow-x: auto;
    }

    .uapi-passengers-page .uapi-seat-map::before {
        inset: 0 48px auto;
        height: 145px;
        border-width: 3px;
    }

    .uapi-passengers-page .uapi-seat-map__nose {
        width: 114px;
        height: 38px;
        margin: 8px auto 14px;
    }

    .uapi-passengers-page .uapi-seat-map__letters,
    .uapi-passengers-page .uapi-seat-map__row {
        display: flex;
        gap: 0;
        margin-bottom: 13px;
    }

    .uapi-passengers-page .uapi-seat-map__group {
        gap: 8px;
    }

    .uapi-passengers-page .uapi-seat-map__aisle {
        flex-basis: 32px;
        min-width: 32px;
    }

    .uapi-passengers-page .uapi-seat-map__letters .uapi-seat-map__group span,
    .uapi-passengers-page .uapi-seat-map__row-number {
        min-width: 44px;
        font-size: 16px;
    }

    .uapi-passengers-page .uapi-seat-cell {
        min-height: 70px;
        gap: 2px;
    }

    .uapi-passengers-page .uapi-seat-map__row button {
        width: 44px;
        height: 35px;
        border-radius: 11px 11px 8px 8px;
    }

    .uapi-passengers-page .uapi-seat-map__row button.is-xl {
        height: 42px;
        margin-top: -4px;
    }

    .uapi-passengers-page .uapi-seat-map__row button::before,
    .uapi-passengers-page .uapi-seat-map__row button::after {
        width: 5px;
        height: 20px;
    }

    .uapi-passengers-page .uapi-seat-cell > span {
        font-size: 14px;
        font-weight: 950;
    }

    .uapi-passengers-page .uapi-seat-cell > small {
        font-size: 12px;
        font-weight: 900;
    }

    .uapi-passengers-page .uapi-seat-modal__side {
        position: static;
        display: grid;
        width: calc(100vw - 32px);
        margin: 0 16px;
        padding: 0;
    }

    .uapi-passengers-page .uapi-seat-modal__passenger-panel,
    .uapi-passengers-page .uapi-seat-modal__legend {
        display: none;
    }

    .uapi-passengers-page .uapi-seat-modal__foot {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 12px;
        padding: 12px 16px max(12px, env(safe-area-inset-bottom));
    }

    .uapi-passengers-page .uapi-seat-modal__nav {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        width: 100%;
        margin: 0;
    }

    .uapi-passengers-page .uapi-seat-modal__nav .button {
        min-height: 42px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-seat-modal__foot > span {
        align-self: center;
        display: grid;
        gap: 2px;
        font-size: 13px;
        line-height: 1.1;
    }

    .uapi-passengers-page .uapi-seat-modal__foot strong {
        margin-left: 0;
        font-size: 24px;
        line-height: 1;
    }

    .uapi-passengers-page .uapi-seat-modal__foot > .button {
        min-width: 132px;
        min-height: 50px;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 950;
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input {
        appearance: none;
        -webkit-appearance: none;
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border: 2px solid #9fb5d5;
        border-radius: 10px;
        background: #fff;
        box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .9);
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input:checked {
        border-color: #16a34a;
        background: #16a34a;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input:checked::after {
        content: "";
        width: 8px;
        height: 14px;
        margin-top: -2px;
        border: solid #fff;
        border-width: 0 3px 3px 0;
        transform: rotate(45deg);
    }

    .uapi-passengers-page .uapi-seat-modal__content > .uapi-seat-map {
        overflow: visible;
    }

    .uapi-passengers-page .uapi-seat-map__letters > span,
    .uapi-passengers-page .uapi-seat-map__row > span:not(.uapi-seat-map__group):not(.uapi-seat-map__aisle) {
        min-width: 44px;
        color: #132445;
        font-size: 16px;
        font-weight: 950;
        text-align: center;
    }

    .uapi-passengers-page .uapi-seat-map__letters > span:empty {
        min-width: 32px;
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-passengers-form {
        display: grid;
        gap: 16px;
    }

    .uapi-passengers-page .uapi-passenger-card {
        margin: 0;
        border: 1px solid #dbe8f7;
        border-radius: 18px;
        padding: 18px;
        background: #ffffff;
        box-shadow: 0 12px 28px rgba(8, 35, 72, .07);
    }

    .uapi-passengers-page .uapi-passenger-card__head {
        display: grid;
        gap: 14px;
        margin-bottom: 18px;
    }

    .uapi-passengers-page .uapi-passenger-card__head > div:first-child {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-passenger-card__head small {
        flex: 0 0 auto;
        min-height: 36px;
        border-radius: 999px;
        padding: 0 16px;
        font-size: 16px;
        line-height: 1;
    }

    .uapi-passengers-page .uapi-passenger-card h2 {
        min-width: 0;
        color: #071741;
        font-size: 24px;
        line-height: 1.1;
    }

    .uapi-passengers-page .uapi-passengers-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .uapi-passengers-page .uapi-passengers-grid label,
    .uapi-passengers-page .uapi-profile-select {
        gap: 7px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-passengers-grid span,
    .uapi-passengers-page .uapi-profile-select span {
        color: #071741;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-passengers-grid input,
    .uapi-passengers-page .uapi-passengers-grid select,
    .uapi-passengers-page .uapi-profile-select select,
    .uapi-passengers-page .uapi-baggage-card__item select {
        min-width: 0;
        min-height: 48px;
        border-color: #bdd4f3;
        border-radius: 12px;
        background-color: #ffffff;
        color: #071741;
        font-size: 16px;
        font-weight: 850;
        line-height: 1.2;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
    }

    .uapi-passengers-page .uapi-passengers-grid select,
    .uapi-passengers-page .uapi-profile-select select,
    .uapi-passengers-page .uapi-baggage-card__item select {
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23071741' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: right 13px center;
        background-repeat: no-repeat;
        background-size: 18px 18px;
        padding-right: 42px;
    }

    .uapi-passengers-page .uapi-passenger-field--gender select {
        max-width: none;
    }

    .uapi-passengers-page .uapi-passenger-field .insurance-form-error {
        display: none;
        min-height: 0;
        margin: 0;
    }

    .uapi-passengers-page .uapi-passenger-field.has-error > .insurance-form-error {
        display: block;
        margin-top: 2px;
        font-size: 13px;
        line-height: 1.3;
    }

    .uapi-passengers-page .uapi-birthdate-selects {
        display: grid;
        grid-template-columns: minmax(70px, .72fr) minmax(120px, 1fr) minmax(86px, .82fr);
        gap: 10px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-birthdate-selects select {
        min-width: 0;
        padding-left: 12px;
        padding-right: 30px;
        background-position: right 8px center;
        background-size: 16px 16px;
        text-align: left;
    }

    .uapi-passengers-page .uapi-baggage-card {
        margin-top: 18px;
        border-color: #dbe8f7;
        border-radius: 16px;
        background: #ffffff;
    }

    .uapi-passengers-page .uapi-baggage-card__intro {
        display: grid;
        gap: 8px;
        border-bottom-color: #e4edf8;
        padding: 16px;
    }

    .uapi-passengers-page .uapi-baggage-card__intro h3 {
        color: #071741;
        font-size: 18px;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-baggage-card__intro p {
        color: #5f6f8d;
        font-size: 14px;
        font-weight: 750;
        line-height: 1.38;
    }

    .uapi-passengers-page .uapi-baggage-card__body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
    }

    .uapi-passengers-page .uapi-baggage-card__item {
        position: relative;
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        min-height: 0;
        border-color: #e4edf8;
        border-radius: 14px;
        padding: 12px;
        background: #f8fbff;
    }

    .uapi-passengers-page .uapi-baggage-card__item img {
        width: 38px;
        height: 38px;
    }

    .uapi-passengers-page .uapi-baggage-card__item span,
    .uapi-passengers-page .uapi-baggage-card__item strong {
        color: #071741;
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-baggage-card__item p {
        color: #5f6f8d;
        font-size: 13px;
        line-height: 1.35;
    }

    .uapi-passengers-page .uapi-baggage-card__item--included,
    .uapi-passengers-page .uapi-baggage-card__item--checked-included {
        border-color: #ccebd9;
        background: #f0fbf5;
    }

    .uapi-passengers-page .uapi-baggage-card__item--selected {
        border-color: #97d8b2;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }

    .uapi-passengers-page .uapi-baggage-selected-summary {
        display: grid;
        gap: 4px;
        margin: 9px 0 0;
        border: 1px solid #b7e5c7;
        border-radius: 12px;
        padding: 9px 10px;
        background: #ffffff;
        color: #071741;
        font-size: 13px;
        line-height: 1.28;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary[hidden] {
        display: none;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary span {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        border-radius: 999px;
        padding: 3px 8px;
        color: #0b6b35;
        background: #e3f8ea;
        font-size: 11px;
        font-weight: 950;
        line-height: 1;
        text-transform: uppercase;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary strong {
        color: #071741;
        font-size: 13px;
        font-weight: 850;
        line-height: 1.3;
    }

    .uapi-passengers-page .uapi-baggage-card__notice {
        margin: 0 12px 12px;
        border-radius: 12px;
        padding: 11px 12px;
        font-size: 13px;
        line-height: 1.35;
    }

    .uapi-passengers-page .uapi-priority-addon {
        display: block;
        border-top: 1px solid #e4edf8;
        padding: 16px 12px;
        background: #ffffff;
    }

    .uapi-passengers-page .uapi-priority-addon img {
        display: none;
    }

    .uapi-passengers-page .uapi-priority-addon__content {
        display: grid;
        gap: 13px;
    }

    .uapi-passengers-page .uapi-priority-addon__content > strong {
        color: #071741;
        font-size: 18px;
        font-weight: 950;
        line-height: 1.2;
        text-align: left;
    }

    .uapi-passengers-page .uapi-priority-addon__content ul {
        gap: 7px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li,
    .uapi-passengers-page .uapi-priority-direction__item {
        color: #344763;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.32;
        padding-left: 25px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li::before,
    .uapi-passengers-page .uapi-priority-direction__item::before {
        top: 1px;
        width: 17px;
        height: 17px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li::after,
    .uapi-passengers-page .uapi-priority-direction__item::after {
        top: 5px;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option {
        align-items: center;
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 11px;
        margin-top: 2px;
        border: 1px solid #f3c768;
        border-radius: 16px;
        padding: 12px;
        background: #fffaf0;
        box-shadow: 0 8px 18px rgba(245, 158, 11, .08);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option:has(input:checked) {
        border-color: #8bd2a6;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input {
        width: 26px;
        height: 26px;
        margin: 0;
        accent-color: #0f9f55;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span strong {
        color: #071741;
        font-size: 15px;
        font-weight: 950;
        line-height: 1.18;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span small {
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option b {
        grid-column: auto;
        justify-self: end;
        color: #071741;
        font-size: 16px;
        font-weight: 950;
        white-space: nowrap;
    }
}

.header-account {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 180px;
    border: 1px solid rgba(20, 84, 164, 0.22);
    border-radius: 8px;
    padding: 0 16px;
    color: var(--blue-900);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fff;
}

.header-account.is-active,
.header-account:hover {
    border-color: rgba(20, 84, 164, 0.45);
    background: var(--blue-100);
}

.header-account-menu {
    position: relative;
    flex: 0 0 auto;
}

.header-account__button {
    position: relative;
    gap: 10px;
    max-width: 230px;
    font: inherit;
    cursor: pointer;
}

.header-account__avatar {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #174ea6, #0b3572);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.header-account__button > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.header-account__button i {
    position: relative;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
}

.header-account__button i::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 3px;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.18s ease, top 0.18s ease;
}

.header-account-menu.is-open .header-account__button i::before {
    top: 6px;
    transform: rotate(225deg);
}

.header-account-dropdown[hidden] {
    display: none;
}

.header-account-dropdown {
    position: absolute;
    z-index: 70;
    top: calc(100% + 10px);
    right: 0;
    display: grid;
    min-width: 260px;
    border: 1px solid rgba(191, 208, 235, 0.92);
    border-radius: 12px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.18);
}

.header-account-dropdown::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 28px;
    width: 14px;
    height: 14px;
    border-left: 1px solid rgba(191, 208, 235, 0.92);
    border-top: 1px solid rgba(191, 208, 235, 0.92);
    background: #fff;
    transform: rotate(45deg);
}

.header-account-dropdown__summary {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #e3ebf6;
    margin: -2px -2px 6px;
    padding: 4px 4px 12px;
}

.header-account-dropdown__summary > b {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #174ea6, #0b3572);
    font-size: 13px;
    font-weight: 900;
}

.header-account-dropdown__summary span {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.header-account-dropdown__summary strong,
.header-account-dropdown__summary small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-account-dropdown__summary strong {
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 900;
}

.header-account-dropdown__summary small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.header-account-dropdown a {
    position: relative;
    z-index: 1;
    border-radius: 8px;
    padding: 12px 14px;
    color: var(--blue-900);
    font-weight: 850;
    text-decoration: none;
}

.header-account-dropdown a:hover,
.header-account-dropdown a:focus-visible {
    outline: none;
    background: var(--blue-100);
}

@media (max-width: 620px) {
    .header-account-menu {
        max-width: none;
    }

    .header-account__button {
        width: 58px;
        min-width: 58px;
        max-width: 58px;
        padding: 0 8px;
        gap: 4px;
        border-radius: 999px;
    }

    .header-account__button > span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .header-account__button .header-account__avatar {
        flex-basis: 30px;
    }

    .header-account__button i {
        flex-basis: 10px;
        width: 10px;
        height: 10px;
    }

    .header-account__button i::before {
        left: 1px;
        top: 1px;
        width: 6px;
        height: 6px;
    }

    .header-account-dropdown {
        right: 0;
        left: auto;
        min-width: min(260px, calc(100vw - 28px));
        transform: none;
    }

    .header-account-dropdown::before {
        right: 22px;
        left: auto;
        transform: rotate(45deg);
    }
}

.auth-page {
    padding: 58px 0 76px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at 12% 0%, rgba(20, 84, 164, 0.12), transparent 36%);
}

.auth-layout {
    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(280px, 1fr);
    gap: 28px;
    align-items: stretch;
}

.auth-page--layer {
    position: relative;
    display: flex;
    align-items: center;
    min-height: calc(100vh - 92px);
    padding: 64px 0;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.98)),
        linear-gradient(135deg, rgba(20, 84, 164, 0.1), rgba(255, 255, 255, 0) 58%);
}

.auth-page--layer::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.4);
}

.auth-layout--layer {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.auth-layout--layer .auth-panel {
    width: min(100%, 520px);
    border-radius: 14px;
    padding: 34px;
    box-shadow: 0 26px 58px rgba(13, 47, 97, 0.14);
}

.auth-layout--account {
    grid-template-columns: minmax(0, 560px) minmax(280px, 1fr);
    align-items: start;
}

.auth-panel,
.auth-info {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(13, 47, 97, 0.12);
}

.auth-panel {
    padding: 34px;
}

.auth-panel h1 {
    margin: 0 0 10px;
    color: var(--blue-900);
    font-size: 36px;
    line-height: 1.08;
    letter-spacing: 0;
}

.auth-panel p {
    margin: 0 0 22px;
    color: var(--muted);
    line-height: 1.6;
}

.auth-alert {
    margin: 0 0 18px;
    border-radius: 8px;
    padding: 13px 14px;
    font-weight: 800;
}

.auth-alert--success {
    border: 1px solid rgba(21, 150, 79, 0.25);
    color: #0e783e;
    background: rgba(21, 150, 79, 0.08);
}

.auth-alert--error {
    border: 1px solid rgba(216, 55, 55, 0.28);
    color: #b42318;
    background: rgba(216, 55, 55, 0.08);
}

.auth-social {
    display: grid;
    gap: 10px;
}

.auth-social__button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    color: var(--blue-900);
    font-weight: 900;
    text-decoration: none;
    background: #fff;
}

.auth-social__button--google {
    border-color: #d9e3f2;
}

.auth-social__button--facebook {
    border-color: rgba(24, 119, 242, 0.32);
    background: rgba(24, 119, 242, 0.06);
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 22px 0;
    color: var(--muted);
    font-weight: 800;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--line);
}

.auth-form {
    display: grid;
    gap: 14px;
}

.auth-form label {
    display: grid;
    gap: 7px;
    color: var(--blue-900);
    font-weight: 900;
}

.auth-form input,
.auth-form select {
    min-height: 48px;
    border: 1px solid #bfd0eb;
    border-radius: 8px;
    padding: 0 14px;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    background: #fff;
}

.auth-form input:focus,
.auth-form select:focus {
    outline: none;
    border-color: var(--blue-700);
    box-shadow: 0 0 0 3px rgba(20, 84, 164, 0.14);
}

.auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.auth-submit {
    width: 100%;
    min-height: 50px;
    margin-top: 6px;
}

.auth-help-link {
    justify-self: end;
    color: var(--blue-800);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.auth-help-link:hover {
    text-decoration: underline;
}

.auth-switch {
    margin-top: 18px !important;
    text-align: center;
}

.auth-switch a {
    color: var(--blue-800);
    font-weight: 900;
}

.auth-info {
    padding: 30px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.92), rgba(255, 255, 255, 0.98));
}

.auth-info h2 {
    margin: 0 0 16px;
    color: var(--blue-900);
}

.auth-info ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.auth-info li {
    position: relative;
    padding-left: 22px;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.45;
}

.auth-info li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--green);
}

.auth-account-data {
    display: grid;
    gap: 12px;
    margin: 24px 0;
}

.auth-account-data div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: #f8fbff;
}

.auth-account-data dt {
    color: var(--muted);
    font-weight: 800;
}

.auth-account-data dd {
    margin: 0;
    color: var(--blue-900);
    font-weight: 900;
    text-align: right;
}

.auth-section-head,
.auth-passengers-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 26px 0 12px;
}

.auth-section-head h2,
.auth-passengers-head h2 {
    margin: 0;
    color: var(--blue-900);
    font-size: 22px;
}

.auth-section-head span,
.auth-passengers-head span {
    display: inline-flex;
    min-width: 38px;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 12px;
    color: var(--blue-900);
    font-weight: 900;
    background: var(--blue-100);
}

.auth-booking-list {
    display: grid;
    gap: 12px;
    margin-bottom: 22px;
}

.auth-bookings-panel {
    align-self: start;
}

.auth-bookings-panel[hidden] {
    display: none;
}

.auth-bookings-panel .auth-section-head {
    margin-top: 0;
}

.auth-booking-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 18px 20px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(13, 47, 97, 0.09);
}

.auth-booking-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--blue-700);
}

.auth-booking-card__header {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
}

.auth-booking-reservation {
    display: inline-grid;
    gap: 4px;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 8px 12px;
    background: var(--blue-100);
}

.auth-booking-reservation span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.auth-booking-reservation strong {
    display: block;
    color: var(--blue-900);
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.auth-booking-card__header mark {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 6px 10px;
    color: var(--green-dark);
    font-weight: 900;
    font-size: 12px;
    background: #e8f6ee;
    white-space: nowrap;
}

.auth-booking-card__directions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.auth-booking-direction {
    display: grid;
    gap: 8px;
    border: 1px solid #dce7f6;
    border-radius: 8px;
    padding: 12px;
    background: #f8fbff;
}

.auth-booking-direction__label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.auth-booking-direction__codes {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.auth-booking-direction__codes strong,
.auth-booking-direction__single {
    display: block;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1.1;
    text-align: center;
    background: #fff;
    overflow-wrap: anywhere;
}

.auth-booking-direction__single {
    text-align: left;
}

.auth-booking-direction__arrow {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--blue-100);
}

.auth-booking-direction__arrow::before,
.auth-booking-direction__arrow::after {
    content: "";
    position: absolute;
}

.auth-booking-direction__arrow::before {
    left: 8px;
    right: 8px;
    top: 16px;
    border-top: 2px solid var(--blue-800);
}

.auth-booking-direction__arrow::after {
    right: 8px;
    top: 11px;
    width: 9px;
    height: 9px;
    border-top: 2px solid var(--blue-800);
    border-right: 2px solid var(--blue-800);
    transform: rotate(45deg);
}

.auth-booking-card__date {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    width: max-content;
    max-width: 100%;
    color: var(--muted);
    font-weight: 900;
}

.auth-booking-card__date > span {
    position: relative;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--blue-100);
}

.auth-booking-card__date > span::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 8px;
    width: 14px;
    height: 13px;
    border: 2px solid var(--blue-800);
    border-radius: 4px;
}

.auth-booking-card__date > span::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    top: 13px;
    border-top: 2px solid var(--blue-800);
}

.auth-booking-card__date strong {
    overflow-wrap: anywhere;
}

.auth-booking-card__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.auth-booking-card__meta-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 3px 10px;
    align-items: center;
    border-radius: 8px;
    padding: 12px;
    background: #f8fbff;
}

.auth-booking-card__meta dt {
    grid-column: 2;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.auth-booking-card__meta dd {
    grid-column: 2;
    margin: 0;
    color: var(--blue-900);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.auth-booking-meta-icon {
    position: relative;
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #eaf3ff;
}

.auth-booking-meta-icon::before,
.auth-booking-meta-icon::after {
    content: "";
    position: absolute;
}

.auth-booking-passengers .auth-booking-meta-icon::before {
    left: 12px;
    top: 7px;
    width: 8px;
    height: 8px;
    border: 2px solid var(--blue-800);
    border-radius: 999px;
    background: #fff;
}

.auth-booking-passengers .auth-booking-meta-icon::after {
    left: 9px;
    bottom: 8px;
    width: 14px;
    height: 9px;
    border: 2px solid var(--blue-800);
    border-radius: 999px 999px 6px 6px;
    background: #fff;
}

.auth-booking-payment .auth-booking-meta-icon {
    background: #e8f6ee;
}

.auth-booking-payment--card .auth-booking-meta-icon::before {
    left: 7px;
    top: 10px;
    width: 20px;
    height: 14px;
    border: 2px solid var(--green-dark);
    border-radius: 4px;
    background: #fff;
}

.auth-booking-payment--card .auth-booking-meta-icon::after {
    left: 9px;
    right: 9px;
    top: 14px;
    border-top: 2px solid var(--green-dark);
}

.auth-booking-payment--online .auth-booking-meta-icon::before {
    left: 10px;
    top: 6px;
    width: 14px;
    height: 22px;
    border: 2px solid var(--green-dark);
    border-radius: 5px;
    background: #fff;
}

.auth-booking-payment--online .auth-booking-meta-icon::after {
    left: 15px;
    top: 12px;
    width: 5px;
    height: 9px;
    border-right: 2px solid var(--green-dark);
    border-bottom: 2px solid var(--green-dark);
    transform: skew(-12deg) rotate(26deg);
}

.auth-booking-payment--transfer .auth-booking-meta-icon::before {
    left: 7px;
    top: 7px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 8px solid var(--green-dark);
}

.auth-booking-payment--transfer .auth-booking-meta-icon::after {
    left: 8px;
    right: 8px;
    bottom: 8px;
    height: 10px;
    border-top: 3px solid var(--green-dark);
    border-bottom: 3px solid var(--green-dark);
    background:
        linear-gradient(90deg, var(--green-dark) 0 3px, transparent 3px 7px, var(--green-dark) 7px 10px, transparent 10px 14px, var(--green-dark) 14px 17px);
}

.auth-booking-payment--default .auth-booking-meta-icon::before {
    left: 8px;
    top: 9px;
    width: 18px;
    height: 16px;
    border: 2px solid var(--green-dark);
    border-radius: 5px;
    background: #fff;
}

.auth-booking-payment--default .auth-booking-meta-icon::after {
    right: 7px;
    top: 14px;
    width: 8px;
    height: 6px;
    border: 2px solid var(--green-dark);
    border-radius: 4px;
    background: #fff;
}

.auth-booking-total .auth-booking-meta-icon::before {
    left: 9px;
    top: 7px;
    width: 16px;
    height: 20px;
    border: 2px solid var(--blue-800);
    border-radius: 5px;
    background: #fff;
}

.auth-booking-total .auth-booking-meta-icon::after {
    left: 13px;
    right: 13px;
    top: 13px;
    border-top: 2px solid var(--blue-800);
    box-shadow: 0 5px 0 var(--blue-800);
}

.auth-booking-card__details,
.auth-account-link,
.auth-panel-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--blue-800);
    font-weight: 900;
    text-decoration: none;
}

.auth-booking-card__details:hover,
.auth-account-link:hover,
.auth-panel-back-link:hover {
    text-decoration: underline;
}

.auth-booking-card__details {
    justify-self: start;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 9px 12px;
    color: var(--blue-900);
    background: #fff;
}

.auth-booking-card__details:hover {
    background: var(--blue-100);
    text-decoration: none;
}

.auth-bookings-toolbar {
    display: grid;
    gap: 16px;
    margin-bottom: 18px;
}

.auth-bookings-toolbar .auth-section-head {
    margin-bottom: 0;
}

.auth-booking-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.auth-booking-filters button {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    min-height: 42px;
    border: 1px solid #cfdcf0;
    border-right: 0;
    padding: 0 18px;
    color: var(--blue-900);
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    background: #fff;
    cursor: pointer;
}

.auth-booking-filters button:first-child {
    border-radius: 8px 0 0 8px;
}

.auth-booking-filters button:last-child {
    border-right: 1px solid #cfdcf0;
    border-radius: 0 8px 8px 0;
}

.auth-booking-filters button span {
    display: inline-grid;
    min-width: 24px;
    min-height: 24px;
    place-items: center;
    border-radius: 999px;
    color: var(--blue-900);
    background: var(--blue-100);
}

.auth-booking-filters button.is-active {
    border-color: var(--blue-800);
    color: #fff;
    background: var(--blue-800);
}

.auth-booking-filters button.is-active + button {
    border-left-color: var(--blue-800);
}

.auth-booking-filters button.is-active span {
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.88);
}

.auth-booking-list {
    gap: 16px;
}

.auth-booking-card {
    gap: 18px;
    border-color: #d6e3f4;
    border-radius: 12px;
    padding: 24px 28px;
    box-shadow: 0 18px 42px rgba(16, 49, 94, 0.08);
}

.auth-booking-card::before {
    width: 5px;
    background: var(--blue-700);
}

.auth-booking-card--unpaid::before {
    background: #d92d20;
}

.auth-booking-card__headline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 24px;
    gap: 14px;
    align-items: center;
}

.auth-booking-reservation {
    width: max-content;
    max-width: 100%;
    border-color: transparent;
    padding: 0;
    background: transparent;
}

.auth-booking-reservation span {
    color: var(--muted);
    font-size: 12px;
}

.auth-booking-reservation strong {
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 950;
    text-transform: uppercase;
}

.auth-booking-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 12px;
    font-weight: 900;
    font-size: 13px;
    white-space: nowrap;
}

.auth-booking-status.is-paid {
    color: var(--green-dark);
    background: #e8f6ee;
}

.auth-booking-status.is-unpaid {
    color: #b42318;
    background: #fff1f0;
}

.auth-booking-card__chevron {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 999px;
}

.auth-booking-card__chevron::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--blue-800);
    border-right: 2px solid var(--blue-800);
    transform: rotate(45deg);
}

.auth-booking-itinerary {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    padding: 16px 18px;
    background: #f8fbff;
}

.auth-booking-itinerary__icon {
    display: block;
    width: 86px;
    height: 62px;
    background: url("/assets/img/uapi-travel-route-icon-cropped.png") center / contain no-repeat;
    mix-blend-mode: multiply;
}

.auth-booking-itinerary__content {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.auth-booking-route-chain {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.auth-booking-route-chain strong {
    color: var(--blue-900);
    font-size: 28px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0;
}

.auth-booking-route-chain > span {
    position: relative;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #e8f6ee;
}

.auth-booking-route-chain > span::before,
.auth-booking-route-chain > span::after {
    content: "";
    position: absolute;
}

.auth-booking-route-chain > span::before {
    left: 5px;
    right: 5px;
    top: 9px;
    border-top: 2px solid var(--green-dark);
}

.auth-booking-route-chain > span::after {
    right: 5px;
    top: 5px;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--green-dark);
    border-right: 2px solid var(--green-dark);
    transform: rotate(45deg);
}

.auth-booking-route-legs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.auth-booking-route-legs span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    border: 1px solid #d6e3f4;
    border-radius: 8px;
    padding: 7px 10px;
    color: var(--blue-900);
    font-weight: 900;
    background: #fff;
}

.auth-booking-route-legs b {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.auth-booking-route-legs strong {
    font-size: 14px;
}

.auth-booking-route-legs i {
    position: relative;
    width: 14px;
    height: 14px;
}

.auth-booking-route-legs i::before {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    top: 6px;
    border-top: 2px solid var(--blue-800);
}

.auth-booking-route-legs i::after {
    content: "";
    position: absolute;
    right: 2px;
    top: 3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--blue-800);
    border-right: 2px solid var(--blue-800);
    transform: rotate(45deg);
}

.auth-booking-card__date {
    width: auto;
    color: var(--muted);
    font-size: 17px;
}

.auth-booking-card__date > span {
    border-radius: 8px;
    background: #eef5ff;
}

.auth-booking-card__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: stretch;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    padding: 14px 16px;
    background: #fff;
}

.auth-booking-card__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.auth-booking-card__meta-item {
    grid-template-columns: 42px minmax(0, 1fr);
    border-right: 1px solid #e1eaf6;
    border-radius: 0;
    padding: 0 20px;
    background: transparent;
}

.auth-booking-card__meta-item:first-child {
    padding-left: 0;
}

.auth-booking-card__meta-item:last-child {
    border-right: 0;
}

.auth-booking-card__meta dt {
    font-size: 12px;
}

.auth-booking-card__meta dd {
    font-size: 17px;
    line-height: 1.15;
}

.auth-booking-meta-icon {
    width: 42px;
    height: 42px;
    border-radius: 0;
    background: transparent center / contain no-repeat;
    mix-blend-mode: multiply;
}

.auth-booking-meta-icon::before,
.auth-booking-meta-icon::after {
    display: none;
}

.auth-booking-passengers .auth-booking-meta-icon {
    background-image: url("/assets/img/uapi-passengers-ticket-icon.png");
}

.auth-booking-payment .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    background-image: url("/assets/img/uapi-payment-secure-icon-cutout.png");
}

.auth-booking-card__actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    padding-left: 18px;
    border-left: 1px solid #e1eaf6;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 0 18px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.auth-booking-card__details {
    color: var(--blue-900);
    background: #fff;
}

.auth-booking-card__pay {
    border-color: var(--green);
    color: #fff;
    background: var(--green);
    box-shadow: 0 10px 20px rgba(21, 150, 79, 0.2);
}

.auth-booking-card__details:hover {
    background: var(--blue-100);
}

.auth-booking-card__pay:hover {
    background: var(--green-dark);
}

.auth-booking-filter-empty {
    margin-top: 12px;
}

.auth-account-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
}

.auth-account-link,
.auth-panel-back-link {
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 9px 12px;
    color: var(--blue-900);
    background: #fff;
}

.auth-account-link:hover,
.auth-panel-back-link:hover {
    background: var(--blue-100);
    text-decoration: none;
}

.auth-account-link > span,
.auth-panel-back-link > span {
    position: relative;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
}

.auth-account-link--trips > span::before {
    content: "";
    position: absolute;
    inset: 2px 1px;
    border: 2px solid var(--blue-800);
    border-radius: 4px;
}

.auth-account-link--trips > span::after {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    top: 7px;
    border-top: 2px solid var(--blue-800);
    box-shadow: 0 5px 0 var(--blue-800);
}

.auth-account-link--profile > span::before,
.auth-account-link--profile > span::after {
    content: "";
    position: absolute;
    background: var(--blue-800);
}

.auth-account-link--profile > span::before {
    left: 8px;
    top: 2px;
    width: 2px;
    height: 14px;
}

.auth-account-link--profile > span::after {
    left: 2px;
    top: 8px;
    width: 14px;
    height: 2px;
}

.auth-panel-back-link {
    width: max-content;
    margin-bottom: 18px;
}

.auth-panel-back-link > span::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 5px;
    width: 8px;
    height: 8px;
    border-left: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(45deg);
}

.auth-panel-back-link > span::after {
    content: "";
    position: absolute;
    left: 5px;
    right: 2px;
    top: 9px;
    border-top: 2px solid var(--blue-800);
}

.auth-passenger-list {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.auth-passenger-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: #fff;
}

.auth-passenger-card__summary {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.auth-passenger-card__icon {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: var(--blue-100);
}

.auth-passenger-card__icon::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 9px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--blue-800);
    border-radius: 999px;
    background: #fff;
}

.auth-passenger-card__icon::after {
    content: "";
    position: absolute;
    left: 10px;
    bottom: 8px;
    width: 20px;
    height: 12px;
    border: 2px solid var(--blue-800);
    border-radius: 999px 999px 8px 8px;
    background: #fff;
}

.auth-passenger-card strong,
.auth-passenger-card small,
.auth-passenger-card em {
    display: block;
    overflow-wrap: anywhere;
}

.auth-passenger-card strong {
    color: var(--blue-900);
    font-size: 17px;
}

.auth-passenger-card small,
.auth-passenger-card em {
    margin-top: 4px;
    color: var(--muted);
    font-style: normal;
    font-weight: 800;
}

.auth-passenger-card form {
    display: flex;
    gap: 8px;
}

.auth-passenger-card button,
.auth-profile-cancel {
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 9px 12px;
    color: var(--blue-900);
    font: inherit;
    font-weight: 900;
    background: #fff;
    cursor: pointer;
}

.auth-passenger-card button:hover,
.auth-profile-cancel:hover {
    background: var(--blue-100);
}

.auth-empty {
    border: 1px dashed #bfd0eb;
    border-radius: 8px;
    padding: 14px;
    background: #f8fbff;
}

.auth-passenger-editor {
    align-self: start;
}

.auth-passenger-editor[hidden] {
    display: none;
}

.auth-profile-form {
    margin-top: 18px;
}

.auth-profile-cancel {
    min-height: 44px;
}

@media (max-width: 900px) {
    .auth-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .auth-page--layer {
        align-items: flex-start;
        min-height: calc(100vh - 78px);
        padding: 28px 0 44px;
    }

    .auth-layout--layer .auth-panel {
        padding: 24px;
    }

    .auth-panel,
    .auth-info {
        padding: 22px;
    }

    .auth-form-grid,
    .auth-booking-card__meta,
    .auth-passenger-card,
    .auth-payer-card {
        grid-template-columns: 1fr;
    }

    .auth-account-links {
        display: grid;
    }

    .auth-booking-card__header {
        display: grid;
        align-items: start;
    }

    .auth-booking-card__header mark {
        justify-self: start;
    }

    .auth-booking-direction__codes {
        grid-template-columns: 1fr;
    }

    .auth-booking-direction__arrow {
        justify-self: center;
        transform: rotate(90deg);
    }

    .auth-booking-card__date {
        width: 100%;
    }

    .auth-booking-filters {
        display: grid;
        grid-template-columns: 1fr;
    }

    .auth-booking-filters button,
    .auth-booking-filters button:first-child,
    .auth-booking-filters button:last-child {
        justify-content: space-between;
        border: 1px solid #cfdcf0;
        border-radius: 8px;
    }

    .auth-booking-card {
        padding: 20px;
    }

    .auth-booking-card__headline,
    .auth-booking-card__bottom,
    .auth-booking-itinerary {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__chevron {
        display: none;
    }

    .auth-booking-itinerary__icon {
        width: 76px;
        height: 54px;
    }

    .auth-booking-route-chain strong {
        font-size: 24px;
    }

    .auth-booking-card__meta-item {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
        padding: 12px 0;
    }

    .auth-booking-card__meta-item:last-child {
        border-bottom: 0;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
        padding-left: 0;
        border-left: 0;
    }

    .auth-passenger-card form {
        flex-wrap: wrap;
    }

    .auth-payer-card form {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* Account dashboard polish */
.auth-page {
    padding: 46px 0 76px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at 18% 6%, rgba(20, 84, 164, 0.12), transparent 34%);
}

.auth-layout--account {
    grid-template-columns: minmax(420px, 520px) minmax(620px, 1fr);
    gap: 34px;
}

.auth-layout--account .auth-panel,
.auth-layout--account .auth-info {
    border-color: #dce8f6;
    border-radius: 14px;
    box-shadow: 0 18px 46px rgba(13, 47, 97, 0.1);
}

.auth-layout--account .auth-panel {
    padding: 30px;
}

.auth-account-hero {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-bottom: 24px;
}

.auth-account-avatar {
    position: relative;
    width: 62px;
    height: 62px;
    border-radius: 999px;
    background: #eef5ff;
}

.auth-account-avatar::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 14px;
    width: 14px;
    height: 14px;
    border: 2px solid var(--blue-800);
    border-radius: 999px;
    background: #fff;
}

.auth-account-avatar::after {
    content: "";
    position: absolute;
    left: 17px;
    bottom: 14px;
    width: 24px;
    height: 16px;
    border: 2px solid var(--blue-800);
    border-radius: 999px 999px 8px 8px;
    background: #fff;
}

.auth-account-hero .eyebrow {
    margin: 0 0 6px;
}

.auth-account-hero h1 {
    margin: 0;
    font-size: 29px;
    line-height: 1.1;
}

.auth-account-data {
    overflow: hidden;
    gap: 0;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    background: #fff;
}

.auth-account-data .auth-account-data__row {
    display: grid;
    grid-template-columns: 38px minmax(120px, 1fr) auto;
    gap: 12px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid #e4edf8;
    border-radius: 0;
    padding: 14px 16px;
    background: #fff;
}

.auth-account-data .auth-account-data__row:last-child {
    border-bottom: 0;
}

.auth-account-data__icon {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #eef5ff;
}

.auth-account-data__row--email .auth-account-data__icon::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 10px;
    width: 16px;
    height: 12px;
    border: 2px solid var(--blue-800);
    border-radius: 3px;
    background: #fff;
}

.auth-account-data__row--email .auth-account-data__icon::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    top: 12px;
    height: 8px;
    border-left: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(-45deg);
}

.auth-account-data__row--status .auth-account-data__icon::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 7px;
    width: 14px;
    height: 17px;
    border: 2px solid var(--blue-800);
    border-radius: 8px 8px 6px 6px;
    background: #fff;
}

.auth-account-data__row--status .auth-account-data__icon::after {
    content: "";
    position: absolute;
    left: 13px;
    top: 13px;
    width: 7px;
    height: 4px;
    border-left: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(-45deg);
}

.auth-account-data dt {
    color: var(--muted);
    font-weight: 900;
}

.auth-account-data dd {
    min-width: 0;
    font-size: 15px;
    overflow-wrap: anywhere;
}

.auth-account-status {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border-radius: 999px;
    padding: 0 14px;
    font-weight: 900;
    white-space: nowrap;
}

.auth-account-status.is-verified {
    color: var(--green-dark);
    background: #e8f6ee;
}

.auth-account-status.is-pending {
    color: #b42318;
    background: #fff1f0;
}

.auth-passengers-head {
    border-top: 1px solid #dce8f6;
    padding-top: 26px;
}

.auth-account-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 10px;
}

.auth-account-link {
    justify-content: center;
    min-height: 44px;
    border-radius: 8px;
}

.auth-passenger-list {
    gap: 12px;
}

.auth-passenger-card {
    grid-template-columns: minmax(0, 1fr) auto;
    border-color: #dce8f6;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 10px 26px rgba(13, 47, 97, 0.04);
}

.auth-passenger-card__summary {
    grid-template-columns: 54px minmax(0, 1fr);
}

.auth-passenger-card__icon {
    width: 54px;
    height: 54px;
}

.auth-passenger-card__icon::before {
    left: 19px;
    top: 12px;
}

.auth-passenger-card__icon::after {
    left: 14px;
    bottom: 12px;
}

.auth-passenger-card form {
    align-items: center;
}

.auth-passenger-card button {
    min-height: 44px;
    border-radius: 8px;
}

.auth-passenger-delete {
    position: relative;
    width: 44px;
    padding: 0 !important;
}

.auth-passenger-delete span {
    position: absolute;
    left: 14px;
    top: 13px;
    width: 16px;
    height: 18px;
    border: 2px solid var(--blue-800);
    border-top: 0;
    border-radius: 0 0 4px 4px;
}

.auth-passenger-delete span::before {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    top: -5px;
    border-top: 2px solid var(--blue-800);
}

.auth-passenger-delete span::after {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: -8px;
    border-top: 2px solid var(--blue-800);
}

.auth-profile-cta {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 24px;
    gap: 14px;
    align-items: center;
    border-radius: 10px;
    margin: 22px 0 18px;
    padding: 18px;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg, #0b3572 0%, #1454a4 100%);
    box-shadow: 0 16px 34px rgba(11, 53, 114, 0.2);
}

.auth-profile-cta__icon {
    position: relative;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 8px;
}

.auth-profile-cta__icon::before,
.auth-profile-cta__icon::after {
    content: "";
    position: absolute;
}

.auth-profile-cta__icon::before {
    left: 13px;
    top: 10px;
    width: 18px;
    height: 22px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 4px;
}

.auth-profile-cta__icon::after {
    right: 6px;
    bottom: 7px;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 999px;
    background:
        linear-gradient(#fff, #fff) center / 9px 2px no-repeat,
        linear-gradient(#fff, #fff) center / 2px 9px no-repeat;
}

.auth-profile-cta strong,
.auth-profile-cta small {
    display: block;
}

.auth-profile-cta strong {
    font-size: 16px;
}

.auth-profile-cta small {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.86);
    font-weight: 800;
}

.auth-profile-cta i {
    position: relative;
    width: 24px;
    height: 24px;
}

.auth-profile-cta i::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 6px;
    width: 9px;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

.auth-layout--account .auth-submit {
    margin-top: 0;
}

.auth-bookings-panel {
    background: transparent;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0;
}

.auth-bookings-head h2 {
    font-size: 30px;
}

.auth-booking-card {
    padding: 22px 26px;
}

.auth-booking-card__bottom {
    grid-template-columns: 1fr;
    gap: 14px;
}

.auth-booking-card__meta {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.auth-booking-card__meta-item {
    min-width: 0;
    padding: 0 18px;
}

.auth-booking-card__meta dt,
.auth-booking-card__meta dd {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}

.auth-booking-card__actions {
    justify-content: flex-end;
    width: 100%;
    border-top: 1px solid #e1eaf6;
    border-left: 0;
    padding-top: 14px;
    padding-left: 0;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    min-width: 170px;
}

@media (max-width: 1180px) {
    .auth-layout--account {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .auth-layout--account .auth-panel {
        padding: 24px;
    }

    .auth-account-hero,
    .auth-account-data .auth-account-data__row,
    .auth-account-links,
    .auth-passenger-card,
    .auth-profile-cta {
        grid-template-columns: 1fr;
    }

    .auth-account-data dd {
        text-align: left;
    }

    .auth-account-link {
        justify-content: flex-start;
    }

    .auth-passenger-card form {
        justify-content: flex-start;
    }

    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta-item {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
        padding: 12px 0;
    }

    .auth-booking-card__meta-item:last-child {
        border-bottom: 0;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Account booking cards: reference layout */
.auth-layout--account {
    grid-template-columns: minmax(390px, 500px) minmax(720px, 1fr);
}

.auth-booking-card {
    gap: 14px;
    border-radius: 14px;
    padding: 24px 28px;
}

.auth-booking-card__headline {
    grid-template-columns: minmax(0, 1fr) auto 26px;
}

.auth-booking-reservation span {
    color: #60769a;
    font-size: 12px;
    font-weight: 950;
}

.auth-booking-reservation strong {
    margin-top: 3px;
    color: #0b3572;
    font-size: 13px;
    line-height: 1.1;
}

.auth-booking-status {
    padding: 7px 14px;
}

.auth-booking-status.is-unpaid {
    color: #b42318;
    background: #fff1f0;
}

.auth-booking-card__route {
    display: grid;
    gap: 13px;
    min-width: 0;
}

.auth-booking-route-chain {
    gap: 15px;
}

.auth-booking-route-chain strong {
    color: #061f44;
    font-size: 29px;
    line-height: 1;
}

.auth-booking-route-chain > span {
    width: 22px;
    height: 22px;
    background: #edf8f1;
}

.auth-booking-route-chain > span::before {
    left: 5px;
    right: 5px;
    top: 10px;
    border-top-color: #15964f;
}

.auth-booking-route-chain > span::after {
    right: 5px;
    top: 6px;
    border-top-color: #15964f;
    border-right-color: #15964f;
}

.auth-booking-card__date {
    width: max-content;
    color: #526b89;
    font-size: 16px;
    font-weight: 900;
}

.auth-booking-card__date > span {
    width: 24px;
    height: 24px;
    border-radius: 6px;
}

.auth-booking-card__date > span::before {
    left: 6px;
    top: 6px;
    width: 12px;
    height: 11px;
}

.auth-booking-card__date > span::after {
    left: 8px;
    right: 8px;
    top: 10px;
}

.auth-booking-card__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    padding: 0;
    background: #fff;
}

.auth-booking-card__meta {
    display: grid;
    grid-template-columns: minmax(130px, 0.75fr) minmax(170px, 1fr) minmax(150px, 0.9fr);
    gap: 0;
    min-width: 0;
}

.auth-booking-card__meta-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 3px 12px;
    align-content: center;
    min-width: 0;
    min-height: 66px;
    border-right: 1px solid #e1eaf6;
    padding: 11px 16px;
}

.auth-booking-card__meta dt {
    color: #60769a;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.auth-booking-card__meta dd {
    color: #061f44;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.18;
    overflow-wrap: normal;
    word-break: normal;
}

.auth-booking-total dd {
    font-size: 18px;
}

.auth-booking-meta-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: #eef5ff;
    mix-blend-mode: normal;
}

.auth-booking-meta-icon::before,
.auth-booking-meta-icon::after {
    display: block;
}

.auth-booking-passengers .auth-booking-meta-icon,
.auth-booking-payment .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    background-image: none;
}

.auth-booking-passengers .auth-booking-meta-icon::before {
    left: 11px;
    top: 6px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--blue-800);
    border-radius: 999px;
    background: #fff;
}

.auth-booking-passengers .auth-booking-meta-icon::after {
    left: 8px;
    bottom: 7px;
    width: 13px;
    height: 8px;
    border: 2px solid var(--blue-800);
    border-radius: 999px 999px 6px 6px;
    background: #fff;
}

.auth-booking-payment .auth-booking-meta-icon::before {
    left: 7px;
    top: 9px;
    width: 16px;
    height: 11px;
    border: 2px solid var(--blue-800);
    border-radius: 3px;
    background: #fff;
}

.auth-booking-payment .auth-booking-meta-icon::after {
    left: 9px;
    right: 9px;
    top: 12px;
    border-top: 2px solid var(--blue-800);
}

.auth-booking-total .auth-booking-meta-icon::before {
    left: 8px;
    top: 7px;
    width: 15px;
    height: 17px;
    border: 2px solid var(--blue-800);
    border-radius: 4px;
    background: #fff;
}

.auth-booking-total .auth-booking-meta-icon::after {
    left: 12px;
    right: 12px;
    top: 13px;
    border-top: 2px solid var(--blue-800);
    box-shadow: 0 5px 0 var(--blue-800);
}

.auth-booking-card__actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    min-width: 304px;
    border-top: 0;
    border-left: 1px solid #e1eaf6;
    padding: 12px 16px;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    min-width: 0;
    min-height: 42px;
    padding: 0 18px;
}

.auth-booking-card__details {
    min-width: 154px;
}

.auth-booking-card__pay {
    min-width: 128px;
}

@media (max-width: 1420px) {
    .auth-layout--account {
        grid-template-columns: minmax(360px, 460px) minmax(0, 1fr);
    }

    .auth-booking-card__bottom {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__actions {
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 900px) {
    .auth-layout--account {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .auth-booking-route-chain strong {
        font-size: 24px;
    }

    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta-item {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
    }

    .auth-booking-card__meta-item:last-child {
        border-bottom: 0;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Account booking payment icons and compact-safe footer */
.auth-booking-card__bottom {
    grid-template-columns: 1fr;
    gap: 0;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(165px, 0.8fr) minmax(250px, 1.25fr) minmax(230px, 1fr);
}

.auth-booking-card__meta-item {
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 74px;
    padding: 12px 20px;
}

.auth-booking-card__meta dt {
    font-size: 12px;
}

.auth-booking-card__meta dd {
    font-size: 17px;
    line-height: 1.22;
}

.auth-booking-total dd {
    white-space: nowrap;
}

.auth-booking-payment .auth-booking-meta-icon {
    width: 48px;
    height: 42px;
    border-radius: 0;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    mix-blend-mode: multiply;
}

.auth-booking-payment--card .auth-booking-meta-icon {
    background-image: url("/assets/img/account-payment-card.png");
}

.auth-booking-payment--online .auth-booking-meta-icon {
    background-image: url("/assets/img/account-payment-online-blik.png");
}

.auth-booking-payment--transfer .auth-booking-meta-icon {
    background-image: url("/assets/img/account-payment-transfer.png");
}

.auth-booking-payment--default .auth-booking-meta-icon {
    background-image: url("/assets/img/account-payment-card.png");
}

.auth-booking-payment .auth-booking-meta-icon::before,
.auth-booking-payment .auth-booking-meta-icon::after {
    display: none;
}

.auth-booking-card__actions {
    justify-content: flex-end;
    min-width: 0;
    border-top: 1px solid #e1eaf6;
    border-left: 0;
    padding: 14px 16px;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    min-width: 170px;
}

@media (max-width: 760px) {
    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta-item {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
    }

    .auth-booking-card__meta-item:last-child {
        border-bottom: 0;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .auth-booking-card__details,
    .auth-booking-card__pay {
        width: 100%;
    }
}

/* Account polish: data icons, compact bookings and delete confirmation */
.auth-account-data__icon {
    width: 34px;
    height: 34px;
    border: 1px solid #d7e5f7;
    border-radius: 10px;
    background-color: #ffffff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 39px 39px;
    box-shadow: 0 6px 14px rgba(6, 31, 68, 0.08);
}

.auth-account-data__icon::before,
.auth-account-data__icon::after {
    display: none !important;
}

.auth-account-data__row--email .auth-account-data__icon {
    background-image: url("/assets/img/account-icon-email.png");
}

.auth-account-data__row--status .auth-account-data__icon {
    background-image: url("/assets/img/account-icon-email-status.png");
}

.auth-passenger-delete span {
    left: 7px;
    top: 7px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    background: url("/assets/img/account-icon-delete.png") center / 38px 38px no-repeat;
}

.auth-passenger-delete span::before,
.auth-passenger-delete span::after {
    display: none;
}

.auth-passenger-delete:hover {
    border-color: #ffd2cc;
    background: #fff7f6;
}

.auth-booking-list {
    gap: 16px;
}

.auth-booking-card {
    gap: 10px;
    border-radius: 12px;
    padding: 18px 22px;
    box-shadow: 0 12px 34px rgba(6, 31, 68, 0.08);
}

.auth-booking-card::before {
    width: 4px;
}

.auth-booking-card__headline {
    grid-template-columns: minmax(0, 1fr) auto 22px;
    gap: 12px;
}

.auth-booking-reservation span {
    font-size: 10.5px;
    letter-spacing: 0;
}

.auth-booking-reservation strong {
    margin-top: 2px;
    font-size: 12.5px;
}

.auth-booking-status {
    min-height: 32px;
    padding: 6px 12px;
    font-size: 12px;
}

.auth-booking-card__chevron {
    width: 20px;
    height: 20px;
}

.auth-booking-card__route {
    gap: 8px;
}

.auth-booking-route-chain {
    gap: 12px;
}

.auth-booking-route-chain strong {
    font-size: 24px;
    line-height: 1.05;
}

.auth-booking-route-chain > span {
    width: 20px;
    height: 20px;
}

.auth-booking-card__date {
    gap: 8px;
    font-size: 14px;
}

.auth-booking-card__date > span {
    width: 21px;
    height: 21px;
    border-radius: 6px;
}

.auth-booking-card__date > span::before {
    left: 5px;
    top: 5px;
    width: 11px;
    height: 10px;
}

.auth-booking-card__date > span::after {
    left: 7px;
    right: 7px;
    top: 9px;
}

.auth-booking-card__bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    overflow: hidden;
    border-radius: 10px;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(130px, 0.75fr) minmax(190px, 1.05fr) minmax(170px, 0.9fr);
}

.auth-booking-card__meta-item {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 2px 10px;
    min-height: 58px;
    padding: 9px 14px;
}

.auth-booking-card__meta dt {
    font-size: 10.5px;
    line-height: 1.15;
}

.auth-booking-card__meta dd {
    font-size: 14px;
    line-height: 1.18;
}

.auth-booking-total dd {
    font-size: 15.5px;
    white-space: nowrap;
}

.auth-booking-passengers .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 9px;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 42px 42px;
    box-shadow: none;
}

.auth-booking-passengers .auth-booking-meta-icon::before,
.auth-booking-passengers .auth-booking-meta-icon::after,
.auth-booking-total .auth-booking-meta-icon::before,
.auth-booking-total .auth-booking-meta-icon::after {
    display: none;
}

.auth-booking-passengers .auth-booking-meta-icon {
    background-image: url("/assets/img/account-icon-passengers.png");
}

.auth-booking-total .auth-booking-meta-icon {
    background-image: url("/assets/img/account-icon-total.png");
}

.auth-booking-payment .auth-booking-meta-icon {
    width: 36px;
    height: 30px;
    mix-blend-mode: normal;
}

.auth-booking-card__actions {
    align-items: center;
    min-width: 272px;
    border-top: 0;
    border-left: 1px solid #e1eaf6;
    padding: 10px 12px;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    min-height: 38px;
    border-radius: 8px;
    padding: 0 14px;
    font-size: 13.5px;
}

.auth-booking-card__details {
    min-width: 138px;
}

.auth-booking-card__pay {
    min-width: 112px;
}

body.has-auth-modal {
    overflow: hidden;
}

.auth-confirm-modal[hidden] {
    display: none;
}

.auth-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
}

.auth-confirm-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 22, 50, 0.58);
    backdrop-filter: blur(4px);
}

.auth-confirm-modal__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    width: min(520px, 100%);
    border: 1px solid #dce8f6;
    border-radius: 14px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(4, 22, 50, 0.28);
}

.auth-confirm-modal__icon {
    width: 60px;
    height: 60px;
    border: 1px solid #ffd2cc;
    border-radius: 14px;
    background-color: #fff7f6;
    background-image: url("/assets/img/account-icon-delete.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 74px 74px;
}

.auth-confirm-modal__content p {
    margin: 0 0 6px;
    color: #b42318;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.auth-confirm-modal__content h2 {
    margin: 0;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.16;
}

.auth-confirm-modal__content span {
    display: block;
    margin-top: 8px;
    color: #526b89;
    font-weight: 800;
    line-height: 1.45;
}

.auth-confirm-modal__content strong {
    color: var(--blue-900);
}

.auth-confirm-modal__actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
    border-top: 1px solid #e4edf8;
    padding-top: 18px;
}

.auth-confirm-modal__cancel,
.auth-confirm-modal__submit {
    min-height: 44px;
    border-radius: 8px;
    padding: 0 18px;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.auth-confirm-modal__cancel {
    border: 1px solid #cfdcf0;
    color: var(--blue-900);
    background: #fff;
}

.auth-confirm-modal__cancel:hover {
    border-color: #9db7dd;
    background: #f5f9ff;
}

.auth-confirm-modal__submit {
    border: 1px solid #d92d20;
    color: #fff;
    background: #d92d20;
    box-shadow: 0 12px 24px rgba(217, 45, 32, 0.18);
}

.auth-confirm-modal__submit:hover {
    background: #b42318;
}

@media (max-width: 1420px) {
    .auth-booking-card__bottom {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__actions {
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .auth-booking-card {
        padding: 16px;
    }

    .auth-booking-route-chain strong {
        font-size: 21px;
    }

    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta-item {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .auth-confirm-modal__dialog {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .auth-confirm-modal__actions {
        grid-template-columns: 1fr;
        display: grid;
    }
}

/* Account booking layout fix */
.auth-account-avatar {
    border: 1px solid #d7e5f7;
    border-radius: 16px;
    background: #fff url("/assets/img/account-icon-my-account.png") center / 76px 76px no-repeat;
    box-shadow: 0 10px 24px rgba(6, 31, 68, 0.08);
}

.auth-account-avatar::before,
.auth-account-avatar::after {
    display: none;
}

.auth-booking-card[hidden],
.auth-booking-filter-empty[hidden] {
    display: none !important;
}

.auth-passenger-card__summary {
    grid-template-columns: 58px minmax(0, 1fr);
}

.auth-passenger-card__icon {
    width: 56px;
    height: 56px;
    border: 1px solid #d7e5f7;
    border-radius: 14px;
    background: #fff url("/assets/img/account-icon-passenger-profile.png") center / 70px 70px no-repeat;
    box-shadow: 0 8px 18px rgba(6, 31, 68, 0.08);
}

.auth-passenger-card__icon::before,
.auth-passenger-card__icon::after {
    display: none;
}

.auth-booking-reservation {
    display: inline-grid;
    width: max-content;
    min-width: 122px;
    border: 1px solid #cfe0f5;
    border-radius: 10px;
    padding: 7px 12px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    box-shadow: 0 8px 20px rgba(6, 31, 68, 0.07);
}

.auth-booking-reservation span {
    color: #60769a;
    font-size: 10px;
    line-height: 1.1;
    text-transform: uppercase;
}

.auth-booking-reservation strong {
    margin-top: 4px;
    color: var(--blue-900);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.2px;
}

.auth-booking-card__bottom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(150px, 0.85fr) minmax(210px, 1.05fr) minmax(190px, 0.9fr);
    width: 100%;
}

.auth-booking-card__meta-item {
    grid-template-columns: 32px minmax(0, 1fr);
    overflow: hidden;
    padding: 9px 16px;
}

.auth-booking-card__meta dt,
.auth-booking-card__meta dd {
    min-width: 0;
}

.auth-booking-card__meta dt {
    white-space: nowrap;
}

.auth-booking-card__meta dd {
    overflow: visible;
    text-overflow: clip;
}

.auth-booking-passengers .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    width: 28px;
    height: 28px;
    align-self: center;
    background-size: 31px 31px;
}

.auth-booking-total dt {
    font-size: 10px;
}

.auth-booking-total dd {
    font-size: 14px;
    white-space: nowrap;
}

.auth-booking-card__actions {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    min-width: 0;
    border-top: 1px solid #e1eaf6;
    border-left: 0;
    padding: 10px 14px;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    position: relative;
    z-index: 1;
    min-width: 132px;
    max-width: 100%;
}

.auth-booking-card__pay {
    min-width: 112px;
}

@media (max-width: 1180px) {
    .auth-booking-card__meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .auth-account-avatar {
        background-size: 72px 72px;
    }

    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta dt {
        white-space: normal;
    }

    .auth-booking-card__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Account booking inline actions */
.auth-booking-card__bottom {
    grid-template-columns: minmax(0, 1fr) auto;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(160px, 0.78fr) minmax(230px, 1.08fr) minmax(188px, 0.86fr);
}

.auth-booking-card__meta-item {
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 58px;
    padding: 9px 18px;
}

.auth-booking-card__meta-item:first-child {
    padding-left: 24px;
}

.auth-booking-passengers .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    margin-left: 2px;
}

.auth-booking-total dt {
    white-space: nowrap;
}

.auth-booking-card__actions {
    width: auto;
    min-width: 314px;
    align-self: stretch;
    border-top: 0;
    border-left: 1px solid #e1eaf6;
    padding: 10px 16px;
}

.auth-booking-card__details {
    min-width: 154px;
}

.auth-booking-card__pay {
    min-width: 122px;
}

@media (max-width: 1580px) {
    .auth-booking-card__bottom {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__actions {
        width: 100%;
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__meta-item,
    .auth-booking-card__meta-item:first-child {
        padding-left: 18px;
    }
}

/* Account trips row and single-line booking footer */
.auth-account-data__row--trips .auth-account-data__icon {
    background-image: url("/assets/img/account-icon-my-trips.png");
    background-size: 42px 42px;
}

.auth-account-data .auth-account-data__row--trips {
    display: block;
    padding: 10px 14px;
}

.auth-account-trip-button {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 50px;
    border: 1px solid #cfe0f5;
    border-radius: 10px;
    padding: 8px 12px;
    color: var(--blue-900);
    text-decoration: none;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: 0 8px 18px rgba(6, 31, 68, 0.06);
}

.auth-account-trip-button:hover {
    border-color: #9db7dd;
    background: #f3f8ff;
}

.auth-account-trip-button strong {
    min-width: 0;
    font-size: 16px;
    font-weight: 950;
}

.auth-account-trip-button em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 30px;
    border-radius: 999px;
    color: var(--blue-900);
    font-style: normal;
    font-weight: 950;
    background: #eef5ff;
}

.auth-account-data__link {
    color: var(--blue-900);
    font-weight: 950;
    text-decoration: none;
}

.auth-account-data__link:hover {
    color: var(--blue-700);
}

.auth-account-data__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 30px;
    border-radius: 999px;
    color: var(--blue-900);
    font-weight: 950;
    background: #eef5ff;
}

.auth-account-links {
    grid-template-columns: 1fr;
}

.auth-account-link--profile {
    justify-content: flex-start;
    padding-inline: 18px;
}

.auth-booking-card__bottom {
    grid-template-columns: minmax(0, 1fr) minmax(276px, auto) !important;
    align-items: stretch;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(132px, 0.76fr) minmax(198px, 1.12fr) minmax(168px, 0.9fr);
    min-width: 0;
}

.auth-booking-card__meta-item,
.auth-booking-card__meta-item:first-child {
    grid-template-columns: 28px minmax(0, 1fr);
    min-height: 52px;
    padding: 8px 11px;
}

.auth-booking-card__meta-item:first-child {
    padding-left: 17px;
}

.auth-booking-passengers .auth-booking-meta-icon,
.auth-booking-total .auth-booking-meta-icon {
    width: 25px;
    height: 25px;
    margin-left: 0;
    background-size: 28px 28px;
}

.auth-booking-payment .auth-booking-meta-icon {
    width: 30px;
    height: 25px;
}

.auth-booking-card__meta dt {
    font-size: 9.8px;
}

.auth-booking-card__meta dd {
    font-size: 13px;
}

.auth-booking-total dd {
    font-size: 13px;
}

.auth-booking-card__actions {
    display: flex !important;
    width: auto;
    min-width: 276px;
    align-self: stretch;
    border-top: 0;
    border-left: 1px solid #e1eaf6;
    padding: 8px 10px;
}

.auth-booking-card__details,
.auth-booking-card__pay {
    min-height: 36px;
    padding: 0 12px;
    font-size: 13px;
}

.auth-booking-card__details {
    min-width: 144px;
}

.auth-booking-card__pay {
    min-width: 108px;
}

@media (max-width: 1220px) {
    .auth-booking-card__bottom {
        grid-template-columns: 1fr !important;
    }

    .auth-booking-card__actions {
        width: 100%;
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .auth-booking-card__meta {
        grid-template-columns: 1fr;
    }

    .auth-booking-card__actions {
        display: grid !important;
        grid-template-columns: 1fr;
    }
}

/* Account final proportions and booking controls */
.auth-layout--account {
    grid-template-columns: minmax(340px, 430px) minmax(900px, 1fr);
    gap: 30px;
}

.auth-layout--account .auth-panel {
    padding: 28px;
}

.auth-bookings-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 18px;
    align-items: end;
}

.auth-bookings-head {
    grid-column: 1 / -1;
}

.auth-booking-filters {
    grid-column: 1;
    min-width: 0;
}

.auth-booking-sort {
    grid-column: 2;
    position: relative;
    display: inline-grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-width: 198px;
    min-height: 42px;
    border: 1px solid #cfdcf0;
    border-radius: 8px;
    padding: 0 34px 0 14px;
    color: var(--blue-900);
    background: #fff;
    box-shadow: 0 8px 18px rgba(6, 31, 68, 0.05);
}

.auth-booking-sort::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 16px;
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(45deg);
    pointer-events: none;
}

.auth-booking-sort > span {
    position: relative;
    width: 18px;
    height: 18px;
}

.auth-booking-sort > span::before,
.auth-booking-sort > span::after {
    content: "";
    position: absolute;
}

.auth-booking-sort > span::before {
    left: 3px;
    top: 2px;
    width: 5px;
    height: 13px;
    border-left: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
}

.auth-booking-sort > span::after {
    right: 2px;
    top: 3px;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--blue-800);
    border-right: 2px solid var(--blue-800);
    transform: rotate(45deg);
}

.auth-booking-sort select {
    width: 100%;
    border: 0;
    padding: 0;
    color: var(--blue-900);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    background: transparent;
    appearance: none;
    outline: 0;
}

.auth-booking-card__meta dd,
.auth-booking-total dd {
    font-weight: 500;
}

@media (max-width: 1500px) {
    .auth-layout--account {
        grid-template-columns: minmax(330px, 410px) minmax(0, 1fr);
    }

    .auth-bookings-toolbar {
        grid-template-columns: 1fr;
    }

    .auth-booking-filters,
    .auth-booking-sort {
        grid-column: 1;
    }

    .auth-booking-sort {
        justify-self: end;
    }
}

@media (max-width: 1180px) {
    .auth-layout--account {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .auth-booking-sort {
        justify-self: stretch;
        width: 100%;
    }
}

/* Account readability balance */
.auth-layout--account {
    grid-template-columns: minmax(430px, 500px) minmax(780px, 1fr);
    gap: 32px;
}

.auth-account-data .auth-account-data__row {
    grid-template-columns: 38px minmax(126px, 0.85fr) minmax(170px, auto);
}

.auth-passenger-card {
    grid-template-columns: minmax(210px, 1fr) auto;
    gap: 16px;
}

.auth-passenger-card strong,
.auth-passenger-card small,
.auth-passenger-card em {
    overflow-wrap: normal;
    word-break: normal;
}

.auth-passenger-card em {
    white-space: nowrap;
}

.auth-booking-sort {
    min-width: 238px;
    grid-template-columns: 20px minmax(0, 1fr);
    padding-right: 36px;
}

.auth-booking-sort > span {
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230e448d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 4-3 3 3 3'/%3E%3Cpath d='M5 7h13'/%3E%3Cpath d='m16 20 3-3-3-3'/%3E%3Cpath d='M19 17H6'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}

.auth-booking-sort > span::before,
.auth-booking-sort > span::after {
    display: none;
}

.auth-booking-sort::after {
    right: 14px;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230e448d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
    transform: translateY(-50%);
}

.auth-booking-card__details {
    min-width: 102px;
}

@media (max-width: 1500px) {
    .auth-layout--account {
        grid-template-columns: minmax(410px, 470px) minmax(0, 1fr);
    }
}

@media (max-width: 1180px) {
    .auth-layout--account {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .auth-account-data .auth-account-data__row,
    .auth-passenger-card {
        grid-template-columns: 1fr;
    }
}

/* Account toolbar and compact data balance */
.auth-account-data .auth-account-data__row {
    grid-template-columns: 38px max-content minmax(0, 1fr);
}

.auth-account-data dd {
    min-width: 0;
}

.auth-account-data__row--email dd {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.auth-bookings-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 16px;
    align-items: end;
}

.auth-bookings-head {
    grid-column: 1 / -1;
}

.auth-booking-filters {
    grid-column: 1;
    display: flex;
    flex-wrap: nowrap;
    min-width: 0;
    overflow: hidden;
}

.auth-booking-filters button {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    gap: 8px;
    padding-inline: 12px;
    white-space: nowrap;
}

.auth-booking-filters button span {
    flex: 0 0 auto;
}

.auth-booking-sort {
    grid-column: 2;
    justify-self: end;
    min-width: 238px;
    min-height: 42px;
    grid-template-columns: 20px minmax(0, 1fr);
    padding-right: 36px;
}

.auth-booking-sort > span {
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230e448d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7 4-4 4 4'/%3E%3Cpath d='M12 3v7'/%3E%3Cpath d='m16 17-4 4-4-4'/%3E%3Cpath d='M12 14v7'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}

.auth-booking-sort > span::before,
.auth-booking-sort > span::after {
    display: none;
}

.auth-booking-card__bottom {
    grid-template-columns: minmax(0, 1fr) minmax(264px, auto) !important;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(142px, 0.78fr) minmax(218px, 1fr) minmax(212px, 0.86fr);
}

.auth-booking-card__meta-item {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 2px 10px;
    padding: 8px 12px;
}

.auth-booking-card__meta-item:first-child {
    padding-left: 18px;
}

.auth-booking-total dd {
    font-size: 13px;
    white-space: nowrap;
}

.auth-booking-card__actions {
    min-width: 264px;
    padding-inline: 10px;
}

.auth-booking-card__details {
    min-width: 108px;
}

.auth-booking-card__pay {
    min-width: 112px;
}

@media (max-width: 900px) {
    .auth-bookings-toolbar {
        grid-template-columns: 1fr;
    }

    .auth-booking-filters,
    .auth-booking-sort {
        grid-column: 1;
    }

    .auth-booking-sort {
        justify-self: end;
    }
}

@media (max-width: 1220px) {
    .auth-booking-card__bottom {
        grid-template-columns: 1fr !important;
    }

    .auth-booking-card__actions {
        width: 100%;
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .auth-account-data .auth-account-data__row {
        grid-template-columns: 1fr;
    }

    .auth-account-data__row--email dd {
        text-align: left;
        white-space: normal;
    }

    .auth-booking-filters {
        display: grid;
        grid-template-columns: 1fr;
        overflow: visible;
    }

    .auth-booking-filters button,
    .auth-booking-filters button:first-child,
    .auth-booking-filters button:last-child {
        justify-content: space-between;
        border: 1px solid #cfdcf0;
        border-radius: 8px;
    }

    .auth-booking-sort {
        justify-self: stretch;
        width: 100%;
    }
}

/* Account payer panel, phone row and custom sorting menu */
.auth-layout--account {
    grid-template-columns: minmax(450px, 520px) minmax(780px, 1fr);
}

.auth-account-data .auth-account-data__row {
    grid-template-columns: 38px minmax(110px, auto) minmax(0, 1fr);
}

.auth-account-data dd {
    text-align: right;
}

.auth-account-data__row--email dd,
.auth-account-data__row--phone dd {
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auth-account-data__row--phone .auth-account-data__icon {
    background-image: url("/assets/img/account-icon-phone.png");
    background-size: 30px 30px;
}

.auth-account-contact-edit {
    margin: -10px 0 14px;
    text-align: right;
}

.auth-account-contact-edit summary {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 34px;
    margin-left: auto;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    padding: 0 14px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
    list-style: none;
    cursor: pointer;
    background: #ffffff;
}

.auth-account-contact-edit summary::-webkit-details-marker {
    display: none;
}

.auth-account-contact-edit summary::before {
    display: none;
    content: none;
}

.auth-account-contact-edit[open] summary {
    border-color: #9db7dd;
    background: #f5f9ff;
}

.auth-account-contact-form {
    display: grid;
    gap: 12px;
    margin-top: 12px;
    border: 1px solid #d8e6f7;
    border-radius: 10px;
    padding: 14px;
    background: #fbfdff;
}

.auth-account-contact-form label {
    display: grid;
    gap: 6px;
    color: #5a6d91;
    font-size: 12px;
    font-weight: 850;
}

.auth-account-contact-form input {
    width: 100%;
    border: 1px solid #bad0ee;
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--blue-900);
    font: inherit;
    font-size: 14px;
    background: #ffffff;
}

.auth-account-contact-grid {
    display: grid;
    grid-template-columns: minmax(86px, 0.35fr) minmax(0, 1fr);
    gap: 10px;
}

.auth-account-contact-save {
    justify-self: end;
    min-height: 38px;
    border: 0;
    border-radius: 8px;
    padding: 0 18px;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    background: #159c55;
}

.auth-account-trips-shortcut {
    margin: 10px 0 28px;
}

.auth-account-trips-shortcut .auth-account-data__icon {
    background-image: url("/assets/img/account-icon-my-trips.png");
    background-size: 42px 42px;
}

.auth-payer-head {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #dce8f6;
}

.auth-account-links--payer {
    grid-template-columns: 1fr;
    margin-bottom: 18px;
}

.auth-account-link--payer {
    justify-content: flex-start;
    padding-inline: 18px;
}

.auth-account-link--payer > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--blue-700);
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.auth-account-link--payer > span::before {
    content: "+";
}

.auth-account-link--payer > span::after {
    display: none;
    content: none;
}

.auth-payer-notice {
    margin: 0 0 14px;
}

.auth-payer-editor-notice {
    margin: 18px 0 0;
    border-color: #a8dfbf;
    padding: 18px 20px;
    font-size: 18px;
    line-height: 1.35;
}

.auth-payer-list {
    display: grid;
    gap: 12px;
    margin-bottom: 14px;
}

.auth-payer-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    border: 1px solid #d8e6f7;
    border-radius: 10px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 8px 18px rgba(6, 31, 68, 0.04);
}

.auth-payer-card__summary {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.auth-payer-card form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.auth-payer-card form > button:not(.auth-passenger-delete) {
    min-height: 44px;
    border: 1px solid #c8daf1;
    border-radius: 8px;
    padding: 0 18px;
    color: var(--blue-900);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    background: #fff;
}

.auth-payer-card form > button:not(.auth-passenger-delete):hover {
    border-color: #9db7dd;
    background: #f5f9ff;
}

.auth-payer-card__icon {
    width: 56px;
    height: 56px;
    border: 1px solid #d4e4f8;
    border-radius: 10px;
    background: #f7fbff url("/assets/img/account-icon-payer-profile.png") center / 48px 48px no-repeat;
    box-shadow: 0 8px 18px rgba(6, 31, 68, 0.06);
}

.auth-payer-card strong,
.auth-payer-card small,
.auth-payer-card em {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.auth-payer-card strong {
    color: var(--blue-900);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.2;
}

.auth-payer-card small {
    margin-top: 4px;
    color: #5b6f92;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
}

.auth-payer-card em {
    margin-top: 4px;
    color: #5b6f92;
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.35;
}

.auth-payer-editor[hidden] {
    display: none;
}

.auth-payer-editor {
    padding: 28px;
}

.auth-payer-form {
    gap: 14px;
}

.auth-payer-form[hidden] {
    display: none;
}

.auth-payer-form [hidden] {
    display: none !important;
}

.auth-payer-actions {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    margin-top: 10px;
    border-top: 1px solid #dce8f6;
    padding-top: 18px;
}

.auth-payer-actions .auth-profile-cancel {
    border: 0;
    color: var(--blue-700);
    background: transparent;
}

.auth-bookings-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}

.auth-bookings-head {
    grid-column: 1 / -1;
}

.auth-booking-filters {
    grid-column: 1;
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
}

.auth-booking-sort {
    grid-column: 2;
    cursor: pointer;
}

.auth-booking-sort__button {
    grid-column: 2;
    min-width: 0;
    border: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    white-space: nowrap;
    background: transparent;
    cursor: pointer;
}

.auth-booking-sort__native {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
    pointer-events: none;
}

.auth-booking-sort__menu[hidden] {
    display: none;
}

.auth-booking-sort__menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    right: 0;
    min-width: 100%;
    border: 1px solid #cfdcf0;
    border-radius: 10px;
    padding: 6px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(6, 31, 68, 0.16);
}

.auth-booking-sort__menu button {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--blue-900);
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    text-align: left;
    white-space: nowrap;
    background: transparent;
    cursor: pointer;
}

.auth-booking-sort__menu button:hover,
.auth-booking-sort__menu button:focus-visible,
.auth-booking-sort__menu button.is-active {
    outline: 0;
    background: #eef5ff;
}

.auth-booking-card__bottom {
    grid-template-columns: minmax(0, 1fr) minmax(236px, auto) !important;
}

.auth-booking-card__meta {
    grid-template-columns: minmax(142px, 0.8fr) minmax(216px, 1.1fr) minmax(186px, 0.88fr);
}

.auth-booking-card__meta-item,
.auth-booking-card__meta-item:first-child {
    grid-template-columns: 30px minmax(0, 1fr);
    padding-left: 18px;
}

.auth-booking-card__actions {
    min-width: 236px;
}

.auth-booking-card__details {
    min-width: 92px;
}

.auth-booking-total dd {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 1500px) {
    .auth-layout--account {
        grid-template-columns: minmax(430px, 500px) minmax(0, 1fr);
    }

    .auth-booking-card__bottom {
        grid-template-columns: 1fr !important;
    }

    .auth-booking-card__actions {
        width: 100%;
        min-width: 0;
        border-top: 1px solid #e1eaf6;
        border-left: 0;
    }
}

@media (max-width: 1180px) {
    .auth-layout--account,
    .auth-bookings-toolbar {
        grid-template-columns: 1fr;
    }

    .auth-booking-filters,
    .auth-booking-sort {
        grid-column: 1;
    }

    .auth-booking-sort {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .auth-account-data .auth-account-data__row {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .auth-account-data dt,
    .auth-account-data dd {
        text-align: left;
    }

    .auth-account-data dd {
        grid-column: 2;
    }

    .auth-account-data__row--email dd,
    .auth-account-data__row--phone dd {
        white-space: normal;
    }
}

.airlines-page {
    padding: 52px 0 68px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at 15% 0%, rgba(20, 84, 164, 0.14), transparent 36%);
}

.airlines-page .booking-shell {
    margin: 0 0 28px;
    border: 1px solid rgba(70, 118, 183, 0.55);
    border-radius: 10px;
    padding: 18px;
    background: linear-gradient(135deg, #123f78 0%, #082c5c 100%);
    box-shadow: 0 20px 46px rgba(9, 42, 88, 0.28);
}

.airlines-page .booking-shell .tabs {
    padding: 0 0 12px;
}

.airlines-page .booking-shell .tab {
    border-color: rgba(255, 255, 255, 0.34);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

.airlines-page .booking-shell .tab.is-active {
    border-color: #ffffff;
    color: var(--blue-900);
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(4, 23, 53, 0.22);
}

.airlines-page .booking-shell .travel-class span,
.airlines-page .booking-shell .search-form label > span,
.airlines-page .booking-shell .passenger-picker .field-label {
    color: #ffffff;
}

.airlines-page .booking-shell .travel-class select,
.airlines-page .booking-shell input,
.airlines-page .booking-shell .date-trigger,
.airlines-page .booking-shell .passenger-trigger {
    border-color: rgba(255, 255, 255, 0.78);
    background-color: #ffffff;
}

.airlines-page .booking-shell .search-form {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.11);
}

.airlines-page .booking-shell .swap-airports,
.airlines-page .booking-shell .search-button {
    box-shadow: 0 9px 18px rgba(3, 22, 49, 0.22);
}

.airlines-page .booking-shell .field-error.is-visible,
.airlines-page .booking-shell .passenger-error.is-visible {
    color: #ff6b57;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.airlines-page .booking-shell .has-error input,
.airlines-page .booking-shell .has-error .date-trigger,
.airlines-page .booking-shell .has-error .passenger-trigger {
    border-color: #ff3b30;
    background-color: #fff0f0;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.26), 0 8px 18px rgba(3, 22, 49, 0.18);
}

.airline-detail-page {
    padding: 52px 0 68px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at 15% 0%, rgba(20, 84, 164, 0.14), transparent 36%);
}

.airline-detail-page .booking-shell {
    margin: 0 0 28px;
    border: 1px solid rgba(70, 118, 183, 0.55);
    border-radius: 10px;
    padding: 18px;
    background: linear-gradient(135deg, #123f78 0%, #082c5c 100%);
    box-shadow: 0 20px 46px rgba(9, 42, 88, 0.28);
}

.airline-detail-page .booking-shell .tabs {
    padding: 0 0 12px;
}

.airline-detail-page .booking-shell .tab {
    border-color: rgba(255, 255, 255, 0.34);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

.airline-detail-page .booking-shell .tab.is-active {
    border-color: #ffffff;
    color: var(--blue-900);
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(4, 23, 53, 0.22);
}

.airline-detail-page .booking-shell .travel-class span,
.airline-detail-page .booking-shell .search-form label > span,
.airline-detail-page .booking-shell .passenger-picker .field-label {
    color: #ffffff;
}

.airline-detail-page .booking-shell .travel-class select,
.airline-detail-page .booking-shell input,
.airline-detail-page .booking-shell .date-trigger,
.airline-detail-page .booking-shell .passenger-trigger {
    border-color: rgba(255, 255, 255, 0.78);
    background-color: #ffffff;
}

.airline-detail-page .booking-shell .search-form {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.11);
}

.airline-detail-page .booking-shell .qsf-airline-brand {
    border-color: rgba(255, 255, 255, 0.56);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 9px 18px rgba(3, 22, 49, 0.18);
}

.airline-detail-page .booking-shell .swap-airports,
.airline-detail-page .booking-shell .search-button {
    box-shadow: 0 9px 18px rgba(3, 22, 49, 0.22);
}

.airline-detail-page .booking-shell .field-error.is-visible,
.airline-detail-page .booking-shell .passenger-error.is-visible {
    color: #ff6b57;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.airline-detail-page .booking-shell .has-error input,
.airline-detail-page .booking-shell .has-error .date-trigger,
.airline-detail-page .booking-shell .has-error .passenger-trigger {
    border-color: #ff3b30;
    background-color: #fff0f0;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.26), 0 8px 18px rgba(3, 22, 49, 0.18);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="ryanair" i]) {
    border-color: rgba(246, 198, 40, 0.72);
    background:
        linear-gradient(135deg, rgba(246, 198, 40, 0.16), transparent 34%),
        linear-gradient(135deg, #073b7a 0%, #001f4e 100%);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="wizzair" i]) {
    border-color: rgba(0, 174, 239, 0.62);
    background:
        linear-gradient(135deg, rgba(0, 174, 239, 0.18), transparent 36%),
        linear-gradient(135deg, #c6007e 0%, #5b0b7c 100%);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) {
    border-color: rgba(255, 255, 255, 0.72);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 34%),
        linear-gradient(135deg, #ff6900 0%, #d84f00 100%);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="norwegian" i]) {
    border-color: rgba(255, 255, 255, 0.62);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.13), transparent 34%),
        linear-gradient(135deg, #d71939 0%, #00205b 100%);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="ryanair" i]) .tab.is-active {
    border-color: #f6c628;
    color: #06285a;
    background: #f6c628;
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="wizzair" i]) .tab.is-active {
    border-color: #00aeef;
    color: #2b0640;
    background: #ffffff;
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .tab.is-active,
.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="norwegian" i]) .tab.is-active {
    border-color: #ffffff;
    color: var(--blue-900);
    background: #ffffff;
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="ryanair" i]) .qsf-airline-brand {
    border-color: rgba(246, 198, 40, 0.9);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="wizzair" i]) .qsf-airline-brand {
    border-color: rgba(0, 174, 239, 0.82);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .qsf-airline-brand,
.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="norwegian" i]) .qsf-airline-brand {
    border-color: rgba(255, 255, 255, 0.86);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="ryanair" i]) .search-button {
    color: #06285a;
    background: linear-gradient(180deg, #ffe06a, #f6c628);
    box-shadow: 0 10px 22px rgba(4, 27, 64, 0.28);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="wizzair" i]) .search-button {
    background: linear-gradient(180deg, #24c8ff, #00aeef);
    box-shadow: 0 10px 22px rgba(30, 4, 56, 0.28);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .search-button {
    background: linear-gradient(180deg, #143f7c, #082c5c);
    box-shadow: 0 10px 22px rgba(88, 32, 0, 0.28);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="norwegian" i]) .search-button {
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(180deg, #ff3856, #d71939);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2), 0 12px 24px rgba(44, 2, 11, 0.34);
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .field-error.is-visible,
.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .passenger-error.is-visible {
    display: inline-block;
    border-radius: 4px;
    padding: 2px 6px;
    color: #9f1010;
    background: rgba(255, 255, 255, 0.94);
    text-shadow: none;
}

.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .has-error input,
.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .has-error .date-trigger,
.airline-detail-page .booking-shell:has(.qsf-airline-brand img[src*="easyjet" i]) .has-error .passenger-trigger {
    border-color: #a40000;
    background-color: #fff6f2;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.42), 0 0 0 7px rgba(164, 0, 0, 0.28);
}

.airline-detail-card,
.airline-tech-card {
    border: 1px solid rgba(217, 227, 242, 0.95);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 38px rgba(13, 47, 97, 0.12);
}

.airline-detail-card {
    padding: 28px;
}

.airline-detail-card--header {
    margin-top: 22px;
}

.airline-detail-card--header .airline-detail-head {
    margin-bottom: 0;
}

.airline-info-card {
    margin-top: 22px;
}

.airline-info-card h2 {
    margin: 0 0 18px;
    color: var(--blue-900);
    font-size: 26px;
}

.airline-detail-head {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
}

.airline-detail-logo {
    display: grid;
    place-items: center;
    width: 108px;
    height: 88px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(135deg, var(--blue-100), #fff);
}

.airline-detail-logo img {
    max-width: 88px;
    max-height: 56px;
    object-fit: contain;
}

.airline-detail-logo strong {
    color: var(--blue-800);
    font-size: 24px;
}

.airline-detail-eyebrow {
    margin: 0 0 6px;
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.airline-detail-head h1 {
    margin: 0;
    color: var(--blue-900);
    font-size: 34px;
    line-height: 1.15;
}

.airline-detail-code {
    margin: 8px 0 0;
    color: var(--muted);
}

.airline-detail-body {
    display: grid;
    grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.airline-detail-picture {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(13, 47, 97, 0.14);
}

.airline-detail-text {
    color: var(--ink);
    font-size: 16px;
    line-height: 1.75;
}

.airline-tech-card {
    margin-top: 22px;
    padding: 24px;
}

.airline-tech-card h2,
.airline-promos h2 {
    margin: 0 0 16px;
    color: var(--blue-900);
    font-size: 26px;
}

.airline-tech-card table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.airline-tech-card th,
.airline-tech-card td {
    padding: 13px 16px;
    background: #f7faff;
    border-top: 1px solid rgba(217, 227, 242, 0.9);
    border-bottom: 1px solid rgba(217, 227, 242, 0.9);
    text-align: left;
}

.airline-tech-card th {
    width: 32%;
    color: var(--blue-900);
    font-weight: 800;
    border-left: 1px solid rgba(217, 227, 242, 0.9);
    border-radius: 8px 0 0 8px;
}

.airline-tech-card td {
    color: var(--muted);
    border-right: 1px solid rgba(217, 227, 242, 0.9);
    border-radius: 0 8px 8px 0;
}

.airline-promos {
    margin-top: 28px;
}

.airline-news-card {
    margin-top: 22px;
    padding: 24px;
    border: 1px solid rgba(217, 227, 242, 0.95);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 38px rgba(13, 47, 97, 0.12);
}

.airline-news-card h2 {
    margin: 0 0 16px;
    color: var(--blue-900);
    font-size: 26px;
}

.airline-news-list {
    display: grid;
    gap: 12px;
}

.airline-news-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(217, 227, 242, 0.9);
    border-radius: 8px;
    background: #f7faff;
}

.airline-news-item[hidden] {
    display: none !important;
}

.airline-news-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(217, 227, 242, 0.95);
}

.airline-news-icon::before {
    content: "";
    width: 18px;
    height: 22px;
    border: 2px solid var(--blue-700);
    border-radius: 3px;
    background: linear-gradient(180deg, transparent 34%, rgba(20, 84, 164, 0.14) 34%, rgba(20, 84, 164, 0.14) 44%, transparent 44%);
}

.airline-news-item h3 {
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 18px;
    line-height: 1.25;
}

.airline-news-item h3 a:hover {
    color: var(--blue-700);
}

.airline-news-item p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.airline-news-more {
    display: inline-flex;
    margin-top: 8px;
    color: var(--blue-800);
    font-size: 14px;
    font-weight: 800;
}

.airline-news-more:hover {
    color: var(--green-dark);
}

.airline-news-archive {
    display: inline-flex;
    margin-top: 14px;
    color: var(--blue-800);
    font-size: 15px;
    font-weight: 800;
}

.airline-news-archive[hidden] {
    display: none !important;
}

.airline-news-archive:hover {
    color: var(--green-dark);
}

.news-detail-card {
    padding: 28px;
    border: 1px solid rgba(217, 227, 242, 0.95);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 38px rgba(13, 47, 97, 0.12);
}

.news-detail-top {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-bottom: 22px;
}

.news-detail-top img {
    max-width: 96px;
    max-height: 62px;
    object-fit: contain;
}

.news-detail-top p {
    margin: 0 0 6px;
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.news-detail-top h1 {
    margin: 0;
    color: var(--blue-900);
    font-size: 34px;
    line-height: 1.16;
}

.news-detail-top time {
    display: inline-flex;
    margin-top: 8px;
    color: var(--muted);
    font-size: 14px;
}

.news-detail-picture {
    width: 100%;
    max-height: 420px;
    margin-bottom: 22px;
    border-radius: 8px;
    object-fit: cover;
}

.news-detail-content {
    color: var(--ink);
    font-size: 17px;
    line-height: 1.78;
}

.news-detail-meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 14px;
}

.news-detail-meta a {
    color: var(--blue-800);
    font-weight: 800;
}

.airlines-separator {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 16px 0 22px;
    padding: 8px 0 14px;
    text-align: center;
}

.airlines-separator::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: min(260px, 70%);
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(20, 84, 164, 0.58), transparent);
    transform: translateX(-50%);
}

.airlines-separator h1 {
    margin: 0;
    color: var(--blue-900);
    font-size: 32px;
    line-height: 1.18;
    font-weight: 800;
}

.airline-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.airline-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 104px;
    padding: 16px;
    border: 1px solid rgba(217, 227, 242, 0.92);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 24px rgba(13, 47, 97, 0.09);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.airline-card:hover {
    transform: translateY(-2px);
    border-color: rgba(20, 84, 164, 0.38);
    box-shadow: 0 18px 34px rgba(13, 47, 97, 0.14);
}

.airline-card__logo {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--blue-100), #fff);
    border: 1px solid rgba(217, 227, 242, 0.9);
    overflow: hidden;
}

.airline-card__logo img {
    max-width: 54px;
    max-height: 40px;
    object-fit: contain;
}

.airline-card__logo strong {
    color: var(--blue-800);
    font-size: 19px;
}

.airline-card__content {
    min-width: 0;
}

.airline-card__content strong,
.airline-card__content small {
    display: block;
}

.airline-card__content strong {
    overflow: hidden;
    color: var(--blue-900);
    font-size: 17px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.airline-card__content small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 13px;
}

.airline-card__arrow {
    color: var(--blue-700);
    font-size: 26px;
}

.airlines-empty {
    margin: 18px 0 0;
    padding: 14px 16px;
    border-radius: 8px;
    color: #8a1f1f;
    background: #fff1f1;
    border: 1px solid #ffd4d4;
}

@media (max-width: 1080px) {
    .airline-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .qsf-airline-brand {
        width: 100%;
        grid-column: 1 / -1;
        margin-left: 0;
        min-height: 62px;
        padding: 10px 12px;
        gap: 12px;
        order: 4;
    }

    .qsf-airline-brand span {
        flex-basis: 64px;
        width: 64px;
        height: 42px;
    }

    .qsf-airline-brand img {
        max-width: 64px;
        max-height: 42px;
    }

    .qsf-airline-brand p {
        font-size: 18px;
        white-space: normal;
    }

    .airline-detail-body {
        grid-template-columns: 1fr;
    }

    .airline-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .airlines-page {
        padding: 36px 0 48px;
    }

    .airlines-separator h1 {
        font-size: 26px;
    }

    .qsf-airline-brand {
        min-height: 54px;
        padding: 8px 10px;
        gap: 10px;
    }

    .qsf-airline-brand span {
        flex-basis: 52px;
        width: 52px;
        height: 34px;
    }

    .qsf-airline-brand img {
        max-width: 52px;
        max-height: 34px;
    }

    .qsf-airline-brand p {
        font-size: 16px;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .airline-detail-page {
        padding: 36px 0 48px;
    }

    .airline-detail-card,
    .airline-tech-card,
    .airline-news-card {
        padding: 18px;
    }

    .airline-detail-head {
        grid-template-columns: 1fr;
    }

    .airline-detail-head h1 {
        font-size: 28px;
    }

    .airline-tech-card table,
    .airline-tech-card tbody,
    .airline-tech-card tr,
    .airline-tech-card th,
    .airline-tech-card td {
        display: block;
        width: 100%;
    }

    .airline-tech-card tr {
        margin-bottom: 8px;
    }

    .airline-tech-card th,
    .airline-tech-card td {
        border-left: 1px solid rgba(217, 227, 242, 0.9);
        border-right: 1px solid rgba(217, 227, 242, 0.9);
    }

    .airline-tech-card th {
        border-radius: 8px 8px 0 0;
        border-bottom: 0;
    }

    .airline-tech-card td {
        border-radius: 0 0 8px 8px;
    }

    .airline-news-item {
        grid-template-columns: 1fr;
    }

    .news-detail-card {
        padding: 18px;
    }

    .news-detail-top {
        grid-template-columns: 1fr;
    }

    .news-detail-top h1 {
        font-size: 28px;
    }

    .news-detail-meta {
        flex-direction: column;
    }

    .airline-grid {
        grid-template-columns: 1fr;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--ink);
    background: #f7faff;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(1320px, calc(100% - 36px));
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 30px rgba(12, 46, 96, 0.12);
    backdrop-filter: blur(12px);
}

.header__inner {
    width: min(1320px, calc(100% - 36px));
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.brand {
    display: inline-flex;
    flex: 0 0 auto;
    width: 200px;
    height: 76px;
    align-items: center;
    overflow: hidden;
}

.brand img {
    width: 200px;
    max-width: none;
}

.menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid #cbd7ea;
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.menu-toggle span {
    width: 20px;
    height: 2px;
    border-radius: 99px;
    background: var(--blue-900);
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-left: auto;
    font-weight: 700;
    white-space: nowrap;
}

.main-nav a {
    padding: 25px 0 22px;
    border-bottom: 3px solid transparent;
}

.main-nav .is-active,
.main-nav a:hover {
    color: var(--blue-800);
    border-color: var(--blue-800);
}

.button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 7px;
    padding: 0 22px;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(10, 54, 115, 0.22);
}

.button::after {
    content: "›";
    font-size: 24px;
    line-height: 1;
}

.header-cta::after {
    content: none;
}

.button--green {
    background: linear-gradient(180deg, #20a962, var(--green));
}

.button--green:hover {
    background: linear-gradient(180deg, #1a9b58, var(--green-dark));
}

.button--orange {
    background: linear-gradient(180deg, #ff9a2e, #f26b12);
    box-shadow: 0 10px 22px rgba(198, 83, 8, 0.28);
}

.button--orange:hover {
    background: linear-gradient(180deg, #f5891e, #dc5d0b);
}

.button--blue {
    background: linear-gradient(180deg, #1659b2, #0d438e);
}

.hero {
    position: relative;
    min-height: 585px;
    overflow: visible;
    color: #fff;
}

.hero__media {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(7, 46, 103, 0.76), rgba(15, 82, 163, 0.2) 55%, rgba(5, 40, 86, 0.05)),
        url("../img/hero-plane.png") center / cover;
}

.hero__content {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 66px 0 58px;
    width: min(1320px, calc(100% - 36px));
}

.hero__copy {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
}

.eyebrow {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.hero h1 {
    margin: 0;
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1.05;
    letter-spacing: 0;
    text-shadow: 0 2px 14px rgba(9, 39, 80, 0.35);
}

.hero__copy p:last-child {
    margin: 14px 0 0;
    font-size: 22px;
    font-weight: 800;
}

.booking-shell {
    position: relative;
    z-index: 5;
    align-self: start;
    margin-top: 8px;
    width: 100%;
    max-width: none;
    border-radius: 8px;
    color: var(--ink);
    background: rgba(246, 249, 255, 0.96);
    box-shadow: var(--shadow);
}

.tabs {
    display: flex;
    align-items: end;
    gap: 8px;
    padding: 12px 16px 0;
}

.qsf-airline-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 76px;
    margin-left: auto;
    padding: 12px 20px;
    border: 1px solid rgba(217, 227, 242, 0.95);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--blue-900);
}

.qsf-airline-brand span {
    display: grid;
    place-items: center;
    flex: 0 0 88px;
    width: 88px;
    height: 56px;
}

.qsf-airline-brand img {
    max-width: 88px;
    max-height: 56px;
    object-fit: contain;
}

.qsf-airline-brand strong {
    color: var(--blue-800);
    font-size: 24px;
}

.qsf-airline-brand p {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.tab {
    min-width: 180px;
    border: 1px solid #cbd7ea;
    border-bottom-color: #b7c8e4;
    border-radius: 7px 7px 0 0;
    padding: 11px 26px;
    color: var(--blue-900);
    background: #e7eef9;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.8) inset;
}

.tab:first-child {
    border-top-left-radius: 7px;
}

.tab.is-active {
    color: var(--blue-900);
    background: #d6e5f8;
    border-color: #8da9cf;
    box-shadow: 0 4px 10px rgba(13, 67, 142, 0.1);
    transform: translateY(-1px);
}

.travel-class {
    display: grid;
    gap: 4px;
    min-width: 190px;
    margin-left: 8px;
}

.travel-class span {
    color: var(--blue-900);
    font-size: 12px;
    font-weight: 500;
}

.travel-class select {
    min-height: 42px;
    border: 1px solid #cbd7ea;
    border-radius: 7px 7px 0 0;
    padding: 0 36px 0 14px;
    color: var(--ink);
    background:
        linear-gradient(45deg, transparent 50%, var(--blue-800) 50%) calc(100% - 18px) 18px / 6px 6px no-repeat,
        linear-gradient(135deg, var(--blue-800) 50%, transparent 50%) calc(100% - 12px) 18px / 6px 6px no-repeat,
        #fff;
    font: inherit;
    font-weight: 500;
    appearance: none;
}

.search-form {
    display: grid;
    grid-template-columns: minmax(190px, 1.35fr) 44px minmax(190px, 1.35fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(190px, 1fr) 108px;
    gap: 12px;
    padding: 22px 24px 20px;
    font-family: inherit;
}

.search-form.is-oneway {
    grid-template-columns: minmax(210px, 1.35fr) 44px minmax(210px, 1.35fr) minmax(180px, 1fr) minmax(190px, 1fr) 108px;
}

.search-results-page {
    min-height: calc(100vh - 76px);
    padding: 34px 0 0;
    background: #f4f7fb;
}

.search-results-top {
    display: grid;
    gap: 18px;
}

.search-results-search {
    margin: 0;
    border: 1px solid #dbe6f5;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 48px rgba(12, 46, 96, 0.10);
}

.search-results-container {
    min-height: 420px;
    margin-top: 24px;
    margin-bottom: 34px;
    border: 1px dashed #c5d4e8;
    border-radius: 8px;
    background: #fff;
}

.search-results-placeholder {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 42px 28px;
    color: #60728c;
    text-align: left;
}

.search-results-placeholder__icon {
    width: 54px;
    height: 54px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #0d4e9d;
    background: #edf5ff;
    font-size: 30px;
    font-weight: 800;
}

.search-results-placeholder h2 {
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 22px;
}

.search-results-placeholder p {
    margin: 0;
    max-width: 620px;
    line-height: 1.55;
}

.tf-results,
.tf-results-loading,
.tf-results-error,
.tf-results-empty {
    padding: 28px;
}

.tf-results__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.tf-results__top span {
    display: block;
    margin-bottom: 5px;
    color: #60728c;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.tf-results__top h2,
.tf-results-loading h2,
.tf-results-error h2,
.tf-results-empty h2 {
    margin: 0;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.2;
}

.tf-results__top small {
    color: #60728c;
    font-weight: 700;
    white-space: nowrap;
}

.tf-results__meta {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 2px 0 8px;
    text-align: center;
}

.tf-results__downloads {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.tf-results__download {
    min-height: 34px;
    border: 1px solid #bdd0e8;
    border-radius: 8px;
    padding: 8px 12px;
    background: #fff;
    color: #174a86;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 6px 14px rgba(13, 78, 157, 0.08);
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.tf-results__download:hover,
.tf-results__download:focus-visible {
    border-color: #0d5db8;
    color: #073d7d;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(13, 78, 157, 0.14);
    outline: 0;
}

.tf-flex-dates-button {
    min-height: 38px;
    border: 1px solid #8fb7e8;
    border-radius: 8px;
    padding: 9px 16px;
    background: linear-gradient(180deg, #f5faff, #dcecff);
    color: #0b4f9f;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(13, 78, 157, 0.12), 0 1px 0 rgba(255, 255, 255, 0.75) inset;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
    white-space: nowrap;
}

.tf-flex-dates-button:hover,
.tf-flex-dates-button:focus-visible {
    border-color: #0d5db8;
    background: linear-gradient(180deg, #ffffff, #cfe5ff);
    color: #073d7d;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(13, 78, 157, 0.18), 0 1px 0 rgba(255, 255, 255, 0.85) inset;
    outline: 0;
}

.tf-flex-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(6, 20, 38, 0.58);
}

.has-tf-flex-modal {
    overflow: hidden;
}

.tf-flex-modal__panel {
    width: min(920px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 18px;
    padding: 24px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.24);
}

.tf-flex-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.tf-flex-modal__header h3 {
    margin: 0;
    color: #061f44;
    font-size: 22px;
    font-weight: 950;
}

.tf-flex-modal__header p {
    margin: 4px 0 0;
    color: #60728c;
    font-size: 13px;
    font-weight: 800;
}

.tf-flex-modal__header .tf-flex-modal__route {
    color: #061f44;
    font-size: 14px;
    font-weight: 600;
}

.tf-flex-modal__header button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #f1f6fc;
    cursor: pointer;
}

.tf-flex-modal__header button::before,
.tf-flex-modal__header button::after {
    display: block;
    width: 16px;
    height: 2px;
    margin: -1px auto 0;
    background: #061f44;
    content: "";
}

.tf-flex-modal__header button::before {
    transform: rotate(45deg);
}

.tf-flex-modal__header button::after {
    transform: rotate(-45deg);
}

.tf-flex-modal__status {
    margin-bottom: 14px;
    color: #60728c;
    font-size: 13px;
    font-weight: 900;
}

.tf-flex-modal__status.is-loading::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 999px;
    background: #ffb51e;
    content: "";
    animation: tfPulse 1s ease-in-out infinite;
}

.tf-flex-modal__range {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    color: #061f44;
    font-size: 14px;
    font-weight: 500;
}

.tf-flex-modal__range strong {
    font-weight: 500;
}

.tf-flex-modal__range button {
    width: 34px;
    height: 34px;
    border: 1px solid #d5e3f3;
    border-radius: 999px;
    background: #ffffff;
    color: #183964;
    font-size: 26px;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.tf-flex-modal__range button:hover,
.tf-flex-modal__range button:focus-visible {
    border-color: #ffb51e;
    color: #061f44;
    box-shadow: 0 8px 18px rgba(255, 181, 30, 0.22);
    outline: 0;
}

.tf-flex-price-grid-wrap {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    gap: 10px;
    align-items: stretch;
}

.tf-flex-price-grid-wrap.is-loading {
    overflow: hidden;
    border-radius: 10px;
}

.tf-flex-price-grid-wrap.is-loading .tf-flex-price-grid,
.tf-flex-price-grid-wrap.is-loading .tf-flex-return-nav {
    filter: blur(1.6px);
    opacity: 0.58;
    pointer-events: none;
}

.tf-flex-price-grid-wrap.is-loading::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.74) 44%, transparent 72%),
        linear-gradient(180deg, rgba(241, 247, 255, 0.34), rgba(255, 255, 255, 0.22));
    content: "";
    pointer-events: none;
    transform: translateX(-110%);
    animation: tfFlexWave 1.45s ease-in-out infinite;
}

.tf-flex-price-grid-wrap--single {
    grid-template-columns: minmax(0, 1fr);
}

.tf-flex-price-grid {
    overflow: auto;
    border: 1px solid #dce8f6;
    border-radius: 10px;
}

.tf-flex-price-grid table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.tf-flex-price-grid th,
.tf-flex-price-grid td {
    min-width: 96px;
    border: 1px solid #e6edf6;
    padding: 13px 10px;
    color: #183964;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.tf-flex-price-grid th {
    background: #f7fbff;
    color: #061f44;
    font-weight: 500;
}

.tf-flex-price-grid td.has-price {
    color: #087c38;
}

.tf-flex-price-grid td.has-price button {
    position: relative;
    width: 100%;
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    background: rgba(22, 160, 96, 0.08);
    color: #087c38;
    font: inherit;
    font-weight: 950;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.tf-flex-price-grid td.has-price button.is-cheapest {
    background: rgba(5, 139, 62, 0.1);
    color: #058b3e;
}

.tf-flex-price-grid td.has-price button.is-expensive {
    background: rgba(212, 38, 38, 0.08);
    color: #d42626;
}

.tf-flex-price-grid td.has-price button.is-neutral {
    background: transparent;
    color: #061f44;
}

.tf-flex-price-grid td.has-price button:hover,
.tf-flex-price-grid td.has-price button:focus-visible {
    background: #16a060;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 160, 96, 0.2);
    outline: 0;
}

.tf-flex-price-grid td.is-empty {
    color: #b5c2d1;
    font-weight: 800;
}

.tf-flex-price-grid__return {
    min-width: 118px;
    background: #f7fbff;
}

.tf-flex-price-grid__return-date {
    min-width: 118px;
    background: #f7fbff !important;
    color: #061f44 !important;
    font-weight: 500 !important;
    text-align: center !important;
    white-space: nowrap;
}

.tf-flex-return-nav {
    display: grid;
    grid-template-rows: 42px 1fr 42px;
    align-items: center;
    justify-items: center;
    border: 0;
    border-radius: 10px;
    background: #ffffff;
    color: #061f44;
}

.tf-flex-return-nav strong {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    color: #061f44;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
}

.tf-flex-return-nav button {
    width: 34px;
    height: 34px;
    border: 1px solid #d5e3f3;
    border-radius: 999px;
    background: #ffffff;
    color: #183964;
    font-size: 20px;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.tf-flex-return-nav button:hover,
.tf-flex-return-nav button:focus-visible {
    border-color: #ffb51e;
    color: #061f44;
    box-shadow: 0 8px 18px rgba(255, 181, 30, 0.22);
    outline: 0;
}

.tf-flex-modal__hint {
    margin: 16px 0 0;
    color: #60728c;
    font-size: 13px;
    font-weight: 750;
}

.tf-flex-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
}

.tf-flex-modal__actions button {
    min-width: 96px;
    border: 0;
    border-radius: 9px;
    padding: 12px 16px;
    background: #edf3fa;
    color: #061f44;
    font-size: 14px;
    font-weight: 950;
    cursor: pointer;
}

.tf-flex-modal__actions button:last-child {
    background: #16a060;
    color: #ffffff;
}

@keyframes tfPulse {
    0%,
    100% {
        opacity: 0.45;
        transform: scale(0.9);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

@keyframes tfFlexWave {
    0% {
        transform: translateX(-110%);
    }

    100% {
        transform: translateX(110%);
    }
}

.tf-results__xml {
    flex: 0 0 100%;
    margin-top: 6px;
    color: #0b3974;
    font-size: 12px;
    font-weight: 800;
}

.tf-results__xml summary {
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.tf-results__xml summary::-webkit-details-marker {
    display: none;
}

.tf-results__xml summary::before {
    content: "+";
    display: inline-block;
    margin-right: 6px;
    color: #15803d;
    font-weight: 900;
}

.tf-results__xml[open] summary::before {
    content: "-";
}

.tf-results__xml pre {
    width: min(980px, calc(100vw - 56px));
    max-height: 360px;
    margin: 8px 0 0 auto;
    overflow: auto;
    border: 1px solid #cbdcf1;
    border-radius: 8px;
    padding: 14px;
    color: #143156;
    text-align: left;
    white-space: pre-wrap;
    word-break: break-word;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), 0 14px 34px rgba(13, 47, 97, 0.12);
}

.tf-results-progress {
    position: relative;
    height: 3px;
    margin: -8px 0 18px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5eef8;
}

.tf-results-progress span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -34%;
    width: 34%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255, 181, 30, 0), #ffb51e, rgba(255, 181, 30, 0));
    animation: tfResultsProgress 1.25s ease-in-out infinite;
}

@keyframes tfResultsProgress {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(394%);
    }
}

.tf-results-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.tf-results-main {
    min-width: 0;
}

.tf-results-filters {
    display: grid;
    gap: 10px;
    align-self: start;
    overflow: visible;
    border: 1px solid #d6e2f0;
    border-radius: 8px;
    padding: 0;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(8, 35, 72, 0.08);
}

.tf-results-filters__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid #e6edf6;
    border-radius: 0;
    padding: 16px 18px 13px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: none;
}

.tf-results-filters__head h3 {
    margin: 0;
    color: #061f44;
    font-weight: 900;
    line-height: 1.2;
}

.tf-results-filters__head h3 {
    font-size: 18px;
    letter-spacing: 0;
}

.tf-results-filters__head small {
    border-radius: 999px;
    padding: 4px 9px;
    background: #f1f6fc;
    color: #43627f;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.tf-results-filters__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid #bfd2ea;
    border-radius: 8px;
    padding: 10px 14px;
    background: #ffffff;
    color: #0a4d9b;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.tf-results-filters__reset:hover {
    background: #f7fbff;
    border-color: #7fb2ee;
    color: #061f44;
    box-shadow: none;
}

.tf-results-filters__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border-top: 1px solid #e6edf6;
    padding: 14px 18px 16px;
    background: #ffffff;
}

.tf-results-filters__apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid #0a4d9b;
    border-radius: 8px;
    padding: 10px 14px;
    background: #0a4d9b;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(10, 77, 155, .2);
    transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.tf-results-filters__apply:hover {
    border-color: #073f80;
    background: #073f80;
    box-shadow: 0 12px 26px rgba(10, 77, 155, .26);
}

.tf-active-filters {
    display: grid;
    gap: 9px;
    min-width: 0;
    overflow: hidden;
    border-bottom: 1px solid #e6edf6;
    padding: 13px 18px 15px;
    background: #ffffff;
}

.tf-active-filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.tf-active-filters__head strong {
    color: #061f44;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
}

.tf-active-filters__list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.tf-active-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    border: 0;
    border-radius: 6px;
    padding: 7px 9px;
    background: #0d73df;
    color: #ffffff;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
}

.tf-active-filter span {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-active-filter i {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-style: normal;
    font-weight: 950;
    line-height: 1;
}

.tf-active-filter:hover {
    background: #075bb7;
}

.tf-filter-group {
    display: grid;
    gap: 0;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid #e6edf6;
    border-radius: 0;
    padding-bottom: 0;
    background: #ffffff;
}

.tf-filter-group:last-child {
    padding-bottom: 0;
}

.tf-filter-group__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    border: 0;
    padding: 14px 18px;
    background: transparent;
    color: #061f44;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}

.tf-filter-group__toggle:hover {
    background: #fbfdff;
}

.tf-filter-group__toggle i {
    width: 7px;
    height: 7px;
    border-right: 2px solid #7d95ad;
    border-bottom: 2px solid #7d95ad;
    transform: rotate(45deg);
    transition: transform 0.18s ease;
}

.tf-filter-group__toggle[aria-expanded="true"] i {
    transform: rotate(225deg);
}

.tf-filter-group__body {
    display: grid;
    gap: 2px;
    border-top: 0;
    padding: 0 10px 12px;
    background: #ffffff;
}

.tf-filter-group.is-collapsed .tf-filter-group__body {
    display: none;
}

.tf-filter-option {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    border: 0;
    border-radius: 6px;
    padding: 6px 8px;
    color: #183964;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease;
}

.tf-filter-option:hover {
    border-color: transparent;
    background: #f5f9fd;
}

.tf-filter-option input {
    appearance: none;
    display: inline-block;
    flex: 0 0 auto;
    inline-size: 15px;
    block-size: 15px;
    width: 15px;
    height: 15px;
    min-width: 15px;
    min-height: 0;
    max-width: 15px;
    max-height: 15px;
    box-sizing: border-box;
    border: 1.5px solid #9eb4cc;
    border-radius: 4px;
    margin: 0;
    padding: 0;
    background: #ffffff;
    cursor: pointer;
    line-height: 1;
}

.tf-filter-option input[type="radio"] {
    border-radius: 999px;
}

.tf-filter-option input:checked {
    border-color: #d99a11;
    background: #ffb51e;
    box-shadow: inset 0 0 0 3.5px #ffffff;
}

.tf-filter-option input[type="checkbox"]:checked {
    background:
        linear-gradient(45deg, transparent 44%, #ffffff 44% 62%, transparent 62%) 3px 7px / 5px 5px no-repeat,
        linear-gradient(-45deg, transparent 42%, #ffffff 42% 60%, transparent 60%) 6px 6px / 7px 7px no-repeat,
        #ffb51e;
    box-shadow: none;
}

.tf-filter-option small {
    border-radius: 999px;
    padding: 2px 7px;
    background: transparent;
    color: #7b8ca4;
    font-size: 11px;
    font-weight: 900;
}

.tf-filter-empty {
    margin: 0;
    color: #60728c;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.4;
}

.tf-filter-group--time {
    gap: 0;
}

.tf-time-filter {
    display: grid;
    gap: 8px;
    border-radius: 7px;
    padding: 9px 8px;
    background: #f8fbff;
}

.tf-time-filter__label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    color: #43627f;
    font-size: 12px;
    font-weight: 850;
}

.tf-time-filter__label strong {
    color: #061f44;
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
}

.tf-time-filter__sliders {
    display: grid;
    gap: 4px;
}

.tf-time-filter__sliders input[type="range"] {
    width: 100%;
    height: 16px;
    margin: 0;
    accent-color: #ffb51e;
    cursor: pointer;
}

.tf-time-filter__sliders--dual {
    position: relative;
    display: block;
    height: 30px;
    margin-top: 1px;
    overflow: visible;
}

.tf-time-filter__sliders--dual::before,
.tf-time-filter__sliders--dual::after {
    content: "";
    position: absolute;
    top: 50%;
    height: 5px;
    border-radius: 999px;
    transform: translateY(-50%);
    pointer-events: none;
}

.tf-time-filter__sliders--dual::before {
    right: 0;
    left: 0;
    background: #d6dfec;
}

.tf-time-filter__sliders--dual::after {
    left: var(--tf-time-from, 0%);
    right: calc(100% - var(--tf-time-to, 100%));
    background: #ffb51e;
}

.tf-time-filter__sliders--dual input[type="range"] {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 18px;
    padding: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none;
    color: transparent;
    outline: 0;
    transform: translateY(-50%);
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.tf-time-filter__sliders--dual input[type="range"]:focus {
    outline: 0;
}

.tf-time-filter__sliders--dual input[type="range"]::-webkit-slider-runnable-track {
    height: 5px;
    background: transparent !important;
    border: 0;
    box-shadow: none;
}

.tf-time-filter__sliders--dual input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -6.5px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #6f7482;
    box-shadow: 0 2px 5px rgba(6, 31, 68, 0.28);
    cursor: pointer;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
}

.tf-time-filter__sliders--dual input[type="range"]::-moz-range-track {
    height: 5px;
    background: transparent !important;
    border: 0;
    box-shadow: none;
}

.tf-time-filter__sliders--dual input[type="range"]::-moz-range-progress {
    background: transparent !important;
}

.tf-time-filter__sliders--dual input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #6f7482;
    box-shadow: 0 2px 4px rgba(6, 31, 68, 0.28);
    cursor: pointer;
    pointer-events: auto;
}

.tf-time-filter__sliders--dual input[type="range"]::-moz-focus-outer {
    border: 0;
}

.tf-results-empty--filtered {
    border: 1px dashed #cbdcf1;
    border-radius: 14px;
    background: #fbfdff;
}

@media (max-width: 1180px) {
    .tf-results-layout {
        grid-template-columns: 1fr;
    }

    .tf-results-filters {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .tf-filter-group {
        grid-template-columns: 1fr;
    }

    .tf-filter-group--time {
        grid-template-columns: 1fr;
    }
}

.tf-results-list {
    display: grid;
    gap: 16px;
}

.tf-result-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(560px, 1fr) minmax(190px, 0.28fr);
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #dce8f6;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 16px 38px rgba(12, 46, 96, 0.09);
    transition: none;
}

.tf-result-card:hover {
    transform: none;
    border-color: #dce8f6;
    box-shadow: 0 16px 38px rgba(12, 46, 96, 0.09);
}

.tf-result-card.is-shared-offer {
    border-color: #ffb51e;
    box-shadow: 0 0 0 3px rgba(255, 181, 30, 0.18), 0 18px 42px rgba(12, 46, 96, 0.14);
}

.tf-result-card strong {
    color: var(--blue-900);
    font-size: 18px;
    line-height: 1.2;
}

.tf-result-card span {
    display: block;
    color: #60728c;
    font-size: 12px;
    font-weight: 800;
}

.tf-result-card p {
    margin: 0;
    color: #183964;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.tf-result-card__fare {
    border: 1px solid #bfd5f0;
    border-radius: 999px;
    padding: 6px 10px;
    color: #073b7c;
    background: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: none;
}

.tf-result-card__fares {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    justify-self: start;
    margin-top: 2px;
}

.tf-result-card__fare-variant {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e5eef9;
    border-radius: 999px;
    padding: 6px 10px;
    background: #f7fbff;
    color: #53657d;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;
}

body.has-tf-fare-modal,
body.has-tf-share-modal {
    overflow: hidden;
}

.tf-fare-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(6, 31, 68, 0.54);
    backdrop-filter: blur(8px);
}

.tf-fare-modal__backdrop {
    position: absolute;
    inset: 0;
}

.tf-fare-modal__panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(1080px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(6, 31, 68, 0.28);
}

.tf-fare-modal__header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 30px 20px;
    background: #062f68;
    color: #ffffff;
}

.tf-fare-modal__header > div {
    min-width: 0;
}

.tf-fare-modal__header p {
    margin: 4px 0 0;
    color: #b8d8ff;
    font-size: 13px;
    font-weight: 800;
}

.tf-fare-modal__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: 22px;
    font-weight: 950;
    line-height: 1.2;
}

.tf-fare-modal__close {
    flex: 0 0 auto;
    margin-left: auto;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 12px;
    background: #ffffff;
    color: #061f44;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.tf-fare-modal__body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #f7fbff;
    padding: 24px 30px 0;
}

.tf-fare-modal__carousel {
    position: relative;
}

.tf-fare-modal__choices {
    display: flex;
    gap: 16px;
    min-height: 0;
    margin: 0;
    padding: 2px 4px 28px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
}

.tf-fare-modal__tabs {
    position: sticky;
    top: 0;
    z-index: 4;
    display: flex;
    gap: 10px;
    margin: 0 0 12px;
    padding: 0 4px 12px;
    overflow-x: auto;
    background: #f7fbff;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.tf-fare-modal__tabs::-webkit-scrollbar {
    display: none;
}

.tf-fare-modal__tab {
    flex: 0 0 190px;
    display: grid;
    gap: 4px;
    min-height: 76px;
    border: 1px solid #dbe8f8;
    border-radius: 14px;
    padding: 10px 12px;
    background: #ffffff;
    color: #061f44;
    font: inherit;
    text-align: left;
    cursor: pointer;
    scroll-snap-align: start;
}

.tf-fare-modal__tab span {
    color: #1769aa;
    font-size: 10px;
    font-weight: 950;
    line-height: 1.2;
    text-transform: uppercase;
}

.tf-fare-modal__tab strong {
    min-width: 0;
    color: #061f44;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.15;
}

.tf-fare-modal__tab small {
    color: #52637a;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}

.tf-fare-modal__tab.is-selected {
    border-color: #ffbd2e;
    background: #fffdf4;
    box-shadow: inset 0 0 0 1px rgba(255, 189, 46, 0.7), 0 10px 24px rgba(255, 189, 46, 0.14);
}

.tf-fare-modal__tab.is-recommended:not(.is-selected) {
    border-color: #b9e2cd;
    background: #f1fbf6;
}

.tf-fare-modal__tab.is-recommended span {
    color: #147747;
}

.tf-share-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(6, 31, 68, 0.5);
    backdrop-filter: blur(8px);
}

.tf-share-modal__backdrop {
    position: absolute;
    inset: 0;
}

.tf-share-modal__panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    width: min(560px, calc(100vw - 36px));
    border-radius: 18px;
    padding: 28px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(6, 31, 68, 0.28);
}

.tf-share-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.tf-share-modal__header h2 {
    margin: 0;
    color: #061f44;
    font-size: 22px;
    font-weight: 950;
    line-height: 1.2;
}

.tf-share-modal__close {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    color: #061f44;
    background: #f2f6fc;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.tf-share-modal__close:hover {
    background: #e7eef8;
}

.tf-share-modal__summary {
    display: grid;
    gap: 6px;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    padding: 14px 16px;
    background: #f8fbff;
}

.tf-share-modal__summary strong {
    color: #061f44;
    font-size: 17px;
    font-weight: 950;
    line-height: 1.2;
}

.tf-share-modal__summary span,
.tf-share-modal__summary small {
    color: #53657d;
    font-weight: 800;
    line-height: 1.35;
}

.tf-share-modal__summary span {
    font-size: 14px;
}

.tf-share-modal__summary small {
    font-size: 12px;
}

.tf-share-modal__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 8px 8px 8px 18px;
    background: #f1f5fb;
}

.tf-share-modal__copy span {
    min-width: 0;
    overflow: hidden;
    color: #061f44;
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-share-modal__copy button {
    min-height: 42px;
    border: 0;
    border-radius: 999px;
    padding: 0 22px;
    color: #091f3f;
    background: linear-gradient(180deg, #ffd24a, #ffb51e);
    font: inherit;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(255, 181, 30, 0.26);
}

.tf-share-modal__channels {
    display: grid;
    gap: 4px;
}

.tf-share-channel {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    border-radius: 10px;
    padding: 7px 8px;
    color: #061f44;
    font-weight: 850;
}

.tf-share-channel:hover {
    background: #f5f9fd;
}

.tf-share-channel > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #ffffff;
}

.tf-share-channel svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.tf-share-channel b {
    color: inherit;
    font-size: 15px;
    line-height: 1.2;
}

.tf-share-channel--whatsapp > span {
    background: #24c15d;
}

.tf-share-channel--messenger > span {
    background: #1b74ff;
}

.tf-share-channel--email > span {
    background: #252b33;
}

.tf-share-modal__status {
    min-height: 18px;
    margin: -4px 0 0;
    color: #0d6f3a;
    font-size: 13px;
    font-weight: 850;
}

.tf-fare-modal__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #d7e6f7;
    border-radius: 999px;
    background: #ffffff;
    color: #061f44;
    box-shadow: 0 14px 34px rgba(6, 31, 68, 0.22);
    cursor: pointer;
    transform: translateY(-50%);
}

.tf-fare-modal__nav[hidden] {
    display: none;
}

.tf-fare-modal__nav svg {
    width: 26px;
    height: 26px;
}

.tf-fare-modal__nav--prev {
    left: -20px;
}

.tf-fare-modal__nav--next {
    right: -20px;
}

.tf-fare-modal__nav:disabled {
    opacity: 0.34;
    cursor: default;
}

.tf-fare-choice {
    position: relative;
    flex: 0 0 min(330px, calc(100vw - 84px));
    display: grid;
    align-content: start;
    min-height: 560px;
    padding: 20px 24px 22px;
    border: 1px solid #dbe8f8;
    border-radius: 16px;
    background: #ffffff;
    color: #061f44;
    cursor: pointer;
    overflow: hidden;
    scroll-snap-align: start;
}

.tf-fare-choice.is-recommended {
    border-color: #159455;
    background: linear-gradient(180deg, #eefbf4 0, #ffffff 150px);
    box-shadow: inset 0 0 0 1px rgba(21, 148, 85, 0.45), 0 18px 42px rgba(21, 148, 85, 0.16);
}

.tf-fare-choice.is-recommended::before {
    content: "";
    position: absolute;
    top: 0;
    right: 22px;
    left: 22px;
    height: 6px;
    border-radius: 0 0 999px 999px;
    background: #159455;
    opacity: 0.95;
}

.tf-fare-choice.is-selected {
    border-color: #ffbd2e;
    background: #fffdf4;
    box-shadow: 0 18px 38px rgba(255, 189, 46, 0.14);
}

.tf-fare-choice__badge {
    justify-self: start;
    margin-bottom: 18px;
    padding: 0;
    border-radius: 999px;
    color: #1769aa;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tf-fare-choice.is-recommended .tf-fare-choice__badge {
    padding: 6px 12px;
    background: #159455;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(21, 148, 85, 0.2);
}

.tf-fare-choice.is-selected.is-recommended {
    border-color: #159455;
    background: linear-gradient(180deg, #eefbf4 0, #fffdf4 150px);
    box-shadow: inset 0 0 0 1px rgba(21, 148, 85, 0.55), 0 18px 42px rgba(21, 148, 85, 0.16);
}

.tf-fare-choice__summary {
    display: grid;
    grid-template-columns: 26px auto minmax(0, 1fr);
    align-items: start;
    column-gap: 8px;
    row-gap: 4px;
    padding: 0 0 12px;
}

.tf-fare-choice__radio {
    width: 20px;
    height: 20px;
    border: 1px solid #7aaff5;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: inset 0 0 0 5px #ffffff;
}

.tf-fare-choice.is-selected .tf-fare-choice__radio {
    border-color: #1769aa;
    background: #1769aa;
}

.tf-fare-choice__summary strong {
    grid-column: 2;
    color: #061f44;
    font-size: 23px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.tf-fare-choice__summary small {
    grid-column: 3;
    align-self: start;
    padding-top: 8px;
    color: #52637a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.tf-fare-choice h3 {
    margin: 4px 0 8px;
    color: #061f44;
    font-size: 21px;
    font-weight: 950;
    line-height: 1.2;
}

.tf-fare-choice p {
    margin: 0;
    color: #324763;
    font-size: 15px;
    line-height: 1.45;
}

.tf-fare-choice__details {
    display: grid;
    gap: 20px;
    margin: 28px 0 0;
    padding-top: 22px;
    border-top: 1px solid #dbe8f8;
}

.tf-fare-choice__section {
    display: grid;
    gap: 10px;
}

.tf-fare-choice__section h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #061f44;
    font-size: 16px;
    font-weight: 950;
    line-height: 1.25;
}

.tf-fare-choice__section h4 > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #e8f3ff;
    color: #1769aa;
}

.tf-fare-choice__section h4 > span svg {
    width: 16px;
    height: 16px;
}

.tf-fare-choice__section h4 small {
    color: #52637a;
    font-size: 14px;
    font-weight: 800;
}

.tf-fare-choice__section ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tf-fare-choice__section li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    color: #061f44;
    font-size: 14px;
    line-height: 1.35;
}

.tf-fare-choice__section li > span {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    color: #198b1c;
}

.tf-fare-choice__section li > span svg {
    width: 19px;
    height: 19px;
}

.tf-fare-choice__section li.is-unavailable > span {
    color: #e00046;
}

.tf-fare-choice__section li.is-unavailable b {
    color: #6f7f94;
}

.tf-fare-choice__section li b {
    color: inherit;
    font-size: 15px;
    font-weight: 700;
}

.tf-fare-modal__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 22px 30px 34px;
    border-top: 1px solid #dbe8f8;
    background: #ffffff;
}

.tf-fare-modal__footer strong {
    display: block;
    color: #061f44;
    font-size: 27px;
    font-weight: 950;
    line-height: 1.1;
}

.tf-fare-modal__footer small {
    display: block;
    margin-top: 6px;
    color: #30425a;
    font-size: 13px;
    font-weight: 700;
}

.tf-fare-modal__back,
.tf-fare-modal__submit {
    min-width: 104px;
    height: 50px;
    border-radius: 999px;
    padding: 0 26px;
    font-size: 18px;
    font-weight: 950;
    cursor: pointer;
}

.tf-fare-modal__back {
    border: 1px solid #cfe0f4;
    background: #ffffff;
    color: #061f44;
}

.tf-fare-modal__submit {
    border: 1px solid #ffbd2e;
    background: #ffbd2e;
    color: #061f44;
    box-shadow: 0 14px 30px rgba(255, 189, 46, 0.25);
}

@media (max-width: 640px) {
    .tf-fare-modal {
        align-items: center;
        justify-items: center;
        padding: 12px;
    }

    .tf-fare-modal__panel {
        width: min(430px, calc(100vw - 24px));
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: none;
        border-radius: 18px;
    }

    .tf-fare-modal__header {
        min-height: 72px;
        padding: 14px 16px;
    }

    .tf-fare-modal__header h2 {
        font-size: 19px;
        line-height: 1.1;
    }

    .tf-fare-modal__header p {
        margin-top: 3px;
        font-size: 12px;
    }

    .tf-fare-modal__close {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        font-size: 34px;
    }

    .tf-fare-modal__body {
        padding: 14px 0 0;
    }

    .tf-fare-modal__tabs {
        gap: 8px;
        margin-bottom: 10px;
        padding: 0 16px 10px;
        scroll-padding-inline: 16px;
        -webkit-overflow-scrolling: touch;
    }

    .tf-fare-modal__tab {
        flex-basis: 150px;
        min-height: 70px;
        border-radius: 13px;
        padding: 9px 10px;
    }

    .tf-fare-modal__tab strong {
        font-size: 13px;
    }

    .tf-fare-modal__tab small {
        font-size: 11px;
    }

    .tf-fare-modal__choices {
        gap: 12px;
        padding: 2px 16px 18px;
        overflow-x: auto;
        overflow-y: visible;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .tf-fare-modal__choices::-webkit-scrollbar {
        display: none;
    }

    .tf-fare-modal__nav {
        display: none !important;
    }

    .tf-fare-choice {
        flex: 0 0 min(360px, calc(100vw - 56px));
        min-height: 0;
        border-radius: 16px;
        padding: 16px 18px 18px;
        scroll-snap-align: center;
    }

    .tf-fare-choice__badge {
        margin-bottom: 14px;
        font-size: 10px;
    }

    .tf-fare-choice__summary {
        grid-template-columns: 24px minmax(0, auto) minmax(0, 1fr);
        column-gap: 8px;
        padding-bottom: 10px;
    }

    .tf-fare-choice__summary strong {
        font-size: 22px;
        white-space: nowrap;
    }

    .tf-fare-choice__summary small {
        padding-top: 5px;
        font-size: 11px;
    }

    .tf-fare-choice h3 {
        margin-top: 2px;
        font-size: 19px;
    }

    .tf-fare-choice p {
        font-size: 13px;
    }

    .tf-fare-choice__details {
        gap: 14px;
        margin-top: 18px;
        padding-top: 16px;
    }

    .tf-fare-choice__section {
        gap: 8px;
    }

    .tf-fare-choice__section h4 {
        gap: 8px;
        font-size: 14px;
    }

    .tf-fare-choice__section h4 > span {
        width: 25px;
        height: 25px;
        border-radius: 8px;
    }

    .tf-fare-choice__section h4 small {
        font-size: 12px;
    }

    .tf-fare-choice__section ul {
        gap: 7px;
    }

    .tf-fare-choice__section li {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 7px;
        font-size: 13px;
    }

    .tf-fare-choice__section li > span,
    .tf-fare-choice__section li > span svg {
        width: 18px;
        height: 18px;
    }

    .tf-fare-choice__section li b {
        font-size: 13px;
    }

    .tf-fare-modal__footer {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px 16px max(14px, env(safe-area-inset-bottom));
    }

    .tf-fare-modal__footer strong {
        font-size: 26px;
    }

    .tf-fare-modal__footer small {
        margin-top: 3px;
        font-size: 12px;
    }

    .tf-fare-modal__back,
    .tf-fare-modal__submit {
        width: 100%;
        height: 48px;
        font-size: 16px;
    }
}

.tf-result-card__legs {
    display: grid;
    align-content: center;
    gap: 0;
    padding: 18px 24px 16px;
}

.tf-result-leg {
    display: grid;
    grid-template-columns: minmax(520px, 1fr) minmax(150px, 0.2fr);
    gap: 24px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #e7eff9;
}

.tf-result-leg:last-child {
    border-bottom: 0;
}

.tf-result-leg__main strong {
    display: block;
    margin-bottom: 4px;
    color: var(--blue-900);
    font-size: 17px;
}

.tf-result-leg__main p {
    color: #183964;
    font-size: 13px;
    font-weight: 800;
}

.tf-result-leg__mobile-head,
.tf-result-leg__mobile-meta,
.tf-flight-line__stops,
.tf-flight-line__stop {
    display: none;
}

.tf-flight-point__time,
.tf-flight-point__code,
.tf-flight-line__duration-prefix {
    display: inline;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

.tf-flight-times {
    display: grid;
    grid-template-columns: minmax(170px, 0.3fr) minmax(260px, 0.4fr) minmax(170px, 0.3fr);
    align-items: center;
    gap: 18px;
}

.tf-flight-point {
    display: grid;
    gap: 4px;
    min-width: 0;
    margin: 0;
    text-align: left;
    justify-items: start;
    justify-self: start;
    width: 100%;
}

.tf-flight-point strong {
    margin: 0;
    color: #061f44;
    font-size: 21px;
    line-height: 1.1;
}

.tf-airport-change-tip {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-left: 7px;
    border: 0;
    border-radius: 4px;
    padding: 0;
    background: #1687ff;
    color: #ffffff;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    vertical-align: 2px;
    cursor: help;
}

.tf-airport-change-tip__tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    z-index: 30;
    width: max-content;
    max-width: 280px;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    padding: 10px 12px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(6, 31, 68, 0.18);
    color: #061f44;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    text-align: left;
    transform: translate(-50%, 4px);
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.tf-flight-point:first-child .tf-airport-change-tip__tooltip {
    left: 0;
    transform: translate(0, 4px);
}

.tf-flight-point:last-child .tf-airport-change-tip__tooltip {
    right: 0;
    left: auto;
    transform: translate(0, 4px);
}

.tf-airport-change-tip__tooltip b {
    color: #f97316;
    font-weight: 850;
}

.tf-airport-change-tip::before {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 4px);
    z-index: 31;
    width: 10px;
    height: 10px;
    border-right: 1px solid #dce8f6;
    border-bottom: 1px solid #dce8f6;
    background: #ffffff;
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px) rotate(45deg);
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.tf-airport-change-tip:hover .tf-airport-change-tip__tooltip,
.tf-airport-change-tip:hover::before,
.tf-airport-change-tip:focus-visible .tf-airport-change-tip__tooltip,
.tf-airport-change-tip:focus-visible::before {
    opacity: 1;
    transform: translate(-50%, 0) rotate(0deg);
}

.tf-flight-point:first-child .tf-airport-change-tip:hover .tf-airport-change-tip__tooltip,
.tf-flight-point:first-child .tf-airport-change-tip:focus-visible .tf-airport-change-tip__tooltip,
.tf-flight-point:last-child .tf-airport-change-tip:hover .tf-airport-change-tip__tooltip,
.tf-flight-point:last-child .tf-airport-change-tip:focus-visible .tf-airport-change-tip__tooltip {
    transform: translate(0, 0);
}

.tf-airport-change-tip:hover::before,
.tf-airport-change-tip:focus-visible::before {
    transform: translate(-50%, 0) rotate(45deg);
}

.tf-flight-point small {
    color: #7b8ca4;
    font-size: 12px;
    font-weight: 800;
}

.tf-flight-point em {
    display: block;
    max-width: 240px;
    width: 100%;
    color: #53657d;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
}

.tf-airline-logo {
    justify-self: end;
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    min-height: 42px;
    border: 1px solid #e4edf8;
    border-radius: 10px;
    padding: 7px 10px;
    background: #ffffff;
    box-shadow: 0 6px 16px rgba(12, 46, 96, 0.06);
}

.tf-airline-logo img {
    display: block;
    margin: auto;
    max-width: 72px;
    max-height: 28px;
    object-fit: contain;
}

.tf-flight-line {
    display: grid;
    grid-template-rows: auto 12px auto;
    gap: 5px;
    align-items: center;
    justify-items: center;
    min-width: 260px;
    color: #0f315f;
    text-align: center;
}

.tf-flight-line b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #0f315f;
    font-size: 12px;
    font-weight: 900;
}

.tf-leg-details-toggle {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
}

.tf-leg-details-toggle::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #0d4e9d;
    border-bottom: 2px solid #0d4e9d;
    transform: rotate(45deg);
    transition: transform 0.16s ease, top 0.16s ease;
}

.tf-leg-details-toggle[aria-expanded="true"]::before {
    top: 7px;
    transform: rotate(225deg);
}

.tf-flight-line small {
    color: #7a8ca5;
    font-size: 12px;
    font-weight: 800;
}

.tf-flight-line i {
    display: block;
    position: relative;
    width: 100%;
    height: 1px;
    background: #ffb51e;
}

.tf-result-leg > em {
    justify-self: end;
    border-radius: 8px;
    padding: 7px 10px;
    color: #0f315f;
    background: #f3f7fc;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    text-align: right;
}

.tf-leg-details {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1000;
    display: grid;
    gap: 24px;
    width: min(875px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    overflow: auto;
    border: 0;
    border-radius: 4px;
    padding: 26px 30px 32px;
    background: #ffffff;
    box-shadow:
        0 0 0 9999px rgba(10, 18, 32, 0.42),
        0 28px 80px rgba(12, 46, 96, 0.22);
    transform: translate(-50%, -50%);
}

body.has-tf-leg-details-open {
    overflow: hidden;
}

.tf-leg-details[hidden] {
    display: none;
}

.tf-leg-details__header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    border-bottom: 1px solid #e4e9f0;
    padding-bottom: 24px;
}

.tf-leg-details__header h3 {
    margin: 0;
    color: #0f1f35;
    font-size: 22px;
    line-height: 1.15;
}

.tf-leg-details__header button {
    position: relative;
    order: -1;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

.tf-leg-details__header button::before,
.tf-leg-details__header button::after {
    content: "";
    position: absolute;
    top: 11px;
    left: 1px;
    width: 22px;
    height: 2px;
    background: #0f1f35;
}

.tf-leg-details__header button::before {
    transform: rotate(45deg);
}

.tf-leg-details__header button::after {
    transform: rotate(-45deg);
}

.tf-leg-details__route {
    display: grid;
    gap: 8px;
}

.tf-leg-details__route h4 {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    color: #182436;
    font-size: 21px;
    line-height: 1.2;
}

.tf-leg-details__route h4 span {
    color: #ffb51e;
    font-size: 34px;
    line-height: 0.7;
}

.tf-leg-details__route p {
    margin: 0;
    color: #223145;
    font-size: 15px;
}

.tf-leg-details__route p strong {
    font-weight: 900;
}

.tf-leg-details__route p span {
    margin-left: 14px;
}

.tf-leg-segments {
    display: grid;
    gap: 0;
}

.tf-leg-segment {
    display: grid;
    grid-template-columns: 58px 22px minmax(0, 1fr);
    grid-template-rows: auto minmax(86px, auto) auto;
    column-gap: 16px;
    row-gap: 7px;
    align-items: start;
    background: transparent;
}

.tf-leg-segment__time {
    display: grid;
    gap: 4px;
    color: #1d2b3d;
    text-align: left;
}

.tf-leg-segment__time--depart {
    grid-column: 1;
    grid-row: 1;
}

.tf-leg-segment__time--arrive {
    grid-column: 1;
    grid-row: 3;
}

.tf-leg-segment__time b {
    font-size: 17px;
    font-weight: 900;
    line-height: 1.1;
}

.tf-leg-segment__time small,
.tf-leg-segment__airport small {
    color: #536071;
    font-size: 13px;
    font-weight: 650;
}

.tf-leg-segment__timeline {
    grid-column: 2;
    grid-row: 1 / 4;
    position: relative;
    height: 100%;
    min-height: 100%;
}

.tf-leg-segment__timeline::before,
.tf-leg-segment__timeline::after {
    content: "";
    position: absolute;
    left: 7px;
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ffb51e;
}

.tf-leg-segment__timeline::before {
    top: 3px;
}

.tf-leg-segment__timeline::after {
    bottom: 31px;
}

.tf-leg-segment__timeline i {
    position: absolute;
    top: 12px;
    bottom: 40px;
    left: 11px;
    width: 1px;
    background: #ffb51e;
}

.tf-leg-segment__airport {
    display: grid;
    gap: 4px;
}

.tf-leg-segment__airport--origin {
    grid-column: 3;
    grid-row: 1;
}

.tf-leg-segment__airport--arrival {
    grid-column: 3;
    grid-row: 3;
}

.tf-leg-segment__airport strong {
    color: #111827;
    font-size: 18px;
    line-height: 1.2;
}

.tf-leg-segment__flight {
    grid-column: 3;
    grid-row: 2;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    width: min(560px, 100%);
    margin: 18px 0 14px;
    border: 1px solid #dde6f0;
    border-radius: 14px;
    padding: 14px 18px;
    background: #ffffff;
}

.tf-leg-segment__flight > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
}

.tf-leg-segment__flight .tf-airline-logo {
    border: 0;
    background: transparent;
}

.tf-leg-segment__flight b,
.tf-leg-segment__flight em,
.tf-leg-segment__flight small {
    display: block;
    color: #111827;
    font-size: 14px;
    font-style: normal;
    line-height: 1.45;
}

.tf-leg-segment__flight em {
    font-weight: 900;
}

.tf-leg-segment__flight small {
    color: #536071;
    font-weight: 750;
}

.tf-leg-layover {
    margin-left: 96px;
    width: min(560px, 100%);
    margin-top: 6px;
    margin-bottom: 24px;
    border-radius: 14px;
    padding: 16px 20px;
    background: #e0f4ff;
    color: #213449;
    font-size: 15px;
}

.tf-leg-layover strong {
    color: #111827;
}

.tf-result-card__price {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 9px;
    padding: 22px 20px;
    border-left: 1px dashed #d4e2f3;
    text-align: right;
    background: linear-gradient(180deg, #ffffff, #f9fbff);
}

.tf-result-card__price strong {
    display: block;
    color: #061f44;
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: 0;
}

.tf-result-card__price small {
    max-width: 150px;
    color: #7a8ca5;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.tf-result-card__select {
    border: 0;
    border-radius: 999px;
    min-width: 134px;
    padding: 12px 22px;
    color: #091f3f;
    background: linear-gradient(180deg, #ffd24a, #ffb51e);
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(255, 181, 30, 0.28);
}

.tf-result-card__select:hover {
    background: linear-gradient(180deg, #ffdc68, #ffc133);
}

.tf-result-card__share {
    position: relative;
    display: inline-grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border: 1px solid #cbdcf1;
    border-radius: 50%;
    padding: 0;
    color: #0d4e9d;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(12, 46, 96, 0.08);
}

.tf-result-card__share svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.tf-result-card__share span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.tf-result-card__share:hover {
    border-color: #0d4e9d;
    color: #ffffff;
    background: #0d4e9d;
}

.tf-results-more {
    display: flex;
    justify-content: center;
    padding: 10px 0 4px;
}

.tf-results-more button {
    border: 1px solid #b9cde8;
    border-radius: 999px;
    padding: 13px 24px;
    color: #0b3974;
    background: #ffffff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(12, 46, 96, 0.08);
}

.tf-results-more button:hover {
    border-color: #0d4e9d;
    background: #eef5ff;
}

.tf-results-loading {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    color: #60728c;
}

.tf-results-loading > span {
    width: 50px;
    height: 50px;
    flex: 0 0 auto;
    border: 4px solid #d9e7f8;
    border-top-color: #0d4e9d;
    border-radius: 50%;
    animation: tfSpin 0.9s linear infinite;
}

.tf-results-loading p,
.tf-results-error p,
.tf-results-empty p {
    margin: 8px 0 0;
    color: #60728c;
    line-height: 1.55;
}

.tf-results-error,
.tf-results-empty {
    min-height: 260px;
    display: grid;
    place-content: center;
    text-align: center;
}

.tf-results-empty.is-searching::before {
    content: "";
    width: 42px;
    height: 42px;
    margin: 0 auto 16px;
    border: 4px solid #d9e7f8;
    border-top-color: #0d4e9d;
    border-radius: 50%;
    animation: tfSpin 0.9s linear infinite;
}

.tf-expired-notice {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(4, 18, 38, 0.48);
    backdrop-filter: blur(3px);
}

.tf-expired-notice__panel {
    position: relative;
    display: grid;
    gap: 16px;
    width: min(520px, 100%);
    border: 1px solid #d7e5f6;
    border-left: 7px solid #ffb51e;
    border-radius: 12px;
    padding: 30px 32px 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 22px 58px rgba(9, 31, 68, 0.28);
}

.tf-expired-notice__badge {
    width: fit-content;
    border-radius: 999px;
    padding: 6px 12px;
    background: #fff5d6;
    color: #8a5a00;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tf-expired-notice__panel h2 {
    margin: 0;
    color: #06244d;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.15;
}

.tf-expired-notice__panel p {
    margin: 0;
    color: #4e617a;
    font-size: 16px;
    line-height: 1.55;
}

.tf-expired-notice__panel button {
    justify-self: start;
    min-height: 52px;
    border: 0;
    border-radius: 8px;
    padding: 0 26px;
    background: linear-gradient(180deg, #ffd24a, #ffb51e);
    color: #0f172a;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(255, 181, 30, 0.22);
}

body.has-tf-expired-notice {
    overflow: hidden;
}

@keyframes tfSpin {
    to {
        transform: rotate(360deg);
    }
}

.search-form label {
    display: block;
}

.airport-field {
    position: relative;
}

.airport-field input[data-airport-search] {
    padding-right: 42px;
}

.airport-clear {
    position: absolute;
    right: 12px;
    top: 36px;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: #324966;
    font: inherit;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
}

.airport-clear:hover {
    color: #ffffff;
    background: #183964;
}

.airport-clear[hidden] {
    display: none;
}

.airport-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 70;
    width: min(560px, calc(100vw - 36px));
    overflow: hidden;
    border: 1px solid #cfdaec;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.2);
}

.airport-suggestion {
    width: 100%;
    min-height: 42px;
    display: block;
    border: 0;
    border-bottom: 1px solid #edf2f8;
    padding: 10px 13px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-weight: 500;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.airport-suggestion:hover,
.airport-suggestion.is-active {
    color: var(--blue-900);
    background: #eef5ff;
}

.airport-suggestion:last-child {
    border-bottom: 0;
}

.search-form .return-date[hidden] {
    display: none !important;
}

.search-form label > span {
    display: block;
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.search-form input,
.search-form button {
    font-family: inherit;
}

input {
    width: 100%;
    min-height: 50px;
    border: 1px solid #cbd7ea;
    border-radius: 5px;
    padding: 0 16px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-weight: 500;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.field-error {
    display: none;
    margin-top: 5px;
    color: #b71919;
    font-size: 12px;
    font-weight: 800;
}

.field-error.is-visible {
    display: block;
}

.has-error input,
.has-error .date-trigger,
.has-error .passenger-trigger {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, 0.16), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

input::placeholder {
    color: #6d7fa1;
}

.search-button {
    align-self: start;
    margin-top: 24px;
    width: 108px;
    min-width: 108px;
    min-height: 50px;
    font-size: 18px;
    padding: 0;
}

.search-button::after {
    content: none;
}

.search-button__icon {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
}

.search-button__label {
    display: none;
}

.swap-airports {
    width: 44px;
    height: 50px;
    align-self: start;
    margin-top: 24px;
    border: 1px solid #cbd7ea;
    border-radius: 999px;
    color: var(--blue-800);
    background: #fff;
    font: inherit;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(16, 43, 85, 0.12);
}

.swap-airports:hover {
    color: #fff;
    background: var(--blue-800);
}

.passenger-picker {
    position: relative;
}

.field-label {
    display: block;
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.passenger-trigger {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #cbd7ea;
    border-radius: 5px;
    padding: 0 14px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.passenger-trigger [data-passenger-summary] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.passenger-trigger::after {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-left: auto;
    border-right: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(45deg) translateY(-2px);
}

.passenger-icon {
    font-size: 17px;
}

.passenger-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    right: auto;
    z-index: 30;
    width: 350px;
    max-width: calc(100vw - 36px);
    border: 1px solid #cfdaec;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.2);
    transform: translateX(-50%);
}

.passenger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 4px;
    border-bottom: 1px solid #edf2f8;
}

.passenger-row strong,
.passenger-row small {
    display: block;
}

.passenger-row strong {
    color: var(--blue-900);
}

.passenger-row small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.counter {
    display: grid;
    grid-template-columns: 32px 32px 32px;
    align-items: center;
    gap: 5px;
}

.counter button {
    width: 32px;
    height: 32px;
    border: 1px solid #cbd7ea;
    border-radius: 999px;
    color: var(--blue-800);
    background: #f7faff;
    font: inherit;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.counter button:disabled {
    color: #9aa9c1;
    background: #eef2f8;
    cursor: not-allowed;
}

.counter span {
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    color: var(--ink);
    font-weight: 900;
}

.promo-calendar-summary .counter [data-count] {
    min-height: auto;
    width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.passenger-error {
    display: none;
    margin: 0 0 6px;
    color: #b71919;
    font-size: 12px;
    font-weight: 900;
}

.passenger-error.is-visible {
    display: block;
}

.passenger-ok {
    width: 100%;
    min-height: 38px;
    margin-top: 12px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--blue-800);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.date-trigger {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #cbd7ea;
    border-radius: 5px;
    padding: 0 12px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.date-trigger span {
    min-width: 0;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}

.date-trigger::before {
    content: "▦";
    color: var(--blue-800);
    font-size: 17px;
}

.date-trigger::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: auto;
    border-right: 2px solid var(--blue-800);
    border-bottom: 2px solid var(--blue-800);
    transform: rotate(45deg) translateY(-2px);
}

.calendar-popover {
    position: absolute;
    z-index: 60;
    width: 320px;
    max-width: calc(100vw - 36px);
    border: 1px solid #cfdaec;
    border-radius: 8px;
    padding: 14px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 22px 50px rgba(13, 47, 97, 0.24);
}

.calendar-head {
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.calendar-head strong {
    text-align: center;
    color: var(--blue-900);
    font-size: 15px;
    font-weight: 500;
}

.calendar-head button {
    width: 34px;
    height: 34px;
    border: 1px solid #d8e2f1;
    border-radius: 999px;
    color: var(--blue-800);
    background: #f4f8ff;
    font: inherit;
    font-size: 20px;
    font-weight: 500;
    cursor: pointer;
}

.calendar-head button[hidden] {
    visibility: hidden;
    display: block;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.calendar-weekday {
    color: var(--muted);
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
}

.calendar-day {
    width: 100%;
    aspect-ratio: 1;
    border: 0;
    border-radius: 7px;
    color: var(--ink);
    background: #f7faff;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.calendar-day:hover {
    color: #fff;
    background: var(--blue-800);
}

.calendar-day.is-muted {
    color: #9aa9c1;
    background: #f2f5fa;
}

.calendar-day.is-disabled {
    color: #b9c4d4;
    background: #eef2f7;
    cursor: not-allowed;
    opacity: 0.62;
}

.calendar-day.is-disabled:hover {
    color: #b9c4d4;
    background: #eef2f7;
}

.calendar-day.is-selected {
    color: #fff;
    background: linear-gradient(180deg, #ff9a2e, #f26b12);
    box-shadow: 0 8px 16px rgba(198, 83, 8, 0.24);
}

.quick-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    border-top: 1px solid var(--line);
    padding: 15px 20px;
    color: var(--blue-800);
    font-weight: 800;
}

.quick-links a + a::before {
    content: "·";
    margin-right: 10px;
    color: #91a4c4;
}

.trust-card {
    align-self: start;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: -8px;
    margin-bottom: 8px;
    width: 100%;
    border-radius: 8px;
    padding: 18px 22px;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow);
    font-weight: 500;
}

.trust-card > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.trust-icon {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 28px;
    border: 2px solid #49aa88;
    border-radius: 999px;
    color: #2e8d70;
}

.trust-icon--gold {
    border: 1px solid #efd99b;
    color: #735c1b;
    background: #fff3cf;
}

.trust-icon--blue {
    border-color: #6e90c2;
    color: #315f9e;
}

.iata {
    border-left: 1px solid var(--line);
    padding-left: 18px;
}

.iata img {
    width: 92px;
}

.section {
    padding: 30px 0 24px;
    background: #fff;
}

.section--tight {
    padding-top: 14px;
}

.section--seo {
    padding: 34px 0 42px;
    background: #f7faff;
}

.section h2,
.service-strip h2 {
    margin: 0 0 14px;
    color: var(--blue-900);
    font-size: 28px;
    line-height: 1.15;
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.contact-page {
    padding: 54px 0 64px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.92), rgba(255, 255, 255, 0.96)),
        url("../img/hero-plane.png") center top / cover;
}

.contact-header {
    max-width: 820px;
    margin-bottom: 28px;
}

.contact-header h1 {
    margin: 2px 0 10px;
    color: var(--blue-900);
    font-size: 42px;
    line-height: 1.08;
}

.contact-header p {
    margin: 0;
    color: var(--blue-800);
    font-size: 18px;
    font-weight: 700;
}

.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 22px;
    align-items: start;
}

.contact-card {
    border: 1px solid rgba(207, 218, 236, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.14);
}

.contact-form-card {
    padding: 24px 26px;
}

.contact-card h2 {
    margin: 0 0 12px;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.2;
}

.contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
    align-items: start;
}

.contact-form-alert {
    grid-column: 1 / -1;
    border: 1px solid #f0b7a2;
    border-radius: 7px;
    padding: 12px 14px;
    color: #92310b;
    background: #fff4ef;
    font-size: 14px;
    font-weight: 800;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.16s ease;
}

.contact-form-alert.is-visible {
    visibility: visible;
    opacity: 1;
}

.contact-form-result {
    grid-column: 1 / -1;
    display: none;
    border-radius: 7px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 800;
}

.contact-form-result.is-visible {
    display: block;
}

.contact-form-result.is-success {
    border: 1px solid #a8dec0;
    color: #0f6337;
    background: #eefbf3;
}

.contact-form-result.is-error {
    border: 1px solid #f0b7a2;
    color: #92310b;
    background: #fff4ef;
}

.contact-form label {
    display: grid;
    gap: 3px;
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 800;
}

.contact-form label strong {
    color: #f26b12;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    min-height: 43px;
    border: 1px solid #cfdaec;
    border-radius: 7px;
    padding: 0 14px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-weight: 600;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.contact-form textarea {
    min-height: 118px;
    resize: vertical;
    padding-top: 13px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: var(--blue-700);
    box-shadow: 0 0 0 3px rgba(20, 84, 164, 0.13);
}

.contact-form label.has-error input,
.contact-form label.has-error textarea {
    border-color: #e65f2a;
    background: #fff8f5;
    box-shadow: 0 0 0 3px rgba(230, 95, 42, 0.12);
}

.contact-error {
    min-height: 12px;
    display: block;
    color: #b33a0d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    visibility: hidden;
}

.contact-error.is-visible {
    visibility: visible;
}

.contact-form__message,
.contact-form .button {
    grid-column: 1 / -1;
}

.contact-form .button {
    width: min(280px, 100%);
    min-height: 46px;
    font-size: 16px;
}

.contact-info-card {
    display: grid;
    gap: 18px;
    padding: 26px;
}

.contact-info-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid #dce5f4;
}

.contact-info-icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(180deg, #1b69c9, #0d428c);
    font-size: 25px;
}

.contact-phone {
    display: inline-flex;
    margin: -6px 0 8px;
    color: var(--blue-800);
    font-size: 28px;
    font-weight: 900;
}

.contact-info-card p,
.contact-company p {
    margin: 0 0 6px;
    color: var(--muted);
    font-weight: 700;
}

.contact-info-card strong {
    color: var(--blue-900);
    font-weight: 800;
}

.contact-company {
    padding-top: 2px;
}

.contact-company h2 {
    margin-bottom: 8px;
    font-size: 18px;
}

.about-page {
    padding: 58px 0 70px;
    background:
        radial-gradient(circle at 12% 0%, rgba(47, 128, 237, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(239, 246, 255, 0.94), rgba(255, 255, 255, 0.99)),
        url("../img/hero-plane.png") center top / cover;
}

.about-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 28px;
    align-items: stretch;
    margin-bottom: 26px;
    border: 1px solid rgba(207, 218, 236, 0.7);
    border-radius: 10px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 22px 54px rgba(13, 47, 97, 0.13);
    backdrop-filter: blur(7px);
}

.about-hero h1 {
    max-width: 860px;
    margin: 4px 0 12px;
    color: var(--blue-900);
    font-size: 46px;
    line-height: 1.08;
}

.about-hero p:last-child {
    max-width: 860px;
    margin: 0;
    color: var(--blue-800);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.55;
}

.about-badges,
.about-badge-card,
.about-card,
.about-company-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.14);
}

.about-badges {
    display: grid;
    gap: 14px;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.about-badge-card {
    min-height: 100%;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 10px;
    padding: 28px 24px;
    text-align: center;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.96);
}

.about-badge-card img {
    max-width: 220px;
    max-height: 66px;
    object-fit: contain;
}

.about-badge-card--iata img {
    width: 190px;
    filter: brightness(1.14) contrast(1.08);
}

.about-badge-card strong {
    font-size: 18px;
    line-height: 1.2;
}

.about-pfr-panel {
    margin-top: 30px;
    border-top: 1px solid #dce5f4;
    padding-top: 24px;
}

.about-pfr-panel img {
    display: block;
    width: min(100%, 860px);
    margin-top: 14px;
    border: 1px solid rgba(207, 218, 236, 0.9);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.12);
}

.about-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr);
    gap: 22px;
    align-items: start;
}

.about-card,
.about-company-card {
    padding: 30px;
}

.about-card h2,
.about-company-card h2 {
    margin: 0 0 12px;
    color: var(--blue-900);
    font-size: 25px;
    line-height: 1.2;
}

.about-card h2:not(:first-child),
.about-company-card h3 {
    margin-top: 26px;
}

.about-company-card h3 {
    margin-bottom: 10px;
    color: var(--blue-900);
    font-size: 18px;
    line-height: 1.25;
}

.about-card p,
.about-company-card p {
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
}

.about-card h2::after,
.about-company-card h2::after,
.about-company-card h3::after {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    margin-top: 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f26b12, #1558ad);
}

.about-company-card dl {
    display: grid;
    gap: 9px;
    margin: 0 0 18px;
}

.about-company-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #dce5f4;
    padding-bottom: 9px;
}

.about-company-card dt {
    color: var(--muted);
    font-weight: 800;
}

.about-company-card dd {
    margin: 0;
    color: var(--blue-900);
    font-weight: 900;
}

.business-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.14);
}

.business-visual img {
    width: min(100%, 280px);
    height: auto;
    object-fit: contain;
}

.business-card p {
    max-width: 900px;
}

.business-closing {
    margin-top: 26px;
    border: 1px solid rgba(242, 107, 18, 0.28);
    border-radius: 8px;
    padding: 16px 18px;
    color: var(--blue-900);
    background: linear-gradient(135deg, rgba(242, 107, 18, 0.1), rgba(21, 88, 173, 0.08));
    font-size: 18px;
    font-weight: 900;
}

.business-benefits ul {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.business-benefits li {
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 15px;
    background: #f7faff;
}

.business-benefits strong,
.business-benefits span {
    display: block;
}

.business-benefits strong {
    color: var(--blue-900);
    font-size: 16px;
    line-height: 1.25;
}

.business-benefits span {
    margin-top: 5px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.legal-page {
    padding: 54px 0 66px;
    background:
        linear-gradient(180deg, rgba(239, 246, 255, 0.95), rgba(255, 255, 255, 0.99)),
        url("../img/hero-plane.png") center top / cover;
}

.legal-hero {
    margin-bottom: 22px;
    border: 1px solid rgba(207, 218, 236, 0.78);
    border-radius: 10px;
    padding: 28px 30px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 18px 44px rgba(13, 47, 97, 0.12);
    backdrop-filter: blur(6px);
}

.legal-hero h1 {
    margin: 4px 0 10px;
    color: var(--blue-900);
    font-size: 42px;
    line-height: 1.1;
}

.legal-hero p:last-child {
    max-width: 900px;
    margin: 0;
    color: var(--blue-800);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.legal-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 30px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.14);
}

.legal-card .content-main > div {
    padding: 0 !important;
}

.legal-card h3,
.legal-card h4 {
    margin: 24px 0 10px;
    color: var(--blue-900);
    line-height: 1.25;
}

.legal-card h3 {
    font-size: 26px;
}

.legal-card h4 {
    font-size: 19px;
}

.legal-card p,
.legal-card div {
    color: var(--muted);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.66;
}

.legal-card ol {
    margin: 14px 0 0;
    padding-left: 26px;
}

.legal-card li {
    margin: 0 0 18px;
    padding-left: 6px;
}

.legal-card li::marker {
    color: var(--blue-800);
    font-weight: 900;
}

.airports-page {
    padding: 54px 0 66px;
    background: #f7faff;
}

.airports-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 22px;
    align-items: stretch;
    margin-bottom: 24px;
    border: 1px solid rgba(207, 218, 236, 0.78);
    border-radius: 10px;
    padding: 28px 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(239, 246, 255, 0.9)),
        url("../img/hero-plane.png") center / cover;
    box-shadow: 0 18px 44px rgba(13, 47, 97, 0.12);
}

.airports-hero h1 {
    margin: 4px 0 10px;
    color: var(--blue-900);
    font-size: 42px;
    line-height: 1.1;
}

.airport-detail-hero {
    grid-template-columns: 1fr;
}

.airports-hero p:last-child {
    max-width: 900px;
    margin: 0;
    color: var(--blue-800);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.airports-hero__stat {
    display: grid;
    align-content: center;
    justify-items: center;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 18px;
    text-align: center;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.96);
}

.airports-hero__stat strong {
    font-size: 42px;
    line-height: 1;
}

.airports-hero__stat span {
    margin-top: 7px;
    color: var(--muted);
    font-weight: 800;
}

.airport-country-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.airport-country-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 26px rgba(13, 47, 97, 0.08);
}

.airport-country-card h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    border-bottom: 1px solid #dce5f4;
    padding: 14px 16px;
    color: var(--blue-900);
    background: #f3f7ff;
    font-size: 20px;
    line-height: 1.2;
}

.airport-country-card h2 small {
    flex: 0 0 auto;
    border: 1px solid #dce5f4;
    border-radius: 999px;
    padding: 5px 9px;
    color: var(--blue-800);
    background: #fff;
    font-size: 12px;
    font-weight: 900;
}

.airport-list {
    display: grid;
}

.airport-list-item {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #e3ebf6;
    padding: 11px 16px;
    color: var(--blue-900);
    transition: background 150ms ease, transform 150ms ease;
}

.airport-list-item:hover {
    background: #f1f6ff;
    transform: translateX(3px);
}

.airport-list-item:last-child {
    border-bottom: 0;
}

.airport-list-icon {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff3ea;
    box-shadow: inset 0 0 0 1px rgba(242, 107, 18, 0.32);
}

.airport-list-icon::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #f26b12;
}

.airport-list-item strong,
.airport-list-item small {
    display: block;
}

.airport-list-item strong {
    font-size: 15px;
    line-height: 1.25;
}

.airport-list-item small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.airports-empty {
    border: 1px solid #f0b7a2;
    border-radius: 8px;
    padding: 18px;
    color: #92310b;
    background: #fff4ef;
    font-weight: 800;
}

.airport-detail-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.1);
}

.airport-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: 18px;
    align-items: start;
}

.airport-detail-card h2 {
    margin: 0 0 10px;
    color: var(--blue-900);
    font-size: 26px;
}

.airport-detail-card p,
.airport-rich-text,
.airport-side-card p,
.airport-connections-card p {
    max-width: 820px;
    margin: 0;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.6;
}

.airport-info-section {
    margin-top: 22px;
    border-top: 1px solid #e3ebf6;
    padding-top: 18px;
}

.airport-info-section h3,
.airport-side-card h2,
.airport-connections-card h2 {
    margin: 0 0 10px;
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1.25;
}

.airport-www {
    display: inline-flex;
    margin-top: 20px;
    color: var(--blue-800);
    font-weight: 900;
}

.airport-booking-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 14px;
    border-radius: 7px;
    padding: 0 16px;
    color: #fff;
    background: linear-gradient(180deg, #1558ad, #0d428c);
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(13, 47, 97, 0.16);
}

.airport-booking-link:hover {
    background: linear-gradient(180deg, #1a66c5, #0d428c);
}

.airport-side-card,
.airport-connections-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.1);
}

.airport-side-list,
.airport-connection-list {
    display: grid;
    gap: 8px;
}

.airport-side-list a,
.airport-connection-list a {
    border: 1px solid #dce5f4;
    border-radius: 7px;
    padding: 10px 12px;
    color: var(--blue-900);
    background: #f7faff;
    font-weight: 800;
    line-height: 1.35;
}

.airport-side-list a:hover,
.airport-connection-list a:hover {
    border-color: rgba(20, 84, 164, 0.36);
    background: #eef5ff;
}

.airport-connections-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.airport-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.connection-detail-page {
    padding: 34px 0 54px;
    background: linear-gradient(180deg, #f4f8ff 0%, #fff 45%, #f7fbff 100%);
}

.connection-route-hero {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 26px 28px;
    color: var(--blue-900);
    background: linear-gradient(135deg, rgba(244, 248, 255, 0.98), rgba(255, 255, 255, 0.96));
    box-shadow: 0 16px 38px rgba(13, 47, 97, 0.12);
}

.connection-route-chip {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #dce5f4;
    border-radius: 7px;
    padding: 10px 14px;
    color: var(--blue-900);
    background: #eef4ff;
    font-size: 14px;
    font-weight: 800;
}

.connection-route-chip svg {
    width: 22px;
    height: 22px;
    fill: var(--blue-800);
    transform: rotate(18deg);
}

.connection-route-hero h1 {
    margin: 18px 0 8px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.connection-route-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
}

.connection-search-shell {
    margin: 18px 0;
    border: 1px solid rgba(70, 118, 183, 0.55);
    border-radius: 10px;
    padding: 18px;
    background: linear-gradient(135deg, #123f78 0%, #082c5c 100%);
    box-shadow: 0 20px 46px rgba(9, 42, 88, 0.28);
}

.connection-search-shell .tabs {
    padding: 0 0 12px;
}

.connection-search-shell .tab {
    border-color: rgba(255, 255, 255, 0.34);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

.connection-search-shell .tab.is-active {
    border-color: #ffffff;
    color: var(--blue-900);
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(4, 23, 53, 0.22);
}

.connection-search-shell .travel-class span,
.connection-search-shell .search-form label > span,
.connection-search-shell .passenger-picker .field-label {
    color: #ffffff;
}

.connection-search-shell .travel-class select,
.connection-search-shell input,
.connection-search-shell .date-trigger,
.connection-search-shell .passenger-trigger {
    border-color: rgba(255, 255, 255, 0.78);
    background-color: #ffffff;
}

.connection-search-shell .search-form {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.11);
}

.connection-search-shell .swap-airports,
.connection-search-shell .search-button {
    box-shadow: 0 9px 18px rgba(3, 22, 49, 0.22);
}

.connection-search-shell .field-error.is-visible,
.connection-search-shell .passenger-error.is-visible {
    color: #ff6b57;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.connection-search-shell .has-error input,
.connection-search-shell .has-error .date-trigger,
.connection-search-shell .has-error .passenger-trigger {
    border-color: #ff3b30;
    background-color: #fff0f0;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.26), 0 8px 18px rgba(3, 22, 49, 0.18);
}

.connection-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: 18px;
    align-items: start;
}

.connection-detail-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.1);
}

.connection-detail-card h2 {
    margin: 0 0 16px;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.2;
}

.connection-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.connection-facts div {
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 14px;
    background: #f7faff;
}

.connection-facts span,
.connection-card-label {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.connection-facts strong {
    color: var(--blue-900);
    font-size: 17px;
    line-height: 1.25;
}

.connection-promo-note {
    margin-top: 18px;
    border: 1px solid rgba(17, 136, 75, 0.22);
    border-radius: 8px;
    padding: 16px;
    background: #f1fbf6;
}

.connection-promo-note h3 {
    margin: 0 0 8px;
    color: #0d6f3a;
    font-size: 18px;
}

.connection-promo-note p {
    margin: 0 0 6px;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.5;
}

.connection-airline-card {
    text-align: center;
}

.connection-airline-card img {
    display: block;
    max-width: 190px;
    max-height: 90px;
    margin: 8px auto 16px;
    object-fit: contain;
}

.connection-airline-card p {
    margin: 0 0 18px;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.5;
}

.connection-airline-fallback {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    margin: 8px auto 16px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-800), var(--blue-900));
    font-size: 30px;
    font-weight: 900;
}

.cheap-flights-page {
    padding: 34px 0 56px;
    background: linear-gradient(180deg, #f4f8ff 0%, #fff 42%, #f7fbff 100%);
}

.cheap-flights-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 28px;
    background:
        linear-gradient(135deg, rgba(244, 248, 255, 0.96), rgba(255, 255, 255, 0.94)),
        url("../img/hero-plane.png") center / cover;
    box-shadow: 0 16px 38px rgba(13, 47, 97, 0.12);
}

.cheap-flights-hero__flag {
    flex: 0 0 auto;
    width: 118px;
    max-height: 78px;
    border: 1px solid #d3e0ed;
    border-radius: 7px;
    padding: 5px;
    background: #fff;
    object-fit: contain;
    box-shadow: 0 12px 28px rgba(13, 47, 97, 0.16);
}

.cheap-flights-hero h1 {
    max-width: 820px;
    margin: 0 0 10px;
    color: var(--blue-900);
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.05;
}

.cheap-flights-hero p {
    max-width: 780px;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
}

.cheap-flights-search {
    margin: 18px 0;
    border: 1px solid rgba(70, 118, 183, 0.55);
    border-radius: 10px;
    padding: 18px;
    background: linear-gradient(135deg, #123f78 0%, #082c5c 100%);
    box-shadow: 0 20px 46px rgba(9, 42, 88, 0.28);
}

.cheap-flights-search .tabs {
    padding: 0 0 12px;
}

.cheap-flights-search .tab {
    border-color: rgba(255, 255, 255, 0.34);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

.cheap-flights-search .tab.is-active {
    border-color: #ffffff;
    color: var(--blue-900);
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(4, 23, 53, 0.22);
}

.cheap-flights-search .travel-class span,
.cheap-flights-search .search-form label > span,
.cheap-flights-search .passenger-picker .field-label {
    color: #ffffff;
}

.cheap-flights-search .travel-class select,
.cheap-flights-search input,
.cheap-flights-search .date-trigger,
.cheap-flights-search .passenger-trigger {
    border-color: rgba(255, 255, 255, 0.78);
    background-color: #ffffff;
}

.cheap-flights-search .search-form {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.11);
}

.cheap-flights-search .swap-airports,
.cheap-flights-search .search-button {
    box-shadow: 0 9px 18px rgba(3, 22, 49, 0.22);
}

.cheap-flights-search .field-error.is-visible,
.cheap-flights-search .passenger-error.is-visible {
    color: #ff6b57;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.cheap-flights-search .has-error input,
.cheap-flights-search .has-error .date-trigger,
.cheap-flights-search .has-error .passenger-trigger {
    border-color: #ff3b30;
    background-color: #fff0f0;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.26), 0 8px 18px rgba(3, 22, 49, 0.18);
}

.cheap-flight-card {
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.1);
}

.cheap-flight-card + .cheap-flight-card,
.cheap-flight-promos {
    margin-top: 18px;
}

.cheap-flight-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 18px;
    align-items: start;
}

.cheap-flight-card h2 {
    margin: 0 0 16px;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.2;
}

.cheap-flight-card p,
.cheap-flight-text {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.65;
}

.cheap-flight-city-image {
    float: right;
    width: min(280px, 42%);
    margin: 0 0 16px 22px;
    border-radius: 8px;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    box-shadow: 0 12px 28px rgba(13, 47, 97, 0.16);
}

.cheap-flight-flag {
    float: right;
    width: 96px;
    max-height: 64px;
    margin: 0 0 16px 22px;
    border: 1px solid #d3e0ed;
    border-radius: 6px;
    padding: 4px;
    background: #fff;
    object-fit: contain;
    box-shadow: 0 10px 22px rgba(13, 47, 97, 0.12);
}

.cheap-flight-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cheap-flight-link-grid a,
.cheap-flight-link-list a {
    display: block;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 12px 14px;
    color: var(--blue-900);
    background: #f7faff;
    font-weight: 800;
}

.cheap-flight-link-grid img {
    display: block;
    width: 34px;
    height: 22px;
    margin-bottom: 8px;
    border: 1px solid #d3e0ed;
    border-radius: 3px;
    background: #fff;
    object-fit: contain;
}

.cheap-flight-link-grid a:hover,
.cheap-flight-link-list a:hover {
    border-color: rgba(20, 84, 164, 0.36);
    background: #eef5ff;
}

.cheap-flight-link-grid span {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.cheap-flight-link-grid strong {
    display: block;
    font-size: 16px;
    line-height: 1.25;
}

.cheap-flight-link-list {
    display: grid;
    gap: 8px;
}

.cheap-flight-promos .section-heading {
    margin-top: 0;
}


.legal-card .content-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 24px;
    align-items: center;
    margin: 0 0 26px;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 22px;
    background: linear-gradient(135deg, #f4f8ff, #fff);
}

.legal-card .content-top-h1 h1 {
    margin: 0;
    color: var(--blue-900);
    font-size: 30px;
    line-height: 1.15;
}

.legal-card .iata-box {
    display: flex;
    justify-content: center;
}

.legal-card .iata-img {
    max-width: 240px;
    max-height: 160px;
    object-fit: contain;
}

.legal-card .text-opis {
    margin-bottom: 14px;
}

.promo-page {
    padding: 52px 0 66px;
    background: #f7faff;
}

.promo-page__header {
    max-width: 920px;
    margin-bottom: 24px;
}

.promo-page__header--compact {
    margin-bottom: 10px;
}

.promo-page__header h1 {
    margin: 2px 0 10px;
    color: var(--blue-900);
    font-size: 42px;
    line-height: 1.08;
}

.promo-page__header p:last-child {
    margin: 0;
    color: var(--blue-800);
    font-size: 18px;
    font-weight: 700;
}

.promo-route-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 220px;
    gap: 14px;
    align-items: start;
    margin-bottom: 26px;
    border: 1px solid rgba(207, 218, 236, 0.95);
    border-radius: 8px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.12);
}

.promo-route-form .button {
    min-height: 52px;
    align-self: start;
    margin-top: 25px;
}

.promo-route-form input[data-airport-search],
.promo-map-card strong,
.promo-map-card small {
    text-transform: uppercase;
}

.promo-route-form label > span {
    display: block;
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.promo-route-panel {
    margin-bottom: 34px;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 22px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(13, 47, 97, 0.13);
}

.promo-route-panel__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.promo-route-chip {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 7px;
    padding: 0 16px;
    border: 1px solid #cfdaec;
    color: var(--blue-800);
    background: #f5f8fe;
    box-shadow: none;
}

.promo-route-chip strong {
    font-size: 14px;
    line-height: 1.2;
    text-transform: uppercase;
}

.promo-route-chip span {
    width: 28px;
    height: 28px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--blue-800);
    background: transparent;
    font-size: 17px;
}

.promo-route-summary {
    margin-top: 18px;
    border-radius: 8px;
    padding: 18px 20px 20px;
    background: #eef4fc;
    box-shadow: var(--shadow);
}

.promo-route-summary p {
    margin: 0 0 3px;
    color: var(--muted);
    font-weight: 800;
}

.promo-route-summary h2,
.promo-calendars h2 {
    margin: 0;
    color: var(--blue-900);
    font-size: 22px;
    line-height: 1.2;
}

.promo-trip-toggle {
    display: inline-flex;
    gap: 6px;
    border: 1px solid #cfdaec;
    border-radius: 7px;
    padding: 4px;
    background: #f5f8fe;
}

.promo-trip-toggle button {
    min-height: 36px;
    border: 0;
    border-radius: 6px;
    padding: 0 14px;
    color: var(--blue-800);
    background: transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.promo-trip-toggle button.is-active {
    color: #fff;
    background: var(--blue-800);
}

.promo-calendar-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(170px, 0.8fr) 190px;
    align-items: end;
    gap: 10px;
    margin-top: 14px;
}

.promo-calendar-summary > span {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #dce5f4;
    border-radius: 5px;
    padding: 11px 12px;
    color: var(--blue-800);
    background: #fff;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.promo-calendar-summary > span.promo-field-error,
.promo-calendar-summary .promo-passenger-picker.has-error .passenger-trigger {
    border-color: #d65a4a;
    background-color: #fff8f7;
}

.promo-calendar-summary > span strong {
    color: var(--blue-900);
}

.promo-calendar-summary .promo-passenger-picker {
    min-width: 0;
}

.promo-calendar-summary .promo-passenger-picker .field-label {
    display: block;
    margin: 0 0 5px;
    border: 0;
    padding: 0;
    color: var(--blue-900);
    background: transparent;
    font-size: 13px;
    font-weight: 900;
    box-shadow: none;
}

.promo-calendar-summary .promo-passenger-picker .passenger-trigger {
    min-height: 50px;
    border: 1px solid #dce5f4;
    border-radius: 5px;
    padding: 0 12px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.promo-calendar-summary .promo-passenger-picker .passenger-icon,
.promo-calendar-summary .promo-passenger-picker [data-passenger-summary] {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.promo-calendar-summary > .button {
    min-height: 50px;
    align-self: end;
}

.promo-calendars {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.promo-calendars h2 {
    margin-bottom: 12px;
}

.promo-calendar-shell {
    display: block;
}

.promo-calendar-nav {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #cfdaec;
    border-radius: 50%;
    color: var(--blue-900);
    background: #fff;
    font: inherit;
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(13, 47, 97, 0.12);
}

.promo-calendar-nav:hover {
    color: #fff;
    border-color: var(--blue-800);
    background: var(--blue-800);
}

.promo-calendar-nav:disabled {
    opacity: 0;
    pointer-events: none;
}

.promo-calendar {
    min-width: 0;
}

.promo-calendar-month {
    display: none;
    min-height: 430px;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 14px;
    background: #fbfdff;
}

.promo-calendar-month.is-active {
    display: block;
}

.promo-calendar-title {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.promo-calendar-title h3 {
    margin: 0;
    color: var(--blue-900);
    font-size: 18px;
    text-align: center;
}

.promo-calendar-title [data-month-prev-slot],
.promo-calendar-title [data-month-next-slot] {
    min-width: 42px;
    min-height: 42px;
    display: grid;
    place-items: center;
}

.promo-calendar-weekdays,
.promo-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.promo-calendar-weekdays {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.promo-day {
    min-height: 54px;
    border: 1px solid #dce5f4;
    border-radius: 7px;
    padding: 6px 5px;
    color: var(--blue-900);
    background: #fff;
    font: inherit;
    cursor: pointer;
}

.promo-day span,
.promo-day strong,
.promo-day em {
    display: block;
}

.promo-day span {
    color: var(--muted);
    font-size: 12px;
    text-align: left;
}

.promo-day strong {
    margin-top: 3px;
    color: var(--blue-800);
    font-size: 12px;
    font-weight: 800;
}

.promo-day strong small {
    font-size: 9px;
    font-weight: 500;
}

.promo-day em {
    margin-top: 3px;
    color: #9aa9c1;
    font-style: normal;
    font-weight: 800;
}

.promo-day.has-price {
    border-color: rgba(21, 150, 79, 0.35);
}

.promo-day.has-lowest-price strong {
    color: var(--green);
}

.promo-day.is-selected {
    color: #fff;
    border-color: var(--blue-800);
    background: var(--blue-800);
}

.promo-day.is-selected span,
.promo-day.is-selected strong,
.promo-day.is-selected em {
    color: #fff;
}

.promo-day.is-disabled,
.promo-day.is-before-departure,
.promo-day--blank {
    color: #b3bfd1;
    background: #f1f5fb;
    cursor: default;
}

.promo-day.is-before-departure {
    opacity: 0.42;
    filter: grayscale(1);
}

.promo-day--blank {
    min-height: 54px;
    border: 0;
}

.promo-go-form {
    display: block;
    margin-top: 14px;
}

.promo-passenger-picker {
    width: 100%;
}

.promo-passenger-picker .passenger-panel {
    left: auto;
    right: 0;
    transform: none;
}

.promo-action-row {
    display: flex;
    align-items: center;
    margin-top: 8px;
}

.promo-action-row[hidden] {
    display: none !important;
}

.promo-price-card {
    min-height: 50px;
    display: flex;
    align-items: center;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: var(--blue-800);
    background: transparent;
    font-weight: 700;
    box-shadow: none;
}

.promo-price-card strong {
    margin-left: 5px;
    color: var(--blue-900);
}

.promo-price-card small {
    margin-left: 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(1px);
}

.promo-route-error {
    display: none;
    margin: 5px 0 0;
    border: 0;
    padding: 0;
    color: #c1422f;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    text-align: left;
}

.promo-route-error.is-visible {
    display: block;
    color: #c1422f;
}

.promo-passenger-picker .passenger-error.is-visible {
    color: #c1422f;
}

.promo-go-form .button {
    min-height: 50px;
    align-self: end;
}

.promo-map {
    margin-top: 22px;
}

.promo-map-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.promo-map-card {
    overflow: hidden;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(13, 47, 97, 0.1);
}

.promo-map-card h3 {
    margin: 0;
    padding: 14px 16px;
    color: #fff;
    background: linear-gradient(180deg, #1454a4, #0d428c);
    font-size: 18px;
}

.promo-map-card ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.promo-map-card li + li {
    border-top: 1px solid #edf2f9;
}

.promo-map-card a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 14px;
}

.promo-map-card a:hover {
    background: #f7faff;
}

.promo-map-card strong,
.promo-map-card small {
    display: block;
}

.promo-map-card strong {
    color: var(--blue-900);
}

.promo-map-card small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.promo-map-card em {
    flex: 0 0 auto;
    color: #f26b12;
    font-style: normal;
    font-weight: 900;
}

.filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filter {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #cfdaec;
    border-radius: 6px;
    padding: 0 17px;
    color: var(--blue-800);
    background: #f5f8fe;
    font-weight: 900;
}

.filter.is-active {
    color: #fff;
    background: linear-gradient(180deg, #1558ad, #0d428c);
}

.promo-grid,
.inspiration-grid,
.service-grid {
    display: grid;
    gap: 16px;
}

.promo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.promo-card {
    position: relative;
    min-height: 292px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid rgba(207, 218, 236, 0.9);
    border-radius: 10px;
    padding: 0;
    color: var(--ink);
    background:
        linear-gradient(180deg, rgba(10, 52, 109, 0.02), rgba(10, 52, 109, 0.04)),
        var(--promo-image) center / cover;
    box-shadow: 0 14px 32px rgba(16, 43, 85, 0.16);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.promo-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 42px rgba(16, 43, 85, 0.22);
}

.promo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 27, 62, 0) 24%, rgba(5, 27, 62, 0.12) 58%, rgba(5, 27, 62, 0.44));
    pointer-events: none;
}

.promo-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 74px;
    border-top: 1px solid rgba(255, 255, 255, 0.34);
    background: linear-gradient(180deg, rgba(7, 37, 80, 0.04), rgba(7, 37, 80, 0.26));
    backdrop-filter: blur(3px);
}

.promo-card__city {
    position: relative;
    z-index: 1;
    margin: 0 18px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.05;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

.promo-card__from {
    position: relative;
    z-index: 1;
    margin: 4px 18px 13px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    font-weight: 600;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}

.promo-card strong {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    top: auto;
    left: auto;
    margin-top: 0;
    border-radius: 7px 3px 3px 7px;
    padding: 6px 12px 6px 17px;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.88);
    font-size: 21px;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(6, 25, 53, 0.18);
}

.promo-card strong::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(11, 53, 114, 0.42);
    transform: translateY(-50%);
}

.promo-card strong {
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
}

.promo-card strong::before {
    content: "już od";
    display: block;
    margin-bottom: 1px;
    font-size: 9px;
    font-weight: 500;
    line-height: 1;
    color: rgba(11, 53, 114, 0.72);
}

.promo-card em {
    display: none;
}

.center {
    display: flex;
    justify-content: center;
    border-top: 1px solid #e3ebf6;
    margin-top: 30px;
    padding-top: 0;
}

.center .button {
    transform: translateY(-50%);
}

.inspiration-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inspiration-card {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-radius: 8px;
    padding: 18px;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(8, 54, 112, 0.68), rgba(8, 54, 112, 0.08)),
        var(--inspiration-image) center / cover;
    box-shadow: 0 10px 22px rgba(16, 43, 85, 0.14);
}

.inspiration-card strong {
    font-size: 19px;
    line-height: 1.1;
}

.inspiration-card span {
    margin-top: 4px;
    font-weight: 900;
}

.section--airline-tiles {
    padding-top: 42px;
    padding-bottom: 42px;
    background: #f7faff;
}

.home-airline-block {
    margin-top: 20px;
}

.home-airline-block h3 {
    margin: 0 0 12px;
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1.25;
}

.home-airline-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.home-airline-tile {
    min-height: 112px;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 8px;
    padding: 16px;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 28px rgba(13, 47, 97, 0.1);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.home-airline-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(20, 84, 164, 0.34);
    box-shadow: 0 18px 36px rgba(13, 47, 97, 0.16);
}

.home-airline-tile span {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(207, 218, 236, 0.9);
}

.home-airline-tile img {
    max-width: 76px;
    max-height: 44px;
    object-fit: contain;
}

.home-airline-tile strong {
    min-width: 0;
    font-size: 18px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.seo-content {
    color: var(--ink);
}

.seo-content h2 {
    margin-bottom: 12px;
}

.seo-content p {
    max-width: 1080px;
    margin: 0 0 18px;
    color: #415679;
    font-weight: 500;
}

.seo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 22px;
}

.seo-grid article {
    border-left: 3px solid #f26b12;
    padding-left: 18px;
}

.seo-grid h3 {
    margin: 0 0 8px;
    color: var(--blue-900);
    font-size: 18px;
}

.seo-grid p {
    margin: 0;
}

.seo-links {
    margin-top: 24px;
}

.seo-links a {
    color: var(--blue-800);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.price-alert-page {
    padding: 52px 0 72px;
    background:
        linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at 16% 0%, rgba(21, 150, 79, 0.13), transparent 34%),
        radial-gradient(circle at 86% 8%, rgba(20, 84, 164, 0.14), transparent 32%);
}

.price-alert-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    gap: 28px;
    align-items: center;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 10px;
    padding: 28px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.12);
}

.price-alert-hero h1 {
    margin: 6px 0 10px;
    color: var(--blue-900);
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.08;
}

.price-alert-hero p:last-child {
    max-width: 780px;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
}

.price-alert-hero__icon {
    display: block;
    justify-self: end;
    width: 142px;
    height: 142px;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.price-alert-hero__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.price-alert-card {
    margin-top: 20px;
    border: 1px solid rgba(207, 218, 236, 0.92);
    border-radius: 10px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.1);
}

.price-alert-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.price-alert-card h2 {
    margin: 4px 0 0;
    color: var(--blue-900);
    font-size: 26px;
    line-height: 1.2;
}

.price-alert-lead,
.price-alert-empty {
    margin: 0 0 18px;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.55;
}

.price-alert-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.price-alert-form label > span,
.price-alert-repeat legend {
    display: block;
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.price-alert-form input {
    min-height: 50px;
}

.price-alert-form .field-error {
    color: #b71919;
    font-weight: 800;
}

.price-alert-form .has-error input {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, 0.16), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.price-alert-repeat {
    grid-column: 1 / -2;
    min-height: 64px;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 12px 14px;
    background: #f7faff;
}

.price-alert-repeat legend {
    padding: 0 4px;
}

.price-alert-repeat label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 4px 18px 0 0;
    color: var(--ink);
    font-weight: 800;
    line-height: 1;
}

.price-alert-repeat input {
    width: 16px;
    height: 16px;
    min-height: 16px;
    margin: 0;
    padding: 0;
    accent-color: var(--green);
    transform: translateY(-1px);
}

.price-alert-repeat label span {
    line-height: 16px;
}

.price-alert-submit {
    align-self: end;
    min-height: 52px;
}

.price-alert-message {
    margin-top: 18px;
    border-radius: 8px;
    padding: 14px 16px;
    color: var(--blue-900);
    background: #eef5ff;
    font-weight: 800;
}

.price-alert-message--success {
    color: #0e783e;
    background: #edf9f2;
}

.price-alert-message--warning {
    color: #8a5200;
    background: #fff7e8;
}

.price-alert-message--error {
    color: #b71919;
    background: #fff1f1;
}

.price-alert-list {
    display: grid;
    gap: 10px;
}

.price-alert-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 16px;
    align-items: center;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 14px 16px;
    background: #f7faff;
}

.price-alert-item div {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: var(--blue-900);
}

.price-alert-item p {
    grid-column: 1 / 2;
    margin: 0;
    color: var(--ink);
    font-weight: 800;
}

.price-alert-item p span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.price-alert-item a {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    border-radius: 6px;
    padding: 8px 12px;
    color: #ffffff;
    background: #c82424;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.insurance-page {
    padding: 52px 0 72px;
    background:
        linear-gradient(180deg, rgba(235, 243, 252, 0.98), rgba(255, 255, 255, 0.98) 48%),
        linear-gradient(135deg, rgba(14, 62, 116, 0.08), rgba(32, 169, 98, 0.06));
}

.insurance-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 22px;
    align-items: center;
    border: 1px solid rgba(174, 195, 224, 0.84);
    border-radius: 10px;
    padding: 16px 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96)),
        linear-gradient(180deg, #ffffff, #f5f9ff);
    box-shadow: 0 22px 54px rgba(13, 47, 97, 0.14);
}

.insurance-hero h1 {
    margin: 4px 0 6px;
    color: var(--blue-900);
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.1;
}

.insurance-hero p:last-child {
    max-width: 780px;
    margin: 0;
    color: #4c6382;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.insurance-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.insurance-hero__trust span {
    border: 1px solid rgba(49, 94, 150, 0.18);
    border-radius: 999px;
    padding: 6px 10px;
    color: #123f78;
    background: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(13, 47, 97, 0.06);
}

.insurance-hero__badge {
    display: grid;
    place-items: center;
    justify-self: end;
    width: 104px;
    height: 104px;
    border: 1px solid rgba(32, 169, 98, 0.26);
    border-radius: 28px;
    color: #fff;
    background:
        linear-gradient(145deg, #21a866, #0b6d3d),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent);
    box-shadow: 0 22px 40px rgba(14, 120, 62, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.insurance-hero__badge svg {
    width: 66px;
    height: 66px;
    overflow: visible;
}

.insurance-hero__badge path:first-child {
    fill: rgba(255, 255, 255, 0.18);
    stroke: #ffffff;
    stroke-width: 4;
    stroke-linejoin: round;
}

.insurance-hero__badge path:last-child {
    fill: none;
    stroke: #ffffff;
    stroke-width: 7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.insurance-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.36fr);
    gap: 20px;
    margin-top: 20px;
}

.insurance-card,
.insurance-cover-card,
.insurance-docs {
    border: 1px solid rgba(192, 208, 230, 0.9);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 38px rgba(13, 47, 97, 0.1);
}

.insurance-card {
    padding: 24px;
}

.insurance-card--form {
    border-color: rgba(19, 75, 142, 0.34);
    background:
        linear-gradient(180deg, rgba(235, 244, 255, 0.96), rgba(249, 252, 255, 0.98)),
        #f7fbff;
    box-shadow: 0 24px 52px rgba(13, 47, 97, 0.2);
}

.insurance-card--summary {
    background:
        linear-gradient(180deg, #123f78, #082c5c);
    color: #fff;
}

.insurance-card--summary h2 {
    color: #fff;
}

.insurance-card--summary li {
    color: rgba(255, 255, 255, 0.9);
}

.insurance-card__head h2,
.insurance-card--summary h2,
.insurance-section-heading h2,
.insurance-docs h2 {
    margin: 4px 0 0;
    color: var(--blue-900);
    font-size: 26px;
    line-height: 1.2;
}

.insurance-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
    margin-top: 16px;
}

.insurance-form label {
    position: relative;
}

.insurance-form label > span:not(.insurance-input-wrap) {
    display: block;
    margin: 0 0 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.insurance-form input {
    min-height: 50px;
    border-color: #b7c8e2;
    background: #fff;
    font-weight: 700;
}

.insurance-input-wrap {
    position: relative;
    display: block;
    margin: 0;
}

.insurance-input-wrap input {
    padding-right: 42px;
}

.insurance-clear {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #426386;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(24, 54, 91, 0.22);
}

.insurance-clear:hover {
    background: #173a62;
}

.insurance-clear[hidden] {
    display: none;
}

.insurance-form .has-error input,
.insurance-form .has-error .date-trigger {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, 0.16), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.insurance-date-trigger {
    border-color: #b7c8e2;
    background: #fff;
    font-weight: 700;
}

.insurance-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 12px;
    min-height: 50px;
}

.insurance-price {
    align-self: end;
    margin-left: auto;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--blue-900);
    background: #fff8db;
    font-weight: 800;
}

.insurance-price[hidden] {
    display: none;
}

.insurance-price strong {
    font-size: 20px;
}

.insurance-price--loading {
    background: #eef5ff;
}

.insurance-submit {
    align-self: end;
    flex: 0 0 170px;
    min-width: 170px;
    min-height: 50px;
}

.insurance-submit:disabled,
.insurance-submit.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    filter: grayscale(0.35);
    box-shadow: none;
}

.insurance-hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.insurance-page-is-loading {
    overflow: hidden;
}

body.insurance-page-is-loading .insurance-page > .container,
body.insurance-page-is-loading .insurance-passengers-page > .container,
body.insurance-page-is-loading .insurance-payment-page > .container,
body.insurance-page-is-loading .insurance-confirmation-page > .container,
body.insurance-page-is-loading .uapi-passengers-page,
body.insurance-page-is-loading .uapi-results-page {
    filter: blur(8px);
    transform: scale(0.992);
    transition: filter 300ms ease, transform 300ms ease;
}

.insurance-page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    background: rgba(10, 27, 48, 0.46);
    backdrop-filter: blur(10px) saturate(0.92);
    transition: opacity 240ms ease;
}

.insurance-page-loader[hidden] {
    display: none;
}

.insurance-page-loader.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.insurance-page-loader__scene {
    position: absolute;
    width: min(760px, calc(100vw - 34px));
    min-height: 420px;
    border: 1px solid rgba(176, 195, 224, 0.72);
    border-radius: 16px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(245, 250, 255, 0.70)),
        linear-gradient(135deg, rgba(18, 63, 120, 0.08), rgba(31, 141, 83, 0.06));
    box-shadow: 0 28px 70px rgba(22, 54, 93, 0.18);
}

.insurance-page-loader__scene::before,
.insurance-page-loader__scene::after {
    content: "";
    position: absolute;
    inset: -40%;
    background:
        repeating-radial-gradient(circle at 50% 50%, rgba(30, 118, 214, 0.16) 0 2px, transparent 2px 28px);
    opacity: 0.42;
    animation: insuranceWave 3.2s linear infinite;
}

.insurance-page-loader__scene::after {
    animation-direction: reverse;
    animation-duration: 4.8s;
    opacity: 0.28;
}

.insurance-page-loader__bar,
.insurance-page-loader__grid,
.insurance-page-loader__line {
    position: relative;
    z-index: 1;
}

.insurance-page-loader__bar {
    height: 78px;
    border-bottom: 1px solid rgba(176, 195, 224, 0.68);
    background: rgba(255, 255, 255, 0.68);
}

.insurance-page-loader__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 34px;
}

.insurance-page-loader__grid span,
.insurance-page-loader__line {
    display: block;
    border-radius: 10px;
    background: linear-gradient(90deg, rgba(203, 216, 234, 0.72), rgba(245, 248, 252, 0.92), rgba(203, 216, 234, 0.72));
    background-size: 220% 100%;
    animation: insuranceShimmer 1.6s ease-in-out infinite;
}

.insurance-page-loader__grid span {
    min-height: 96px;
}

.insurance-page-loader__line {
    width: calc(100% - 68px);
    height: 18px;
    margin: 0 34px 16px;
}

.insurance-page-loader__line--short {
    width: min(420px, calc(100% - 120px));
}

.insurance-page-loader__content {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: 10px;
    width: min(440px, calc(100vw - 54px));
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 14px;
    padding: 26px 24px;
    text-align: center;
    color: var(--blue-900);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 44px rgba(20, 64, 118, 0.18);
}

.insurance-page-loader__content strong {
    font-size: 19px;
    line-height: 1.25;
}

.insurance-page-loader__content small {
    color: #536986;
    font-size: 14px;
    font-weight: 700;
}

.insurance-page-loader__pulse {
    width: 54px;
    height: 54px;
    border: 4px solid rgba(18, 63, 120, 0.16);
    border-top-color: #f47b20;
    border-radius: 50%;
    animation: insuranceSpin 1s linear infinite;
}

.insurance-page-loader--uapi-transition .insurance-page-loader__scene,
.insurance-page-loader--uapi-transition [data-insurance-loader-title] {
    display: none;
}

.insurance-page-loader--uapi-transition .insurance-page-loader__content {
    background: rgba(4, 33, 72, .94);
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 22px 54px rgba(5, 20, 42, .32);
    color: #fff;
    gap: 14px;
}

.insurance-page-loader--uapi-transition .insurance-page-loader__content small {
    color: #fff;
    font-size: 17px;
    line-height: 1.42;
}

.insurance-page-loader--uapi-transition .insurance-page-loader__pulse {
    border-color: rgba(255, 255, 255, .22);
    border-top-color: #f47b20;
}

@keyframes insuranceWave {
    from {
        transform: translate3d(-2%, -1%, 0) rotate(0deg);
    }
    to {
        transform: translate3d(2%, 1%, 0) rotate(360deg);
    }
}

@keyframes insuranceShimmer {
    0% {
        background-position: 220% 0;
    }
    100% {
        background-position: -220% 0;
    }
}

@keyframes insuranceSpin {
    to {
        transform: rotate(360deg);
    }
}

.insurance-card--summary ul {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.insurance-card--summary li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 700;
    line-height: 1.45;
}

.insurance-card--summary h2 {
    color: #fff;
}

.insurance-card--summary li::before,
.insurance-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--green);
    font-weight: 900;
}

.insurance-card--summary li::before {
    color: #8ee0af;
}

.insurance-section-heading {
    margin: 34px 0 18px;
    text-align: center;
}

.insurance-section-heading .eyebrow {
    justify-content: center;
}

.insurance-cover-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.insurance-cover-card {
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.insurance-cover-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 44px rgba(13, 47, 97, 0.14);
}

.insurance-cover-card h3 {
    margin: 0;
    padding: 18px 20px 16px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(18, 63, 120, 0.98), rgba(8, 44, 92, 0.98));
    font-size: 20px;
    line-height: 1.25;
}

.insurance-cover-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.insurance-cover-card li {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 18px;
    color: var(--ink);
    font-weight: 650;
    line-height: 1.4;
}

.insurance-cover-card li:nth-child(even) {
    background: #f5f8fc;
}

.insurance-cover-card li strong {
    color: var(--blue-900);
    white-space: nowrap;
}

.insurance-check-list li {
    position: relative;
    display: block;
    padding-left: 42px;
}

.insurance-check-list li::before {
    left: 18px;
}

.insurance-docs {
    display: grid;
    grid-template-columns: minmax(260px, 0.35fr) minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-top: 20px;
    padding: 24px;
    background:
        linear-gradient(135deg, #ffffff, #f7fbff);
}

.insurance-doc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.insurance-doc-grid a {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #cfdbec;
    border-radius: 8px;
    padding: 13px 14px;
    color: var(--blue-900);
    background: #ffffff;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(13, 47, 97, 0.06);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.insurance-doc-grid a:hover {
    transform: translateY(-1px);
    border-color: #9eb4d2;
    box-shadow: 0 12px 24px rgba(13, 47, 97, 0.1);
}

.insurance-doc-grid span {
    border-radius: 5px;
    padding: 5px 7px;
    color: #fff;
    background: #c82424;
    font-size: 12px;
}

.insurance-passengers-page {
    padding: 34px 0 72px;
    background:
        linear-gradient(180deg, #eef5ff 0%, #ffffff 50%),
        linear-gradient(135deg, rgba(14, 62, 116, 0.06), rgba(32, 169, 98, 0.05));
}

.insurance-passengers-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    border: 1px solid rgba(174, 195, 224, 0.84);
    border-radius: 10px;
    padding: 18px 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.12);
}

.insurance-passengers-hero h1 {
    margin: 4px 0 6px;
    color: var(--blue-900);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
}

.insurance-passengers-hero p:last-child {
    margin: 0;
    color: #4c6382;
    font-weight: 650;
}

.insurance-back-link {
    flex: 0 0 auto;
    border: 1px solid #b7c8e2;
    border-radius: 8px;
    padding: 11px 14px;
    color: var(--blue-900);
    background: #fff;
    font-weight: 900;
}

.insurance-step-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.4fr);
    gap: 20px;
    align-items: start;
}

.insurance-passenger-form {
    display: grid;
    gap: 20px;
}

.insurance-step-card {
    border: 1px solid rgba(190, 207, 229, 0.92);
    border-radius: 10px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.09);
}

.insurance-step-card__head h2,
.insurance-step-card h2 {
    margin: 4px 0 0;
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.2;
}

.insurance-passenger-card {
    display: grid;
    grid-template-columns: 120px repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 0;
    border: 1px solid #d2deee;
    border-radius: 10px;
    padding: 18px;
    background:
        linear-gradient(180deg, #f8fbff, #ffffff);
}

.insurance-passenger-card legend {
    padding: 0 8px;
    color: var(--blue-900);
    font-size: 16px;
    font-weight: 900;
}

.insurance-passenger-card:focus-within {
    border-color: #9eb4d2;
    box-shadow: 0 10px 24px rgba(13, 47, 97, 0.08);
}

.insurance-passenger-card label,
.insurance-card-type {
    display: grid;
    gap: 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.insurance-passenger-card input,
.insurance-passenger-card select,
.insurance-card-type select {
    min-height: 48px;
    border: 1px solid #b7c8e2;
    border-radius: 6px;
    padding: 10px 12px;
    color: var(--blue-900);
    background: #fff;
    font: inherit;
    font-weight: 700;
}

.insurance-birthdate-wrap {
    position: relative;
    display: block;
}

.insurance-birthdate-trigger {
    border-color: #b7c8e2;
    background: #fff;
    font-weight: 700;
}

.insurance-birthdate-trigger span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.insurance-passenger-card .has-error input,
.insurance-passenger-card .has-error select,
.insurance-payment-grid.has-error,
.insurance-consent.has-error {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, 0.16), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.insurance-form-error {
    display: block;
    min-height: 17px;
    visibility: hidden;
    color: #c51f1a;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;
}

.has-error > .insurance-form-error,
.insurance-payment-grid.has-error > .insurance-form-error {
    visibility: visible;
}

.insurance-payment-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 18px;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0;
}

.insurance-payment-grid.has-error {
    padding: 8px;
}

.insurance-payment-grid.has-error .insurance-payment-option {
    border-color: #d41414;
}

.insurance-payment-option {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    padding: 16px 18px;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(13, 47, 97, 0.05);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.insurance-payment-option:has(input:checked) {
    border-color: #1f8d53;
    background: #f0fbf5;
    box-shadow: 0 0 0 3px rgba(31, 141, 83, 0.12);
}

.insurance-payment-option:hover {
    border-color: #9eb4d2;
    transform: translateY(-1px);
}

.insurance-payment-option input {
    width: 20px;
    height: 20px;
    min-height: 0;
    margin: 0;
    accent-color: #1f8d53;
    flex: 0 0 auto;
}

.insurance-payment-option strong,
.insurance-payment-option small {
    display: block;
}

.insurance-payment-option strong {
    color: var(--blue-900);
    font-size: 17px;
    line-height: 1.2;
}

.insurance-payment-option small {
    margin-top: 3px;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.35;
}

.insurance-card-type {
    margin-top: 14px;
}

.insurance-consent {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--ink);
    font-weight: 750;
    line-height: 1.45;
}

.insurance-consent input {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 2px 0 0;
    accent-color: #1f8d53;
}

.insurance-consent span {
    display: block;
}

.insurance-consent .insurance-form-error {
    grid-column: 2;
}

.insurance-payment-submit {
    margin-top: 18px;
    min-height: 50px;
}

.insurance-step-sidebar {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 20px;
}

.insurance-summary-card {
    color: #fff;
    background: linear-gradient(180deg, #123f78, #082c5c);
}

.insurance-summary-card .eyebrow,
.insurance-summary-card h2 {
    color: #fff;
}

.insurance-summary-card dl {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
}

.insurance-summary-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    padding-bottom: 10px;
}

.insurance-summary-card dt {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 750;
}

.insurance-summary-card dd {
    margin: 0;
    text-align: right;
    font-weight: 900;
}

.insurance-summary-link {
    display: inline-flex;
    border: 0;
    padding: 0;
    margin-top: 14px;
    color: #fff;
    background: transparent;
    font: inherit;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.insurance-scope-table {
    display: grid;
    gap: 0;
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid #d3dfef;
    border-radius: 12px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.insurance-full-scope-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 8px 12px;
    margin-top: 12px;
    color: #0c4380;
    background: #eef6ff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.insurance-full-scope-link:hover {
    color: #083261;
    background: #dfeeff;
    box-shadow: 0 0 0 3px rgba(23, 79, 147, 0.10);
}

.insurance-scope-table div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 13px 14px;
    border-bottom: 1px solid #e4ecf6;
    color: var(--ink);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
}

.insurance-scope-table div:last-child {
    border-bottom: 0;
}

.insurance-scope-table div:nth-child(even) {
    background: #f8fbff;
}

.insurance-scope-table strong {
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 9px;
    color: #0b3d76;
    background: #eaf3ff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}

.insurance-scope-card {
    position: relative;
    overflow: hidden;
    border-color: #cfdcec;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98)),
        radial-gradient(circle at 100% 0%, rgba(31, 141, 83, 0.10), transparent 34%);
    box-shadow: 0 14px 34px rgba(13, 47, 97, 0.08);
}

.insurance-scope-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #174f93, #1f8d53);
}

.insurance-scope-card .eyebrow {
    margin-top: 4px;
    color: #1f8d53;
}

.insurance-scope-card h2 {
    margin: 4px 0 0;
    color: var(--blue-900);
    font-size: 25px;
    line-height: 1.15;
}

.insurance-empty-state {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.insurance-empty-state p {
    color: var(--muted);
    font-weight: 700;
    line-height: 1.55;
}

.insurance-payment-page {
    padding: 34px 0 78px;
    background:
        radial-gradient(circle at 14% 0%, rgba(31, 141, 83, 0.10), transparent 28%),
        linear-gradient(180deg, #edf5ff 0%, #ffffff 46%, #f7fbff 100%);
}

.insurance-payment-page .insurance-passengers-hero {
    margin-bottom: 22px;
    border: 1px solid rgba(183, 200, 226, 0.8);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.92)),
        linear-gradient(135deg, rgba(18, 63, 120, 0.08), rgba(31, 141, 83, 0.05));
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.10);
}

.insurance-payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.42fr);
    gap: 24px;
    align-items: start;
}

.insurance-final-form {
    display: grid;
    gap: 18px;
}

.insurance-payment-page .insurance-step-card {
    border: 1px solid #d5e1f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 36px rgba(13, 47, 97, 0.08);
}

.insurance-payment-page .insurance-step-card__head {
    border-bottom: 1px solid #e3ebf6;
    margin: -2px -2px 16px;
    padding: 2px 2px 15px;
}

.insurance-payment-page .insurance-step-card__head h2 {
    letter-spacing: 0;
}

.insurance-final-passengers {
    margin-top: 0;
    overflow: hidden;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    background: #fff;
}

.insurance-final-passengers__head,
.insurance-final-passengers__row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 150px;
    gap: 14px;
    align-items: center;
    padding: 13px 16px;
}

.insurance-final-passengers__head {
    color: #fff;
    background: linear-gradient(135deg, #123f78, #0a356d);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.insurance-final-passengers__row {
    color: var(--ink);
    font-weight: 750;
}

.insurance-final-passengers__row:nth-child(odd) {
    background: #f6f9fd;
}

.insurance-final-passengers__row strong {
    color: var(--blue-900);
}

.insurance-passenger-avatar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--blue-900);
    font-weight: 900;
}

.insurance-passenger-avatar svg {
    width: 26px;
    height: 26px;
    padding: 5px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #174f93, #0d356d);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.insurance-company-payer {
    display: inline-grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 0;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    padding: 15px 17px;
    color: var(--blue-900);
    background: linear-gradient(180deg, #f9fcff, #eef6ff);
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.insurance-company-payer input {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 0;
    accent-color: #1f8d53;
}

.insurance-company-fields,
.insurance-contact-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin-top: 0;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    padding: 16px;
    background: linear-gradient(180deg, #ffffff, #f9fbfe);
}

.insurance-contact-fields {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.insurance-company-fields[hidden] {
    display: none;
}

.insurance-company-payer + .insurance-company-fields {
    margin-top: 14px;
}

.insurance-company-fields label,
.insurance-contact-fields label {
    display: grid;
    gap: 6px;
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.insurance-contact-fields label {
    grid-column: span 6;
}

.insurance-contact-fields .insurance-phone-prefix-field {
    grid-column: span 2;
}

.insurance-contact-fields .insurance-phone-number-field {
    grid-column: span 4;
}

.insurance-company-field--wide {
    grid-column: 1 / -1;
}

.insurance-company-fields input,
.insurance-company-fields select,
.insurance-contact-fields input {
    min-height: 48px;
    border: 1px solid #b7c8e2;
    border-radius: 6px;
    padding: 10px 12px;
    color: var(--blue-900);
    background: #fff;
    font: inherit;
    font-weight: 700;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, 0.04);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.insurance-company-fields input:focus,
.insurance-company-fields select:focus,
.insurance-contact-fields input:focus {
    outline: 0;
    border-color: #174f93;
    box-shadow: 0 0 0 3px rgba(23, 79, 147, 0.14), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.insurance-company-fields .has-error input,
.insurance-company-fields .has-error select,
.insurance-contact-fields .has-error input,
.insurance-payment-consent.has-error {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, 0.16), inset 0 1px 2px rgba(16, 43, 85, 0.04);
}

.insurance-payment-consent {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 16px;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    padding: 16px;
    color: var(--ink);
    background: #f7fbff;
    font-weight: 400;
    line-height: 1.45;
}

.insurance-payment-consent input {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 2px 0 0;
    accent-color: #1f8d53;
}

.insurance-payment-consent .insurance-form-error {
    grid-column: 2;
}

.insurance-payment-consent a {
    color: var(--blue-800);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.insurance-payment-scope-card .insurance-scope-table {
    margin-top: 14px;
}

.insurance-payment-scope-card .insurance-full-scope-link {
    margin-top: 12px;
}

.insurance-contact-fields input[name="contact_phone_prefix"] {
    width: 100%;
    max-width: none;
    letter-spacing: 0.02em;
}

.insurance-contact-fields input[name="contact_phone"] {
    letter-spacing: 0.04em;
}

.insurance-final-price {
    display: grid;
    gap: 0;
    margin-top: 0;
    overflow: hidden;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    background: #fff;
}

.insurance-final-price div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    color: var(--ink);
    background: #f7fbff;
    font-weight: 750;
}

.insurance-final-price .is-total {
    color: var(--blue-900);
    background: linear-gradient(135deg, #fff8db, #fff1ba);
    font-size: 18px;
    font-weight: 900;
}

.insurance-final-submit {
    margin-top: 18px;
    min-height: 50px;
    min-width: 220px;
    justify-content: center;
    box-shadow: 0 14px 26px rgba(245, 119, 24, 0.24);
}

.insurance-payment-page .insurance-summary-card {
    border: 0;
    background:
        linear-gradient(180deg, rgba(18, 63, 120, 0.98), rgba(7, 44, 92, 0.98)),
        radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.20), transparent 34%);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.20);
}

.insurance-payment-page .insurance-summary-card h2 {
    font-size: 28px;
    line-height: 1.15;
}

.insurance-payment-page .insurance-summary-card dl {
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 10px;
}

.insurance-payment-page .insurance-summary-card dl div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    padding: 12px 14px;
}

.insurance-payment-page .insurance-summary-card dl div:last-child {
    border-bottom: 0;
}

.insurance-confirmation-page {
    padding: 34px 0 78px;
    background:
        radial-gradient(circle at 14% 0%, rgba(31, 141, 83, 0.10), transparent 28%),
        linear-gradient(180deg, #edf5ff 0%, #ffffff 46%, #f7fbff 100%);
}

.insurance-confirmation-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    border: 1px solid rgba(183, 200, 226, 0.8);
    border-radius: 12px;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.92)),
        linear-gradient(135deg, rgba(18, 63, 120, 0.08), rgba(31, 141, 83, 0.05));
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.10);
}

.insurance-confirmation-hero h1 {
    margin: 4px 0 8px;
    color: var(--blue-900);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
}

.insurance-confirmation-hero p:last-child {
    margin: 0;
    color: #4c6382;
    font-weight: 650;
    line-height: 1.5;
}

.insurance-confirmation-alert {
    display: grid;
    gap: 5px;
    position: relative;
    margin-top: 16px;
    border: 1px solid #f1c06a;
    border-radius: 10px;
    padding: 14px 16px 14px 20px;
    color: #5f3b05;
    background: #fff7e8;
    box-shadow: 0 12px 24px rgba(138, 86, 10, 0.12);
}

.insurance-confirmation-alert::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 4px;
    border-radius: 0 6px 6px 0;
    background: #df8c14;
}

.insurance-confirmation-alert strong {
    color: #4b2f04;
    font-size: 16px;
}

.insurance-confirmation-alert span {
    color: #68440e;
    font-weight: 700;
    line-height: 1.45;
}

.insurance-confirmation-alert--error {
    border-color: #efb4b4;
    color: #7b1818;
    background: #fff0f0;
    box-shadow: 0 12px 24px rgba(139, 24, 24, 0.12);
}

.insurance-confirmation-alert--error::before {
    background: #d33b3b;
}

.insurance-confirmation-alert--error strong,
.insurance-confirmation-alert--error span {
    color: #7b1818;
}

.insurance-confirmation-status {
    flex: 0 0 auto;
    display: grid;
    gap: 4px;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    padding: 14px 16px;
    color: var(--blue-900);
    background: #fff;
    box-shadow: 0 10px 22px rgba(13, 47, 97, 0.08);
}

.insurance-confirmation-status span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.insurance-confirmation-status strong {
    font-size: 18px;
}

.insurance-confirmation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.42fr);
    gap: 24px;
    align-items: start;
}

.insurance-confirmation-main {
    display: grid;
    gap: 18px;
}

.insurance-confirmation-page .insurance-step-card {
    border: 1px solid #d5e1f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 36px rgba(13, 47, 97, 0.08);
}

.insurance-confirmation-page .insurance-summary-card {
    border: 0;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(18, 63, 120, 0.98), rgba(7, 44, 92, 0.98)),
        radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.20), transparent 34%);
    box-shadow: 0 18px 42px rgba(13, 47, 97, 0.20);
}

.insurance-confirmation-page .insurance-summary-card .eyebrow,
.insurance-confirmation-page .insurance-summary-card h2 {
    color: #fff;
}

.insurance-confirmation-page .insurance-summary-card dl {
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 10px;
}

.insurance-confirmation-page .insurance-summary-card dl div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    padding: 12px 14px;
}

.insurance-confirmation-page .insurance-summary-card dl div:last-child {
    border-bottom: 0;
}

.insurance-confirmation-page .insurance-step-card__head {
    border-bottom: 1px solid #e3ebf6;
    margin: -2px -2px 16px;
    padding: 2px 2px 15px;
}

.insurance-confirmation-steps {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: confirm-step;
}

.insurance-confirmation-steps li {
    position: relative;
    min-height: 42px;
    padding: 10px 12px 10px 54px;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    color: var(--ink);
    background: #f8fbff;
    font-weight: 700;
    line-height: 1.45;
    counter-increment: confirm-step;
}

.insurance-confirmation-steps li::before {
    content: counter(confirm-step);
    position: absolute;
    left: 12px;
    top: 10px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #f28a26, #e56d12);
    font-size: 14px;
    font-weight: 900;
}

.insurance-confirmation-contact dl {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
}

.insurance-confirmation-contact dl div {
    display: grid;
    gap: 3px;
    border-bottom: 1px solid #e3ebf6;
    padding-bottom: 10px;
}

.insurance-confirmation-contact dl div:last-child {
    border-bottom: 0;
}

.insurance-confirmation-contact dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.insurance-confirmation-contact dd {
    margin: 0;
    color: var(--blue-900);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.insurance-birthdate-calendar .calendar-head {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
}

.insurance-birthdate-calendar .calendar-head select {
    min-height: 36px;
    border: 1px solid #d8e2f1;
    border-radius: 6px;
    padding: 6px 8px;
    color: var(--blue-900);
    background: #fff;
    font-weight: 800;
}

.insurance-birthdate-calendar__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 8px;
}

.insurance-scope-modal {
    position: fixed;
    inset: 0;
    z-index: 150;
    display: grid;
    place-items: center;
    padding: 18px;
}

body.has-modal-open {
    overflow: hidden;
}

.insurance-scope-modal[hidden] {
    display: none;
}

.insurance-scope-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 25, 52, 0.58);
    backdrop-filter: blur(3px);
}

.insurance-scope-modal__panel {
    position: relative;
    z-index: 1;
    width: min(100%, 920px);
    max-height: min(86vh, 820px);
    overflow: auto;
    border-radius: 10px;
    padding: 26px;
    background: #fff;
    box-shadow: 0 26px 72px rgba(7, 25, 52, 0.28);
}

.insurance-scope-modal__panel .eyebrow {
    margin-right: 44px;
}

.insurance-scope-modal__close {
    position: sticky;
    top: 10px;
    float: right;
    z-index: 5;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #173a62;
    font-weight: 900;
    cursor: pointer;
}

.insurance-scope-modal__panel h2 {
    margin: 4px 42px 16px 0;
    color: var(--blue-900);
    font-size: 28px;
}

.insurance-scope-modal__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.insurance-scope-modal__columns article {
    border: 1px solid #d7e2f2;
    border-radius: 8px;
    padding: 16px;
    background: #f7fbff;
}

.insurance-scope-modal__columns h3 {
    margin: 0 0 10px;
    color: var(--blue-900);
}

.insurance-scope-modal__columns ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 18px;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.42;
}

.insurance-scope-modal__table {
    overflow: hidden;
    border: 1px solid #d7e2f2;
    border-radius: 8px;
}

.insurance-scope-modal__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, auto);
    gap: 14px;
    padding: 12px 14px;
    color: var(--ink);
    font-weight: 700;
}

.insurance-scope-modal__row:nth-child(even) {
    background: #f6f9fd;
}

.insurance-scope-modal__row.is-head {
    color: #fff;
    background: linear-gradient(135deg, #123f78, #082c5c);
}

.insurance-scope-modal__row strong:last-child {
    color: var(--blue-900);
    text-align: right;
}

.insurance-scope-modal__row.is-head strong:last-child {
    color: #fff;
}

.service-strip {
    text-align: center;
    background: #fff;
}

.service-clouds {
    padding: 42px 0 46px;
    background: #f7faff;
}

.alert-panel {
    padding: 38px 0 48px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(207, 218, 236, 0.75);
}

.alert-panel p {
    margin: -6px 0 14px;
    color: var(--blue-800);
    font-weight: 800;
}

.service-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 0;
}

.service-card {
    min-height: 84px;
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    column-gap: 10px;
    border: 1px solid #dce5f4;
    border-radius: 8px;
    padding: 12px 16px;
    text-align: left;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 18px rgba(16, 43, 85, 0.12);
}

.service-card span {
    grid-row: 1 / 3;
    color: var(--green);
    font-size: 34px;
    line-height: 1;
}

.service-card strong {
    color: var(--blue-900);
    align-self: end;
}

.service-card small {
    color: var(--blue-700);
    align-self: start;
    font-weight: 800;
}

.alert-action {
    display: flex;
    justify-content: center;
    margin: 0;
}

.alert-button {
    min-height: 54px;
    min-width: 220px;
    padding: 0 34px;
    font-size: 18px;
}

.alert-button::after {
    content: none;
}

.site-footer {
    padding: 34px 0 42px;
    color: #dbe8fb;
    background: #092d61;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}

.site-footer h3 {
    margin: 0 0 12px;
    color: #fff;
}

.site-footer a {
    display: block;
    padding: 5px 0;
    color: #dbe8fb;
    font-weight: 700;
}

.footer-bottom {
    margin-top: 28px;
    border-top: 1px solid rgba(219, 232, 251, 0.18);
    padding-top: 18px;
    color: rgba(219, 232, 251, 0.82);
    font-size: 13px;
    text-align: center;
}

.footer-bottom img {
    margin: 14px auto;
}

.footer-cookies {
    max-width: 920px;
    margin: 0 auto 10px;
}

.footer-cookies a {
    display: inline;
    padding: 0;
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.footer-copyright {
    margin-bottom: 12px;
}

.footer-iata {
    display: flex;
    justify-content: center;
}

.footer-iata img {
    width: 156px;
    opacity: 1;
    filter: brightness(1.55) contrast(1.16);
}

@media (max-width: 980px) {
    .header__inner {
        position: relative;
        flex-wrap: nowrap;
        gap: 12px;
        padding: 12px 0;
    }

    .tabs {
        flex-wrap: wrap;
    }

    .brand {
        width: 200px;
        height: 66px;
    }

    .brand img {
        width: 200px;
    }

    .menu-toggle {
        display: inline-flex;
        margin-left: auto;
    }

    .main-nav {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        z-index: 100;
        display: none;
        width: 100%;
        overflow: hidden;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin-left: 0;
        border: 1px solid #dce5f4;
        border-radius: 8px;
        padding: 8px;
        background: #fff;
        box-shadow: 0 18px 42px rgba(13, 47, 97, 0.18);
    }

    .main-nav.is-open {
        display: flex;
    }

    .menu-toggle[aria-expanded="true"] + .main-nav {
        display: flex;
    }

    .main-nav a {
        border-bottom: 0;
        border-radius: 6px;
        padding: 11px 12px;
    }

    .main-nav .is-active,
    .main-nav a:hover {
        background: #eef5ff;
        border-color: transparent;
    }

    .header-cta {
        margin-left: 0;
        min-height: 42px;
        padding: 0 14px;
        white-space: nowrap;
    }

    .hero__content {
        grid-template-columns: 1fr;
        width: min(100% - 24px, 1110px);
    }

    .search-form {
        grid-template-columns: 1fr 1fr;
    }

    .tf-result-card {
        grid-template-columns: 1fr;
    }

    .tf-result-card__price {
        border-right: 0;
        border-left: 0;
    }

    .tf-result-card__price {
        justify-items: start;
        text-align: left;
    }

    .search-form.is-oneway {
        grid-template-columns: 1fr 1fr;
    }

    .swap-airports {
        display: none;
    }

    .search-button {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        gap: 10px;
    }

    .search-button__label {
        display: inline;
    }

    .passenger-picker {
        grid-column: auto;
    }

    .search-form.is-oneway .passenger-picker {
        grid-column: auto;
    }

    .search-form.is-oneway .search-button {
        grid-column: 1 / -1;
    }

    .passenger-panel {
        left: 0;
        transform: none;
    }

    .return-date,
    .search-form label:nth-of-type(3),
    .search-form label:nth-of-type(5) {
        grid-column: span 1;
    }

    .qsf-airline-brand {
        grid-column: 1 / -1;
        width: 100%;
        margin-left: 0;
        white-space: normal;
    }

    .qsf-airline-brand p {
        white-space: normal;
    }

    .trust-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .about-hero,
    .about-layout {
        grid-template-columns: 1fr;
    }

    .about-badge-card {
        justify-items: start;
        text-align: left;
    }

    .airports-hero,
    .airport-country-grid,
    .airport-detail-layout,
    .airport-connections-grid,
    .connection-detail-grid,
    .cheap-flight-layout {
        grid-template-columns: 1fr;
    }

    .connection-facts {
        grid-template-columns: 1fr;
    }

    .connection-route-chip {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .promo-route-form,
    .promo-calendars,
    .promo-map-grid,
    .price-alert-form,
    .insurance-layout,
    .insurance-cover-grid,
    .insurance-docs,
    .insurance-step-grid,
    .insurance-payment-layout {
        grid-template-columns: 1fr;
    }

    .insurance-step-sidebar {
        position: static;
    }

    .insurance-passenger-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .insurance-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .insurance-actions {
        align-items: center;
        flex-direction: column;
    }

    .insurance-submit {
        width: 100%;
        align-self: center;
        flex: 0 0 auto;
    }

    .price-alert-repeat {
        grid-column: 1 / -1;
    }

    .price-alert-submit {
        width: 100%;
    }

    .promo-route-panel__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .promo-route-chip {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        padding: 10px 14px;
    }

    .iata {
        border-left: 0;
        padding-left: 0;
    }

    .promo-grid,
    .inspiration-grid,
    .home-airline-grid,
    .seo-grid,
    .service-grid,
    .cheap-flight-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 720px) {
    .container {
        width: min(100% - 24px, 1320px);
    }

    .hero {
        min-height: 0;
    }

    .cheap-flight-link-grid {
        grid-template-columns: 1fr;
    }

    .cheap-flight-city-image {
        float: none;
        width: 100%;
        margin: 0 0 16px;
    }

    .cheap-flight-flag {
        float: none;
        display: block;
        margin: 0 0 16px;
    }

    .cheap-flights-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .price-alert-hero {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .insurance-hero {
        grid-template-columns: 1fr;
        padding: 16px 18px;
    }

    .price-alert-hero__icon {
        justify-self: start;
        width: 108px;
        height: 108px;
    }

    .insurance-hero__badge {
        justify-self: center;
        width: 96px;
        height: 96px;
        border-radius: 22px;
    }

    .insurance-hero__badge svg {
        width: 62px;
        height: 62px;
    }

    .insurance-hero__trust {
        gap: 8px;
    }

    .insurance-hero__trust span {
        padding: 7px 10px;
        font-size: 12px;
    }

    .price-alert-card {
        padding: 18px;
    }

    .insurance-form,
    .insurance-doc-grid,
    .insurance-payment-grid,
    .insurance-company-fields,
    .insurance-contact-fields,
    .insurance-passenger-card {
        grid-template-columns: 1fr;
    }

    .insurance-contact-fields label,
    .insurance-contact-fields .insurance-phone-prefix-field,
    .insurance-contact-fields .insurance-phone-number-field {
        grid-column: auto;
    }

    .insurance-contact-fields .insurance-phone-prefix-field {
        grid-column: 1;
        padding-top: 24px;
    }

    .insurance-contact-fields .insurance-phone-number-field {
        grid-column: 2;
    }

    .insurance-phone-prefix-field span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .insurance-contact-fields {
        grid-template-columns: minmax(76px, 0.28fr) minmax(0, 1fr);
    }

    .insurance-contact-fields label:not(.insurance-phone-prefix-field):not(.insurance-phone-number-field) {
        grid-column: 1 / -1;
    }

    .insurance-payment-page .insurance-final-submit {
        width: 100%;
        justify-content: center;
    }

    .insurance-payment-layout {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .insurance-payment-layout .insurance-step-sidebar {
        order: 1;
        width: 100%;
        max-width: 100%;
        align-self: stretch;
    }

    .insurance-payment-layout .insurance-final-form {
        order: 2;
        gap: 12px;
    }

    .insurance-payment-layout .insurance-summary-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .insurance-payment-layout #insurance-full-scope {
        display: none;
    }

    .insurance-payment-page .insurance-step-card {
        padding: 16px;
    }

    .insurance-payment-page .insurance-step-card__head {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .insurance-payment-page .insurance-contact-fields {
        gap: 5px 8px;
        padding: 12px;
    }

    .insurance-payment-page .insurance-contact-fields label {
        gap: 2px;
    }

    .insurance-payment-page .insurance-contact-fields input {
        min-height: 44px;
        height: 44px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .insurance-payment-page .insurance-phone-prefix-field {
        align-self: start;
        padding-top: 28px;
    }

    .insurance-payment-page .insurance-form-error {
        min-height: 13px;
        font-size: 11px;
    }

    .insurance-confirmation-hero {
        display: block;
        margin-bottom: 10px;
        padding: 14px;
    }

    .insurance-confirmation-hero h1 {
        font-size: 24px;
    }

    .insurance-confirmation-status {
        margin-top: 12px;
    }

    .insurance-confirmation-layout {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .insurance-confirmation-layout .insurance-step-sidebar {
        order: 1;
        width: 100%;
        max-width: 100%;
        align-self: stretch;
    }

    .insurance-confirmation-main {
        order: 2;
        gap: 12px;
    }

    .insurance-confirmation-page .insurance-step-card {
        padding: 16px;
    }

    .insurance-confirmation-page .insurance-step-card__head {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .insurance-confirmation-steps {
        gap: 8px;
    }

    .insurance-confirmation-steps li {
        padding: 10px 12px 10px 48px;
    }

    .insurance-company-payer,
    .insurance-company-fields {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .insurance-company-payer {
        display: grid;
    }

    .insurance-company-fields {
        overflow: hidden;
        padding: 14px;
    }

    .insurance-company-fields label,
    .insurance-company-fields input,
    .insurance-company-fields select {
        min-width: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .insurance-company-field--wide {
        grid-column: auto;
    }

    .insurance-passenger-step-grid {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .insurance-passenger-step-grid .insurance-step-sidebar {
        order: 1;
        width: 100%;
        max-width: 100%;
        align-self: stretch;
    }

    .insurance-passenger-step-grid .insurance-passenger-form {
        order: 2;
        gap: 12px;
    }

    .insurance-passenger-step-grid .insurance-summary-card {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
        justify-self: stretch;
        align-self: stretch;
        box-sizing: border-box;
    }

    .insurance-passenger-step-grid #insurance-full-scope {
        display: none;
    }

    .insurance-passenger-step-grid .insurance-step-card {
        padding: 16px;
    }

    .insurance-passenger-step-grid .insurance-step-card__head h2,
    .insurance-passenger-step-grid .insurance-step-card h2 {
        font-size: 21px;
    }

    .insurance-passenger-step-grid .insurance-passenger-card {
        gap: 5px;
        margin-top: 7px;
        padding: 10px;
    }

    .insurance-passenger-step-grid .insurance-passenger-card label {
        gap: 2px;
    }

    .insurance-passenger-step-grid .insurance-passenger-card input,
    .insurance-passenger-step-grid .insurance-passenger-card select,
    .insurance-passenger-step-grid .insurance-birthdate-trigger {
        min-height: 44px;
    }

    .insurance-passenger-step-grid .insurance-form-error {
        min-height: 13px;
        font-size: 11px;
    }

    .insurance-passenger-step-grid .insurance-payment-grid {
        gap: 8px;
        margin-top: 10px;
    }

    .insurance-passenger-step-grid .insurance-payment-option {
        padding: 12px 14px;
    }

    .insurance-passenger-step-grid .insurance-payment-submit {
        margin-top: 12px;
    }

    .insurance-passengers-hero {
        display: block;
        margin-bottom: 10px;
        padding: 12px 14px;
        border-radius: 10px;
    }

    .insurance-passengers-hero h1 {
        margin: 2px 0 0;
        font-size: 22px;
        line-height: 1.15;
    }

    .insurance-passengers-hero .eyebrow,
    .insurance-passengers-hero p:last-child {
        display: none;
    }

    .insurance-passengers-hero .insurance-back-link {
        display: none !important;
    }

    .insurance-back-link,
    .insurance-payment-submit {
        width: 100%;
        justify-content: center;
    }

    .insurance-actions {
        grid-column: 1;
        align-items: center;
    }

    .insurance-submit {
        width: 100%;
        max-width: none;
        align-self: center;
        flex: 0 0 auto;
        min-width: 0;
        min-height: 50px;
        height: 50px;
        padding: 12px 22px;
        font-size: 14px;
        line-height: 1.2;
    }

    .insurance-scope-modal {
        padding: 10px;
    }

    .insurance-scope-modal__panel {
        max-height: 90vh;
        padding: 18px;
    }

    .insurance-scope-modal__columns,
    .insurance-scope-modal__row {
        grid-template-columns: 1fr;
    }

    .insurance-scope-modal__row strong:last-child {
        text-align: left;
    }

    .insurance-birthdate-calendar__controls {
        grid-template-columns: 1fr;
    }

    .insurance-final-passengers__head {
        display: none;
    }

    .insurance-final-passengers__row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .insurance-final-price div {
        align-items: flex-start;
        flex-direction: column;
    }

    .insurance-cover-card li {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .price-alert-card__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .price-alert-repeat label {
        display: flex;
        margin-right: 0;
    }

    .price-alert-item {
        grid-template-columns: 1fr;
    }

    .price-alert-item p,
    .price-alert-item a {
        grid-column: auto;
        grid-row: auto;
    }

    .price-alert-item a {
        justify-self: start;
    }

    .cheap-flights-hero__flag {
        width: 96px;
    }

    .header__inner {
        width: min(100% - 24px, 1320px);
    }

    .brand {
        width: 200px;
        height: 58px;
    }

    .brand img {
        width: 200px;
    }

    .header-cta {
        display: none;
    }

    .hero__content {
        padding: 42px 0 38px;
    }

    .contact-page {
        padding: 38px 0 46px;
    }

    .contact-header h1 {
        font-size: 34px;
    }

    .contact-header p {
        font-size: 16px;
    }

    .about-page {
        padding: 38px 0 48px;
    }

    .about-hero h1 {
        font-size: 34px;
    }

    .about-hero p:last-child {
        font-size: 16px;
    }

    .about-hero,
    .about-card,
    .about-company-card,
    .about-badge-card {
        padding: 20px;
    }

    .about-badge-card img {
        max-width: 190px;
    }

    .business-visual {
        justify-content: flex-start;
        padding: 20px;
    }

    .business-visual img {
        width: min(100%, 220px);
    }

    .about-company-card dl div {
        display: grid;
        gap: 2px;
    }

    .airports-page {
        padding: 38px 0 48px;
    }

    .airports-hero {
        padding: 20px;
    }

    .airports-hero h1 {
        font-size: 34px;
    }

    .airports-hero p:last-child {
        font-size: 16px;
    }

    .airports-hero__stat {
        justify-items: start;
    }

    .airport-list-item {
        grid-template-columns: 26px minmax(0, 1fr);
        padding: 12px 14px;
    }

    .legal-page {
        padding: 38px 0 48px;
    }

    .legal-hero,
    .legal-card {
        padding: 20px;
    }

    .legal-hero h1 {
        font-size: 34px;
    }

    .legal-hero p:last-child {
        font-size: 16px;
    }

    .legal-card ol {
        padding-left: 20px;
    }

    .legal-card .content-top {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .legal-card .content-top-h1 h1 {
        font-size: 24px;
    }

    .legal-card .iata-box {
        justify-content: flex-start;
    }

    .contact-form-card,
    .contact-info-card {
        padding: 20px;
    }

    .contact-form {
        grid-template-columns: 1fr;
    }

    .contact-info-item {
        grid-template-columns: 1fr;
    }

    .contact-phone {
        font-size: 24px;
    }

    .promo-page {
        padding: 38px 0 48px;
    }

    .promo-page__header h1 {
        font-size: 34px;
    }

    .promo-route-form,
    .promo-route-panel {
        padding: 16px;
    }

    .promo-trip-toggle {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .promo-calendar-month {
        min-height: 360px;
        padding: 10px;
    }

    .promo-calendar-nav {
        width: 34px;
        height: 34px;
        font-size: 24px;
    }

    .promo-calendar-title {
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        gap: 6px;
    }

    .promo-calendar-title [data-month-prev-slot],
    .promo-calendar-title [data-month-next-slot] {
        min-width: 34px;
        min-height: 34px;
    }

    .promo-calendar-weekdays,
    .promo-calendar-grid {
        gap: 4px;
    }

    .promo-day,
    .promo-day--blank {
        min-height: 48px;
    }

    .promo-day strong {
        font-size: 11px;
    }

    .promo-go-form {
        display: block;
    }

    .promo-calendar-summary {
        grid-template-columns: 1fr;
    }

    .promo-passenger-picker,
    .promo-go-form .button {
        width: 100%;
    }

    .promo-passenger-picker .passenger-panel {
        left: 0;
        right: auto;
        width: min(320px, calc(100vw - 48px));
    }

    .hero h1 {
        font-size: 36px;
    }

    .hero__copy p:last-child {
        font-size: 18px;
    }

    .tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tab {
        min-width: 0;
        padding: 10px 8px;
    }

    .travel-class {
        grid-column: 1 / -1;
        margin-left: 0;
    }

    .travel-class select {
        border-radius: 7px;
    }

    .tf-results,
    .tf-results-loading,
    .tf-results-error,
    .tf-results-empty {
        padding: 20px;
    }

    .tf-results__top,
    .tf-results-loading {
        display: grid;
        justify-items: start;
    }

    .tf-results__top small {
        white-space: normal;
    }

    .tf-results__meta {
        justify-content: flex-start;
        text-align: left;
    }

    .tf-results__downloads {
        justify-content: flex-start;
    }

    .tf-result-card {
        grid-template-columns: 1fr;
    }

    .tf-result-card__price {
        border-left: 0;
        border-right: 0;
    }

    .tf-result-card__price {
        justify-items: start;
        text-align: left;
    }

    .tf-result-leg {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tf-result-leg > em,
    .tf-airline-logo {
        justify-self: start;
        text-align: left;
    }

    .tf-flight-times {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tf-flight-point {
        min-width: 0;
        text-align: left;
    }

    .tf-flight-point strong {
        font-size: 17px;
    }

    .tf-flight-line {
        justify-items: start;
        min-width: 0;
        text-align: left;
    }

    .tf-flight-line i {
        width: min(220px, 100%);
    }

    .tf-leg-details {
        width: min(100vw - 18px, 875px);
        max-height: calc(100vh - 18px);
        padding: 18px;
        border-radius: 4px;
    }

    .tf-leg-details__header {
        padding-bottom: 18px;
    }

    .tf-leg-details__route h4 {
        font-size: 18px;
    }

    .tf-leg-segment {
        grid-template-columns: 48px 18px minmax(0, 1fr);
        column-gap: 10px;
    }

    .tf-leg-segment__time b {
        font-size: 15px;
    }

    .tf-leg-segment__airport strong {
        font-size: 15px;
    }

    .tf-leg-segment__flight {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tf-leg-segment__flight {
        margin: 14px 0;
    }

    .tf-leg-layover {
        margin-left: 58px;
        margin-top: 12px;
    }

    .qsf-airline-brand {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 54px;
        margin-left: 0;
        padding: 8px 10px;
        gap: 10px;
        order: 4;
    }

    .qsf-airline-brand span {
        flex: 0 0 52px;
        width: 52px;
        height: 34px;
    }

    .qsf-airline-brand img {
        max-width: 52px;
        max-height: 34px;
    }

    .qsf-airline-brand p {
        font-size: 16px;
        line-height: 1.15;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .search-form,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .search-form.is-oneway {
        grid-template-columns: 1fr;
    }

    .search-button {
        grid-column: auto;
        justify-self: stretch;
        width: 100%;
        gap: 10px;
    }

    .swap-airports {
        justify-self: center;
        transform: rotate(90deg);
    }

    .passenger-picker {
        grid-column: auto;
    }

    .search-form.is-oneway .passenger-picker,
    .search-form.is-oneway .search-button {
        grid-column: auto;
    }

    .passenger-panel {
        left: 0;
        right: auto;
        width: min(320px, calc(100vw - 48px));
        transform: none;
    }

    .trust-card {
        grid-template-columns: 1fr;
    }

    .section-heading {
        display: block;
    }

    .promo-grid,
    .inspiration-grid,
    .home-airline-grid,
    .seo-grid,
    .service-grid {
        grid-template-columns: 1fr;
    }

    .home-airline-tile {
        min-height: 96px;
        grid-template-columns: 84px minmax(0, 1fr);
        padding: 14px;
    }

    .home-airline-tile span {
        min-height: 58px;
    }

    .home-airline-tile img {
        max-width: 68px;
        max-height: 38px;
    }

    .promo-card {
        min-height: 230px;
    }
}
.uapi-passengers-page {
    background: #f3f7fc;
    padding: 44px 0 72px;
}

body.uapi-passenger-price-is-confirming {
    cursor: progress;
}

body.uapi-passenger-price-is-confirming::before {
    background: rgba(7, 24, 48, .46);
    backdrop-filter: blur(6px);
    content: "";
    inset: 0;
    pointer-events: auto;
    position: fixed;
    z-index: 1200;
}

.uapi-passengers-page.is-price-confirming input,
.uapi-passengers-page.is-price-confirming select,
.uapi-passengers-page.is-price-confirming textarea,
.uapi-passengers-page.is-price-confirming button {
    cursor: wait;
}

body.uapi-passenger-price-is-confirming .uapi-flight-summary.is-confirming {
    position: relative;
    z-index: auto;
}

.uapi-passengers-layout {
    align-items: flex-start;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr);
}

.uapi-flight-summary,
.uapi-price-summary,
.uapi-passengers-empty,
.uapi-passenger-card,
.uapi-passengers-login-note {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .08);
}

.uapi-flight-summary {
    overflow: hidden;
    position: relative;
    grid-column: 1;
    grid-row: 2;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.uapi-booking-back-link {
    align-items: center;
    color: #002b61;
    display: inline-flex;
    gap: 12px;
    grid-column: 1;
    grid-row: 1;
    justify-self: flex-start;
    margin-bottom: -10px;
    min-height: 44px;
    text-decoration: none;
}

.uapi-booking-back-link span {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #cfe1f7;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(17, 55, 98, .08);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.uapi-booking-back-link span::before {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    content: "";
    height: 9px;
    transform: rotate(45deg);
    width: 9px;
}

.uapi-booking-back-link strong {
    font-size: .98rem;
    font-weight: 900;
}

.uapi-booking-back-link:hover {
    color: #0d58ad;
}

.uapi-flight-summary::before,
.uapi-flight-summary::after {
    pointer-events: none;
}

.uapi-flight-summary.is-confirming {
    border-color: transparent;
    box-shadow: none;
    overflow: hidden;
    z-index: auto;
}

.uapi-flight-summary.is-confirming .tf-result-card__legs {
    filter: blur(2.4px);
    opacity: .18;
    transition: filter .2s ease, opacity .2s ease;
}

.uapi-flight-summary.is-confirming::before {
    content: none;
}

.uapi-flight-summary.is-confirming::after {
    content: none;
}

.uapi-flight-confirm-notice {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(8, 39, 82, .86), rgba(4, 22, 48, .9));
    backdrop-filter: blur(18px) saturate(1.12);
    border: 0;
    border-radius: 12px;
    box-shadow: 0 18px 44px rgba(3, 14, 29, .28);
    color: #fff;
    display: grid;
    gap: 12px;
    justify-items: center;
    left: 50%;
    max-width: min(380px, calc(100% - 36px));
    overflow: hidden;
    padding: 22px 24px 24px;
    position: fixed;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 1202;
}

.uapi-flight-confirm-notice::before {
    animation: uapiConfirmProgress 1.8s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, #f47b20, #37b878, transparent);
    content: "";
    height: 3px;
    left: -45%;
    position: absolute;
    top: 0;
    width: 45%;
}

.uapi-flight-confirm-notice::after {
    animation: uapiNoticeWave 3.8s ease-in-out infinite;
    background:
        radial-gradient(circle at 20% 50%, rgba(55, 184, 120, .18), transparent 30%),
        radial-gradient(circle at 72% 38%, rgba(244, 123, 32, .16), transparent 34%),
        repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .08) 0 1px, transparent 1px 18px);
    content: "";
    inset: -45%;
    opacity: .7;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

.uapi-flight-confirm-notice strong {
    color: #ffd166;
    display: block;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    max-width: 330px;
}

.uapi-flight-confirm-notice__logo {
    display: block;
    height: auto;
    margin-bottom: 2px;
    max-width: 142px;
    position: relative;
    z-index: 1;
}

.uapi-flight-confirm-notice small {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.48;
    max-width: 320px;
}

.uapi-flight-confirm-notice__pulse {
    animation: insuranceSpin 1s linear infinite;
    border: 3px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    border-top-color: #f47b20;
    height: 38px;
    width: 38px;
}

@keyframes uapiConfirmProgress {
    0% {
        left: -45%;
    }

    55%,
    100% {
        left: 100%;
    }
}

@keyframes uapiNoticeWave {
    0%,
    100% {
        transform: translate3d(-2%, -1%, 0) scale(1);
    }

    50% {
        transform: translate3d(2%, 1%, 0) scale(1.08);
    }
}

.uapi-flight-summary.tf-result-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.uapi-flight-summary .tf-result-card__legs {
    padding: 18px 24px 16px;
}

.uapi-flight-summary .tf-result-leg {
    grid-template-columns: minmax(520px, 1fr) minmax(150px, .2fr);
}

.uapi-flight-summary .tf-result-leg:last-of-type {
    border-bottom: 1px solid #e7eff9;
}

.uapi-flight-summary .tf-result-card__fares {
    margin-top: 10px;
}

.uapi-flight-details-static {
    pointer-events: none;
}

.uapi-passengers-content {
    grid-column: 1;
    grid-row: 3;
    min-width: 0;
    margin-top: -4px;
}

.uapi-price-summary {
    grid-column: 2;
    grid-row: 2 / span 3;
    overflow: hidden;
    position: sticky;
    top: 112px;
}

.uapi-flight-summary__head {
    background: #fff;
    border-bottom: 1px solid #e4edf8;
    color: #002b61;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr auto;
    padding: 24px 28px;
}

.uapi-flight-summary__head span,
.uapi-flight-summary__head p,
.uapi-flight-price small,
.uapi-flight-fare span,
.uapi-flight-fare small,
.uapi-flight-segment small,
.uapi-passenger-card__head small {
    color: #66809f;
    display: block;
    font-weight: 800;
}

.uapi-flight-summary__head span {
    color: #66809f;
    grid-column: 1 / -1;
    margin-bottom: 2px;
}

.uapi-flight-summary__head h1 {
    font-size: 1.75rem;
    grid-column: 1;
    margin: 0;
}

.uapi-flight-summary__head p {
    color: #526b89;
    grid-column: 1;
    margin: 0;
}

.uapi-flight-summary__head b {
    align-self: center;
    background: #fff7df;
    border: 1px solid #f4bd4a;
    border-radius: 999px;
    color: #31506f;
    font-size: .82rem;
    grid-column: 2;
    grid-row: 2 / span 2;
    padding: 6px 10px;
}

.uapi-flight-price,
.uapi-flight-fare,
.uapi-flight-leg {
    border-bottom: 1px solid #e4edf8;
    padding: 22px 28px;
}

.uapi-flight-price,
.uapi-flight-fare {
    display: none;
}

.uapi-flight-price strong {
    color: #002b61;
    display: block;
    font-size: 2rem;
    line-height: 1;
}

.uapi-flight-fare strong {
    color: #002b61;
}

.uapi-flight-leg h2 {
    color: #002b61;
    font-size: .9rem;
    letter-spacing: 0;
    margin: 0 0 16px;
}

.uapi-flight-segment {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(170px, .3fr) minmax(260px, .4fr) minmax(170px, .3fr);
    padding: 17px 0;
}

.uapi-flight-segment + .uapi-flight-segment {
    border-top: 1px solid #e8f0fa;
}

.uapi-flight-point {
    display: grid;
    gap: 4px;
    justify-items: start;
    min-width: 0;
    text-align: left;
}

.uapi-flight-segment strong {
    color: #061f44;
    display: block;
    font-size: 21px;
    line-height: 1.1;
}

.uapi-flight-segment em {
    color: #7186a1;
    display: block;
    font-style: normal;
    font-weight: 900;
    margin-top: 4px;
}

.uapi-flight-segment span {
    color: #53657d;
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    margin-top: 4px;
    max-width: 240px;
    text-align: left;
}

.uapi-flight-segment__route {
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    text-align: center;
}

.uapi-flight-segment__route i {
    background: #ffb31a;
    display: block;
    height: 1px;
    width: 100%;
}

.uapi-flight-segment__route small,
.uapi-flight-segment__details {
    color: #66809f;
    font-weight: 900;
}

.uapi-flight-segment__details {
    background: #f5f9fe;
    border: 1px solid #e0ebf8;
    border-radius: 999px;
    display: inline-flex;
    grid-column: 2;
    justify-self: center;
    padding: 7px 12px;
}

.uapi-passengers-header {
    margin-bottom: 14px;
}

.uapi-passengers-header h1 {
    color: #002b61;
    font-size: clamp(1.22rem, 1.9vw, 1.62rem);
    margin: 0 0 6px;
}

.uapi-passengers-header p:last-child {
    color: #526b89;
    font-size: .96rem;
    margin: 0;
    max-width: 760px;
}

.uapi-passengers-alert {
    background: #fff2f2;
    border: 1px solid #ffd2d2;
    border-radius: 12px;
    color: #9c1f1f;
    font-weight: 800;
    margin-bottom: 18px;
    padding: 14px 16px;
}

.uapi-passengers-alert--success {
    background: #edfff6;
    border-color: #bcebd2;
    color: #087a44;
}

.uapi-payment-error {
    margin-bottom: 0;
}

.uapi-passengers-login-note {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 16px 18px;
}

.uapi-passengers-login-note strong {
    color: #002b61;
}

.uapi-passengers-login-note span {
    color: #526b89;
    flex: 1;
}

.uapi-passengers-login-note a,
.uapi-passengers-login-note button,
.uapi-passengers-actions a {
    background: transparent;
    border: 0;
    color: #075aa8;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0;
    text-decoration: none;
}

.uapi-passengers-login-note button:hover,
.uapi-passengers-login-note button:focus-visible {
    color: #003f82;
    text-decoration: underline;
}

.uapi-login-modal[hidden] {
    display: none;
}

.uapi-login-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 10070;
}

body.has-uapi-login-modal {
    overflow: hidden;
}

.uapi-login-modal__backdrop {
    backdrop-filter: blur(8px);
    background: rgba(7, 24, 48, .58);
    inset: 0;
    position: absolute;
}

.uapi-login-modal__dialog {
    background: #fff;
    border: 1px solid rgba(190, 211, 238, .9);
    border-radius: 18px;
    box-shadow: 0 28px 90px rgba(0, 43, 97, .28);
    max-width: 430px;
    overflow: hidden;
    position: relative;
    width: min(430px, 92vw);
}

.uapi-login-modal__head {
    align-items: center;
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border-bottom: 1px solid #dbe8f7;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 22px 24px 18px;
}

.uapi-login-modal__head small {
    color: #5c789a;
    display: block;
    font-size: .76rem;
    font-weight: 900;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.uapi-login-modal__head h2 {
    color: #002b61;
    font-size: 1.35rem;
    letter-spacing: 0;
    margin: 0;
}

.uapi-login-modal__head button {
    align-items: center;
    background: #fff;
    border: 1px solid #d8e7f8;
    border-radius: 50%;
    color: #002b61;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.45rem;
    font-weight: 950;
    height: 40px;
    justify-content: center;
    line-height: 1;
    width: 40px;
}

.uapi-login-modal__form {
    display: grid;
    gap: 14px;
    padding: 22px 24px 24px;
}

.uapi-login-modal__form label {
    color: #18395f;
    display: grid;
    font-size: .9rem;
    font-weight: 850;
    gap: 7px;
}

.uapi-login-modal__form input {
    border: 1px solid #c9daef;
    border-radius: 10px;
    color: #002b61;
    font: inherit;
    min-height: 46px;
    padding: 11px 12px;
}

.uapi-login-modal__form input:focus {
    border-color: #0f66c9;
    box-shadow: 0 0 0 3px rgba(15, 102, 201, .12);
    outline: none;
}

.uapi-login-modal__alert {
    background: #fff2f2;
    border: 1px solid #ffd2d2;
    border-radius: 12px;
    color: #9c1f1f;
    font-size: .9rem;
    font-weight: 800;
    padding: 12px 14px;
}

.uapi-login-modal__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 4px;
}

.uapi-login-modal__actions a {
    color: #075aa8;
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
}

.uapi-login-modal__actions a:hover {
    text-decoration: underline;
}

.uapi-login-modal__actions button {
    min-height: 44px;
}

.uapi-passenger-card {
    margin-bottom: 18px;
    padding: 22px;
}

.uapi-passenger-card h2 {
    color: #002b61;
    font-size: 1.3rem;
    margin: 0;
}

.uapi-passenger-card__head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.uapi-passenger-card__head > div:first-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.uapi-passenger-card__head small {
    align-items: center;
    background: linear-gradient(135deg, #eef6ff, #dcecff);
    border: 1px solid #bfd6f4;
    border-radius: 999px;
    color: #002b61;
    display: inline-flex;
    font-size: 1.02rem;
    font-weight: 950;
    margin-bottom: 0;
    padding: 7px 13px;
}

.uapi-profile-select {
    min-width: 260px;
}

.uapi-passengers-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(104px, .32fr) minmax(230px, 1.08fr) minmax(230px, 1.08fr) minmax(300px, 1.15fr);
}

.uapi-passenger-field--gender select {
    max-width: 128px;
}

.uapi-passengers-grid label,
.uapi-profile-select {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.uapi-passengers-grid span,
.uapi-profile-select span {
    color: #002b61;
    font-size: .9rem;
    font-weight: 900;
}

.uapi-passengers-grid input,
.uapi-passengers-grid select,
.uapi-profile-select select,
.uapi-birthdate-trigger {
    background: #fff;
    border: 1px solid #bdd2ee;
    border-radius: 10px;
    color: #002b61;
    font: inherit;
    font-weight: 800;
    min-height: 48px;
    padding: 0 14px;
    width: 100%;
}

.uapi-passengers-grid input:focus,
.uapi-passengers-grid select:focus,
.uapi-profile-select select:focus,
.uapi-birthdate-trigger:focus {
    border-color: #0b63bb;
    box-shadow: 0 0 0 3px rgba(11, 99, 187, .13);
    outline: none;
}

.uapi-passenger-field.has-error input,
.uapi-passenger-field.has-error select,
.uapi-passenger-field.has-error .uapi-birthdate-trigger {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, .16), inset 0 1px 2px rgba(16, 43, 85, .04);
}

.uapi-passenger-field.has-error > span:first-child {
    color: #c51f1a;
}

.uapi-passenger-field.has-error > .insurance-form-error {
    color: #c51f1a;
    visibility: visible;
}

.uapi-passenger-field .insurance-form-error {
    min-height: 17px;
}

.uapi-birthdate-wrap {
    display: block;
    width: 100%;
}

.uapi-birthdate-selects {
    display: grid;
    grid-template-columns: 72px minmax(118px, 1fr) 92px;
    gap: 8px;
}

.uapi-birthdate-selects select {
    width: 100%;
}

.uapi-birthdate-trigger {
    align-items: center;
    display: flex;
    justify-content: space-between;
    text-align: left;
}

.uapi-birthdate-trigger::after {
    color: #0d4e9d;
    content: "▾";
    font-size: 13px;
    margin-left: 8px;
}

.uapi-baggage-card {
    margin-top: 18px;
    border: 1px solid #e1ebf7;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff, #f3f7fc);
    overflow: hidden;
}

.uapi-baggage-card__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #e1ebf7;
    background: #fff;
    padding: 14px 18px;
}

.uapi-baggage-card__intro h3 {
    margin: 0;
    color: #002b61;
    font-size: 1rem;
}

.uapi-baggage-card__intro p {
    margin: 0;
    color: #526b89;
    font-size: .88rem;
    font-weight: 750;
}

.uapi-baggage-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
}

.uapi-baggage-card__item {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 112px;
    border-radius: 12px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, .78);
    padding: 14px;
}

.uapi-baggage-card__item img {
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.uapi-baggage-card__item label,
.uapi-baggage-card__item div {
    display: grid;
    gap: 8px;
}

.uapi-baggage-card__item label {
    cursor: pointer;
}

.uapi-baggage-card__item span,
.uapi-baggage-card__item strong {
    color: #002b61;
    font-size: .95rem;
    font-weight: 950;
}

.uapi-baggage-card__item select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #bdd2ee;
    border-radius: 10px;
    background: #fff;
    color: #002b61;
    cursor: pointer;
    font-weight: 800;
    padding: 8px 12px;
}

.uapi-baggage-card__item select[data-uapi-checked-baggage] {
    font-size: .9rem;
    padding-right: 28px;
}

.uapi-baggage-direction-list {
    display: grid;
    gap: 8px;
}

.uapi-baggage-direction {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.uapi-baggage-direction span {
    font-size: .82rem;
    font-weight: 900;
}

.uapi-baggage-card__item p[data-uapi-hand-baggage] {
    display: grid;
    gap: 8px;
}

.uapi-baggage-card__item p[data-uapi-hand-baggage] .uapi-baggage-hand-direction {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.uapi-baggage-card__item p[data-uapi-hand-baggage] .uapi-baggage-hand-direction__label,
.uapi-baggage-card__item p[data-uapi-hand-baggage] .uapi-baggage-hand-direction__text,
.uapi-baggage-card__item [data-uapi-split-hand-baggage] .uapi-baggage-direction span {
    color: #002b61;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.35;
}

.uapi-baggage-card__item p span {
    display: block;
}

.uapi-baggage-card__item p {
    margin: 0;
    color: #3d5877;
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.35;
}

.uapi-baggage-card__item--included {
    background: #eef9f4;
}

.uapi-baggage-card__item--checked-included {
    background: #ddf2e8;
}

.uapi-baggage-card__item--selected {
    background: #effcf5;
    border-color: #a9dfbd;
    box-shadow: 0 10px 24px rgba(20, 157, 49, .12);
}

.uapi-baggage-card__item--included label {
    cursor: default;
}

.uapi-baggage-card__notice {
    background: #ddf2e8;
    border: 1px solid #b7e2cc;
    border-radius: 10px;
    color: #123f2a;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.4;
    margin: 0 18px 18px;
    padding: 12px 14px;
}

.uapi-baggage-card__notice[hidden] {
    display: none;
}

.uapi-priority-addon {
    align-items: center;
    background: #fff;
    border-top: 1px solid #e1ebf7;
    display: grid;
    gap: 18px;
    grid-template-columns: 120px minmax(0, 1fr);
    padding: 18px;
}

.uapi-priority-addon[hidden] {
    display: none;
}

.uapi-priority-addon img {
    height: 96px;
    object-fit: contain;
    width: 112px;
}

.uapi-priority-addon__content {
    display: grid;
    gap: 10px;
}

.uapi-priority-addon__content strong {
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-priority-addon__content ul {
    display: grid;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-priority-addon__content li {
    color: #314d6f;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.35;
    padding-left: 22px;
    position: relative;
}

.uapi-priority-addon__content li::before {
    background: #16a34a;
    border-radius: 50%;
    color: transparent;
    content: "✓";
    font-size: 0;
    font-weight: 950;
    height: 15px;
    left: 0;
    line-height: 15px;
    position: absolute;
    text-align: center;
    top: 2px;
    width: 15px;
}

.uapi-priority-addon__content li::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 7px;
    left: 5px;
    position: absolute;
    top: 5px;
    transform: rotate(45deg);
    width: 4px;
}

.uapi-priority-addon__content .uapi-priority-details--directions {
    gap: 14px;
}

.uapi-priority-addon__content li.uapi-priority-direction {
    display: grid;
    gap: 5px;
    padding-left: 0;
}

.uapi-priority-addon__content li.uapi-priority-direction::before {
    display: none;
}

.uapi-priority-addon__content li.uapi-priority-direction::after {
    display: none;
}

.uapi-priority-direction__label {
    color: #002b61;
    font-size: .9rem;
    font-weight: 950;
    text-transform: uppercase;
}

.uapi-priority-direction__item {
    color: #314d6f;
    display: block;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.35;
    padding-left: 22px;
    position: relative;
}

.uapi-priority-direction__item::before {
    background: #16a34a;
    border-radius: 50%;
    color: transparent;
    content: "âś“";
    font-size: 0;
    font-weight: 950;
    height: 15px;
    left: 0;
    line-height: 15px;
    position: absolute;
    text-align: center;
    top: 2px;
    width: 15px;
}

.uapi-priority-direction__item::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 7px;
    left: 5px;
    position: absolute;
    top: 5px;
    transform: rotate(45deg);
    width: 4px;
}

.uapi-priority-direction.is-unavailable .uapi-priority-direction__item {
    color: #75550b;
}

.uapi-priority-direction.is-unavailable .uapi-priority-direction__item::before {
    background: #f59e0b;
    color: #fff;
    content: "!";
    font-size: 10px;
    line-height: 15px;
    text-align: center;
}

.uapi-priority-direction.is-unavailable .uapi-priority-direction__item::after {
    display: none;
}

.uapi-priority-addon__content label {
    align-items: center;
    color: #002b61;
    cursor: pointer;
    display: flex;
    gap: 9px;
    font-size: .92rem;
    font-weight: 900;
}

.uapi-priority-addon__content .uapi-payment-cancel-insurance__option {
    align-items: center;
    display: grid;
    font-size: initial;
    font-weight: initial;
    gap: 14px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    margin-top: 2px;
}

.uapi-priority-addon__content input {
    accent-color: #16a34a;
    cursor: pointer;
    height: 17px;
    width: 17px;
}

.uapi-protection-addon {
    background: #fff;
    border: 1px solid #cfe0f6;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 43, 97, .08);
    margin-top: 28px;
    overflow: hidden;
}

.uapi-protection-addon__head {
    align-items: center;
    background: linear-gradient(135deg, #0578bd, #16a6bc);
    color: #fff;
    display: grid;
    gap: 4px 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 18px 22px;
}

.uapi-protection-addon__head h3 {
    font-size: 1.32rem;
    font-weight: 950;
    margin: 0;
}

.uapi-protection-addon__body {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
    padding: 24px 26px 18px;
}

.uapi-protection-addon__media {
    align-items: center;
    background: linear-gradient(135deg, #f7fbff, #eef8ff);
    border: 1px solid #d8e8fa;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 220px;
    overflow: hidden;
    padding: 12px;
}

.uapi-protection-addon__media img {
    display: block;
    max-height: 240px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.uapi-protection-addon__content {
    display: grid;
    gap: 16px;
}

.uapi-protection-addon__content ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-protection-addon__content li {
    color: #18395f;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.35;
    padding-left: 28px;
    position: relative;
}

.uapi-protection-addon__content li::before {
    background: #18b36a;
    border-radius: 50%;
    color: #fff;
    content: "✓";
    font-size: 12px;
    font-weight: 950;
    height: 18px;
    left: 0;
    line-height: 18px;
    position: absolute;
    text-align: center;
    top: 1px;
    width: 18px;
}

.uapi-protection-addon__content a {
    color: #0054ad;
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
}

.uapi-protection-addon__content a:hover {
    text-decoration: underline;
}

.uapi-protection-addon__intro {
    display: grid;
    gap: 12px;
}

.uapi-protection-addon__intro p {
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
    margin: 0;
}

.uapi-protection-addon__intro ul {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-protection-addon__intro li {
    color: #17385d;
    font-size: .96rem;
    font-weight: 820;
    line-height: 1.36;
    padding-left: 30px;
    position: relative;
}

.uapi-protection-addon__intro li::before {
    align-items: center;
    background: #19a961;
    border-radius: 50%;
    color: #fff;
    content: "✓";
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 20px;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 1px;
    width: 20px;
}

.uapi-protection-addon__intro a {
    color: #0f5aa5;
    font-size: .9rem;
    font-weight: 900;
    text-decoration: none;
}

.uapi-protection-addon__intro a:hover {
    text-decoration: underline;
}

.uapi-protection-addon__price {
    align-content: center;
    background: #f7fbff;
    border: 1px solid #d8e8fa;
    border-radius: 12px;
    display: grid;
    gap: 7px;
    grid-column: 1 / -1;
    padding: 18px;
}

.uapi-protection-addon__price span,
.uapi-protection-addon__price small {
    color: #58708d;
    font-size: .86rem;
    font-weight: 800;
}

.uapi-protection-addon__price strong {
    color: #002b61;
    font-size: 2rem;
    font-weight: 950;
}

.uapi-protection-addon__state {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.uapi-protection-addon__actions {
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding: 20px 26px 8px;
}

.uapi-protection-addon__button {
    align-items: center;
    border: 0;
    border-radius: 8px;
    display: inline-flex;
    font-size: 1.08rem;
    font-weight: 950;
    justify-content: center;
    min-height: 56px;
    text-decoration: none;
}

.uapi-protection-addon__button--skip {
    background: #aeb4bc;
    box-shadow: none;
    color: #fff;
}

.uapi-protection-addon__button--skip:hover {
    background: #989fa9;
}

.uapi-protection-addon__button--take::after,
.uapi-protection-addon__button--skip::after {
    content: "✈";
    font-size: 1.1em;
    margin-left: 10px;
}

.uapi-protection-addon__button--take::after {
    content: "✈ + 🛡";
}

.uapi-protection-addon__captions {
    color: #6f7f92;
    display: grid;
    font-size: .9rem;
    font-weight: 700;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding: 0 26px 22px;
    text-align: center;
}

.uapi-passengers-payment-fallback {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    padding: 20px 24px;
    border: 1px solid #dbe6f5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(12, 46, 96, 0.08);
}

.uapi-passengers-payment-fallback__button {
    min-width: 230px;
    min-height: 54px;
}

@media (max-width: 760px) {
    .uapi-protection-addon__head,
    .uapi-protection-addon__body,
    .uapi-protection-addon__actions,
    .uapi-protection-addon__captions {
        grid-template-columns: 1fr;
    }

    .uapi-protection-addon__actions,
    .uapi-protection-addon__captions {
        gap: 10px;
    }

    .uapi-protection-addon__actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        padding: 18px 12px 6px;
    }

    .uapi-protection-addon__button {
        min-height: 48px;
        border-radius: 10px;
        padding: 0 8px;
        font-size: 13px;
        line-height: 1;
        white-space: nowrap;
    }

    .uapi-protection-addon__button--take::after,
    .uapi-protection-addon__button--skip::after {
        content: "\203A";
        margin-left: 6px;
        font-size: 18px;
        line-height: 1;
    }

    .uapi-protection-addon__captions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        padding: 0 12px 20px;
        font-size: 12px;
        line-height: 1.3;
        text-align: center;
    }

    .uapi-passengers-payment-fallback {
        margin-top: 18px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .uapi-passengers-payment-fallback__button {
        width: 100%;
        min-height: 58px;
        border-radius: 16px;
        font-size: 18px;
    }
}

.uapi-protection-addon__choice {
    align-items: center;
    color: #002b61;
    cursor: pointer;
    display: flex;
    gap: 10px;
    padding: 16px 12px;
}

.uapi-protection-addon__choice input {
    accent-color: #16a34a;
    cursor: pointer;
    height: 18px;
    width: 18px;
}

.uapi-protection-addon__choice span {
    font-size: .95rem;
    font-weight: 900;
}

.uapi-protection-addon__choice small {
    color: #526b89;
    font-size: .78rem;
    font-weight: 600;
}

.uapi-checkin-addon {
    background: #fff;
    border: 1px solid #d9e7f7;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(0, 43, 97, .08);
    margin-top: 22px;
    overflow: hidden;
}

.uapi-checkin-addon__head {
    align-items: center;
    background: linear-gradient(135deg, #0f66c9, #18b7bd);
    color: #fff;
    display: flex;
    gap: 12px;
    padding: 16px 22px;
}

.uapi-checkin-addon__head span {
    align-items: center;
    border: 2px solid rgba(255, 255, 255, .78);
    border-radius: 12px;
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.uapi-checkin-addon__head h3 {
    font-size: 1.05rem;
    font-weight: 950;
    margin: 0;
}

.uapi-checkin-addon__body {
    align-items: center;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(220px, 390px) minmax(0, 1fr);
    padding: 24px 28px;
}

.uapi-checkin-addon__body img {
    display: block;
    max-height: 260px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.uapi-checkin-addon__content {
    display: grid;
    gap: 16px;
}

.uapi-checkin-addon__content p {
    color: #002b61;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.4;
    margin: 0;
}

.uapi-checkin-addon__content ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-checkin-addon__content li {
    color: #18395f;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.35;
    padding-left: 28px;
    position: relative;
}

.uapi-checkin-addon__content li::before {
    background: #1c8deb;
    border-radius: 50%;
    color: #fff;
    content: "✓";
    font-size: 12px;
    font-weight: 950;
    height: 18px;
    left: 0;
    line-height: 18px;
    position: absolute;
    text-align: center;
    top: 1px;
    width: 18px;
}

.uapi-checkin-addon__content label {
    align-items: center;
    border-top: 1px solid #dfeaf7;
    color: #002b61;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin-top: 2px;
    padding-top: 15px;
}

.uapi-checkin-addon__content input {
    accent-color: #0f66c9;
    cursor: pointer;
    height: 18px;
    width: 18px;
}

.uapi-checkin-addon__content label span {
    font-size: .95rem;
    font-weight: 900;
}

.uapi-checkin-addon__content small {
    color: #526b89;
    font-size: .78rem;
    font-weight: 600;
}

.uapi-protection-modal[hidden] {
    display: none;
}

.uapi-protection-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 28px;
    position: fixed;
    z-index: 10050;
}

.uapi-protection-modal__backdrop {
    backdrop-filter: blur(8px);
    background: rgba(7, 24, 48, .58);
    inset: 0;
    position: absolute;
}

.uapi-protection-modal__dialog {
    background: #fff;
    border: 1px solid rgba(190, 211, 238, .9);
    border-radius: 24px;
    box-shadow: 0 28px 90px rgba(0, 43, 97, .28);
    max-height: calc(100vh - 56px);
    max-width: 980px;
    overflow: auto;
    position: relative;
    width: min(980px, 92vw);
}

.uapi-protection-modal__head {
    align-items: center;
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border-bottom: 1px solid #dbe8f7;
    color: #002b61;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 24px 28px 20px;
    position: sticky;
    top: 0;
    z-index: 4;
}

.uapi-protection-modal__head h3 {
    font-size: 1.35rem;
    font-weight: 950;
    letter-spacing: 0;
    margin: 0;
}

.uapi-protection-modal__head button {
    align-items: center;
    background: #fff;
    border: 1px solid #d8e7f8;
    border-radius: 50%;
    color: #002b61;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.5rem;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    line-height: 1;
    position: relative;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
    width: 42px;
    z-index: 5;
}

.uapi-protection-modal__head button:hover {
    background: #edf6ff;
    border-color: #b8d3f2;
    transform: translateY(-1px);
}

.uapi-protection-modal__download {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #dce9f8;
    border-radius: 16px;
    color: #18395f;
    display: flex;
    flex-wrap: wrap;
    font-size: .95rem;
    gap: 10px;
    margin: 22px 28px 18px;
    padding: 14px 16px;
}

.uapi-protection-modal__download a {
    background: #ffb21a;
    border-radius: 999px;
    color: #002b61;
    display: inline-flex;
    font-size: .86rem;
    font-weight: 950;
    margin-left: auto;
    padding: 9px 16px;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}

.uapi-protection-modal__download a:hover {
    background: #ffc247;
    text-decoration: none;
    transform: translateY(-1px);
}

.uapi-protection-modal__pdf {
    align-items: center;
    background: #fff;
    border: 1px solid #f4b4b4;
    border-radius: 9px;
    color: #d32727;
    display: inline-flex;
    font-size: .66rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.uapi-protection-modal__copy {
    color: #18395f;
    display: grid;
    gap: 18px;
    margin: 0 28px 22px;
}

.uapi-protection-modal__copy h4 {
    color: #002b61;
    font-size: 1.05rem;
    font-weight: 950;
    margin: 0;
}

.uapi-protection-modal__columns {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.uapi-protection-modal__columns section {
    background: #f7fbff;
    border: 1px solid #dce9f8;
    border-radius: 14px;
    padding: 16px;
}

.uapi-protection-modal__columns h5 {
    color: #002b61;
    font-size: .98rem;
    font-weight: 950;
    margin: 0 0 10px;
}

.uapi-protection-modal__columns ul {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-protection-modal__columns li {
    color: #314d6f;
    font-size: .9rem;
    font-weight: 720;
    line-height: 1.38;
    padding-left: 18px;
    position: relative;
}

.uapi-protection-modal__columns li::before {
    color: #0f8ec8;
    content: "-";
    font-weight: 950;
    left: 0;
    position: absolute;
}

.uapi-protection-modal__table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 28px 32px;
    overflow: hidden;
    width: calc(100% - 56px);
}

.uapi-protection-modal__table th {
    background: #002b61;
    color: #fff;
    font-size: .95rem;
    font-weight: 950;
    padding: 17px 18px;
    text-align: left;
}

.uapi-protection-modal__table th:first-child {
    border-top-left-radius: 16px;
}

.uapi-protection-modal__table th:last-child {
    border-top-right-radius: 16px;
}

.uapi-protection-modal__table td {
    border-bottom: 1px solid #e5eef9;
    border-left: 1px solid #e5eef9;
    color: #18395f;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 18px;
    vertical-align: middle;
}

.uapi-protection-modal__table td:last-child {
    border-right: 1px solid #e5eef9;
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-protection-modal__table tr.is-section td {
    background: #eaf3ff;
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-protection-modal__table tr:last-child td:first-child {
    border-bottom-left-radius: 16px;
}

.uapi-protection-modal__table tr:last-child td:last-child {
    border-bottom-right-radius: 16px;
}

.uapi-protection-modal__table th:first-child,
.uapi-protection-modal__table td:first-child {
    width: 70%;
}

.uapi-seat-addon {
    background: #fff;
    border: 1px solid #b8d4f5;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(0, 43, 97, .08);
    margin-top: 22px;
    overflow: hidden;
}

.uapi-seat-addon__head {
    align-items: center;
    background: linear-gradient(135deg, #0f66c9, #2288ed);
    color: #fff;
    display: flex;
    gap: 12px;
    padding: 16px 22px;
}

.uapi-seat-addon__head span {
    align-items: center;
    border: 2px solid rgba(255, 255, 255, .8);
    border-radius: 12px;
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}

.uapi-seat-addon__head h3 {
    font-size: 1.05rem;
    font-weight: 950;
    margin: 0;
}

.uapi-seat-addon__body {
    align-items: center;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(220px, 390px) minmax(0, 1fr);
    padding: 24px 28px;
}

.uapi-seat-addon__body > img {
    display: block;
    max-height: 260px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.uapi-seat-addon__content {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.uapi-seat-addon__content ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-seat-addon__content li {
    color: #18395f;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.35;
    padding-left: 28px;
    position: relative;
}

.uapi-seat-addon__content li::before {
    background: #1c8deb;
    border-radius: 50%;
    color: #fff;
    content: "✓";
    font-size: 12px;
    font-weight: 950;
    height: 18px;
    left: 0;
    line-height: 18px;
    position: absolute;
    text-align: center;
    top: 1px;
    width: 18px;
}

.uapi-seat-addon__table {
    border-top: 1px solid #e1ebf7;
    display: grid;
    gap: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 4px;
    scrollbar-width: thin;
}

.uapi-seat-addon__table-head,
.uapi-seat-addon__row {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(140px, 1.2fr) repeat(var(--uapi-seat-leg-count, 2), minmax(92px, .7fr));
    min-height: 38px;
}

.uapi-seat-addon__table-head span {
    color: #002b61;
    font-size: .88rem;
    font-weight: 900;
}

.uapi-seat-addon__row span {
    color: #18395f;
    font-size: .88rem;
    font-weight: 800;
}

.uapi-seat-addon__row strong {
    background: #ef4444;
    border-radius: 7px;
    color: #fff;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 950;
    justify-self: start;
    line-height: 1;
    padding: 6px 8px;
}

.uapi-seat-addon__row strong.is-selected {
    background: #16a34a;
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__body {
    gap: 22px;
    grid-template-columns: minmax(180px, 300px) minmax(0, 1fr);
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__body > img {
    max-height: 230px;
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__table-head,
.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__row {
    gap: 8px;
    grid-template-columns: minmax(112px, .85fr) repeat(var(--uapi-seat-leg-count, 2), minmax(76px, 88px));
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__table-head span {
    font-size: .78rem;
    line-height: 1.15;
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__row span {
    font-size: .82rem;
}

.uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__row strong {
    font-size: .72rem;
    line-height: 1.05;
    max-width: 88px;
    padding: 6px 7px;
    white-space: normal;
}

.uapi-seat-addon__actions {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-self: end;
}

.uapi-seat-addon__total {
    align-items: baseline;
    color: #002b61;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 850;
    gap: 6px;
    white-space: nowrap;
}

.uapi-seat-addon__total strong {
    display: inline;
    font-size: 1rem;
    line-height: 1;
}

.uapi-seat-addon__button {
    min-width: 150px;
}

.uapi-seat-addon__button:hover {
    cursor: pointer;
}

.uapi-seat-modal[hidden] {
    display: none;
}

.uapi-seat-modal {
    inset: 0;
    position: fixed;
    z-index: 1200;
}

.uapi-seat-modal__backdrop {
    background: rgba(3, 18, 38, .58);
    inset: 0;
    position: absolute;
}

.uapi-seat-modal__dialog {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(0, 31, 70, .32);
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    left: 50%;
    max-height: min(88vh, 820px);
    max-width: 1120px;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 1120px);
}

.uapi-seat-modal__head {
    align-items: center;
    background: #243155;
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
}

.uapi-seat-modal__head h3,
.uapi-seat-modal__head p {
    margin: 0;
}

.uapi-seat-modal__head h3 {
    font-size: 1.25rem;
    font-weight: 950;
}

.uapi-seat-modal__head p {
    color: #d8e4f5;
    font-size: .9rem;
    font-weight: 750;
    margin-top: 4px;
}

.uapi-seat-modal__head button {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 8px;
    color: #132445;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.uapi-seat-modal__tabs,
.uapi-seat-modal__directions {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0 22px;
}

.uapi-seat-modal__tabs {
    border-bottom: 1px solid #dbe8f7;
    padding-top: 10px;
}

.uapi-seat-modal__tabs button,
.uapi-seat-modal__directions button {
    align-items: center;
    background: #fff;
    border: 1px solid #c8d8eb;
    color: #002b61;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    font-weight: 850;
    min-height: 58px;
    padding: 8px 14px;
}

.uapi-seat-modal__directions button {
    flex-direction: row;
}

.uapi-seat-modal__tabs button span {
    line-height: 1.1;
}

.uapi-seat-modal__tabs button strong {
    color: #5a6d8e;
    font-size: .76rem;
    line-height: 1.1;
}

.uapi-seat-modal__tabs button.is-active,
.uapi-seat-modal__directions button.is-active {
    background: #243155;
    border-color: #243155;
    color: #fff;
}

.uapi-seat-modal__tabs button.is-active strong {
    color: rgba(255, 255, 255, .88);
}

.uapi-seat-modal__tabs button.is-complete strong {
    color: #047857;
    font-size: .9rem;
}

.uapi-seat-modal__tabs button.is-active.is-complete strong {
    color: #fff;
}

.uapi-seat-modal__directions {
    gap: 8px;
    padding-top: 14px;
}

.uapi-seat-modal__directions button {
    border-radius: 999px;
    min-height: 36px;
    padding-inline: 18px;
}

.uapi-seat-modal__content {
    align-items: start;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(360px, 1fr) 260px;
    overflow: auto;
    padding: 26px 34px 34px;
}

.uapi-seat-map {
    justify-self: center;
    max-width: min(940px, 100%);
    padding: 18px 22px 26px;
    position: relative;
    transform-origin: center top;
    will-change: opacity, transform, filter;
    width: 100%;
}

.uapi-seat-map.is-sliding-out-left,
.uapi-seat-map.is-sliding-out-right,
.uapi-seat-map.is-sliding-in-left,
.uapi-seat-map.is-sliding-in-right {
    pointer-events: none;
}

.uapi-seat-map.is-sliding-out-left {
    animation: uapiSeatMapOutLeft .19s ease-in forwards;
}

.uapi-seat-map.is-sliding-out-right {
    animation: uapiSeatMapOutRight .19s ease-in forwards;
}

.uapi-seat-map.is-sliding-in-right {
    animation: uapiSeatMapInRight .28s cubic-bezier(.22, 1, .36, 1);
}

.uapi-seat-map.is-sliding-in-left {
    animation: uapiSeatMapInLeft .28s cubic-bezier(.22, 1, .36, 1);
}

@keyframes uapiSeatMapOutLeft {
    from {
        filter: none;
        opacity: 1;
        transform: translateX(0) scale(1);
    }

    to {
        filter: blur(2px);
        opacity: 0;
        transform: translateX(-64px) scale(.985);
    }
}

@keyframes uapiSeatMapOutRight {
    from {
        filter: none;
        opacity: 1;
        transform: translateX(0) scale(1);
    }

    to {
        filter: blur(2px);
        opacity: 0;
        transform: translateX(64px) scale(.985);
    }
}

@keyframes uapiSeatMapInRight {
    from {
        filter: blur(2px);
        opacity: 0;
        transform: translateX(74px) scale(.985);
    }

    to {
        filter: none;
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@keyframes uapiSeatMapInLeft {
    from {
        filter: blur(2px);
        opacity: 0;
        transform: translateX(-74px) scale(.985);
    }

    to {
        filter: none;
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

.uapi-seat-map::before {
    border: 3px solid #e6d6e4;
    border-bottom: 0;
    border-radius: 50% 50% 0 0 / 24% 24% 0 0;
    content: "";
    inset: 0 14px auto;
    height: 250px;
    pointer-events: none;
    position: absolute;
    top: 0;
}

.uapi-seat-map__nose {
    background: linear-gradient(90deg, transparent 20%, #bcc3cb 20% 45%, transparent 45% 55%, #bcc3cb 55% 80%, transparent 80%);
    height: 52px;
    margin: 12px auto 18px;
    width: 150px;
}

.uapi-seat-map__empty {
    color: #5a6d8e;
    font-size: .95rem;
    font-weight: 850;
    margin: 120px auto;
    max-width: 320px;
    text-align: center;
}

.uapi-seat-map__letters,
.uapi-seat-map__row {
    align-items: center;
    column-gap: 0;
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.uapi-seat-map__group {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.uapi-seat-map__aisle {
    align-items: center;
    display: inline-flex;
    flex: 0 0 42px;
    justify-content: center;
    min-width: 42px;
}

.uapi-seat-map__letters .uapi-seat-map__group span,
.uapi-seat-map__row-number {
    color: #132445;
    font-size: .82rem;
    font-weight: 900;
    min-width: 58px;
    text-align: center;
}

.uapi-seat-map__letters .uapi-seat-map__row-number {
    min-width: 26px;
}

.uapi-seat-map__row-number {
    align-self: center;
    min-width: 26px;
}

.uapi-seat-cell {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-height: 84px;
}

.uapi-seat-cell > span {
    color: #132445;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1;
}

.uapi-seat-cell > small {
    color: #5a6d8e;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.uapi-seat-map__row button {
    align-items: center;
    background: linear-gradient(180deg, #1da13a 0%, #129b2c 100%);
    border: 0;
    border-radius: 12px 12px 8px 8px;
    box-shadow: inset 0 -9px 0 rgba(5, 34, 78, .08), 0 2px 0 rgba(9, 41, 88, .08);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    font-weight: 950;
    height: 40px;
    justify-content: center;
    position: relative;
    width: 58px;
}

.uapi-seat-map__row button::before,
.uapi-seat-map__row button::after {
    background: #cfd5dc;
    border-radius: 3px;
    bottom: 4px;
    content: "";
    height: 24px;
    position: absolute;
    width: 6px;
}

.uapi-seat-map__row button::before {
    left: -6px;
}

.uapi-seat-map__row button::after {
    right: -6px;
}

.uapi-seat-map__row button span {
    align-items: center;
    background: rgba(255, 255, 255, .95);
    border-radius: 999px;
    color: #0d2f61;
    display: inline-flex;
    font-size: .72rem;
    height: 22px;
    justify-content: center;
    min-width: 22px;
    padding: 0 5px;
    position: relative;
    z-index: 1;
}

.uapi-seat-map__row button span:empty {
    display: none;
}

.uapi-seat-map__row button span,
.uapi-seat-map__row button small {
    display: block;
    line-height: 1;
}

.uapi-seat-map__row button small {
    font-size: 8px;
    font-weight: 850;
    margin-top: 2px;
    white-space: nowrap;
}

.uapi-seat-map__row button.is-paid {
    background: linear-gradient(180deg, #f8d64b 0%, #f0b72b 100%);
    color: #132445;
}

.uapi-seat-map__row button.is-xl {
    background: linear-gradient(180deg, #1fbfd2 0%, #1596b7 100%);
    border-radius: 13px 13px 9px 9px;
    box-shadow: inset 0 -11px 0 rgba(5, 34, 78, .1), 0 3px 0 rgba(9, 41, 88, .08);
    height: 48px;
    margin-top: -6px;
}

.uapi-seat-map__row button.is-blocked {
    background: #d2d6db;
    color: #fff;
    cursor: not-allowed;
}

.uapi-seat-map__row button.is-selected {
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .22);
    outline: 3px solid #16a34a;
    z-index: 2;
}

.uapi-seat-map__row button.is-scroll-target {
    animation: uapi-seat-target-pulse 1.15s ease;
    box-shadow: 0 0 0 5px rgba(255, 178, 31, .34), 0 12px 24px rgba(5, 34, 78, .18);
}

@keyframes uapi-seat-target-pulse {
    0% {
        filter: brightness(1);
    }

    45% {
        filter: brightness(1.16);
    }

    100% {
        filter: brightness(1);
    }
}

.uapi-seat-map__row button.is-taken {
    box-shadow: 0 0 0 3px rgba(13, 47, 97, .18);
    outline: 2px solid #0d2f61;
    z-index: 2;
}

.uapi-seat-map__row button.is-selected span,
.uapi-seat-map__row button.is-taken span {
    background: #0d2f61;
    color: #fff;
    font-size: .92rem;
    height: 32px;
    min-width: 32px;
    padding: 0 7px;
}

.uapi-seat-modal__side {
    align-self: start;
    display: grid;
    gap: 20px;
    padding-top: 42px;
    position: sticky;
    top: 18px;
    z-index: 3;
}

.uapi-seat-modal__passenger-panel {
    background: #f7fbff;
    border: 1px solid #d8e6f7;
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(13, 47, 97, .08);
    display: grid;
    gap: 10px;
    padding: 16px;
}

.uapi-seat-modal__passenger-panel h4 {
    color: #132445;
    font-size: .98rem;
    font-weight: 950;
    margin: 0 0 4px;
}

.uapi-seat-modal__passenger {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    color: #132445;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px 1fr;
    padding: 12px;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 100%;
}

.uapi-seat-modal__passenger:hover,
.uapi-seat-modal__passenger.is-active {
    border-color: #ffb21c;
    box-shadow: 0 10px 22px rgba(255, 178, 28, .14);
}

.uapi-seat-modal__passenger.is-active {
    transform: translateY(-1px);
}

.uapi-seat-modal__passenger-avatar {
    align-items: center;
    background: #0d2f61;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.uapi-seat-modal__passenger-body {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.uapi-seat-modal__passenger-body > strong {
    display: block;
    font-size: .9rem;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.uapi-seat-modal__passenger-seat {
    align-items: center;
    color: #6c7b92;
    cursor: default;
    display: flex;
    font-size: .78rem;
    gap: 8px;
    justify-content: space-between;
}

.uapi-seat-modal__passenger-seat.is-selected {
    cursor: pointer;
}

.uapi-seat-modal__passenger-seat strong {
    background: #eef4fb;
    border-radius: 999px;
    color: #6c7b92;
    font-size: .78rem;
    font-weight: 950;
    padding: 3px 8px;
}

.uapi-seat-modal__passenger-seat.is-selected strong {
    background: #e8f8ed;
    color: #08792b;
}

.uapi-seat-modal__passenger-seat.is-selected:hover strong {
    box-shadow: 0 0 0 2px rgba(255, 178, 31, .26);
}

.uapi-seat-modal__legend {
    display: grid;
    gap: 18px;
}

.uapi-seat-modal__legend div {
    align-items: center;
    color: #132445;
    display: flex;
    gap: 12px;
    font-size: .95rem;
    font-weight: 800;
}

.uapi-seat-modal__legend span {
    border-radius: 7px;
    display: inline-flex;
    height: 34px;
    width: 34px;
}

.uapi-seat-modal__legend .is-xl {
    background: #27c7d2;
}

.uapi-seat-modal__legend .is-paid {
    background: #f2c233;
}

.uapi-seat-modal__legend .is-standard {
    background: #149d31;
}

.uapi-seat-modal__legend .is-blocked {
    align-items: center;
    background: #d2d6db;
    color: #fff;
    font-weight: 950;
    justify-content: center;
}

.uapi-seat-modal__foot {
    align-items: center;
    background: #243155;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: flex-end;
    padding: 14px 22px;
}

.uapi-seat-modal__nav {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-right: auto;
}

.uapi-seat-modal__nav .button {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .28);
    color: #fff;
    min-height: 40px;
    padding: 9px 14px;
}

.uapi-seat-modal__nav .button:hover:not(:disabled) {
    background: rgba(255, 255, 255, .2);
}

.uapi-seat-modal__nav-button {
    align-items: center;
    display: inline-flex;
    gap: 7px;
}

.uapi-seat-modal__nav-button::after {
    content: none;
}

.uapi-seat-modal__nav-button span {
    font-size: 1rem;
    line-height: 1;
}

.uapi-seat-modal__nav .button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.uapi-seat-modal__foot span {
    font-weight: 850;
}

.uapi-seat-modal__foot strong {
    font-size: 1.35rem;
    margin-left: 6px;
}

.uapi-passengers-actions {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: flex-end;
    margin-top: 22px;
}

.uapi-price-summary__head {
    background: #002b61;
    color: #fff;
    padding: 22px 24px;
}

.uapi-price-summary__head span {
    color: #c8dcf5;
    display: block;
    font-size: .85rem;
    font-weight: 900;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.uapi-price-summary__head h2 {
    font-size: 1.45rem;
    margin: 0;
}

.uapi-price-summary__class {
    align-items: center;
    background: #ffd84d;
    border-radius: 7px;
    color: #102b55;
    display: inline-flex;
    font-size: .92rem;
    font-weight: 950;
    margin: 10px 0 0;
    padding: 6px 10px;
}

.uapi-payment-price-confirm-hidden {
    display: none !important;
}

.uapi-price-trip {
    border-bottom: 1px solid #e4edf8;
    display: grid;
    gap: 8px;
    padding: 18px 22px 16px;
}

.uapi-price-trip::before {
    content: none;
}

.uapi-price-trip__row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 18px minmax(0, 1fr) auto;
}

.uapi-price-trip__icon {
    color: #002b61;
    display: inline-flex;
    font-size: 1.08rem;
    font-style: normal;
    justify-content: center;
    line-height: 1;
}

.uapi-price-trip__row--return .uapi-price-trip__icon {
    transform: rotate(180deg);
}

.uapi-price-trip strong {
    color: #061f44;
    font-size: 1rem;
    font-weight: 950;
    min-width: 0;
}

.uapi-price-trip span {
    color: #526b89;
    font-size: .86rem;
    font-weight: 800;
}

.uapi-price-lines {
    border-bottom: 1px solid #e4edf8;
    display: grid;
    gap: 0;
    padding: 12px 22px;
}

.uapi-price-line,
.uapi-price-total,
.uapi-price-addons {
    padding: 18px 22px;
}

.uapi-price-line {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 8px 0;
}

.uapi-price-line span,
.uapi-price-total span {
    color: #526b89;
    font-weight: 800;
}

.uapi-price-line strong {
    color: #002b61;
    font-weight: 900;
    max-width: 55%;
    text-align: right;
}

.uapi-price-line__included {
    color: #8190a4;
    font-size: .86rem;
}

.uapi-price-line--muted span,
.uapi-price-line--muted strong {
    color: #73849a;
    font-size: .88rem;
}

.uapi-price-service-fee {
    border-bottom: 1px solid #e4edf8;
    padding: 18px 22px;
}

.uapi-price-line--cancel-insurance {
    background: transparent;
    border-bottom: 0;
    padding: 8px 22px 18px;
}

.uapi-price-line--cancel-insurance[hidden] {
    display: none;
}

.uapi-price-service-fee span,
.uapi-price-line--cancel-insurance span {
    color: #243a56;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.3;
}

.uapi-price-service-fee strong,
.uapi-price-line--cancel-insurance strong {
    color: #002b61;
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 950;
    max-width: none;
    white-space: nowrap;
}

.uapi-price-confirm {
    border-bottom: 1px solid #e4edf8;
    padding: 18px 22px;
    background: #f6f9fe;
}

.uapi-price-addons[hidden],
.uapi-price-confirm[hidden] {
    display: none;
}

.uapi-price-confirm__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.uapi-price-confirm__head span {
    color: #526b89;
    font-size: .9rem;
    font-weight: 900;
    line-height: 1.35;
}

.uapi-price-confirm__head strong {
    flex: 0 0 auto;
    color: #002b61;
    font-size: 1.2rem;
    font-weight: 950;
}

.uapi-price-confirm > p {
    margin: 10px 0 0;
    color: #526b89;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.45;
}

.uapi-price-confirm > p:empty {
    display: none;
}

.uapi-price-confirm__old-price {
    color: #7f8da2;
    display: inline-block;
    font-size: .86rem;
    font-weight: 850;
    margin-left: 8px;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.uapi-price-confirm__head .uapi-price-confirm__old-price {
    color: #8a97aa;
    font-size: .78rem;
    white-space: nowrap;
}

.uapi-price-confirm.is-lower {
    background: #effcf5;
}

.uapi-price-confirm.is-lower .uapi-price-confirm__head span,
.uapi-price-confirm.is-lower .uapi-price-confirm__head strong {
    color: #087a3b;
}

.uapi-price-confirm.is-higher {
    background: #fff2f2;
}

.uapi-price-confirm.is-higher .uapi-price-confirm__head span,
.uapi-price-confirm.is-higher .uapi-price-confirm__head strong {
    color: #c51f1a;
}

.uapi-price-confirm__segments,
.uapi-price-confirm__services {
    margin-top: 14px;
    border-top: 1px solid rgba(0, 43, 97, .1);
    padding-top: 12px;
}

.uapi-price-confirm__segments h3,
.uapi-price-confirm__services h3 {
    margin: 0 0 10px;
    color: #002b61;
    font-size: .92rem;
}

.uapi-price-confirm__leg {
    display: grid;
    gap: 3px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .78);
    padding: 10px 12px;
}

.uapi-price-confirm__leg + .uapi-price-confirm__leg {
    margin-top: 8px;
}

.uapi-price-confirm__leg b {
    color: #002b61;
    font-size: .82rem;
    text-transform: uppercase;
}

.uapi-price-confirm__leg span {
    color: #061f44;
    font-weight: 900;
}

.uapi-price-confirm__leg small {
    color: #526b89;
    font-weight: 750;
    line-height: 1.35;
}

.uapi-price-confirm__services ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.uapi-price-confirm__services li {
    border-radius: 9px;
    background: rgba(255, 255, 255, .78);
    padding: 9px 11px;
    color: #526b89;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1.35;
}

.uapi-price-addons h3 {
    color: #002b61;
    font-size: 1rem;
    margin: 0 0 10px;
}

.uapi-price-addons p {
    color: #526b89;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.45;
    margin: 0;
}

.uapi-price-addons__list {
    display: grid;
    gap: 0;
    margin-top: 10px;
}

.uapi-price-addons__item {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 8px 0;
}

.uapi-price-addons__item span {
    color: #243a56;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.3;
}

.uapi-price-addons__item strong {
    color: #002b61;
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 950;
    white-space: nowrap;
}

.uapi-price-total {
    align-items: flex-end;
    background: #fff7e6;
    border-bottom: 0;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.uapi-price-total strong {
    color: #002b61;
    font-size: 1.85rem;
    font-weight: 950;
    line-height: 1;
}

.uapi-payment-passenger-summary {
    display: grid;
    gap: 16px;
}

.uapi-payment-passenger-summary .uapi-passengers-header {
    margin-bottom: 0;
}

.uapi-payment-passenger-summary .uapi-passengers-header h1 {
    font-size: 1.6rem;
    line-height: 1.15;
}

.uapi-payment-passenger-list {
    display: grid;
    gap: 18px;
}

.uapi-payment-passenger {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    box-shadow: 0 18px 42px rgba(17, 55, 98, .07);
    overflow: hidden;
}

.uapi-payment-passenger__head {
    align-items: center;
    background: linear-gradient(180deg, #fff, #fbfdff);
    border-bottom: 1px solid #dfe9f6;
    border-radius: 0;
    display: grid;
    gap: 14px;
    grid-template-columns: 52px minmax(0, 1fr);
    margin: 0;
    padding: 18px 22px;
}

.uapi-payment-passenger__avatar {
    align-items: center;
    background: #edf4fd;
    border: 1px solid #dbe7f6;
    border-radius: 50%;
    color: #5f7897;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.uapi-payment-passenger__avatar svg {
    display: block;
    fill: currentColor;
    height: 28px;
    width: 28px;
}

.uapi-payment-passenger__identity {
    min-width: 0;
}

.uapi-payment-passenger__head small {
    color: #66809e;
    display: block;
    font-size: .78rem;
    font-weight: 900;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.uapi-payment-passenger__head h2 {
    color: #061f44;
    font-size: 1.18rem;
    margin: 0;
}

.uapi-payment-passenger__head p {
    color: #163962;
    font-size: .9rem;
    font-weight: 600;
    margin: 6px 0 0;
}

.uapi-payment-passenger__head p strong {
    color: inherit;
    font-weight: 600;
}

.uapi-payment-services {
    background: #fff;
    padding: 20px 18px 26px;
}

.uapi-payment-services__label {
    align-items: center;
    color: #00429a;
    display: inline-flex;
    gap: 9px;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.uapi-payment-services__label span {
    align-items: center;
    color: #00429a;
    display: inline-flex;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.uapi-payment-services__label svg {
    display: block;
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.uapi-payment-services__label strong {
    font-size: .84rem;
    font-weight: 950;
    letter-spacing: .01em;
}

.uapi-payment-service-groups {
    align-items: start;
    display: grid;
    gap: 10px;
    grid-auto-flow: dense;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr) minmax(0, 1fr);
    margin-top: 0;
    max-width: 100%;
}

.uapi-payment-service-group {
    background: linear-gradient(180deg, #fff, #fbfdff);
    border: 1px solid #dce8f6;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(17, 55, 98, .04);
    display: grid;
    gap: 10px;
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 0;
    min-width: 0;
    padding: 14px 12px;
}

.uapi-payment-service-group--baggage {
    grid-column: auto;
}

.uapi-payment-service-group--seats {
    grid-column: auto;
}

.uapi-payment-service-group--protection,
.uapi-payment-service-group--insurance,
.uapi-payment-service-group--checkin {
    grid-column: auto;
}

.uapi-payment-service-group--other {
    grid-column: 1 / -1;
    min-height: 0;
}

.uapi-payment-service-group__icon {
    align-items: center;
    background: #fff;
    border: 1px solid #dce8f7;
    border-radius: 50%;
    box-shadow: 0 5px 12px rgba(17, 55, 98, .06);
    color: #244d85;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    overflow: hidden;
    width: 34px;
}

.uapi-payment-service-group__icon svg {
    display: block;
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 17px;
}

.uapi-payment-service-group__icon img {
    display: block;
    height: 30px;
    object-fit: contain;
    width: 30px;
}

.uapi-payment-service-group__body h4 {
    color: #061f44;
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.uapi-payment-service-group ul {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.uapi-payment-service-group li {
    align-items: flex-start;
    background: transparent;
    border: 0;
    border-radius: 0;
    display: flex;
    gap: 8px;
    padding: 0;
}

.uapi-payment-service-group li + li {
    border-top: 0;
    padding-top: 0;
}

.uapi-payment-service-group li::before {
    align-items: center;
    background: #edf9f0;
    border: 1px solid #1aae42;
    border-radius: 50%;
    color: #159a35;
    content: "✓";
    display: inline-flex;
    flex: 0 0 16px;
    font-size: .68rem;
    font-weight: 950;
    height: 16px;
    justify-content: center;
    line-height: 1;
    margin-top: 1px;
    width: 16px;
}

.uapi-payment-service-group li span {
    color: #17385d;
    font-size: .84rem;
    font-weight: 650;
    line-height: 1.25;
    min-width: 0;
    overflow-wrap: normal;
    white-space: normal;
    word-break: normal;
}

.uapi-payment-seat-list {
    display: grid;
    margin-top: 10px;
    max-width: 300px;
}

.uapi-payment-seat-list > p {
    color: #17385d;
    font-size: .9rem;
    font-weight: 650;
    margin: 0;
}

.uapi-payment-seat-row {
    align-items: center;
    border-top: 1px solid #d9e3ef;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 8px 0;
}

.uapi-payment-seat-row:first-child {
    border-top: 0;
}

.uapi-payment-seat-row span {
    align-items: center;
    color: #17385d;
    display: inline-flex;
    font-size: .86rem;
    font-weight: 650;
    gap: 9px;
    min-width: 0;
    white-space: nowrap;
}

.uapi-payment-seat-row em {
    font-style: normal;
}

.uapi-payment-seat-row i {
    color: #7e94ad;
    font-style: normal;
    font-weight: 900;
}

.uapi-payment-seat-row strong {
    color: #061f44;
    font-size: .94rem;
    font-weight: 950;
    white-space: nowrap;
}

.uapi-payment-services > p {
    color: #73849a;
    font-size: .92rem;
    font-weight: 750;
    margin: 0;
}

@media (max-width: 1180px) {
    .uapi-payment-service-groups {
        grid-template-columns: 1fr;
    }

    .uapi-payment-service-group--baggage,
    .uapi-payment-service-group--seats,
    .uapi-payment-service-group--protection,
    .uapi-payment-service-group--insurance,
    .uapi-payment-service-group--checkin,
    .uapi-payment-service-group--other {
        grid-column: auto;
        grid-row: auto;
        min-height: 0;
    }
}

.uapi-payment-cancel-insurance {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .08);
    grid-column: 1;
    grid-row: 4;
    overflow: hidden;
}

.uapi-payment-cancel-insurance__head {
    align-items: center;
    background: #f7fbff;
    border-bottom: 1px solid #e4edf8;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 14px 22px;
}

.uapi-payment-cancel-insurance__head span {
    color: #526b89;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.uapi-payment-cancel-insurance__head strong {
    align-items: center;
    background: #072f63;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(7, 47, 99, .16);
    color: #fff;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 950;
    gap: 7px;
    letter-spacing: .01em;
    padding: 7px 13px;
    text-transform: uppercase;
}

.uapi-payment-cancel-insurance__head strong::before {
    background: #ffd84d;
    border-radius: 50%;
    content: "";
    height: 7px;
    width: 7px;
}

.uapi-payment-cancel-insurance__body {
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(210px, .88fr) minmax(0, 1.22fr);
    padding: 22px;
}

.uapi-payment-cancel-insurance__media {
    align-items: center;
    align-self: stretch;
    background: linear-gradient(180deg, #f9fcff, #eef6ff);
    border: 1px solid #e1ecf8;
    border-radius: 13px;
    display: flex;
    justify-content: center;
    min-height: 230px;
    overflow: hidden;
}

.uapi-payment-cancel-insurance__media img {
    display: block;
    height: 100%;
    max-height: 280px;
    object-fit: contain;
    width: 100%;
}

.uapi-payment-cancel-insurance__content {
    min-width: 0;
}

.uapi-payment-cancel-insurance__content h2 {
    color: #061f44;
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 0;
}

.uapi-payment-cancel-insurance__content > p {
    color: #526b89;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 8px 0 12px;
}

.uapi-payment-cancel-insurance__content ul {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.uapi-payment-cancel-insurance__content li {
    color: #344b66;
    font-size: .88rem;
    font-weight: 650;
    line-height: 1.38;
    padding-left: 18px;
    position: relative;
}

.uapi-payment-cancel-insurance__content li::before {
    background: #149d31;
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 2px;
    position: absolute;
    top: .48em;
    width: 7px;
}

.uapi-payment-cancel-insurance__content a {
    color: #0d58ad;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 900;
    margin-bottom: 16px;
    text-decoration: none;
}

.uapi-payment-cancel-insurance__content a:hover {
    text-decoration: underline;
}

.uapi-payment-cancel-insurance__option {
    align-items: center;
    background: #fffaf0;
    border: 1px solid #f2d89f;
    border-radius: 13px;
    cursor: pointer;
    display: grid;
    gap: 14px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    margin: 0;
    padding: 14px;
}

.uapi-payment-cancel-insurance__option input {
    accent-color: #149d31;
    height: 18px;
    width: 18px;
}

.uapi-payment-cancel-insurance__option span {
    display: grid;
    gap: 3px;
}

.uapi-payment-cancel-insurance__option span strong {
    color: #061f44;
    font-size: .94rem;
    font-weight: 900;
    line-height: 1.25;
}

.uapi-payment-cancel-insurance__option small {
    color: #526b89;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.uapi-payment-cancel-insurance__option b {
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
    white-space: nowrap;
}

.uapi-payment-cancel-insurance.is-selected .uapi-payment-cancel-insurance__option {
    background: #effcf5;
    border-color: #a9dfbd;
    box-shadow: 0 10px 24px rgba(20, 157, 49, .12);
}

.uapi-payment-cancel-insurance__option:has(input:checked) {
    background: #effcf5;
    border-color: #a9dfbd;
    box-shadow: 0 10px 24px rgba(20, 157, 49, .12);
}

.uapi-payment-extra-details {
    display: grid;
    gap: 18px;
    grid-column: 1;
    grid-row: 5;
}

.uapi-payment-form-card {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .08);
    padding: 22px;
}

.uapi-payment-form-card h2 {
    border-bottom: 1px solid #dce8f6;
    color: #061f44;
    font-size: 1.08rem;
    font-weight: 950;
    line-height: 1.2;
    margin: 0 0 18px;
    padding-bottom: 12px;
}

.uapi-payment-form-card__head {
    align-items: center;
    border-bottom: 1px solid #dce8f6;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 0 18px;
    padding-bottom: 12px;
}

.uapi-payment-form-card__head h2 {
    border-bottom: 0;
    margin: 0;
    padding-bottom: 0;
}

.uapi-payment-invoice-option {
    align-items: center;
    background: linear-gradient(180deg, #fff, #f8fbff);
    border: 1px solid #7daaf0;
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    gap: 18px;
    grid-template-columns: 66px minmax(0, 1fr) auto;
    min-height: 86px;
    padding: 16px 24px;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.uapi-payment-invoice-option:hover {
    border-color: #4d8ce6;
    box-shadow: 0 12px 28px rgba(17, 55, 98, .08);
}

.uapi-payment-invoice-option:has(input:checked) {
    background: linear-gradient(180deg, #fff, #f4fbff);
    border-color: #2e7bd8;
    box-shadow: 0 12px 30px rgba(23, 79, 147, .1);
}

.uapi-payment-invoice-option__icon {
    align-items: center;
    color: #174f93;
    display: inline-flex;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.uapi-payment-invoice-option__icon svg {
    display: block;
    fill: none;
    height: 46px;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 46px;
}

.uapi-invoice-icon__paper {
    fill: #fff;
    stroke: currentColor;
    stroke-width: 1.7;
}

.uapi-invoice-icon__fold,
.uapi-invoice-icon__line {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.uapi-invoice-icon__badge {
    fill: #eef6ff;
    stroke: currentColor;
    stroke-width: 1.65;
}

.uapi-invoice-icon__text {
    fill: currentColor;
    font-family: Arial, sans-serif;
    font-size: 6.8px;
    font-weight: 900;
    letter-spacing: .2px;
    stroke: none;
    text-anchor: middle;
}

.uapi-payment-invoice-option__copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.uapi-payment-invoice-option__copy strong {
    color: #061f44;
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.2;
}

.uapi-payment-invoice-option__copy small {
    color: #526b89;
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.25;
}

.uapi-payment-invoice-toggle {
    align-items: center;
    background: #d8e3f1;
    border: 1px solid #c3d4ea;
    border-radius: 999px;
    box-shadow: inset 0 1px 3px rgba(17, 55, 98, .12);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    padding: 3px;
    position: relative;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
    width: 62px;
}

.uapi-payment-invoice-toggle input {
    height: 1px;
    margin: 0;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.uapi-payment-invoice-toggle span {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(17, 55, 98, .22);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    transform: translateX(0);
    transition: transform .18s ease;
    width: 28px;
}

.uapi-payment-invoice-toggle span::before {
    content: "";
}

.uapi-payment-invoice-toggle:has(input:checked) {
    background: #13a65d;
    border-color: #13a65d;
    box-shadow: 0 10px 20px rgba(19, 166, 93, .22);
}

.uapi-payment-invoice-toggle:has(input:checked) span {
    transform: translateX(28px);
}

.uapi-payment-invoice-toggle:has(input:checked) span::before {
    color: #13a65d;
    content: "✓";
    font-size: .95rem;
}

.uapi-payment-invoice-toggle:has(input:focus-visible) {
    outline: 3px solid rgba(23, 79, 147, .18);
    outline-offset: 3px;
}

.uapi-payment-company-fields,
.uapi-payment-contact-fields {
    background: linear-gradient(180deg, #fff, #f8fbff);
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    display: grid;
    gap: 14px 16px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 16px;
}

.uapi-payment-company-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.uapi-payment-company-fields[hidden] {
    display: none;
}

.uapi-payment-payer-type {
    align-items: center;
    background: #fff;
    border: 1px solid #d7e2f2;
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-column: 1 / -1;
    grid-template-columns: 130px minmax(0, 360px);
    padding: 12px;
}

.uapi-payment-payer-type[hidden] {
    display: none;
}

.uapi-payment-payer-type__label {
    color: #526b89;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.uapi-payment-payer-type__control {
    align-items: center;
    background: #edf4ff;
    border: 1px solid #cfe0f7;
    border-radius: 999px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 3px;
}

.uapi-payment-company-fields .uapi-payment-payer-type__control label {
    cursor: pointer;
    display: block;
    grid-column: auto;
    min-width: 0;
}

.uapi-payment-company-fields label[hidden] {
    display: none;
}

.uapi-payment-company-field--wide {
    grid-column: 1 / -1;
}

.uapi-payment-company-fields label,
.uapi-payment-contact-fields label {
    color: #061f44;
    display: grid;
    font-size: .86rem;
    font-weight: 900;
    gap: 7px;
    grid-column: span 6;
}

.uapi-payment-company-fields label {
    grid-column: span 1;
}

.uapi-payment-company-fields .uapi-payment-company-field--wide {
    grid-column: 1 / -1;
}

.uapi-payment-contact-fields span {
    line-height: 1.2;
}

.uapi-payment-company-fields input,
.uapi-payment-company-fields select,
.uapi-payment-contact-fields input,
.uapi-payment-contact-fields select {
    background: #fff;
    border: 1px solid #b7c8e2;
    border-radius: 6px;
    box-shadow: inset 0 1px 2px rgba(16, 43, 85, .04);
    color: #061f44;
    font: inherit;
    font-weight: 750;
    min-height: 46px;
    padding: 10px 12px;
    transition: border-color .18s ease, box-shadow .18s ease;
    width: 100%;
}

.uapi-payment-company-fields .uapi-payment-payer-type input[type="radio"] {
    border: 0;
    box-shadow: none;
    height: 1px;
    margin: 0;
    min-height: 0;
    opacity: 0;
    padding: 0;
    position: absolute;
    width: 1px;
}

.uapi-payment-payer-type__control label > span {
    align-items: center;
    border-radius: 999px;
    color: #526b89;
    display: flex;
    font-size: .88rem;
    font-weight: 950;
    justify-content: center;
    line-height: 1.15;
    min-height: 36px;
    padding: 8px 14px;
    text-align: center;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
    white-space: nowrap;
}

.uapi-payment-payer-type__control input:checked + span {
    background: #174f93;
    box-shadow: 0 8px 18px rgba(23, 79, 147, .18);
    color: #fff;
}

.uapi-payment-payer-type__control input:focus-visible + span {
    outline: 3px solid rgba(23, 79, 147, .18);
    outline-offset: 2px;
}

.uapi-payment-company-fields input:focus,
.uapi-payment-company-fields select:focus,
.uapi-payment-contact-fields input:focus,
.uapi-payment-contact-fields select:focus {
    border-color: #174f93;
    box-shadow: 0 0 0 3px rgba(23, 79, 147, .14), inset 0 1px 2px rgba(16, 43, 85, .04);
    outline: 0;
}

.uapi-payment-company-fields .has-error input,
.uapi-payment-company-fields .has-error select,
.uapi-payment-contact-fields .has-error input,
.uapi-payment-contact-fields .has-error select {
    background-color: #fff1f1;
    border-color: #d41414;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, .16), inset 0 1px 2px rgba(16, 43, 85, .04);
}

.uapi-payment-company-fields .insurance-form-error,
.uapi-payment-contact-fields .insurance-form-error {
    margin: 0;
}

.uapi-payment-company-fields .has-error > .insurance-form-error,
.uapi-payment-contact-fields .has-error > .insurance-form-error {
    visibility: visible;
}

.uapi-payment-contact-fields .uapi-payment-phone-prefix-field {
    grid-column: span 2;
}

.uapi-payment-contact-fields .uapi-payment-phone-number-field {
    grid-column: span 4;
}

.uapi-payment-method-card h2 {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
}

.uapi-payment-method-intro {
    display: none;
}

.uapi-payment-method-grid {
    display: grid;
    gap: 10px;
}

.uapi-payment-method-grid.has-error {
    background: #fff7f7;
    border: 1px solid #d41414;
    border-radius: 10px;
    padding: 10px;
}

.uapi-payment-method-option {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe6f4;
    border-radius: 8px;
    color: #061f44;
    cursor: pointer;
    display: grid;
    gap: 14px;
    grid-template-columns: 22px 66px minmax(0, 1fr) auto;
    min-height: 86px;
    padding: 14px 18px;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}

.uapi-payment-method-option:hover {
    border-color: #b7ccef;
    box-shadow: 0 12px 24px rgba(17, 55, 98, .08);
    transform: translateY(-1px);
}

.uapi-payment-method-option:has(input:checked) {
    background: #fbfdff;
    border-color: #0b58d8;
    box-shadow: 0 12px 28px rgba(11, 79, 216, .12);
}

.uapi-payment-method-option input {
    accent-color: #174f93;
    height: 18px;
    margin: 0;
    width: 18px;
}

.uapi-payment-method-option__icon,
.uapi-payment-method-side-icon {
    align-items: center;
    background: #eef5ff;
    border: 1px solid #dce8fb;
    border-radius: 8px;
    color: #0b4fd8;
    display: inline-flex;
    height: 52px;
    justify-content: center;
    width: 58px;
}

.uapi-payment-method-option__icon svg,
.uapi-payment-method-side-icon svg {
    fill: none;
    height: 30px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 30px;
}

.uapi-payment-method-option__icon--blik {
    background: #101820;
    border-color: #101820;
    overflow: hidden;
}

.uapi-payment-blik-logo {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.uapi-payment-method-option__copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.uapi-payment-method-option strong {
    color: #061f44;
    font-size: .96rem;
    font-weight: 950;
    line-height: 1.2;
}

.uapi-payment-method-option small {
    color: #526b89;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.25;
}

.uapi-payment-method-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.uapi-payment-card-logos {
    background: #fff;
    border: 1px solid #dbe6f4;
    border-radius: 8px;
    display: block;
    height: 34px;
    object-fit: contain;
    padding: 3px 7px;
    width: min(178px, 100%);
}

.uapi-payment-method-side-icon {
    background: #fff;
    height: 38px;
    width: 38px;
}

.uapi-payment-method-side-icon svg {
    height: 22px;
    width: 22px;
}

.uapi-payment-method-grid > .insurance-form-error {
    margin: 0;
}

.uapi-payment-method-grid.has-error > .insurance-form-error {
    visibility: visible;
}

.uapi-payment-consent {
    background: #fff;
    border: 1px solid #d7e2f2;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(17, 55, 98, .06);
    color: #061f44;
    cursor: pointer;
    display: block;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.45;
    padding: 16px 18px;
}

.uapi-payment-consent__row {
    align-items: center;
    display: flex;
    gap: 12px;
}

.uapi-payment-consent input {
    accent-color: #149d31;
    flex: 0 0 auto;
    height: 18px;
    margin: 0;
    width: 18px;
}

.uapi-payment-consent__text {
    display: block;
    min-width: 0;
}

.uapi-payment-consent a {
    color: #0057a9;
    font-weight: 400;
    text-decoration: none;
}

.uapi-payment-consent a:hover {
    text-decoration: underline;
}

.uapi-payment-consent .insurance-form-error {
    display: block;
    margin: 6px 0 0 30px;
}

.uapi-payment-consent.has-error {
    background: #fff7f7;
    border-color: #d41414;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, .12), 0 12px 30px rgba(17, 55, 98, .06);
}

.uapi-payment-consent.has-error .insurance-form-error {
    visibility: visible;
}

.uapi-booking-terms-modal .uapi-protection-modal__dialog {
    max-width: 820px;
    width: min(820px, 92vw);
}

.uapi-booking-terms-modal__body {
    color: #102b4d;
    max-height: calc(100vh - 150px);
    overflow: auto;
    padding: 24px 30px 30px;
}

.uapi-booking-terms-modal__intro p {
    color: #526b89;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0 0 18px;
}

.uapi-booking-terms-modal__list {
    display: grid;
    gap: 24px;
}

.uapi-booking-terms-leg {
    display: grid;
    gap: 10px;
}

.uapi-booking-terms-leg__head {
    align-items: flex-start;
    display: grid;
    gap: 10px;
    grid-template-columns: 24px minmax(0, 1fr);
}

.uapi-booking-terms-leg__head > span {
    color: #174f93;
    font-size: 1.05rem;
    line-height: 1.3;
}

.uapi-booking-terms-leg__head strong,
.uapi-booking-terms-leg__head small {
    display: block;
}

.uapi-booking-terms-leg__head strong {
    color: #061f44;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.25;
}

.uapi-booking-terms-leg__head small {
    color: #061f44;
    font-size: .9rem;
    font-weight: 650;
    margin-top: 4px;
}

.uapi-booking-terms-leg__card {
    background: transparent;
    border-top: 1px solid #dce6f3;
    display: grid;
    gap: 8px;
    margin-left: 34px;
    padding: 14px 0 0;
}

.uapi-booking-terms-leg__card span {
    color: #4c6380;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.uapi-booking-terms-leg__card strong {
    color: #061f44;
    display: none;
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.25;
}

.uapi-booking-terms-leg__card a {
    align-items: center;
    color: #0057c8;
    display: inline-flex;
    font-size: .98rem;
    font-weight: 950;
    gap: 8px;
    text-decoration: none;
}

.uapi-booking-terms-leg__card a:hover {
    text-decoration: underline;
}

.uapi-booking-terms-leg__card a i {
    font-style: normal;
    font-weight: 900;
}

.uapi-booking-terms-leg__card p {
    color: #526b89;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
}

.uapi-booking-terms-rules {
    display: grid;
    gap: 18px;
}

.uapi-booking-terms-rule {
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.uapi-booking-terms-rule h4 {
    color: #061f44;
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.3;
    margin: 0 0 8px;
    padding: 0;
}

.uapi-booking-terms-rule__sections {
    display: grid;
    gap: 14px;
}

.uapi-booking-terms-rule-section {
    border-top: 1px solid #d8e5f4;
    padding: 14px 0 0;
}

.uapi-booking-terms-rule-section:first-child {
    border-top: 1px solid #d8e5f4;
}

.uapi-booking-terms-rule-section h5 {
    align-items: flex-start;
    background: linear-gradient(90deg, #eef6ff 0%, #f8fbff 100%);
    border-left: 4px solid #1763af;
    border-radius: 0 5px 5px 0;
    color: #061f44;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 0 10px;
    padding: 9px 12px;
}

.uapi-booking-terms-rule-section h5 strong {
    font-size: .86rem;
    font-weight: 950;
    letter-spacing: .01em;
    line-height: 1.25;
}

.uapi-booking-terms-rule-section h5 span {
    color: #526b89;
    font-size: .74rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.uapi-booking-terms-rule pre {
    color: #18395f;
    font-family: Consolas, "Courier New", monospace;
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.45;
    margin: 0;
    max-height: none;
    overflow: visible;
    padding: 0 0 2px 16px;
    white-space: pre-wrap;
    word-break: break-word;
}

.uapi-terms-modal .uapi-protection-modal__dialog {
    max-width: 1040px;
    width: min(1040px, 92vw);
}

.uapi-terms-modal__body {
    color: #18395f;
    max-height: calc(100vh - 160px);
    overflow: auto;
    padding: 24px 30px 30px;
}

.uapi-terms-modal__body .content-main {
    margin: 0;
    max-width: none;
    padding: 0;
}

.uapi-terms-modal__body .content-main > div {
    padding: 0 !important;
}

.uapi-terms-modal__body h4 {
    color: #002b61;
    font-size: 1.02rem;
    font-weight: 950;
    margin: 18px 0 8px;
}

.uapi-terms-modal__body p,
.uapi-terms-modal__body li {
    color: #314d6f;
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.5;
}

.uapi-terms-modal__body ol {
    margin: 14px 0 0;
    padding-left: 24px;
}

.uapi-payment-reserve-actions {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.uapi-payment-reserve-info {
    align-items: center;
    color: #061f44;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    max-width: 520px;
    min-width: 0;
}

.uapi-payment-reserve-info > span {
    align-items: center;
    background: #f3f7fc;
    border: 1px solid #d7e2f2;
    border-radius: 999px;
    color: #4f6380;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.uapi-payment-reserve-info svg {
    fill: none;
    height: 24px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 24px;
}

.uapi-payment-reserve-info strong,
.uapi-payment-reserve-info small {
    display: block;
}

.uapi-payment-reserve-info strong {
    font-size: .94rem;
    font-weight: 900;
    line-height: 1.2;
}

.uapi-payment-reserve-info small {
    color: #526b89;
    font-size: .84rem;
    font-weight: 650;
    line-height: 1.35;
    margin-top: 4px;
}

.uapi-payment-reserve-submit {
    align-items: flex-end;
    display: grid;
    gap: 8px;
    justify-items: end;
}

.uapi-payment-reserve-button {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    min-height: 52px;
    padding-left: 26px;
    padding-right: 26px;
}

.uapi-payment-reserve-button::after {
    content: "\203A";
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.uapi-payment-reserve-hint {
    align-items: center;
    color: #526b89;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 800;
    gap: 7px;
}

.uapi-payment-reserve-hint svg {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 16px;
}

.uapi-payment-reserve-actions p {
    color: #526b89;
    font-size: .9rem;
    font-weight: 800;
    margin: 0;
}

.uapi-payment-reserve-actions p[hidden] {
    display: none;
}

.uapi-confirmation-page {
    background: #f3f7fc;
    padding: 44px 0 72px;
}

.uapi-confirmation-layout {
    align-items: flex-start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 3fr) minmax(300px, 1fr);
}

.uapi-confirmation-hero {
    align-items: center;
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .08);
    color: #061f44;
    display: grid;
    gap: 18px 20px;
    grid-column: 1 / -1;
    grid-template-columns: 54px minmax(0, 1fr) minmax(220px, auto);
    padding: 22px 24px;
}

.uapi-confirmation-hero__icon {
    align-items: center;
    background: #eaf8f0;
    border: 1px solid #bee7ce;
    border-radius: 50%;
    color: #15995a;
    display: inline-flex;
    font-size: 1.6rem;
    font-weight: 950;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.uapi-confirmation-hero__copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.uapi-confirmation-hero__copy p,
.uapi-confirmation-hero__copy h1,
.uapi-confirmation-hero__copy span,
.uapi-confirmation-hero__number span,
.uapi-confirmation-hero__number strong {
    margin: 0;
}

.uapi-confirmation-hero__copy p {
    color: #526b89;
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.uapi-confirmation-hero__copy h1 {
    color: #002b61;
    font-size: clamp(1.34rem, 2vw, 1.78rem);
    font-weight: 950;
    line-height: 1.18;
}

.uapi-confirmation-hero__copy > span {
    color: #526b89;
    display: block;
    font-size: .96rem;
    font-weight: 750;
    line-height: 1.4;
}

.uapi-confirmation-hero__number {
    background: #f7fbff;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    display: grid;
    gap: 5px;
    justify-self: end;
    min-width: 240px;
    padding: 12px 14px;
}

.uapi-confirmation-hero__number span {
    color: #526b89;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.uapi-confirmation-hero__number strong {
    color: #061f44;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.uapi-confirmation-main,
.uapi-confirmation-sidebar {
    display: grid;
    gap: 18px;
}

.uapi-confirmation-sidebar {
    position: sticky;
    top: 92px;
}

.uapi-confirmation-card {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .08);
    padding: 22px;
}

.uapi-confirmation-card__head {
    border-bottom: 1px solid #dce8f6;
    margin: 0 0 18px;
    padding-bottom: 12px;
}

.uapi-confirmation-card__head span,
.uapi-confirmation-price > span,
.uapi-confirmation-contact > span {
    color: #526b89;
    display: block;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .06em;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.uapi-confirmation-card__head h2 {
    color: #061f44;
    font-size: 1.08rem;
    font-weight: 950;
    line-height: 1.2;
    margin: 0;
}

.uapi-confirmation-status {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-status div {
    background: #f7fbff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 14px;
}

.uapi-confirmation-status span,
.uapi-confirmation-status strong {
    display: block;
    min-width: 0;
}

.uapi-confirmation-status span {
    color: #526b89;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.uapi-confirmation-status strong {
    color: #061f44;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.uapi-confirmation-flight-summary,
.uapi-confirmation-flight-summary.tf-result-card {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 22px 24px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #002b61;
    font-size: 1.35rem;
    font-weight: 950;
    grid-column: 1;
    line-height: 1.2;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p {
    color: #526b89;
    font-size: .96rem;
    font-weight: 800;
    grid-column: 1;
    line-height: 1.45;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p strong {
    color: #526b89;
    display: block;
    font-size: .92rem;
    font-weight: 850;
    margin-top: 2px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head b {
    align-self: center;
}

.uapi-confirmation-flight-summary .tf-result-card__legs {
    padding: 18px 24px 20px;
}

.uapi-confirmation-flight-summary .tf-result-leg {
    grid-template-columns: minmax(0, 1fr) minmax(92px, .12fr);
}

.uapi-confirmation-flight-summary .tf-result-leg:last-of-type {
    border-bottom: 0;
}

.uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
    justify-self: end;
}

.uapi-confirmation-flight-summary .tf-leg-details {
    margin-top: 16px;
}

.uapi-confirmation-route--fallback {
    margin: 0;
}

.uapi-confirmation-route {
    background: linear-gradient(180deg, #fbfdff, #f4f8fd);
    border: 1px solid #dce8f6;
    border-radius: 12px;
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
    padding: 18px;
}

.uapi-confirmation-route strong {
    color: #061f44;
    font-size: 1.28rem;
    font-weight: 950;
    line-height: 1.2;
}

.uapi-confirmation-route span,
.uapi-confirmation-route small {
    color: #526b89;
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.35;
}

.uapi-confirmation-route.uapi-confirmation-route--fallback {
    margin-bottom: 0;
}

.uapi-confirmation-segments {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.uapi-confirmation-segments h3 {
    color: #061f44;
    font-size: .94rem;
    font-weight: 950;
    margin: 0;
}

.uapi-confirmation-segments article {
    align-items: center;
    border-top: 1px solid #e5edf7;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr);
    padding-top: 12px;
}

.uapi-confirmation-segments strong,
.uapi-confirmation-segments span {
    display: block;
}

.uapi-confirmation-segments strong {
    color: #061f44;
    font-size: .96rem;
    font-weight: 950;
    line-height: 1.25;
}

.uapi-confirmation-segments span {
    color: #526b89;
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 3px;
}

.uapi-confirmation-passengers {
    display: grid;
    gap: 12px;
}

.uapi-confirmation-passengers article {
    border: 1px solid #dce8f6;
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.uapi-confirmation-passengers strong,
.uapi-confirmation-passengers span,
.uapi-confirmation-passengers small {
    display: block;
}

.uapi-confirmation-passengers strong {
    color: #061f44;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-confirmation-passengers span,
.uapi-confirmation-passengers small {
    color: #526b89;
    font-size: .86rem;
    font-weight: 750;
    margin-top: 3px;
}

.uapi-confirmation-passengers ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.uapi-confirmation-passengers li {
    background: #eef6ff;
    border: 1px solid #d2e3f7;
    border-radius: 999px;
    color: #174f93;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.2;
    padding: 7px 10px;
}

.uapi-confirmation-note,
.uapi-confirmation-bank p {
    color: #526b89;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.55;
    margin: 0;
}

.uapi-confirmation-bank {
    display: grid;
    gap: 14px;
}

.uapi-confirmation-bank dl,
.uapi-confirmation-price dl,
.uapi-confirmation-contact dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.uapi-confirmation-bank dl {
    border: 1px solid #dce8f6;
    border-radius: 12px;
    overflow: hidden;
}

.uapi-confirmation-bank dl div,
.uapi-confirmation-price dl div,
.uapi-confirmation-contact dl div {
    align-items: baseline;
    border-top: 1px solid #dce8f6;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(96px, .65fr) minmax(0, 1fr);
    padding: 12px 0;
}

.uapi-confirmation-bank dl div {
    padding: 12px 14px;
}

.uapi-confirmation-bank dl div:first-child,
.uapi-confirmation-price dl div:first-child,
.uapi-confirmation-contact dl div:first-child {
    border-top: 0;
}

.uapi-confirmation-bank dt,
.uapi-confirmation-price dt,
.uapi-confirmation-contact dt {
    color: #526b89;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.uapi-confirmation-bank dd,
.uapi-confirmation-price dd,
.uapi-confirmation-contact dd {
    color: #061f44;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}

.uapi-confirmation-price > strong {
    color: #061f44;
    display: block;
    font-size: 2rem;
    font-weight: 950;
    line-height: 1.1;
    margin-bottom: 16px;
}

.uapi-confirmation-price dl div,
.uapi-confirmation-contact dl div {
    grid-template-columns: minmax(0, 1fr) auto;
}

.uapi-confirmation-actions {
    display: grid;
    gap: 10px;
}

.uapi-confirmation-actions .button {
    justify-content: center;
    text-align: center;
}

.uapi-passengers-empty {
    grid-column: 1 / -1;
    margin: 40px auto;
    max-width: 720px;
    padding: 34px;
    text-align: center;
}

.uapi-passengers-empty h1 {
    color: #002b61;
    margin-top: 0;
}

.uapi-passengers-empty p {
    color: #526b89;
}

.uapi-confirmation-page {
    background:
        linear-gradient(180deg, #f5f9ff 0%, #ffffff 58%, #f5f9ff 100%);
    padding: 42px 0 64px;
}

.uapi-confirmation-layout {
    gap: 28px 34px;
    grid-template-columns: minmax(0, 2.25fr) minmax(320px, .9fr);
}

.uapi-confirmation-hero {
    align-items: center;
    background:
        linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, .96) 44%, rgba(255, 255, 255, .72) 68%, rgba(255, 255, 255, .24) 100%),
        url("/assets/img/hero-plane.png") right center / auto 100% no-repeat,
        #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(17, 55, 98, .09);
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 248px;
    overflow: hidden;
    padding: 44px 56px 30px 56px;
    position: relative;
}

.uapi-confirmation-hero__icon {
    align-self: start;
    background: linear-gradient(180deg, #49c76d, #249f52);
    border: 0;
    box-shadow: 0 16px 30px rgba(35, 160, 84, .28);
    color: #fff;
    font-size: 2.45rem;
    height: 82px;
    width: 82px;
}

.uapi-confirmation-hero__copy {
    max-width: 640px;
}

.uapi-confirmation-hero__copy p {
    color: #193f78;
    font-size: .82rem;
    letter-spacing: .02em;
}

.uapi-confirmation-hero__copy h1 {
    color: #002b61;
    font-size: clamp(2rem, 3.4vw, 3.05rem);
    letter-spacing: 0;
}

.uapi-confirmation-hero__copy > span {
    color: #35547a;
    font-size: 1.02rem;
    max-width: 560px;
}

.uapi-confirmation-hero__stats {
    border-top: 1px solid #dce7f5;
    display: grid;
    gap: 18px;
    grid-column: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
    padding-top: 20px;
}

.uapi-confirmation-hero__stats div {
    align-items: center;
    display: grid;
    gap: 2px;
    grid-template-columns: 42px minmax(0, 1fr);
}

.uapi-confirmation-hero__stats div::before {
    align-items: center;
    background: #f3f7ff;
    border: 1px solid #d9e6f7;
    border-radius: 50%;
    color: #1f4f9b;
    content: "";
    display: flex;
    grid-row: span 2;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.uapi-confirmation-hero__stats div:nth-child(1)::before {
    content: "#";
}

.uapi-confirmation-hero__stats div:nth-child(2)::before {
    content: "D";
}

.uapi-confirmation-hero__stats div:nth-child(3)::before {
    content: "\2713";
}

.uapi-confirmation-hero__stats span {
    color: #597295;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.uapi-confirmation-hero__stats strong {
    color: #002b61;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.uapi-confirmation-hero__stats div:last-child strong {
    color: #12964f;
}

.uapi-confirmation-main {
    gap: 18px;
}

.uapi-confirmation-card,
.uapi-confirmation-flight-summary {
    border-color: #dce8f6;
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(17, 55, 98, .06);
}

.uapi-confirmation-card {
    padding: 26px;
}

.uapi-confirmation-card__title,
.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    align-items: center;
    display: flex;
    gap: 14px;
}

.uapi-confirmation-card__title {
    margin-bottom: 18px;
}

.uapi-confirmation-card__title h2,
.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #002b61;
    font-size: 1.24rem;
    font-weight: 950;
    margin: 0;
}

.uapi-confirmation-card__icon {
    align-items: center;
    border: 2px solid #174f93;
    border-radius: 6px;
    color: #174f93;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 950;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    border-bottom: 0;
    padding: 24px 28px 8px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head span,
.uapi-confirmation-flight-summary .uapi-flight-summary__head p,
.uapi-confirmation-flight-summary .uapi-flight-summary__head b {
    display: none;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    align-items: center;
    border: 2px solid #174f93;
    border-radius: 50%;
    color: #174f93;
    content: "";
    display: inline-flex;
    height: 26px;
    width: 26px;
}

.uapi-confirmation-flight-summary .tf-result-card__legs {
    padding: 10px 24px 24px;
}

.uapi-confirmation-flight-summary .tf-result-leg {
    border: 1px solid #dce8f6;
    border-radius: 12px;
    grid-template-columns: minmax(0, 1fr);
    padding: 18px 18px;
}

.uapi-confirmation-flight-summary .tf-result-leg + .tf-result-leg {
    margin-top: 0;
}

.uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
    display: none;
}

.uapi-confirmation-flight-summary .tf-flight-times {
    grid-template-columns: minmax(130px, .85fr) minmax(160px, 1fr) minmax(130px, .85fr);
}

.uapi-confirmation-flight-summary .tf-flight-point strong {
    font-size: clamp(1.55rem, 2.4vw, 2.05rem);
}

.uapi-confirmation-flight-summary .tf-flight-point small {
    font-size: 1.18rem;
}

.uapi-confirmation-services-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.uapi-confirmation-services-grid article {
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: grid;
    gap: 8px;
    justify-items: center;
    min-height: 132px;
    padding: 18px 14px;
    text-align: center;
}

.uapi-confirmation-service-icon {
    align-items: center;
    border: 2px solid #174f93;
    border-radius: 8px;
    color: #174f93;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 950;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.uapi-confirmation-service-icon::before {
    content: "+";
}

.uapi-confirmation-services-grid strong {
    color: #002b61;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.25;
}

.uapi-confirmation-services-grid small {
    color: #526b89;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.35;
}

.uapi-confirmation-passenger-list {
    display: grid;
    gap: 12px;
}

.uapi-confirmation-passenger-list article {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.uapi-confirmation-passenger-list strong {
    color: #002b61;
    display: block;
    font-size: 1.02rem;
    font-weight: 950;
}

.uapi-confirmation-passenger-list span {
    color: #526b89;
    display: block;
    font-size: .86rem;
    font-weight: 750;
    margin-top: 3px;
}

.uapi-confirmation-passenger-list em {
    background: #eaf8f0;
    border-radius: 8px;
    color: #12964f;
    font-size: .78rem;
    font-style: normal;
    font-weight: 950;
    padding: 9px 12px;
}

.uapi-confirmation-documents-grid,
.uapi-confirmation-payment-row {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-documents-grid div,
.uapi-confirmation-payment-row div {
    border-right: 1px solid #dce8f6;
    padding-right: 18px;
}

.uapi-confirmation-documents-grid div:last-child,
.uapi-confirmation-payment-row div:last-child {
    border-right: 0;
    padding-right: 0;
}

.uapi-confirmation-documents-grid span,
.uapi-confirmation-payment-row span {
    color: #526b89;
    display: block;
    font-size: .78rem;
    font-weight: 900;
    margin-bottom: 7px;
}

.uapi-confirmation-documents-grid strong,
.uapi-confirmation-payment-row strong {
    color: #002b61;
    display: block;
    font-size: 1rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.uapi-confirmation-inline-actions {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 22px;
}

.uapi-confirmation-inline-actions a,
.uapi-confirmation-help a {
    align-items: center;
    border: 1px solid #dce8f6;
    border-radius: 8px;
    color: #174f93;
    display: inline-flex;
    font-size: .88rem;
    font-weight: 950;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    text-decoration: none;
}

.uapi-confirmation-secure-note {
    border-top: 1px solid #dce8f6;
    color: #526b89;
    font-size: .84rem;
    font-weight: 800;
    margin: 18px 0 0;
    padding-top: 14px;
}

.uapi-confirmation-next-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-next-grid article {
    background: #f8fbff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    padding: 16px;
}

.uapi-confirmation-next-grid strong {
    color: #002b61;
    display: block;
    font-size: .9rem;
    font-weight: 950;
    margin-bottom: 6px;
}

.uapi-confirmation-next-grid span {
    color: #526b89;
    display: block;
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.4;
}

.uapi-confirmation-sidebar {
    gap: 22px;
    top: 104px;
}

.uapi-confirmation-summary,
.uapi-confirmation-help {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(17, 55, 98, .06);
    overflow: hidden;
}

.uapi-confirmation-summary__head {
    background: linear-gradient(135deg, #082f6e, #061f44);
    color: #fff;
    padding: 28px 28px 24px;
}

.uapi-confirmation-summary__head h2 {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1.2;
    margin: 0 0 16px;
}

.uapi-confirmation-summary__head span {
    background: #ffd94f;
    border-radius: 6px;
    color: #06224d;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 950;
    padding: 8px 10px;
}

.uapi-confirmation-summary__legs,
.uapi-confirmation-summary dl {
    padding: 0 28px;
}

.uapi-confirmation-summary__legs {
    display: grid;
    gap: 14px;
    padding-top: 22px;
    padding-bottom: 16px;
}

.uapi-confirmation-summary__legs div,
.uapi-confirmation-summary dl div {
    align-items: center;
    border-bottom: 1px solid #dce8f6;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px 0;
}

.uapi-confirmation-summary__legs strong,
.uapi-confirmation-summary dt {
    color: #17345f;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.35;
}

.uapi-confirmation-summary__legs span,
.uapi-confirmation-summary dd {
    color: #002b61;
    font-size: .88rem;
    font-weight: 950;
    margin: 0;
    text-align: right;
}

.uapi-confirmation-summary dl {
    display: grid;
    gap: 0;
    margin: 0;
    padding-bottom: 0;
}

.uapi-confirmation-summary__total {
    align-items: baseline;
    background: linear-gradient(180deg, #fff3bf, #ffe8a3);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 24px 28px;
}

.uapi-confirmation-summary__total span {
    color: #002b61;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-confirmation-summary__total strong {
    color: #002b61;
    font-size: 2rem;
    font-weight: 950;
    line-height: 1;
}

.uapi-confirmation-help {
    padding: 26px;
}

.uapi-confirmation-help h2 {
    color: #002b61;
    font-size: 1.06rem;
    font-weight: 950;
    margin: 0 0 8px;
}

.uapi-confirmation-help p {
    color: #526b89;
    font-size: .86rem;
    font-weight: 760;
    line-height: 1.45;
    margin: 0 0 18px;
}

.uapi-confirmation-help dl {
    display: grid;
    gap: 14px;
    margin: 0 0 20px;
}

.uapi-confirmation-help dt {
    color: #526b89;
    font-size: .74rem;
    font-weight: 900;
    margin-bottom: 3px;
}

.uapi-confirmation-help dd {
    color: #002b61;
    font-size: .94rem;
    font-weight: 950;
    margin: 0;
}

@media (max-width: 980px) {
    .uapi-passengers-layout {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-layout {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-hero {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .uapi-confirmation-hero__number {
        grid-column: 1 / -1;
        justify-self: stretch;
        min-width: 0;
    }

    .uapi-confirmation-sidebar {
        position: static;
    }

    .uapi-confirmation-flight-summary .tf-result-leg {
        grid-template-columns: minmax(0, 1fr);
    }

    .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
        display: none;
    }

    .uapi-booking-back-link,
    .uapi-flight-summary,
    .uapi-passengers-content,
    .uapi-payment-cancel-insurance,
    .uapi-payment-extra-details,
    .uapi-price-summary {
        grid-column: 1;
        grid-row: auto;
    }

    .uapi-price-summary {
        position: static;
    }

    .uapi-passengers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .uapi-baggage-card__body {
        grid-template-columns: 1fr;
    }

    .uapi-protection-addon__body {
        grid-template-columns: 1fr;
    }

    .uapi-checkin-addon__body {
        grid-template-columns: 1fr;
    }

    .uapi-payment-cancel-insurance__body {
        grid-template-columns: 1fr;
    }

    .uapi-payment-cancel-insurance__media {
        justify-self: center;
        max-width: 430px;
        width: 100%;
    }

    .uapi-seat-addon__body {
        grid-template-columns: 1fr;
    }

    .uapi-seat-addon__body > img {
        justify-self: center;
        max-width: 390px;
    }

    .uapi-seat-modal__content {
        grid-template-columns: 1fr;
    }

    .uapi-seat-modal__side {
        padding-top: 0;
        position: static;
    }

    .uapi-seat-modal__legend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .uapi-protection-addon__media {
        justify-self: center;
        max-width: 390px;
    }

    .uapi-checkin-addon__body img {
        justify-self: center;
        max-width: 390px;
    }

    .uapi-priority-addon {
        grid-template-columns: 92px minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page {
        padding-top: 24px;
    }

    .uapi-confirmation-page {
        padding: 24px 0 48px;
    }

    .uapi-confirmation-hero {
        align-items: flex-start;
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 18px;
    }

    .uapi-confirmation-hero__icon {
        font-size: 1.55rem;
        height: 46px;
        width: 46px;
    }

    .uapi-confirmation-hero__number {
        grid-column: 1 / -1;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head b {
        grid-column: 1;
        grid-row: auto;
        justify-self: flex-start;
        margin-top: 4px;
    }

    .uapi-confirmation-flight-summary .tf-result-card__legs {
        padding: 12px 16px 16px;
    }

    .uapi-confirmation-status,
    .uapi-confirmation-segments article,
    .uapi-confirmation-bank dl div,
    .uapi-confirmation-price dl div,
    .uapi-confirmation-contact dl div {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-card {
        padding: 18px;
    }

    .uapi-passenger-card__head,
    .uapi-passengers-login-note,
    .uapi-passengers-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .uapi-login-modal {
        padding: 14px;
    }

    .uapi-login-modal__head,
    .uapi-login-modal__form {
        padding-left: 18px;
        padding-right: 18px;
    }

    .uapi-login-modal__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .uapi-profile-select {
        min-width: 0;
    }

    .uapi-passengers-grid,
    .uapi-flight-segment,
    .uapi-baggage-card__body {
        grid-template-columns: 1fr;
    }

    .uapi-birthdate-selects {
        grid-template-columns: 72px minmax(112px, 1fr) 88px;
    }

    .uapi-baggage-card__intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .uapi-payment-services {
        padding-left: 18px;
        padding-right: 18px;
    }

    .uapi-payment-services__label {
        margin-bottom: 10px;
    }

    .uapi-payment-passenger__head {
        align-items: flex-start;
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 18px;
    }

    .uapi-payment-passenger__avatar {
        height: 46px;
        width: 46px;
    }

    .uapi-payment-service-groups {
        grid-template-columns: 1fr;
    }

    .uapi-payment-service-group {
        gap: 12px;
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 0;
        padding: 14px;
    }

    .uapi-payment-service-group:nth-child(2n) {
        border-left: 1px solid #dce8f6;
        padding-left: 14px;
    }

    .uapi-payment-service-group:nth-child(n+2) {
        border-top: 1px solid #dce8f6;
    }

    .uapi-payment-service-group--baggage,
    .uapi-payment-service-group--seats,
    .uapi-payment-service-group--protection,
    .uapi-payment-service-group--insurance,
    .uapi-payment-service-group--checkin,
    .uapi-payment-service-group--other {
        grid-column: auto;
        grid-row: auto;
    }

    .uapi-payment-service-group__icon {
        border-radius: 50%;
        height: 40px;
        width: 40px;
    }

    .uapi-payment-service-group__icon svg {
        height: 20px;
        width: 20px;
    }

    .uapi-payment-cancel-insurance__body {
        padding: 18px;
    }

    .uapi-payment-cancel-insurance__option {
        align-items: flex-start;
        grid-template-columns: 22px minmax(0, 1fr);
    }

    .uapi-payment-cancel-insurance__option b {
        grid-column: 2;
    }

    .uapi-payment-form-card {
        padding: 18px;
    }

    .uapi-payment-invoice-option {
        gap: 12px;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        min-height: 78px;
        padding: 14px;
    }

    .uapi-payment-invoice-option__icon,
    .uapi-payment-invoice-option__icon svg {
        height: 40px;
        width: 40px;
    }

    .uapi-payment-company-fields,
    .uapi-payment-contact-fields {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .uapi-payment-payer-type {
        grid-template-columns: 1fr;
    }

    .uapi-payment-payer-type__control {
        max-width: none;
    }

    .uapi-payment-company-fields label,
    .uapi-payment-company-field--wide,
    .uapi-payment-contact-fields label,
    .uapi-payment-phone-prefix-field,
    .uapi-payment-phone-number-field {
        grid-column: auto;
    }

    .uapi-payment-reserve-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .uapi-payment-reserve-info {
        max-width: none;
    }

    .uapi-payment-reserve-submit {
        align-items: stretch;
        justify-items: stretch;
    }

    .uapi-payment-reserve-hint {
        justify-content: center;
    }

    .uapi-payment-method-option {
        align-items: flex-start;
        grid-template-columns: 22px 48px minmax(0, 1fr);
        min-height: 0;
        padding: 14px;
    }

    .uapi-payment-method-option__icon {
        height: 44px;
        width: 48px;
    }

    .uapi-payment-method-option__icon svg {
        height: 25px;
        width: 25px;
    }

    .uapi-payment-method-badges,
    .uapi-payment-method-side-icon {
        grid-column: 3;
        justify-content: flex-start;
        margin-top: 4px;
    }

    .uapi-payment-card-logos {
        max-width: 150px;
    }

    .uapi-priority-addon {
        grid-template-columns: 1fr;
    }

    .uapi-protection-addon__body {
        padding: 18px;
    }

    .uapi-checkin-addon__body {
        padding: 18px;
    }

    .uapi-seat-addon__body {
        padding: 18px;
    }

    .uapi-seat-addon__table-head,
    .uapi-seat-addon__row,
    .uapi-seat-addon__table.is-oneway .uapi-seat-addon__table-head,
    .uapi-seat-addon__table.is-oneway .uapi-seat-addon__row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 8px 0;
    }

    .uapi-seat-addon__button {
        justify-self: stretch;
        width: 100%;
    }

    .uapi-seat-modal__dialog {
        max-height: 94vh;
        width: min(96vw, 1120px);
    }

    .uapi-seat-modal__content {
        padding: 18px;
    }

    .uapi-seat-map__letters,
    .uapi-seat-map__row {
        gap: 6px;
        grid-template-columns: repeat(3, 34px) 24px repeat(3, 34px);
    }

    .uapi-seat-map__row button {
        height: 34px;
        width: 34px;
    }

    .uapi-seat-modal__legend {
        grid-template-columns: 1fr;
    }

    .uapi-protection-addon__choice {
        align-items: flex-start;
    }

    .uapi-protection-modal {
        padding: 14px;
    }

    .uapi-protection-modal__head {
        padding: 18px;
    }

    .uapi-protection-modal__head h3 {
        font-size: 1.08rem;
    }

    .uapi-protection-modal__download {
        align-items: flex-start;
        margin: 18px;
    }

    .uapi-protection-modal__download a {
        margin-left: 0;
    }

    .uapi-protection-modal__copy {
        margin: 0 18px 18px;
    }

    .uapi-protection-modal__columns {
        grid-template-columns: 1fr;
    }

    .uapi-protection-modal__table {
        margin: 0 18px 22px;
        width: calc(100% - 36px);
    }

    .uapi-protection-modal__table th,
    .uapi-protection-modal__table td {
        padding: 13px;
    }

    .uapi-booking-terms-modal__body {
        padding: 18px;
    }

    .uapi-booking-terms-leg__card {
        margin-left: 0;
        padding: 18px;
    }

    .uapi-flight-segment__route,
    .uapi-flight-segment__details {
        grid-column: 1;
        justify-self: stretch;
    }

    .uapi-flight-segment__route i {
        display: none;
    }
}

/* QSF visual refresh */
.booking-shell,
.airlines-page .booking-shell,
.airline-detail-page .booking-shell,
.connection-search-shell,
.cheap-flights-search {
    --qsf-icon-plane-blue: url("../img/qsf-icons/plane-blue.svg");
    --qsf-icon-plane-white: url("../img/qsf-icons/plane-white.svg");
    --qsf-icon-seat: url("../img/qsf-icons/qsf-seat-new.png");
    --qsf-icon-pin: url("../img/qsf-icons/qsf-pin-new.png");
    --qsf-icon-calendar: url("../img/qsf-icons/qsf-calendar-new.png");
    --qsf-icon-user: url("../img/qsf-icons/qsf-passengers-new.png");
    --qsf-icon-swap: url("../img/qsf-icons/swap-blue.svg");
    --qsf-icon-swap-white: url("../img/qsf-icons/swap-white.svg");
    overflow: visible;
    border: 1px solid rgba(214, 225, 244, 0.95) !important;
    border-radius: 8px;
    padding: 0;
    color: #071741;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98)),
        #fff !important;
    box-shadow: 0 18px 42px rgba(23, 52, 103, 0.14);
}

.booking-shell .tabs {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 90px;
    border-bottom: 1px solid #dfe8f6;
    padding: 16px 26px;
}

.booking-shell .tabs .tab {
    min-width: 198px;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    border-radius: 999px;
    padding: 0 22px;
    color: #071741;
    background: transparent;
    font-weight: 900;
    box-shadow: none;
    transform: none;
}

.booking-shell .tabs .tab::before {
    content: "";
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    border-radius: 999px;
    background:
        var(--qsf-icon-plane-blue) center / 28px 28px no-repeat,
        #eef4ff;
    line-height: 1;
}

.booking-shell .tabs .tab[data-trip="oneway"]::before {
    background:
        var(--qsf-icon-plane-blue) center / 26px 26px no-repeat,
        #eef4ff;
}

.booking-shell .tabs .tab.is-active {
    color: #0d2c80;
    background: #eef3ff;
    border-color: transparent;
    box-shadow: none;
}

.booking-shell .tabs .tab.is-active::before {
    background:
        var(--qsf-icon-plane-white) center / 28px 28px no-repeat,
        linear-gradient(180deg, #2d63d8, #163fa5);
    box-shadow: 0 8px 18px rgba(28, 73, 174, 0.24);
}

.booking-shell .tabs .tab.is-active[data-trip="oneway"]::before {
    background:
        var(--qsf-icon-plane-white) center / 26px 26px no-repeat,
        linear-gradient(180deg, #2d63d8, #163fa5);
}

.booking-shell .tabs .travel-class {
    position: relative;
    min-width: 330px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    align-items: center;
    margin-left: 18px;
    border-left: 1px solid #dfe8f6;
    padding-left: 24px;
    cursor: pointer;
}

.booking-shell .tabs .travel-class::before {
    content: "";
    grid-row: 1 / 3;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 0;
    background:
        var(--qsf-icon-seat) center / 44px 44px no-repeat;
}

.booking-shell .tabs .travel-class span,
.booking-shell .search-form label > span,
.booking-shell .passenger-picker .field-label,
.airlines-page .booking-shell .travel-class span,
.airlines-page .booking-shell .search-form label > span,
.airlines-page .booking-shell .passenger-picker .field-label,
.airline-detail-page .booking-shell .travel-class span,
.airline-detail-page .booking-shell .search-form label > span,
.airline-detail-page .booking-shell .passenger-picker .field-label,
.connection-search-shell .travel-class span,
.connection-search-shell .search-form label > span,
.connection-search-shell .passenger-picker .field-label,
.cheap-flights-search .travel-class span,
.cheap-flights-search .search-form label > span,
.cheap-flights-search .passenger-picker .field-label {
    color: #12224e;
    text-shadow: none;
}

.booking-shell .tabs .travel-class span {
    grid-column: 2;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.booking-shell .tabs .travel-class select {
    grid-column: 2;
    min-height: 30px;
    border: 0 !important;
    border-radius: 0;
    padding: 0 38px 0 0;
    color: #071741;
    background:
        linear-gradient(45deg, transparent 50%, #3158ad 50%) calc(100% - 18px) 12px / 7px 7px no-repeat,
        linear-gradient(135deg, #3158ad 50%, transparent 50%) calc(100% - 11px) 12px / 7px 7px no-repeat;
    font-size: 18px;
    font-weight: 900;
    box-shadow: none;
    cursor: pointer;
}

.booking-shell .tabs .travel-class.is-enhanced select {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    border: 0 !important;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.booking-shell .tabs .qsf-travel-class-control {
    grid-column: 2;
    min-width: 0;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border: 0;
    border-radius: 6px;
    padding: 0 38px 0 0;
    color: #071741;
    background: transparent;
    font: inherit;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.12;
    text-align: left;
    cursor: pointer;
}

.booking-shell .tabs .qsf-travel-class-control::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 36px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #3158ad;
    border-bottom: 2px solid #3158ad;
    transform: rotate(45deg) translateY(-3px);
    transition: transform 0.16s ease, border-color 0.16s ease;
}

.booking-shell .tabs .travel-class.is-open .qsf-travel-class-control::after {
    border-color: #1745b5;
    transform: rotate(225deg) translate(-2px, -1px);
}

.booking-shell .tabs .qsf-travel-class-control:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(49, 88, 173, 0.16);
}

.booking-shell .tabs .qsf-travel-class-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 82px;
    z-index: 90;
    width: min(318px, calc(100vw - 36px));
    overflow: hidden;
    border: 1px solid #cfdaec;
    border-radius: 8px;
    padding: 6px;
    background: #fff;
    box-shadow: 0 20px 46px rgba(13, 47, 97, 0.22);
}

.booking-shell .tabs .qsf-travel-class-menu[hidden] {
    display: none !important;
}

.booking-shell .tabs .qsf-travel-class-option {
    position: relative;
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 6px;
    padding: 10px 12px 10px 34px;
    color: #071741;
    background: transparent;
    font: inherit;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.booking-shell .tabs .qsf-travel-class-option::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 10px;
    height: 10px;
    border: 2px solid #b9c8e4;
    border-radius: 999px;
    background: #fff;
    transform: translateY(-50%);
}

.booking-shell .tabs .qsf-travel-class-option:hover,
.booking-shell .tabs .qsf-travel-class-option:focus-visible {
    color: #0d2c80;
    background: #eef5ff;
    outline: 0;
}

.booking-shell .tabs .qsf-travel-class-option.is-selected {
    color: #0d2c80;
    background: #eef3ff;
    box-shadow: inset 3px 0 0 #ff8a12;
}

.booking-shell .tabs .qsf-travel-class-option.is-selected::before {
    border-color: #1745b5;
    background: radial-gradient(circle at center, #1745b5 0 42%, #fff 46% 100%);
}

.booking-shell .tabs .qsf-airline-brand {
    min-height: 58px;
    border-color: #dbe6f7;
    border-radius: 8px;
    padding: 9px 16px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
}

.booking-shell .tabs .qsf-airline-brand p {
    font-size: 15px;
}

.booking-shell .tabs + .search-form {
    grid-template-columns: minmax(248px, 1.32fr) 38px minmax(268px, 1.44fr) minmax(146px, 0.8fr) minmax(146px, 0.8fr) minmax(170px, 0.96fr) 128px;
    gap: 14px;
    align-items: center;
    border: 0 !important;
    border-radius: 0;
    padding: 28px 26px 26px;
    background: transparent !important;
}

.booking-shell .tabs + .search-form.is-oneway {
    grid-template-columns: minmax(258px, 1.34fr) 38px minmax(278px, 1.46fr) minmax(148px, 0.8fr) minmax(176px, 0.98fr) 128px;
}

.booking-shell .search-form label,
.booking-shell .passenger-picker {
    position: relative;
    min-height: 84px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: 18px minmax(26px, auto) 17px;
    column-gap: 10px;
    row-gap: 1px;
    align-content: center;
    align-items: center;
    padding: 0;
}

.booking-shell .search-form label::before,
.booking-shell .passenger-picker::before {
    content: "";
    grid-row: 1 / 4;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #edf3ff;
    line-height: 1;
}

.booking-shell .search-form label:nth-of-type(1)::before,
.booking-shell .search-form label:nth-of-type(2)::before {
    background:
        var(--qsf-icon-pin) center / 32px 32px no-repeat,
        #edf3ff;
}

.booking-shell .search-form label:nth-of-type(3)::before,
.booking-shell .search-form label:nth-of-type(4)::before {
    background:
        var(--qsf-icon-calendar) center / 33px 33px no-repeat,
        #edf3ff;
}

.booking-shell .passenger-picker::before {
    background:
        var(--qsf-icon-user) center / 34px 34px no-repeat,
        #edf3ff;
}

.booking-shell .passenger-picker {
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 8px;
    margin-left: 18px;
}

.booking-shell .passenger-picker::before {
    width: 42px;
    height: 42px;
    background:
        var(--qsf-icon-user) center / 30px 30px no-repeat,
        #edf3ff;
}

.booking-shell .search-form label > span,
.booking-shell .passenger-picker .field-label {
    grid-column: 2;
    align-self: end;
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    transform: translateY(-3px);
}

.booking-shell .search-form input,
.booking-shell .date-trigger,
.booking-shell .passenger-trigger,
.airlines-page .booking-shell input,
.airline-detail-page .booking-shell input,
.connection-search-shell input,
.cheap-flights-search input,
.airlines-page .booking-shell .date-trigger,
.airline-detail-page .booking-shell .date-trigger,
.connection-search-shell .date-trigger,
.cheap-flights-search .date-trigger,
.airlines-page .booking-shell .passenger-trigger,
.airline-detail-page .booking-shell .passenger-trigger,
.connection-search-shell .passenger-trigger,
.cheap-flights-search .passenger-trigger {
    grid-column: 2;
    width: 100%;
    min-height: 24px;
    border: 0 !important;
    border-radius: 0;
    padding: 0;
    color: #071741;
    background: transparent !important;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.12;
    box-shadow: none !important;
}

.booking-shell .date-trigger,
.booking-shell .passenger-trigger {
    display: flex;
    align-self: center;
    justify-content: flex-start;
}

.booking-shell .date-trigger [data-date-label],
.booking-shell .passenger-trigger [data-passenger-summary] {
    min-width: 0;
    display: block;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.booking-shell .date-trigger.is-placeholder [data-date-label] {
    color: #6d7fa1;
}

.booking-shell .return-date {
    margin-left: 8px;
}

.booking-shell .qsf-field-meta {
    grid-column: 2;
    align-self: start;
    min-height: 16px;
    margin: 0;
    color: #12224e;
    font-size: 13px;
    line-height: 1.1;
    white-space: nowrap;
}

.booking-shell .qsf-field-meta[hidden] {
    display: none !important;
}

.booking-shell .airport-field .qsf-field-meta {
    padding-left: 8px;
}

.booking-shell .airport-field {
    min-height: 84px;
    grid-template-rows: 18px 38px 18px;
    align-content: center;
}

.booking-shell .airport-field input[data-airport-search] {
    min-height: 38px;
    border: 1px solid transparent !important;
    border-radius: 4px;
    padding: 0 30px 0 8px;
    background: transparent !important;
    font-size: 17px;
    box-shadow: none !important;
}

.booking-shell .airport-field input[data-airport-search]:focus {
    border-color: #1d64d8 !important;
    background: #fff !important;
    outline: 0;
    box-shadow: 0 0 0 1px rgba(29, 100, 216, 0.16) !important;
}

.booking-shell .date-trigger::before,
.booking-shell .date-trigger::after,
.booking-shell .passenger-trigger::after,
.booking-shell .passenger-icon {
    content: none;
    display: none;
}

.booking-shell .field-error,
.booking-shell .passenger-error {
    grid-column: 2;
}

.booking-shell .airport-clear {
    top: 27px;
    right: 10px;
    width: 24px;
    height: 24px;
    color: #fff;
    background: #263247;
    font-size: 16px;
    transition: background-color 0.16s ease, box-shadow 0.16s ease;
}

.booking-shell .airport-clear:hover {
    color: #fff;
    background: #36465f;
    box-shadow: 0 0 0 3px rgba(54, 70, 95, 0.16);
}

.booking-shell .airport-field .airport-suggestions {
    top: 68px;
    left: 58px;
    width: min(560px, calc(100vw - 140px));
}

.booking-shell .swap-airports {
    align-self: center;
    justify-self: center;
    width: 38px;
    height: 38px;
    margin-top: 0;
    border: 0;
    color: #1745b5;
    background:
        var(--qsf-icon-swap) center / 23px 23px no-repeat,
        #edf3ff;
    font-size: 0;
    box-shadow: none;
}

.booking-shell .swap-airports:hover {
    color: #fff;
    background:
        var(--qsf-icon-swap-white) center / 23px 23px no-repeat,
        #1745b5;
}

.booking-shell .search-button {
    align-self: center;
    width: 128px;
    min-width: 128px;
    min-height: 62px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 3px;
    margin-top: 0;
    border-radius: 8px;
    padding: 6px 14px;
    color: #fff;
    background: linear-gradient(180deg, #ff9717 0%, #ff5c00 100%);
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 16px 30px rgba(255, 99, 0, 0.28);
}

.booking-shell .search-button__icon {
    width: 27px;
    height: 27px;
    stroke-width: 2.2;
}

.booking-shell .search-button__label {
    display: inline;
}

.booking-shell .search-button:hover {
    background: linear-gradient(180deg, #ffad2d 0%, #ff6508 100%);
}

.booking-shell .has-error input,
.booking-shell .has-error .date-trigger,
.booking-shell .has-error .passenger-trigger {
    color: #9b1c1c;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 1180px) {
    .booking-shell .tabs + .search-form,
    .booking-shell .tabs + .search-form.is-oneway {
        grid-template-columns: minmax(220px, 1.02fr) 38px minmax(235px, 1.06fr) minmax(138px, 0.74fr) minmax(138px, 0.74fr) minmax(166px, 0.92fr) 124px;
    }

    .booking-shell .search-button {
        width: 124px;
        min-width: 124px;
    }

    .booking-shell .passenger-picker {
        margin-left: 12px;
    }
}

@media (max-width: 980px) {
    .booking-shell .tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        min-height: 0;
        padding: 16px;
    }

    .booking-shell .tabs .tab {
        min-width: 0;
        width: 100%;
        min-height: 50px;
        padding: 0 14px;
    }

    .booking-shell .tabs .travel-class {
        grid-column: 1 / -1;
        min-width: 0;
        margin-left: 0;
        border-left: 0;
        border-top: 1px solid #dfe8f6;
        padding: 14px 0 0;
    }

    .booking-shell .tabs .qsf-travel-class-control::after {
        top: 34px;
    }

    .booking-shell .tabs .qsf-travel-class-menu {
        left: 58px;
        width: min(318px, calc(100% - 58px));
    }

    .booking-shell .tabs + .search-form,
    .booking-shell .tabs + .search-form.is-oneway {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        padding: 18px 16px 20px;
    }

    .booking-shell .swap-airports {
        display: none;
    }

    .booking-shell .search-button {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        min-height: 56px;
        display: flex;
        gap: 8px;
    }

    .booking-shell .passenger-picker {
        margin-left: 0;
    }

    .booking-shell .return-date {
        margin-left: 0;
    }
}

@media (max-width: 620px) {
    .booking-shell .tabs {
        grid-template-columns: 1fr;
    }

    .booking-shell .tabs + .search-form,
    .booking-shell .tabs + .search-form.is-oneway {
        grid-template-columns: 1fr;
    }

    .booking-shell .search-form label,
    .booking-shell .passenger-picker {
        min-height: 66px;
        grid-template-columns: 50px minmax(0, 1fr);
        column-gap: 12px;
    }

    .booking-shell .search-form label::before,
    .booking-shell .passenger-picker::before {
        width: 50px;
        height: 50px;
        font-size: 22px;
    }

    .booking-shell .search-form input,
    .booking-shell .date-trigger,
    .booking-shell .passenger-trigger {
        font-size: 16px;
    }
}

.booking-shell,
.booking-shell * {
    font-weight: 400 !important;
    font-style: normal;
}

@media (max-width: 1180px) {
    .uapi-confirmation-layout {
        grid-template-columns: minmax(0, 1.75fr) minmax(300px, .95fr);
    }

    .uapi-confirmation-hero {
        background:
            linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, .98) 58%, rgba(255, 255, 255, .76) 100%),
            url("/assets/img/hero-plane.png") right center / auto 100% no-repeat,
            #ffffff;
        grid-template-columns: 92px minmax(0, 1fr);
        padding-left: 36px;
        padding-right: 36px;
    }

    .uapi-confirmation-hero__stats {
        grid-column: 1 / -1;
    }

    .uapi-confirmation-services-grid,
    .uapi-confirmation-next-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .uapi-confirmation-layout {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-sidebar {
        position: static;
    }

    .uapi-confirmation-hero {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .uapi-confirmation-summary {
        display: grid;
        grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    }

    .uapi-confirmation-summary__head,
    .uapi-confirmation-summary__total {
        grid-column: 1 / -1;
    }

    .uapi-confirmation-summary__legs,
    .uapi-confirmation-summary dl {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 720px) {
    .uapi-confirmation-page {
        padding-top: 24px;
    }

    .uapi-confirmation-hero {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
            url("/assets/img/hero-plane.png") right top / auto 52% no-repeat,
            #ffffff;
        grid-template-columns: 58px minmax(0, 1fr);
        min-height: 0;
        padding: 24px 20px;
    }

    .uapi-confirmation-hero__icon {
        font-size: 1.7rem;
        height: 58px;
        width: 58px;
    }

    .uapi-confirmation-hero__copy h1 {
        font-size: 1.7rem;
    }

    .uapi-confirmation-hero__stats {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .uapi-confirmation-documents-grid,
    .uapi-confirmation-payment-row,
    .uapi-confirmation-inline-actions,
    .uapi-confirmation-services-grid,
    .uapi-confirmation-next-grid,
    .uapi-confirmation-summary {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-documents-grid div,
    .uapi-confirmation-payment-row div {
        border-right: 0;
        border-bottom: 1px solid #dce8f6;
        padding-bottom: 14px;
        padding-right: 0;
    }

    .uapi-confirmation-documents-grid div:last-child,
    .uapi-confirmation-payment-row div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .uapi-confirmation-passenger-list article {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-flight-summary .tf-flight-times {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

/* UAPI confirmation final polish */
.uapi-confirmation-page {
    background: linear-gradient(180deg, #f4f8fd 0%, #ffffff 46%, #f7faff 100%);
    color: #0b2144;
    padding: 38px 0 70px;
}

.uapi-confirmation-page .container {
    max-width: 1420px;
}

.uapi-confirmation-layout {
    align-items: start;
    display: grid;
    gap: 26px 32px;
    grid-template-columns: minmax(0, 2.18fr) minmax(340px, .82fr);
}

.uapi-confirmation-hero {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .98) 46%, rgba(255, 255, 255, .78) 68%, rgba(255, 255, 255, .3) 100%),
        url("/assets/img/hero-plane.png") right center / auto 112% no-repeat,
        #fff;
    border: 1px solid #d9e6f6;
    border-radius: 12px;
    box-shadow: 0 22px 48px rgba(25, 67, 122, .09);
    grid-column: 1 / -1;
    grid-template-columns: 88px minmax(0, 720px);
    min-height: 250px;
    padding: 42px 52px 28px;
}

.uapi-confirmation-hero__icon {
    align-self: start;
    background: #24aa5a;
    border: 0;
    box-shadow: 0 16px 28px rgba(36, 170, 90, .28);
    color: #fff;
    font-size: 2.35rem;
    height: 76px;
    width: 76px;
}

.uapi-confirmation-hero__copy {
    gap: 8px;
    max-width: 700px;
}

.uapi-confirmation-hero__copy p {
    color: #244d83;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.uapi-confirmation-hero__copy h1 {
    color: #06275b;
    font-size: clamp(2.05rem, 3.1vw, 3rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
}

.uapi-confirmation-hero__copy > span {
    color: #3f5f86;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.5;
    max-width: 600px;
}

.uapi-confirmation-hero__stats {
    border-top: 1px solid #dbe6f5;
    display: grid;
    gap: 18px;
    grid-column: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 26px;
    padding-top: 18px;
}

.uapi-confirmation-hero__stats div {
    align-items: center;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: 40px minmax(0, 1fr);
}

.uapi-confirmation-hero__stats div::before {
    align-items: center;
    background: #f2f7ff;
    border: 1px solid #d7e4f5;
    border-radius: 50%;
    color: #174f93;
    display: flex;
    font-size: .78rem;
    font-weight: 950;
    grid-row: span 2;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.uapi-confirmation-hero__stats span {
    color: #607a9d;
    font-size: .76rem;
    font-weight: 900;
    text-transform: none;
}

.uapi-confirmation-hero__stats strong {
    color: #06275b;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.uapi-confirmation-hero__stats div:last-child strong {
    color: #15834b;
}

.uapi-confirmation-main,
.uapi-confirmation-sidebar {
    display: grid;
    gap: 18px;
}

.uapi-confirmation-card,
.uapi-confirmation-flight-summary,
.uapi-confirmation-summary,
.uapi-confirmation-help {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 12px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .06);
    overflow: hidden;
}

.uapi-confirmation-card {
    padding: 24px;
}

.uapi-confirmation-card__title {
    align-items: center;
    border-bottom: 1px solid #e4edf8;
    display: flex;
    gap: 12px;
    margin: -2px 0 20px;
    padding-bottom: 16px;
}

.uapi-confirmation-card__title h2,
.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #06275b;
    font-size: 1.18rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
}

.uapi-confirmation-card__icon,
.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    align-items: center;
    background: #f4f8ff;
    border: 1px solid #bfd2ee;
    border-radius: 8px;
    color: #174f93;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.uapi-confirmation-passenger-card .uapi-confirmation-card__icon::before {
    content: "P";
}

.uapi-confirmation-documents-card .uapi-confirmation-card__icon::before {
    content: "@";
}

.uapi-confirmation-payment-card .uapi-confirmation-card__icon::before {
    content: "PLN";
    font-size: .62rem;
}

.uapi-confirmation-next-card .uapi-confirmation-card__icon::before {
    content: "1";
}

.uapi-confirmation-flight-summary.tf-result-card {
    display: block;
    grid-column: auto;
    grid-row: auto;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    align-items: center;
    border-bottom: 1px solid #e4edf8;
    display: flex;
    gap: 12px;
    padding: 22px 24px 16px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    content: ">";
    border-radius: 50%;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head span,
.uapi-confirmation-flight-summary .uapi-flight-summary__head p,
.uapi-confirmation-flight-summary .uapi-flight-summary__head b {
    display: none;
}

.uapi-confirmation-flight-summary .tf-result-card__legs {
    display: grid;
    gap: 12px;
    padding: 18px 24px 24px;
}

.uapi-confirmation-flight-summary .tf-result-leg {
    background: #fbfdff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: block;
    padding: 18px;
}

.uapi-confirmation-flight-summary .tf-result-leg:last-of-type {
    border-bottom: 1px solid #dce8f6;
}

.uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
    display: none;
}

.uapi-confirmation-flight-summary .tf-flight-times {
    align-items: center;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(128px, .82fr) minmax(180px, 1fr) minmax(128px, .82fr);
}

.uapi-confirmation-flight-summary .tf-flight-point {
    gap: 5px;
}

.uapi-confirmation-flight-summary .tf-flight-point strong {
    color: #06275b;
    font-size: clamp(1.75rem, 2.5vw, 2.28rem);
    font-weight: 950;
}

.uapi-confirmation-flight-summary .tf-flight-point small {
    color: #06275b;
    font-size: 1.12rem;
    font-weight: 950;
}

.uapi-confirmation-flight-summary .tf-flight-point em {
    color: #4d6688;
    font-size: .82rem;
    font-weight: 760;
    line-height: 1.35;
}

.uapi-confirmation-flight-summary .tf-flight-line b {
    color: #174f93;
    font-size: .82rem;
    font-weight: 850;
}

.uapi-confirmation-flight-summary .tf-flight-line i {
    background: #8aa8d4;
}

.uapi-confirmation-flight-summary .tf-flight-line small {
    color: #607a9d;
    font-size: .8rem;
    font-weight: 800;
}

.uapi-confirmation-flight-summary .tf-leg-details {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    margin-top: 18px;
    padding: 18px;
}

.uapi-confirmation-services-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.uapi-confirmation-services-grid article {
    background: #fcfdff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: grid;
    gap: 8px;
    justify-items: center;
    min-height: 128px;
    padding: 18px 12px;
    text-align: center;
}

.uapi-confirmation-service-icon {
    align-items: center;
    background: #f4f8ff;
    border: 1px solid #bfd2ee;
    border-radius: 8px;
    color: #174f93;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.uapi-confirmation-services-grid strong {
    color: #06275b;
    font-size: .88rem;
    font-weight: 950;
    line-height: 1.25;
}

.uapi-confirmation-services-grid small,
.uapi-confirmation-services-grid span:not(.uapi-confirmation-service-icon) {
    color: #607a9d;
    font-size: .76rem;
    font-weight: 780;
    line-height: 1.35;
}

.uapi-confirmation-passenger-list {
    display: grid;
    gap: 12px;
}

.uapi-confirmation-passenger-list article {
    align-items: center;
    background: #fcfdff;
    border: 1px solid #e1eaf6;
    border-radius: 10px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
}

.uapi-confirmation-passenger-list strong,
.uapi-confirmation-documents-grid strong,
.uapi-confirmation-payment-row strong {
    color: #06275b;
    font-size: .98rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.uapi-confirmation-passenger-list span,
.uapi-confirmation-documents-grid span,
.uapi-confirmation-payment-row span {
    color: #607a9d;
    display: block;
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.35;
    margin-top: 4px;
}

.uapi-confirmation-passenger-list em {
    background: #eaf8f0;
    border: 1px solid #c6ecd6;
    border-radius: 999px;
    color: #15834b;
    font-size: .78rem;
    font-style: normal;
    font-weight: 950;
    padding: 8px 12px;
}

.uapi-confirmation-documents-grid,
.uapi-confirmation-payment-row {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-documents-grid div,
.uapi-confirmation-payment-row div {
    border-right: 1px solid #e1eaf6;
    min-width: 0;
    padding-right: 18px;
}

.uapi-confirmation-documents-grid div:last-child,
.uapi-confirmation-payment-row div:last-child {
    border-right: 0;
    padding-right: 0;
}

.uapi-confirmation-inline-actions {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 22px;
}

.uapi-confirmation-inline-actions a,
.uapi-confirmation-help a {
    background: #fff;
    border: 1px solid #cdddf2;
    border-radius: 8px;
    color: #174f93;
    font-size: .86rem;
    font-weight: 950;
    min-height: 44px;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.uapi-confirmation-inline-actions a:hover,
.uapi-confirmation-help a:hover {
    background: #f5f9ff;
    border-color: #a8c0e2;
    color: #06275b;
}

.uapi-confirmation-secure-note {
    border-top: 1px solid #e1eaf6;
    color: #607a9d;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.45;
    margin: 18px 0 0;
    padding-top: 14px;
}

.uapi-confirmation-next-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-next-grid article {
    background: #f8fbff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    padding: 16px;
}

.uapi-confirmation-next-grid strong {
    color: #06275b;
    display: block;
    font-size: .88rem;
    font-weight: 950;
    margin-bottom: 6px;
}

.uapi-confirmation-next-grid span {
    color: #607a9d;
    display: block;
    font-size: .76rem;
    font-weight: 780;
    line-height: 1.42;
}

.uapi-confirmation-sidebar {
    gap: 22px;
    position: sticky;
    top: 102px;
}

.uapi-confirmation-summary {
    padding: 0;
}

.uapi-confirmation-summary__head {
    background: linear-gradient(135deg, #06275b 0%, #08204a 100%);
    color: #fff;
    padding: 28px 28px 24px;
}

.uapi-confirmation-summary__head h2 {
    color: #fff;
    font-size: 1.32rem;
    font-weight: 950;
    line-height: 1.22;
    margin: 0 0 14px;
}

.uapi-confirmation-summary__head span {
    background: #ffd84d;
    border-radius: 6px;
    color: #06275b;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 950;
    padding: 8px 10px;
}

.uapi-confirmation-summary__legs,
.uapi-confirmation-summary dl {
    padding-left: 28px;
    padding-right: 28px;
}

.uapi-confirmation-summary__legs {
    display: grid;
    gap: 0;
    padding-top: 18px;
}

.uapi-confirmation-summary__legs div,
.uapi-confirmation-summary dl div {
    align-items: center;
    border-bottom: 1px solid #e2ebf6;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 15px 0;
}

.uapi-confirmation-summary__legs strong,
.uapi-confirmation-summary dt {
    color: #233d66;
    font-size: .88rem;
    font-weight: 850;
    line-height: 1.35;
}

.uapi-confirmation-summary__legs span,
.uapi-confirmation-summary dd {
    color: #06275b;
    font-size: .86rem;
    font-weight: 950;
    margin: 0;
    text-align: right;
}

.uapi-confirmation-summary dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.uapi-confirmation-summary__total {
    align-items: baseline;
    background: linear-gradient(180deg, #fff0b5, #ffe2a0);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 4px;
    padding: 24px 28px;
}

.uapi-confirmation-summary__total span {
    color: #06275b;
    font-size: 1rem;
    font-weight: 950;
}

.uapi-confirmation-summary__total strong {
    color: #06275b;
    font-size: 2.08rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.uapi-confirmation-help {
    padding: 24px;
}

.uapi-confirmation-help h2 {
    color: #06275b;
    font-size: 1.04rem;
    font-weight: 950;
    margin: 0 0 8px;
}

.uapi-confirmation-help p {
    color: #607a9d;
    font-size: .84rem;
    font-weight: 780;
    line-height: 1.45;
    margin: 0 0 18px;
}

.uapi-confirmation-help dl {
    display: grid;
    gap: 14px;
    margin: 0 0 20px;
}

.uapi-confirmation-help dt {
    color: #607a9d;
    font-size: .74rem;
    font-weight: 900;
    margin-bottom: 4px;
}

.uapi-confirmation-help dd {
    color: #06275b;
    font-size: .94rem;
    font-weight: 950;
    margin: 0;
}

@media (max-width: 1180px) {
    .uapi-confirmation-layout {
        grid-template-columns: minmax(0, 1.62fr) minmax(310px, .9fr);
    }

    .uapi-confirmation-hero {
        grid-template-columns: 76px minmax(0, 1fr);
        padding-left: 36px;
        padding-right: 36px;
    }

    .uapi-confirmation-hero__stats {
        grid-column: 1 / -1;
    }

    .uapi-confirmation-services-grid,
    .uapi-confirmation-next-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .uapi-confirmation-layout {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-sidebar {
        position: static;
    }
}

@media (max-width: 720px) {
    .uapi-confirmation-page {
        padding: 24px 0 48px;
    }

    .uapi-confirmation-hero {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
            url("/assets/img/hero-plane.png") right top / auto 46% no-repeat,
            #fff;
        grid-template-columns: 58px minmax(0, 1fr);
        min-height: 0;
        padding: 22px 18px;
    }

    .uapi-confirmation-hero__icon {
        font-size: 1.6rem;
        height: 56px;
        width: 56px;
    }

    .uapi-confirmation-hero__copy h1 {
        font-size: 1.72rem;
    }

    .uapi-confirmation-hero__stats {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .uapi-confirmation-card {
        padding: 18px;
    }

    .uapi-confirmation-flight-summary .tf-flight-times,
    .uapi-confirmation-documents-grid,
    .uapi-confirmation-payment-row,
    .uapi-confirmation-inline-actions,
    .uapi-confirmation-services-grid,
    .uapi-confirmation-next-grid {
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-flight-summary .tf-result-card__legs {
        padding: 14px;
    }

    .uapi-confirmation-flight-summary .tf-result-leg {
        padding: 16px;
    }

    .uapi-confirmation-documents-grid div,
    .uapi-confirmation-payment-row div {
        border-bottom: 1px solid #e1eaf6;
        border-right: 0;
        padding-bottom: 14px;
        padding-right: 0;
    }

    .uapi-confirmation-documents-grid div:last-child,
    .uapi-confirmation-payment-row div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .uapi-confirmation-passenger-list article {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-summary__total strong {
        font-size: 1.72rem;
    }
}

/* UAPI confirmation top refinement */
.uapi-confirmation-hero {
    background: #fff;
    border: 1px solid #d9e6f6;
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(18, 54, 99, .08);
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 76px minmax(0, 640px);
    gap: 24px;
    min-height: 292px;
    overflow: hidden;
    padding: 42px 46px 34px;
    position: relative;
}

.uapi-confirmation-hero::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .82) 0%, rgba(255, 255, 255, .22) 46%, rgba(255, 255, 255, 0) 100%),
        url("/assets/img/hero-plane.png") center right / cover no-repeat;
    border-left: 1px solid #dbe7f5;
    content: "";
    inset: 0 0 0 auto;
    opacity: .72;
    position: absolute;
    width: 43%;
    z-index: 0;
}

.uapi-confirmation-hero__icon,
.uapi-confirmation-hero__copy,
.uapi-confirmation-hero__stats {
    position: relative;
    z-index: 1;
}

.uapi-confirmation-hero__icon {
    align-self: start;
    background: linear-gradient(180deg, #31b969, #149653);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 14px 28px rgba(20, 150, 83, .24);
    color: #fff;
    font-size: 2rem;
    height: 72px;
    width: 72px;
}

.uapi-confirmation-hero__copy {
    align-self: start;
    display: grid;
    gap: 10px;
    max-width: 620px;
}

.uapi-confirmation-hero__copy p {
    color: #174f93;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

.uapi-confirmation-hero__copy h1 {
    color: #06275b;
    font-size: clamp(2rem, 2.75vw, 2.65rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0;
    max-width: 620px;
}

.uapi-confirmation-hero__copy > span {
    color: #405f86;
    display: block;
    font-size: .98rem;
    font-weight: 760;
    line-height: 1.48;
    margin: 0;
    max-width: 560px;
}

.uapi-confirmation-hero__stats {
    align-self: end;
    border-top: 1px solid #dfe9f6;
    display: grid;
    gap: 12px;
    grid-column: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
    max-width: 650px;
    padding-top: 16px;
}

.uapi-confirmation-hero__stats div {
    align-items: center;
    background: rgba(248, 251, 255, .92);
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-width: 0;
    padding: 10px 12px;
}

.uapi-confirmation-hero__stats div::before {
    align-items: center;
    background: #eef5ff;
    border: 1px solid #cfe0f5;
    border-radius: 50%;
    color: #174f93;
    display: flex;
    font-size: .72rem;
    font-weight: 950;
    grid-row: span 2;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.uapi-confirmation-hero__stats span {
    color: #607a9d;
    display: block;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
}

.uapi-confirmation-hero__stats strong {
    color: #06275b;
    display: block;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.18;
    margin: 0;
    overflow-wrap: anywhere;
}

.uapi-confirmation-hero__stats div:last-child strong {
    color: #15834b;
}

@media (max-width: 1180px) {
    .uapi-confirmation-hero {
        grid-template-columns: 68px minmax(0, 1fr);
        padding: 34px 34px 30px;
    }

    .uapi-confirmation-hero::before {
        opacity: .42;
        width: 38%;
    }

    .uapi-confirmation-hero__stats {
        grid-column: 1 / -1;
        max-width: none;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero {
        grid-template-columns: 56px minmax(0, 1fr);
        min-height: 0;
        padding: 24px 18px;
    }

    .uapi-confirmation-hero::before {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .96)),
            url("/assets/img/hero-plane.png") right top / auto 48% no-repeat;
        border-left: 0;
        inset: 0;
        opacity: .32;
        width: auto;
    }

    .uapi-confirmation-hero__icon {
        font-size: 1.45rem;
        height: 54px;
        width: 54px;
    }

    .uapi-confirmation-hero__copy h1 {
        font-size: 1.62rem;
    }

    .uapi-confirmation-hero__copy > span {
        font-size: .92rem;
    }

    .uapi-confirmation-hero__stats {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }
}

/* UAPI confirmation hero final layout */
.uapi-confirmation-hero {
    align-items: start;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 20px 52px rgba(18, 54, 99, .08);
    column-gap: 24px;
    display: grid;
    grid-column: 1 / -1;
    grid-template-areas:
        "icon copy visual"
        "stats stats visual";
    grid-template-columns: 66px minmax(0, 680px) minmax(280px, 1fr);
    grid-template-rows: auto 1fr;
    isolation: isolate;
    min-height: 232px;
    overflow: hidden;
    padding: 34px 40px 28px;
    position: relative;
    row-gap: 22px;
}

.uapi-confirmation-hero::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .72) 22%, rgba(255, 255, 255, .16) 60%, rgba(255, 255, 255, 0) 100%),
        url("/assets/img/hero-plane.png") center right / cover no-repeat;
    border: 0;
    border-radius: 0;
    content: "";
    inset: 0 0 0 auto;
    min-width: 0;
    opacity: .64;
    position: absolute;
    width: 47%;
    z-index: 0;
}

.uapi-confirmation-hero__icon,
.uapi-confirmation-hero__copy,
.uapi-confirmation-hero__stats {
    position: relative;
    z-index: 1;
}

.uapi-confirmation-hero__icon {
    align-self: start;
    background: linear-gradient(180deg, #32bd6d 0%, #139450 100%);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 14px 26px rgba(20, 150, 83, .22);
    color: #fff;
    display: flex;
    font-size: 1.9rem;
    grid-area: icon;
    height: 66px;
    justify-content: center;
    line-height: 1;
    width: 66px;
}

.uapi-confirmation-hero__copy {
    align-self: start;
    display: grid;
    gap: 9px;
    grid-area: copy;
    max-width: 680px;
    padding-top: 2px;
}

.uapi-confirmation-hero__copy p {
    color: #174f93;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

.uapi-confirmation-hero__copy h1 {
    color: #06275b;
    font-size: clamp(1.95rem, 2vw, 2.35rem);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0;
    max-width: 680px;
}

.uapi-confirmation-hero__copy > span {
    color: #405f86;
    display: block;
    font-size: .98rem;
    font-weight: 760;
    line-height: 1.5;
    margin: 0;
    max-width: 560px;
}

.uapi-confirmation-hero__stats {
    align-self: end;
    border-top: 1px solid #dfe9f6;
    display: grid;
    gap: 12px;
    grid-area: stats;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    max-width: 770px;
    padding-top: 16px;
}

.uapi-confirmation-hero__stats div {
    align-items: center;
    background: rgba(248, 251, 255, .96);
    border: 1px solid #dce8f6;
    border-radius: 10px;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-width: 0;
    padding: 10px 12px;
}

.uapi-confirmation-hero__stats div::before {
    align-items: center;
    background: #eef5ff;
    border: 1px solid #cfe0f5;
    border-radius: 50%;
    color: #174f93;
    display: flex;
    font-size: .72rem;
    font-weight: 950;
    grid-row: span 2;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.uapi-confirmation-hero__stats div:nth-child(1)::before {
    content: "#";
}

.uapi-confirmation-hero__stats div:nth-child(2)::before {
    content: "D";
}

.uapi-confirmation-hero__stats div:nth-child(3)::before {
    content: "\2713";
}

.uapi-confirmation-hero__stats span {
    color: #607a9d;
    display: block;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
}

.uapi-confirmation-hero__stats strong {
    color: #06275b;
    display: block;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.18;
    margin: 0;
    overflow-wrap: anywhere;
}

.uapi-confirmation-hero__stats div:last-child strong {
    color: #15834b;
}

@media (max-width: 1420px) {
    .uapi-confirmation-hero {
        grid-template-areas:
            "icon copy"
            "stats stats";
        grid-template-columns: 62px minmax(0, 1fr);
        min-height: 0;
        padding: 32px;
    }

    .uapi-confirmation-hero::before {
        background:
            linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .78)),
            url("/assets/img/hero-plane.png") right center / auto 100% no-repeat;
        border: 0;
        border-radius: inherit;
        inset: 0;
        min-width: 0;
        opacity: .26;
        width: auto;
    }

    .uapi-confirmation-hero__stats {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero {
        column-gap: 14px;
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 22px 18px;
        row-gap: 18px;
    }

    .uapi-confirmation-hero::before {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .98)),
            url("/assets/img/hero-plane.png") right top / auto 46% no-repeat;
        opacity: .24;
    }

    .uapi-confirmation-hero__icon {
        font-size: 1.35rem;
        height: 48px;
        width: 48px;
    }

    .uapi-confirmation-hero__copy {
        gap: 8px;
    }

    .uapi-confirmation-hero__copy h1 {
        font-size: 1.56rem;
        line-height: 1.12;
    }

    .uapi-confirmation-hero__copy > span {
        font-size: .9rem;
    }

    .uapi-confirmation-hero__stats {
        gap: 10px;
        grid-template-columns: 1fr;
        padding-top: 14px;
    }
}

/* UAPI confirmation final travel and icon polish */
.uapi-confirmation-hero__stats div:nth-child(2)::before {
    background:
        #eef5ff
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23174f93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2.5'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") center / 17px 17px no-repeat;
    content: "";
}

.uapi-confirmation-flight-summary,
.uapi-confirmation-flight-summary.tf-result-card {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .06);
    display: block;
    grid-column: auto;
    grid-row: auto;
    margin: 0;
    overflow: hidden;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e4edf8;
    display: grid;
    gap: 14px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 20px 24px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    background:
        #f4f8ff
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23174f93' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 12l3.5-3.5c1.5-1.5 2-3.5 1.2-4.3-.8-.8-2.8-.3-4.3 1.2L12 9 4.8 7.2 3 9l5.5 3.5L5 16l2 2 3.5-3.5L14 20z'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
    border: 1px solid #cfe0f5;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(23, 79, 147, .08);
    content: "";
    display: block;
    height: 42px;
    width: 42px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #06275b;
    font-size: 1.24rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head span,
.uapi-confirmation-flight-summary .uapi-flight-summary__head p,
.uapi-confirmation-flight-summary .uapi-flight-summary__head b {
    display: none;
}

.uapi-confirmation-flight-summary .tf-result-card__legs {
    align-content: center;
    display: grid;
    gap: 0;
    padding: 18px 24px 16px;
}

.uapi-confirmation-flight-summary .tf-result-leg {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e7eff9;
    border-radius: 0;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(520px, 1fr) minmax(150px, .2fr);
    padding: 16px 0;
}

.uapi-confirmation-flight-summary .tf-result-leg:last-of-type {
    border-bottom: 1px solid #e7eff9;
}

.uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
    display: grid;
    justify-self: end;
}

.uapi-confirmation-flight-summary .tf-flight-times {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(170px, .3fr) minmax(260px, .4fr) minmax(170px, .3fr);
}

.uapi-confirmation-flight-summary .tf-flight-point {
    display: grid;
    gap: 4px;
    justify-items: start;
    justify-self: start;
    margin: 0;
    min-width: 0;
    text-align: left;
    width: 100%;
}

.uapi-confirmation-flight-summary .tf-flight-point strong {
    color: #061f44;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.1;
    margin: 0;
}

.uapi-confirmation-flight-summary .tf-flight-point small {
    color: #7b8ca4;
    font-size: 12px;
    font-weight: 800;
}

.uapi-confirmation-flight-summary .tf-flight-point em {
    color: #53657d;
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    max-width: 240px;
    text-align: left;
    width: 100%;
}

.uapi-confirmation-flight-summary .tf-flight-line {
    align-items: center;
    color: #0f315f;
    display: grid;
    gap: 5px;
    grid-template-rows: auto 12px auto;
    justify-items: center;
    min-width: 260px;
    text-align: center;
}

.uapi-confirmation-flight-summary .tf-flight-line b {
    align-items: center;
    color: #0f315f;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 6px;
    justify-content: center;
}

.uapi-confirmation-flight-summary .tf-flight-line i {
    background: #ffb51e;
    display: block;
    height: 1px;
    position: relative;
    width: 100%;
}

.uapi-confirmation-flight-summary .tf-flight-line small {
    color: #7a8ca5;
    font-size: 12px;
    font-weight: 800;
}

.uapi-confirmation-flight-summary .tf-leg-details {
    background: #fff;
    border: 0;
    border-radius: 4px;
    box-shadow:
        0 0 0 9999px rgba(10, 18, 32, .42),
        0 28px 80px rgba(12, 46, 96, .22);
    left: 50%;
    margin: 0;
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 26px 30px 32px;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(875px, calc(100vw - 32px));
    z-index: 1000;
}

@media (max-width: 920px) {
    .uapi-confirmation-flight-summary .tf-result-leg {
        gap: 12px;
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
        justify-self: start;
        text-align: left;
    }

    .uapi-confirmation-flight-summary .tf-flight-times {
        gap: 10px;
        grid-template-columns: 1fr;
    }

    .uapi-confirmation-flight-summary .tf-flight-point strong {
        font-size: 17px;
    }

    .uapi-confirmation-flight-summary .tf-flight-line {
        justify-items: start;
        min-width: 0;
        text-align: left;
    }

    .uapi-confirmation-flight-summary .tf-flight-line i {
        width: min(220px, 100%);
    }

    .uapi-confirmation-flight-summary .tf-leg-details {
        border-radius: 4px;
        max-height: calc(100vh - 18px);
        padding: 18px;
        width: min(100vw - 18px, 875px);
    }
}

/* UAPI confirmation final header and price summary alignment */
.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e4edf8;
    display: flex;
    gap: 14px;
    min-height: 0;
    padding: 15px 22px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, 0)),
        url("/assets/img/hero-plane.png") center right / cover no-repeat;
    border: 1px solid #d5e3f5;
    border-radius: 11px;
    box-shadow: 0 8px 18px rgba(17, 55, 98, .08);
    content: "";
    display: block;
    flex: 0 0 58px;
    height: 42px;
    overflow: hidden;
    width: 58px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #06275b;
    flex: 1 1 auto;
    font-size: 1.18rem;
    font-weight: 950;
    grid-column: auto;
    grid-row: auto;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0;
}

.uapi-confirmation-sidebar .uapi-price-summary,
.uapi-confirmation-price-summary {
    grid-column: auto;
    grid-row: auto;
    position: static;
    top: auto;
    width: 100%;
}

.uapi-confirmation-sidebar .uapi-price-summary__head {
    background: #002b61;
}

@media (max-width: 720px) {
    .uapi-confirmation-flight-summary .uapi-flight-summary__head {
        padding: 14px 18px;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
        font-size: 1.08rem;
    }
}

/* UAPI confirmation dark hero */
.uapi-confirmation-hero {
    background:
        radial-gradient(circle at 16% 12%, rgba(70, 143, 222, .28), transparent 34%),
        linear-gradient(135deg, #061f44 0%, #082f63 46%, #0b4c73 100%);
    border-color: rgba(97, 148, 211, .42);
    box-shadow: 0 24px 58px rgba(6, 31, 68, .18);
}

.uapi-confirmation-hero::before {
    background:
        linear-gradient(90deg, rgba(6, 31, 68, .98) 0%, rgba(6, 31, 68, .74) 30%, rgba(6, 31, 68, .24) 66%, rgba(6, 31, 68, .04) 100%),
        url("/assets/img/hero-plane.png") center right / cover no-repeat;
    opacity: .72;
}

.uapi-confirmation-hero__copy p {
    color: #9fc9ff;
}

.uapi-confirmation-hero__copy h1 {
    color: #fff;
}

.uapi-confirmation-hero__copy > span {
    color: #d8e8fb;
}

.uapi-confirmation-hero__stats {
    border-top-color: rgba(199, 221, 248, .28);
}

.uapi-confirmation-hero__stats div {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(210, 228, 249, .28);
    box-shadow: 0 12px 26px rgba(4, 20, 45, .14);
}

.uapi-confirmation-hero__stats div::before {
    background-color: rgba(255, 255, 255, .12);
    border-color: rgba(221, 236, 255, .32);
    color: #fff;
}

.uapi-confirmation-hero__stats div:nth-child(2)::before {
    background-color: rgba(255, 255, 255, .12);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2.5'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
}

.uapi-confirmation-hero__stats span {
    color: #bcd4ef;
}

.uapi-confirmation-hero__stats strong,
.uapi-confirmation-hero__stats div:last-child strong {
    color: #fff;
}

.uapi-confirmation-hero__icon {
    box-shadow: 0 16px 30px rgba(20, 150, 83, .34);
}

@media (max-width: 1420px) {
    .uapi-confirmation-hero::before {
        background:
            linear-gradient(90deg, rgba(6, 31, 68, .96), rgba(6, 31, 68, .8)),
            url("/assets/img/hero-plane.png") right center / auto 100% no-repeat;
        opacity: .28;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero::before {
        background:
            linear-gradient(180deg, rgba(6, 31, 68, .98), rgba(6, 31, 68, .9)),
            url("/assets/img/hero-plane.png") right top / auto 46% no-repeat;
        opacity: .22;
    }
}

/* UAPI confirmation light hero and travel photo icon */
.uapi-confirmation-hero {
    background:
        linear-gradient(90deg, #fff 0%, #fff 51%, rgba(255, 255, 255, .92) 66%, rgba(255, 255, 255, .72) 100%),
        url("/assets/img/uapi-cabin-window.png") right center / auto 118% no-repeat,
        #fff;
    border-color: #dce8f6;
    box-shadow: 0 20px 52px rgba(18, 54, 99, .08);
}

.uapi-confirmation-hero::before {
    background:
        linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 39%, rgba(255, 255, 255, .82) 56%, rgba(255, 255, 255, .35) 74%, rgba(255, 255, 255, 0) 100%);
    border: 0;
    border-radius: inherit;
    content: "";
    inset: 0;
    min-width: 0;
    opacity: 1;
    width: auto;
    z-index: 0;
}

.uapi-confirmation-hero__copy p {
    color: #174f93;
}

.uapi-confirmation-hero__copy h1 {
    color: #06275b;
}

.uapi-confirmation-hero__copy > span {
    color: #405f86;
}

.uapi-confirmation-hero__stats {
    border-top-color: #dfe9f6;
}

.uapi-confirmation-hero__stats div {
    background: rgba(248, 251, 255, .96);
    border-color: #dce8f6;
    box-shadow: none;
}

.uapi-confirmation-hero__stats div::before {
    background-color: #eef5ff;
    border-color: #cfe0f5;
    color: #174f93;
}

.uapi-confirmation-hero__stats div:nth-child(2)::before {
    background-color: #eef5ff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23174f93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2.5'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
}

.uapi-confirmation-hero__stats span {
    color: #607a9d;
}

.uapi-confirmation-hero__stats strong {
    color: #06275b;
}

.uapi-confirmation-hero__stats div:last-child strong {
    color: #15834b;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    gap: 14px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    background: url("/assets/img/uapi-travel-route-icon.png") center / contain no-repeat;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    flex: 0 0 58px;
    height: 42px;
    width: 58px;
}

.uapi-confirmation-passenger-summary {
    grid-column: auto;
    grid-row: auto;
    margin-top: 0;
}

@media (max-width: 1420px) {
    .uapi-confirmation-hero {
        background:
            linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 54%, rgba(255, 255, 255, .84) 100%),
            url("/assets/img/uapi-cabin-window.png") right center / auto 100% no-repeat,
            #fff;
    }

    .uapi-confirmation-hero::before {
        background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .96) 58%, rgba(255, 255, 255, .7) 100%);
        opacity: 1;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
            url("/assets/img/uapi-cabin-window.png") right top / auto 44% no-repeat,
            #fff;
    }

    .uapi-confirmation-hero::before {
        background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .92));
        opacity: 1;
    }
}

/* UAPI confirmation section headers */
.uapi-confirmation-flight-summary,
.uapi-confirmation-flight-summary.tf-result-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 18px;
    overflow: visible;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head {
    align-items: center;
    background: transparent;
    border-bottom: 0;
    display: grid;
    gap: 2px 18px;
    grid-template-columns: 104px minmax(0, 1fr);
    padding: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    background: url("/assets/img/uapi-travel-route-icon-cropped.png") center / contain no-repeat;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    content: "";
    display: block;
    grid-row: 1 / 3;
    height: 76px;
    width: 104px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    color: #06275b;
    font-size: 1.72rem;
    font-weight: 950;
    line-height: 1.08;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p {
    color: #405f86;
    display: block;
    font-size: 1rem;
    font-weight: 760;
    line-height: 1.45;
    margin: 0;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p strong,
.uapi-confirmation-flight-summary .uapi-flight-summary__head span,
.uapi-confirmation-flight-summary .uapi-flight-summary__head b {
    display: none;
}

.uapi-confirmation-flight-summary .tf-result-card__legs {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .06);
    overflow: hidden;
    padding: 18px 24px 16px;
}

.uapi-confirmation-passenger-summary .uapi-passengers-header {
    align-items: center;
    display: grid;
    gap: 2px 18px;
    grid-template-columns: 104px minmax(0, 1fr);
}

.uapi-confirmation-passenger-summary .uapi-passengers-header::before {
    background: url("/assets/img/uapi-passengers-ticket-icon.png") center / contain no-repeat;
    content: "";
    display: block;
    grid-row: 1 / 3;
    height: 82px;
    mix-blend-mode: normal;
    width: 104px;
}

@media (max-width: 760px) {
    .uapi-confirmation-flight-summary .uapi-flight-summary__head,
    .uapi-confirmation-passenger-summary .uapi-passengers-header {
        gap: 8px 14px;
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head::before,
    .uapi-confirmation-passenger-summary .uapi-passengers-header::before {
        height: 60px;
        width: 76px;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
        font-size: 1.42rem;
    }
}

/* UAPI confirmation final polish */
.uapi-confirmation-hero {
    background:
        linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .97) 46%, rgba(255, 255, 255, .68) 70%, rgba(255, 255, 255, .28) 100%),
        url("/assets/img/uapi-cabin-window.png") right center / auto 100% no-repeat,
        #fff;
}

.uapi-confirmation-hero::before {
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .94) 52%, rgba(255, 255, 255, .38) 80%, rgba(255, 255, 255, .12) 100%);
    opacity: .72;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2,
.uapi-confirmation-passenger-summary .uapi-passengers-header h1 {
    color: #002b61;
    font-size: 1.6rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.15;
    margin: 0 0 6px;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p,
.uapi-confirmation-passenger-summary .uapi-passengers-header p {
    color: #526b89;
    font-size: .96rem;
    font-weight: 500;
    line-height: 1.45;
    margin: 0;
    max-width: 760px;
}

.uapi-confirmation-hero__stats .uapi-confirmation-hero__status.is-unpaid::before {
    background: #fff2f2;
    border-color: #f3caca;
    color: #c42323;
    content: "!";
}

.uapi-confirmation-hero__stats .uapi-confirmation-hero__status.is-paid::before {
    background: #eefbf4;
    border-color: #bfe8cf;
    color: #15834b;
    content: "\2713";
}

.uapi-confirmation-hero__stats .uapi-confirmation-hero__status.is-unpaid strong,
.uapi-confirmation-payment-status.is-unpaid strong {
    color: #c42323;
}

.uapi-confirmation-payment-status.is-paid strong {
    color: #15834b;
}

@media (max-width: 1420px) {
    .uapi-confirmation-hero {
        background:
            linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .97) 50%, rgba(255, 255, 255, .7) 76%, rgba(255, 255, 255, .32) 100%),
            url("/assets/img/uapi-cabin-window.png") right center / auto 100% no-repeat,
            #fff;
    }

    .uapi-confirmation-hero::before {
        background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .95) 56%, rgba(255, 255, 255, .4) 84%, rgba(255, 255, 255, .14) 100%);
        opacity: .7;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .88)),
            url("/assets/img/uapi-cabin-window.png") right top / auto 46% no-repeat,
            #fff;
    }

    .uapi-confirmation-hero::before {
        background: linear-gradient(180deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .86));
        opacity: .78;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head h2,
    .uapi-confirmation-passenger-summary .uapi-passengers-header h1 {
        font-size: 1.42rem;
    }
}

/* UAPI confirmation document and payment sections */
.uapi-confirmation-hero {
    background:
        linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 45%, rgba(255, 255, 255, .86) 66%, rgba(255, 255, 255, .44) 88%, rgba(255, 255, 255, .18) 100%),
        url("/assets/img/uapi-cabin-window.png") center center / cover no-repeat,
        #fff;
}

.uapi-confirmation-hero::before {
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .96) 50%, rgba(255, 255, 255, .74) 72%, rgba(255, 255, 255, .22) 100%);
    opacity: .64;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
    grid-column: 2;
    grid-row: 1;
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head p {
    grid-column: 2;
    grid-row: 2;
    max-width: none;
    min-width: 0;
}

.uapi-confirmation-documents-card,
.uapi-confirmation-payment-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 16px;
    overflow: visible;
    padding: 0;
}

.uapi-confirmation-documents-card .uapi-confirmation-card__title,
.uapi-confirmation-payment-card .uapi-confirmation-card__title {
    align-items: center;
    display: grid;
    gap: 2px 18px;
    grid-template-columns: 104px minmax(0, 1fr);
    margin: 0;
}

.uapi-confirmation-documents-card .uapi-confirmation-card__icon,
.uapi-confirmation-payment-card .uapi-confirmation-card__icon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    grid-row: 1 / 3;
    height: 82px;
    mix-blend-mode: multiply;
    width: 104px;
}

.uapi-confirmation-documents-card .uapi-confirmation-card__icon {
    background-image: url("/assets/img/uapi-contact-documents-icon-cutout.png");
}

.uapi-confirmation-payment-card .uapi-confirmation-card__icon {
    background-image: url("/assets/img/uapi-payment-secure-icon-cutout.png");
}

.uapi-confirmation-documents-card .uapi-confirmation-card__icon::before,
.uapi-confirmation-payment-card .uapi-confirmation-card__icon::before {
    display: none;
}

.uapi-confirmation-documents-card .uapi-confirmation-card__title h2,
.uapi-confirmation-payment-card .uapi-confirmation-card__title h2 {
    color: #002b61;
    font-size: 1.6rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.15;
    margin: 0 0 6px;
}

.uapi-confirmation-documents-card .uapi-confirmation-card__title p,
.uapi-confirmation-payment-card .uapi-confirmation-card__title p {
    color: #526b89;
    font-size: .96rem;
    font-weight: 500;
    line-height: 1.45;
    margin: 0;
    max-width: 760px;
}

.uapi-confirmation-documents-grid,
.uapi-confirmation-payment-row {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .06);
    padding: 22px 24px;
}

.uapi-confirmation-documents-grid div,
.uapi-confirmation-payment-row div {
    align-content: center;
    min-height: 54px;
}

.uapi-confirmation-documents-grid span,
.uapi-confirmation-payment-row span {
    color: #607a9d;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.uapi-confirmation-documents-grid strong,
.uapi-confirmation-payment-row strong {
    color: #002b61;
    font-size: 1.04rem;
    font-weight: 950;
}

.uapi-confirmation-documents-card .uapi-confirmation-inline-actions {
    margin-top: 0;
}

.uapi-confirmation-documents-card .uapi-confirmation-inline-actions a {
    background: #fff;
    box-shadow: 0 12px 26px rgba(25, 67, 122, .05);
}

.uapi-confirmation-payment-card .uapi-confirmation-bank,
.uapi-confirmation-payment-card .uapi-confirmation-secure-note {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .05);
    margin: 0;
    padding: 20px 24px;
}

.uapi-confirmation-payment-card .uapi-confirmation-secure-note {
    color: #526b89;
    font-size: .88rem;
    font-weight: 800;
}

@media (max-width: 760px) {
    .uapi-confirmation-hero {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .9) 64%, rgba(255, 255, 255, .7)),
            url("/assets/img/uapi-cabin-window.png") center top / cover no-repeat,
            #fff;
    }

    .uapi-confirmation-hero::before {
        background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .78));
        opacity: .76;
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head h2,
    .uapi-confirmation-flight-summary .uapi-flight-summary__head p {
        grid-column: 2;
    }

    .uapi-confirmation-documents-card .uapi-confirmation-card__title,
    .uapi-confirmation-payment-card .uapi-confirmation-card__title {
        gap: 8px 14px;
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .uapi-confirmation-documents-card .uapi-confirmation-card__icon,
    .uapi-confirmation-payment-card .uapi-confirmation-card__icon {
        height: 60px;
        width: 76px;
    }

    .uapi-confirmation-documents-card .uapi-confirmation-card__title h2,
    .uapi-confirmation-payment-card .uapi-confirmation-card__title h2 {
        font-size: 1.42rem;
    }
}

/* UAPI confirmation button-only help and clean icon backgrounds */
.uapi-confirmation-documents-card .uapi-confirmation-card__icon {
    background: transparent url("/assets/img/uapi-contact-documents-icon-cutout.png") center / contain no-repeat;
}

.uapi-confirmation-payment-card .uapi-confirmation-card__icon {
    background: transparent url("/assets/img/uapi-payment-secure-icon-cutout.png") center / contain no-repeat;
}

.uapi-confirmation-help--button-only {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.uapi-confirmation-help--button-only a {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(25, 67, 122, .06);
    color: #174f93;
    min-height: 52px;
}

/* UAPI confirmation contact typography and compact help card */
.uapi-confirmation-documents-grid span {
    color: #66809e;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 6px;
}

.uapi-confirmation-documents-grid strong {
    color: #061f44;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
}

.uapi-confirmation-help--button-only {
    background: #fff;
    border: 1px solid #dce8f6;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(25, 67, 122, .06);
    padding: 18px;
}

.uapi-confirmation-help--button-only a {
    background: #174f93;
    border: 1px solid #174f93;
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(23, 79, 147, .18);
    color: #fff;
    font-family: inherit;
    font-size: .95rem;
    font-weight: 950;
    min-height: 52px;
}

/* UAPI confirmation non-bold contact and payment values */
.uapi-confirmation-documents-grid span,
.uapi-confirmation-payment-row span {
    font-weight: 500;
}

.uapi-confirmation-documents-grid strong,
.uapi-confirmation-payment-row strong,
.uapi-confirmation-payment-status.is-unpaid strong,
.uapi-confirmation-payment-status.is-paid strong {
    font-weight: 500;
}

/* UAPI confirmation single next step */
.uapi-confirmation-next-card .uapi-confirmation-next-grid {
    grid-template-columns: minmax(0, 1fr);
}

/* UAPI confirmation transfer account selector */
.uapi-confirmation-bank-account-choice {
    align-items: start;
}

.uapi-confirmation-bank-select {
    display: grid;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.uapi-confirmation-bank-select span {
    color: #66809e;
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.25;
}

.uapi-confirmation-bank-select select {
    appearance: auto;
    background: #fff;
    border: 1px solid #d6e4f4;
    border-radius: 10px;
    color: #061f44;
    font: inherit;
    font-size: .96rem;
    font-weight: 500;
    line-height: 1.3;
    min-height: 46px;
    padding: 10px 12px;
    width: 100%;
}

.uapi-confirmation-bank-select select:focus {
    border-color: #8eb8e9;
    box-shadow: 0 0 0 3px rgba(23, 79, 147, .12);
    outline: 0;
}

/* UAPI confirmation restored next steps and normal bank details */
.uapi-confirmation-next-card .uapi-confirmation-card__icon {
    display: none;
}

.uapi-confirmation-next-card .uapi-confirmation-card__icon::before {
    content: "";
}

.uapi-confirmation-next-card .uapi-confirmation-next-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uapi-confirmation-bank dd {
    font-weight: 500;
}

/* UAPI confirmation copy selected bank account */
.uapi-confirmation-bank-copy {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-top: 10px;
}

.uapi-confirmation-bank-copy button {
    align-items: center;
    background: #174f93;
    border: 1px solid #174f93;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(23, 79, 147, .16);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .86rem;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 40px;
    padding: 9px 16px;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.uapi-confirmation-bank-copy button:hover {
    background: #0d3f7b;
    border-color: #0d3f7b;
    box-shadow: 0 14px 28px rgba(23, 79, 147, .22);
    transform: translateY(-1px);
}

.uapi-confirmation-bank-copy button:focus-visible {
    outline: 3px solid rgba(23, 79, 147, .22);
    outline-offset: 2px;
}

.uapi-confirmation-bank-copy small {
    color: #118348;
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.35;
    min-height: 1.05rem;
}

.uapi-confirmation-bank-copy small.is-error {
    color: #d21f1f;
}

@media (max-width: 760px) {
    .uapi-confirmation-next-card .uapi-confirmation-next-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .uapi-confirmation-bank-copy button {
        width: 100%;
    }
}

/* UAPI confirmation slightly smaller section pictograms */
.uapi-confirmation-flight-summary .uapi-flight-summary__head,
.uapi-confirmation-passenger-summary .uapi-passengers-header,
.uapi-confirmation-documents-card .uapi-confirmation-card__title,
.uapi-confirmation-payment-card .uapi-confirmation-card__title {
    gap: 2px 16px;
    grid-template-columns: 88px minmax(0, 1fr);
}

.uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
    height: 64px;
    width: 88px;
}

.uapi-confirmation-passenger-summary .uapi-passengers-header::before,
.uapi-confirmation-documents-card .uapi-confirmation-card__icon,
.uapi-confirmation-payment-card .uapi-confirmation-card__icon {
    height: 68px;
    width: 88px;
}

@media (max-width: 760px) {
    .uapi-confirmation-flight-summary .uapi-flight-summary__head,
    .uapi-confirmation-passenger-summary .uapi-passengers-header,
    .uapi-confirmation-documents-card .uapi-confirmation-card__title,
    .uapi-confirmation-payment-card .uapi-confirmation-card__title {
        gap: 6px 12px;
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .uapi-confirmation-flight-summary .uapi-flight-summary__head::before,
    .uapi-confirmation-passenger-summary .uapi-passengers-header::before,
    .uapi-confirmation-documents-card .uapi-confirmation-card__icon,
    .uapi-confirmation-payment-card .uapi-confirmation-card__icon {
        height: 52px;
        width: 64px;
    }
}

/* Account limits and action polish */
.auth-account-link.is-disabled,
.auth-profile-cta.is-disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.auth-account-link.is-disabled:hover,
.auth-profile-cta.is-disabled:hover {
    transform: none;
}

.auth-passenger-delete {
    appearance: none;
    position: relative;
    display: inline-grid;
    flex: 0 0 44px;
    place-items: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid #c8daf1;
    border-radius: 8px;
    padding: 0 !important;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
}

.auth-passenger-card .auth-passenger-delete,
.auth-payer-card .auth-passenger-delete {
    min-width: 44px;
}

.auth-passenger-delete span {
    position: static;
    display: block;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    background: url("/assets/img/account-icon-delete.png") center / 36px 36px no-repeat;
}

.auth-passenger-delete span::before,
.auth-passenger-delete span::after {
    display: none;
    content: none;
}

.auth-passenger-delete:hover {
    border-color: #ffbeb7;
    background: #fff7f6;
}

.auth-booking-reservation {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    min-height: 44px;
    padding: 8px 14px;
}

.auth-booking-reservation strong {
    margin-top: 0;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
}

.auth-booking-reservation__date {
    border-left: 1px solid #cbd9ec;
    color: #607a9d;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    padding-left: 10px;
    white-space: nowrap;
}

/* Account booking details reuse the confirmation trip summary component. */
.auth-booking-card.is-details-open {
    overflow: visible;
}

.auth-booking-confirmation-details[hidden] {
    display: none !important;
}

.auth-booking-confirmation-details {
    position: relative;
    z-index: 1;
    margin-top: 8px;
}

.auth-booking-confirmation-details .uapi-confirmation-flight-summary,
.auth-booking-confirmation-details .uapi-confirmation-flight-summary.tf-result-card {
    max-width: none;
    margin: 0;
}

.auth-booking-card__details:is(button),
.auth-booking-card__chevron:is(button) {
    appearance: none;
    font: inherit;
    cursor: pointer;
}

.auth-booking-card__details:is(button) {
    justify-content: center;
}

.auth-booking-card__details:is(button).is-active {
    border-color: #9fbce3;
    background: #eef5ff;
}

.auth-booking-card__chevron:is(button) {
    border: 0;
    padding: 0;
    background: transparent;
}

.auth-booking-card__chevron:is(button)::before {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: transform .18s ease;
}

.auth-booking-card__chevron:is(button).is-active::before {
    transform: translate(-50%, -50%) rotate(135deg);
}

a.auth-booking-status,
a.auth-booking-status:hover,
a.auth-booking-status:focus-visible {
    text-decoration: none;
}

.auth-booking-flight-details {
    min-width: 0;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary,
.auth-booking-flight-details .uapi-confirmation-flight-summary.tf-result-card {
    margin: 0;
    padding: 0;
    max-width: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-card__legs {
    margin: 0;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-card__legs {
    gap: 0;
    padding: 10px 16px;
    border-radius: 10px;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg {
    grid-template-columns: minmax(0, 1fr) 86px;
    gap: 12px;
    min-height: 0;
    padding: 11px 0;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg + .tf-result-leg {
    border-top: 1px solid #dfeaf7;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-times {
    grid-template-columns: minmax(122px, .86fr) minmax(150px, .82fr) minmax(122px, .86fr);
    gap: 12px;
    align-items: center;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-point {
    gap: 2px;
    min-width: 0;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-point strong {
    font-size: 21px;
    line-height: 1;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-point small {
    font-size: 11px;
    line-height: 1.15;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-point em {
    font-size: 11.5px;
    line-height: 1.18;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-line {
    gap: 5px;
    transform: translateX(-24px);
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-line b {
    font-size: 11px;
    line-height: 1;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-line small {
    font-size: 11px;
    line-height: 1.1;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-line i {
    min-height: 2px;
    width: 58%;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
    width: 78px;
    min-width: 78px;
    height: 36px;
    padding: 4px 8px;
    border-radius: 8px;
    align-self: center;
}

.auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo img {
    max-height: 28px;
}

@media (max-width: 760px) {
    .auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-card__legs {
        padding: 8px 12px;
    }

    .auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 10px 0;
    }

    .auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-times {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .auth-booking-flight-details .uapi-confirmation-flight-summary .tf-flight-line {
        transform: none;
    }

    .auth-booking-flight-details .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
        justify-self: start;
    }
}

.auth-profile-form label.has-error > span:first-child,
.auth-payer-form label.has-error > span:first-child {
    color: #c51f1a;
}

.auth-profile-form label.has-error input,
.auth-profile-form label.has-error select,
.auth-payer-form label.has-error input,
.auth-payer-form label.has-error select {
    border-color: #d41414;
    background-color: #fff1f1;
    box-shadow: 0 0 0 3px rgba(212, 20, 20, .16), inset 0 1px 2px rgba(16, 43, 85, .04);
}

.auth-profile-form .insurance-form-error,
.auth-payer-form .insurance-form-error {
    min-height: 17px;
    margin-top: 2px;
}

.auth-profile-form label.has-error > .insurance-form-error,
.auth-payer-form label.has-error > .insurance-form-error {
    visibility: visible;
}

/* UAPI confirmation stat pictograms */
.uapi-confirmation-hero__stats div {
    gap: 3px 12px;
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 10px 14px 10px 10px;
}

.uapi-confirmation-hero__stats div::before {
    content: none !important;
    display: none !important;
}

.uapi-confirmation-hero__stat-icon {
    align-items: center;
    align-self: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    grid-row: span 2;
    height: 52px;
    justify-content: center;
    overflow: hidden;
    width: 52px;
}

.uapi-confirmation-hero__stat-icon img {
    display: block;
    height: 52px;
    object-fit: contain;
    width: 52px;
}

@media (max-width: 760px) {
    .uapi-confirmation-hero__stats div {
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 9px 12px 9px 9px;
    }

    .uapi-confirmation-hero__stat-icon,
    .uapi-confirmation-hero__stat-icon img {
        height: 46px;
        width: 46px;
    }
}

/* UAPI confirmation online payment action */
.uapi-confirmation-hero__stats .uapi-confirmation-hero__status {
    grid-template-columns: 52px minmax(0, 1fr) auto;
}

.uapi-confirmation-hero__pay {
    align-self: center;
    display: flex;
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-content: flex-end;
}

.uapi-confirmation-pay-form {
    margin: 0;
}

.uapi-confirmation-pay-form button {
    align-items: center;
    background: #159b55;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 12px 22px rgba(21, 155, 85, .22);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: .95rem;
    font-weight: 950;
    gap: 6px;
    justify-content: center;
    line-height: 1.1;
    min-height: 44px;
    padding: 12px 18px;
    text-decoration: none;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
    white-space: nowrap;
}

.uapi-confirmation-pay-form button:hover,
.uapi-confirmation-pay-form button:focus-visible {
    background: #108748;
    box-shadow: 0 14px 26px rgba(21, 155, 85, .3);
    transform: translateY(-1px);
}

.uapi-confirmation-pay-form button strong {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.uapi-confirmation-pay-form--hero button {
    font-size: .86rem;
    min-height: 40px;
    padding: 10px 14px;
}

.uapi-confirmation-pay-form--hero button strong {
    display: none;
}

.uapi-confirmation-online-payment {
    align-items: center;
    background: #f3fbf6;
    border: 1px solid #cfead9;
    border-radius: 12px;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 16px 18px;
}

.uapi-confirmation-online-payment p {
    color: #315a42;
    font-size: .95rem;
    font-weight: 650;
    line-height: 1.45;
    margin: 0;
}

@media (max-width: 1020px) {
    .uapi-confirmation-hero__stats .uapi-confirmation-hero__status {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .uapi-confirmation-hero__pay {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-content: stretch;
        margin-top: 8px;
    }

    .uapi-confirmation-pay-form--hero,
    .uapi-confirmation-pay-form--hero button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-online-payment {
        align-items: stretch;
        flex-direction: column;
    }

    .uapi-confirmation-pay-form--payment button {
        width: 100%;
    }
}

/* UAPI payment and confirmation gender passenger pictograms */
.uapi-payment-passenger-summary .uapi-payment-passenger__avatar--gender,
.uapi-confirmation-passenger-summary .uapi-payment-passenger__avatar--gender {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    height: 58px;
    overflow: visible;
    width: 58px;
}

.uapi-payment-passenger-summary .uapi-payment-passenger__avatar-img,
.uapi-confirmation-passenger-summary .uapi-payment-passenger__avatar-img {
    display: block;
    height: 58px;
    object-fit: contain;
    width: 58px;
}

.uapi-payment-passenger-summary .uapi-payment-passenger__head,
.uapi-confirmation-passenger-summary .uapi-payment-passenger__head {
    grid-template-columns: 64px minmax(0, 1fr);
}

@media (max-width: 760px) {
    .uapi-payment-passenger-summary .uapi-payment-passenger__avatar--gender,
    .uapi-payment-passenger-summary .uapi-payment-passenger__avatar-img,
    .uapi-confirmation-passenger-summary .uapi-payment-passenger__avatar--gender,
    .uapi-confirmation-passenger-summary .uapi-payment-passenger__avatar-img {
        height: 50px;
        width: 50px;
    }

    .uapi-payment-passenger-summary .uapi-payment-passenger__head,
    .uapi-confirmation-passenger-summary .uapi-payment-passenger__head {
        grid-template-columns: 54px minmax(0, 1fr);
    }
}

/* UAPI confirmation top payment action beside status tile */
.uapi-confirmation-hero__stats.has-pay-action {
    align-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.uapi-confirmation-hero__stats .uapi-confirmation-hero__status {
    grid-template-columns: 52px minmax(0, 1fr);
}

.uapi-confirmation-hero__stats.has-pay-action .uapi-confirmation-hero__status strong {
    overflow-wrap: normal;
    word-break: normal;
}

.uapi-confirmation-hero__pay {
    align-items: center;
    align-self: stretch;
    display: flex;
    grid-column: auto;
    grid-row: auto;
    justify-content: center;
    margin: 0;
}

.uapi-confirmation-hero__pay .uapi-confirmation-pay-form--hero {
    align-items: center;
    display: flex;
}

.uapi-confirmation-hero__pay .uapi-confirmation-pay-form--hero button {
    min-height: 50px;
    padding: 12px 18px;
}

@media (max-width: 1020px) {
    .uapi-confirmation-hero__stats.has-pay-action {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .uapi-confirmation-hero__pay {
        grid-column: 1 / -1;
        justify-content: stretch;
        margin-top: 8px;
    }
}

@media (max-width: 760px) {
    .uapi-confirmation-hero__stats .uapi-confirmation-hero__status {
        grid-template-columns: 46px minmax(0, 1fr);
    }
}

/* UAPI confirmation invoice details */
.uapi-confirmation-documents-grid strong.uapi-confirmation-invoice-details {
    font-size: .94rem;
    line-height: 1.38;
    overflow-wrap: anywhere;
}

/* Mobile search results QSF and filter trigger */
.search-results-mobile-qsf,
.search-results-mobile-controls {
    display: none;
}

.search-results-mobile-layer-head,
.tf-results-filters__close {
    display: none;
}

@media (max-width: 760px) {
    .search-results-page {
        padding-top: 0;
    }

    .search-results-top.container {
        width: 100%;
    }

    .search-results-search {
        border: 0 !important;
        border-radius: 0;
        background: #ffffff !important;
        box-shadow: none;
    }

    .search-results-mobile-qsf {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        min-height: 72px;
        padding: 10px 14px 8px;
        background: #ffffff;
    }

    .search-results-mobile-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid #e4ebf5;
        padding: 0 14px 12px;
        background: #ffffff;
    }

    .search-results-mobile-sort {
        position: relative;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 44px;
        border: 1px solid #d5e1ef;
        border-radius: 999px;
        padding: 0 14px;
        background: #f7faff;
        color: #071741;
    }

    .search-results-mobile-sort span {
        color: #52667f;
        font-size: 12px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }

    .search-results-mobile-sort select {
        min-width: 0;
        width: 100%;
        border: 0;
        padding: 0 18px 0 0;
        background: transparent;
        color: #071741;
        font: inherit;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.2;
        appearance: none;
        cursor: pointer;
    }

    .search-results-mobile-sort::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 14px;
        width: 7px;
        height: 7px;
        border-right: 2px solid #071741;
        border-bottom: 2px solid #071741;
        pointer-events: none;
        transform: translateY(-65%) rotate(45deg);
    }

    .search-results-mobile-filter {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-width: 112px;
        min-height: 44px;
        border: 1px solid #d5e1ef;
        border-radius: 999px;
        padding: 0 14px;
        background: #ffffff;
        color: #071741;
        font: inherit;
        font-size: 14px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 8px 20px rgba(8, 35, 72, .08);
        -webkit-tap-highlight-color: transparent;
        transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
    }

    .search-results-mobile-filter svg {
        flex: 0 0 22px;
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 2;
    }

    .search-results-mobile-filter b {
        position: absolute;
        top: -5px;
        right: -3px;
        min-width: 19px;
        height: 19px;
        border: 2px solid #ffffff;
        border-radius: 999px;
        padding: 0 5px;
        background: #ffbf24;
        color: #061f44;
        font-size: 11px;
        font-weight: 950;
        line-height: 15px;
        text-align: center;
        box-shadow: 0 6px 14px rgba(8, 35, 72, .16);
    }

    .search-results-mobile-filter.has-active-filters,
    .search-results-mobile-filter[aria-expanded="true"] {
        border-color: rgba(13, 79, 155, .35);
        background: #edf3ff;
        color: #0d4f9b;
        box-shadow: inset 0 0 0 1px rgba(13, 79, 155, .08), 0 8px 20px rgba(8, 35, 72, .08);
    }

    .search-results-mobile-qsf button {
        font: inherit;
        -webkit-tap-highlight-color: transparent;
    }

    .search-results-mobile-qsf__filters {
        position: relative;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: #071741;
        cursor: pointer;
    }

    .search-results-mobile-qsf__summary {
        position: relative;
        min-width: 0;
        min-height: 58px;
        display: grid;
        align-content: center;
        gap: 5px;
        border: 0;
        border-radius: 18px;
        padding: 9px 38px 9px 18px;
        color: #071741;
        background: #f1f4fa;
        text-align: center;
        cursor: pointer;
    }

    .search-results-mobile-qsf__summary::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 18px;
        width: 8px;
        height: 8px;
        border-right: 2px solid #071741;
        border-bottom: 2px solid #071741;
        transform: translateY(-65%) rotate(45deg);
        transition: transform .16s ease;
    }

    .search-results-search.is-mobile-qsf-open .search-results-mobile-qsf__summary::after {
        transform: translateY(-35%) rotate(225deg);
    }

    .search-results-mobile-qsf__summary strong,
    .search-results-mobile-qsf__summary span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .search-results-mobile-qsf__summary strong {
        color: #071741;
        font-size: 16px;
        font-weight: 850 !important;
        line-height: 1.12;
    }

    .search-results-mobile-qsf__summary span {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        color: #33435f;
        font-size: 13px;
        font-weight: 500 !important;
        line-height: 1.15;
    }

    .search-results-mobile-qsf__summary span i {
        position: relative;
        display: inline-block;
        flex: 0 0 14px;
        width: 14px;
        height: 14px;
        margin-left: 2px;
    }

    .search-results-mobile-qsf__summary span i::before,
    .search-results-mobile-qsf__summary span i::after {
        content: "";
        position: absolute;
        left: 50%;
        border: 1.7px solid #33435f;
        transform: translateX(-50%);
    }

    .search-results-mobile-qsf__summary span i::before {
        top: 1px;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: #f1f4fa;
    }

    .search-results-mobile-qsf__summary span i::after {
        bottom: 0;
        width: 10px;
        height: 6px;
        border-radius: 8px 8px 0 0;
        border-bottom: 0;
    }

    .search-results-mobile-qsf__filters span,
    .search-results-mobile-qsf__filters span::before,
    .search-results-mobile-qsf__filters span::after {
        position: absolute;
        left: 11px;
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background: #071741;
        content: "";
    }

    .search-results-mobile-qsf__filters span {
        top: 21px;
    }

    .search-results-mobile-qsf__filters span::before {
        top: -7px;
        left: 0;
    }

    .search-results-mobile-qsf__filters span::after {
        top: 7px;
        left: 0;
    }

    .search-results-mobile-qsf__filters::before,
    .search-results-mobile-qsf__filters::after {
        content: "";
        position: absolute;
        z-index: 1;
        width: 6px;
        height: 6px;
        border: 2px solid #071741;
        border-radius: 999px;
        background: #ffffff;
    }

    .search-results-mobile-qsf__filters::before {
        top: 11px;
        left: 24px;
    }

    .search-results-mobile-qsf__filters::after {
        right: 24px;
        bottom: 11px;
    }

    .search-results-mobile-qsf__filters[aria-expanded="true"] {
        background: #edf3ff;
    }

    .search-results-search:not(.is-mobile-qsf-open) > .tabs,
    .search-results-search:not(.is-mobile-qsf-open) > .search-form {
        display: none !important;
    }

    .search-results-search.is-mobile-qsf-open {
        border: 1px solid rgba(214, 225, 244, .95) !important;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 18px 42px rgba(23, 52, 103, .14);
    }

    .search-results-container {
        width: min(100% - 24px, 1320px);
        min-height: 0;
        margin-top: 12px;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .search-results-container:not(.is-mobile-filter-open) .tf-results-filters {
        display: none !important;
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters {
        display: grid;
        margin-bottom: 12px;
        border-radius: 8px;
        box-shadow: 0 14px 34px rgba(8, 35, 72, .14);
    }

    .tf-results,
    .tf-results-loading,
    .tf-results-error,
    .tf-results-empty {
        padding-right: 0;
        padding-left: 0;
    }

    .tf-results-loading {
        display: grid;
        place-content: center;
        justify-items: center;
        min-height: calc(100dvh - 390px);
        padding: 58px 22px;
        text-align: center;
    }

    .tf-results-loading > span {
        margin: 0 auto;
    }

    .tf-results-loading p {
        max-width: 330px;
    }

    .tf-flex-dates-button {
        display: none !important;
    }

    body.has-search-results-mobile-layer {
        overflow: hidden;
    }

    body.has-search-results-mobile-layer::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 1100;
        background: rgba(5, 18, 38, .46);
        backdrop-filter: blur(7px);
    }

    body.has-tf-leg-details-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 999;
        background: rgba(5, 18, 38, .46);
        backdrop-filter: blur(7px);
    }

    body.has-search-results-mobile-layer .calendar-popover {
        position: fixed;
        top: 50% !important;
        left: 50% !important;
        z-index: 1300;
        width: min(360px, calc(100vw - 36px));
        max-height: calc(100vh - 48px);
        overflow-y: auto;
        border-radius: 16px;
        padding: 16px;
        box-shadow: 0 28px 78px rgba(5, 18, 38, .34);
        transform: translate(-50%, -50%);
    }

    .search-results-mobile-qsf__filters {
        display: inline-grid;
        place-items: center;
        transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
    }

    .search-results-mobile-qsf__filters svg {
        width: 27px;
        height: 27px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.9;
    }

    .search-results-mobile-qsf__filters span,
    .search-results-mobile-qsf__filters span::before,
    .search-results-mobile-qsf__filters span::after,
    .search-results-mobile-qsf__filters::before,
    .search-results-mobile-qsf__filters::after {
        content: none;
        display: none;
    }

    .search-results-mobile-qsf__filters[aria-expanded="true"] {
        color: #0d4f9b;
        background: #edf3ff;
        box-shadow: inset 0 0 0 1px rgba(13, 79, 155, .14);
    }

    .search-results-mobile-layer-head {
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-height: 62px;
        border-bottom: 1px solid #e4ebf5;
        padding: 12px 16px;
        background: #ffffff;
    }

    .search-results-mobile-layer-head strong {
        min-width: 0;
        color: #071741;
        font-size: 18px;
        font-weight: 900;
        line-height: 1.15;
    }

    .search-results-mobile-layer-close,
    .tf-results-filters__close {
        position: relative;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 999px;
        background: #f1f5fb;
        cursor: pointer;
    }

    .search-results-mobile-layer-close::before,
    .search-results-mobile-layer-close::after,
    .tf-results-filters__close::before,
    .tf-results-filters__close::after {
        content: "";
        position: absolute;
        top: 19px;
        left: 12px;
        width: 16px;
        height: 2px;
        border-radius: 999px;
        background: #071741;
    }

    .search-results-mobile-layer-close::before,
    .tf-results-filters__close::before {
        transform: rotate(45deg);
    }

    .search-results-mobile-layer-close::after,
    .tf-results-filters__close::after {
        transform: rotate(-45deg);
    }

    .search-results-search:not(.is-mobile-qsf-open) > .search-results-mobile-layer-head--qsf {
        display: none !important;
    }

    .search-results-search.is-mobile-qsf-open {
        position: fixed;
        top: 12px;
        bottom: 12px;
        left: 50%;
        z-index: 1200;
        display: block;
        width: min(430px, calc(100vw - 24px));
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        border: 1px solid rgba(214, 225, 244, .95) !important;
        border-radius: 18px;
        padding: 0;
        background: #ffffff !important;
        box-shadow: 0 28px 78px rgba(5, 18, 38, .28);
        touch-action: pan-y;
        transform: translateX(-50%);
        -webkit-overflow-scrolling: touch;
    }

    .search-results-search.is-mobile-qsf-open > .search-results-mobile-qsf {
        display: none;
    }

    .search-results-search.is-mobile-qsf-open > .search-results-mobile-controls {
        display: none;
    }

    .search-results-search.is-mobile-qsf-open > .search-results-mobile-layer-head--qsf {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        border-radius: 18px 18px 0 0;
    }

    .search-results-search.is-mobile-qsf-open > .tabs {
        display: grid;
        border-bottom: 1px solid #eef2f8;
        padding: 14px 16px;
    }

    .search-results-search.is-mobile-qsf-open > .search-form,
    .search-results-search.is-mobile-qsf-open > .search-form.is-oneway {
        display: grid;
        padding: 16px 16px 18px;
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters {
        position: fixed;
        top: 12px;
        bottom: 12px;
        left: 50%;
        z-index: 1200;
        display: grid;
        align-content: start;
        width: min(430px, calc(100vw - 24px));
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        margin: 0;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 28px 78px rgba(5, 18, 38, .28);
        touch-action: pan-y;
        transform: translateX(-50%);
        -webkit-overflow-scrolling: touch;
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters__head {
        position: sticky;
        top: 0;
        z-index: 3;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 40px;
        align-items: center;
        border-radius: 18px 18px 0 0;
        padding: 13px 16px;
        background: #ffffff;
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters__head h3 {
        font-size: 18px;
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters__actions {
        position: sticky;
        bottom: 0;
        z-index: 3;
        padding: 12px 16px max(12px, env(safe-area-inset-bottom));
        background: #ffffff;
        box-shadow: 0 -14px 24px rgba(8, 35, 72, .08);
    }

    .search-results-container.is-mobile-filter-open .tf-results-filters__close {
        display: inline-grid;
        place-items: center;
    }

    .search-results-page .tf-results-list {
        gap: 14px;
    }

    .search-results-page .tf-result-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: hidden;
        border: 1px solid #dfe9f6;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 14px 30px rgba(8, 35, 72, .08);
    }

    .search-results-page .tf-result-card:hover {
        border-color: #dfe9f6;
        box-shadow: 0 14px 30px rgba(8, 35, 72, .08);
    }

    .search-results-page .tf-result-card__legs {
        gap: 0;
        padding: 14px 14px 0;
    }

    .search-results-page .tf-result-leg {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        overflow: visible;
        border: 0;
        border-bottom: 1px solid #e7edf6;
        border-radius: 0;
        padding: 0 0 14px;
        background: transparent;
        box-shadow: none;
    }

    .search-results-page .tf-result-leg + .tf-result-leg {
        margin-top: 14px;
    }

    .search-results-page .tf-result-card--multi-leg .tf-result-leg {
        border-bottom: 0;
    }

    .search-results-page .tf-result-card--multi-leg .tf-result-leg + .tf-result-leg {
        margin-top: 18px;
    }

    .search-results-page .tf-result-leg__main {
        display: grid;
        gap: 12px;
        min-width: 0;
    }

    .search-results-page .tf-result-leg__mobile-head {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 30px;
        padding-right: 86px;
    }

    .search-results-page .tf-result-leg__direction,
    .search-results-page .tf-result-leg__status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 28px;
        border-radius: 10px;
        padding: 0 11px;
        color: #0a2250;
        background: #f3f6fb;
        font-size: 12px;
        font-weight: 950;
        line-height: 1;
        white-space: nowrap;
    }

    .search-results-page .tf-result-leg__status--direct {
        color: #0a2d18;
        background: #dcf4e3;
    }

    .search-results-page .tf-result-leg__status--direct i {
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: #47c84f;
    }

    .search-results-page .tf-result-leg__status--transfer {
        color: #0d4e9d;
        background: #edf3ff;
    }

    .search-results-page .tf-result-leg__direction {
        min-height: 32px;
        border: 1px solid #dce8f9;
        border-radius: 12px;
        padding: 0 14px;
        color: #071741;
        background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
        font-size: 13px;
        font-weight: 950;
        box-shadow: 0 7px 16px rgba(8, 35, 72, .08);
    }

    .search-results-page .tf-result-card--single-leg .tf-result-leg__direction {
        display: none;
    }

    .search-results-page .tf-result-card--multi-leg .tf-result-leg__status {
        display: none;
    }

    .search-results-page .tf-result-leg > .tf-airline-logo {
        position: absolute;
        top: 2px;
        right: 0;
        justify-self: auto;
        min-width: 78px;
        min-height: 26px;
        border: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .search-results-page .tf-result-leg > .tf-airline-logo img {
        max-width: 78px;
        max-height: 26px;
    }

    .search-results-page .tf-flight-times {
        grid-template-columns: minmax(66px, .3fr) minmax(96px, .4fr) minmax(66px, .3fr);
        gap: 8px;
        align-items: center;
    }

    .search-results-page .tf-flight-point {
        gap: 4px;
        min-width: 0;
    }

    .search-results-page .tf-flight-point--arrive {
        width: 100%;
        justify-self: stretch;
        justify-items: end;
        text-align: right;
    }

    .search-results-page .tf-flight-point--arrive strong,
    .search-results-page .tf-flight-point--arrive small,
    .search-results-page .tf-flight-point--arrive em {
        width: 100%;
        justify-self: end;
        margin-left: auto;
        margin-right: 0;
        text-align: right;
    }

    .search-results-page .tf-flight-point strong {
        display: grid;
        gap: 3px;
        min-width: 0;
        margin: 0;
        color: #071741;
        line-height: 1;
    }

    .search-results-page .tf-flight-point__time,
    .search-results-page .tf-flight-point__code {
        display: block;
        color: inherit;
        font: inherit;
        line-height: 1;
    }

    .search-results-page .tf-flight-point__time {
        font-size: 25px;
        font-weight: 950;
    }

    .search-results-page .tf-flight-point__code {
        font-size: 17px;
        font-weight: 950;
    }

    .search-results-page .tf-flight-point small {
        color: #5f6f8d;
        font-size: 10px;
        font-weight: 850;
        line-height: 1.15;
    }

    .search-results-page .tf-flight-point em {
        max-width: 82px;
        color: #64728c;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.25;
    }

    .search-results-page .tf-flight-point--arrive em {
        max-width: 96px;
        text-align: right;
        text-align-last: right;
    }

    .search-results-page .tf-flight-line {
        position: relative;
        display: grid;
        grid-template-rows: 34px;
        gap: 4px;
        align-self: center;
        justify-items: center;
        min-width: 0;
        color: #071741;
    }

    .search-results-page .tf-flight-line b,
    .search-results-page .tf-flight-line > small {
        display: none;
    }

    .search-results-page .tf-flight-line b {
        position: absolute;
        right: -2px;
        bottom: -44px;
        z-index: 2;
        width: 30px;
        height: 30px;
        overflow: hidden;
        color: transparent;
        font-size: 0;
    }

    .search-results-page .tf-leg-details-toggle {
        position: absolute;
        inset: 0;
        width: 30px;
        height: 30px;
        border-radius: 999px;
        background: #f3f6fb;
    }

    .search-results-page .tf-leg-details-toggle::before {
        top: 9px;
        left: 10px;
        border-color: #0d4e9d;
    }

    .search-results-page .tf-flight-line i {
        align-self: center;
        width: 100%;
        height: 1px;
        background: #cfd8e8;
    }

    .search-results-page .tf-flight-line i::before,
    .search-results-page .tf-flight-line i::after {
        content: "";
        position: absolute;
        top: 17px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #071741;
        transform: translateY(-50%);
    }

    .search-results-page .tf-flight-line i::before {
        left: 0;
    }

    .search-results-page .tf-flight-line i::after {
        right: 0;
    }

    .search-results-page .tf-flight-line--direct i {
        width: 86%;
    }

    .search-results-page .tf-flight-line--direct i::before,
    .search-results-page .tf-flight-line--direct i::after {
        display: none;
    }

    .search-results-page .tf-flight-line i::before {
        box-shadow: none;
    }

    .search-results-page .tf-flight-line::before {
        content: "\2708";
        position: absolute;
        top: 7px;
        left: 50%;
        z-index: 1;
        color: #071741;
        font-size: 19px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .search-results-page .tf-flight-line--transfer {
        --tf-transfer-plane-offset: 32px;
        --tf-transfer-stop-one: 50%;
        --tf-transfer-stop-two: 50%;
    }

    .search-results-page .tf-flight-line--stops-2 {
        --tf-transfer-plane-offset: 30%;
        --tf-transfer-stop-one: 35%;
        --tf-transfer-stop-two: 65%;
    }

    .search-results-page .tf-flight-line--transfer::after {
        content: "";
        position: absolute;
        top: 17px;
        left: 50%;
        z-index: 1;
        width: 12px;
        height: 12px;
        border: 2px solid #ffb51e;
        border-radius: 999px;
        background: #ffffff;
        display: none;
        transform: translate(-50%, -50%);
    }

    .search-results-page .tf-flight-line--transfer::before {
        top: 9px;
        left: calc(50% - var(--tf-transfer-plane-offset));
        font-size: 16px;
    }

    .search-results-page .tf-flight-line--stops-2::before {
        left: calc(var(--tf-transfer-stop-one) - 15%);
    }

    .search-results-page .tf-flight-line--transfer i::before,
    .search-results-page .tf-flight-line--transfer i::after {
        display: none;
    }

    .search-results-page .tf-flight-line--transfer .tf-flight-line__stops {
        position: absolute;
        top: -5px;
        left: 0;
        right: 0;
        z-index: 2;
        display: block;
        height: 42px;
        color: #52627d;
        font-size: 11px;
        font-weight: 850;
        line-height: 1.05;
    }

    .search-results-page .tf-flight-line--transfer .tf-flight-line__stops::after {
        content: "\2708";
        position: absolute;
        top: 14px;
        left: calc(50% + var(--tf-transfer-plane-offset));
        color: #071741;
        font-size: 16px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stops::before {
        content: "\2708";
        position: absolute;
        top: 14px;
        left: 50%;
        color: #071741;
        font-size: 16px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stops::after {
        left: calc(var(--tf-transfer-stop-two) + 15%);
    }

    .search-results-page .tf-flight-line--transfer .tf-flight-line__stop {
        position: absolute;
        top: 0;
        left: var(--tf-transfer-stop-one);
        display: grid;
        justify-items: center;
        gap: 17px;
        transform: translateX(-50%);
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(1) {
        left: var(--tf-transfer-stop-one);
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(2) {
        left: var(--tf-transfer-stop-two);
    }

    .search-results-page .tf-flight-line--transfer .tf-flight-line__stop::before {
        content: "";
        position: absolute;
        top: 22px;
        left: 50%;
        z-index: 1;
        width: 12px;
        height: 12px;
        border: 2px solid #ffb51e;
        border-radius: 999px;
        background: #ffffff;
        transform: translate(-50%, -50%);
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stop {
        gap: 0;
    }

    .search-results-page .tf-flight-line__stop strong {
        color: #071741;
        font-size: 13px;
        font-weight: 950;
    }

    .search-results-page .tf-flight-line__stop em,
    .search-results-page .tf-flight-line__stop small {
        display: block;
        color: #52627d;
        font-style: normal;
        font-size: 11px;
        font-weight: 850;
        text-align: center;
        white-space: nowrap;
    }

    .search-results-page .tf-flight-line--stops-2 .tf-flight-line__stop em {
        display: none;
    }

    .search-results-page .tf-flight-line__stop small {
        display: none;
    }

    .search-results-page .tf-flight-line__duration-prefix {
        display: none;
    }

    .search-results-page .tf-result-leg__mobile-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        border-top: 1px solid #e7edf6;
        padding-top: 11px;
        color: #596a84;
        font-size: 12px;
        font-weight: 900;
    }

    .search-results-page .tf-result-leg__duration {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }

    .search-results-page .tf-result-leg__duration::before {
        content: "";
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        border: 1.8px solid #071741;
        border-radius: 999px;
        background:
            linear-gradient(#071741, #071741) center 4px / 2px 7px no-repeat,
            linear-gradient(#071741, #071741) 10px 9px / 6px 2px no-repeat;
    }

    .search-results-page .tf-result-leg__stop-pill {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        border-radius: 9px;
        padding: 0 10px;
        color: #0d4e9d;
        background: #f3f6fb;
        white-space: nowrap;
    }

    .search-results-page .tf-leg-details-toggle--mobile {
        position: relative;
        inset: auto;
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        margin-left: auto;
        border-radius: 999px;
    }

    .search-results-page .tf-leg-details {
        top: 12px;
        bottom: 12px;
        left: 50%;
        display: grid;
        align-content: start;
        grid-template-rows: auto auto minmax(0, 1fr);
        gap: 14px;
        width: min(430px, calc(100vw - 24px));
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        border-radius: 18px;
        padding: 0;
        box-shadow: 0 28px 78px rgba(5, 18, 38, .28);
        touch-action: pan-y;
        transform: translateX(-50%);
        -webkit-overflow-scrolling: touch;
    }

    .search-results-page .tf-leg-details[hidden] {
        display: none !important;
    }

    .search-results-page .tf-leg-details__header {
        position: sticky;
        top: 0;
        z-index: 3;
        justify-content: space-between;
        gap: 12px;
        min-height: 62px;
        border-bottom: 1px solid #e4ebf5;
        border-radius: 18px 18px 0 0;
        padding: 12px 16px;
        background: #ffffff;
    }

    .search-results-page .tf-leg-details__header h3 {
        min-width: 0;
        color: #071741;
        font-size: 18px;
        font-weight: 900;
        line-height: 1.15;
    }

    .search-results-page .tf-leg-details__header button {
        order: 0;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border-radius: 999px;
        background: #f1f5fb;
    }

    .search-results-page .tf-leg-details__header button::before,
    .search-results-page .tf-leg-details__header button::after {
        top: 19px;
        left: 12px;
        width: 16px;
        background: #071741;
    }

    .search-results-page .tf-leg-details__route {
        gap: 8px;
        padding: 0 16px;
    }

    .search-results-page .tf-leg-details__route h4 {
        display: block;
        color: #071741;
        font-size: 17px;
        font-weight: 900;
        line-height: 1.22;
    }

    .search-results-page .tf-leg-details__route h4 span {
        display: none;
    }

    .search-results-page .tf-leg-details__route p {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 10px;
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 750;
        line-height: 1.35;
    }

    .search-results-page .tf-leg-details__route p span {
        margin-left: 0;
        border-radius: 999px;
        padding: 2px 8px;
        color: #0d4e9d;
        background: #edf3ff;
        font-weight: 900;
    }

    .search-results-page .tf-leg-segments {
        align-content: start;
        align-items: start;
        gap: 10px;
        padding: 0 16px 18px;
    }

    .search-results-page .tf-leg-segment {
        grid-template-columns: 52px 18px minmax(0, 1fr);
        grid-template-rows: auto minmax(58px, auto) auto;
        column-gap: 10px;
        row-gap: 6px;
        min-width: 0;
        align-self: start;
        border: 1px solid #e3ebf6;
        border-radius: 14px;
        padding: 13px 12px;
        background: #fbfdff;
    }

    .search-results-page .tf-result-leg--direct .tf-leg-details {
        grid-template-rows: auto auto auto;
    }

    .search-results-page .tf-result-leg--direct .tf-leg-segment {
        grid-template-rows: auto minmax(48px, auto) auto;
    }

    .search-results-page .tf-leg-segment__time {
        min-width: 0;
    }

    .search-results-page .tf-leg-segment__time b {
        color: #071741;
        font-size: 15px;
        line-height: 1;
    }

    .search-results-page .tf-leg-segment__time small,
    .search-results-page .tf-leg-segment__airport small {
        color: #64728c;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.25;
    }

    .search-results-page .tf-leg-segment__timeline::before,
    .search-results-page .tf-leg-segment__timeline::after {
        left: 5px;
        width: 8px;
        height: 8px;
    }

    .search-results-page .tf-leg-segment__timeline::before {
        top: 3px;
    }

    .search-results-page .tf-leg-segment__timeline::after {
        bottom: 3px;
    }

    .search-results-page .tf-leg-segment__timeline i {
        top: 12px;
        bottom: 12px;
        left: 8px;
    }

    .search-results-page .tf-leg-segment__airport {
        min-width: 0;
    }

    .search-results-page .tf-leg-segment__airport strong {
        color: #071741;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .search-results-page .tf-leg-segment__flight {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        width: 100%;
        min-width: 0;
        margin: 10px 0;
        border: 1px solid #e1e9f5;
        border-radius: 12px;
        padding: 10px 12px;
        background: #ffffff;
    }

    .search-results-page .tf-leg-segment__flight > span {
        justify-content: flex-start;
        min-height: 0;
    }

    .search-results-page .tf-leg-segment__flight .tf-airline-logo {
        min-width: 0;
        max-width: 92px;
        min-height: 24px;
        padding: 0;
    }

    .search-results-page .tf-leg-segment__flight b,
    .search-results-page .tf-leg-segment__flight em,
    .search-results-page .tf-leg-segment__flight small {
        font-size: 12px;
        line-height: 1.35;
    }

    .search-results-page .tf-leg-segment__flight div {
        min-width: 0;
    }

    .search-results-page .tf-leg-layover {
        width: 100%;
        margin: 0;
        border: 1px solid #cfeafa;
        border-radius: 12px;
        padding: 11px 12px;
        color: #213449;
        background: #eef9ff;
        font-size: 13px;
        line-height: 1.35;
    }

    .search-results-page .tf-result-card--multi-leg .tf-flight-times {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .search-results-page .tf-result-card__fares {
        display: none;
    }

    .search-results-page .tf-result-card__price {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        justify-items: stretch;
        gap: 10px;
        border: 0;
        border-top: 1px solid #e7edf6;
        border-radius: 0;
        padding: 12px 14px 14px;
        background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
        box-shadow: none;
        text-align: left;
    }

    .search-results-page .tf-result-card__price small {
        grid-column: 1;
        grid-row: 1;
        max-width: none;
        color: #64728c;
        font-size: 11px;
        font-weight: 850;
        line-height: 1.2;
    }

    .search-results-page .tf-result-card__price strong {
        grid-column: 1;
        grid-row: 2;
        color: #071741;
        font-size: 26px;
        font-weight: 950;
        line-height: 1.02;
    }

    .search-results-page .tf-result-card__select {
        grid-column: 2;
        grid-row: 1 / span 2;
        min-width: 118px;
        min-height: 48px;
        border-radius: 14px;
        font-size: 14px;
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page {
        padding: 18px 0 48px;
        background: #f3f7fc;
    }

    .uapi-passengers-layout {
        gap: 18px;
        padding-inline: 18px;
    }

    .uapi-booking-back-link {
        gap: 12px;
        margin: 0 0 -2px;
        min-height: 46px;
    }

    .uapi-booking-back-link span {
        width: 46px;
        height: 46px;
    }

    .uapi-booking-back-link strong {
        color: #071741;
        font-size: 19px;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-flight-summary.tf-result-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: hidden;
        border: 1px solid #dfe9f6;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 14px 30px rgba(8, 35, 72, .08);
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-card__legs {
        gap: 0;
        padding: 14px 14px 0;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-leg {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        overflow: visible;
        border: 0;
        border-bottom: 1px solid #e7edf6;
        border-radius: 0;
        padding: 0 0 14px;
        background: transparent;
        box-shadow: none;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-leg + .tf-result-leg {
        margin-top: 14px;
    }

    .uapi-passengers-page .uapi-flight-summary.tf-result-card--multi-leg .tf-result-leg,
    .uapi-passengers-page .uapi-flight-summary .tf-result-leg:last-of-type {
        border-bottom: 0;
    }

    .uapi-passengers-page .uapi-flight-summary.tf-result-card--multi-leg .tf-result-leg + .tf-result-leg {
        margin-top: 18px;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-leg__main {
        display: grid;
        gap: 12px;
        min-width: 0;
    }

    .uapi-passengers-page .tf-result-leg__mobile-head {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 30px;
        padding-right: 86px;
    }

    .uapi-passengers-page .tf-result-leg__direction,
    .uapi-passengers-page .tf-result-leg__status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 28px;
        border-radius: 10px;
        padding: 0 11px;
        color: #0a2250;
        background: #f3f6fb;
        font-size: 12px;
        font-weight: 950;
        line-height: 1;
        white-space: nowrap;
    }

    .uapi-passengers-page .tf-result-leg__direction {
        min-height: 32px;
        border: 1px solid #dce8f9;
        border-radius: 12px;
        padding: 0 14px;
        color: #071741;
        background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
        font-size: 13px;
        box-shadow: 0 7px 16px rgba(8, 35, 72, .08);
    }

    .uapi-passengers-page .tf-result-leg__status--direct {
        color: #0a2d18;
        background: #dcf4e3;
    }

    .uapi-passengers-page .tf-result-leg__status--direct i {
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: #47c84f;
    }

    .uapi-passengers-page .tf-result-leg__status--transfer {
        color: #0d4e9d;
        background: #edf3ff;
    }

    .uapi-passengers-page .uapi-flight-summary.tf-result-card--single-leg .tf-result-leg__direction {
        display: none;
    }

    .uapi-passengers-page .uapi-flight-summary.tf-result-card--multi-leg .tf-result-leg__status {
        display: none;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-leg > .tf-airline-logo {
        position: absolute;
        top: 2px;
        right: 0;
        justify-self: auto;
        min-width: 78px;
        min-height: 26px;
        border: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-result-leg > .tf-airline-logo img {
        max-width: 78px;
        max-height: 26px;
    }

    .uapi-passengers-page .tf-flight-times {
        grid-template-columns: minmax(66px, .3fr) minmax(96px, .4fr) minmax(66px, .3fr);
        gap: 8px;
        align-items: center;
    }

    .uapi-passengers-page .tf-flight-point {
        gap: 4px;
        min-width: 0;
    }

    .uapi-passengers-page .tf-flight-point--arrive {
        width: 100%;
        justify-self: stretch;
        justify-items: end;
        text-align: right;
    }

    .uapi-passengers-page .tf-flight-point--arrive strong,
    .uapi-passengers-page .tf-flight-point--arrive small,
    .uapi-passengers-page .tf-flight-point--arrive em {
        width: 100%;
        justify-self: end;
        margin-left: auto;
        margin-right: 0;
        text-align: right;
    }

    .uapi-passengers-page .tf-flight-point strong {
        display: grid;
        gap: 3px;
        min-width: 0;
        margin: 0;
        color: #071741;
        line-height: 1;
    }

    .uapi-passengers-page .tf-flight-point__time,
    .uapi-passengers-page .tf-flight-point__code {
        display: block;
        color: inherit;
        font: inherit;
        line-height: 1;
    }

    .uapi-passengers-page .tf-flight-point__time {
        font-size: 25px;
        font-weight: 950;
    }

    .uapi-passengers-page .tf-flight-point__code {
        font-size: 17px;
        font-weight: 950;
    }

    .uapi-passengers-page .tf-flight-point small {
        color: #5f6f8d;
        font-size: 10px;
        font-weight: 850;
        line-height: 1.15;
    }

    .uapi-passengers-page .tf-flight-point em {
        max-width: 82px;
        color: #64728c;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-passengers-page .tf-flight-point--arrive em {
        max-width: 96px;
        text-align: right;
        text-align-last: right;
    }

    .uapi-passengers-page .tf-flight-line {
        position: relative;
        display: grid;
        grid-template-rows: 34px;
        gap: 4px;
        align-self: center;
        justify-items: center;
        min-width: 0;
        color: #071741;
    }

    .uapi-passengers-page .tf-flight-line b,
    .uapi-passengers-page .tf-flight-line > small {
        display: none;
    }

    .uapi-passengers-page .tf-flight-line i {
        align-self: center;
        width: 100%;
        height: 1px;
        background: #cfd8e8;
    }

    .uapi-passengers-page .tf-flight-line i::before,
    .uapi-passengers-page .tf-flight-line i::after {
        content: "";
        position: absolute;
        top: 17px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #071741;
        transform: translateY(-50%);
    }

    .uapi-passengers-page .tf-flight-line i::before {
        left: 0;
        box-shadow: none;
    }

    .uapi-passengers-page .tf-flight-line i::after {
        right: 0;
    }

    .uapi-passengers-page .tf-flight-line--direct i {
        width: 86%;
    }

    .uapi-passengers-page .tf-flight-line--direct i::before,
    .uapi-passengers-page .tf-flight-line--direct i::after {
        display: none;
    }

    .uapi-passengers-page .tf-flight-line::before {
        content: "\2708";
        position: absolute;
        top: 7px;
        left: 50%;
        z-index: 1;
        color: #071741;
        font-size: 19px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .uapi-passengers-page .tf-flight-line--transfer {
        --tf-transfer-plane-offset: 32px;
        --tf-transfer-stop-one: 50%;
        --tf-transfer-stop-two: 50%;
    }

    .uapi-passengers-page .tf-flight-line--stops-2 {
        --tf-transfer-plane-offset: 30%;
        --tf-transfer-stop-one: 35%;
        --tf-transfer-stop-two: 65%;
    }

    .uapi-passengers-page .tf-flight-line--transfer::before {
        top: 9px;
        left: calc(50% - var(--tf-transfer-plane-offset));
        font-size: 16px;
    }

    .uapi-passengers-page .tf-flight-line--stops-2::before {
        left: calc(var(--tf-transfer-stop-one) - 15%);
    }

    .uapi-passengers-page .tf-flight-line--transfer i::before,
    .uapi-passengers-page .tf-flight-line--transfer i::after {
        display: none;
    }

    .uapi-passengers-page .tf-flight-line--transfer .tf-flight-line__stops {
        position: absolute;
        top: -5px;
        left: 0;
        right: 0;
        z-index: 2;
        display: block;
        height: 42px;
        color: #52627d;
        font-size: 11px;
        font-weight: 850;
        line-height: 1.05;
    }

    .uapi-passengers-page .tf-flight-line--transfer .tf-flight-line__stops::after {
        content: "\2708";
        position: absolute;
        top: 14px;
        left: calc(50% + var(--tf-transfer-plane-offset));
        color: #071741;
        font-size: 16px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stops::before {
        content: "\2708";
        position: absolute;
        top: 14px;
        left: 50%;
        color: #071741;
        font-size: 16px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stops::after {
        left: calc(var(--tf-transfer-stop-two) + 15%);
    }

    .uapi-passengers-page .tf-flight-line--transfer .tf-flight-line__stop {
        position: absolute;
        top: 0;
        left: var(--tf-transfer-stop-one);
        display: grid;
        justify-items: center;
        gap: 17px;
        transform: translateX(-50%);
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stop {
        gap: 0;
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(1) {
        left: var(--tf-transfer-stop-one);
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(2) {
        left: var(--tf-transfer-stop-two);
    }

    .uapi-passengers-page .tf-flight-line--transfer .tf-flight-line__stop::before {
        content: "";
        position: absolute;
        top: 22px;
        left: 50%;
        z-index: 1;
        width: 12px;
        height: 12px;
        border: 2px solid #ffb51e;
        border-radius: 999px;
        background: #ffffff;
        transform: translate(-50%, -50%);
    }

    .uapi-passengers-page .tf-flight-line__stop strong {
        color: #071741;
        font-size: 13px;
        font-weight: 950;
    }

    .uapi-passengers-page .tf-flight-line__stop em,
    .uapi-passengers-page .tf-flight-line__stop small {
        display: block;
        color: #52627d;
        font-style: normal;
        font-size: 11px;
        font-weight: 850;
        text-align: center;
        white-space: nowrap;
    }

    .uapi-passengers-page .tf-flight-line--stops-2 .tf-flight-line__stop em,
    .uapi-passengers-page .tf-flight-line__stop small,
    .uapi-passengers-page .tf-flight-line__duration-prefix {
        display: none;
    }

    .uapi-passengers-page .tf-result-leg__mobile-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        border-top: 1px solid #e7edf6;
        padding-top: 11px;
        color: #596a84;
        font-size: 12px;
        font-weight: 900;
    }

    .uapi-passengers-page .tf-result-leg__duration {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }

    .uapi-passengers-page .tf-result-leg__duration::before {
        content: "";
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        border: 1.8px solid #071741;
        border-radius: 999px;
        background:
            linear-gradient(#071741, #071741) center 4px / 2px 7px no-repeat,
            linear-gradient(#071741, #071741) 10px 9px / 6px 2px no-repeat;
    }

    .uapi-passengers-page .tf-result-leg__stop-pill {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        border-radius: 9px;
        padding: 0 10px;
        color: #0d4e9d;
        background: #f3f6fb;
        white-space: nowrap;
    }

    .uapi-passengers-page .tf-leg-details-toggle--mobile {
        position: relative;
        inset: auto;
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        margin-left: auto;
        border-radius: 999px;
        background: #f3f6fb;
    }

    .uapi-passengers-page .tf-leg-details-toggle--mobile::before {
        top: 9px;
        left: 10px;
        border-color: #0d4e9d;
    }

    .uapi-passengers-page .tf-leg-details {
        top: 12px;
        bottom: 12px;
        left: 50%;
        display: grid;
        align-content: start;
        grid-template-rows: auto auto minmax(0, 1fr);
        gap: 14px;
        width: min(430px, calc(100vw - 24px));
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        border-radius: 18px;
        padding: 0;
        box-shadow: 0 28px 78px rgba(5, 18, 38, .28);
        touch-action: pan-y;
        transform: translateX(-50%);
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .tf-leg-details[hidden] {
        display: none !important;
    }

    .uapi-passengers-page .tf-leg-details__header {
        position: sticky;
        top: 0;
        z-index: 3;
        justify-content: space-between;
        gap: 12px;
        min-height: 62px;
        border-bottom: 1px solid #e4ebf5;
        border-radius: 18px 18px 0 0;
        padding: 12px 16px;
        background: #ffffff;
    }

    .uapi-passengers-page .tf-leg-details__header h3 {
        min-width: 0;
        color: #071741;
        font-size: 18px;
        font-weight: 900;
        line-height: 1.15;
    }

    .uapi-passengers-page .tf-leg-details__header button {
        order: 0;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border-radius: 999px;
        background: #f1f5fb;
    }

    .uapi-passengers-page .tf-leg-details__header button::before,
    .uapi-passengers-page .tf-leg-details__header button::after {
        top: 19px;
        left: 12px;
        width: 16px;
        background: #071741;
    }

    .uapi-passengers-page .tf-leg-details__route {
        gap: 8px;
        padding: 0 16px;
    }

    .uapi-passengers-page .tf-leg-details__route h4 {
        display: block;
        color: #071741;
        font-size: 17px;
        font-weight: 900;
        line-height: 1.22;
    }

    .uapi-passengers-page .tf-leg-details__route h4 span {
        display: none;
    }

    .uapi-passengers-page .tf-leg-details__route p {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 10px;
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 750;
        line-height: 1.35;
    }

    .uapi-passengers-page .tf-leg-details__route p span {
        margin-left: 0;
        border-radius: 999px;
        padding: 2px 8px;
        color: #0d4e9d;
        background: #edf3ff;
        font-weight: 900;
    }

    .uapi-passengers-page .tf-leg-segments {
        align-content: start;
        align-items: start;
        gap: 10px;
        padding: 0 16px 18px;
    }

    .uapi-passengers-page .tf-leg-segment {
        grid-template-columns: 52px 18px minmax(0, 1fr);
        grid-template-rows: auto minmax(58px, auto) auto;
        column-gap: 10px;
        row-gap: 6px;
        min-width: 0;
        align-self: start;
        border: 1px solid #e3ebf6;
        border-radius: 14px;
        padding: 13px 12px;
        background: #fbfdff;
    }

    .uapi-passengers-page .tf-result-leg--direct .tf-leg-details {
        grid-template-rows: auto auto auto;
    }

    .uapi-passengers-page .tf-result-leg--direct .tf-leg-segment {
        grid-template-rows: auto minmax(48px, auto) auto;
    }

    .uapi-passengers-page .tf-leg-segment__time {
        min-width: 0;
    }

    .uapi-passengers-page .tf-leg-segment__time b {
        color: #071741;
        font-size: 15px;
        line-height: 1;
    }

    .uapi-passengers-page .tf-leg-segment__time small,
    .uapi-passengers-page .tf-leg-segment__airport small {
        color: #64728c;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.25;
    }

    .uapi-passengers-page .tf-leg-segment__timeline::before,
    .uapi-passengers-page .tf-leg-segment__timeline::after {
        left: 5px;
        width: 8px;
        height: 8px;
    }

    .uapi-passengers-page .tf-leg-segment__timeline::before {
        top: 3px;
    }

    .uapi-passengers-page .tf-leg-segment__timeline::after {
        bottom: 3px;
    }

    .uapi-passengers-page .tf-leg-segment__timeline i {
        top: 12px;
        bottom: 12px;
        left: 8px;
    }

    .uapi-passengers-page .tf-leg-segment__airport {
        min-width: 0;
    }

    .uapi-passengers-page .tf-leg-segment__airport strong {
        color: #071741;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .uapi-passengers-page .tf-leg-segment__flight {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        width: 100%;
        min-width: 0;
        margin: 10px 0;
        border: 1px solid #e1e9f5;
        border-radius: 12px;
        padding: 10px 12px;
        background: #ffffff;
    }

    .uapi-passengers-page .tf-leg-segment__flight > span {
        justify-content: flex-start;
        min-height: 0;
    }

    .uapi-passengers-page .tf-leg-segment__flight .tf-airline-logo {
        min-width: 0;
        max-width: 92px;
        min-height: 24px;
        padding: 0;
    }

    .uapi-passengers-page .tf-leg-segment__flight b,
    .uapi-passengers-page .tf-leg-segment__flight em,
    .uapi-passengers-page .tf-leg-segment__flight small {
        font-size: 12px;
        line-height: 1.35;
    }

    .uapi-passengers-page .tf-leg-segment__flight div {
        min-width: 0;
    }

    .uapi-passengers-page .tf-leg-layover {
        width: 100%;
        margin: 0;
        border: 1px solid #cfeafa;
        border-radius: 12px;
        padding: 11px 12px;
        color: #213449;
        background: #eef9ff;
        font-size: 13px;
        line-height: 1.35;
    }

    .uapi-passengers-page .uapi-passengers-content {
        margin-top: 0;
    }

    .uapi-passengers-page .uapi-passengers-header {
        margin-bottom: 16px;
    }

    .uapi-passengers-page .uapi-passengers-header h1 {
        color: #071741;
        font-size: 24px;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-passengers-header p:last-child {
        color: #5f6f8d;
        font-size: 15px;
        line-height: 1.42;
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-passengers-form {
        display: grid;
        gap: 16px;
    }

    .uapi-passengers-page .uapi-passenger-card {
        margin: 0;
        border: 1px solid #dbe8f7;
        border-radius: 18px;
        padding: 18px;
        background: #ffffff;
        box-shadow: 0 12px 28px rgba(8, 35, 72, .07);
    }

    .uapi-passengers-page .uapi-passenger-card__head {
        display: grid;
        gap: 14px;
        margin-bottom: 18px;
    }

    .uapi-passengers-page .uapi-passenger-card__head > div:first-child {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-passenger-card__head small {
        flex: 0 0 auto;
        min-height: 36px;
        border-radius: 999px;
        padding: 0 16px;
        font-size: 16px;
        line-height: 1;
    }

    .uapi-passengers-page .uapi-passenger-card h2 {
        min-width: 0;
        color: #071741;
        font-size: 24px;
        line-height: 1.1;
    }

    .uapi-passengers-page .uapi-passengers-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .uapi-passengers-page .uapi-passengers-grid label,
    .uapi-passengers-page .uapi-profile-select {
        gap: 7px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-passengers-grid span,
    .uapi-passengers-page .uapi-profile-select span {
        color: #071741;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-passengers-grid input,
    .uapi-passengers-page .uapi-passengers-grid select,
    .uapi-passengers-page .uapi-profile-select select,
    .uapi-passengers-page .uapi-baggage-card__item select {
        min-width: 0;
        min-height: 48px;
        border-color: #bdd4f3;
        border-radius: 12px;
        background-color: #ffffff;
        color: #071741;
        font-size: 16px;
        font-weight: 850;
        line-height: 1.2;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
    }

    .uapi-passengers-page .uapi-passengers-grid select,
    .uapi-passengers-page .uapi-profile-select select,
    .uapi-passengers-page .uapi-baggage-card__item select {
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23071741' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: right 13px center;
        background-repeat: no-repeat;
        background-size: 18px 18px;
        padding-right: 42px;
    }

    .uapi-passengers-page .uapi-passenger-field--gender select {
        max-width: none;
    }

    .uapi-passengers-page .uapi-passenger-field .insurance-form-error {
        display: none;
        min-height: 0;
        margin: 0;
    }

    .uapi-passengers-page .uapi-passenger-field.has-error > .insurance-form-error {
        display: block;
        margin-top: 2px;
        font-size: 13px;
        line-height: 1.3;
    }

    .uapi-passengers-page .uapi-birthdate-selects {
        display: grid;
        grid-template-columns: minmax(70px, .72fr) minmax(120px, 1fr) minmax(86px, .82fr);
        gap: 10px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-birthdate-selects select {
        min-width: 0;
        padding-left: 12px;
        padding-right: 30px;
        background-position: right 8px center;
        background-size: 16px 16px;
        text-align: left;
    }

    .uapi-passengers-page .uapi-baggage-card {
        margin-top: 18px;
        border-color: #dbe8f7;
        border-radius: 16px;
        background: #ffffff;
    }

    .uapi-passengers-page .uapi-baggage-card__intro {
        display: grid;
        gap: 8px;
        border-bottom-color: #e4edf8;
        padding: 16px;
    }

    .uapi-passengers-page .uapi-baggage-card__intro h3 {
        color: #071741;
        font-size: 18px;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-baggage-card__intro p {
        color: #5f6f8d;
        font-size: 14px;
        font-weight: 750;
        line-height: 1.38;
    }

    .uapi-passengers-page .uapi-baggage-card__body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
    }

    .uapi-passengers-page .uapi-baggage-card__item {
        position: relative;
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        min-height: 0;
        border-color: #e4edf8;
        border-radius: 14px;
        padding: 12px;
        background: #f8fbff;
    }

    .uapi-passengers-page .uapi-baggage-card__item img {
        width: 38px;
        height: 38px;
    }

    .uapi-passengers-page .uapi-baggage-card__item span,
    .uapi-passengers-page .uapi-baggage-card__item strong {
        color: #071741;
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-baggage-card__item p {
        color: #5f6f8d;
        font-size: 13px;
        line-height: 1.35;
    }

    .uapi-passengers-page .uapi-baggage-card__item--included,
    .uapi-passengers-page .uapi-baggage-card__item--checked-included {
        border-color: #ccebd9;
        background: #f0fbf5;
    }

    .uapi-passengers-page .uapi-baggage-card__item--selected {
        border-color: #97d8b2;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }

    .uapi-passengers-page .uapi-baggage-selected-summary {
        display: grid;
        gap: 4px;
        margin: 9px 0 0;
        border: 1px solid #b7e5c7;
        border-radius: 12px;
        padding: 9px 10px;
        background: #ffffff;
        color: #071741;
        font-size: 13px;
        line-height: 1.28;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary[hidden] {
        display: none;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary span {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        border-radius: 999px;
        padding: 3px 8px;
        color: #0b6b35;
        background: #e3f8ea;
        font-size: 11px;
        font-weight: 950;
        line-height: 1;
        text-transform: uppercase;
    }

    .uapi-passengers-page .uapi-baggage-selected-summary strong {
        color: #071741;
        font-size: 13px;
        font-weight: 850;
        line-height: 1.3;
    }

    .uapi-passengers-page .uapi-baggage-card__notice {
        margin: 0 12px 12px;
        border-radius: 12px;
        padding: 11px 12px;
        font-size: 13px;
        line-height: 1.35;
    }

    .uapi-passengers-page .uapi-priority-addon {
        display: block;
        border-top: 1px solid #e4edf8;
        padding: 16px 12px;
        background: #ffffff;
    }

    .uapi-passengers-page .uapi-priority-addon img {
        display: none;
    }

    .uapi-passengers-page .uapi-priority-addon__content {
        display: grid;
        gap: 13px;
    }

    .uapi-passengers-page .uapi-priority-addon__content > strong {
        color: #071741;
        font-size: 18px;
        font-weight: 950;
        line-height: 1.2;
        text-align: left;
    }

    .uapi-passengers-page .uapi-priority-addon__content ul {
        gap: 7px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li,
    .uapi-passengers-page .uapi-priority-direction__item {
        color: #344763;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.32;
        padding-left: 25px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li::before,
    .uapi-passengers-page .uapi-priority-direction__item::before {
        top: 1px;
        width: 17px;
        height: 17px;
    }

    .uapi-passengers-page .uapi-priority-addon__content li::after,
    .uapi-passengers-page .uapi-priority-direction__item::after {
        top: 5px;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option {
        align-items: center;
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 11px;
        margin-top: 2px;
        border: 1px solid #f3c768;
        border-radius: 16px;
        padding: 12px;
        background: #fffaf0;
        box-shadow: 0 8px 18px rgba(245, 158, 11, .08);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input {
        width: 26px;
        height: 26px;
        margin: 0;
        accent-color: #0f9f55;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span strong {
        color: #071741;
        font-size: 15px;
        font-weight: 950;
        line-height: 1.18;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span small {
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option b {
        grid-column: auto;
        justify-self: end;
        color: #071741;
        font-size: 16px;
        font-weight: 950;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option:has(input:checked) {
        border-color: #8bd2a6;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-protection-addon {
        margin-top: 18px;
        border-radius: 18px;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-protection-addon__head {
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-protection-addon__head h3 {
        font-size: 19px;
        line-height: 1.2;
    }

    .uapi-passengers-page .uapi-protection-addon__body {
        gap: 16px;
        padding: 16px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__media {
        display: none;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content {
        gap: 14px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content ul {
        gap: 9px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content li {
        color: #18395f;
        font-size: 14px;
        line-height: 1.32;
        padding-left: 28px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content li::before {
        top: 0;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__content a {
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice {
        align-items: center;
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 12px;
        border: 1px solid #f3c768;
        border-radius: 16px;
        padding: 13px;
        background: #fffaf0;
        box-shadow: 0 8px 18px rgba(245, 158, 11, .08);
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice:has(input:checked) {
        border-color: #8bd2a6;
        background: #effcf5;
        box-shadow: 0 8px 18px rgba(20, 157, 49, .1);
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input {
        width: 28px;
        height: 28px;
        margin: 0;
        accent-color: #0f9f55;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice span {
        display: grid;
        gap: 3px;
        min-width: 0;
        font-size: initial;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice strong {
        color: #071741;
        font-size: 15px;
        font-weight: 950;
        line-height: 1.18;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice small {
        color: #5f6f8d;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice b {
        justify-self: end;
        color: #071741;
        font-size: 16px;
        font-weight: 950;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-seat-addon {
        margin-top: 18px;
        border-radius: 18px;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-seat-addon__head {
        gap: 12px;
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-seat-addon__head span {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        font-size: 20px;
    }

    .uapi-passengers-page .uapi-seat-addon__head h3 {
        font-size: 19px;
        line-height: 1.18;
    }

    .uapi-passengers-page .uapi-seat-modal {
        z-index: 10080;
    }

    .uapi-passengers-page .uapi-seat-modal__dialog {
        inset: auto 0 0;
        display: grid;
        grid-template-rows: auto auto auto minmax(0, 1fr) auto;
        width: 100vw;
        height: min(92dvh, 780px);
        max-width: none;
        max-height: none;
        border-radius: 22px 22px 0 0;
        transform: none;
    }

    .uapi-passengers-page .uapi-seat-modal__head {
        align-items: flex-start;
        padding: 16px 18px;
    }

    .uapi-passengers-page .uapi-seat-modal__head h3 {
        font-size: 24px;
        line-height: 1.05;
    }

    .uapi-passengers-page .uapi-seat-modal__head p {
        font-size: 15px;
        line-height: 1.25;
    }

    .uapi-passengers-page .uapi-seat-modal__head button {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        font-size: 28px;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs,
    .uapi-passengers-page .uapi-seat-modal__directions {
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding: 10px 16px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs::-webkit-scrollbar,
    .uapi-passengers-page .uapi-seat-modal__directions::-webkit-scrollbar {
        display: none;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs button {
        flex: 0 0 auto;
        min-width: 142px;
        min-height: 52px;
        border-radius: 14px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .uapi-passengers-page .uapi-seat-modal__tabs button strong {
        font-size: 12px;
    }

    .uapi-passengers-page .uapi-seat-modal__directions button {
        flex: 0 0 auto;
        min-height: 38px;
        border-radius: 999px;
        padding: 0 16px;
        font-size: 14px;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-seat-modal__content {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        overflow: auto;
        overflow-x: auto;
        padding: 12px 0 16px;
        background: #ffffff;
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .uapi-seat-map {
        justify-self: stretch;
        width: max-content;
        min-width: 560px;
        max-width: none;
        margin: 0;
        padding: 16px 18px 22px;
        transform: none;
    }

    .uapi-passengers-page .uapi-seat-map::before {
        inset: 0 48px auto;
        height: 145px;
        border-width: 3px;
    }

    .uapi-passengers-page .uapi-seat-map__nose {
        width: 114px;
        height: 38px;
        margin: 8px auto 14px;
    }

    .uapi-passengers-page .uapi-seat-map__letters,
    .uapi-passengers-page .uapi-seat-map__row {
        display: flex;
        gap: 0;
        margin-bottom: 13px;
    }

    .uapi-passengers-page .uapi-seat-map__group {
        gap: 8px;
    }

    .uapi-passengers-page .uapi-seat-map__aisle {
        flex-basis: 32px;
        min-width: 32px;
    }

    .uapi-passengers-page .uapi-seat-map__letters .uapi-seat-map__group span,
    .uapi-passengers-page .uapi-seat-map__row-number {
        min-width: 44px;
        font-size: 16px;
    }

    .uapi-passengers-page .uapi-seat-cell {
        min-height: 70px;
        gap: 2px;
    }

    .uapi-passengers-page .uapi-seat-map__row button {
        width: 44px;
        height: 35px;
        border-radius: 11px 11px 8px 8px;
    }

    .uapi-passengers-page .uapi-seat-map__row button.is-xl {
        height: 42px;
        margin-top: -4px;
    }

    .uapi-passengers-page .uapi-seat-map__row button::before,
    .uapi-passengers-page .uapi-seat-map__row button::after {
        width: 5px;
        height: 20px;
    }

    .uapi-passengers-page .uapi-seat-cell > span {
        font-size: 14px;
        font-weight: 950;
    }

    .uapi-passengers-page .uapi-seat-cell > small {
        font-size: 12px;
        font-weight: 900;
    }

    .uapi-passengers-page .uapi-seat-modal__side {
        position: static;
        display: grid;
        width: calc(100vw - 32px);
        margin: 0 16px;
        padding: 0;
    }

    .uapi-passengers-page .uapi-seat-modal__passenger-panel,
    .uapi-passengers-page .uapi-seat-modal__legend {
        display: none;
    }

    .uapi-passengers-page .uapi-seat-modal__foot {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 12px;
        padding: 12px 16px max(12px, env(safe-area-inset-bottom));
    }

    .uapi-passengers-page .uapi-seat-modal__nav {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        width: 100%;
        margin: 0;
    }

    .uapi-passengers-page .uapi-seat-modal__nav .button {
        min-height: 42px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-seat-modal__foot > span {
        align-self: center;
        display: grid;
        gap: 2px;
        font-size: 13px;
        line-height: 1.1;
    }

    .uapi-passengers-page .uapi-seat-modal__foot strong {
        margin-left: 0;
        font-size: 24px;
        line-height: 1;
    }

    .uapi-passengers-page .uapi-seat-modal__foot > .button {
        min-width: 132px;
        min-height: 50px;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 950;
    }
}
@media (max-width: 640px) {
    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px;
        gap: 5px 12px;
        align-items: center;
        padding: 13px 14px;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"],
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"],
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"] {
        appearance: none;
        -webkit-appearance: none;
        position: relative;
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        justify-self: end;
        width: 46px;
        height: 28px;
        margin: 0;
        border: 0;
        border-radius: 999px;
        background: #d6deeb;
        box-shadow: inset 0 1px 3px rgba(8, 23, 54, .2);
        cursor: pointer;
        transition: background .18s ease, box-shadow .18s ease;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]::before,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"]::before,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #ffffff;
        box-shadow: 0 1px 3px rgba(8, 23, 54, .24);
        transition: transform .18s ease;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]::after,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"]::after,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]::after {
        content: none !important;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:checked,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"]:checked,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:checked {
        background: #34c759;
        box-shadow: inset 0 1px 3px rgba(6, 91, 37, .2);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:checked::before,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"]:checked::before,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:checked::before {
        transform: translateX(18px);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:focus-visible,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice input[type="checkbox"]:focus-visible,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option input[type="checkbox"]:focus-visible {
        outline: 3px solid rgba(37, 99, 235, .28);
        outline-offset: 3px;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option span,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice span,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option span {
        grid-column: 1;
        grid-row: 1;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option b,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice b,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option b {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        font-size: 18px;
    }
}
@media (max-width: 640px) {
    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 5px 14px;
        align-items: center;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle),
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > span:not(.uapi-payment-invoice-toggle),
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle) {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > b,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > b,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > b {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        justify-self: end;
        width: 62px;
        height: 34px;
        padding: 3px;
        border: 1px solid #c3d4ea;
        border-radius: 999px;
        background: #d8e3f1;
        box-shadow: inset 0 1px 3px rgba(17, 55, 98, .12);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"],
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle input[type="checkbox"],
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"] {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: 0;
        padding: 0;
        border: 0;
        opacity: 0;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::before,
    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::after,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle input[type="checkbox"]::before,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle input[type="checkbox"]::after,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::before,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::after {
        content: none !important;
        display: none;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle > span,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle > span,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle > span {
        grid-column: auto;
        grid-row: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 4px 10px rgba(17, 55, 98, .22);
        transform: translateX(0);
        transition: transform .18s ease;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle:has(input:checked),
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle:has(input:checked),
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle:has(input:checked) {
        background: #13a65d;
        border-color: #13a65d;
        box-shadow: 0 10px 20px rgba(19, 166, 93, .22);
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle:has(input:checked) > span,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle:has(input:checked) > span,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle:has(input:checked) > span {
        transform: translateX(28px);
    }
}

/* Restore the stronger desktop search-result contrast after mobile-only refinements. */
@media (min-width: 761px) {
    .search-results-page .tf-result-card {
        border-color: #c5d5ea;
        background: #ffffff;
        box-shadow: 0 16px 38px rgba(8, 35, 72, .12);
    }

    .search-results-page .tf-result-card:hover {
        border-color: #adc4df;
        box-shadow: 0 20px 46px rgba(8, 35, 72, .16);
    }

    .search-results-page .tf-result-leg {
        border-bottom-color: #d7e3f2;
    }

    .search-results-page .tf-result-card__price {
        border-left-color: #c8d8eb;
        background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    }

    .search-results-page .tf-flight-point strong,
    .search-results-page .tf-flight-point__time,
    .search-results-page .tf-flight-point__code,
    .search-results-page .tf-flight-line,
    .search-results-page .tf-flight-line b,
    .search-results-page .tf-result-card__price strong,
    .search-results-page .tf-leg-details__header h3,
    .search-results-page .tf-leg-details__route h4,
    .search-results-page .tf-leg-segment__time b,
    .search-results-page .tf-leg-segment__airport strong,
    .search-results-page .tf-leg-segment__flight b,
    .search-results-page .tf-leg-segment__flight em {
        color: #061f44;
    }

    .search-results-page .tf-flight-point strong {
        font-weight: 950;
    }

    .search-results-page .tf-flight-point small,
    .search-results-page .tf-flight-line small,
    .search-results-page .tf-result-card__price small,
    .search-results-page .tf-leg-segment__time small,
    .search-results-page .tf-leg-segment__airport small,
    .search-results-page .tf-leg-segment__flight small {
        color: #405674;
    }

    .search-results-page .tf-flight-point em {
        color: #284665;
        font-weight: 850;
    }

    .search-results-page .tf-flight-line i {
        height: 2px;
        background: #f5a800;
        opacity: 1;
    }

    .search-results-page .tf-leg-details-toggle::before {
        border-color: #0b4f9c;
    }

    .search-results-page .tf-airline-logo {
        border-color: #d7e3f1;
        box-shadow: 0 8px 20px rgba(12, 46, 96, .08);
    }

    .search-results-page .tf-leg-details {
        border: 1px solid #d5e1ef;
        box-shadow:
            0 0 0 9999px rgba(10, 18, 32, .46),
            0 30px 86px rgba(8, 35, 72, .28);
    }

    .search-results-page .tf-leg-details__header {
        border-bottom-color: #d7e3f1;
    }

    .search-results-page .tf-leg-details__route p,
    .search-results-page .tf-leg-layover {
        color: #223754;
    }

    .search-results-page .tf-leg-segment__timeline::before,
    .search-results-page .tf-leg-segment__timeline::after,
    .search-results-page .tf-leg-segment__timeline i {
        background: #f5a800;
    }

    .search-results-page .tf-leg-segment__flight {
        border-color: #cbd9eb;
        box-shadow: 0 8px 20px rgba(8, 35, 72, .06);
    }

    .search-results-page .tf-leg-layover {
        border: 1px solid #bddcf5;
        background: #eef8ff;
    }
}

/* Desktop result cards: keep the reference layout without forcing overflow. */
@media (min-width: 1181px) {
    .search-results-page .tf-results {
        padding: 28px 28px 34px;
    }

    .search-results-page .tf-results-layout {
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 18px;
    }

    .search-results-page .tf-results-list {
        gap: 20px;
    }

    .search-results-page .tf-result-card {
        grid-template-columns: minmax(0, 1fr) 268px;
        min-height: 0;
        border-radius: 18px;
    }

    .search-results-page .tf-result-card__price {
        width: 268px;
        min-width: 268px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .search-results-page .tf-result-card__legs {
        align-content: stretch;
        min-width: 0;
        padding: 22px 30px 18px;
    }

    .search-results-page .tf-result-leg {
        grid-template-columns: minmax(0, 1fr) 106px;
        gap: 24px;
        min-height: 104px;
        padding: 18px 0;
    }

    .search-results-page .tf-result-leg__main {
        min-width: 0;
    }

    .search-results-page .tf-result-leg:last-child {
        border-bottom: 0;
    }

    .search-results-page .tf-flight-times {
        grid-template-columns: minmax(138px, .29fr) minmax(230px, .42fr) minmax(138px, .29fr);
        gap: 20px;
    }

    .search-results-page .tf-flight-point {
        min-width: 0;
        overflow: visible;
    }

    .search-results-page .tf-flight-point strong {
        display: inline-flex;
        align-items: baseline;
        gap: 5px;
        max-width: 100%;
        font-size: 21px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }

    .search-results-page .tf-flight-point__time,
    .search-results-page .tf-flight-point__code {
        display: inline;
        font: inherit;
        line-height: inherit;
    }

    .search-results-page .tf-flight-point small {
        display: block;
        width: 100%;
        margin-top: 3px;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.18;
    }

    .search-results-page .tf-flight-point em {
        display: block;
        width: 100%;
        max-width: 188px;
        margin-top: 3px;
        color: #344f6c;
        font-size: 12px;
        font-weight: 760;
        line-height: 1.18;
        letter-spacing: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    .search-results-page .tf-flight-point--arrive em {
        max-width: 174px;
    }

    .search-results-page .tf-flight-line {
        width: 100%;
        min-width: 0;
        grid-template-rows: 22px 2px 19px;
        gap: 3px;
        justify-items: center;
    }

    .search-results-page .tf-flight-line b {
        font-size: 13px;
        font-weight: 850;
        line-height: 1;
    }

    .search-results-page .tf-flight-line small {
        font-size: 11px;
        font-weight: 760;
        line-height: 1;
    }

    .search-results-page .tf-flight-line i {
        width: 100%;
        height: 2px;
    }

    .search-results-page .tf-airline-logo {
        min-width: 106px;
        min-height: 52px;
        border-radius: 10px;
        padding: 8px 12px;
    }

    .search-results-page .tf-airline-logo img {
        max-width: 82px;
        max-height: 32px;
    }

    .search-results-page .tf-result-card__price {
        gap: 14px;
        padding: 36px 24px;
    }

    .search-results-page .tf-result-card__price strong {
        font-size: 34px;
        font-weight: 850;
        line-height: 1;
    }

    .search-results-page .tf-result-card__price small {
        max-width: 164px;
        font-size: 12px;
        font-weight: 760;
        line-height: 1.35;
        text-align: center;
    }

    .search-results-page .tf-result-card__select {
        min-width: 168px;
        min-height: 50px;
        padding: 13px 28px;
        font-size: 15px;
    }
}

/* Desktop transfer axis: keep only the total duration below the line. */
@media (min-width: 761px) {
    .search-results-page .tf-flight-line__stops,
    .search-results-page .tf-flight-line__stop,
    .search-results-page .tf-flight-line--transfer .tf-flight-line__stops {
        display: none !important;
    }

    .search-results-page .tf-flight-line > small {
        display: inline-flex !important;
        grid-row: 3;
        align-items: center;
        justify-content: center;
        justify-self: center;
        width: max-content;
        max-width: none;
        margin: 0 auto;
        color: #405674;
        font-size: 11px;
        font-weight: 760;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
    }

    .search-results-page .tf-flight-line__duration-prefix {
        display: inline !important;
    }

    .search-results-page .tf-airport-change-tip {
        flex: 0 0 18px;
        width: 18px;
        min-width: 18px;
        height: 18px;
        margin-left: 3px;
        border: 1px solid #ffffff;
        border-radius: 999px;
        background: #1687ff;
        box-shadow: 0 4px 10px rgba(22, 135, 255, .28);
        color: #ffffff;
        font-size: 12px;
        font-weight: 900;
        line-height: 16px;
        transform: translateY(-1px);
    }

    .search-results-page .tf-airport-change-tip__tooltip {
        z-index: 50;
        width: 300px;
        max-width: min(300px, calc(100vw - 48px));
        border: 1px solid #d5e1ef;
        border-radius: 12px;
        padding: 11px 13px;
        background: #ffffff;
        box-shadow: 0 16px 34px rgba(8, 35, 72, .18);
        color: #223754;
        font-size: 12px;
        font-weight: 650;
        line-height: 1.35;
        text-align: left;
        white-space: normal !important;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .search-results-page .tf-flight-point--depart .tf-airport-change-tip__tooltip {
        left: 0;
        right: auto;
        transform: translate(0, 6px);
    }

    .search-results-page .tf-flight-point--arrive .tf-airport-change-tip__tooltip {
        right: 0;
        left: auto;
        transform: translate(0, 6px);
    }

    .search-results-page .tf-flight-point--depart .tf-airport-change-tip:hover .tf-airport-change-tip__tooltip,
    .search-results-page .tf-flight-point--depart .tf-airport-change-tip:focus-visible .tf-airport-change-tip__tooltip,
    .search-results-page .tf-flight-point--arrive .tf-airport-change-tip:hover .tf-airport-change-tip__tooltip,
    .search-results-page .tf-flight-point--arrive .tf-airport-change-tip:focus-visible .tf-airport-change-tip__tooltip {
        transform: translate(0, 0);
    }

    .search-results-page .tf-airport-change-tip__tooltip b {
        color: #f97316;
        font-weight: 850;
    }

    .search-results-page .tf-airline-logo,
    .search-results-page .tf-result-leg > .tf-airline-logo {
        min-width: 106px;
        min-height: 40px;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }
}

/* Shared booking flow trip summary: match the refined result-card layout. */
@media (min-width: 761px) {
    .uapi-flight-summary.tf-result-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        overflow: hidden;
        border: 1px solid #c5d5ea;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 16px 38px rgba(8, 35, 72, .12);
    }

    .uapi-flight-summary .uapi-flight-summary__head {
        border-bottom: 1px solid #d7e3f2;
        background: #ffffff;
    }

    .uapi-flight-summary .uapi-flight-summary__head h2,
    .uapi-flight-summary .uapi-flight-summary__head h1 {
        color: #061f44;
        font-weight: 850;
    }

    .uapi-flight-summary .tf-result-card__legs {
        align-content: stretch;
        min-width: 0;
        gap: 0;
        padding: 22px 30px 18px;
    }

    .uapi-flight-summary .tf-result-leg {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 106px;
        gap: 24px;
        min-height: 104px;
        overflow: visible;
        border: 0;
        border-bottom: 1px solid #d7e3f2;
        border-radius: 0;
        padding: 18px 0;
        background: transparent;
        box-shadow: none;
    }

    .uapi-flight-summary .tf-result-leg + .tf-result-leg {
        margin-top: 0;
    }

    .uapi-flight-summary .tf-result-leg:last-child,
    .uapi-flight-summary .tf-result-leg:last-of-type {
        border-bottom: 0;
    }

    .uapi-flight-summary .tf-result-leg__main {
        min-width: 0;
    }

    .uapi-flight-summary .tf-result-leg__mobile-head,
    .uapi-flight-summary .tf-result-leg__mobile-meta {
        display: none !important;
    }

    .uapi-flight-summary .tf-flight-times {
        display: grid;
        grid-template-columns: minmax(138px, .29fr) minmax(230px, .42fr) minmax(138px, .29fr);
        align-items: center;
        gap: 20px;
        min-width: 0;
    }

    .uapi-flight-summary .tf-flight-point {
        min-width: 0;
        overflow: visible;
    }

    .uapi-flight-summary .tf-flight-point--arrive {
        justify-items: end;
        text-align: right;
    }

    .uapi-flight-summary .tf-flight-point strong {
        display: inline-flex;
        align-items: baseline;
        gap: 5px;
        max-width: 100%;
        margin: 0;
        color: #061f44;
        font-size: 21px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-flight-point--arrive strong {
        justify-content: flex-end;
    }

    .uapi-flight-summary .tf-flight-point__time,
    .uapi-flight-summary .tf-flight-point__code {
        display: inline;
        color: inherit;
        font: inherit;
        line-height: inherit;
    }

    .uapi-flight-summary .tf-flight-point small {
        display: block;
        width: 100%;
        margin-top: 3px;
        color: #405674;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.18;
    }

    .uapi-flight-summary .tf-flight-point em {
        display: block;
        width: 100%;
        max-width: 188px;
        margin-top: 3px;
        color: #344f6c;
        font-size: 12px;
        font-style: normal;
        font-weight: 760;
        line-height: 1.18;
        letter-spacing: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    .uapi-flight-summary .tf-flight-point--arrive em {
        max-width: 174px;
        margin-left: auto;
    }

    .uapi-flight-summary .tf-flight-line {
        display: grid;
        grid-template-rows: 22px 2px 19px;
        justify-items: center;
        align-self: center;
        gap: 3px;
        width: 100%;
        min-width: 0;
        color: #061f44;
    }

    .uapi-flight-summary .tf-flight-line b {
        display: inline-flex;
        grid-row: 1;
        align-items: center;
        justify-content: center;
        gap: 6px;
        color: #061f44;
        font-size: 13px;
        font-weight: 850;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-flight-line i {
        grid-row: 2;
        width: 100%;
        height: 2px;
        background: #f5a800;
        opacity: 1;
    }

    .uapi-flight-summary .tf-flight-line > small {
        display: inline-flex !important;
        grid-row: 3;
        align-items: center;
        justify-content: center;
        justify-self: center;
        width: max-content;
        max-width: none;
        margin: 0 auto;
        color: #405674;
        font-size: 11px;
        font-weight: 760;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-flight-line__duration-prefix {
        display: inline !important;
    }

    .uapi-flight-summary .tf-flight-line__stops,
    .uapi-flight-summary .tf-flight-line__stop,
    .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stops {
        display: none !important;
    }

    .uapi-flight-summary .tf-leg-details-toggle::before {
        border-color: #0b4f9c;
    }

    .uapi-flight-summary .tf-result-leg > .tf-airline-logo {
        justify-self: end;
        align-self: center;
        min-width: 106px;
        min-height: 40px;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .uapi-flight-summary .tf-result-leg > .tf-airline-logo img {
        max-width: 82px;
        max-height: 32px;
    }

    .uapi-flight-summary .tf-airport-change-tip {
        flex: 0 0 18px;
        width: 18px;
        min-width: 18px;
        height: 18px;
        margin-left: 3px;
        border: 1px solid #ffffff;
        border-radius: 999px;
        background: #1687ff;
        box-shadow: 0 4px 10px rgba(22, 135, 255, .28);
        color: #ffffff;
        font-size: 12px;
        font-weight: 900;
        line-height: 16px;
        transform: translateY(-1px);
    }

    .uapi-flight-summary .tf-airport-change-tip__tooltip {
        z-index: 50;
        width: 300px;
        max-width: min(300px, calc(100vw - 48px));
        border: 1px solid #d5e1ef;
        border-radius: 12px;
        padding: 11px 13px;
        background: #ffffff;
        box-shadow: 0 16px 34px rgba(8, 35, 72, .18);
        color: #223754;
        font-size: 12px;
        font-weight: 650;
        line-height: 1.35;
        text-align: left;
        white-space: normal !important;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

@media (max-width: 760px) {
    .uapi-flight-summary.tf-result-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: hidden;
        border: 1px solid #dfe9f6;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 14px 30px rgba(8, 35, 72, .08);
    }

    .uapi-flight-summary .uapi-flight-summary__head {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        padding: 18px 20px;
        border-bottom: 1px solid #e7edf6;
        background: #ffffff;
    }

    .uapi-flight-summary .uapi-flight-summary__head h1,
    .uapi-flight-summary .uapi-flight-summary__head h2 {
        color: #071741;
        font-size: 20px;
        line-height: 1.15;
    }

    .uapi-flight-summary .uapi-flight-summary__head p,
    .uapi-flight-summary .uapi-flight-summary__head span {
        font-size: 12px;
        line-height: 1.35;
    }

    .uapi-flight-summary .uapi-flight-summary__head b {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
        margin-top: 2px;
    }

    .uapi-flight-summary .tf-result-card__legs {
        gap: 0;
        padding: 14px 14px 0;
    }

    .uapi-flight-summary .tf-result-leg {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        overflow: visible;
        border: 0;
        border-bottom: 1px solid #e7edf6;
        border-radius: 0;
        padding: 0 0 14px;
        background: transparent;
        box-shadow: none;
    }

    .uapi-flight-summary .tf-result-leg + .tf-result-leg {
        margin-top: 14px;
    }

    .uapi-flight-summary.tf-result-card--multi-leg .tf-result-leg:last-child,
    .uapi-flight-summary .tf-result-leg:last-of-type {
        border-bottom: 0;
    }

    .uapi-flight-summary .tf-result-leg__main {
        display: grid;
        gap: 12px;
        min-width: 0;
    }

    .uapi-flight-summary .tf-result-leg__mobile-head {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 30px;
        padding-right: 86px;
    }

    .uapi-flight-summary .tf-result-leg__direction,
    .uapi-flight-summary .tf-result-leg__status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 28px;
        border-radius: 10px;
        padding: 0 11px;
        color: #0a2250;
        background: #f3f6fb;
        font-size: 12px;
        font-weight: 950;
        line-height: 1;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-result-leg__direction {
        min-height: 32px;
        border: 1px solid #dce8f9;
        border-radius: 12px;
        padding: 0 14px;
        color: #071741;
        background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
        font-size: 13px;
        box-shadow: 0 7px 16px rgba(8, 35, 72, .08);
    }

    .uapi-flight-summary .tf-result-leg__status--direct {
        color: #0a2d18;
        background: #dcf4e3;
    }

    .uapi-flight-summary .tf-result-leg__status--direct i {
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: #47c84f;
    }

    .uapi-flight-summary .tf-result-leg__status--transfer {
        color: #0d4e9d;
        background: #edf3ff;
    }

    .uapi-flight-summary.tf-result-card--single-leg .tf-result-leg__direction {
        display: none;
    }

    .uapi-flight-summary.tf-result-card--multi-leg .tf-result-leg__status {
        display: none;
    }

    .uapi-flight-summary .tf-result-leg > .tf-airline-logo {
        position: absolute;
        top: 2px;
        right: 0;
        justify-self: auto;
        min-width: 78px;
        min-height: 26px;
        border: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .uapi-flight-summary .tf-result-leg > .tf-airline-logo img {
        max-width: 78px;
        max-height: 26px;
    }

    .uapi-flight-summary .tf-flight-times {
        display: grid;
        grid-template-columns: minmax(66px, .3fr) minmax(96px, .4fr) minmax(66px, .3fr);
        align-items: center;
        gap: 8px;
    }

    .uapi-flight-summary .tf-flight-point {
        gap: 4px;
        min-width: 0;
    }

    .uapi-flight-summary .tf-flight-point--arrive {
        width: 100%;
        justify-self: stretch;
        justify-items: end;
        text-align: right;
    }

    .uapi-flight-summary .tf-flight-point--arrive strong,
    .uapi-flight-summary .tf-flight-point--arrive small,
    .uapi-flight-summary .tf-flight-point--arrive em {
        width: 100%;
        justify-self: end;
        margin-left: auto;
        margin-right: 0;
        text-align: right;
    }

    .uapi-flight-summary .tf-flight-point strong {
        display: grid;
        gap: 3px;
        min-width: 0;
        margin: 0;
        color: #071741;
        line-height: 1;
    }

    .uapi-flight-summary .tf-flight-point__time,
    .uapi-flight-summary .tf-flight-point__code {
        display: block;
        color: inherit;
        font: inherit;
        line-height: 1;
    }

    .uapi-flight-summary .tf-flight-point__time {
        font-size: 25px;
        font-weight: 950;
    }

    .uapi-flight-summary .tf-flight-point__code {
        font-size: 17px;
        font-weight: 950;
    }

    .uapi-flight-summary .tf-flight-point small {
        color: #5f6f8d;
        font-size: 10px;
        font-weight: 850;
        line-height: 1.15;
    }

    .uapi-flight-summary .tf-flight-point em {
        max-width: 82px;
        color: #64728c;
        font-size: 12px;
        font-style: normal;
        font-weight: 800;
        line-height: 1.25;
    }

    .uapi-flight-summary .tf-flight-point--arrive em {
        max-width: 96px;
        text-align: right;
        text-align-last: right;
    }

    .uapi-flight-summary .tf-flight-line {
        position: relative;
        display: grid;
        grid-template-rows: 34px;
        align-self: center;
        justify-items: center;
        gap: 4px;
        min-width: 0;
        color: #071741;
    }

    .uapi-flight-summary .tf-flight-line b,
    .uapi-flight-summary .tf-flight-line > small {
        display: none !important;
    }

    .uapi-flight-summary .tf-flight-line i {
        align-self: center;
        width: 100%;
        height: 1px;
        background: #cfd8e8;
    }

    .uapi-flight-summary .tf-flight-line i::before,
    .uapi-flight-summary .tf-flight-line i::after {
        content: "";
        position: absolute;
        top: 17px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #071741;
        transform: translateY(-50%);
    }

    .uapi-flight-summary .tf-flight-line i::before {
        left: 0;
    }

    .uapi-flight-summary .tf-flight-line i::after {
        right: 0;
    }

    .uapi-flight-summary .tf-flight-line--direct i {
        width: 86%;
    }

    .uapi-flight-summary .tf-flight-line--direct i::before,
    .uapi-flight-summary .tf-flight-line--direct i::after {
        display: none;
    }

    .uapi-flight-summary .tf-flight-line::before {
        content: "\2708";
        position: absolute;
        top: 7px;
        left: 50%;
        z-index: 1;
        color: #071741;
        font-size: 19px;
        line-height: 1;
        transform: translateX(-50%);
    }

    .uapi-flight-summary .tf-flight-line--transfer::after {
        content: "";
        position: absolute;
        top: 17px;
        left: 50%;
        z-index: 1;
        width: 12px;
        height: 12px;
        border: 2px solid #ffb51e;
        border-radius: 999px;
        background: #ffffff;
        transform: translate(-50%, -50%);
    }

    .uapi-flight-summary .tf-flight-line--stops-2::after {
        left: 35%;
        box-shadow: 54px 0 0 -2px #ffffff, 54px 0 0 0 #ffb51e;
    }

    .uapi-flight-summary .tf-result-leg__mobile-meta {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 42px;
        border-top: 1px solid #e7edf6;
        padding-top: 10px;
    }

    .uapi-flight-summary .tf-result-leg__duration {
        color: #405674;
        font-size: 13px;
        font-weight: 850;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-result-leg__duration::before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-right: 6px;
        border: 2px solid #071741;
        border-radius: 999px;
        vertical-align: -3px;
    }

    .uapi-flight-summary .tf-result-leg__stop-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        border-radius: 10px;
        padding: 0 12px;
        color: #0050a6;
        background: #f3f6fb;
        font-size: 13px;
        font-weight: 900;
        white-space: nowrap;
    }

    .uapi-flight-summary .tf-leg-details-toggle--mobile {
        display: inline-grid;
        place-items: center;
        width: 34px;
        height: 34px;
        margin-left: auto;
        border: 0;
        border-radius: 999px;
        background: #f3f6fb;
    }

    .uapi-flight-summary .tf-leg-details-toggle--mobile::before {
        border-color: #0d4e9d;
    }
}

/* Passenger addons: keep switch controls and selected baggage text from colliding. */
.uapi-passengers-page .uapi-baggage-selected-summary {
    min-width: 0;
    overflow-wrap: anywhere;
}

.uapi-passengers-page .uapi-baggage-selected-summary .uapi-baggage-selected-summary__items {
    display: grid;
    gap: 4px;
    min-width: 0;
    width: 100%;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-transform: none;
}

.uapi-passengers-page .uapi-baggage-selected-summary strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option,
.uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice,
.uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px 16px;
}

.uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle,
.uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle,
.uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle {
    grid-column: 1;
    grid-row: 1 / span 2;
    justify-self: start;
    align-self: center;
    box-sizing: border-box;
    width: 62px;
    min-width: 62px;
    height: 34px;
}

.uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle),
.uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > span:not(.uapi-payment-invoice-toggle),
.uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle) {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    gap: 3px;
    min-width: 0;
}

.uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > b,
.uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > b,
.uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > b {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
}

.uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input,
.uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle input,
.uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
}

.uapi-passengers-page .uapi-flight-summary .tf-flight-point--arrive {
    display: grid;
    justify-content: end;
    justify-items: end;
    width: 100%;
    margin-left: auto;
    text-align: right;
}

.uapi-passengers-page .uapi-flight-summary .tf-flight-point--arrive strong,
.uapi-passengers-page .uapi-flight-summary .tf-flight-point--arrive small,
.uapi-passengers-page .uapi-flight-summary .tf-flight-point--arrive em {
    justify-self: end;
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

.uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive {
    display: grid;
    justify-content: end;
    justify-items: end;
    justify-self: stretch;
    width: 100%;
    margin-left: auto;
    text-align: right;
}

.uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive strong,
.uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive small,
.uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive em {
    justify-self: end;
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

.uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive em {
    text-align-last: right;
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option {
        grid-template-columns: minmax(0, 1fr) 62px;
        gap: 5px 12px;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > .uapi-payment-invoice-toggle,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle {
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-self: end;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle),
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > span:not(.uapi-payment-invoice-toggle),
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle) {
        grid-column: 1;
        grid-row: 1;
    }

    .uapi-passengers-page .uapi-priority-addon__content .uapi-payment-cancel-insurance__option > b,
    .uapi-passengers-page [data-uapi-baggage-protection-addon] .uapi-protection-addon__choice > b,
    .uapi-passengers-page .uapi-checkin-addon__content .uapi-payment-cancel-insurance__option > b {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }
}

/* Payment cancellation insurance: use the same switch control as the VAT invoice row. */
.uapi-payment-cancel-insurance__option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 62px;
    align-items: center;
    gap: 8px 16px;
}

.uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
    box-sizing: border-box;
    width: 62px;
    min-width: 62px;
    height: 34px;
}

.uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle) {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: grid;
    gap: 3px;
    min-width: 0;
}

.uapi-payment-cancel-insurance__option > b {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
}

.uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
}

.uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::before,
.uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle input[type="checkbox"]::after {
    content: none !important;
    display: none;
}

@media (max-width: 760px) {
    .uapi-payment-cancel-insurance__option {
        grid-template-columns: minmax(0, 1fr) 62px;
        align-items: center;
        gap: 5px 12px;
    }

    .uapi-payment-cancel-insurance__option > .uapi-payment-invoice-toggle {
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-self: end;
    }

    .uapi-payment-cancel-insurance__option > span:not(.uapi-payment-invoice-toggle) {
        grid-column: 1;
        grid-row: 1;
    }

    .uapi-payment-cancel-insurance__option > b {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }
}

/* Booking flow flight cards: stop-count labels should stay lighter than route/time data. */
.tf-flight-line > b,
.tf-result-leg__status--direct,
.tf-result-leg__stop-pill,
.uapi-flight-summary .tf-flight-line > b,
.uapi-flight-summary .tf-result-leg__stop-pill,
.uapi-confirmation-flight-summary .tf-flight-line > b,
.uapi-confirmation-flight-summary .tf-result-leg__stop-pill,
.auth-booking-flight-details .tf-flight-line > b,
.auth-booking-flight-details .tf-result-leg__stop-pill {
    font-weight: 500 !important;
}

/* Passenger baggage extras: never let mobile display rules override hidden priority upsells. */
.uapi-priority-addon[hidden],
.uapi-passengers-page .uapi-priority-addon[hidden] {
    display: none !important;
}

/* Passenger mobile Travel Protect actions: keep every CTA paired with its own caption. */
.uapi-protection-addon__action-group {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.uapi-protection-addon__action-group .uapi-protection-addon__button {
    width: 100%;
}

.uapi-protection-addon__caption {
    color: #6f7f92;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
}

@media (max-width: 640px) {
    .uapi-passengers-page .uapi-protection-addon__actions {
        grid-template-columns: 1fr !important;
        gap: 14px;
        padding: 18px 18px 22px;
    }

    .uapi-passengers-page .uapi-protection-addon__action-group {
        gap: 8px;
    }

    .uapi-passengers-page .uapi-protection-addon__action-group--skip {
        order: 1;
    }

    .uapi-passengers-page .uapi-protection-addon__action-group--take {
        order: 2;
    }

    .uapi-passengers-page .uapi-protection-addon__button {
        min-height: 58px;
        border-radius: 14px;
        padding: 0 18px;
        font-size: 17px;
        line-height: 1.15;
        white-space: nowrap;
    }

    .uapi-passengers-page .uapi-protection-addon__caption {
        display: block;
        padding: 0 4px;
        color: #66768f;
        font-size: 13px;
        font-weight: 850;
        line-height: 1.25;
        text-align: center;
    }

    .uapi-passengers-page .uapi-passengers-payment-fallback {
        margin-top: 18px;
        padding: 0 0 8px;
    }

    .uapi-passengers-page .uapi-passengers-payment-fallback__button {
        width: 100%;
        min-height: 58px;
        border-radius: 16px;
        font-size: 18px;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-times {
        grid-template-columns: minmax(70px, .29fr) minmax(126px, .42fr) minmax(70px, .29fr);
        gap: 7px;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer {
        --tf-transfer-axis: 17px;
        --tf-transfer-stop-axis: 22px;
        --tf-transfer-plane-left: 25%;
        --tf-transfer-plane-right: 75%;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--stops-2 {
        --tf-transfer-plane-left: 20%;
        --tf-transfer-plane-middle: 50%;
        --tf-transfer-plane-right: 80%;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer::before {
        top: var(--tf-transfer-axis);
        left: var(--tf-transfer-plane-left);
        z-index: 1;
        font-size: 13px;
        transform: translate(-50%, -50%);
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer::after {
        display: none;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stops {
        z-index: 3;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stops::after {
        top: var(--tf-transfer-stop-axis);
        left: var(--tf-transfer-plane-right);
        z-index: 1;
        font-size: 13px;
        transform: translate(-50%, -50%);
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stops::before {
        top: var(--tf-transfer-stop-axis);
        left: var(--tf-transfer-plane-middle);
        z-index: 1;
        font-size: 13px;
        transform: translate(-50%, -50%);
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stop {
        z-index: 4;
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stop::before {
        top: var(--tf-transfer-stop-axis);
    }

    .uapi-passengers-page .uapi-flight-summary .tf-flight-line--transfer .tf-flight-line__stop strong {
        position: relative;
        z-index: 5;
        padding: 0 2px;
        background: #ffffff;
    }
}

/* Passenger mobile seat addon: keep the preview card contained and readable. */
@media (max-width: 640px) {
    .uapi-passengers-page .uapi-seat-addon,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-seat-addon__head {
        align-items: center;
        gap: 12px;
        padding: 15px 18px;
    }

    .uapi-passengers-page .uapi-seat-addon__head span {
        flex: 0 0 42px;
    }

    .uapi-passengers-page .uapi-seat-addon__head h3 {
        min-width: 0;
        font-size: 20px;
        line-height: 1.14;
    }

    .uapi-passengers-page .uapi-seat-addon__body,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__body {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px;
        align-items: start;
        padding: 18px !important;
        overflow: hidden;
    }

    .uapi-passengers-page .uapi-seat-addon__body > img,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__body > img {
        justify-self: center;
        width: min(100%, 280px) !important;
        max-width: 280px !important;
        max-height: 190px !important;
        object-fit: contain;
    }

    .uapi-passengers-page .uapi-seat-addon__content {
        display: grid;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: visible;
    }

    .uapi-passengers-page .uapi-seat-addon__content ul {
        display: grid;
        gap: 8px;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .uapi-passengers-page .uapi-seat-addon__content li {
        min-width: 0;
        padding-left: 28px;
        color: #18395f;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.28;
        overflow-wrap: anywhere;
    }

    .uapi-passengers-page .uapi-seat-addon__content li::before {
        top: 0;
        width: 20px;
        height: 20px;
        line-height: 20px;
    }

    .uapi-passengers-page .uapi-seat-addon__table {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        border-top: 1px solid #dce8f7;
        padding: 10px 0 4px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .uapi-passengers-page .uapi-seat-addon__table-head,
    .uapi-passengers-page .uapi-seat-addon__row,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__table-head,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__row {
        display: grid;
        grid-template-columns: minmax(84px, 92px) repeat(var(--uapi-seat-leg-count, 2), minmax(68px, 76px)) !important;
        gap: 8px;
        width: max-content;
        min-width: 100%;
        padding: 6px 0;
        align-items: center;
    }

    .uapi-passengers-page .uapi-seat-addon__table-head span,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__table-head span {
        color: #5d708c;
        font-size: 12px;
        font-weight: 850;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-seat-addon__row span {
        color: #071741;
        font-size: 13px;
        font-weight: 950;
        line-height: 1.15;
    }

    .uapi-passengers-page .uapi-seat-addon__row strong,
    .uapi-passengers-page .uapi-seat-addon.has-many-seat-legs .uapi-seat-addon__row strong {
        justify-self: stretch;
        justify-content: center;
        max-width: none;
        border-radius: 10px;
        padding: 8px 6px;
        font-size: 12px;
        line-height: 1.1;
        white-space: normal;
        text-align: center;
    }

    .uapi-passengers-page .uapi-seat-addon__actions {
        display: grid;
        justify-self: stretch;
        gap: 10px;
        width: 100%;
    }

    .uapi-passengers-page .uapi-seat-addon__total {
        justify-content: center;
        white-space: normal;
    }

    .uapi-passengers-page .uapi-seat-addon__button {
        width: 100%;
        min-height: 50px;
        border-radius: 14px;
        font-size: 16px;
    }
}

/* Payment mobile: readable contact fields, payment methods and summary order. */
@media (max-width: 640px) {
    .uapi-payment-page .uapi-payment-form-card {
        width: 100%;
        max-width: 100%;
        border-radius: 18px;
        padding: 20px 18px;
    }

    .uapi-payment-page .uapi-payment-form-card h2 {
        margin-bottom: 16px;
        font-size: 22px;
        line-height: 1.15;
    }

    .uapi-payment-page .uapi-payment-company-fields,
    .uapi-payment-page .uapi-payment-contact-fields {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 13px 12px;
        border-radius: 16px;
        padding: 14px;
    }

    .uapi-payment-page .uapi-payment-company-fields label,
    .uapi-payment-page .uapi-payment-company-field--wide,
    .uapi-payment-page .uapi-payment-contact-fields label:not(.uapi-payment-phone-prefix-field):not(.uapi-payment-phone-number-field) {
        grid-column: 1 / -1 !important;
    }

    .uapi-payment-page .uapi-payment-contact-fields .uapi-payment-phone-prefix-field {
        grid-column: 1 !important;
    }

    .uapi-payment-page .uapi-payment-contact-fields .uapi-payment-phone-number-field {
        grid-column: 2 !important;
    }

    .uapi-payment-page .uapi-payment-company-fields label,
    .uapi-payment-page .uapi-payment-contact-fields label {
        gap: 8px;
        font-size: 14px;
        line-height: 1.2;
    }

    .uapi-payment-page .uapi-payment-company-fields input,
    .uapi-payment-page .uapi-payment-company-fields select,
    .uapi-payment-page .uapi-payment-contact-fields input,
    .uapi-payment-page .uapi-payment-contact-fields select {
        min-height: 52px;
        border-radius: 12px;
        padding: 12px 13px;
        font-size: 16px;
    }

    .uapi-payment-page .uapi-payment-method-grid {
        gap: 12px;
    }

    .uapi-payment-page .uapi-payment-method-option {
        align-items: center !important;
        grid-template-columns: 28px 46px minmax(0, 1fr) !important;
        gap: 10px;
        min-height: 0;
        border-radius: 14px;
        padding: 14px;
    }

    .uapi-payment-page .uapi-payment-method-option input {
        width: 26px;
        height: 26px;
    }

    .uapi-payment-page .uapi-payment-method-option__icon {
        width: 46px;
        height: 46px;
        border-radius: 10px;
    }

    .uapi-payment-page .uapi-payment-method-option__icon svg {
        width: 24px;
        height: 24px;
    }

    .uapi-payment-page .uapi-payment-method-option__copy {
        gap: 3px;
    }

    .uapi-payment-page .uapi-payment-method-option strong {
        font-size: 17px;
        line-height: 1.14;
    }

    .uapi-payment-page .uapi-payment-method-option small {
        font-size: 14px;
        line-height: 1.22;
    }

    .uapi-payment-page .uapi-payment-method-side-icon {
        display: none;
    }

    .uapi-payment-page .uapi-payment-method-badges {
        grid-column: 3 !important;
        justify-content: flex-start;
        justify-self: start;
        margin-top: 4px;
    }

    .uapi-payment-page .uapi-payment-card-logos {
        width: 128px;
        max-width: 100%;
        height: 30px;
        border-radius: 8px;
        padding: 2px 6px;
    }

    .uapi-payment-page .uapi-price-summary[data-uapi-payment-summary] {
        width: 100%;
        max-width: 100%;
        margin: 18px 0;
    }

    .uapi-payment-page .uapi-payment-consent {
        margin-top: 0;
    }
}

@media (max-width: 380px) {
    .uapi-payment-page .uapi-payment-company-fields,
    .uapi-payment-page .uapi-payment-contact-fields {
        grid-template-columns: 1fr !important;
    }

    .uapi-payment-page .uapi-payment-contact-fields .uapi-payment-phone-prefix-field,
    .uapi-payment-page .uapi-payment-contact-fields .uapi-payment-phone-number-field {
        grid-column: 1 / -1 !important;
    }
}

/* Confirmation page: mobile-only layout repair. Keep desktop booking views unchanged. */
@media (max-width: 640px) {
    .uapi-confirmation-page {
        padding: 18px 0 42px;
    }

    .uapi-confirmation-page .uapi-confirmation-layout {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 22px;
        width: 100%;
        max-width: 100%;
    }

    .uapi-confirmation-page .uapi-confirmation-hero {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-areas:
            "icon copy"
            "stats stats";
        align-items: start;
        gap: 18px 16px;
        min-height: 0;
        overflow: hidden;
        border-radius: 18px;
        padding: 22px 20px;
        background: #ffffff !important;
    }

    .uapi-confirmation-page .uapi-confirmation-hero::before {
        content: none !important;
        display: none !important;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__icon {
        grid-area: icon;
        width: 64px;
        height: 64px;
        font-size: 30px;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__copy {
        grid-area: copy;
        gap: 7px;
        min-width: 0;
        padding-top: 2px;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__copy p {
        font-size: 12px;
        line-height: 1.2;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__copy h1 {
        font-size: 30px;
        line-height: 1.08;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__copy > span {
        font-size: 16px;
        line-height: 1.35;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__stats,
    .uapi-confirmation-page .uapi-confirmation-hero__stats.has-pay-action {
        grid-area: stats;
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 10px;
        width: 100%;
        max-width: none;
        margin: 0;
        padding-top: 16px;
        border-top: 1px solid #dfe9f6;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__stats div,
    .uapi-confirmation-page .uapi-confirmation-hero__stats.has-pay-action div {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 4px 12px;
        min-width: 0;
        border-radius: 14px;
        padding: 12px;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__stat-icon,
    .uapi-confirmation-page .uapi-confirmation-hero__stat-icon img {
        width: 52px;
        height: 52px;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__stats span:not(.uapi-confirmation-hero__stat-icon) {
        min-width: 0;
        font-size: 13px;
        line-height: 1.2;
        white-space: normal;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__stats strong {
        min-width: 0;
        font-size: 17px;
        line-height: 1.18;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__status.is-unpaid strong {
        color: #c42323;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__status.is-paid strong {
        color: #15834b;
    }

    .uapi-confirmation-page .uapi-confirmation-hero__pay {
        grid-column: 1 / -1;
        width: 100%;
        margin: 2px 0 0;
        justify-content: stretch;
    }

    .uapi-confirmation-page .uapi-confirmation-pay-form--hero,
    .uapi-confirmation-page .uapi-confirmation-pay-form--hero button {
        width: 100%;
    }

    .uapi-confirmation-page .uapi-confirmation-pay-form--hero button {
        min-height: 56px;
        border-radius: 14px;
        font-size: 18px;
    }

    .uapi-confirmation-page .uapi-confirmation-main,
    .uapi-confirmation-page .uapi-confirmation-sidebar {
        display: grid;
        gap: 18px;
        width: 100%;
        min-width: 0;
    }

    .uapi-confirmation-page .uapi-confirmation-sidebar {
        position: static;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary,
    .uapi-confirmation-page .uapi-confirmation-flight-summary.tf-result-card {
        gap: 0;
        width: 100%;
        border-radius: 18px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: center;
        gap: 6px 12px;
        padding: 18px 20px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head::before {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 58px;
        height: 48px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head > span,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head b {
        display: none;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head h2 {
        grid-column: 2;
        margin: 0;
        font-size: 25px;
        line-height: 1.1;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .uapi-flight-summary__head p {
        grid-column: 2;
        margin: 0;
        font-size: 15px;
        line-height: 1.35;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-card__legs {
        border-radius: 0 0 18px 18px;
        padding: 16px 18px 8px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg {
        gap: 12px;
        padding-bottom: 14px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__mobile-head {
        padding-right: 78px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo {
        top: 2px;
        right: 0;
        width: 72px;
        min-width: 72px;
        min-height: 24px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg > .tf-airline-logo img {
        max-width: 72px;
        max-height: 24px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-times {
        grid-template-columns: minmax(72px, .31fr) minmax(110px, .38fr) minmax(72px, .31fr);
        gap: 8px;
        align-items: center;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point strong {
        gap: 2px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point__time {
        font-size: 25px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point__code {
        font-size: 17px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point small {
        font-size: 10px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point em {
        max-width: 86px;
        font-size: 12px;
        line-height: 1.22;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive {
        justify-items: end;
        text-align: right;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-point--arrive em {
        max-width: 100px;
        margin-left: auto;
        text-align: right;
        text-align-last: right;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line {
        min-width: 0;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line::before {
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line i::before,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line i::after,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer::after {
        top: 50%;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__mobile-meta {
        display: grid;
        grid-template-columns: auto auto 38px;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__duration,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__stop-pill {
        font-size: 13px;
        line-height: 1;
    }

    .uapi-confirmation-page .uapi-confirmation-card {
        border-radius: 18px;
        padding: 18px;
    }

    .uapi-confirmation-page .uapi-confirmation-documents-grid,
    .uapi-confirmation-page .uapi-confirmation-payment-row,
    .uapi-confirmation-page .uapi-confirmation-next-grid {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .uapi-confirmation-page .uapi-confirmation-documents-grid div,
    .uapi-confirmation-page .uapi-confirmation-payment-row div {
        border-right: 0;
        border-bottom: 1px solid #e1eaf6;
        padding-right: 0;
        padding-bottom: 14px;
    }

    .uapi-confirmation-page .uapi-confirmation-documents-grid div:last-child,
    .uapi-confirmation-page .uapi-confirmation-payment-row div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .uapi-confirmation-page .uapi-price-summary,
    .uapi-confirmation-page .uapi-confirmation-price-summary {
        width: 100%;
        max-width: 100%;
    }
}

/* Confirmation page: align the mobile flight axis with passenger/payment summaries. */
@media (max-width: 640px) {
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-times {
        grid-template-columns: minmax(70px, .29fr) minmax(126px, .42fr) minmax(70px, .29fr);
        gap: 7px;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer {
        --tf-transfer-axis: 17px;
        --tf-transfer-stop-axis: 22px;
        --tf-transfer-plane-left: 25%;
        --tf-transfer-plane-right: 75%;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 {
        --tf-transfer-plane-left: 20%;
        --tf-transfer-plane-middle: 50%;
        --tf-transfer-plane-right: 80%;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer::before {
        top: var(--tf-transfer-axis);
        left: var(--tf-transfer-plane-left);
        z-index: 1;
        font-size: 13px;
        transform: translate(-50%, -50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer::after {
        display: none;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer .tf-flight-line__stops {
        position: absolute;
        top: -5px;
        left: 0;
        right: 0;
        z-index: 3;
        display: block !important;
        height: 42px;
        color: #52627d;
        font-size: 11px;
        font-weight: 850;
        line-height: 1.05;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer .tf-flight-line__stops::after {
        content: "\2708";
        position: absolute;
        top: var(--tf-transfer-stop-axis);
        left: var(--tf-transfer-plane-right);
        z-index: 1;
        color: #071741;
        font-size: 13px;
        line-height: 1;
        transform: translate(-50%, -50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stops::before {
        content: "\2708";
        position: absolute;
        top: var(--tf-transfer-stop-axis);
        left: var(--tf-transfer-plane-middle);
        z-index: 1;
        color: #071741;
        font-size: 13px;
        line-height: 1;
        transform: translate(-50%, -50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stops::after {
        left: var(--tf-transfer-plane-right);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer i::before,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer i::after {
        display: none;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer .tf-flight-line__stop {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 4;
        display: grid;
        justify-items: center;
        gap: 17px;
        transform: translateX(-50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stop {
        gap: 0;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(1) {
        left: 35%;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stop:nth-child(2) {
        left: 65%;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--transfer .tf-flight-line__stop::before {
        content: "";
        position: absolute;
        top: var(--tf-transfer-stop-axis);
        left: 50%;
        z-index: 1;
        width: 12px;
        height: 12px;
        border: 2px solid #ffb51e;
        border-radius: 999px;
        background: #ffffff;
        transform: translate(-50%, -50%);
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line__stop strong {
        position: relative;
        z-index: 5;
        padding: 0 2px;
        color: #071741;
        background: #ffffff;
        font-size: 13px;
        font-weight: 950;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line__stop em,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line__stop small {
        display: block;
        color: #52627d;
        font-size: 11px;
        font-style: normal;
        font-weight: 850;
        text-align: center;
        white-space: nowrap;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line--stops-2 .tf-flight-line__stop em,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line__stop small,
    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-flight-line__duration-prefix {
        display: none;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__mobile-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        border-top: 1px solid #e7edf6;
        padding-top: 11px;
        color: #596a84;
        font-size: 12px;
        font-weight: 900;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__duration {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: inherit;
        white-space: nowrap;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__duration::before {
        content: "";
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin-right: 0;
        border: 1.8px solid #071741;
        border-radius: 999px;
        background:
            linear-gradient(#071741, #071741) center 4px / 2px 7px no-repeat,
            linear-gradient(#071741, #071741) 10px 9px / 6px 2px no-repeat;
        vertical-align: 0;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-result-leg__stop-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        border-radius: 9px;
        padding: 0 10px;
        color: #0d4e9d;
        background: #f3f6fb;
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-leg-details-toggle--mobile {
        position: relative;
        inset: auto;
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        margin-left: auto;
        border-radius: 999px;
        background: #f3f6fb;
    }

    .uapi-confirmation-page .uapi-confirmation-flight-summary .tf-leg-details-toggle--mobile::before {
        top: 9px;
        left: 10px;
        border-color: #0d4e9d;
    }
}
.uapi-confirmation-payment-notice {
    margin: 0 0 18px;
    padding: 15px 18px;
    border: 1px solid #b9d4f4;
    border-radius: 12px;
    background: #eef6ff;
    color: #123f78;
    font-weight: 700;
    line-height: 1.5;
}

.uapi-confirmation-payment-notice--success {
    border-color: #a9ddbd;
    background: #edf9f1;
    color: #17683a;
}

.uapi-confirmation-payment-notice--error {
    border-color: #efb3b3;
    background: #fff1f1;
    color: #9f2020;
}
