:root {
    --travelnet-font-sans: Arial, Helvetica, sans-serif;
    --green: #15930f;
    --green-dark: #0b6f10;
    --green-soft: #e9f8e7;
    --coral: #ff443f;
    --coral-dark: #df302d;
    --ink: #152033;
    --muted: #607086;
    --line: #dfe6ef;
    --panel: #ffffff;
    --page: #f5f8fb;
    --blue: #0879c9;
    --shadow: 0 18px 45px rgba(24, 45, 74, 0.12);
    --radius-card: 8px;
    --radius-control: 8px;
    --travelnet-site-max-width: 100%;
}

/* Cars Select2 enhancement. The dropdown is deliberately parented to each
   field card so the menu remains inside the Cars form and theme surface. */
body.page-cars .car-select2-parent {
    position: relative;
}

/* An open Cars menu must lift each ancestor that can otherwise be painted
   behind a later More options card. The classes are toggled by Select2 events
   so this remains reliable without depending on newer :has() support. */
body.page-cars .car-form-panel.is-select2-open {
    position: relative;
    z-index: 400;
}

body.page-cars .car-option-group.is-select2-open {
    position: relative;
    z-index: 410;
}

body.page-cars .car-select2-parent.is-select2-open {
    z-index: 420;
}

body.page-cars .car-select2-parent.is-select2-open > .select2-container--open:not(.select2) {
    z-index: 430;
}

body.page-cars .car-select2-parent > .select2-container,
body.page-cars .car-select2-parent .field-control > .select2-container {
    width: 100% !important;
    min-width: 0;
}

body.page-cars .car-primary-grid .field-control > .select2-container {
    flex: 1 1 auto;
    height: 28px;
}

body.page-cars .car-primary-grid .select2-container--default .select2-selection--single {
    height: 28px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-cars .car-primary-grid .select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 28px;
    padding: 6px 24px 0 0;
    overflow: hidden;
    color: #f2f7f4;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.page-cars .car-primary-grid .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0;
    right: 0;
    width: 18px;
    height: 28px;
}

body.page-cars .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #8ee68a transparent transparent;
}

body.page-cars .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #8ee68a;
}

body.page-cars .car-option-group .field-card > .select2-container {
    display: block;
    width: 100% !important;
}

body.page-cars .car-option-group .select2-container--default .select2-selection--single {
    height: 44px;
    border: 1px solid rgba(164, 221, 176, 0.18);
    border-radius: 8px;
    background: #13262e;
    box-shadow: none;
}

body.page-cars .car-option-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 42px;
    padding: 0 34px 0 14px;
    color: #f2f7f4;
    font-size: 13px;
    font-weight: 700;
    line-height: 42px;
}

body.page-cars .car-option-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 1px;
    right: 8px;
    width: 20px;
    height: 42px;
}

body.page-cars .car-select2-parent > .select2-container--open {
    z-index: 120;
}

body.page-cars .select2-container--default .select2-dropdown {
    overflow: hidden;
    border: 1px solid rgba(142, 230, 138, 0.32);
    border-radius: 10px;
    background: #10232b;
    color: #edf6ef;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.42);
}

body.page-cars .select2-container--default .select2-dropdown--below {
    margin-top: 4px;
}

body.page-cars .select2-container--default .select2-dropdown--above {
    margin-top: -4px;
}

body.page-cars .select2-container--default .select2-results > .select2-results__options {
    max-height: 220px;
}

body.page-cars .select2-container--default .select2-results__option {
    padding: 9px 12px;
    color: #dce9e1;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

body.page-cars .select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(8, 121, 201, 0.14);
    color: #67c5ff;
}

body.page-cars .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #0879c9;
    color: #ffffff;
}

body.page-cars .select2-container--default .select2-search--dropdown {
    padding: 8px;
}

body.page-cars .select2-container--default .select2-search--dropdown .select2-search__field {
    height: 38px;
    padding: 7px 10px;
    border: 1px solid rgba(142, 230, 138, 0.34);
    border-radius: 7px;
    outline: 0;
    background: #0a1b22;
    color: #f2f7f4;
    font: inherit;
}

body.page-cars .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #8ee68a;
    box-shadow: 0 0 0 3px rgba(21, 147, 15, 0.16);
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid .select2-container--default .select2-selection--single .select2-selection__rendered,
html:not(.travelnet-dark) body.page-cars .car-option-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #122239;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #0879c9 transparent transparent;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #0879c9;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .select2-container--default .select2-selection--single {
    border-color: rgba(8, 121, 201, 0.18);
    background: #ffffff;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-dropdown {
    border-color: rgba(8, 121, 201, 0.26);
    background: #ffffff;
    color: #13233a;
    box-shadow: 0 18px 38px rgba(13, 50, 92, 0.18);
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-results__option {
    color: #263b54;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(8, 121, 201, 0.14);
    color: #0879c9;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #0879c9;
    color: #ffffff;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: rgba(8, 121, 201, 0.24);
    background: #f7fbff;
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #0879c9;
    box-shadow: 0 0 0 3px rgba(8, 121, 201, 0.12);
}

/* My Profile personal photo upload and crop editor. */
.profile-photo-file-input {
    position: fixed;
    left: -10000px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.profile-passport-upload-note {
    max-width: 360px;
    padding: 9px 11px;
    border: 1px solid rgba(8, 121, 201, 0.16);
    border-radius: 10px;
    background: rgba(232, 245, 255, 0.72);
    color: #315b83 !important;
}

.profile-photo-upload-form {
    margin: 18px 0 0;
}

.profile-photo-selection[hidden],
.profile-photo-crop-dialog[hidden] {
    display: none !important;
}

.profile-photo-selection {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(139, 103, 209, 0.24);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(250, 247, 255, 0.98), rgba(239, 248, 255, 0.98));
    box-shadow: 0 14px 34px rgba(45, 57, 96, 0.08);
}

.profile-photo-selection-preview {
    position: relative;
    width: 82px;
    height: 82px;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #e9eef4;
    box-shadow: 0 8px 22px rgba(20, 48, 69, 0.17);
}

.profile-photo-selection-preview img,
.profile-photo-crop-stage img {
    position: absolute;
    display: block;
    max-width: none;
    user-select: none;
    -webkit-user-drag: none;
}

.profile-photo-selection > div:nth-child(2) {
    display: grid;
    gap: 4px;
}

.profile-photo-selection strong {
    color: #17324d;
    font-size: 14px;
}

.profile-photo-selection p {
    margin: 0;
    color: #617287;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.5;
}

.profile-photo-selection-actions,
.profile-photo-crop-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.profile-photo-selection-actions button,
.profile-photo-crop-actions button {
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid rgba(8, 121, 201, 0.24);
    border-radius: 11px;
    background: #fff;
    color: #086aa9;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.profile-photo-selection-actions button[type="submit"],
.profile-photo-crop-actions button[data-profile-crop-accept] {
    border-color: #8b67d1;
    background: linear-gradient(135deg, #9b79df, #7150ba);
    color: #fff;
    box-shadow: 0 10px 24px rgba(113, 80, 186, 0.22);
}

.profile-photo-selection-actions button:hover,
.profile-photo-selection-actions button:focus-visible,
.profile-photo-crop-actions button:hover,
.profile-photo-crop-actions button:focus-visible {
    border-color: #0879c9;
    box-shadow: 0 0 0 3px rgba(8, 121, 201, 0.13);
    outline: none;
}

.profile-photo-crop-dialog {
    position: fixed;
    z-index: 1220;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

.profile-photo-crop-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 27, 42, 0.72);
    backdrop-filter: blur(8px);
}

.profile-photo-crop-panel {
    position: relative;
    width: min(860px, 100%);
    max-height: calc(100vh - 40px);
    padding: clamp(20px, 3vw, 30px);
    overflow: auto;
    border: 1px solid rgba(151, 132, 218, 0.26);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(11, 29, 46, 0.38);
}

.profile-photo-crop-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 18px;
    align-items: start;
    margin-bottom: 20px;
}

.profile-photo-crop-heading h2 {
    margin: 5px 0 6px;
    color: #17324d;
    font-size: clamp(23px, 3vw, 31px);
    letter-spacing: -0.03em;
}

.profile-photo-crop-heading p:last-child {
    margin: 0;
    color: #617287;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
}

.profile-photo-crop-layout {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(250px, 0.8fr);
    gap: clamp(20px, 4vw, 38px);
    align-items: center;
}

.profile-photo-crop-stage {
    position: relative;
    width: min(360px, 100%);
    aspect-ratio: 1;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 22px;
    background:
        linear-gradient(45deg, #edf1f5 25%, transparent 25%),
        linear-gradient(-45deg, #edf1f5 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #edf1f5 75%),
        linear-gradient(-45deg, transparent 75%, #edf1f5 75%),
        #f8fafc;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    background-size: 16px 16px;
    box-shadow: inset 0 0 0 1px rgba(22, 58, 83, 0.1), 0 18px 38px rgba(20, 48, 69, 0.13);
    cursor: grab;
    touch-action: none;
}

.profile-photo-crop-stage:active {
    cursor: grabbing;
}

.profile-photo-crop-ring {
    position: absolute;
    z-index: 2;
    inset: 8%;
    border: 3px solid rgba(255, 255, 255, 0.96);
    border-radius: 50%;
    box-shadow: 0 0 0 999px rgba(11, 29, 46, 0.42), 0 0 0 1px rgba(11, 29, 46, 0.38), inset 0 0 0 1px rgba(11, 29, 46, 0.18);
    pointer-events: none;
}

.profile-photo-crop-help {
    margin: 12px auto 0;
    color: #617287;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.5;
    text-align: center;
}

.profile-photo-crop-controls {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(139, 103, 209, 0.18);
    border-radius: 18px;
    background: #faf8ff;
}

.profile-photo-crop-controls label {
    display: grid;
    grid-template-columns: minmax(88px, 0.8fr) minmax(120px, 1.8fr) 48px;
    gap: 10px;
    align-items: center;
    color: #425a72;
    font-size: 12px;
    font-weight: 850;
}

.profile-photo-crop-controls input[type="range"] {
    width: 100%;
    accent-color: #815fc9;
}

.profile-photo-crop-controls label strong {
    color: #704caf;
    font-size: 12px;
    text-align: right;
}

.profile-photo-crop-controls > p {
    margin: 2px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(139, 103, 209, 0.14);
    color: #617287;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.5;
}

.profile-photo-crop-actions {
    margin-top: 22px;
}

body.profile-photo-crop-is-open {
    overflow: hidden;
}

html.travelnet-dark .profile-passport-upload-note {
    border-color: rgba(104, 185, 238, 0.24);
    background: rgba(12, 40, 58, 0.76);
    color: #b9ddf5 !important;
}

html.travelnet-dark .profile-photo-selection,
html.travelnet-dark .profile-photo-crop-panel {
    border-color: rgba(185, 157, 244, 0.24);
    background: #102838;
}

html.travelnet-dark .profile-photo-selection strong,
html.travelnet-dark .profile-photo-crop-heading h2 {
    color: #f3f8fb;
}

html.travelnet-dark .profile-photo-selection p,
html.travelnet-dark .profile-photo-crop-heading p:last-child,
html.travelnet-dark .profile-photo-crop-help {
    color: #b5c8d4;
}

html.travelnet-dark .profile-photo-crop-controls {
    border-color: rgba(185, 157, 244, 0.2);
    background: #173446;
}

html.travelnet-dark .profile-photo-crop-controls label,
html.travelnet-dark .profile-photo-crop-controls > p {
    color: #c1d4df;
}

html.travelnet-dark .profile-photo-selection-actions button,
html.travelnet-dark .profile-photo-crop-actions button {
    border-color: rgba(126, 190, 229, 0.32);
    background: #18384a;
    color: #c5e7fb;
}

html.travelnet-dark .profile-photo-selection-actions button[type="submit"],
html.travelnet-dark .profile-photo-crop-actions button[data-profile-crop-accept] {
    border-color: #a990e5;
    background: linear-gradient(135deg, #9b79df, #7150ba);
    color: #fff;
}

@media (max-width: 760px) {
    .profile-photo-selection {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .profile-photo-selection-preview {
        width: 68px;
        height: 68px;
    }

    .profile-photo-selection-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .profile-photo-selection-actions button {
        flex: 1 1 145px;
    }

    .profile-photo-crop-dialog {
        align-items: end;
        padding: 10px;
    }

    .profile-photo-crop-panel {
        max-height: calc(100vh - 20px);
        padding: 18px;
        border-radius: 22px;
    }

    .profile-photo-crop-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .profile-photo-crop-stage {
        width: min(300px, 88vw);
    }

    .profile-photo-crop-actions {
        justify-content: stretch;
    }

    .profile-photo-crop-actions button {
        flex: 1 1 132px;
    }
}

.booking-processing-notice {
    border: 1px solid color-mix(in srgb, var(--color-primary, #176b87) 34%, transparent);
    border-radius: 14px;
    background: var(--color-surface, #fff);
    color: var(--color-text, #17232b);
    font-size: .88rem;
    padding: .9rem 2.7rem .9rem 1rem;
}

.booking-processing-notice p {
    margin: .3rem 0;
}

.booking-processing-notice small {
    color: var(--color-text-muted, #52636d);
    display: block;
}

.booking-processing-popup {
    box-shadow: 0 18px 50px rgba(14, 39, 58, .24);
    left: 50%;
    margin: 0;
    max-width: min(560px, calc(100vw - 28px));
    position: fixed;
    top: 18px;
    transform: translateX(-50%);
    width: max-content;
    z-index: 1400;
}

.booking-processing-popup-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: currentColor;
    cursor: pointer;
    display: flex;
    font-size: 1.45rem;
    height: 34px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: .45rem;
    top: .35rem;
    width: 34px;
}

.booking-processing-notice.is-unavailable {
    border-color: var(--color-warning, #a96200);
}

.travel-date-grid button:disabled {
    cursor: not-allowed;
    opacity: .35;
    text-decoration: line-through;
}


@media (max-width: 430px) {
    .profile-photo-crop-heading {
        gap: 10px;
    }

    .profile-photo-crop-stage {
        width: min(264px, 82vw);
    }

    .profile-photo-crop-controls {
        padding: 14px;
    }

    .profile-photo-crop-controls label {
        grid-template-columns: 78px minmax(90px, 1fr) 42px;
        gap: 7px;
    }
}

/* Signed-in welcome dashboard: the login form remains on the original auth layout. */
.has-signed-in-dashboard .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.auth-page.auth-page--signed-in {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(48px, 6vw, 84px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(59, 130, 246, 0.08), transparent 31%),
        linear-gradient(135deg, #f7fafc, #f2faf5 50%, #f8fbff 100%);
    box-sizing: border-box;
}

.auth-page.auth-page--signed-in::before {
    position: absolute;
    z-index: -1;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 142, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    content: "";
    filter: blur(5px);
    pointer-events: none;
}

.signed-in-dashboard {
    --signed-in-navy: #172b4d;
    --signed-in-muted: #64748b;
    --signed-in-green: #3bae5a;
    --signed-in-radius: 26px;
    --signed-in-card-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
    display: grid;
    gap: clamp(22px, 2vw, 30px);
    width: 100%;
    margin: 0 auto;
    color: var(--signed-in-navy);
}

.signed-in-dashboard *,
.signed-in-dashboard *::before,
.signed-in-dashboard *::after {
    box-sizing: border-box;
}

.signed-in-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 400px;
    border: 1px solid rgba(23, 43, 77, 0.08);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow:
        0 20px 60px rgba(15, 23, 42, 0.08),
        0 6px 22px rgba(15, 23, 42, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.signed-in-hero::before {
    position: absolute;
    inset: auto auto -145px -90px;
    width: 430px;
    height: 250px;
    border-radius: 50%;
    background: rgba(21, 147, 15, 0.045);
    content: "";
    pointer-events: none;
}

.signed-in-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: clamp(32px, 3.8vw, 54px) clamp(30px, 4vw, 60px);
}

.signed-in-eyebrow,
.signed-in-section-kicker {
    margin: 0;
    color: #21843c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.signed-in-eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 36px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(59, 174, 90, 0.11);
    box-shadow: inset 0 0 0 1px rgba(59, 174, 90, 0.12);
}

.signed-in-hero h1 {
    max-width: 680px;
    margin: 15px 0 11px;
    color: var(--signed-in-navy);
    font-size: clamp(44px, 4.7vw, 62px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

.signed-in-name-accent {
    color: var(--signed-in-green);
}

.signed-in-wave {
    display: inline-block;
    font-size: 0.75em;
    transform-origin: 70% 75%;
    animation: signed-in-wave 1.2s ease 0.55s 2;
}

.signed-in-hero-subtitle {
    margin: 0;
    color: var(--signed-in-muted);
    font-size: clamp(16px, 1.35vw, 18px);
    font-weight: 500;
    line-height: 1.7;
}

.signed-in-session-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.signed-in-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(21, 147, 15, 0.13);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.82);
    color: #0d7217;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.signed-in-status-pill .icon {
    width: 15px;
    height: 15px;
}

.signed-in-signout-form {
    margin-top: 13px;
}

.signed-in-signout-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--signed-in-muted);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: color 180ms ease, transform 180ms ease;
}

.signed-in-signout-button .icon {
    width: 15px;
    height: 15px;
}

.signed-in-signout-button:hover {
    color: var(--green-dark);
    transform: translateX(2px);
}

.signed-in-hero-art {
    position: relative;
    min-width: 0;
    min-height: 400px;
}

.signed-in-travel-illustration {
    position: absolute;
    right: 58px;
    bottom: -8px;
    width: min(460px, 86%);
    height: auto;
    animation: signed-in-float 6s ease-in-out infinite;
}

.signed-in-plane {
    transform-origin: center;
    animation: signed-in-plane-drift 7s ease-in-out infinite;
}

.signed-in-success-card {
    position: absolute;
    z-index: 2;
    top: 22px;
    right: clamp(20px, 2vw, 32px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    width: min(290px, 48%);
    padding: 18px;
    border: 1px solid rgba(23, 43, 77, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(18px);
    transform: none;
}

.signed-in-success-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    box-shadow: 0 8px 18px rgba(21, 147, 15, 0.2);
}

.signed-in-success-icon .icon {
    width: 20px;
    height: 20px;
}

.signed-in-success-card h2 {
    margin: 1px 0 6px;
    color: var(--signed-in-navy);
    font-size: 18px;
    line-height: 1.2;
}

.signed-in-success-card p {
    margin: 0;
    color: var(--signed-in-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.signed-in-section,
.signed-in-support-card {
    border: 1px solid rgba(23, 43, 77, 0.08);
    border-radius: var(--signed-in-radius);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: var(--signed-in-card-shadow);
    backdrop-filter: blur(18px);
}

.signed-in-section {
    padding: clamp(28px, 3vw, 42px);
}

.signed-in-quick-section {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.signed-in-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 20px;
}

.signed-in-section-heading--compact {
    margin-bottom: 17px;
}

.signed-in-section-heading h2,
.signed-in-support-card h2 {
    margin: 5px 0 0;
    color: var(--signed-in-navy);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.signed-in-section-heading > p {
    max-width: 370px;
    margin: 0;
    color: var(--signed-in-muted);
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.signed-in-quick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(14px, 1.6vw, 20px);
}

.signed-in-action-card,
.signed-in-account-card {
    position: relative;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.signed-in-action-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    min-height: 142px;
    padding: clamp(22px, 2vw, 28px);
    border: 1px solid rgba(23, 43, 77, 0.07);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow:
        0 20px 60px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
}

.signed-in-action-card--flights {
    border-color: rgba(8, 121, 201, 0.16);
    background: linear-gradient(135deg, #f7fbff, #ffffff);
}

.signed-in-action-card--hotels {
    border-color: rgba(128, 83, 203, 0.16);
    background: linear-gradient(135deg, #fbf8ff, #ffffff);
}

.signed-in-action-card--trips {
    border-color: rgba(21, 147, 15, 0.16);
    background: linear-gradient(135deg, #f7fcf7, #ffffff);
}

.signed-in-action-card--admin {
    border-color: rgba(255, 136, 76, 0.2);
    background: linear-gradient(135deg, #fff9f5, #ffffff);
}

.signed-in-card-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 15px;
    color: var(--blue);
    background: #eaf4ff;
}

.signed-in-action-card--hotels .signed-in-card-icon {
    color: #8053cb;
    background: #f0e9ff;
}

.signed-in-action-card--trips .signed-in-card-icon,
.signed-in-card-icon--green {
    color: var(--green);
    background: var(--green-soft);
}

.signed-in-action-card--admin .signed-in-card-icon {
    color: #c85d27;
    background: #fff0e7;
}

.signed-in-card-icon--blue {
    color: var(--blue);
    background: #eaf4ff;
}

.signed-in-card-icon--purple {
    color: #8053cb;
    background: #f0e9ff;
}

.signed-in-card-icon .icon {
    width: 25px;
    height: 25px;
}

.signed-in-card-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.signed-in-card-copy strong {
    color: var(--signed-in-navy);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
}

.signed-in-card-copy small {
    color: var(--signed-in-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.signed-in-card-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--signed-in-navy);
    box-shadow: 0 6px 15px rgba(31, 54, 83, 0.07);
    transition: color 180ms ease, transform 180ms ease;
}

.signed-in-card-arrow.is-muted {
    color: #9aa7b6;
    box-shadow: none;
}

.signed-in-card-arrow .icon {
    width: 17px;
    height: 17px;
}

.signed-in-action-card:hover,
.signed-in-account-card[href]:hover {
    border-color: rgba(59, 174, 90, 0.2);
    box-shadow:
        0 28px 72px rgba(15, 23, 42, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
    transform: translateY(-4px);
}

.signed-in-action-card:hover .signed-in-card-arrow,
.signed-in-account-card[href]:hover .signed-in-card-arrow {
    color: var(--green-dark);
    transform: translateX(2px);
}

.signed-in-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(280px, 0.65fr);
    gap: clamp(20px, 2vw, 24px);
}

.signed-in-account-section {
    min-width: 0;
}

.signed-in-account-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.signed-in-account-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 92px;
    padding: 14px;
    border: 1px solid rgba(23, 43, 77, 0.07);
    border-radius: 15px;
    background: rgba(248, 250, 252, 0.76);
}

.signed-in-account-card .signed-in-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
}

.signed-in-account-card .signed-in-card-icon .icon {
    width: 21px;
    height: 21px;
}

.signed-in-account-card .signed-in-card-copy strong {
    font-size: 14px;
}

.signed-in-account-card .signed-in-card-copy small {
    font-size: 12px;
}

.signed-in-account-card .signed-in-card-arrow {
    width: 30px;
    height: 30px;
}

.signed-in-support-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-width: 0;
    min-height: 285px;
    padding: clamp(28px, 3vw, 42px);
    background:
        radial-gradient(circle at 95% 8%, rgba(47, 158, 68, 0.1), transparent 33%),
        linear-gradient(145deg, rgba(244, 250, 245, 0.96), rgba(255, 255, 255, 0.9));
}

.signed-in-support-card::after {
    position: absolute;
    right: -36px;
    bottom: -48px;
    width: 135px;
    height: 135px;
    border: 20px solid rgba(8, 121, 201, 0.055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.signed-in-support-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: var(--green-soft);
    color: var(--green);
}

.signed-in-support-icon .icon {
    width: 28px;
    height: 28px;
}

.signed-in-support-card > div:last-child {
    position: relative;
    z-index: 1;
}

.signed-in-support-card > div > p:not(.signed-in-section-kicker) {
    margin: 8px 0 17px;
    color: var(--signed-in-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.signed-in-support-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 11px;
    background: var(--green);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(21, 147, 15, 0.18);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.signed-in-support-button .icon {
    width: 16px;
    height: 16px;
}

.signed-in-support-button:hover {
    box-shadow: 0 11px 22px rgba(21, 147, 15, 0.25);
    transform: translateY(-2px);
}

.has-signed-in-dashboard .planning-band {
    position: sticky;
    z-index: 12;
    bottom: 16px;
    margin-top: 0;
    border-radius: 20px;
    background: linear-gradient(105deg, #2075d4 0%, #178b9e 48%, #1aa851 100%);
    box-shadow: 0 18px 36px rgba(20, 92, 110, 0.2);
    animation: signed-in-reveal 480ms ease 200ms both;
}

.has-signed-in-dashboard .planning-band-icon {
    border-radius: 14px;
}

.has-signed-in-dashboard .planning-action {
    border-radius: 11px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.has-signed-in-dashboard .planning-action:hover,
.has-signed-in-dashboard .planning-action:focus-visible {
    box-shadow: 0 8px 18px rgba(4, 49, 71, 0.16);
    transform: translateY(-2px);
}

.has-signed-in-dashboard .planning-action:focus-visible {
    outline: 3px solid #ffcf4a;
    outline-offset: 3px;
}

.signed-in-dashboard a:focus-visible,
.signed-in-dashboard button:focus-visible {
    outline: 3px solid #ffcf4a;
    outline-offset: 3px;
}

.dashboard-reveal {
    animation: signed-in-reveal 480ms ease both;
}

.signed-in-section.dashboard-reveal {
    animation-delay: 80ms;
}

.signed-in-lower-grid .dashboard-reveal {
    animation-delay: 140ms;
}

@keyframes signed-in-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes signed-in-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

@keyframes signed-in-plane-drift {
    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(9px, -4px);
    }
}

@keyframes signed-in-wave {
    0%,
    100% {
        transform: rotate(0);
    }

    35% {
        transform: rotate(16deg);
    }

    70% {
        transform: rotate(-8deg);
    }
}

html.travelnet-dark .auth-page.auth-page--signed-in {
    background:
        radial-gradient(circle at 12% 5%, rgba(8, 121, 201, 0.12), transparent 27%),
        radial-gradient(circle at 92% 14%, rgba(21, 147, 15, 0.12), transparent 28%),
        #071018;
}

html.travelnet-dark .signed-in-dashboard {
    --signed-in-card-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .signed-in-hero,
html.travelnet-dark .signed-in-section,
html.travelnet-dark .signed-in-support-card {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        radial-gradient(circle at 92% 8%, rgba(21, 147, 15, 0.08), transparent 32%),
        rgba(8, 22, 22, 0.92);
}

html.travelnet-dark .signed-in-quick-section {
    border: 0;
    background: transparent;
    box-shadow: none;
}

html.travelnet-dark .signed-in-hero h1,
html.travelnet-dark .signed-in-section-heading h2,
html.travelnet-dark .signed-in-support-card h2,
html.travelnet-dark .signed-in-card-copy strong,
html.travelnet-dark .signed-in-success-card h2 {
    color: #f4fff4;
}

html.travelnet-dark .signed-in-eyebrow,
html.travelnet-dark .signed-in-section-kicker {
    color: #8ee68a;
}

html.travelnet-dark .signed-in-hero-subtitle,
html.travelnet-dark .signed-in-section-heading > p,
html.travelnet-dark .signed-in-card-copy small,
html.travelnet-dark .signed-in-support-card > div > p:not(.signed-in-section-kicker),
html.travelnet-dark .signed-in-success-card p {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .signed-in-status-pill {
    border-color: rgba(142, 230, 138, 0.18);
    background: rgba(24, 72, 35, 0.7);
    color: #caffc8;
}

html.travelnet-dark .signed-in-success-card {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(7, 20, 24, 0.85);
}

html.travelnet-dark .signed-in-action-card,
html.travelnet-dark .signed-in-account-card {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .signed-in-card-arrow {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: #e8f5eb;
}

@media (max-width: 1180px) {
    .signed-in-hero {
        grid-template-columns: 1fr;
    }

    .signed-in-hero-copy {
        padding-bottom: 18px;
    }

    .signed-in-hero-art {
        min-height: 330px;
        margin-top: -22px;
    }

    .signed-in-travel-illustration {
        right: auto;
        left: 8%;
        width: min(540px, 52%);
    }

    .signed-in-success-card {
        top: 18px;
        right: 5%;
        width: min(290px, 30%);
    }

    .signed-in-lower-grid {
        grid-template-columns: 1fr;
    }

    .signed-in-support-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

}

@media (max-width: 900px) {
    .signed-in-hero-art {
        min-height: 315px;
        margin-top: -12px;
    }

    .signed-in-travel-illustration {
        right: auto;
        left: 5%;
        width: min(470px, 55%);
    }

    .signed-in-success-card {
        top: 14px;
        right: 5%;
        width: min(285px, 32%);
    }

    .signed-in-account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 660px) {
    .auth-page.auth-page--signed-in {
        padding: 16px 13px 28px;
    }

    .signed-in-dashboard {
        gap: 22px;
    }

    .signed-in-hero,
    .signed-in-section,
    .signed-in-support-card {
        border-radius: 28px;
    }

    .signed-in-hero-copy {
        padding: 20px 22px 0;
    }

    .signed-in-hero h1 {
        margin: 10px 0 8px;
        font-size: clamp(30px, 9.5vw, 38px);
    }

    .signed-in-eyebrow {
        min-height: 32px;
        padding: 6px 13px;
    }

    .signed-in-hero-subtitle {
        font-size: 15px;
        line-height: 1.5;
    }

    .signed-in-session-row {
        gap: 6px;
        margin-top: 13px;
    }

    .signed-in-status-pill {
        min-height: 30px;
        padding: 5px 9px;
        font-size: 11px;
    }

    .signed-in-signout-form {
        margin-top: 6px;
    }

    .signed-in-hero-art {
        display: grid;
        gap: 0;
        min-height: auto;
        padding: 0 17px 14px;
    }

    .signed-in-travel-illustration,
    .signed-in-success-card {
        position: relative;
        inset: auto;
        transform: none;
    }

    .signed-in-travel-illustration {
        width: 76%;
        margin: -27px auto 0;
    }

    .signed-in-success-card {
        width: 100%;
        margin-top: 0;
        padding: 14px;
    }

    .signed-in-success-icon {
        width: 34px;
        height: 34px;
    }

    .signed-in-success-card h2 {
        font-size: 16px;
    }

    .signed-in-success-card p {
        font-size: 12px;
    }

    .signed-in-section {
        padding: 21px 17px;
    }

    .signed-in-quick-section {
        padding: 0;
    }

    .signed-in-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .signed-in-section-heading > p {
        text-align: left;
    }

    .signed-in-quick-grid,
    .signed-in-account-grid {
        grid-template-columns: 1fr;
    }

    .signed-in-action-card {
        min-height: 112px;
        border-radius: 22px;
    }

    .signed-in-support-card {
        align-items: start;
        padding: 23px 19px;
    }

}

@media (max-width: 390px) {
    .signed-in-status-pill {
        white-space: normal;
    }

    .signed-in-support-card {
        grid-template-columns: 1fr;
    }

}

@media (prefers-reduced-motion: reduce) {
    .signed-in-dashboard *,
    .signed-in-dashboard *::before,
    .signed-in-dashboard *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Visitor analytics reuses the admin console palette, panels, type, and theme tokens. */
.visitor-analytics-page {
    --visitor-text: var(--ink);
    --visitor-panel: var(--panel);
    --visitor-panel-soft: var(--page);
    --visitor-border: var(--line);
    --visitor-blue: var(--blue);
    --visitor-purple: #8a5cf6;
}

html.travelnet-dark .visitor-analytics-page {
    --visitor-text: var(--admin-text);
    --visitor-panel: var(--admin-panel);
    --visitor-panel-soft: var(--admin-panel-soft);
    --visitor-border: var(--admin-border);
    --visitor-blue: var(--admin-blue);
    --visitor-purple: var(--admin-purple);
}

.visitor-analytics-content {
    display: grid;
    gap: 20px;
}

.visitor-analytics-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255, 78, 158, 0.11), rgba(22, 163, 244, 0.1) 52%, rgba(138, 92, 246, 0.12));
}

.visitor-analytics-hero h1 {
    margin: 4px 0 8px;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.visitor-analytics-hero p {
    max-width: 760px;
    margin: 0;
}

.visitor-analytics-refresh {
    min-width: 220px;
    padding: 16px 18px;
    border: 1px solid rgba(22, 163, 244, 0.25);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 32px rgba(52, 92, 126, 0.1);
}

.visitor-analytics-refresh span,
.visitor-analytics-refresh strong,
.visitor-analytics-refresh small {
    display: block;
}

.visitor-analytics-refresh span,
.visitor-analytics-refresh small {
    color: var(--muted);
    font-size: 0.76rem;
}

.visitor-analytics-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--visitor-text);
    background: var(--visitor-panel-soft);
    font-size: 0.78rem;
    font-weight: 800;
}

.visitor-analytics-live-pill i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #35d467;
    box-shadow: 0 0 0 5px rgba(53, 212, 103, 0.13);
}

.visitor-analytics-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 18px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-radius: 15px;
    background: rgba(245, 158, 11, 0.1);
}

.visitor-analytics-notice .icon {
    width: 22px;
    color: #f59e0b;
}

.visitor-analytics-notice strong,
.visitor-analytics-notice span {
    display: block;
}

.visitor-analytics-notice span {
    margin-top: 3px;
    color: var(--muted);
}

.visitor-health-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.visitor-health-grid article {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--visitor-border);
    border-radius: 13px;
    background: var(--visitor-panel-soft);
}

.visitor-health-grid small,
.visitor-health-grid strong,
.visitor-health-grid span {
    display: block;
}

.visitor-health-grid small,
.visitor-health-grid span {
    color: var(--muted);
    font-size: 0.7rem;
}

.visitor-health-grid strong {
    margin: 5px 0 3px;
    overflow: hidden;
    color: var(--visitor-text);
    font-size: 1rem;
    text-overflow: ellipsis;
}

.visitor-analytics-filters {
    padding: 0;
    overflow: hidden;
}

.visitor-analytics-filters-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    cursor: pointer;
    list-style: none;
}

.visitor-analytics-filters-toggle::-webkit-details-marker {
    display: none;
}

.visitor-analytics-filters-toggle > span {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.visitor-analytics-filters-toggle svg {
    flex: 0 0 auto;
    color: var(--visitor-blue);
}

.visitor-analytics-filters-toggle strong,
.visitor-analytics-filters-toggle small {
    display: block;
}

.visitor-analytics-filters-toggle strong {
    color: var(--visitor-text);
}

.visitor-analytics-filters-toggle small {
    margin-top: 3px;
    color: var(--muted);
}

.visitor-analytics-filters-toggle > i {
    width: 11px;
    height: 11px;
    flex: 0 0 auto;
    border-right: 2px solid var(--visitor-blue);
    border-bottom: 2px solid var(--visitor-blue);
    transform: rotate(45deg);
    transition: transform 180ms ease;
}

.visitor-analytics-filters[open] .visitor-analytics-filters-toggle > i {
    transform: rotate(225deg);
}

.visitor-analytics-filters-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 14px;
    padding: 18px;
    border-top: 1px solid var(--visitor-border);
}

.visitor-analytics-filters label > span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.visitor-analytics-filters select,
.visitor-analytics-filters input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--visitor-border);
    border-radius: 11px;
    color: var(--visitor-text);
    background: var(--visitor-panel);
}

.visitor-analytics-filters details {
    grid-column: 1 / -1;
}

.visitor-analytics-filters summary {
    cursor: pointer;
    color: var(--visitor-blue);
    font-weight: 800;
}

.visitor-analytics-filters details > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.visitor-analytics-filters-form > button {
    justify-self: start;
}

.visitor-analytics-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.visitor-analytics-summary .admin-console-stat-card {
    min-width: 0;
}

.visitor-analytics-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
    gap: 20px;
}

.visitor-analytics-grid.is-lower {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.visitor-analytics-source,
.visitor-status-pill {
    padding: 5px 9px;
    border-radius: 999px;
    color: #1173aa;
    background: rgba(22, 163, 244, 0.12);
    font-size: 0.72rem;
    font-weight: 800;
}

.visitor-analytics-bars {
    display: flex;
    align-items: stretch;
    gap: 6px;
    min-height: 260px;
    padding: 24px 2px 4px;
    overflow-x: auto;
}

.visitor-analytics-bar-group {
    display: grid;
    grid-template-rows: 220px auto;
    flex: 1 0 34px;
    gap: 7px;
    min-width: 34px;
}

.visitor-analytics-bar-group > div {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
    border-bottom: 1px solid var(--visitor-border);
}

.visitor-analytics-bar-group i {
    width: 7px;
    min-height: 3px;
    border-radius: 7px 7px 2px 2px;
}

.visitor-analytics-bar-group small {
    color: var(--muted);
    font-size: 0.62rem;
    text-align: center;
}

.visitor-analytics-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 12px;
    color: var(--muted);
    font-size: 0.78rem;
}

.visitor-analytics-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.visitor-analytics-legend i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.visitor-analytics-bar-group i.is-sessions,
.visitor-analytics-legend i.is-sessions {
    background: #16a3f4;
}

.visitor-analytics-bar-group i.is-searches,
.visitor-analytics-legend i.is-searches {
    background: #ff4e9e;
}

.visitor-analytics-bar-group i.is-bookings,
.visitor-analytics-legend i.is-bookings {
    background: #8a5cf6;
}

.visitor-funnel-list,
.visitor-area-list {
    display: grid;
    gap: 12px;
}

.visitor-funnel-list article,
.visitor-area-list article {
    display: grid;
    gap: 6px;
}

.visitor-funnel-list article > div,
.visitor-area-list article > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.visitor-funnel-list article > i,
.visitor-area-list article > i {
    display: block;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--visitor-panel-soft);
}

.visitor-funnel-list article > i {
    background: linear-gradient(90deg, #ff4e9e, #8a5cf6, #16a3f4);
}

.visitor-area-list article > i b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a3f4, #8a5cf6);
}

.visitor-funnel-list small,
.visitor-area-list span {
    color: var(--muted);
    font-size: 0.72rem;
}

.visitor-busy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.visitor-busy-grid article {
    padding: 13px;
    border: 1px solid var(--visitor-border);
    border-radius: 13px;
    background: var(--visitor-panel-soft);
}

.visitor-busy-grid span,
.visitor-busy-grid strong,
.visitor-busy-grid small {
    display: block;
}

.visitor-busy-grid strong {
    margin: 5px 0 1px;
    color: var(--visitor-blue);
    font-size: 1.35rem;
}

.visitor-busy-grid small,
.visitor-busy-grid span {
    color: var(--muted);
    font-size: 0.7rem;
}

.visitor-recent-table-wrap {
    overflow-x: auto;
}

.visitor-recent-panel table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
}

.visitor-recent-panel th,
.visitor-recent-panel td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--visitor-border);
    text-align: left;
    vertical-align: top;
    font-size: 0.78rem;
}

.visitor-recent-panel th {
    color: var(--muted);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.visitor-recent-panel code {
    color: var(--visitor-purple);
}

html.travelnet-dark .visitor-analytics-refresh {
    background: rgba(20, 30, 51, 0.78);
}

html.travelnet-dark .visitor-analytics-hero {
    background: linear-gradient(135deg, rgba(255, 78, 158, 0.12), rgba(22, 163, 244, 0.1) 52%, rgba(138, 92, 246, 0.15));
}

@media (max-width: 1100px) {
    .visitor-analytics-filters-form,
    .visitor-analytics-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .visitor-analytics-grid,
    .visitor-analytics-grid.is-lower {
        grid-template-columns: 1fr;
    }

    .visitor-health-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .visitor-analytics-hero {
        align-items: stretch;
        flex-direction: column;
        padding: 22px;
    }

    .visitor-analytics-refresh {
        min-width: 0;
    }

    .visitor-analytics-filters-form,
    .visitor-analytics-summary,
    .visitor-analytics-filters details > div {
        grid-template-columns: 1fr;
    }

    .visitor-analytics-filters-toggle {
        align-items: flex-start;
    }

    .visitor-busy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .visitor-health-grid {
        grid-template-columns: 1fr;
    }

    .visitor-analytics-live-pill {
        display: none;
    }
}

/* Google authentication controls shared by sign-in and customer registration. */
.auth-provider-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #6a7f90;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.auth-provider-divider::before,
.auth-provider-divider::after {
    height: 1px;
    flex: 1 1 auto;
    background: rgba(18, 102, 153, 0.16);
    content: "";
}

.auth-google-form {
    margin: 0;
}

.auth-google-button {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 10px 18px;
    border: 1px solid rgba(18, 70, 108, 0.20);
    border-radius: 15px;
    background: #ffffff;
    color: #17364e;
    font: inherit;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(17, 62, 98, 0.08);
    cursor: pointer;
}

.auth-google-button:hover,
.auth-google-button:focus-visible {
    border-color: #4285f4;
    background: #f7fbff;
    outline: 3px solid rgba(66, 133, 244, 0.14);
    outline-offset: 2px;
}

.auth-google-mark {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 900;
    box-shadow: inset 0 0 0 5px #ffffff;
}

.auth-google-register {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 340px);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(66, 133, 244, 0.16);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(232, 244, 255, 0.78), rgba(239, 251, 244, 0.84));
}

.auth-google-register strong {
    color: #17364e;
    font-size: 17px;
}

.auth-google-register p {
    margin: 5px 0 0;
    color: #587083;
    font-size: 13px;
    line-height: 1.45;
}

html.travelnet-dark .auth-provider-divider {
    color: rgba(223, 244, 251, 0.62);
}

html.travelnet-dark .auth-provider-divider::before,
html.travelnet-dark .auth-provider-divider::after {
    background: rgba(113, 208, 234, 0.16);
}

html.travelnet-dark .auth-google-button {
    border-color: rgba(113, 208, 234, 0.20);
    background: rgba(5, 24, 37, 0.88);
    color: #f1fbff;
}

html.travelnet-dark .auth-google-button:hover,
html.travelnet-dark .auth-google-button:focus-visible {
    border-color: #8edff7;
    background: rgba(10, 48, 69, 0.96);
}

html.travelnet-dark .auth-google-register {
    border-color: rgba(113, 208, 234, 0.16);
    background: linear-gradient(135deg, rgba(7, 38, 56, 0.88), rgba(8, 45, 42, 0.82));
}

html.travelnet-dark .auth-google-register strong {
    color: #f1fbff;
}

html.travelnet-dark .auth-google-register p {
    color: rgba(223, 244, 251, 0.70);
}

@media (max-width: 720px) {
    .auth-google-register {
        grid-template-columns: minmax(0, 1fr);
    }
}

.car-hero .search-card-car {
    border-top: 4px solid var(--blue);
}

.car-route-grid .field-card,
.car-advanced-options .field-card {
    position: relative;
}

.car-route-grid .field-card:focus-within {
    z-index: 80;
}

.car-dropoff-field[hidden] {
    display: none !important;
}

.car-toggles {
    align-items: stretch;
}

.car-toggles .toggle-card {
    min-width: 220px;
}

.car-extra-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.car-extra-grid .toggle-card {
    margin: 0;
    min-height: 48px;
}

.airport-suggestions.car-suggestions {
    z-index: 160;
}

.car-results-shell {
    position: relative;
    isolation: isolate;
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 24px 56px;
}

.car-results-shell::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -42px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(246, 252, 246, 0.96) 0%, rgba(246, 252, 246, 0.82) 42%, rgba(246, 252, 246, 0.2) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.58) 38%, rgba(238, 249, 238, 0.95) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        linear-gradient(180deg, #f6fbf4 0%, #ffffff 48%, #f2faf0 100%);
}

.car-results-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(2, 50, 24, 0.96) 0%, rgba(5, 88, 39, 0.88) 50%, rgba(10, 121, 54, 0.6) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat;
    border: 1px solid rgba(255, 255, 255, 0.42);
    padding: 26px;
    margin-bottom: 18px;
    color: #fff;
    box-shadow: 0 24px 60px rgba(3, 64, 30, 0.2);
}

.car-results-hero h1 {
    margin: 4px 0 8px;
    color: #fff;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.08;
}

.car-results-hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
}

.car-safety-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
}

.car-safety-strip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(21, 147, 15, 0.2);
    background: #f4fbf3;
    color: #245c25;
    border-radius: 999px;
    padding: 9px 12px;
    font-weight: 700;
    font-size: 13px;
}

.car-prepared-panel,
.car-next-panel,
.car-planning-panel {
    background: #fff;
    border: 1px solid rgba(16, 35, 54, 0.1);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 16px 42px rgba(20, 42, 68, 0.08);
}

.car-prepared-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: start;
    margin-bottom: 18px;
}

.car-prepared-panel h2,
.car-next-panel h2,
.car-phase-grid h3 {
    margin: 0 0 8px;
}

.car-prepared-panel p,
.car-phase-grid p {
    color: #5d6976;
    margin: 0;
}

.car-prepared-panel dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.car-prepared-panel dl div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #edf1f5;
    padding-bottom: 8px;
}

.car-prepared-panel dt {
    color: #66737f;
    font-weight: 700;
}

.car-prepared-panel dd {
    margin: 0;
    text-align: right;
    font-weight: 800;
    color: #172635;
    word-break: break-word;
}

.car-result-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 20px;
    margin-top: 18px;
    border: 1px solid #e4ebf2;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.car-result-visual {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 190px;
    background: linear-gradient(145deg, #0b6f10, #15930f);
    color: #fff;
    font-weight: 800;
}

.car-result-visual .icon {
    width: 54px;
    height: 54px;
}

.car-result-visual img {
    display: block;
    width: min(150px, 88%);
    height: 104px;
    object-fit: contain;
    filter: drop-shadow(0 12px 16px rgba(0, 0, 0, 0.2));
}

.car-result-content {
    padding: 20px 20px 20px 0;
}

.car-result-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.car-result-heading h3 {
    margin: 4px 0 0;
    font-size: 22px;
}

.car-result-heading strong {
    color: var(--green-dark);
    font-size: 22px;
    white-space: nowrap;
}

.car-result-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    color: #516070;
    font-weight: 700;
}

.car-result-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.car-result-actions {
    margin-top: 18px;
}

.car-detail-page,
.car-driver-details-page {
    position: relative;
    isolation: isolate;
}

.car-driver-details-page.narrow-band {
    max-width: 1280px;
}

.car-detail-page::before,
.car-driver-details-page::before {
    content: "";
    position: absolute;
    top: -24px;
    right: calc(50% - 50vw);
    bottom: -58px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(247, 252, 247, 0.96) 0%, rgba(247, 252, 247, 0.82) 42%, rgba(247, 252, 247, 0.2) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0.54) 38%, rgba(239, 249, 239, 0.94) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        #f4fbf2;
}

.car-driver-details-page::before {
    background:
        linear-gradient(90deg, rgba(247, 252, 247, 0.98) 0%, rgba(247, 252, 247, 0.88) 50%, rgba(247, 252, 247, 0.34) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.64) 36%, rgba(239, 249, 239, 0.96) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        #f4fbf2;
}

.car-booking-shell {
    position: relative;
}

.car-driver-details-page .car-booking-shell {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    gap: 30px;
}

.car-driver-details-page .car-booking-main {
    min-width: 0;
}

.car-driver-details-page .flight-review-main h1 {
    margin-bottom: 16px;
    font-size: 30px;
}

.car-booking-hero {
    min-height: 188px;
    align-items: center;
    border-color: rgba(255, 255, 255, 0.42);
    background:
        linear-gradient(90deg, rgba(2, 50, 24, 0.96) 0%, rgba(5, 88, 39, 0.88) 48%, rgba(10, 121, 54, 0.56) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat;
    box-shadow: 0 24px 60px rgba(3, 64, 30, 0.22);
}

.car-driver-details-page .car-booking-hero {
    background:
        linear-gradient(90deg, rgba(2, 50, 24, 0.97) 0%, rgba(5, 88, 39, 0.9) 52%, rgba(10, 121, 54, 0.58) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat;
}

.car-booking-hero .flight-review-hero-copy {
    max-width: 760px;
}

.car-booking-hero .flight-review-hero-kicker {
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.92);
}

.car-booking-hero .flight-review-hero-chips span {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.car-driver-details-page .car-booking-card {
    padding: 0 28px 30px;
}

.car-driver-details-page .flight-review-steps {
    max-width: none;
    margin: 0 -28px 28px;
    padding: 24px 28px 0;
    gap: 8px;
}

.car-driver-details-page .flight-review-step {
    border-radius: 999px;
}

.car-driver-details-page .hotel-booking-selected-summary {
    margin-bottom: 24px;
}

.car-review-image img {
    object-fit: cover;
}

.car-indian-card .hotel-indian-body {
    grid-template-columns: minmax(260px, 34%) minmax(0, 1fr);
}

.car-review-image {
    min-height: 210px;
    aspect-ratio: 16 / 10;
    background: #eef7f2;
}

.car-review-image img {
    min-height: 210px;
    object-fit: contain;
    background: linear-gradient(135deg, #eaf5ec, #ffffff);
}

html.travelnet-dark .car-review-image {
    border-color: rgba(127, 214, 126, 0.16);
    background: linear-gradient(135deg, #0b1710, #132219);
}

html.travelnet-dark .car-review-image img {
    background: linear-gradient(135deg, #102017, #1a2b21);
}

.car-travel-note {
    border-color: rgba(21, 147, 15, 0.18);
    background: #f3fbf1;
}

.car-detail-extra-grid section,
.car-driver-form .booking-form-panel {
    border-color: rgba(21, 147, 15, 0.14);
}

.car-driver-form {
    display: grid;
    gap: 24px;
}

.car-driver-form .booking-form-panel {
    gap: 20px;
    padding: 24px;
    border-radius: 14px;
}

.car-driver-form .field-card {
    gap: 7px;
}

.car-driver-form .field-card input,
.car-driver-form .field-card select {
    width: 100%;
}

.car-section-strip {
    align-items: center;
    margin: -24px -24px 2px;
    padding: 18px 22px;
    background: linear-gradient(135deg, #f2faf0, #ffffff);
    color: #17351b;
}

.car-section-strip h2 {
    line-height: 1.2;
}

.car-section-strip > span {
    justify-self: end;
    color: var(--green-dark);
}

.car-driver-grid,
.car-licence-grid,
.car-booked-by-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px 20px;
    align-items: end;
}

.car-driver-grid .field-card,
.car-licence-grid .field-card,
.car-booked-by-grid .field-card {
    grid-column: span 2;
    min-width: 0;
}

.car-driver-grid .field-card:first-child,
.car-booked-by-grid .field-card:first-child {
    grid-column: span 1;
}

.car-driver-grid .car-driver-id-field,
.car-driver-grid .car-driver-dob-field,
.car-driver-grid .car-driver-email-field,
.car-driver-grid .car-driver-phone-field,
.car-booked-by-grid .car-booker-email-field {
    grid-column: span 3;
}

.car-licence-grid .car-emergency-name-field,
.car-licence-grid .car-emergency-phone-field {
    grid-column: span 3;
}

.car-booked-by-grid .car-notes-field {
    grid-column: 1 / -1;
}

.car-phase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.car-phase-grid article {
    border: 1px solid #e7edf3;
    border-radius: 14px;
    padding: 18px;
    background: #fbfdff;
}

.car-phase-grid .icon {
    color: var(--blue);
    margin-bottom: 10px;
}

@media (max-width: 820px) {
    .car-extra-grid,
    .car-phase-grid,
    .car-prepared-panel {
        grid-template-columns: 1fr;
    }

    .car-results-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .car-result-card {
        grid-template-columns: 1fr;
    }

    .car-result-content {
        padding: 20px;
    }

    .car-result-meta {
        grid-template-columns: 1fr;
    }
}

* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    background:
        radial-gradient(circle at top left, rgba(85, 191, 13, 0.08), transparent 30%),
        linear-gradient(180deg, #edf3f7 0%, #f8fafc 100%);
    color: var(--ink);
    font-family: var(--travelnet-font-sans);
    font-size: 16px;
    line-height: 1.45;
    overflow-x: hidden;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg, rgba(8, 121, 201, 0.05), transparent 28%),
        linear-gradient(300deg, rgba(85, 191, 13, 0.06), transparent 32%);
    filter: blur(18px);
}

html.travelnet-dark {
    color-scheme: dark;
    --ink: #edf6ef;
    --muted: #b7c6ba;
    --line: rgba(188, 214, 194, 0.18);
    --panel: #121c18;
    --page: #07100c;
    --green-soft: #14311b;
    --shadow: 0 20px 50px rgba(0, 0, 0, 0.36);
    --hotel-dark-page: #071018;
    --hotel-dark-panel: rgba(13, 25, 31, 0.82);
    --hotel-dark-panel-strong: rgba(17, 31, 38, 0.94);
    --hotel-dark-control: rgba(6, 15, 21, 0.78);
    --hotel-dark-border: rgba(164, 221, 176, 0.18);
    --hotel-dark-border-strong: rgba(127, 214, 126, 0.34);
    --hotel-dark-text: #f2f7f4;
    --hotel-dark-muted: #aebdba;
    --hotel-dark-glow: rgba(21, 147, 15, 0.32);
    --hotel-dark-hero-image: url("../images/hotel-dark-premium-bg-v2.png");
    --hotel-dark-featured-image: url("../images/hotel-dark-featured-deal.png");
    --flight-dark-hero-image: url("../images/flight-dark-hero-bg.png");
    --flight-dark-featured-image: url("../images/flight-dark-featured-deal.png");
    --car-dark-hero-image: url("../images/car-dark-hero-bg.png");
}

html.travelnet-dark body {
    background:
        radial-gradient(circle at 14% 0%, rgba(21, 147, 15, 0.22), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(255, 68, 63, 0.07), transparent 24%),
        linear-gradient(180deg, #08130d 0%, #0d1a12 46%, #111915 100%);
    color: var(--ink);
}

html.travelnet-dark body::before {
    background:
        linear-gradient(120deg, rgba(21, 147, 15, 0.12), transparent 28%),
        linear-gradient(300deg, rgba(255, 68, 63, 0.08), transparent 32%);
    opacity: 0.78;
}

a,
h1,
h2,
h3,
p,
strong,
span,
dd,
dt {
    overflow-wrap: anywhere;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

.icon {
    width: 1.1em;
    height: 1.1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.travelnet-popup-open {
    overflow: hidden;
}

.travelnet-popup[hidden] {
    display: none;
}

.travelnet-popup {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: grid;
    place-items: center;
    padding: 24px;
}

.travelnet-popup-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(15, 24, 38, 0.66);
    cursor: pointer;
}

.travelnet-popup-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(95vw, 1010px);
    max-width: 95vw;
    max-height: 92vh;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid rgba(223, 230, 239, 0.9);
    border-radius: var(--radius-card);
    background: var(--panel);
    box-shadow: 0 24px 80px rgba(10, 22, 38, 0.34);
    transform: translateY(10px);
    opacity: 0;
    transition: opacity 160ms ease, transform 160ms ease;
}

.travelnet-popup.is-open .travelnet-popup-panel {
    transform: translateY(0);
    opacity: 1;
}

.travelnet-popup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 56px;
    padding: 12px 14px 12px 20px;
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.travelnet-popup-title {
    margin: 0;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
}

.travelnet-popup-close {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.travelnet-popup-close[hidden] {
    display: none;
}

.travelnet-popup-close:hover,
.travelnet-popup-close:focus-visible {
    border-color: var(--coral);
    color: var(--coral-dark);
}

.travelnet-popup-content {
    min-height: 0;
    overflow: auto;
    padding: 20px;
    background: #fff;
}

.travelnet-popup-frame {
    width: 100%;
    height: min(76vh, 720px);
    border: 0;
    background: #fff;
    color-scheme: light;
}

.travelnet-popup-panel-hotel-confirm {
    width: min(92vw, 640px);
    min-height: 0;
}

.travelnet-popup-panel-hotel-gallery {
    min-height: 0;
    border-color: rgba(21, 147, 15, 0.18);
    background: linear-gradient(180deg, #ffffff, #f6fbf7);
}

.travelnet-popup-panel-hotel-gallery .travelnet-popup-content {
    padding: 16px;
    background: linear-gradient(180deg, #ffffff, #f6fbf7);
}

.hotel-gallery-viewer {
    display: grid;
    gap: 12px;
}

.hotel-gallery-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(192, 207, 218, 0.7);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(236, 253, 245, 0.9), rgba(239, 246, 255, 0.92)),
        #fff;
}

.hotel-gallery-stage img {
    display: block;
    width: 100%;
    max-height: min(62vh, 620px);
    object-fit: contain;
}

.hotel-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: rgba(8, 37, 61, 0.74);
    color: #fff;
    cursor: pointer;
    font-size: 34px;
    line-height: 1;
    transform: translateY(-50%);
}

.hotel-gallery-nav:hover,
.hotel-gallery-nav:focus-visible {
    background: var(--green);
}

.hotel-gallery-nav-prev {
    left: 14px;
}

.hotel-gallery-nav-next {
    right: 14px;
}

.hotel-gallery-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--ink);
    font-weight: 900;
}

.hotel-gallery-caption span {
    color: var(--muted);
    font-size: 13px;
}

.hotel-gallery-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 8px;
}

.hotel-gallery-thumb {
    flex: 0 0 86px;
    width: 86px;
    height: 62px;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 10px;
    background: #eef5f0;
    cursor: pointer;
}

.hotel-gallery-thumb.is-active {
    border-color: var(--green);
}

.hotel-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-selection-confirm {
    display: grid;
    gap: 18px;
    color: var(--ink);
}

.hotel-selection-confirm-note {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.hotel-selection-confirm-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.hotel-selection-confirm-list div {
    display: grid;
    grid-template-columns: minmax(130px, 0.42fr) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 12px 14px;
    border: 1px solid rgba(223, 230, 239, 0.95);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff, #f7fbf8);
}

.hotel-selection-confirm-list dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.hotel-selection-confirm-list dd {
    margin: 0;
    color: var(--ink);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
}

.hotel-selection-confirm-list dd span {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.hotel-selection-confirm-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid rgba(223, 230, 239, 0.95);
}

.hotel-selection-confirm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 44px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    box-sizing: border-box;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.hotel-selection-confirm-cancel {
    border-color: rgba(192, 207, 218, 0.95);
    background: #fff;
    color: #334155;
    box-shadow: 0 10px 22px rgba(23, 42, 64, 0.06);
}

.hotel-selection-confirm-cancel:hover,
.hotel-selection-confirm-cancel:focus-visible {
    border-color: rgba(15, 117, 200, 0.58);
    color: #0f5f9f;
}

.hotel-selection-confirm-ok {
    border-color: #0f75c8;
    background: linear-gradient(180deg, #1692e6, #0f75c8);
    color: #fff;
    box-shadow: 0 14px 28px rgba(15, 117, 200, 0.22);
}

.hotel-selection-confirm-ok:hover,
.hotel-selection-confirm-ok:focus-visible {
    border-color: #0b5d9f;
    background: linear-gradient(180deg, #0f86db, #0b68b4);
}

@media (max-width: 640px) {
    .hotel-selection-confirm-list div {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .hotel-selection-confirm-actions {
        align-items: stretch;
        flex-direction: column-reverse;
        justify-content: stretch;
    }

    .hotel-selection-confirm-button {
        width: 100%;
        white-space: normal;
    }
}

.airline-rules-standalone {
    margin: 0;
    background:
        linear-gradient(90deg, rgba(248, 252, 255, 0.16), rgba(255, 255, 255, 0.94)),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        #f8fcff;
    color: var(--ink);
    font-family: var(--travelnet-font-sans);
}

.airline-rules-shell {
    min-height: 100vh;
    padding: clamp(12px, 3vw, 34px);
    box-sizing: border-box;
}

.airline-rules-wait,
.airline-rules-message,
.airline-rules-content {
    max-width: 820px;
    margin: 0 auto;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 60px rgba(23, 42, 64, 0.16);
}

.airline-rules-wait {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 34px 28px;
    text-align: center;
}

.airline-rules-plane {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    box-shadow: 0 12px 30px rgba(21, 147, 15, 0.16);
}

.airline-rules-plane .icon {
    width: 28px;
    height: 28px;
}

.airline-rules-wait h1,
.airline-rules-message h2 {
    margin: 0;
    color: var(--green);
}

.airline-rules-wait p,
.airline-rules-message p {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

.airline-rules-wait ul {
    display: grid;
    gap: 7px;
    width: min(100%, 430px);
    margin: 12px 0 0;
    padding: 14px 0 0 22px;
    border-top: 1px dashed rgba(8, 121, 201, 0.26);
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
}

.airline-rules-wait li::marker {
    color: var(--coral);
}

.airline-rules-message,
.airline-rules-content {
    padding: 24px;
}

.airline-rules-message.is-warning {
    border-color: rgba(255, 68, 63, 0.22);
    background: linear-gradient(180deg, #fff, rgba(255, 68, 63, 0.06));
}

.airline-rules-content {
    max-width: 980px;
    overflow: hidden;
    padding: 0;
    color: #29364a;
    font-size: 14px;
    line-height: 1.65;
}

.airline-rules-content-header {
    padding: clamp(22px, 4vw, 36px);
    border-bottom: 1px solid rgba(123, 97, 255, 0.16);
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 111, 176, 0.16), transparent 32%),
        linear-gradient(135deg, rgba(232, 244, 255, 0.98), rgba(246, 240, 255, 0.98));
}

.airline-rules-eyebrow {
    display: inline-flex;
    margin: 0 0 8px;
    padding: 5px 10px;
    border: 1px solid rgba(8, 121, 201, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    color: #0879c9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1;
    text-transform: uppercase;
}

.airline-rules-content-header h1 {
    margin: 0;
    color: #24324a;
    font-size: clamp(25px, 4vw, 36px);
    line-height: 1.12;
}

.airline-rules-content-header p {
    max-width: 650px;
    margin: 10px 0 0;
    color: #60708a;
    font-size: 14px;
    font-weight: 650;
}

.airline-rules-document {
    padding: clamp(14px, 3vw, 28px);
}

.airline-rules-document table {
    width: 100%;
    border-collapse: collapse;
}

.airline-rules-document > table > tbody > tr:first-child > td {
    padding: 0 0 12px;
    border: 0;
    color: #66758c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.airline-rules-document .ruletbl_ap {
    border: 1px solid rgba(194, 210, 229, 0.86);
    border-radius: 16px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}

.airline-rules-document .ruletbl_ap > tbody > tr {
    display: grid;
    grid-template-columns: minmax(175px, 215px) minmax(0, 1fr);
    border-bottom: 1px solid rgba(214, 225, 238, 0.82);
}

.airline-rules-document .ruletbl_ap > tbody > tr:last-child {
    border-bottom: 0;
}

.airline-rules-document .ruletbl_ap > tbody > tr:nth-child(odd):not(:first-child) {
    background: rgba(242, 247, 255, 0.58);
}

.airline-rules-document .ruletbl_ap > tbody > tr > td {
    min-width: 0;
    padding: 16px 18px;
    border: 0;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.airline-rules-document .ruletbl_ap > tbody > tr > td:first-child:not([colspan]) {
    border-right: 1px solid rgba(214, 225, 238, 0.82);
    color: #256da8;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.035em;
    line-height: 1.45;
    text-transform: uppercase;
}

.airline-rules-document .ruletbl_ap > tbody > tr > td:nth-child(2) {
    color: #35445a;
}

.airline-rules-document .ruletbl_ap > tbody > tr > td[colspan] {
    grid-column: 1 / -1;
    padding: 0;
}

.airline-rules-document .ruletbl_ap > tbody > tr.is-key-rule {
    background: linear-gradient(90deg, rgba(255, 111, 176, 0.09), rgba(123, 97, 255, 0.05));
    box-shadow: inset 4px 0 0 #ff6fb0;
}

.airline-rules-document .drktbl td {
    padding: 16px 18px;
    border: 0;
    background: linear-gradient(100deg, #0879c9, #7b61ff);
    color: #fff;
    font-size: 15px;
    font-weight: 750;
}

.airline-rules-document a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 680px) {
    .airline-rules-document .ruletbl_ap > tbody > tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .airline-rules-document .ruletbl_ap > tbody > tr > td {
        padding: 14px 15px;
    }

    .airline-rules-document .ruletbl_ap > tbody > tr > td:first-child:not([colspan]) {
        border-right: 0;
        border-bottom: 1px dashed rgba(8, 121, 201, 0.20);
        background: rgba(8, 121, 201, 0.045);
    }
}

.travelnet-popup-empty {
    min-height: 180px;
}

.travelnet-popup-panel-validation {
    min-height: 0;
    border-color: rgba(255, 68, 63, 0.28);
    box-shadow: 0 24px 70px rgba(10, 22, 38, 0.28), 0 0 0 1px rgba(255, 68, 63, 0.08);
}

.travelnet-popup-panel-validation .travelnet-popup-header {
    border-bottom-color: rgba(255, 68, 63, 0.18);
    background: linear-gradient(90deg, rgba(255, 236, 235, 0.98), #fff 62%);
}

.travelnet-popup-panel-validation .travelnet-popup-title {
    color: var(--coral-dark);
}

.travelnet-validation-message {
    display: grid;
    gap: 12px;
}

.travelnet-validation-message p {
    margin: 0;
    color: var(--ink);
    font-weight: 800;
}

.travelnet-validation-message ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 14px 16px 14px 34px;
    border: 1px solid rgba(255, 68, 63, 0.18);
    border-radius: 16px;
    background: rgba(255, 68, 63, 0.07);
    color: var(--muted);
    font-weight: 750;
    line-height: 1.4;
}

.travelnet-validation-message li::marker {
    color: var(--coral);
}

html.travelnet-dark .travelnet-popup-panel-validation {
    border-color: rgba(255, 139, 132, 0.32);
    background: linear-gradient(180deg, rgba(23, 21, 18, 0.98), rgba(7, 16, 12, 0.98));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.54),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 0 30px rgba(255, 107, 102, 0.12);
}

html.travelnet-dark .travelnet-popup-panel-validation .travelnet-popup-header {
    border-bottom-color: rgba(255, 139, 132, 0.18);
    background: linear-gradient(90deg, rgba(69, 23, 20, 0.94), rgba(8, 20, 14, 0.98) 64%);
}

html.travelnet-dark .travelnet-popup-panel-validation .travelnet-popup-title,
html.travelnet-dark .travelnet-validation-message p {
    color: #fff5f4;
}

html.travelnet-dark .travelnet-popup-panel-validation .travelnet-popup-content {
    background: linear-gradient(180deg, rgba(13, 29, 22, 0.98), rgba(7, 16, 12, 0.98));
}

html.travelnet-dark .travelnet-validation-message ul {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.42);
    color: rgba(237, 246, 239, 0.76);
}

html.travelnet-dark .airline-rules-standalone {
    background:
        radial-gradient(circle at 14% 5%, rgba(123, 97, 255, 0.18), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(255, 111, 176, 0.12), transparent 30%),
        linear-gradient(180deg, #091426 0%, #0d172b 58%, #091221 100%);
    color: #edf6ef;
    color-scheme: dark;
}

html.travelnet-dark .airline-rules-wait,
html.travelnet-dark .airline-rules-message,
html.travelnet-dark .airline-rules-content {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(17, 43, 25, 0.84), rgba(7, 16, 12, 0.92));
    color: rgba(237, 246, 239, 0.78);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .airline-rules-plane {
    background: rgba(126, 230, 132, 0.12);
    color: #8ee68a;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.26),
        0 0 22px rgba(73, 220, 83, 0.12);
}

html.travelnet-dark .airline-rules-wait h1,
html.travelnet-dark .airline-rules-message h2 {
    color: #d9f8d8;
}

html.travelnet-dark .airline-rules-wait p,
html.travelnet-dark .airline-rules-message p,
html.travelnet-dark .airline-rules-wait ul {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .airline-rules-wait ul {
    border-top-color: rgba(160, 238, 255, 0.20);
}

html.travelnet-dark .airline-rules-message.is-warning {
    border-color: rgba(255, 139, 132, 0.26);
    background:
        linear-gradient(180deg, rgba(69, 23, 20, 0.50), rgba(7, 16, 12, 0.94));
}

html.travelnet-dark .airline-rules-content table {
    color: rgba(237, 246, 239, 0.78);
}

html.travelnet-dark .airline-rules-content td,
html.travelnet-dark .airline-rules-content th {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .airline-rules-content-header {
    border-bottom-color: rgba(143, 177, 255, 0.16);
    background:
        radial-gradient(circle at 90% 12%, rgba(255, 111, 176, 0.14), transparent 34%),
        linear-gradient(135deg, rgba(19, 45, 72, 0.98), rgba(39, 29, 69, 0.98));
}

html.travelnet-dark .airline-rules-content {
    background: linear-gradient(180deg, rgba(13, 26, 47, 0.98), rgba(8, 18, 32, 0.98));
}

html.travelnet-dark .airline-rules-eyebrow {
    border-color: rgba(143, 207, 255, 0.24);
    background: rgba(255, 255, 255, 0.07);
    color: #9ed8ff;
}

html.travelnet-dark .airline-rules-content-header h1 {
    color: #f7f4ff;
}

html.travelnet-dark .airline-rules-content-header p {
    color: rgba(225, 232, 246, 0.76);
}

html.travelnet-dark .airline-rules-document > table > tbody > tr:first-child > td {
    color: rgba(211, 221, 238, 0.72);
}

html.travelnet-dark .airline-rules-document .ruletbl_ap {
    border-color: rgba(143, 177, 255, 0.18);
    background: rgba(8, 18, 30, 0.72);
}

html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr {
    border-bottom-color: rgba(143, 177, 255, 0.14);
}

html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr:nth-child(odd):not(:first-child) {
    background: rgba(113, 147, 205, 0.055);
}

html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr > td:first-child:not([colspan]) {
    border-right-color: rgba(143, 177, 255, 0.14);
    color: #9ed8ff;
}

html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr > td:nth-child(2) {
    color: rgba(235, 240, 249, 0.82);
}

html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr.is-key-rule {
    background: linear-gradient(90deg, rgba(255, 111, 176, 0.13), rgba(123, 97, 255, 0.08));
}

html.travelnet-dark .airline-rules-document .drktbl td {
    background: linear-gradient(100deg, #0b73b8, #7154e8);
    color: #fff;
}

@media (max-width: 680px) {
    html.travelnet-dark .airline-rules-document .ruletbl_ap > tbody > tr > td:first-child:not([colspan]) {
        border-bottom-color: rgba(143, 207, 255, 0.18);
        background: rgba(73, 157, 220, 0.07);
    }
}

@media (max-width: 560px) {
    .travelnet-popup {
        padding: 10px;
    }

    .travelnet-popup-panel {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }

    .travelnet-popup-header {
        min-height: 52px;
        padding: 10px 10px 10px 14px;
    }

    .travelnet-popup-content {
        padding: 14px;
    }

}


@media (prefers-reduced-motion: reduce) {
    .travelnet-popup-panel {
        transition: none;
    }
}

.site-header {
    width: 100%;
    max-width: var(--travelnet-site-max-width);
    margin: 0 auto;
    min-height: 70px;
    padding: 10px clamp(22px, 3vw, 58px);
    background: #fff;
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr minmax(280px, auto);
    align-items: center;
    gap: 24px;
    box-shadow: 0 1px 0 rgba(21, 32, 51, 0.08);
    position: sticky;
    top: 0;
    z-index: 10;
}

.brand {
    display: inline-flex;
    align-items: center;
}

.brand img {
    width: 175px;
    max-height: 48px;
    height: auto;
    object-fit: contain;
}

.brand-logo-dark {
    display: none;
}

.primary-nav {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px;
    background: rgba(255, 255, 255, 0.8);
}

.nav-pill,
.utility-nav a,
.utility-nav button,
.ghost-button,
.chip {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    white-space: nowrap;
}

.nav-pill.is-active {
    border-color: var(--green);
    background: linear-gradient(180deg, #21aa17, #078b0d);
    color: #fff;
}

.nav-pill.is-offer-active {
    border-color: var(--coral);
    background: linear-gradient(180deg, #ff5b55, #ef3633);
    color: #fff;
}

.utility-nav {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}

.utility-nav a,
.utility-nav button {
    min-height: auto;
    padding: 6px 8px;
    border: 0;
    background: transparent;
}

.utility-nav button {
    cursor: pointer;
}

.utility-nav .travelbot-link {
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.72);
    color: var(--green-dark);
    font-weight: 700;
}

.utility-nav .currency,
.utility-nav .account-menu-toggle {
    gap: 7px;
    min-height: 34px;
    padding: 5px 10px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.72);
    color: var(--green-dark);
    font-weight: 700;
    line-height: 1;
}

.utility-nav .currency:hover,
.utility-nav .currency:focus-visible,
.utility-nav .account-menu-toggle:hover,
.utility-nav .account-menu-toggle:focus-visible,
.utility-nav .travelbot-link:hover,
.utility-nav .travelbot-link:focus-visible {
    border-color: rgba(21, 147, 15, 0.32);
    background: rgba(233, 248, 231, 0.95);
    color: var(--green-dark);
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.12);
    outline: none;
}

.utility-nav .travelbot-link.is-active {
    border-color: rgba(21, 147, 15, 0.34);
    background: var(--green);
    color: #fff;
}

.travelbot-link img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    background: #fff;
    box-shadow: 0 2px 7px rgba(21, 32, 51, 0.12);
}

.theme-toggle {
    position: relative;
    width: 58px;
    min-width: 58px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid rgba(21, 147, 15, 0.18) !important;
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.82) !important;
    color: var(--green-dark);
}

.theme-toggle-icon {
    position: absolute;
    top: 6px;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
}

.theme-toggle-sun {
    left: 7px;
}

.theme-toggle-moon {
    right: 7px;
}

.theme-toggle .icon {
    width: 16px;
    height: 16px;
}

.theme-toggle-thumb {
    position: absolute;
    top: 4px;
    left: 5px;
    z-index: 1;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 5px 12px rgba(21, 32, 51, 0.18);
    transition: transform 0.18s ease, background 0.18s ease;
}

html.travelnet-dark .theme-toggle-thumb {
    transform: translateX(25px);
    background: #19291f;
}

html.travelnet-dark .theme-toggle {
    border-color: rgba(127, 214, 126, 0.28) !important;
    background: rgba(11, 28, 16, 0.9) !important;
    color: #d9f8d8;
}

.currency-switcher {
    position: relative;
    flex: 0 0 auto;
}

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

.account-menu-toggle[aria-expanded="true"] {
    color: var(--green-dark);
}

.account-menu-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 55;
    display: grid;
    gap: 6px;
    width: min(360px, calc(100vw - 28px));
    max-height: min(560px, calc(100vh - 110px));
    overflow: auto;
    padding: 10px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 58px rgba(15, 35, 55, 0.18);
}

.account-menu-panel[hidden] {
    display: none;
}

.account-menu-title {
    padding: 8px 10px 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-menu-current {
    display: grid;
    gap: 3px;
    margin: 3px 0 4px;
    padding: 10px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 12px;
    background: rgba(233, 248, 231, 0.74);
}

.account-menu-current strong,
.account-menu-current small {
    display: block;
}

.account-menu-current small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.account-menu-form {
    margin: 0;
}

.utility-nav .account-menu-link,
.admin-console-account-menu .account-menu-link {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    justify-items: start;
    width: 100%;
    min-height: 58px;
    padding: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ink);
    text-align: left;
    text-decoration: none;
}

.account-menu-link .icon {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    color: var(--green);
}

.account-menu-link strong,
.account-menu-link small {
    display: block;
}

.account-menu-link strong {
    color: inherit;
    font-size: 14px;
}

.account-menu-link small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.account-menu-link:hover,
.account-menu-link:focus-visible {
    background: linear-gradient(135deg, rgba(233, 248, 231, 0.95), rgba(255, 255, 255, 0.96));
    color: var(--green-dark);
    outline: none;
}

.utility-nav .account-menu-form .account-menu-link,
.admin-console-account-menu .account-menu-form .account-menu-link {
    border: 0;
    cursor: pointer;
}

.currency {
    color: var(--ink);
}

.currency[aria-expanded="true"],
.account-menu-toggle[aria-expanded="true"] {
    border-color: rgba(21, 147, 15, 0.34);
    background: rgba(233, 248, 231, 0.96);
    color: var(--green-dark);
}

.flag {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 18px;
    border-radius: 2px;
    overflow: hidden;
    background: #eef3f7;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    box-shadow: 0 0 0 1px rgba(21, 32, 51, 0.12);
}

.flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.currency-menu {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 50;
    width: min(330px, calc(100vw - 28px));
    max-height: 460px;
    overflow: auto;
    padding: 10px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 58px rgba(15, 35, 55, 0.18);
}

.currency-menu[hidden] {
    display: none;
}

.currency-menu-title {
    padding: 8px 10px 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.utility-nav .currency-option {
    display: grid;
    grid-template-columns: 30px 1fr;
    justify-items: start;
    width: 100%;
    min-height: 54px;
    padding: 9px 10px;
    border-radius: 12px;
    gap: 10px;
    text-align: left;
}

.currency-option:hover,
.currency-option:focus,
.currency-option.is-active {
    background: linear-gradient(135deg, rgba(233, 248, 231, 0.95), rgba(255, 255, 255, 0.96));
    color: var(--green-dark);
}

.currency-option strong,
.currency-option small {
    display: block;
}

.currency-option small {
    color: var(--muted);
    font-size: 12px;
}

.site-main {
    width: 100%;
    max-width: var(--travelnet-site-max-width);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 58px) 40px;
    min-width: 0;
    position: relative;
    z-index: 1;
}

html.travelnet-dark .site-header {
    background:
        linear-gradient(180deg, rgba(12, 28, 18, 0.96), rgba(7, 17, 12, 0.94));
    box-shadow: 0 1px 0 rgba(127, 214, 126, 0.12);
    backdrop-filter: blur(18px);
}

html.travelnet-dark .brand img {
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.28));
}

html.travelnet-dark .brand {
    width: fit-content;
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

html.travelnet-dark .primary-nav {
    background: rgba(14, 28, 20, 0.68);
}

html.travelnet-dark .nav-pill,
html.travelnet-dark .utility-nav a,
html.travelnet-dark .utility-nav button,
html.travelnet-dark .ghost-button,
html.travelnet-dark .chip {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(18, 32, 25, 0.72);
    color: #edf6ef;
}

html.travelnet-dark .utility-nav .travelbot-link {
    border-color: rgba(127, 214, 126, 0.26);
    background: rgba(20, 49, 27, 0.78);
    color: #d9f8d8;
}

html.travelnet-dark .utility-nav .currency,
html.travelnet-dark .utility-nav .account-menu-toggle {
    border-color: rgba(127, 214, 126, 0.26);
    background: rgba(20, 49, 27, 0.78);
    color: #d9f8d8;
}

html.travelnet-dark .utility-nav .currency:hover,
html.travelnet-dark .utility-nav .currency:focus-visible,
html.travelnet-dark .utility-nav .account-menu-toggle:hover,
html.travelnet-dark .utility-nav .account-menu-toggle:focus-visible,
html.travelnet-dark .utility-nav .travelbot-link:hover,
html.travelnet-dark .utility-nav .travelbot-link:focus-visible,
html.travelnet-dark .utility-nav .currency[aria-expanded="true"],
html.travelnet-dark .utility-nav .account-menu-toggle[aria-expanded="true"] {
    border-color: rgba(127, 214, 126, 0.38);
    background: rgba(31, 69, 39, 0.88);
    color: #dfffe0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .currency-menu {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(15, 26, 20, 0.98);
    color: #edf6ef;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .account-menu-panel {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(15, 26, 20, 0.98);
    color: #edf6ef;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .account-menu-title,
html.travelnet-dark .account-menu-link small,
html.travelnet-dark .account-menu-current small {
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .utility-nav .account-menu-link {
    color: #edf6ef;
}

html.travelnet-dark .account-menu-current {
    border-color: rgba(127, 214, 126, 0.22);
    background: rgba(20, 49, 27, 0.62);
}

html.travelnet-dark .account-menu-current strong {
    color: #f4fff4;
}

html.travelnet-dark .account-menu-link .icon {
    color: #8ee68a;
}

html.travelnet-dark .account-menu-link:hover,
html.travelnet-dark .account-menu-link:focus-visible {
    background: rgba(31, 69, 39, 0.72);
    color: #dfffe0;
}

html.travelnet-dark .travelnet-popup-backdrop {
    background:
        radial-gradient(circle at 18% 10%, rgba(21, 147, 15, 0.18), transparent 30%),
        radial-gradient(circle at 84% 12%, rgba(8, 121, 201, 0.12), transparent 30%),
        rgba(3, 10, 8, 0.78);
    backdrop-filter: blur(5px);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) {
    border-color: rgba(164, 221, 176, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, rgba(17, 31, 38, 0.98), rgba(7, 16, 12, 0.98));
    color: #edf6ef;
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.54),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 0 34px rgba(73, 220, 83, 0.10);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-header {
    border-bottom-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(90deg, rgba(16, 56, 29, 0.94), rgba(8, 20, 14, 0.98) 58%, rgba(8, 121, 201, 0.12));
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-title {
    color: #f3fbf5;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-close {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.68);
    color: #d9f8d8;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-close:hover,
html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-close:focus-visible {
    border-color: rgba(255, 139, 132, 0.42);
    color: #ffbeb9;
    outline: 2px solid rgba(255, 139, 132, 0.16);
    outline-offset: 2px;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-content {
    background:
        radial-gradient(circle at 50% 0%, rgba(73, 220, 83, 0.10), transparent 38%),
        linear-gradient(180deg, rgba(12, 27, 20, 0.98), rgba(7, 16, 12, 0.98));
    color: #edf6ef;
}

html.travelnet-dark .travelnet-popup-frame {
    border: 1px solid rgba(164, 221, 176, 0.14);
    border-radius: 14px;
    background:
        radial-gradient(circle at 20% 0%, rgba(73, 220, 83, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(12, 27, 20, 0.98), rgba(7, 16, 12, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 32px rgba(0, 0, 0, 0.24);
    color-scheme: dark;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait) .travelnet-popup-empty {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .hotel-selection-confirm {
    color: #edf6ef;
}

html.travelnet-dark .hotel-selection-confirm-note {
    color: #b8c8bd;
}

html.travelnet-dark .hotel-selection-confirm-list div {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(6, 20, 15, 0.84);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark .hotel-selection-confirm-list dt,
html.travelnet-dark .hotel-selection-confirm-list dd span {
    color: #9fb1a5;
}

html.travelnet-dark .hotel-selection-confirm-list dd {
    color: #f3fbf5;
}

html.travelnet-dark .hotel-selection-confirm-actions {
    border-top-color: rgba(164, 221, 176, 0.16);
}

html.travelnet-dark .hotel-selection-confirm-cancel {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(6, 20, 15, 0.86);
    color: #dcebe0;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}

html.travelnet-dark .hotel-selection-confirm-cancel:hover,
html.travelnet-dark .hotel-selection-confirm-cancel:focus-visible {
    border-color: rgba(164, 221, 176, 0.52);
    color: #f4fff6;
}

html.travelnet-dark .hotel-selection-confirm-ok {
    border-color: #4cc0ff;
    background: linear-gradient(180deg, #168ee0, #0b67ad);
    color: #fff;
    box-shadow: 0 16px 34px rgba(15, 117, 200, 0.28);
}

html.travelnet-dark .hotel-selection-confirm-ok:hover,
html.travelnet-dark .hotel-selection-confirm-ok:focus-visible {
    border-color: #7bd2ff;
    background: linear-gradient(180deg, #23a3f1, #0f76c9);
}

html.travelnet-dark .currency-option:hover,
html.travelnet-dark .currency-option:focus,
html.travelnet-dark .currency-option.is-active {
    background: linear-gradient(135deg, rgba(20, 49, 27, 0.96), rgba(18, 32, 25, 0.96));
    color: #d9f8d8;
}

.hero-band,
.offers-hero {
    border-radius: var(--radius-card);
    background:
        linear-gradient(90deg, rgba(0, 115, 189, 0.94), rgba(7, 155, 214, 0.68)),
        url("../images/beach1.jpg") center / cover;
    padding: clamp(18px, 3vw, 34px);
    box-shadow: var(--shadow);
}

.hotel-hero {
    background:
        linear-gradient(90deg, rgba(0, 69, 169, 0.92), rgba(0, 126, 207, 0.58) 58%, rgba(255, 255, 255, 0.2)),
        url("../images/hotel-island-resort-hero.png") center / cover;
}

.flight-hero {
    position: relative;
    z-index: 20;
    isolation: isolate;
    width: calc(100vw - 44px);
    height: 600px;
    margin-left: calc(50% - 50vw + 22px);
    margin-right: calc(50% - 50vw + 22px);
    padding: 36px 44px 0;
    overflow: visible;
    border-radius: 12px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 13%, rgba(255, 213, 122, 0.68) 0, rgba(255, 213, 122, 0.2) 18%, transparent 36%),
        radial-gradient(circle at 13% 10%, rgba(90, 220, 255, 0.5) 0, rgba(90, 220, 255, 0.18) 24%, transparent 42%),
        radial-gradient(circle at 58% 86%, rgba(255, 68, 63, 0.3) 0, transparent 35%),
        linear-gradient(105deg, rgba(8, 30, 70, 0.94) 0%, rgba(0, 87, 150, 0.78) 44%, rgba(0, 148, 215, 0.36) 68%, rgba(255, 255, 255, 0.18) 100%),
        url("../images/flight-hero-island.png") center / cover;
    box-shadow: 0 24px 70px rgba(11, 42, 86, 0.22);
}

.flight-hero::before {
    content: "";
    position: absolute;
    top: 72px;
    left: 49%;
    z-index: 0;
    width: 250px;
    height: 78px;
    border-top: 2px dashed rgba(255, 255, 255, 0.66);
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 17% 46%, rgba(255, 255, 255, 0.58) 0 4px, transparent 8px),
        radial-gradient(ellipse at 33% 42%, rgba(255, 255, 255, 0.5) 0 3px, transparent 7px),
        radial-gradient(ellipse at 50% 38%, rgba(255, 255, 255, 0.42) 0 3px, transparent 7px),
        radial-gradient(ellipse at 68% 34%, rgba(255, 255, 255, 0.34) 0 2px, transparent 6px);
    filter: blur(0.2px);
    opacity: 0;
    pointer-events: none;
    transform-origin: 85% 50%;
    animation: flightTrail 8.5s ease-in-out -3.2s infinite;
}

.flight-hero::after {
    content: "\2708";
    position: absolute;
    top: 64px;
    left: 55%;
    z-index: 0;
    color: #fff;
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    font-size: 54px;
    line-height: 1;
    text-shadow: 0 8px 22px rgba(0, 37, 95, 0.3);
    pointer-events: none;
    animation: flightPlane 8.5s ease-in-out -3.2s infinite;
}

.flight-hero .hero-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1.72fr) minmax(360px, 0.78fr);
    gap: clamp(32px, 3vw, 52px);
    align-items: start;
}

@keyframes flightPlane {
    0% {
        opacity: 0;
        transform: translate3d(-210px, 74px, 0) rotate(-17deg) scale(0.92);
    }

    14% {
        opacity: 0.95;
    }

    58% {
        opacity: 1;
        transform: translate3d(20px, 18px, 0) rotate(-17deg) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate3d(250px, -28px, 0) rotate(-17deg) scale(1.05);
    }
}

@keyframes flightTrail {
    0% {
        opacity: 0;
        transform: translate3d(-330px, 104px, 0) rotate(-13deg) scaleX(0.72);
    }

    18% {
        opacity: 0.72;
    }

    58% {
        opacity: 0.58;
        transform: translate3d(-96px, 48px, 0) rotate(-13deg) scaleX(0.95);
    }

    100% {
        opacity: 0;
        transform: translate3d(132px, 4px, 0) rotate(-13deg) scaleX(1.08);
    }
}

@keyframes flightPlaneCompact {
    0% {
        opacity: 0;
        transform: translate3d(-92px, 42px, 0) rotate(-17deg) scale(0.72);
    }

    16% {
        opacity: 0.96;
    }

    62% {
        opacity: 1;
        transform: translate3d(-10px, 20px, 0) rotate(-17deg) scale(0.78);
    }

    100% {
        opacity: 0;
        transform: translate3d(78px, -2px, 0) rotate(-17deg) scale(0.82);
    }
}

@keyframes flightTrailCompact {
    0% {
        opacity: 0;
        transform: translate3d(-124px, 60px, 0) rotate(-13deg) scaleX(0.48);
    }

    18% {
        opacity: 0.62;
    }

    62% {
        opacity: 0.52;
        transform: translate3d(-44px, 30px, 0) rotate(-13deg) scaleX(0.62);
    }

    100% {
        opacity: 0;
        transform: translate3d(38px, 4px, 0) rotate(-13deg) scaleX(0.72);
    }
}

@keyframes hotelKeycardDrift {
    0% {
        opacity: 0;
        transform: translate3d(-210px, 74px, 0) rotate(-10deg) scale(0.88);
    }

    16% {
        opacity: 0.96;
    }

    58% {
        opacity: 1;
        transform: translate3d(20px, 18px, 0) rotate(6deg) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate3d(250px, -28px, 0) rotate(12deg) scale(1.04);
    }
}

@keyframes hotelSparkleTrail {
    0% {
        opacity: 0;
        transform: translate3d(-330px, 104px, 0) rotate(-13deg) scaleX(0.72);
    }

    18% {
        opacity: 0.72;
    }

    58% {
        opacity: 0.58;
        transform: translate3d(-96px, 48px, 0) rotate(-13deg) scaleX(0.95);
    }

    100% {
        opacity: 0;
        transform: translate3d(132px, 4px, 0) rotate(-13deg) scaleX(1.08);
    }
}

@keyframes hotelKeycardDriftCompact {
    0% {
        opacity: 0;
        transform: translate3d(-92px, 42px, 0) rotate(-10deg) scale(0.68);
    }

    18% {
        opacity: 0.95;
    }

    60% {
        opacity: 1;
        transform: translate3d(-10px, 20px, 0) rotate(5deg) scale(0.76);
    }

    100% {
        opacity: 0;
        transform: translate3d(78px, -2px, 0) rotate(10deg) scale(0.8);
    }
}

@keyframes hotelSparkleTrailCompact {
    0% {
        opacity: 0;
        transform: translate3d(-124px, 60px, 0) rotate(-13deg) scaleX(0.48);
    }

    18% {
        opacity: 0.64;
    }

    60% {
        opacity: 0.52;
        transform: translate3d(-44px, 30px, 0) rotate(-13deg) scaleX(0.62);
    }

    100% {
        opacity: 0;
        transform: translate3d(38px, 4px, 0) rotate(-13deg) scaleX(0.72);
    }
}

@media (prefers-reduced-motion: reduce) {
    .flight-hero::before,
    .flight-hero::after,
    .hotel-hero::before,
    .hotel-hero::after {
        animation: none;
    }

    .flight-hero::before {
        opacity: 0.48;
        transform: translate3d(-96px, 48px, 0) rotate(-13deg) scaleX(0.95);
    }

    .flight-hero::after {
        opacity: 0.95;
        transform: translate3d(20px, 18px, 0) rotate(-17deg) scale(1);
    }

    .hotel-hero::before {
        opacity: 0.52;
        transform: translate3d(-54px, 28px, 0) rotate(-9deg) scaleX(0.92);
    }

    .hotel-hero::after {
        opacity: 0.95;
        transform: translate3d(8px, 8px, 0) rotate(6deg) scale(1);
    }

    .content-panel:hover::before,
    .content-panel:focus-within::before {
        animation: none;
    }
}

.flight-hero .search-card-flight {
    position: relative;
    z-index: 60;
    isolation: isolate;
    display: grid;
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(252px, 286px);
    column-gap: 18px;
    align-items: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
}

.flight-hero .search-card-flight::before {
    content: "";
    position: absolute;
    inset: -20px -18px -24px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.23), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.28), transparent 34%),
        rgba(6, 45, 82, 0.18);
    box-shadow: 0 24px 70px rgba(4, 30, 68, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    backdrop-filter: blur(2px);
}

.flight-hero .search-heading,
.flight-hero .segmented,
.flight-hero .route-grid,
.flight-hero .traveller-row {
    grid-column: 1 / -1;
}

.flight-hero .segmented {
    justify-self: start;
    width: fit-content;
    max-width: 100%;
}

.flight-hero .search-heading {
    display: block;
    margin-bottom: 10px;
}

/* Keep the flight heading and tagline beside one another without altering either existing font size. */
.flight-hero .flight-search-heading-copy {
    display: flex; /* Place the heading and tagline on the same row when the available width permits it. */
    align-items: baseline; /* Align the differently sized text by its baseline for a tidy single-line appearance. */
    column-gap: 16px; /* Preserve clear horizontal breathing room between the heading and tagline. */
    row-gap: 4px; /* Keep a small separation if a narrow screen requires the copy to wrap. */
    flex-wrap: wrap; /* Prevent either phrase from overflowing the search card on narrow screens. */
}

/* Remove the paragraph's former top margin because the flex gap now controls spacing between the two phrases. */
.flight-hero .flight-search-heading-copy p {
    margin: 0; /* Align the tagline cleanly while retaining its existing type size, weight, and colour. */
}

.flight-hero .heading-icon {
    display: none;
}

.flight-hero .search-heading h1 {
    color: #fff;
    font-size: clamp(34px, 3.6vw, 42px);
    letter-spacing: 0;
    text-shadow: 0 8px 24px rgba(3, 24, 55, 0.38);
}

.flight-hero .search-heading p {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-shadow: 0 6px 18px rgba(3, 24, 55, 0.32);
}

.flight-hero .route-grid {
    grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    gap: 8px 18px;
}

.flight-hero .field-card {
    position: relative;
    gap: 0;
    color: var(--ink);
    font-size: 13px;
}

.flight-hero .field-card > .field-label {
    position: absolute;
    top: 8px;
    left: 14px;
    z-index: 1;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    font-size: 13px;
    font-weight: 500;
}

.flight-hero .field-card > .field-control {
    min-height: 56px;
    padding: 20px 14px 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.flight-hero .field-card.is-invalid > .field-control {
    border-color: rgba(255, 68, 63, 0.72);
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.18), 0 0 0 3px rgba(255, 68, 63, 0.10);
}

.flight-hero .field-card.is-invalid > .field-label {
    color: var(--coral-dark);
    font-weight: 800;
}

.flight-hero .field-card > .field-control input {
    font-size: 14px;
    font-weight: 700;
}

.flight-hero .search-card-flight.is-oneway .route-grid .field-card:nth-of-type(3) {
    grid-column: 1 / 4;
}

.oneway-date-placeholder {
    display: none;
}

.flight-hero .search-card-flight.is-oneway .oneway-date-placeholder {
    display: block;
    grid-column: 3 / 4;
    grid-row: 2;
}

.flight-hero .swap-button {
    align-self: end;
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.flight-hero .traveller-row {
    grid-template-columns: 1fr 1fr 1fr 0.95fr;
    gap: 0;
    margin: 8px 0 8px;
    padding: 10px 18px 8px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.98);
    color: var(--ink);
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.flight-hero .traveller-row .stepper {
    padding-right: 18px;
    margin-right: 18px;
    border-right: 1px solid var(--line);
}

.flight-hero .stepper {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 2px;
    align-self: start;
}

.flight-hero .traveller-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
}

.flight-hero .stepper-body {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.flight-hero .traveller-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 24px;
    color: var(--green);
    flex: 0 0 auto;
}

.flight-hero .traveller-icon .icon {
    width: 18px;
    height: 18px;
}

.flight-hero .stepper small {
    line-height: 14px;
    margin-left: 26px;
    font-size: 11px;
    color: var(--muted);
}

.flight-hero .stepper-controls {
    width: 116px;
    max-width: 116px;
    padding: 0 32px;
    border-color: #d8e0ea;
    border-radius: 7px;
}

.flight-hero .stepper-controls button,
.flight-hero .stepper-controls input {
    height: 28px;
}

.flight-hero .stepper-controls button {
    width: 32px;
    color: var(--ink);
}

.flight-hero .toggle-card {
    align-self: start;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 6px 10px;
    padding-left: 2px;
    min-height: auto;
    font-size: 0;
}

.flight-hero .toggle-card::before {
    content: "Direct flights only";
    grid-column: 1 / -1;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}

.flight-hero .toggle-card span {
    grid-column: 1;
    grid-row: 2;
}

.flight-hero .toggle-card input {
    grid-column: 1;
    grid-row: 2;
}

.flight-hero .flight-advanced-options {
    grid-column: 1 / 2;
    margin-top: 0;
    padding: 5px 0 0;
    border-top: 1px solid rgba(216, 224, 234, 0.95);
    color: var(--ink);
}

.flight-hero .flight-advanced-options summary {
    min-height: 24px;
    margin-bottom: 6px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 38, 95, 0.28);
}

.flight-hero .flight-advanced-options > .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.flight-hero .flight-advanced-options .field-card {
    min-width: 0;
    font-size: 12px;
}

.flight-hero .flight-advanced-options .field-card select,
.flight-hero .flight-advanced-options .select-dropdown-toggle {
    width: 100%;
    min-width: 0;
    min-height: 36px;
}

.flight-hero .flight-advanced-options .select-dropdown-current {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-hero .search-card .primary-cta {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 3;
    grid-column: 2 / 3;
    grid-row: 5;
    align-self: start;
    justify-self: stretch;
    width: min(286px, 100%);
    min-height: 58px;
    float: none;
    margin: 42px 0 0;
    border: 2px solid rgba(255, 255, 255, 0.78);
    border-radius: 10px;
    font-size: 21px;
    box-shadow: 0 16px 34px rgba(255, 68, 63, 0.26), 0 8px 20px rgba(4, 32, 70, 0.2);
}

.flight-hero .feature-card-flight {
    height: 478px;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: var(--ink);
    box-shadow: 0 26px 60px rgba(4, 32, 70, 0.22);
    overflow: hidden;
}

.flight-hero .feature-card-flight > img {
    height: 306px;
}

.flight-hero .feature-card-body {
    padding: 20px 22px;
    align-items: flex-start;
}

.flight-hero .feature-card-body h2 {
    font-size: 23px;
    line-height: 1.22;
    white-space: normal;
}

.flight-hero .price-block strong {
    font-size: 32px;
    white-space: nowrap;
}

.flight-hero .price-block {
    flex: 0 0 auto;
    padding-left: 18px;
}

.flight-hero + .trust-strip {
    margin: 18px 0 16px;
}

.hotel-hero {
    position: relative;
    isolation: isolate;
    width: calc(100vw - 44px);
    min-height: 600px;
    margin-left: calc(50% - 50vw + 22px);
    margin-right: calc(50% - 50vw + 22px);
    padding: 36px 4px;
    overflow: visible;
    border-radius: 12px;
    color: #fff;
    background:
        radial-gradient(circle at 76% 16%, rgba(255, 206, 116, 0.72) 0, rgba(255, 206, 116, 0.22) 18%, transparent 36%),
        radial-gradient(circle at 15% 8%, rgba(75, 218, 190, 0.46) 0, rgba(75, 218, 190, 0.2) 24%, transparent 42%),
        radial-gradient(circle at 54% 88%, rgba(255, 68, 63, 0.32) 0, transparent 36%),
        linear-gradient(105deg, rgba(8, 30, 55, 0.92) 0%, rgba(3, 85, 118, 0.77) 43%, rgba(0, 126, 207, 0.36) 66%, rgba(255, 255, 255, 0.18) 100%),
        url("../images/hotel-island-resort-hero.png") center / cover;
    box-shadow: 0 24px 70px rgba(11, 42, 70, 0.22);
}

.hotel-hero::before {
    content: "";
    position: absolute;
    top: 72px;
    left: 49%;
    z-index: 0;
    width: 250px;
    height: 78px;
    border-top: 2px dotted rgba(255, 232, 159, 0.74);
    border-radius: 50%;
    background:
        radial-gradient(circle at 16% 47%, rgba(255, 255, 255, 0.8) 0 3px, transparent 6px),
        radial-gradient(circle at 30% 42%, rgba(255, 220, 112, 0.78) 0 3px, transparent 7px),
        radial-gradient(circle at 47% 38%, rgba(255, 255, 255, 0.68) 0 2px, transparent 6px),
        radial-gradient(circle at 66% 34%, rgba(255, 220, 112, 0.62) 0 2px, transparent 6px),
        radial-gradient(circle at 82% 30%, rgba(255, 255, 255, 0.54) 0 2px, transparent 5px);
    opacity: 0;
    pointer-events: none;
    transform-origin: 85% 50%;
    animation: hotelSparkleTrail 8s ease-in-out -2.6s infinite;
}

.hotel-hero::after {
    content: "";
    position: absolute;
    top: 64px;
    left: 55%;
    z-index: 0;
    width: 58px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 9px;
    background:
        linear-gradient(90deg, #d9ad3d, #ffe79c) 10px 10px / 15px 10px no-repeat,
        linear-gradient(90deg, rgba(21, 32, 51, 0.28), rgba(21, 32, 51, 0.06)) 32px 13px / 16px 3px no-repeat,
        linear-gradient(90deg, rgba(21, 32, 51, 0.2), rgba(21, 32, 51, 0.04)) 32px 21px / 12px 3px no-repeat,
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.88));
    box-shadow: 0 10px 26px rgba(0, 38, 95, 0.2), 0 0 18px rgba(255, 224, 128, 0.28);
    opacity: 0;
    pointer-events: none;
    animation: hotelKeycardDrift 8s ease-in-out -2.6s infinite;
}

.hotel-hero .search-card-hotel::before {
    content: "";
    position: absolute;
    inset: -20px -18px -24px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.28), transparent 34%),
        rgba(9, 47, 72, 0.18);
    box-shadow: 0 24px 70px rgba(5, 30, 52, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    backdrop-filter: blur(2px);
}

.hotel-hero .hero-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(690px, 0.60fr) minmax(470px, 0.40fr);
    gap: 44px;
    align-items: start;
}

.hotel-hero .search-card-hotel {
    position: relative;
    z-index: 1;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 286px;
    column-gap: 18px;
    align-items: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
}

.hotel-hero .search-heading,
.hotel-hero .hotel-route-grid,
.hotel-hero .hotel-guests {
    grid-column: 1 / -1;
}

.hotel-hero .search-heading {
    display: block;
    margin-bottom: 10px;
}

.hotel-hero .hotel-route-grid,
.hotel-hero .hotel-guests,
.hotel-hero .hotel-advanced-options {
    transform: translateY(2px);
}

.hotel-hero .heading-icon {
    display: none;
}

.hotel-hero .search-heading h1 {
    color: #fff;
    font-size: clamp(34px, 3.6vw, 42px);
    letter-spacing: 0;
    text-shadow: 0 8px 24px rgba(3, 24, 45, 0.36);
}

.hotel-hero .search-heading p {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-shadow: 0 6px 18px rgba(3, 24, 45, 0.3);
}

.hotel-hero .hotel-route-grid {
    position: relative;
    z-index: 20;
    gap: 8px 18px;
    overflow: visible;
}

.hotel-hero .field-card {
    position: relative;
    gap: 0;
    color: var(--ink);
    font-size: 13px;
}

.hotel-hero .hotel-route-grid .field-card {
    z-index: 1;
}

.hotel-hero .hotel-route-grid .field-card:nth-child(1),
.hotel-hero .hotel-route-grid .field-card:nth-child(2) {
    z-index: 320;
}

.hotel-hero .hotel-route-grid .field-card:focus-within,
.hotel-hero .hotel-advanced-options .field-card:focus-within {
    z-index: 360;
}

.hotel-hero .field-card > .field-label {
    position: absolute;
    top: 8px;
    left: 14px;
    z-index: 1;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    font-size: 13px;
    font-weight: 500;
}

.hotel-hero .field-card > .field-control {
    min-height: 56px;
    padding: 20px 14px 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.hotel-hero .field-card > .field-control input {
    font-size: 14px;
    font-weight: 700;
}

.hotel-hero .hotel-guests {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 8px 0 8px;
    padding: 10px 18px 8px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.98);
    color: var(--ink);
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.hotel-hero .hotel-guests .stepper {
    padding-right: 18px;
    margin-right: 18px;
    border-right: 1px solid var(--line);
}

.hotel-hero .hotel-guests .stepper:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
}

.hotel-hero .stepper {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 2px;
    align-self: start;
}

.hotel-hero .traveller-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
}

.hotel-hero .stepper-body {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.hotel-hero .traveller-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 24px;
    color: var(--green);
    flex: 0 0 auto;
}

.hotel-hero .traveller-icon .icon {
    width: 18px;
    height: 18px;
}

.hotel-hero .stepper small {
    line-height: 14px;
    margin-left: 26px;
    font-size: 11px;
    color: var(--muted);
}

.hotel-hero .stepper-controls {
    width: 116px;
    max-width: 116px;
    padding: 0 32px;
    border-color: #d8e0ea;
    border-radius: 7px;
}

.hotel-hero .stepper-controls button,
.hotel-hero .stepper-controls input {
    height: 28px;
}

.hotel-hero .stepper-controls button {
    width: 32px;
    color: var(--ink);
}

.hotel-hero .hotel-advanced-options {
    grid-column: 1 / 2;
    margin-top: 0;
    padding: 5px 0 0;
    border-top: 1px solid rgba(216, 224, 234, 0.95);
    color: var(--ink);
}

.hotel-hero .hotel-advanced-options summary {
    min-height: 24px;
    margin-bottom: 6px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 38, 95, 0.28);
}

.hotel-hero .hotel-advanced-options > .form-grid {
    gap: 8px;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(0, 38, 95, 0.18);
}

.hotel-hero .hotel-advanced-options .field-card {
    font-size: 12px;
}

.hotel-hero .hotel-advanced-options .field-card select {
    min-height: 36px;
}

.hotel-hero .search-card .primary-cta {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 3;
    grid-column: 2 / 3;
    grid-row: 4;
    align-self: start;
    justify-self: stretch;
    width: 286px;
    min-height: 58px;
    float: none;
    margin: 42px 0 0;
    border: 2px solid rgba(255, 255, 255, 0.78);
    border-radius: 10px;
    font-size: 21px;
    box-shadow: 0 16px 34px rgba(255, 68, 63, 0.26), 0 8px 20px rgba(4, 32, 55, 0.2);
}

.hotel-hero .feature-card-hotel {
    margin-top: -20px;
    min-height: 478px;
    height: auto;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: var(--ink);
    box-shadow: 0 26px 60px rgba(4, 32, 55, 0.22);
    overflow: hidden;
}

.hotel-hero .feature-card-hotel > img {
    height: 286px;
}

.hotel-hero .feature-card-body {
    padding: 20px 22px;
}

.hotel-hero .feature-card-body h2 {
    font-size: 23px;
    white-space: normal;
}

.hotel-hero .price-block strong {
    font-size: 32px;
    white-space: nowrap;
}

.hotel-hero .price-block {
    flex: 0 0 auto;
    padding-left: 18px;
}

.hotel-hero .feature-list {
    padding: 0 22px 18px;
}

html.travelnet-dark body.page-hotels {
    background:
        radial-gradient(circle at 18% 5%, rgba(21, 147, 15, 0.2), transparent 30%),
        radial-gradient(circle at 86% 18%, rgba(8, 121, 201, 0.12), transparent 28%),
        linear-gradient(180deg, var(--hotel-dark-page) 0%, #0a141b 45%, #08100f 100%);
}

html.travelnet-dark body.page-hotels .site-main {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-hotels .nav-pill.is-active {
    border-color: rgba(127, 214, 126, 0.7);
    background:
        linear-gradient(180deg, rgba(31, 182, 23, 0.96), rgba(8, 139, 13, 0.92));
    color: #ffffff;
    box-shadow:
        0 0 0 1px rgba(178, 239, 178, 0.18),
        0 0 24px rgba(21, 147, 15, 0.46),
        0 12px 26px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark body.page-hotels .hotel-hero {
    color: var(--hotel-dark-text);
    background:
        radial-gradient(circle at 78% 15%, rgba(21, 147, 15, 0.28) 0, rgba(21, 147, 15, 0.1) 24%, transparent 42%),
        radial-gradient(circle at 18% 10%, rgba(8, 121, 201, 0.18) 0, rgba(8, 121, 201, 0.08) 28%, transparent 48%),
        linear-gradient(105deg, rgba(4, 12, 19, 0.96) 0%, rgba(9, 22, 30, 0.92) 45%, rgba(14, 37, 45, 0.74) 72%, rgba(6, 16, 22, 0.86) 100%),
        var(--hotel-dark-hero-image) center / cover;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-hotels .hotel-hero::before {
    border-top-color: rgba(127, 214, 126, 0.56);
    background:
        radial-gradient(circle at 16% 47%, rgba(224, 255, 226, 0.72) 0 3px, transparent 6px),
        radial-gradient(circle at 30% 42%, rgba(127, 214, 126, 0.72) 0 3px, transparent 7px),
        radial-gradient(circle at 47% 38%, rgba(224, 255, 226, 0.58) 0 2px, transparent 6px),
        radial-gradient(circle at 66% 34%, rgba(127, 214, 126, 0.54) 0 2px, transparent 6px),
        radial-gradient(circle at 82% 30%, rgba(224, 255, 226, 0.48) 0 2px, transparent 5px);
}

html.travelnet-dark body.page-hotels .hotel-hero::after {
    border-color: rgba(221, 244, 226, 0.38);
    background:
        linear-gradient(90deg, #15930f, #8ee68a) 10px 10px / 15px 10px no-repeat,
        linear-gradient(90deg, rgba(237, 246, 239, 0.28), rgba(237, 246, 239, 0.08)) 32px 13px / 16px 3px no-repeat,
        linear-gradient(90deg, rgba(237, 246, 239, 0.22), rgba(237, 246, 239, 0.06)) 32px 21px / 12px 3px no-repeat,
        linear-gradient(135deg, rgba(24, 43, 50, 0.96), rgba(10, 24, 31, 0.88));
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.36), 0 0 24px rgba(21, 147, 15, 0.26);
}

html.travelnet-dark body.page-hotels .hotel-hero .search-card-hotel::before {
    border-color: rgba(164, 221, 176, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 36%),
        var(--hotel-dark-panel);
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

html.travelnet-dark body.page-hotels .hotel-hero .search-heading h1,
html.travelnet-dark body.page-hotels .hotel-hero .search-heading p {
    color: var(--hotel-dark-text);
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card,
html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-label,
html.travelnet-dark body.page-hotels .hotel-hero .traveller-label {
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-control,
html.travelnet-dark body.page-hotels .hotel-hero .hotel-guests,
html.travelnet-dark body.page-hotels .hotel-hero .hotel-advanced-options > .form-grid {
    border-color: var(--hotel-dark-border);
    background: var(--hotel-dark-control);
    color: var(--hotel-dark-text);
    box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-control:focus-within,
html.travelnet-dark body.page-hotels .hotel-hero .hotel-advanced-options .field-card:focus-within > .field-control {
    border-color: var(--hotel-dark-border-strong);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.18),
        0 18px 36px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-control input,
html.travelnet-dark body.page-hotels .hotel-hero .hotel-advanced-options .field-card select,
html.travelnet-dark body.page-hotels .hotel-hero .stepper-controls input {
    background: transparent;
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-control input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark body.page-hotels .hotel-hero .field-card > .field-control .icon,
html.travelnet-dark body.page-hotels .hotel-hero .traveller-icon {
    color: #8ee68a;
}

html.travelnet-dark body.page-hotels .hotel-hero .hotel-guests .stepper {
    border-right-color: rgba(164, 221, 176, 0.16);
}

html.travelnet-dark body.page-hotels .hotel-hero .stepper small {
    color: rgba(242, 247, 244, 0.58);
}

html.travelnet-dark body.page-hotels .hotel-hero .stepper-controls {
    border-color: rgba(164, 221, 176, 0.2);
    background: rgba(4, 12, 18, 0.56);
}

html.travelnet-dark body.page-hotels .hotel-hero .stepper-controls button {
    background: transparent;
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-hotels .hotel-hero .hotel-advanced-options {
    border-top-color: rgba(164, 221, 176, 0.2);
}

html.travelnet-dark body.page-hotels .hotel-hero .hotel-advanced-options summary {
    color: #8ee68a;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.travelnet-dark body.page-hotels .hotel-hero .search-card .primary-cta {
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(180deg, #ff625d, var(--coral-dark));
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card-hotel {
    border-color: rgba(164, 221, 176, 0.22);
    background:
        linear-gradient(180deg, rgba(19, 33, 40, 0.96), rgba(10, 20, 27, 0.96));
    color: var(--hotel-dark-text);
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card-hotel > img {
    filter: brightness(0.76) saturate(0.95) contrast(1.04);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card-body {
    border-top: 1px solid rgba(164, 221, 176, 0.12);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card-body h2 {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-hotels .hotel-hero .price-block {
    border-left-color: rgba(164, 221, 176, 0.18);
}

html.travelnet-dark body.page-hotels .hotel-hero .price-block strong {
    color: #ff6a65;
    text-shadow: 0 0 18px rgba(255, 68, 63, 0.2);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-list span {
    border: 1px solid rgba(164, 221, 176, 0.14);
    background: rgba(7, 16, 22, 0.68);
    color: rgba(242, 247, 244, 0.76);
}

html.travelnet-dark body.page-hotels .hotel-hero .heart-button {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(4, 12, 18, 0.72);
    color: #f2f7f4;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-hotels .trust-strip,
html.travelnet-dark body.page-hotels .content-panel {
    border-color: var(--hotel-dark-border);
    background:
        linear-gradient(180deg, rgba(18, 33, 40, 0.88), rgba(10, 21, 28, 0.86));
    color: var(--hotel-dark-text);
    box-shadow:
        0 22px 56px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark body.page-hotels .trust-icon,
html.travelnet-dark body.page-hotels .heading-icon {
    background: rgba(21, 147, 15, 0.18);
    color: #8ee68a;
    box-shadow: inset 0 0 0 1px rgba(127, 214, 126, 0.18);
}

html.travelnet-dark body.page-hotels .trust-item small,
html.travelnet-dark body.page-hotels .section-heading p,
html.travelnet-dark body.page-hotels .destination-card p,
html.travelnet-dark body.page-hotels .feature-card p {
    color: var(--hotel-dark-muted);
}

html.travelnet-dark body.page-hotels .hotel-brand-panel .logo-card,
html.travelnet-dark body.page-hotels .destination-card {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 18, 25, 0.78);
    color: var(--hotel-dark-text);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
}

html.travelnet-dark body.page-hotels .hotel-brand-panel .logo-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(221, 235, 229, 0.9));
}

html.travelnet-dark body.page-hotels .destination-card img {
    filter: brightness(0.68) saturate(0.9);
}

html.travelnet-dark body.page-hotels .destination-card a,
html.travelnet-dark body.page-hotels .section-heading a {
    color: #8ee68a;
}

html.travelnet-dark body.page-hotels .hotel-suggestions {
    border-color: rgba(127, 214, 126, 0.24);
    background:
        linear-gradient(180deg, rgba(13, 25, 31, 0.98), rgba(7, 16, 22, 0.98));
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.44);
}

html.travelnet-dark body.page-hotels .hotel-suggestion:hover,
html.travelnet-dark body.page-hotels .hotel-suggestion:focus,
html.travelnet-dark body.page-hotels .hotel-suggestion.is-active {
    background: rgba(21, 147, 15, 0.18);
}

html.travelnet-dark body.page-flights {
    background:
        radial-gradient(circle at 18% 5%, rgba(21, 147, 15, 0.18), transparent 30%),
        radial-gradient(circle at 86% 16%, rgba(8, 121, 201, 0.16), transparent 30%),
        linear-gradient(180deg, #061018 0%, #0a141b 45%, #07100f 100%);
}

html.travelnet-dark body.page-flights .site-main {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-flights .nav-pill.is-active {
    border-color: rgba(127, 214, 126, 0.7);
    background:
        linear-gradient(180deg, rgba(31, 182, 23, 0.96), rgba(8, 139, 13, 0.92));
    color: #ffffff;
    box-shadow:
        0 0 0 1px rgba(178, 239, 178, 0.18),
        0 0 24px rgba(21, 147, 15, 0.46),
        0 12px 26px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark body.page-flights .flight-hero {
    color: var(--hotel-dark-text);
    background:
        radial-gradient(circle at 78% 15%, rgba(21, 147, 15, 0.26) 0, rgba(21, 147, 15, 0.1) 24%, transparent 42%),
        radial-gradient(circle at 18% 10%, rgba(8, 121, 201, 0.18) 0, rgba(8, 121, 201, 0.08) 28%, transparent 48%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.98) 0%, rgba(8, 21, 30, 0.94) 43%, rgba(10, 32, 42, 0.72) 72%, rgba(5, 14, 20, 0.88) 100%),
        var(--flight-dark-hero-image) center / cover;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-flights .flight-hero::before {
    border-top-color: rgba(127, 214, 126, 0.54);
    background:
        radial-gradient(ellipse at 17% 46%, rgba(224, 255, 226, 0.7) 0 4px, transparent 8px),
        radial-gradient(ellipse at 33% 42%, rgba(127, 214, 126, 0.68) 0 3px, transparent 7px),
        radial-gradient(ellipse at 50% 38%, rgba(224, 255, 226, 0.52) 0 3px, transparent 7px),
        radial-gradient(ellipse at 68% 34%, rgba(127, 214, 126, 0.46) 0 2px, transparent 6px);
}

html.travelnet-dark body.page-flights .flight-hero::after {
    color: #e9fff0;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.42), 0 0 20px rgba(21, 147, 15, 0.28);
}

html.travelnet-dark body.page-flights .flight-hero .search-card-flight::before {
    border-color: rgba(164, 221, 176, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 36%),
        rgba(13, 25, 31, 0.82);
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

html.travelnet-dark body.page-flights .flight-hero .search-heading h1,
html.travelnet-dark body.page-flights .flight-hero .search-heading p {
    color: var(--hotel-dark-text);
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark body.page-flights .flight-hero .segmented {
    border-color: rgba(164, 221, 176, 0.2);
    background: rgba(4, 12, 18, 0.58);
}

html.travelnet-dark body.page-flights .flight-hero .segmented span {
    color: rgba(242, 247, 244, 0.78);
}

html.travelnet-dark body.page-flights .flight-hero .segmented input:checked + span {
    background: rgba(21, 147, 15, 0.9);
    color: #ffffff;
    box-shadow: 0 0 18px rgba(21, 147, 15, 0.28);
}

html.travelnet-dark body.page-flights .flight-hero .field-card,
html.travelnet-dark body.page-flights .flight-hero .field-card > .field-label,
html.travelnet-dark body.page-flights .flight-hero .traveller-label,
html.travelnet-dark body.page-flights .flight-hero .toggle-card::before {
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-flights .flight-hero .field-card > .field-control,
html.travelnet-dark body.page-flights .flight-hero .field-card > select,
html.travelnet-dark body.page-flights .flight-hero .traveller-row,
html.travelnet-dark body.page-flights .flight-hero .flight-advanced-options > .form-grid {
    border-color: var(--hotel-dark-border);
    background: var(--hotel-dark-control);
    color: var(--hotel-dark-text);
    box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
}

html.travelnet-dark body.page-flights .flight-hero .field-card > .field-control:focus-within,
html.travelnet-dark body.page-flights .flight-hero .flight-advanced-options .field-card:focus-within > .field-control {
    border-color: var(--hotel-dark-border-strong);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.18),
        0 18px 36px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark body.page-flights .flight-hero .field-card.is-invalid > .field-control {
    border-color: rgba(255, 139, 132, 0.62);
    box-shadow:
        0 0 0 3px rgba(255, 107, 102, 0.16),
        0 18px 36px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-flights .flight-hero .field-card.is-invalid > .field-label {
    color: #ffbeb9;
}

html.travelnet-dark body.page-flights .flight-hero .field-card > .field-control input,
html.travelnet-dark body.page-flights .flight-hero .stepper-controls input {
    background-color: transparent;
    color: var(--hotel-dark-text);
    color-scheme: dark;
}

html.travelnet-dark body.page-flights .flight-hero .field-card > select,
html.travelnet-dark body.page-flights .flight-hero .flight-advanced-options .field-card select {
    background-color: var(--hotel-dark-control);
    color: var(--hotel-dark-text);
    color-scheme: dark;
}

html.travelnet-dark body.page-flights .flight-hero .select-dropdown-toggle {
    border-color: rgba(164, 221, 176, 0.2);
    background: rgba(4, 12, 18, 0.62);
    color: var(--hotel-dark-text);
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-flights .flight-hero .select-dropdown-toggle:hover,
html.travelnet-dark body.page-flights .flight-hero .select-dropdown-toggle:focus-visible,
html.travelnet-dark body.page-flights .flight-hero .select-dropdown-toggle[aria-expanded="true"] {
    border-color: var(--hotel-dark-border-strong);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark body.page-flights .flight-hero .select-dropdown-arrow {
    background: rgba(127, 214, 126, 0.16);
    color: #d9f8d8;
}

html.travelnet-dark body.page-flights .flight-hero .field-card > .field-control input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark body.page-flights .flight-hero .field-card > .field-control .icon,
html.travelnet-dark body.page-flights .flight-hero .traveller-icon {
    color: #8ee68a;
}

html.travelnet-dark body.page-flights .flight-hero .traveller-row .stepper {
    border-right-color: rgba(164, 221, 176, 0.16);
}

html.travelnet-dark body.page-flights .flight-hero .stepper small {
    color: rgba(242, 247, 244, 0.58);
}

html.travelnet-dark body.page-flights .flight-hero .stepper-controls {
    border-color: rgba(164, 221, 176, 0.2);
    background: rgba(4, 12, 18, 0.56);
}

html.travelnet-dark body.page-flights .flight-hero .stepper-controls button {
    background: transparent;
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-flights .flight-hero .flight-advanced-options {
    border-top-color: rgba(164, 221, 176, 0.2);
}

html.travelnet-dark body.page-flights .flight-hero .flight-advanced-options summary {
    color: #8ee68a;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.travelnet-dark body.page-flights .flight-hero .search-card .primary-cta {
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(180deg, #ff625d, var(--coral-dark));
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-flights .flight-hero .feature-card-flight {
    border-color: rgba(164, 221, 176, 0.22);
    background:
        linear-gradient(180deg, rgba(19, 33, 40, 0.96), rgba(10, 20, 27, 0.96));
    color: var(--hotel-dark-text);
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-flights .flight-hero .feature-card-flight > img {
    content: var(--flight-dark-featured-image);
    filter: brightness(0.78) saturate(0.95) contrast(1.04);
}

html.travelnet-dark body.page-flights .flight-hero .feature-card-body {
    border-top: 1px solid rgba(164, 221, 176, 0.12);
}

html.travelnet-dark body.page-flights .flight-hero .feature-card-body h2 {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-flights .flight-hero .price-block {
    border-left-color: rgba(164, 221, 176, 0.18);
}

html.travelnet-dark body.page-flights .flight-hero .price-block strong {
    color: #ff6a65;
    text-shadow: 0 0 18px rgba(255, 68, 63, 0.2);
}

html.travelnet-dark body.page-flights .trust-strip,
html.travelnet-dark body.page-flights .content-panel {
    border-color: var(--hotel-dark-border);
    background:
        linear-gradient(180deg, rgba(18, 33, 40, 0.88), rgba(10, 21, 28, 0.86));
    color: var(--hotel-dark-text);
    box-shadow:
        0 22px 56px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark body.page-flights .trust-icon,
html.travelnet-dark body.page-flights .heading-icon {
    background: rgba(21, 147, 15, 0.18);
    color: #8ee68a;
    box-shadow: inset 0 0 0 1px rgba(127, 214, 126, 0.18);
}

html.travelnet-dark body.page-flights .trust-item small,
html.travelnet-dark body.page-flights .section-heading p,
html.travelnet-dark body.page-flights .destination-card p,
html.travelnet-dark body.page-flights .feature-card p {
    color: var(--hotel-dark-muted);
}

html.travelnet-dark body.page-flights .airline-panel .logo-card,
html.travelnet-dark body.page-flights .destination-card {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 18, 25, 0.78);
    color: var(--hotel-dark-text);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
}

html.travelnet-dark body.page-flights .airline-panel .logo-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(221, 235, 229, 0.9));
}

html.travelnet-dark body.page-flights .destination-card img {
    filter: brightness(0.68) saturate(0.9);
}

html.travelnet-dark body.page-flights .destination-card a,
html.travelnet-dark body.page-flights .section-heading a {
    color: #8ee68a;
}

@media (max-width: 640px) {
    html.travelnet-dark body.page-hotels .primary-nav {
        flex-wrap: wrap;
        justify-content: center;
        width: min(100%, 360px);
        overflow: visible;
    }

    html.travelnet-dark body.page-hotels .primary-nav .nav-pill {
        flex: 1 1 calc(50% - 8px);
        min-width: 142px;
    }

    html.travelnet-dark body.page-flights .primary-nav {
        flex-wrap: wrap;
        justify-content: center;
        width: min(100%, 360px);
        overflow: visible;
    }

    html.travelnet-dark body.page-flights .primary-nav .nav-pill {
        flex: 1 1 calc(50% - 8px);
        min-width: 142px;
    }
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
    gap: 24px;
    align-items: stretch;
    min-width: 0;
}

.hero-grid > * {
    min-width: 0;
}

.search-card,
.feature-card,
.content-panel,
.trust-strip,
.detail-card,
.filter-card,
.result-card,
.offer-card,
.compact-offer,
.featured-offer-card,
.planning-band {
    border: 1px solid rgba(223, 230, 239, 0.9);
    border-radius: var(--radius-card);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--shadow);
}

.feature-card,
.detail-card,
.result-card,
.offer-card,
.compact-offer,
.featured-offer-card {
    min-width: 0;
}

.search-card {
    position: relative;
    z-index: 30;
    padding: clamp(18px, 3vw, 30px);
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.search-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.heading-icon,
.trust-icon {
    display: inline-grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
}

.search-heading h1,
.offers-hero h1,
.page-band h1 {
    margin: 0;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.search-heading p,
.section-heading p,
.page-band p {
    margin: 4px 0 0;
    color: var(--muted);
}

.segmented {
    display: inline-flex;
    gap: 0;
    margin-bottom: 16px;
    padding: 3px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #f8fafc;
}

.segmented label {
    cursor: pointer;
}

.segmented input {
    position: absolute;
    opacity: 0;
}

.segmented span {
    display: inline-flex;
    min-width: 124px;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    color: var(--ink);
}

.segmented input:checked + span {
    background: #fff;
    color: var(--green);
    box-shadow: 0 2px 8px rgba(21, 32, 51, 0.1);
    font-weight: 700;
}

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

.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-grid {
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
}

.route-grid .field-card:nth-of-type(3) {
    grid-column: 1 / 2;
}

.route-grid .field-card:nth-of-type(4) {
    grid-column: 3 / 4;
}

.field-card {
    position: relative;
    display: grid;
    gap: 7px;
    min-width: 0;
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
}

.field-card:focus-within {
    z-index: 260;
}

.field-card[hidden] {
    display: none;
}

.field-card span,
.field-card input,
.field-card select,
.field-card textarea,
.member-form input,
.member-form textarea {
    min-width: 0;
}

.field-card span {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--muted);
}

.field-card input,
.field-card select,
.field-card textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
}

.field-card textarea {
    padding: 12px;
    resize: vertical;
}

.field-card span input {
    min-height: auto;
    border: 0;
    outline: 0;
}

.field-card small {
    color: var(--red);
    font-size: 0.78rem;
    font-weight: 800;
}

.field-card > select,
.field-card > input {
    padding: 0 12px;
}

html.travelnet-dark .search-card,
html.travelnet-dark .feature-card,
html.travelnet-dark .content-panel,
html.travelnet-dark .trust-strip,
html.travelnet-dark .detail-card,
html.travelnet-dark .filter-card,
html.travelnet-dark .result-card,
html.travelnet-dark .offer-card,
html.travelnet-dark .compact-offer,
html.travelnet-dark .featured-offer-card,
html.travelnet-dark .car-prepared-panel,
html.travelnet-dark .car-next-panel,
html.travelnet-dark .car-planning-panel,
html.travelnet-dark .flight-review-card,
html.travelnet-dark .hotel-indian-card,
html.travelnet-dark .booking-form-panel,
html.travelnet-dark .flight-review-price-panel,
html.travelnet-dark .flight-review-call-card,
html.travelnet-dark .selected-summary,
html.travelnet-dark .notice-card,
html.travelnet-dark .footer-grid {
    border-color: rgba(188, 214, 194, 0.14);
    background: rgba(18, 32, 25, 0.9);
    color: #edf6ef;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .field-card span,
html.travelnet-dark .field-card input,
html.travelnet-dark .field-card select,
html.travelnet-dark .field-card textarea,
html.travelnet-dark .member-form input,
html.travelnet-dark .member-form textarea,
html.travelnet-dark .flight-traveller-details-page .field-card input,
html.travelnet-dark .flight-traveller-details-page .field-card select,
html.travelnet-dark .hotel-booking-card .field-card input,
html.travelnet-dark .hotel-booking-card .field-card select {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(7, 16, 12, 0.76);
    color: #edf6ef;
}

html.travelnet-dark .field-card input::placeholder,
html.travelnet-dark .field-card textarea::placeholder {
    color: rgba(237, 246, 239, 0.54);
}

html.travelnet-dark .segmented {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(7, 16, 12, 0.68);
}

html.travelnet-dark .segmented input:checked + span {
    background: rgba(20, 49, 27, 0.94);
    color: #d9f8d8;
}

.flight-select-field.is-enhanced-select select {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.flight-select-field.is-enhanced-select {
    z-index: 12;
}

.flight-select-field.is-enhanced-select:focus-within {
    z-index: 220;
}

.select-dropdown-toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 249, 0.98));
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.select-dropdown-toggle:hover,
.select-dropdown-toggle:focus-visible,
.select-dropdown-toggle[aria-expanded="true"] {
    border-color: rgba(21, 147, 15, 0.28);
    box-shadow: 0 12px 26px rgba(24, 45, 74, 0.1);
    outline: 0;
}

.field-card .select-dropdown-current {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.field-card .select-dropdown-arrow {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.field-card .select-dropdown-arrow::before {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.select-dropdown-toggle[aria-expanded="true"] .select-dropdown-arrow::before {
    transform: translateY(2px) rotate(225deg);
}

.field-helper {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.airport-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 80;
    display: grid;
    max-height: 320px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(21, 147, 15, 0.22);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.98));
    box-shadow:
        0 22px 52px rgba(24, 45, 74, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.airport-suggestions.select-suggestions {
    z-index: 240;
}

.airport-suggestions.hotel-suggestions {
    z-index: 270;
}

.airport-suggestions[hidden] {
    display: none;
}

.airport-suggestions-title,
.airport-suggestions-empty {
    padding: 8px 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.airport-suggestions-title {
    text-transform: uppercase;
}

.airport-suggestions-empty {
    line-height: 1.35;
}

.airport-suggestion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px 12px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    text-align: left;
}

.airport-suggestion-text {
    display: grid;
    gap: 2px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
}

.airport-suggestion strong {
    font-size: 14px;
    line-height: 1.25;
}

.airport-suggestion small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.airport-suggestion .airport-code-pill {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 3px 7px;
    border: 0;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.airport-suggestion:hover,
.airport-suggestion:focus-visible,
.airport-suggestion.is-active {
    background: linear-gradient(135deg, rgba(233, 248, 231, 0.96), rgba(255, 255, 255, 0.9));
    outline: 2px solid rgba(21, 147, 15, 0.16);
}

.travel-date-picker {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 85;
    width: min(320px, calc(100vw - 34px));
    padding: 12px;
    border: 1px solid rgba(21, 147, 15, 0.22);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(24, 45, 74, 0.2);
}

.travel-date-picker[hidden] {
    display: none;
}

/* jQuery adds this shared focus layer while a Select2 menu or travel calendar
   is open. The active field and popup stay crisp above the softly blurred
   page, and the backdrop also provides a generous click target to close it. */
.search-card.is-picker-focus-active {
    isolation: isolate;
}

.search-card > .travelnet-picker-backdrop {
    position: fixed;
    inset: 0;
    z-index: 300;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(9, 30, 48, 0.12);
    -webkit-backdrop-filter: blur(5px) saturate(0.9);
    backdrop-filter: blur(5px) saturate(0.9);
    cursor: default;
    animation: travelnetPickerBackdropIn 180ms ease both;
}

.search-card.is-picker-focus-active .is-picker-focus-ancestor {
    position: relative;
    z-index: 340;
}

.search-card.is-picker-focus-active .field-card.is-picker-focus-surface {
    position: relative;
    z-index: 380;
}

.search-card.is-picker-focus-active .field-card.is-picker-focus-surface .travel-date-picker,
.search-card.is-picker-focus-active .field-card.is-picker-focus-surface > .select2-container--open:not(.select2) {
    z-index: 390;
}

@keyframes travelnetPickerBackdropIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .search-card > .travelnet-picker-backdrop {
        animation: none;
    }
}

.travel-date-header {
    display: grid;
    grid-template-columns: 34px 1fr 82px 34px;
    gap: 7px;
    align-items: center;
    margin-bottom: 10px;
}

.travel-date-header button,
.travel-date-grid button {
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-weight: 800;
}

.travel-date-header button {
    min-height: 34px;
    color: var(--green-dark);
}

.travel-date-header select {
    width: 100%;
    min-height: 34px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
}

.travel-date-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.travel-date-grid span {
    display: grid;
    place-items: center;
    min-height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.travel-date-grid .travel-date-empty {
    min-height: 34px;
}

.travel-date-grid button {
    min-height: 34px;
    padding: 0;
    font-size: 13px;
}

.travel-date-header button:hover,
.travel-date-header button:focus-visible,
.travel-date-grid button:hover,
.travel-date-grid button:focus-visible,
.travel-date-grid button.is-selected {
    background: linear-gradient(135deg, var(--green-soft), #fff);
    color: var(--green-dark);
    outline: 2px solid rgba(21, 147, 15, 0.16);
}

.swap-button {
    align-self: end;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.swap-button .icon {
    width: 19px;
    height: 19px;
}

html.travelnet-dark .swap-button {
    border-color: rgba(126, 230, 132, 0.44);
    background:
        linear-gradient(135deg, rgba(23, 78, 35, 0.96), rgba(12, 43, 25, 0.94));
    color: #e9ffe9;
    box-shadow:
        0 14px 28px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset,
        0 0 20px rgba(73, 220, 83, 0.18);
}

html.travelnet-dark .swap-button:hover,
html.travelnet-dark .swap-button:focus-visible {
    border-color: rgba(166, 248, 166, 0.68);
    background:
        linear-gradient(135deg, rgba(32, 99, 45, 0.98), rgba(16, 55, 31, 0.98));
    color: #ffffff;
    outline: 2px solid rgba(126, 230, 132, 0.24);
    outline-offset: 2px;
    box-shadow:
        0 16px 32px rgba(0, 0, 0, 0.38),
        0 0 0 1px rgba(255, 255, 255, 0.12) inset,
        0 0 26px rgba(73, 220, 83, 0.28);
}

html.travelnet-dark .swap-button .icon {
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.34));
}

.traveller-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) minmax(150px, 0.8fr);
    gap: 14px;
    align-items: end;
    margin: 18px 0;
}

.hotel-guests {
    grid-template-columns: repeat(4, minmax(116px, 1fr));
}

.stepper {
    display: grid;
    gap: 4px;
    min-width: 0;
    font-weight: 700;
}

.stepper small {
    color: var(--muted);
    font-weight: 400;
}

.stepper-controls {
    display: block;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    padding: 0 42px;
}

.stepper-controls button,
.stepper-controls input {
    height: 42px;
    border: 0;
    background: #fff;
    text-align: center;
    min-width: 0;
    width: 100%;
}

.stepper-controls button {
    cursor: pointer;
    font-size: 20px;
    position: absolute;
    top: 0;
    width: 42px;
}

.stepper-controls button:first-child {
    left: 0;
}

.stepper-controls button:last-child {
    right: 0;
}

.toggle-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    font-size: 14px;
    color: var(--ink);
}

.toggle-card input {
    position: absolute;
    opacity: 0;
}

.toggle-card span {
    width: 48px;
    height: 26px;
    border-radius: 999px;
    background: #d7dde5;
    position: relative;
}

.toggle-card span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: transform 160ms ease;
}

.toggle-card input:checked + span {
    background: var(--green);
}

.toggle-card input:checked + span::after {
    transform: translateX(22px);
}

.advanced-options {
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.advanced-options summary {
    cursor: pointer;
    color: var(--green);
    font-weight: 700;
    margin-bottom: 12px;
}

.primary-cta,
.primary-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 28px;
    border: 0;
    border-radius: var(--radius-control);
    background: linear-gradient(180deg, #ff5d57, var(--coral));
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(255, 68, 63, 0.25);
}

.search-card .primary-cta {
    margin-top: 18px;
    width: min(280px, 100%);
    float: right;
}

.inline-cta {
    width: auto;
    margin-top: 18px;
}

.feature-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.feature-card > img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.feature-card-body,
.detail-grid,
.card-bottom,
.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.feature-card-body {
    padding: 22px 24px;
}

.feature-card h2,
.content-panel h2,
.detail-card h2,
.result-card h2,
.offer-card h2,
.offer-card h3 {
    margin: 0;
}

.feature-card p {
    margin: 6px 0 0;
    color: var(--muted);
}

.feature-card-destination {
    transition: opacity 160ms ease, transform 160ms ease;
}

.feature-card-destination.is-loading {
    opacity: 0.72;
}

.destination-feature-image-slider {
    position: relative;
    height: 330px;
    overflow: hidden;
    background: #e9f2ee;
}

.destination-feature-image-track {
    height: 100%;
}

.destination-feature-image-slider figure {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    background: #dce9e5;
}

.destination-feature-image-slider figure[hidden] {
    display: none;
}

.destination-feature-image-slider img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.destination-feature-image-slider figcaption {
    position: absolute;
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 112px);
    padding: 6px 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(27, 28, 48, 0.78);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.destination-feature-slider-button {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: rgba(27, 28, 48, 0.76);
    color: #fff;
    cursor: pointer;
    place-items: center;
    transform: translateY(-50%);
}

.destination-feature-slider-button:hover,
.destination-feature-slider-button:focus-visible {
    background: rgba(27, 28, 48, 0.94);
}

.destination-feature-slider-button-prev {
    left: 12px;
}

.destination-feature-slider-button-prev .icon {
    transform: rotate(180deg);
}

.destination-feature-slider-button-next {
    right: 12px;
}

.destination-feature-slider-status {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(27, 28, 48, 0.78);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.feature-card-static-note {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

.feature-card-preview-note {
    margin: 0;
    padding: 0 24px 16px;
    font-size: 12px;
    line-height: 1.45;
}

.feature-card-destination .text-action {
    margin-top: auto;
}

.feature-card-hotel .price-block {
    min-width: 165px;
    max-width: 190px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel);
    gap: 4px;
}

.feature-card-hotel .price-block span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.feature-card-hotel .price-block strong {
    max-width: 165px;
    font-size: clamp(17px, 1.8vw, 23px);
    line-height: 1.2;
    overflow-wrap: break-word;
    text-align: left;
}

.feature-card-hotel .price-block.is-unavailable strong {
    max-width: 145px;
    font-size: 14px;
    line-height: 1.35;
}

.feature-card-hotel > img[data-destination-feature-image] {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: center;
    background: var(--page);
}

.feature-card-hotel .feature-card-body {
    min-height: 132px;
}

.feature-card-hotel .feature-list {
    min-height: 58px;
    align-content: flex-start;
}

@media (max-width: 720px) {
    .destination-feature-image-slider {
        height: 280px;
    }

    .feature-card-destination .feature-card-body {
        align-items: flex-start;
    }

    .feature-card-hotel .price-block {
        width: 100%;
        min-width: 0;
        max-width: 220px;
    }
}

.price-block {
    border-left: 1px solid var(--line);
    padding-left: 28px;
    display: grid;
    gap: 2px;
}

.price-block span,
.result-price span {
    color: var(--muted);
    font-size: 14px;
}

.price-block strong,
.result-price strong,
.card-bottom strong,
.pricing-list div:last-child dd {
    color: var(--coral);
    font-size: 32px;
    line-height: 1;
}

.badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.badge-coral {
    background: var(--coral);
}

.feature-card > .badge,
.heart-button {
    position: absolute;
    top: 18px;
    z-index: 2;
}

.feature-card > .badge {
    left: 18px;
}

.heart-button {
    right: 18px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ink);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.heart-button.compact {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
}

.text-action,
.section-heading a,
.destination-card a,
.compact-offer a,
.card-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green);
    font-weight: 700;
}

.text-action {
    padding: 0 24px 22px;
}

.feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 24px 22px;
    color: var(--muted);
    font-size: 14px;
}

.feature-list span {
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4f7fa;
}

.trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
    padding: 16px 22px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.trust-icon {
    width: 42px;
    height: 42px;
}

.trust-item strong,
.trust-item small {
    display: block;
}

.trust-item small {
    color: var(--muted);
}

.content-panel,
.page-band,
.featured-offers {
    margin-top: 22px;
}

.content-panel {
    padding: 22px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.content-panel::before,
.content-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
}

.content-panel::before {
    background:
        radial-gradient(circle at var(--content-glow-x, 18%) 18%, rgba(80, 235, 92, 0.26), transparent 30%),
        linear-gradient(115deg, transparent 0%, rgba(21, 147, 15, 0.08) 24%, rgba(102, 255, 122, 0.22) 42%, rgba(6, 139, 13, 0.1) 62%, transparent 82%);
    background-size: 160% 160%;
    transform: translateX(-18%) skewX(-8deg);
    transition: opacity 180ms ease;
}

.content-panel::after {
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.14), transparent 42%, rgba(21, 147, 15, 0.1));
    transition: opacity 180ms ease;
}

.content-panel:hover,
.content-panel:focus-within {
    border-color: rgba(21, 147, 15, 0.32);
    box-shadow: 0 18px 42px rgba(21, 147, 15, 0.14), var(--shadow);
}

.content-panel:hover::before,
.content-panel:focus-within::before {
    opacity: 1;
    animation: contentPanelGlow 2.8s ease-in-out infinite;
}

.content-panel:hover::after,
.content-panel:focus-within::after {
    opacity: 1;
}

.content-panel > * {
    position: relative;
    z-index: 1;
}

@keyframes contentPanelGlow {
    0% {
        background-position: 0% 50%;
        transform: translateX(-22%) skewX(-8deg);
    }

    50% {
        background-position: 100% 50%;
        transform: translateX(10%) skewX(-8deg);
    }

    100% {
        background-position: 0% 50%;
        transform: translateX(-22%) skewX(-8deg);
    }
}

.section-heading {
    margin-bottom: 16px;
}

.section-heading h1,
.section-heading h2,
.section-heading h3 {
    margin: 0;
}

.logo-row,
.destination-grid,
.inspiration-grid,
.offer-grid,
.hotel-result-grid {
    display: grid;
    gap: 16px;
}

.logo-row {
    grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.airline-panel,
.hotel-brand-panel {
    padding-top: 18px;
}

.airline-panel .section-heading,
.hotel-brand-panel .section-heading {
    margin-bottom: 10px;
}

.airline-panel .logo-row,
.hotel-brand-panel .logo-row {
    display: flex;
    gap: 14px;
    width: min(calc(100% - 88px), 1030px);
    margin: 0 auto;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    scroll-padding-inline: 4px;
    padding: 2px 4px 6px;
}

.airline-panel .logo-row::-webkit-scrollbar,
.hotel-brand-panel .logo-row::-webkit-scrollbar {
    display: none;
}

.logo-card {
    min-height: 74px;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: #fff;
    display: grid;
    place-items: center;
    padding: 12px;
    text-align: center;
    color: #15416f;
    font-weight: 800;
}

.airline-panel .logo-card,
.hotel-brand-panel .logo-card {
    flex: 0 0 clamp(150px, 12.5vw, 158px);
    min-height: 64px;
    padding: 7px 14px;
    border-radius: 8px;
    box-shadow: 0 6px 14px rgba(21, 32, 51, 0.06);
    scroll-snap-align: start;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.airline-panel:hover .logo-card,
.airline-panel:focus-within .logo-card,
.hotel-brand-panel:hover .logo-card,
.hotel-brand-panel:focus-within .logo-card {
    border-color: rgba(21, 147, 15, 0.2);
    background: rgba(255, 255, 255, 0.94);
}

.airline-panel .logo-card:hover,
.airline-panel .logo-card:focus-within,
.hotel-brand-panel .logo-card:hover,
.hotel-brand-panel .logo-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 14px 26px rgba(21, 147, 15, 0.16);
}

.logo-card img {
    display: block;
    width: 100%;
    max-width: 158px;
    height: 50px;
    object-fit: contain;
}

.logo-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    box-shadow: var(--shadow-soft);
    transform: translateY(-16%);
    cursor: pointer;
    transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.logo-nav:hover,
.logo-nav:focus-visible {
    transform: translateY(-16%) scale(1.04);
    box-shadow: 0 12px 26px rgba(21, 147, 15, 0.16);
}

.logo-nav:disabled {
    cursor: default;
    opacity: 0.34;
    box-shadow: none;
}

.logo-nav-prev {
    left: 22px;
}

.logo-nav-prev .icon {
    transform: rotate(180deg);
}

.logo-nav-next {
    right: 22px;
}

.hotel-brand-carousel {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 12px;
    align-items: center;
}

.hotel-brand-carousel .logo-nav {
    position: static;
    transform: none;
}

.hotel-brand-carousel .logo-nav:hover,
.hotel-brand-carousel .logo-nav:focus-visible {
    transform: scale(1.04);
}

.hotel-brand-carousel .hotel-brand-row {
    width: 100%;
    margin: 0;
    justify-content: center;
}

.hotel-brand-carousel .logo-card {
    flex: 1 0 160px;
    max-width: 220px;
}

.hotel-brand-carousel .logo-card img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 40px;
}

.inspiration-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.flight-inspiration-panel {
    padding: 18px 20px 20px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 253, 248, 0.94)),
        radial-gradient(circle at 12% 0%, rgba(85, 191, 13, 0.12), transparent 34%);
    border: 1px solid rgba(214, 225, 230, 0.82);
}

.flight-package-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.section-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flight-package-heading p {
    margin: 4px 0 0;
    color: var(--muted);
    font-weight: 700;
}

.panel-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.panel-actions a {
    color: var(--green);
    font-weight: 900;
    white-space: nowrap;
}

.package-nav {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(21, 147, 15, 0.22);
    border-radius: 50%;
    background: #fff;
    color: var(--green-dark);
    box-shadow: 0 8px 18px rgba(21, 147, 15, 0.1);
    cursor: pointer;
    transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.package-nav:hover,
.package-nav:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(21, 147, 15, 0.16);
}

.package-nav:disabled {
    cursor: default;
    opacity: 0.34;
    box-shadow: none;
}

.package-nav-prev .icon {
    transform: rotate(180deg);
}

.flight-inspiration-panel .package-rail {
    display: flex;
    gap: 12px;
    overflow-x: scroll;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-color: rgba(21, 147, 15, 0.58) rgba(214, 225, 230, 0.72);
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    padding: 2px 2px 12px;
}

.flight-inspiration-panel .package-rail::-webkit-scrollbar {
    height: 10px;
}

.flight-inspiration-panel .package-rail::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(214, 225, 230, 0.72);
}

.flight-inspiration-panel .package-rail::-webkit-scrollbar-thumb {
    border: 2px solid rgba(214, 225, 230, 0.72);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--green), var(--green-dark));
}

.flight-inspiration-panel .package-rail::-webkit-scrollbar-thumb:hover {
    background: var(--green-dark);
}

.flight-inspiration-panel .flight-package-card {
    flex: 0 0 clamp(226px, 21vw, 274px);
    min-height: 0;
    border: 1px solid rgba(214, 225, 230, 0.88);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 8px 20px rgba(24, 45, 74, 0.08);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.flight-inspiration-panel .flight-package-card:hover,
.flight-inspiration-panel .flight-package-card:focus-within {
    border-color: rgba(21, 147, 15, 0.24);
    box-shadow: 0 14px 30px rgba(24, 45, 74, 0.12);
    transform: translateY(-2px);
}

.flight-inspiration-panel .flight-package-card > img,
.flight-inspiration-panel .flight-package-card > .package-image-frame {
    height: 132px;
    min-height: 132px;
    filter: saturate(1.04);
    border-bottom: 1px solid rgba(214, 225, 230, 0.78);
}

.flight-inspiration-panel .flight-package-card img {
    object-position: center top;
}

.flight-inspiration-panel .flight-package-card div {
    position: static;
    inset: auto;
    flex: 1;
    padding: 12px;
    background: #fff;
    color: var(--ink);
    justify-content: flex-start;
}

.flight-inspiration-panel .flight-package-card .badge {
    width: fit-content;
    margin-bottom: 7px;
    background: linear-gradient(135deg, #22b822, #0f8f10);
    box-shadow: 0 8px 16px rgba(21, 147, 15, 0.16);
}

.flight-inspiration-panel .flight-package-card h3 {
    margin: 0;
    color: var(--ink);
    font-size: 17px;
    line-height: 1.18;
}

.flight-inspiration-panel .flight-package-card p {
    min-height: 38px;
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
}

.flight-inspiration-panel .flight-package-card .package-price {
    margin-top: 10px;
    color: var(--green-dark);
    font-size: 22px;
    text-shadow: none;
}

.flight-inspiration-panel .flight-package-card a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    margin-top: 12px;
    padding: 7px 11px;
    border: 1px solid rgba(214, 225, 230, 0.95);
    box-shadow: 0 6px 14px rgba(24, 45, 74, 0.07);
}

html.travelnet-dark .flight-inspiration-panel {
    border-color: rgba(126, 230, 132, 0.20);
    background:
        radial-gradient(circle at 12% 0%, rgba(73, 220, 83, 0.18), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(8, 121, 201, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(13, 29, 22, 0.94), rgba(8, 18, 14, 0.92));
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}

html.travelnet-dark .flight-package-heading h2 {
    color: #f3fbf5;
}

html.travelnet-dark .flight-package-heading p {
    color: rgba(226, 239, 230, 0.68);
}

html.travelnet-dark .flight-package-heading .section-kicker,
html.travelnet-dark .panel-actions a {
    color: #8de98e;
}

html.travelnet-dark .package-nav {
    border-color: rgba(126, 230, 132, 0.32);
    background:
        linear-gradient(135deg, rgba(22, 71, 34, 0.96), rgba(10, 35, 22, 0.94));
    color: #e9ffe9;
    box-shadow:
        0 12px 24px rgba(0, 0, 0, 0.32),
        0 0 18px rgba(73, 220, 83, 0.14);
}

html.travelnet-dark .package-nav:hover,
html.travelnet-dark .package-nav:focus-visible {
    border-color: rgba(166, 248, 166, 0.58);
    box-shadow:
        0 14px 28px rgba(0, 0, 0, 0.38),
        0 0 24px rgba(73, 220, 83, 0.24);
}

html.travelnet-dark .flight-inspiration-panel .package-rail {
    scrollbar-color: rgba(126, 230, 132, 0.66) rgba(188, 214, 194, 0.12);
}

html.travelnet-dark .flight-inspiration-panel .package-rail::-webkit-scrollbar-track {
    background: rgba(188, 214, 194, 0.12);
}

html.travelnet-dark .flight-inspiration-panel .package-rail::-webkit-scrollbar-thumb {
    border-color: rgba(188, 214, 194, 0.12);
    background: linear-gradient(90deg, #58ca5c, #8de98e);
}

html.travelnet-dark .flight-inspiration-panel .package-rail:focus-visible {
    border-radius: 14px;
    outline: 2px solid rgba(126, 230, 132, 0.24);
    outline-offset: 4px;
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card {
    border-color: rgba(188, 214, 194, 0.16);
    background:
        linear-gradient(180deg, rgba(18, 35, 27, 0.96), rgba(10, 22, 17, 0.98));
    color: #edf6ef;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.30),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card:hover,
html.travelnet-dark .flight-inspiration-panel .flight-package-card:focus-within {
    border-color: rgba(126, 230, 132, 0.34);
    box-shadow:
        0 20px 42px rgba(0, 0, 0, 0.38),
        0 0 28px rgba(73, 220, 83, 0.16);
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card > img,
html.travelnet-dark .flight-inspiration-panel .flight-package-card > .package-image-frame {
    border-bottom-color: rgba(188, 214, 194, 0.14);
    filter: saturate(1.08) contrast(1.04) brightness(0.86);
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card div {
    background:
        linear-gradient(180deg, rgba(18, 35, 27, 0.98), rgba(10, 22, 17, 0.98));
    color: #edf6ef;
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card .badge {
    background: linear-gradient(135deg, #7ee882, #1ea328);
    color: #04120b;
    box-shadow: 0 10px 20px rgba(21, 147, 15, 0.24);
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card h3 {
    color: #f6fbf7;
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card p {
    color: rgba(226, 239, 230, 0.68);
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card .package-price {
    color: #9af29c;
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card a {
    border-color: rgba(126, 230, 132, 0.28);
    background: rgba(15, 48, 26, 0.76);
    color: #e9ffe9;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .flight-inspiration-panel .flight-package-card a:hover,
html.travelnet-dark .flight-inspiration-panel .flight-package-card a:focus-visible {
    border-color: rgba(166, 248, 166, 0.54);
    background: rgba(24, 82, 38, 0.9);
    color: #ffffff;
}

@media (max-width: 820px) {
    .flight-package-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .panel-actions {
        width: 100%;
        justify-content: space-between;
    }

    .hotel-brand-carousel {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 8px;
    }

    .hotel-brand-carousel .logo-nav {
        width: 38px;
        height: 38px;
    }

    .hotel-brand-carousel .hotel-brand-row {
        justify-content: flex-start;
    }

    .flight-inspiration-panel .flight-package-card {
        flex-basis: min(270px, calc(100vw - 76px));
    }
}

.image-story {
    min-height: 250px;
    border-radius: var(--radius-card);
    overflow: hidden;
    position: relative;
    color: #fff;
    background: #0d243f;
}

.image-story img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    filter: brightness(0.72);
    transition: transform 180ms ease;
}

.image-story div {
    position: absolute;
    inset: 0;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.image-story h3,
.image-story p {
    margin: 8px 0 0;
}

.image-story a {
    width: fit-content;
    margin-top: 12px;
    padding: 8px 12px;
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
    font-weight: 800;
}

.package-price {
    width: fit-content;
    margin-top: 10px;
    color: #fff;
    font-size: 23px;
    line-height: 1;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.38);
}

.page-band {
    border-radius: var(--radius-card);
    padding: clamp(18px, 3vw, 30px);
    background: #fff;
    box-shadow: var(--shadow);
}

.flight-results-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(22px, 3vw, 32px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.flight-results-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -40px;
    left: calc(50% - 50vw);
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(248, 252, 255, 0.18) 0%, rgba(250, 253, 255, 0.7) 38%, rgba(255, 255, 255, 0.94) 64%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 15% 18%, rgba(56, 189, 248, 0.18), transparent 34%),
        radial-gradient(circle at 78% 8%, rgba(125, 211, 252, 0.12), transparent 30%),
        radial-gradient(circle at 38% 76%, rgba(255, 206, 116, 0.16), transparent 34%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f8fcff 0%, #ffffff 46%, #f6fbff 100%);
}

.flight-journey-summary-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    max-width: 980px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.flight-journey-summary-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -54px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(248, 252, 255, 0.12) 0%, rgba(250, 253, 255, 0.62) 36%, rgba(255, 255, 255, 0.94) 65%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 15% 18%, rgba(56, 189, 248, 0.2), transparent 32%),
        radial-gradient(circle at 78% 8%, rgba(125, 211, 252, 0.14), transparent 30%),
        radial-gradient(circle at 35% 78%, rgba(255, 206, 116, 0.18), transparent 34%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f8fcff 0%, #ffffff 46%, #f6fbff 100%);
}

.flight-review-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: start;
    gap: 24px;
}

.flight-review-main h1 {
    margin: 0 0 14px;
    color: var(--green);
    font-size: 27px;
    line-height: 1.2;
}

.flight-review-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 205px);
    align-items: end;
    gap: 26px;
    margin-bottom: 18px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 20px;
    background:
        radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.24), transparent 34%),
        linear-gradient(135deg, #0d7f78, var(--green));
    color: #fff;
    box-shadow: 0 22px 54px rgba(15, 118, 110, 0.2);
}

.flight-review-hero-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.flight-review-hero-copy {
    min-width: 0;
}

.flight-review-hero h2 {
    margin: 0;
    color: #fff;
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(22px, 2.35vw, 34px);
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-review-hero p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    font-weight: 700;
}

.hotel-confirmation-hero {
    grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
    gap: 22px;
    padding: 24px;
}

.hotel-confirmation-hero .flight-review-hero-copy {
    max-width: none;
}

.hotel-confirmation-hero h2 {
    font-size: clamp(26px, 2.9vw, 42px);
    line-height: 1.02;
}

.hotel-confirmation-hero p {
    font-size: 16px;
}

.flight-review-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.flight-review-hero-chips span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.13);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.flight-review-hero-price {
    display: grid;
    gap: 3px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--muted);
    box-shadow: 0 16px 36px rgba(10, 50, 46, 0.2);
}

.flight-review-hero-price span,
.flight-review-hero-price small {
    font-size: 12px;
    font-weight: 800;
}

.flight-review-hero-price strong {
    color: var(--coral);
    font-size: 28px;
    line-height: 1.05;
}

.flight-review-card {
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.94)),
        #fff;
    box-shadow: 0 22px 58px rgba(23, 42, 64, 0.13);
}

.flight-review-steps {
    display: flex;
    flex-wrap: nowrap;
    gap: 1px;
    width: 100%;
    max-width: 860px;
    margin: 24px auto 26px;
    padding: 0 18px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.flight-review-step {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 132px;
    min-height: 42px;
    min-width: 132px;
    padding: 8px 20px 8px 24px;
    background: linear-gradient(180deg, #fff, #edf3f7);
    color: #656f7b;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
}

.flight-review-step b {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 24px;
    height: 24px;
    margin-right: 6px;
    border-radius: 999px;
    background: rgba(96, 112, 134, 0.2);
    color: #fff;
    font-size: 13px;
}

.flight-review-step.is-current {
    background: linear-gradient(180deg, #ff7470, var(--coral));
    color: #fff;
    box-shadow: 0 10px 22px rgba(255, 68, 63, 0.18);
}

.flight-review-step.is-current b {
    background: #df302d;
}

.flight-review-step.is-complete {
    background: linear-gradient(180deg, #3fbd31, var(--green));
    color: #fff;
}

.flight-review-step.is-complete b {
    background: #0d8f12;
}

.flight-review-route-title,
.flight-review-leg-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 10px 8px;
    color: var(--green);
    font-size: 13px;
    font-weight: 800;
    background:
        linear-gradient(90deg, rgba(233, 248, 231, 0.74), rgba(248, 252, 255, 0.92));
}

.flight-review-route-title span,
.flight-review-leg-heading span,
.flight-review-route-title strong,
.flight-review-leg-heading strong {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.flight-review-route-title strong,
.flight-review-leg-heading strong {
    color: var(--green);
    margin-left: auto;
    white-space: nowrap;
}

.flight-review-leg {
    margin: 0 20px 18px;
    border: 1px solid rgba(214, 225, 238, 0.65);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 10px 24px rgba(23, 42, 64, 0.05);
}

.flight-review-table {
    display: grid;
    border-top: 1px dashed #c9d3de;
}

.flight-review-table-row {
    display: grid;
    grid-template-columns: 1.35fr 1.45fr 1.45fr 0.8fr;
    gap: 14px;
    align-items: center;
    min-height: 64px;
    padding: 12px 14px;
    border-bottom: 1px dashed #c9d3de;
    color: #697586;
    font-size: 12px;
}

.flight-review-table-head {
    min-height: 36px;
    background: linear-gradient(90deg, rgba(233, 248, 231, 0.75), rgba(248, 252, 255, 0.9));
    color: var(--coral);
    font-weight: 800;
}

.flight-review-table-row b,
.flight-review-table-row small {
    display: block;
}

.flight-review-table-row b {
    color: #4e5d6e;
    font-size: 12px;
}

.flight-review-table-row small {
    color: #758294;
    font-size: 11px;
}

.flight-review-table-row b.flight-review-airport-code {
    display: flex;
    align-items: center;
    gap: 6px;
}

.flight-review-airport-flag {
    display: inline-flex;
    align-items: center;
    font-size: 15px;
    line-height: 1;
}

.flight-review-table-row small.flight-review-airport-location {
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.flight-review-flight-cell {
    padding-left: 4px;
}

.flight-review-routing {
    display: grid;
    gap: 4px;
    padding: 6px 28px 26px;
    color: #6b7685;
    font-size: 12px;
}

.flight-review-routing strong {
    color: #5b6572;
}

.flight-review-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 218px));
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 34px;
}

.flight-review-actions small {
    grid-column: 1 / -1;
    color: #7b8794;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

.flight-review-rules-acknowledgement {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    width: 100%;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(21, 147, 15, 0.22);
    border-radius: var(--radius-control);
    background: linear-gradient(135deg, rgba(238, 252, 239, 0.98), rgba(245, 250, 255, 0.98));
    box-sizing: border-box;
    color: #344557;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
    cursor: pointer;
}

.flight-review-rules-acknowledgement input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    flex: 0 0 auto;
    accent-color: var(--green);
}

.flight-review-rules-acknowledgement:focus-within {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(21, 147, 15, 0.12);
}

.flight-review-rules-required-note {
    margin: 8px 0 0;
    color: #9a4f1b;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.flight-review-actions [aria-disabled="true"] {
    opacity: 0.48;
    cursor: not-allowed;
    filter: grayscale(0.3);
}

.flight-review-actions .ghost-button,
.flight-review-actions .primary-cta {
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    width: 100%;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0 18px;
    border-radius: var(--radius-control);
    box-sizing: border-box;
    font-size: 15px;
    line-height: 1;
    text-transform: uppercase;
}

.flight-review-actions .primary-cta.inline-cta {
    margin-top: 0;
}

.flight-review-actions .ghost-button {
    border: 1px solid rgba(21, 147, 15, 0.34);
    background: #fff;
    color: var(--green);
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.08);
}

.flight-review-actions .ghost-button:hover,
.flight-review-actions .ghost-button:focus-visible {
    border-color: var(--green);
    background: var(--green-soft);
}

.flight-review-actions .primary-cta {
    background: linear-gradient(180deg, #29aa20, var(--green));
    box-shadow: 0 14px 30px rgba(21, 147, 15, 0.2);
}

.flight-review-side {
    display: grid;
    gap: 28px;
    margin-top: 51px;
    padding-top: 0;
    position: sticky;
    top: 18px;
}

.flight-review-price-panel {
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 18px;
    background:
        linear-gradient(180deg, #fff 0%, #fff 64%, rgba(255, 247, 247, 0.7) 100%),
        #fff;
    box-shadow: 0 18px 42px rgba(23, 42, 64, 0.12);
}

.flight-review-price-panel h2 {
    margin: 0;
    padding: 10px 16px;
    border-radius: 0;
    background: linear-gradient(180deg, #44bf31, var(--green));
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.flight-review-price-row,
.flight-review-price-total {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 14px;
    align-items: start;
    padding: 14px 16px;
    color: var(--green);
    font-size: 14px;
    font-weight: 800;
}

.flight-review-price-row strong,
.flight-review-price-total strong {
    color: var(--coral);
}

.flight-review-price-total {
    border-top: 1px solid rgba(214, 225, 238, 0.75);
    background: rgba(248, 252, 255, 0.74);
}

.flight-review-price-total small {
    grid-column: 1 / -1;
    color: #626d7a;
    font-size: 11px;
    font-weight: 500;
    text-align: right;
}

.flight-review-rules-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 32px);
    min-height: 42px;
    margin: 16px 16px 12px;
    padding: 0 16px;
    border-radius: var(--radius-control);
    box-sizing: border-box;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent),
        linear-gradient(180deg, #ff7672, var(--coral));
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: 0 16px 34px rgba(255, 68, 63, 0.28);
}

.flight-review-rules-btn:hover,
.flight-review-rules-btn:focus-visible {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.2), transparent),
        linear-gradient(180deg, #ff5f5a, var(--coral-dark));
}

.flight-review-rules-note {
    margin: 0 16px 16px;
    padding: 11px 12px;
    border: 1px solid rgba(255, 68, 63, 0.18);
    border-radius: 10px;
    background: rgba(255, 68, 63, 0.06);
    color: #9a302d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.flight-review-call-card {
    display: grid;
    justify-items: center;
    gap: 2px;
    width: auto;
    margin: 0 12px;
    padding: 12px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(233, 248, 231, 0.62)),
        #fff;
    box-shadow: 0 14px 32px rgba(23, 42, 64, 0.09);
    color: #697586;
    font-size: 11px;
    text-align: center;
}

.flight-review-call-card strong {
    color: var(--green);
    font-size: 15px;
}

.flight-review-call-card a {
    color: var(--coral);
    font-size: 15px;
    font-weight: 800;
}

.flight-traveller-details-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.flight-traveller-details-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -54px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(248, 252, 255, 0.12) 0%, rgba(250, 253, 255, 0.62) 36%, rgba(255, 255, 255, 0.94) 65%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 15% 18%, rgba(56, 189, 248, 0.2), transparent 32%),
        radial-gradient(circle at 78% 8%, rgba(125, 211, 252, 0.14), transparent 30%),
        radial-gradient(circle at 35% 78%, rgba(255, 206, 116, 0.18), transparent 34%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f8fcff 0%, #ffffff 46%, #f6fbff 100%);
}

.flight-traveller-details-page .detail-card {
    overflow: hidden;
    border-color: rgba(214, 225, 238, 0.86);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.94)),
        #fff;
    box-shadow: 0 26px 70px rgba(23, 42, 64, 0.16);
}

.flight-traveller-card {
    display: grid;
    gap: 14px;
    padding: 0 20px 22px;
}

.flight-traveller-card .flight-review-steps {
    margin-bottom: 0;
}

.flight-traveller-card .booking-form-panel {
    gap: 12px;
    padding: 16px 18px 18px;
    border-color: rgba(214, 225, 238, 0.82);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 8px 22px rgba(23, 42, 64, 0.06);
}

.flight-traveller-form > .flight-traveller-selected-flight-panel {
    gap: 12px;
    padding: 16px 18px 18px;
    border-color: rgba(214, 225, 238, 0.82);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 8px 22px rgba(23, 42, 64, 0.06);
}

.flight-traveller-card .booking-form-panel-heading {
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
}

.flight-traveller-form > .flight-traveller-selected-flight-panel .booking-form-panel-heading {
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
}

.flight-traveller-card .booking-form-panel-heading h2 {
    font-size: 18px;
}

.flight-traveller-form > .flight-traveller-selected-flight-panel .booking-form-panel-heading h2 {
    font-size: 18px;
}

.flight-traveller-card .booking-form-panel-heading > span {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
}

.flight-traveller-form > .flight-traveller-selected-flight-panel .booking-form-panel-heading > span {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
}

.flight-traveller-card .booking-passenger-grid,
.flight-traveller-card .booking-contact-grid {
    gap: 10px 12px;
}

.flight-traveller-card .booking-contact-grid {
    grid-template-columns: 0.75fr minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.flight-traveller-card .booking-contact-grid .wide-field {
    grid-column: span 2;
}

.flight-traveller-selected-flight-panel {
    overflow: hidden;
}

.flight-traveller-selected-flight-summary {
    display: grid;
    grid-template-columns: 1.35fr 1.1fr 0.72fr 0.78fr;
    gap: 10px;
}

.flight-traveller-selected-flight-summary > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
}

.flight-traveller-selected-flight-summary small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-traveller-selected-flight-summary strong {
    min-width: 0;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.flight-tax-breakdown-preview {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(21, 147, 15, 0.13);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(237, 250, 235, 0.64), rgba(255, 255, 255, 0.74)),
        #fff;
}

.flight-tax-breakdown-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    list-style: none;
}

.flight-tax-breakdown-heading::-webkit-details-marker {
    display: none;
}

.flight-tax-breakdown-heading h3 {
    margin: 2px 0 0;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.2;
}

.flight-tax-breakdown-heading > span {
    display: inline-grid;
    place-items: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-tax-toggle-hide,
.flight-tax-breakdown-preview[open] .flight-tax-toggle-show {
    display: none;
}

.flight-tax-breakdown-preview[open] .flight-tax-toggle-hide {
    display: inline;
}

.flight-tax-breakdown-groups {
    display: grid;
    gap: 10px;
    padding-top: 10px;
}

.flight-tax-breakdown-group {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.74);
}

.flight-tax-breakdown-group-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.flight-tax-breakdown-group-heading div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.flight-tax-breakdown-group-heading span {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-tax-breakdown-group-heading strong,
.flight-tax-breakdown-group-heading b {
    color: var(--ink);
    font-size: 13px;
    line-height: 1.25;
}

.flight-tax-breakdown-group-heading b {
    white-space: nowrap;
}

.flight-tax-breakdown-table {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 10px;
}

.flight-tax-breakdown-row {
    display: grid;
    grid-template-columns: 0.55fr 2fr 0.9fr 1fr 1.2fr;
    min-width: 0;
    border-top: 1px solid rgba(21, 147, 15, 0.10);
}

.flight-tax-breakdown-row:first-child {
    border-top: 0;
}

.flight-tax-breakdown-row span {
    min-width: 0;
    padding: 9px 10px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.flight-tax-breakdown-row span b {
    color: var(--green);
}

.flight-tax-breakdown-head {
    background: rgba(21, 147, 15, 0.08);
}

.flight-tax-breakdown-head span {
    color: var(--ink);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-weather-preview {
    overflow: hidden;
    border: 1px solid rgba(119, 136, 153, 0.22);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(243, 248, 251, 0.94), rgba(255, 255, 255, 0.92)),
        #fff;
    box-shadow: 0 10px 24px rgba(23, 42, 64, 0.06);
}

.flight-weather-preview-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
}

.flight-weather-preview-heading::-webkit-details-marker {
    display: none;
}

.flight-weather-preview-heading h3 {
    margin: 2px 0 0;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.2;
}

.flight-weather-heading-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.flight-weather-heading-copy p {
    margin: 3px 0 0;
    color: #5f6d78;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

.flight-weather-mini-icon {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 25px;
    height: 16px;
    border-radius: 14px;
    background: #b9c4ce;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.flight-weather-mini-icon::before,
.flight-weather-mini-icon::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #b9c4ce;
}

.flight-weather-mini-icon::before {
    left: 4px;
    top: -5px;
    width: 11px;
    height: 11px;
}

.flight-weather-mini-icon::after {
    right: 3px;
    top: -3px;
    width: 9px;
    height: 9px;
}

.flight-weather-toggle-label {
    display: inline-grid;
    grid-template-columns: minmax(0, auto) 14px;
    place-items: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-weather-toggle-hide,
.flight-weather-preview[open] .flight-weather-toggle-show {
    display: none;
}

.flight-weather-preview[open] .flight-weather-toggle-hide {
    display: inline;
}

.flight-weather-toggle-mark::before {
    content: "v";
    display: inline-block;
    color: #5f6d78;
    font-size: 13px;
    line-height: 1;
}

.flight-weather-preview[open] .flight-weather-toggle-mark::before {
    content: "^";
}

.flight-weather-panel {
    padding: 0 10px 10px;
    background: rgba(255, 255, 255, 0.68);
}

.flight-weather-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-width: none;
    margin: 0 auto;
    padding-top: 8px;
}

.flight-weather-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    min-height: 132px;
    padding: 10px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #606a72 0%, #87919a 100%);
    box-shadow: 0 10px 22px rgba(30, 43, 62, 0.16);
}

.flight-weather-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04));
}

.flight-weather-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), inset 0 -22px 42px rgba(0, 0, 0, 0.1);
}

.flight-weather-glass {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 7px;
    min-height: 108px;
    padding: 9px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
}

.flight-weather-scene,
.flight-weather-scene > span {
    position: absolute;
    pointer-events: none;
}

.flight-weather-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.flight-weather-card-top span,
.flight-weather-card small {
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.35;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.flight-weather-card-top span {
    text-transform: uppercase;
}

.flight-weather-card-top strong {
    color: rgba(255, 255, 255, 0.95);
    font-size: 16px;
    letter-spacing: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.flight-weather-card p {
    min-width: 0;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.flight-weather-card-main {
    display: flex;
    align-items: center;
    gap: 10px;
}

.flight-weather-icon {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.26);
    color: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.flight-weather-icon .icon {
    width: 18px;
    height: 18px;
}

.flight-weather-card-main strong {
    color: rgba(255, 255, 255, 0.98);
    font-size: 18px;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.flight-weather-condition {
    color: rgba(255, 255, 255, 0.96);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.weather--clear-day {
    background: linear-gradient(135deg, #f56f46 0%, #f8aa3d 52%, #ffd166 100%);
}

.weather--partly-day {
    background: linear-gradient(135deg, #f7a35a 0%, #78bfe6 48%, #d6ecf7 100%);
}

.weather--cloudy-day {
    background: linear-gradient(135deg, #5aa0d6 0%, #8fc2df 54%, #c7ddea 100%);
}

.weather--fog {
    background: linear-gradient(135deg, #7f99aa 0%, #b7c7d1 58%, #e3edf1 100%);
}

.weather--rain {
    background: linear-gradient(135deg, #263849 0%, #355f78 55%, #4b7890 100%);
}

.weather--snow {
    color: #234052;
    background: linear-gradient(135deg, #d9f0ff 0%, #f4fbff 58%, #b8d6e9 100%);
}

.weather--storm {
    background: linear-gradient(135deg, #16182d 0%, #30355c 50%, #563d76 100%);
}

.weather--unavailable {
    color: #1d3344;
    border: 1px solid rgba(52, 86, 110, 0.14);
    background: linear-gradient(135deg, #f8fbff 0%, #edf5fb 58%, #dfeaf2 100%);
    box-shadow: 0 8px 18px rgba(34, 58, 78, 0.1);
}

.weather--unavailable::before {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.2));
}

.weather--unavailable::after {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 -18px 32px rgba(46, 74, 96, 0.04);
}

.weather--clear-day .flight-weather-glass,
.weather--partly-day .flight-weather-glass,
.weather--cloudy-day .flight-weather-glass,
.weather--fog .flight-weather-glass,
.weather--snow .flight-weather-glass,
.weather--unavailable .flight-weather-glass {
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(255, 255, 255, 0.42);
}

.weather--unavailable .flight-weather-glass {
    border-color: rgba(59, 93, 118, 0.16);
    background: rgba(255, 255, 255, 0.72);
}

.weather--clear-day .flight-weather-card-top span,
.weather--clear-day .flight-weather-card-top strong,
.weather--clear-day p,
.weather--clear-day .flight-weather-card-main strong,
.weather--clear-day .flight-weather-condition,
.weather--clear-day small,
.weather--partly-day .flight-weather-card-top span,
.weather--partly-day .flight-weather-card-top strong,
.weather--partly-day p,
.weather--partly-day .flight-weather-card-main strong,
.weather--partly-day .flight-weather-condition,
.weather--partly-day small,
.weather--cloudy-day .flight-weather-card-top span,
.weather--cloudy-day .flight-weather-card-top strong,
.weather--cloudy-day p,
.weather--cloudy-day .flight-weather-card-main strong,
.weather--cloudy-day .flight-weather-condition,
.weather--cloudy-day small,
.weather--fog .flight-weather-card-top span,
.weather--fog .flight-weather-card-top strong,
.weather--fog p,
.weather--fog .flight-weather-card-main strong,
.weather--fog .flight-weather-condition,
.weather--fog small,
.weather--snow .flight-weather-card-top span,
.weather--snow .flight-weather-card-top strong,
.weather--snow p,
.weather--snow .flight-weather-card-main strong,
.weather--snow .flight-weather-condition,
.weather--snow small,
.weather--unavailable .flight-weather-card-top span,
.weather--unavailable .flight-weather-card-top strong,
.weather--unavailable p,
.weather--unavailable .flight-weather-card-main strong,
.weather--unavailable .flight-weather-condition,
.weather--unavailable small {
    color: rgba(35, 64, 82, 0.92);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

.weather--unavailable p {
    color: #10293c;
    font-weight: 900;
}

.weather--clear-day .flight-weather-icon,
.weather--partly-day .flight-weather-icon,
.weather--cloudy-day .flight-weather-icon,
.weather--fog .flight-weather-icon,
.weather--snow .flight-weather-icon,
.weather--unavailable .flight-weather-icon {
    background: rgba(255, 255, 255, 0.42);
    color: #234052;
}

.weather--unavailable .flight-weather-icon {
    background: rgba(35, 64, 82, 0.08);
}

.flight-weather-scene {
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.flight-weather-sun {
    right: 14px;
    top: 12px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ffe082;
    box-shadow: 0 0 0 12px rgba(255, 224, 130, 0.18), 0 0 44px rgba(255, 203, 91, 0.72);
    animation: flightWeatherGlow 3s ease-in-out infinite;
}

.flight-weather-cloud {
    width: 88px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    filter: drop-shadow(0 6px 12px rgba(31, 60, 88, 0.16));
    animation: flightWeatherCloudMove 12s ease-in-out infinite;
}

.flight-weather-cloud::before,
.flight-weather-cloud::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: inherit;
}

.flight-weather-cloud::before {
    left: 16px;
    top: -16px;
    width: 34px;
    height: 34px;
}

.flight-weather-cloud::after {
    right: 14px;
    top: -10px;
    width: 26px;
    height: 26px;
}

.flight-weather-cloud-one {
    left: -12px;
    top: 34px;
    opacity: 0.76;
}

.flight-weather-cloud-two {
    right: -24px;
    bottom: 14px;
    width: 118px;
    opacity: 0.5;
    animation-duration: 16s;
    animation-delay: -4s;
}

.flight-weather-rain-lines {
    inset: -10px 0 0;
    background-image: linear-gradient(110deg, transparent 0 62%, rgba(210, 236, 255, 0.75) 63% 65%, transparent 66%);
    background-size: 18px 46px;
    animation: flightWeatherRain 0.65s linear infinite;
    opacity: 0;
}

.flight-weather-snow-dots {
    inset: -10px 0 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0 2px, transparent 3px), radial-gradient(circle, rgba(255, 255, 255, 0.72) 0 1px, transparent 2px);
    background-size: 28px 34px, 42px 48px;
    background-position: 0 0, 16px 18px;
    animation: flightWeatherSnow 4s linear infinite;
    opacity: 0;
}

.flight-weather-fog-bands {
    left: -10%;
    right: -10%;
    top: 18px;
    height: 64px;
    background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0 7px, rgba(255, 255, 255, 0.38) 8px 12px, rgba(255, 255, 255, 0.06) 13px 20px);
    filter: blur(0.4px);
    animation: flightWeatherFog 7s ease-in-out infinite;
    opacity: 0;
}

.flight-weather-lightning {
    right: 42px;
    top: 18px;
    width: 22px;
    height: 58px;
    background: linear-gradient(160deg, transparent 0 24%, #fff176 25% 44%, transparent 45% 52%, #ffd54f 53% 74%, transparent 75%);
    filter: drop-shadow(0 0 12px rgba(255, 235, 59, 0.9));
    animation: flightWeatherLightning 3.8s steps(1, end) infinite;
    opacity: 0;
}

.weather--rain .flight-weather-rain-lines {
    opacity: 0.55;
}

.weather--snow .flight-weather-snow-dots {
    opacity: 0.9;
}

.weather--fog .flight-weather-fog-bands {
    opacity: 0.9;
}

.weather--storm .flight-weather-rain-lines {
    opacity: 0.45;
}

.weather--storm .flight-weather-lightning {
    opacity: 1;
}

.weather--unavailable .flight-weather-scene,
.weather--rain .flight-weather-sun,
.weather--storm .flight-weather-sun {
    display: none;
}

@keyframes flightWeatherGlow {
    0%,
    100% {
        opacity: 0.92;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

@keyframes flightWeatherCloudMove {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(14px);
    }
}

@keyframes flightWeatherFog {
    0%,
    100% {
        opacity: 0.72;
        transform: translateX(-8px);
    }

    50% {
        opacity: 0.95;
        transform: translateX(8px);
    }
}

@keyframes flightWeatherRain {
    0% {
        background-position: 0 -46px;
    }

    100% {
        background-position: 0 0;
    }
}

@keyframes flightWeatherSnow {
    0% {
        background-position: 0 -34px, 16px -48px;
    }

    100% {
        background-position: 0 34px, 16px 48px;
    }
}

@keyframes flightWeatherLightning {
    0%,
    88%,
    94%,
    100% {
        opacity: 0;
    }

    89%,
    92% {
        opacity: 1;
    }
}

.flight-traveller-selected-flight-leg {
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.flight-traveller-result-table .flight-review-table-row {
    grid-template-columns: 1.1fr 1.25fr 1.25fr 1fr 0.7fr;
}

.flight-traveller-actions {
    margin-top: 18px;
}

.flight-traveller-rules-inline {
    justify-self: start;
    width: auto;
    min-width: 220px;
    margin: 0;
}

.flight-traveller-details-page .section-heading {
    margin: 0 0 18px;
    padding: 18px 20px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(135deg, #0f766e, #16a34a);
    color: #fff;
}

.flight-traveller-details-page .section-heading h1 {
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
}

.flight-traveller-details-page .section-heading p {
    color: rgba(255, 255, 255, 0.8);
}

.flight-traveller-details-page .section-heading .ghost-button {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 12px 26px rgba(10, 50, 46, 0.18);
}

.flight-traveller-details-page .selected-summary {
    padding: 16px 18px;
    border-color: rgba(214, 225, 238, 0.86);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(240, 251, 255, 0.78)),
        #fff;
    box-shadow: 0 12px 28px rgba(23, 42, 64, 0.07);
}

.flight-traveller-details-page .selected-summary strong {
    font-size: 18px;
}

.flight-traveller-details-page .selected-summary span {
    color: var(--muted);
    font-weight: 800;
}

.flight-traveller-details-page .field-card {
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.flight-traveller-details-page .field-card input,
.flight-traveller-details-page .field-card select {
    min-height: 38px;
    padding: 0 10px;
    border-color: rgba(214, 225, 238, 0.92);
    border-radius: 9px;
    background: #fff;
    color: #25364a;
    font-size: 13px;
    font-weight: 700;
    box-shadow: inset 0 1px 2px rgba(23, 42, 64, 0.04);
}

.flight-traveller-details-page .field-card input:focus,
.flight-traveller-details-page .field-card select:focus {
    border-color: rgba(21, 147, 15, 0.45);
    outline: 3px solid rgba(21, 147, 15, 0.1);
}

.flight-traveller-details-page .booking-date-selects {
    gap: 7px;
}

.flight-traveller-details-page .content-eyebrow {
    font-size: 12px;
}

.flight-traveller-details-page .booking-terms-check {
    font-size: 12px;
    line-height: 1.4;
}

.flight-payment-card,
.flight-confirmation-card {
    display: grid;
    gap: 18px;
    padding: 0 22px 24px;
}

.flight-payment-panel,
.flight-confirmation-next,
.flight-confirmation-ticket-panel {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 10px 26px rgba(23, 42, 64, 0.06);
}

.flight-payment-panel-heading {
    display: grid;
    gap: 3px;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
}

.flight-payment-panel-heading h2,
.flight-confirmation-next h2,
.flight-confirmation-ticket-panel h2 {
    margin: 0;
    color: var(--ink);
    font-size: 19px;
}

.flight-payment-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.payment-provider-funnel-form {
    margin: 0;
}

.payment-provider-funnel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.payment-provider-choice {
    display: grid;
    align-content: space-between;
    gap: 14px;
    min-height: 190px;
    padding: 20px;
    border: 2px solid color-mix(in srgb, var(--green) 32%, #d6e1ee);
    border-radius: 18px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--green) 8%, #fff), #fff 68%);
    color: #486175;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(23, 42, 64, 0.09);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.payment-provider-choice:hover,
.payment-provider-choice:focus-visible {
    transform: translateY(-2px);
    border-color: var(--green);
    box-shadow: 0 18px 38px color-mix(in srgb, var(--green) 18%, transparent);
    outline: none;
}

.payment-provider-choice-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.payment-provider-choice-topline strong {
    color: var(--ink);
    font-size: 22px;
}

.payment-provider-choice-topline small {
    padding: 5px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--green) 14%, #fff);
    color: var(--green);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.payment-provider-choice > span:not(.payment-provider-choice-topline) {
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
}

.payment-provider-choice > b {
    color: var(--green);
    font-size: 13px;
}

.payment-provider-choice.is-disabled {
    border-style: dashed;
    border-color: rgba(148, 163, 184, 0.42);
    background: rgba(241, 245, 249, 0.76);
    color: #7b8998;
    cursor: not-allowed;
    box-shadow: none;
    opacity: 0.78;
}

.payment-provider-choice.is-disabled:hover {
    transform: none;
}

.flight-payment-timing-options {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.flight-payment-option {
    position: relative;
    display: grid;
    min-height: 116px;
    cursor: pointer;
}

.flight-payment-option input {
    position: absolute;
    opacity: 0;
}

.flight-payment-option span {
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.9);
    border-radius: 14px;
    background: #fff;
    color: #5f6f80;
    box-shadow: 0 8px 20px rgba(23, 42, 64, 0.05);
}

.flight-payment-option strong {
    color: var(--green);
    font-size: 15px;
}

.flight-payment-option small {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.flight-payment-option-primary {
    min-height: 132px;
}

.flight-payment-option-primary span {
    padding: 20px;
}

.flight-payment-option-primary strong {
    font-size: 18px;
}

.flight-payment-more-options {
    border: 1px dashed rgba(148, 163, 184, 0.42);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.74);
}

.flight-payment-more-options summary {
    cursor: pointer;
    padding: 11px 13px;
    color: #66788d;
    font-size: 12px;
    font-weight: 900;
    list-style-position: inside;
}

.flight-payment-more-options .flight-payment-option {
    min-height: 92px;
    margin: 0 10px 10px;
}

.flight-payment-option-secondary span {
    padding: 13px 14px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
}

.flight-payment-option-secondary strong {
    font-size: 14px;
}

.flight-payment-option input:checked + span {
    border-color: rgba(21, 147, 15, 0.48);
    background:
        linear-gradient(180deg, rgba(233, 248, 231, 0.72), rgba(255, 255, 255, 0.96)),
        #fff;
    box-shadow: 0 12px 28px rgba(21, 147, 15, 0.12);
}

.flight-payment-safe-note {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 12px;
    background: rgba(233, 248, 231, 0.58);
    color: #486175;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.flight-payment-refresh-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 2px;
}

.flight-payment-refresh-row small {
    color: #5f6f80;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.flight-payment-debug-details {
    margin-top: 14px;
    border: 1px dashed rgba(148, 163, 184, 0.38);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.62);
    color: #66788d;
}

.flight-payment-debug-details summary {
    cursor: pointer;
    padding: 10px 13px;
    color: #66788d;
    font-size: 12px;
    font-weight: 900;
    list-style-position: inside;
}

.flight-payment-debug-endpoint {
    margin: 0 12px 8px;
    padding-top: 10px;
    border-top: 1px dashed rgba(148, 163, 184, 0.34);
    color: #66788d;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.flight-payment-debug-details .flight-review-rules-list {
    margin: 0 12px 12px;
    color: #66788d;
    font-size: 12px;
}

html:not(.travelnet-dark) .flight-payment-page::before {
    background:
        linear-gradient(90deg, rgba(246, 255, 247, 0.2) 0%, rgba(247, 255, 249, 0.78) 34%, rgba(255, 255, 255, 0.96) 66%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 18% 10%, rgba(21, 147, 15, 0.16), transparent 28%),
        radial-gradient(circle at 82% 8%, rgba(8, 121, 201, 0.12), transparent 30%),
        radial-gradient(circle at 32% 80%, rgba(255, 206, 116, 0.16), transparent 32%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f8fff8 0%, #ffffff 48%, #f5fbff 100%);
}

html:not(.travelnet-dark) .flight-payment-page .flight-review-main h1 {
    color: #0d7f16;
}

html:not(.travelnet-dark) .flight-payment-page .flight-review-hero {
    border-color: rgba(21, 147, 15, 0.18);
    background:
        radial-gradient(circle at 88% 15%, rgba(255, 255, 255, 0.28), transparent 35%),
        linear-gradient(135deg, #0d7f16 0%, #15930f 48%, #0879c9 100%);
    box-shadow: 0 22px 54px rgba(21, 147, 15, 0.2);
}

html:not(.travelnet-dark) .flight-payment-page .flight-review-card,
html:not(.travelnet-dark) .flight-payment-page .flight-review-price-panel {
    border-color: rgba(214, 225, 238, 0.9);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 252, 255, 0.96)),
        #fff;
    box-shadow: 0 22px 58px rgba(23, 42, 64, 0.12);
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-timing-panel {
    border-color: rgba(21, 147, 15, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 255, 247, 0.88)),
        #fff;
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-option span {
    border-color: rgba(214, 225, 238, 0.96);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 252, 255, 0.94)),
        #fff;
    color: #486175;
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-option input:checked + span {
    border-color: rgba(21, 147, 15, 0.48);
    background:
        linear-gradient(135deg, rgba(233, 248, 231, 0.94), rgba(255, 255, 255, 0.98)),
        #fff;
    box-shadow: 0 14px 32px rgba(21, 147, 15, 0.14);
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-more-options {
    border-color: rgba(148, 163, 184, 0.38);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(246, 250, 255, 0.72)),
        #fff;
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-more-options summary {
    color: #66788d;
}

html:not(.travelnet-dark) .flight-payment-page .flight-payment-option-secondary span {
    border-color: rgba(214, 225, 238, 0.72);
    background: rgba(255, 255, 255, 0.78);
    color: #697c8f;
}

.payment-return-page {
    min-height: calc(100vh - 120px);
}

html:not(.travelnet-dark) .payment-return-page::before {
    background:
        linear-gradient(90deg, rgba(241, 250, 245, 0.34) 0%, rgba(255, 255, 255, 0.88) 42%, rgba(255, 255, 255, 0.98) 100%),
        radial-gradient(circle at 12% 18%, rgba(21, 147, 15, 0.16), transparent 28%),
        radial-gradient(circle at 82% 12%, rgba(8, 121, 201, 0.18), transparent 30%),
        radial-gradient(circle at 42% 86%, rgba(255, 193, 94, 0.16), transparent 30%),
        url("../images/flight-evening-landing-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #f6fbff 0%, #ffffff 52%, #edf8ff 100%);
}

.payment-return-shell {
    max-width: 980px;
    margin: 0 auto;
}

.payment-return-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 8px;
    padding: 6px 10px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: #0d7f16;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.payment-return-card {
    display: grid;
    gap: 18px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 255, 0.9)),
        rgba(255, 255, 255, 0.86);
    box-shadow:
        0 26px 70px rgba(23, 42, 64, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(16px);
}

.payment-return-status {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(233, 248, 231, 0.74), rgba(255, 255, 255, 0.96)),
        #fff;
}

.payment-return-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: rgba(21, 147, 15, 0.1);
    color: #0d7f16;
}

.payment-return-status-icon .icon {
    width: 31px;
    height: 31px;
    stroke-width: 2.4;
}

.payment-return-status h2 {
    margin: 4px 0 6px;
    color: #17314a;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.08;
}

.payment-return-status p {
    max-width: 720px;
    margin: 0;
    color: #486175;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
}

.payment-return-status-failed .payment-return-status {
    border-color: rgba(211, 71, 85, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 236, 238, 0.92), rgba(255, 255, 255, 0.98)),
        #fff;
}

.payment-return-status-failed .payment-return-status-icon {
    background: rgba(211, 71, 85, 0.12);
    color: #c52c3f;
}

.payment-return-status-pending .payment-return-status,
.payment-return-status-cancelled .payment-return-status {
    border-color: rgba(215, 143, 31, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 247, 231, 0.94), rgba(255, 255, 255, 0.98)),
        #fff;
}

.payment-return-status-pending .payment-return-status-icon,
.payment-return-status-cancelled .payment-return-status-icon {
    background: rgba(215, 143, 31, 0.13);
    color: #b96f08;
}

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

.payment-return-detail-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: center;
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 252, 255, 0.92)),
        #fff;
    box-shadow: 0 12px 26px rgba(23, 42, 64, 0.06);
}

.payment-return-detail-card span {
    grid-column: 1 / -1;
    color: #5c7185;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.payment-return-detail-card strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #17314a;
    font-size: 16px;
    line-height: 1.25;
}

.payment-return-copy-button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(21, 147, 15, 0.22);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.78);
    color: #0d7f16;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.payment-return-copy-button:hover,
.payment-return-copy-button:focus-visible {
    border-color: rgba(21, 147, 15, 0.44);
    background: rgba(218, 245, 214, 0.96);
    outline: none;
}

.payment-return-safe-note {
    font-size: 13px;
}

.payment-return-actions {
    display: flex;
    justify-content: flex-start;
}

.payment-return-actions .primary-cta {
    min-width: min(100%, 260px);
}

.flight-payment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.flight-payment-page .field-card {
    gap: 5px;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.flight-payment-page .field-card input,
.flight-payment-page .field-card select {
    min-height: 40px;
    padding: 0 11px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
}

.flight-payment-check {
    font-size: 12px;
    line-height: 1.4;
}

.flight-confirmation-status {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    background: rgba(233, 248, 231, 0.68);
}

.flight-confirmation-status > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #fff;
    color: var(--green);
    box-shadow: 0 10px 24px rgba(21, 147, 15, 0.14);
}

.flight-confirmation-status h2,
.flight-confirmation-status p,
.flight-confirmation-next p {
    margin: 0;
}

.flight-confirmation-status h2 {
    color: var(--green);
    font-size: 21px;
}

.flight-confirmation-status p,
.flight-confirmation-next p {
    color: #5f6f80;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.flight-confirmation-status.is-warning {
    border-color: rgba(255, 68, 63, 0.2);
    background: rgba(255, 68, 63, 0.07);
}

.flight-confirmation-status.is-warning h2,
.flight-confirmation-status.is-warning > span {
    color: var(--coral);
}

.flight-confirmation-reference-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.flight-confirmation-reference-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(23, 42, 64, 0.05);
}

.flight-confirmation-reference-card span {
    color: #68798d;
    font-size: 12px;
    font-weight: 800;
}

.flight-confirmation-reference-card strong {
    color: var(--coral);
    font-size: 15px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.flight-confirmation-ticket-panel {
    gap: 16px;
}

.flight-confirmation-collapsible-panel {
    gap: 0;
}

.flight-confirmation-collapsible-panel[open] {
    gap: 16px;
}

.flight-confirmation-collapsible-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 10px;
    align-items: center;
    cursor: pointer;
    list-style: none;
}

.flight-confirmation-collapsible-summary::-webkit-details-marker {
    display: none;
}

.flight-confirmation-collapsible-summary .content-eyebrow {
    grid-column: 1 / -1;
}

.flight-confirmation-collapsible-summary > span[id] {
    color: var(--ink);
    font-size: 19px;
    font-weight: 950;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.flight-confirmation-collapsible-summary b {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 999px;
    color: var(--blue);
    background: rgba(255, 255, 255, 0.78);
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease;
}

.flight-confirmation-collapsible-summary b .icon {
    width: 17px;
    height: 17px;
}

.flight-confirmation-collapsible-panel[open] .flight-confirmation-collapsible-summary {
    padding-bottom: 10px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
}

.flight-confirmation-collapsible-panel[open] .flight-confirmation-collapsible-summary b {
    transform: rotate(180deg);
    border-color: rgba(8, 121, 201, 0.26);
    color: var(--coral);
}

.flight-confirmation-ticket-panel.is-warning {
    border-color: rgba(255, 68, 63, 0.2);
    background:
        linear-gradient(180deg, rgba(255, 244, 244, 0.96), rgba(255, 255, 255, 0.92)),
        #fff7f7;
}

.flight-booking-guard-module {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(255, 68, 63, 0.28);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 239, 243, 0.9)),
        #fff8fa;
    box-shadow: 0 14px 30px rgba(255, 68, 63, 0.1);
}

.flight-booking-guard-icon {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    color: var(--coral);
    background: rgba(255, 68, 63, 0.12);
}

.flight-booking-guard-module h3,
.flight-booking-guard-module p {
    margin: 0;
}

.flight-booking-guard-module h3 {
    color: var(--coral);
    font-size: 17px;
    line-height: 1.25;
}

.flight-booking-guard-module p {
    margin-top: 6px;
    color: #5f6f80;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.flight-booking-guard-module ul {
    display: grid;
    gap: 7px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.flight-booking-guard-module li {
    position: relative;
    padding-left: 18px;
    color: #36485a;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.4;
}

.flight-booking-guard-module li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--coral);
    box-shadow: 0 0 0 4px rgba(255, 68, 63, 0.12);
}

.booking-error-explainer {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 68, 63, 0.24);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 244, 244, 0.88)),
        #fff7f7;
}

.booking-error-explainer h3,
.booking-error-explainer p {
    margin: 0;
}

.booking-error-explainer h3 {
    color: var(--coral);
    font-size: 17px;
}

.booking-error-explainer p {
    color: #5f6f80;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.booking-error-technical {
    padding-top: 2px;
}

.booking-error-technical summary {
    cursor: pointer;
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
}

.booking-error-technical ul {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding-left: 18px;
}

.booking-error-technical li {
    color: #4e5f70;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.flight-confirmation-ticket-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.flight-confirmation-ticket-card {
    position: relative;
    display: grid;
    gap: 11px;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(23, 42, 64, 0.05);
}

.flight-confirmation-ticket-card::before,
.flight-confirmation-ticket-card::after {
    content: "";
    position: absolute;
    top: 68px;
    z-index: 2;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #f7fbff;
    box-shadow: inset 0 0 0 1px rgba(214, 225, 238, 0.86);
}

.flight-confirmation-ticket-card::before {
    left: -9px;
}

.flight-confirmation-ticket-card::after {
    right: -9px;
}

.flight-confirmation-ticket-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.9);
    background:
        linear-gradient(135deg, rgba(8, 121, 201, 0.09), rgba(21, 147, 15, 0.08)),
        #f8fcff;
}

.flight-confirmation-ticket-topline span,
.flight-confirmation-ticket-card dt,
.flight-confirmation-ticket-card small {
    color: #68798d;
    font-size: 11px;
    font-weight: 800;
}

.flight-confirmation-ticket-topline strong {
    color: var(--green);
    font-size: 11px;
    text-transform: uppercase;
}

.flight-confirmation-ticket-body {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.55fr);
    gap: 16px;
    min-width: 0;
    padding: 14px;
}

.flight-confirmation-ticket-main {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 0;
}

.flight-confirmation-ticket-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    color: var(--ink);
    line-height: 1;
}

.flight-confirmation-ticket-route span {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.flight-confirmation-ticket-route span:last-child {
    text-align: right;
}

.flight-confirmation-ticket-route strong {
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 950;
    line-height: 0.95;
    letter-spacing: 0;
}

.flight-confirmation-ticket-route small {
    color: #68798d;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.25;
}

.flight-confirmation-ticket-route .icon {
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: 999px;
    color: var(--green);
}

.flight-confirmation-ticket-card p {
    margin: 0;
    color: #5f6f80;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.flight-confirmation-ticket-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.flight-confirmation-ticket-meta span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 8px;
    border: 1px solid rgba(8, 121, 201, 0.12);
    border-radius: 999px;
    background: rgba(8, 121, 201, 0.06);
    color: #506174;
    font-size: 11px;
    font-weight: 850;
}

.flight-confirmation-ticket-stub {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 5px;
    min-width: 0;
    padding: 14px 12px;
    border-left: 1px dashed rgba(184, 199, 214, 0.9);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(239, 248, 255, 0.92)),
        #f6fbff;
    text-align: center;
}

.flight-confirmation-ticket-stub span,
.flight-confirmation-ticket-stub small {
    color: #68798d;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.flight-confirmation-ticket-stub strong {
    color: var(--blue);
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 950;
    line-height: 1;
    overflow-wrap: anywhere;
}

.flight-confirmation-ticket-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
}

.flight-confirmation-ticket-card dl div {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.84);
}

.flight-confirmation-ticket-card dd {
    margin: 0;
    color: var(--ink);
    font-size: 14px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.flight-confirmation-ticket-side {
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
}

.flight-confirmation-ticket-notice {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 14px;
}

.flight-confirmation-ticket-notice strong {
    color: #8f4f00;
    font-size: 14px;
    line-height: 1.3;
}

.flight-confirmation-ticket-notice span {
    color: #6a5a42;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.45;
}

.flight-confirmation-ticket-secure {
    display: grid;
    grid-template-columns: 34px minmax(0, auto) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 0 14px 14px;
    padding: 12px 14px;
    border-radius: 14px;
}

.flight-confirmation-ticket-secure .icon {
    width: 34px;
    height: 34px;
    padding: 8px;
    border-radius: 999px;
}

.flight-confirmation-ticket-secure strong,
.flight-confirmation-ticket-secure span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.flight-confirmation-ticket-secure strong {
    font-size: 13px;
    font-weight: 950;
}

.flight-confirmation-ticket-secure span {
    color: #68798d;
    font-size: 12px;
    font-weight: 820;
}

@media (max-width: 980px) and (min-width: 761px) {
    .flight-confirmation-ticket-body {
        grid-template-columns: 1fr;
    }

    .flight-confirmation-ticket-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.flight-confirmation-page .flight-confirmation-ticket-card {
    gap: 0;
    padding: 0;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at 18% 6%, rgba(8, 121, 201, 0.14), transparent 34%),
        radial-gradient(circle at 90% 8%, rgba(21, 147, 15, 0.12), transparent 36%),
        linear-gradient(145deg, #07111f 0%, #0b1626 54%, #101c2d 100%);
    box-shadow:
        0 26px 70px rgba(3, 8, 16, 0.46),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.flight-confirmation-page .flight-confirmation-ticket-card::before,
.flight-confirmation-page .flight-confirmation-ticket-card::after {
    display: none;
}

.flight-confirmation-page .flight-confirmation-ticket-topline {
    min-height: 54px;
    padding: 12px 20px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    background: rgba(3, 10, 22, 0.34);
}

.flight-confirmation-page .flight-confirmation-ticket-topline span {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: rgba(226, 232, 240, 0.8);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.flight-confirmation-page .flight-confirmation-ticket-topline span .icon {
    width: 32px;
    height: 32px;
    padding: 8px;
    border-radius: 999px;
    background: rgba(8, 121, 201, 0.18);
    color: #67e8f9;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.18);
}

.flight-confirmation-page .flight-confirmation-ticket-topline strong {
    padding: 6px 11px;
    border: 1px solid rgba(245, 158, 11, 0.42);
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.12);
    color: #fbbf24;
    font-size: 11px;
    font-weight: 950;
}

.flight-confirmation-page .flight-confirmation-ticket-body {
    grid-template-columns: minmax(0, 1fr) minmax(230px, 0.38fr);
    gap: 16px;
    padding: 18px;
}

.flight-confirmation-page .flight-confirmation-ticket-main {
    gap: 14px;
}

.flight-confirmation-page .flight-confirmation-ticket-route {
    grid-template-columns: max-content 30px max-content;
    justify-content: center;
    gap: 8px;
    align-items: center;
}

.flight-confirmation-page .flight-confirmation-ticket-route span {
    display: flex;
    gap: 6px;
    align-items: baseline;
    min-width: 0;
    white-space: nowrap;
}

.flight-confirmation-page .flight-confirmation-ticket-route strong {
    color: #f8fafc;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 950;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
    white-space: nowrap;
}

.flight-confirmation-page .flight-confirmation-ticket-route small {
    color: rgba(226, 232, 240, 0.72);
    font-size: 12px;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-confirmation-page .flight-confirmation-ticket-route .icon {
    justify-self: center;
    width: 28px;
    height: 28px;
    padding: 4px;
    color: #6ee76f;
    background: transparent;
    box-shadow: none;
}

.flight-confirmation-page .flight-confirmation-ticket-route::before,
.flight-confirmation-page .flight-confirmation-ticket-route::after {
    display: none;
}

.flight-confirmation-page .flight-confirmation-ticket-route::before {
    justify-self: end;
    grid-column: 1;
    grid-row: 1;
}

.flight-confirmation-page .flight-confirmation-ticket-route::after {
    justify-self: start;
    grid-column: 3;
    grid-row: 1;
}

.flight-confirmation-page .flight-confirmation-ticket-route span:last-child {
    justify-content: flex-start;
    text-align: left;
}

.flight-confirmation-page .flight-confirmation-ticket-card p {
    margin-top: -8px;
    color: rgba(226, 232, 240, 0.58);
    font-size: 12px;
    font-weight: 800;
}

.flight-confirmation-page .flight-confirmation-ticket-meta {
    gap: 8px;
}

.flight-confirmation-page .flight-confirmation-ticket-meta span {
    min-height: 30px;
    padding: 0 10px;
    border-color: rgba(148, 163, 184, 0.16);
    border-radius: 999px;
    background: rgba(3, 10, 22, 0.42);
    color: #f8fafc;
    font-size: 12px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.flight-confirmation-page .flight-confirmation-ticket-card dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.flight-confirmation-page .flight-confirmation-ticket-card dl div {
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px 9px;
    align-items: center;
    min-height: 76px;
    padding: 11px;
    border-color: rgba(148, 163, 184, 0.16);
    border-radius: 10px;
    background: rgba(8, 18, 32, 0.68);
}

.flight-confirmation-ticket-detail-icon {
    display: grid;
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #60a5fa;
}

.flight-confirmation-ticket-detail-icon .icon {
    width: 24px;
    height: 24px;
}

.flight-confirmation-ticket-detail-icon.is-green {
    color: #6ee76f;
}

.flight-confirmation-ticket-detail-icon.is-blue {
    color: #4f7cff;
}

.flight-confirmation-ticket-detail-icon.is-amber {
    color: #f59e0b;
}

.flight-confirmation-ticket-detail-icon.is-purple {
    color: #a855f7;
}

.flight-confirmation-page .flight-confirmation-ticket-card dt {
    color: rgba(148, 163, 184, 0.92);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-confirmation-page .flight-confirmation-ticket-card dd {
    color: #f8fafc;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
}

.flight-confirmation-page .flight-confirmation-ticket-card dl div:nth-child(7) dd {
    color: #fbbf24;
}

.flight-confirmation-page .flight-confirmation-ticket-side {
    gap: 12px;
}

.flight-confirmation-page .flight-confirmation-ticket-stub {
    min-height: 150px;
    padding: 20px 18px;
    border: 1px solid rgba(34, 197, 94, 0.44);
    border-radius: 14px;
    background:
        radial-gradient(circle at 85% 20%, rgba(34, 197, 94, 0.32), transparent 38%),
        linear-gradient(135deg, rgba(8, 28, 52, 0.96), rgba(5, 107, 97, 0.8)),
        #0b1626;
    box-shadow: 0 22px 48px rgba(5, 107, 97, 0.18);
    text-align: left;
    justify-items: start;
}

.flight-confirmation-page .flight-confirmation-ticket-stub span {
    color: rgba(226, 232, 240, 0.72);
    font-size: 14px;
    font-weight: 950;
}

.flight-confirmation-page .flight-confirmation-ticket-stub strong {
    color: #6ee76f;
    font-size: clamp(30px, 3.6vw, 42px);
    font-weight: 950;
}

.flight-confirmation-page .flight-confirmation-ticket-stub small {
    color: rgba(226, 232, 240, 0.72);
    font-size: 15px;
    font-weight: 950;
}

.flight-confirmation-page .flight-confirmation-ticket-notice {
    gap: 10px;
    min-height: 148px;
    padding: 16px;
    border-color: rgba(96, 165, 250, 0.18);
    border-radius: 14px;
    background: rgba(8, 18, 32, 0.72);
}

.flight-confirmation-page .flight-confirmation-ticket-notice strong {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: #4f7cff;
    font-size: 15px;
    font-weight: 950;
}

.flight-confirmation-page .flight-confirmation-ticket-notice strong .icon {
    width: 26px;
    height: 26px;
    padding: 6px;
    border-radius: 999px;
    background: #4f7cff;
    color: #fff;
}

.flight-confirmation-page .flight-confirmation-ticket-notice p,
.flight-confirmation-page .flight-confirmation-ticket-notice span {
    margin: 0;
    color: rgba(248, 250, 252, 0.86);
    font-size: 13px;
    font-weight: 780;
    line-height: 1.55;
}

.flight-confirmation-page .flight-confirmation-ticket-secure {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0 12px;
    margin: 0 18px 18px;
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 14px;
    background: rgba(8, 18, 32, 0.72);
}

.flight-confirmation-page .flight-confirmation-ticket-secure .icon {
    grid-row: 1 / 3;
    width: 38px;
    height: 38px;
    padding: 9px;
    background: rgba(168, 85, 247, 0.16);
    color: #a855f7;
}

.flight-confirmation-page .flight-confirmation-ticket-secure strong {
    color: #f8fafc;
    font-size: 13px;
}

.flight-confirmation-page .flight-confirmation-ticket-secure span {
    color: rgba(226, 232, 240, 0.72);
    font-size: 12px;
}

.flight-results-heading,
.hotel-results-heading {
    position: relative;
    align-items: flex-end;
    margin-bottom: 22px;
    padding: 22px 24px;
    border: 1px solid rgba(216, 226, 238, 0.68);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.56)),
        radial-gradient(circle at 7% 20%, rgba(56, 189, 248, 0.16), transparent 34%),
        radial-gradient(circle at 78% 0%, rgba(21, 147, 15, 0.1), transparent 28%);
    box-shadow: 0 22px 58px rgba(24, 45, 74, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.86);
    overflow: hidden;
}

.flight-results-heading::before,
.hotel-results-heading::before {
    content: "";
    position: absolute;
    left: 24px;
    bottom: 0;
    width: min(190px, 42%);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, var(--green), #38bdf8, var(--coral));
}

.flight-results-heading::after,
.hotel-results-heading::after {
    content: "";
    position: absolute;
    top: -58px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.82), rgba(56, 189, 248, 0.1) 48%, transparent 70%);
    pointer-events: none;
}

.flight-results-heading > div,
.hotel-results-heading > div {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    min-width: 0;
}

.flight-results-heading h1,
.hotel-results-heading h1 {
    color: #10223b;
    font-size: clamp(42px, 4.6vw, 64px);
    line-height: 0.96;
    letter-spacing: 0;
    text-shadow: 0 10px 28px rgba(15, 35, 56, 0.12);
}

.flight-results-heading p,
.hotel-results-heading p {
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 9px 14px;
    border: 1px solid rgba(216, 226, 238, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #5e7088;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(24, 45, 74, 0.07);
}

.flight-results-heading .ghost-button,
.hotel-results-heading .ghost-button {
    position: relative;
    z-index: 1;
    min-height: 48px;
    padding: 0 20px;
    border-color: rgba(21, 147, 15, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(240, 251, 240, 0.86));
    color: var(--green);
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(21, 147, 15, 0.12);
}

.flight-results-heading .ghost-button:hover,
.hotel-results-heading .ghost-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(21, 147, 15, 0.18);
}

.hotel-results-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(22px, 3vw, 32px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.hotel-results-page::before,
.hotel-results-page::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.hotel-results-page::before {
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -40px;
    left: calc(50% - 50vw);
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(247, 252, 255, 0.18) 0%, rgba(250, 253, 255, 0.68) 38%, rgba(255, 255, 255, 0.94) 64%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 17% 18%, rgba(56, 189, 248, 0.18), transparent 30%),
        radial-gradient(circle at 78% 4%, rgba(21, 147, 15, 0.1), transparent 28%),
        radial-gradient(circle at 38% 78%, rgba(255, 206, 116, 0.18), transparent 34%),
        url("../images/hotel-results-premium-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f7fbff 0%, #ffffff 48%, #f6fbff 100%);
}

.hotel-results-page::after {
    content: none;
}

.hotel-guest-details-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.hotel-detail-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.hotel-guest-details-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -54px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(247, 252, 255, 0.12) 0%, rgba(250, 253, 255, 0.62) 36%, rgba(255, 255, 255, 0.94) 65%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 14% 18%, rgba(56, 189, 248, 0.18), transparent 30%),
        radial-gradient(circle at 76% 8%, rgba(21, 147, 15, 0.11), transparent 28%),
        radial-gradient(circle at 34% 78%, rgba(255, 206, 116, 0.18), transparent 34%),
        url("../images/hotel-results-premium-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f7fbff 0%, #ffffff 48%, #f6fbff 100%);
}

.hotel-detail-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -54px;
    left: calc(50% - 50vw);
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(247, 252, 255, 0.12) 0%, rgba(250, 253, 255, 0.62) 36%, rgba(255, 255, 255, 0.94) 65%, rgba(247, 251, 255, 0.98) 100%),
        radial-gradient(circle at 14% 18%, rgba(56, 189, 248, 0.18), transparent 30%),
        radial-gradient(circle at 76% 8%, rgba(21, 147, 15, 0.11), transparent 28%),
        radial-gradient(circle at 34% 78%, rgba(255, 206, 116, 0.18), transparent 34%),
        url("../images/hotel-results-premium-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #f7fbff 0%, #ffffff 48%, #f6fbff 100%);
}

.hotel-guest-details-page .detail-card {
    overflow: hidden;
    border-color: rgba(214, 225, 230, 0.86);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 250, 0.94)),
        #fff;
    box-shadow: 0 26px 70px rgba(23, 42, 64, 0.16);
}

.hotel-guest-details-page .section-heading {
    margin: 0 0 18px;
    padding: 18px 20px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.16), transparent 34%),
        linear-gradient(135deg, #0f766e, #16a34a);
    color: #fff;
}

.hotel-guest-details-page .section-heading h1 {
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
}

.hotel-guest-details-page .section-heading p {
    color: rgba(255, 255, 255, 0.78);
}

.hotel-guest-details-page .section-heading .ghost-button {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 12px 26px rgba(10, 50, 46, 0.18);
}

.hotel-guest-details-page .field-card {
    padding: 12px;
    border: 1px solid rgba(214, 225, 230, 0.82);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 10px 24px rgba(23, 42, 64, 0.06);
}

.hotel-guest-details-page .field-card input {
    border-color: rgba(214, 225, 230, 0.92);
    background: #fff;
}

.hotel-booking-card {
    display: grid;
    gap: 18px;
    padding: 0 24px 26px;
}

.hotel-booking-card .flight-review-steps {
    margin-bottom: 0;
}

.hotel-accommodation-hero {
    overflow: hidden;
    border-color: rgba(95, 176, 205, 0.22);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 249, 255, 0.92)),
        linear-gradient(90deg, rgba(232, 247, 255, 0.94), rgba(252, 247, 255, 0.86) 58%, rgba(255, 251, 238, 0.9));
}

.hotel-accommodation-hero .flight-review-hero-copy p {
    max-width: 680px;
    color: #43586d;
    font-weight: 750;
}

.hotel-booking-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.hotel-booking-progress-step {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 42px;
    padding: 7px 9px;
    border: 1px solid rgba(184, 199, 214, 0.76);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.88)),
        #fff;
    color: #536579;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
}

.hotel-booking-progress-step b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.14);
    color: #0879c9;
    font-size: 12px;
}

.hotel-booking-progress-step.is-complete {
    border-color: rgba(21, 147, 15, 0.25);
    background:
        linear-gradient(180deg, rgba(235, 249, 237, 0.98), rgba(246, 253, 249, 0.92)),
        #f8fffb;
    color: #16651f;
}

.hotel-booking-progress-step.is-current {
    border-color: rgba(255, 139, 132, 0.46);
    background:
        linear-gradient(180deg, rgba(255, 248, 241, 0.98), rgba(255, 237, 231, 0.92)),
        #fff7f2;
    color: #9f3d26;
    box-shadow: 0 12px 24px rgba(255, 139, 132, 0.13);
}

.hotel-booking-progress-step.is-complete b {
    background: rgba(21, 147, 15, 0.14);
    color: #15930f;
}

.hotel-booking-progress-step.is-current b {
    background: rgba(255, 139, 132, 0.2);
    color: #d83a32;
}

.hotel-accommodation-booking-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(184, 199, 214, 0.62);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(244, 251, 255, 0.98), rgba(255, 250, 247, 0.94)),
        #fff;
}

.hotel-accommodation-booking-details div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.hotel-accommodation-booking-details span {
    color: #536579;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.hotel-accommodation-booking-details strong {
    overflow-wrap: anywhere;
    color: #203447;
    font-size: 14px;
    font-weight: 900;
}

.hotel-accommodation-booking-details small {
    overflow-wrap: anywhere;
    color: #65768a;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.hotel-section-strip {
    margin: -16px -18px 4px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(151, 209, 185, 0.62);
    background:
        linear-gradient(90deg, rgba(237, 249, 236, 0.98), rgba(239, 249, 255, 0.96) 58%, rgba(255, 252, 241, 0.92)),
        #f7fcf8;
    color: #203447;
}

.hotel-booking-card .hotel-section-strip h2 {
    color: #203447;
}

.hotel-section-strip > span,
.hotel-section-strip .booking-remember-check {
    border-color: rgba(21, 147, 15, 0.18);
    background: rgba(255, 255, 255, 0.72);
    color: var(--green-dark);
}

.hotel-section-strip .content-eyebrow {
    background: #fff;
    color: var(--green-dark);
    box-shadow: 0 7px 16px rgba(21, 147, 15, 0.08);
}

.hotel-section-strip .booking-remember-check {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 800;
}

.hotel-booking-card .booking-form-panel {
    gap: 16px;
    padding: 20px 22px 22px;
    border-color: rgba(214, 225, 238, 0.82);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 8px 22px rgba(23, 42, 64, 0.06);
}

.hotel-passenger-hint-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #536579;
    font-size: 11px;
    font-weight: 800;
}

.hotel-passenger-grid {
    display: grid;
    grid-template-columns: 0.52fr minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(130px, 0.85fr);
    gap: 8px;
    align-items: end;
}

.hotel-passenger-grid .booking-date-field {
    grid-column: 1 / span 2;
}

.hotel-passenger-grid .field-card {
    min-width: 0;
}

.hotel-passenger-grid .field-card input,
.hotel-passenger-grid .field-card select {
    min-width: 0;
}

.hotel-guest-info-panel {
    overflow: hidden;
}

.hotel-primary-guest-panel {
    border-radius: 8px;
}

.hotel-primary-guest-panel .hotel-section-strip {
    margin-bottom: 0;
    background:
        radial-gradient(circle at 94% 22%, rgba(255, 255, 255, 0.96), transparent 26%),
        linear-gradient(90deg, rgba(228, 249, 232, 0.98), rgba(235, 248, 255, 0.98) 60%, rgba(255, 250, 235, 0.92));
}

.hotel-booking-card .hotel-section-strip .content-eyebrow {
    color: var(--green-dark);
}

.hotel-guest-hint-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0 4px;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-primary-guest-grid {
    display: grid;
    grid-template-columns: minmax(92px, 0.55fr) repeat(3, minmax(150px, 1fr));
    gap: 16px 18px;
    align-items: end;
}

.hotel-primary-guest-grid .booking-date-field {
    grid-column: 1 / span 2;
}

.hotel-primary-guest-grid .field-card {
    min-width: 0;
}

.hotel-primary-guest-grid .field-card input,
.hotel-primary-guest-grid .field-card select {
    min-width: 0;
}

.hotel-primary-guest-grid .hotel-id-number-field {
    grid-column: span 2;
}

.hotel-primary-guest-grid .hotel-department-field,
.hotel-primary-guest-grid .hotel-role-field,
.hotel-primary-guest-grid .hotel-guest-email-field,
.hotel-primary-guest-grid .hotel-guest-phone-field {
    grid-column: span 2;
}

.hotel-special-request,
.hotel-contact-detail-note label {
    display: flex;
    align-items: center;
    gap: 6px;
}

.hotel-special-request {
    width: fit-content;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-booked-by-panel {
    background: #f8f8f8;
}

.hotel-contact-detail-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-contact-detail-note strong {
    color: var(--green);
    font-size: 11px;
}

.hotel-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
}

.hotel-contact-grid {
    display: grid;
    grid-template-columns: minmax(92px, 0.55fr) repeat(3, minmax(150px, 1fr));
    gap: 16px 18px;
}

.hotel-contact-grid .field-card:nth-child(4),
.hotel-contact-grid .field-card:nth-child(5),
.hotel-contact-grid .field-card:nth-child(6) {
    grid-column: span 2;
}

.hotel-phone-grid,
.hotel-notes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 16px 18px;
}

.hotel-reservation-panel {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 16px 38px rgba(23, 42, 64, 0.08);
}

.hotel-reservation-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(233, 248, 231, 0.72), rgba(248, 252, 255, 0.9)),
        #fff;
}

.hotel-reservation-heading h2 {
    margin: 0;
    color: var(--green);
    font-size: 20px;
    line-height: 1.15;
}

.hotel-reservation-heading > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    background: rgba(255, 236, 235, 0.78);
    color: var(--coral);
    font-size: 18px;
    white-space: nowrap;
}

.hotel-reservation-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 0 2px;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-reservation-summary strong {
    flex-basis: 100%;
    color: var(--ink);
    font-size: 13px;
    text-transform: uppercase;
}

.hotel-reservation-body {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 14px;
}

.hotel-reservation-image {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    border-radius: 12px;
    border: 1px solid rgba(214, 225, 238, 0.82);
}

.hotel-reservation-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.hotel-gallery-review-button {
    min-height: inherit;
    border-radius: inherit;
}

.hotel-gallery-review-button img {
    min-height: inherit;
}

.hotel-reservation-image-count {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(8, 37, 61, 0.82);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.hotel-reservation-content {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.hotel-reservation-room-table {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 12px;
}

.hotel-reservation-room-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 10px 12px;
    border-top: 1px dashed rgba(201, 211, 222, 0.9);
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-reservation-room-row:first-child {
    border-top: 0;
}

.hotel-reservation-room-head {
    background: rgba(233, 248, 231, 0.72);
    color: var(--ink);
}

.hotel-reservation-room-row strong {
    color: var(--green);
}

.hotel-reservation-bottom {
    display: grid;
    gap: 4px;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-reservation-bottom strong {
    color: var(--ink);
}

.hotel-reservation-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(248, 252, 255, 0.78)),
        #fff;
}

.hotel-reservation-detail-section {
    display: grid;
    align-content: start;
    min-width: 0;
    padding: 16px;
    border-right: 1px solid rgba(214, 225, 238, 0.72);
    border-bottom: 1px solid rgba(214, 225, 238, 0.72);
}

.hotel-reservation-detail-section:nth-child(2n) {
    border-right: 0;
}

.hotel-reservation-detail-section-wide {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
}

.hotel-reservation-detail-section h3 {
    margin: 0 0 10px;
    color: var(--green);
    font-size: 15px;
    line-height: 1.2;
}

.hotel-reservation-detail-section dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.hotel-reservation-detail-section dl > div {
    display: grid;
    grid-template-columns: minmax(92px, 0.3fr) minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding: 9px 0;
    border-top: 1px solid rgba(214, 225, 238, 0.62);
}

.hotel-reservation-detail-section dl > div:first-child {
    border-top: 0;
}

.hotel-reservation-detail-section dt {
    margin: 0;
    color: #6d7a88;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hotel-reservation-detail-section dd {
    margin: 0;
    min-width: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

.hotel-reservation-detail-grid a,
.hotel-reservation-map-heading a {
    color: var(--green);
    font-weight: 900;
    text-decoration: none;
}

.hotel-reservation-detail-grid a:hover,
.hotel-reservation-map-heading a:hover {
    text-decoration: underline;
}

.hotel-reservation-map-panel {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(244, 249, 253, 0.86), rgba(255, 255, 255, 0.74)),
        #fff;
}

.hotel-reservation-map-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.hotel-reservation-map-heading h3 {
    margin: 0;
    color: var(--ink);
    font-size: 16px;
}

.hotel-reservation-map-frame {
    overflow: hidden;
    min-height: 280px;
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.68);
}

.hotel-reservation-map-frame iframe {
    display: block;
    width: 100%;
    height: 280px;
    border: 0;
}

.hotel-reservation-map-status {
    margin: 0;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.hotel-accommodation-rules {
    display: grid;
    gap: 12px;
    scroll-margin-top: 24px;
    padding-top: 12px;
    border-top: 1px dashed rgba(201, 211, 222, 0.9);
}

.hotel-accommodation-rules-notice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin: 18px 0 20px;
    padding: 18px;
    border: 1px solid rgba(181, 91, 35, 0.28);
    border-left: 6px solid #b55b23;
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(255, 250, 246, 0.98), rgba(247, 252, 255, 0.94)),
        #fffaf6;
    box-shadow: 0 14px 34px rgba(181, 91, 35, 0.12);
}

.hotel-accommodation-rules-notice div {
    display: grid;
    gap: 5px;
}

.hotel-accommodation-rules-notice strong {
    color: var(--ink);
    font-size: clamp(18px, 2vw, 23px);
    font-weight: 950;
    line-height: 1.16;
}

.hotel-accommodation-rules-notice p {
    margin: 0;
    color: #536579;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.45;
}

.hotel-accommodation-rules-scroll-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid #0f75c8;
    border-radius: 8px;
    background: linear-gradient(180deg, #1692e6, #0f75c8);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(15, 117, 200, 0.22);
}

.hotel-accommodation-rules-scroll-button:hover,
.hotel-accommodation-rules-scroll-button:focus-visible {
    border-color: #0b5d9f;
    background: linear-gradient(180deg, #0f86db, #0b68b4);
    color: #fff;
}

.hotel-accommodation-rules-heading {
    display: grid;
    gap: 4px;
}

.hotel-accommodation-rules-heading h3 {
    margin: 0;
    color: var(--ink);
    font-size: 17px;
}

.hotel-accommodation-rules-heading p {
    margin: 0;
    color: #536579;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
}

.hotel-accommodation-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hotel-accommodation-rule-card {
    display: grid;
    gap: 5px;
    padding: 10px 12px;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-left: 4px solid rgba(107, 135, 159, 0.92);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.hotel-accommodation-rule-card.money-bearing {
    border-left-color: #b55b23;
    background: #fffaf6;
}

.hotel-accommodation-rule-card.important {
    border-left-color: #8a6d1d;
    background: #fffdf2;
}

.hotel-accommodation-rule-card span {
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.hotel-accommodation-rule-card p {
    margin: 0;
    color: #536579;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
}

.hotel-booking-card .booking-form-panel-heading {
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
}

.hotel-booking-card .booking-form-panel-heading h2 {
    font-size: 18px;
}

.hotel-booking-card .booking-form-panel-heading > span {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
}

.hotel-booking-card .booking-passenger-grid,
.hotel-booking-card .booking-contact-grid {
    gap: 10px 12px;
}

.hotel-booking-card .booking-contact-grid {
    grid-template-columns: 0.75fr minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.hotel-booking-card .booking-contact-grid .wide-field {
    grid-column: span 2;
}

.hotel-booking-card .field-card {
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.hotel-booking-card .field-card input,
.hotel-booking-card .field-card select {
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(214, 225, 238, 0.92);
    border-radius: 9px;
    background: #fff;
    color: #25364a;
    font-size: 13px;
    font-weight: 700;
    box-shadow: inset 0 1px 2px rgba(23, 42, 64, 0.04);
}

.hotel-booking-card .field-card input:focus,
.hotel-booking-card .field-card select:focus {
    border-color: rgba(21, 147, 15, 0.45);
    outline: 3px solid rgba(21, 147, 15, 0.1);
}

.hotel-booking-card .booking-date-selects {
    gap: 7px;
}

.hotel-booking-card .booking-terms-check {
    font-size: 12px;
    line-height: 1.4;
}

.hotel-booking-actions {
    margin-top: 18px;
}

.hotel-booking-actions-above-reservation {
    margin-bottom: 18px;
}

.hotel-booking-sidebar-note {
    display: grid;
    gap: 5px;
    margin: 4px 16px 16px;
    padding: 13px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 13px;
    background: rgba(248, 252, 255, 0.82);
    color: #536579;
    font-size: 12px;
    font-weight: 700;
}

.hotel-booking-sidebar-note strong {
    color: var(--ink);
    font-size: 14px;
}

.hotel-booking-sidebar-note small {
    color: var(--muted);
    font-weight: 800;
}

.hotel-detail-page .hotel-booking-card {
    gap: 18px;
}

.hotel-review-hero {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr);
    align-items: center;
    min-height: 315px;
    padding: 26px;
    gap: 30px;
}

.hotel-review-hero .flight-review-hero-copy {
    min-width: 0;
    max-width: 520px;
}

.hotel-review-hero h2 {
    max-width: 12ch;
    font-size: clamp(34px, 4.2vw, 54px);
    line-height: 0.98;
}

.hotel-review-hero .flight-review-hero-copy p {
    max-width: 420px;
    font-size: 16px;
    line-height: 1.45;
}

.hotel-review-hero-media {
    position: relative;
    min-height: 260px;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 36px rgba(10, 50, 46, 0.2);
}

.hotel-review-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
}

.hotel-review-image-badge {
    position: absolute;
    left: 12px;
    bottom: 12px;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(10, 50, 46, 0.16);
}

.hotel-indian-card {
    display: grid;
    gap: 18px;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.94)),
        #fff;
    box-shadow: 0 22px 58px rgba(23, 42, 64, 0.13);
}

.hotel-indian-card-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 18px 20px 14px;
    border-bottom: 1px dashed rgba(201, 211, 222, 0.9);
    background:
        linear-gradient(90deg, rgba(233, 248, 231, 0.8), rgba(248, 252, 255, 0.94));
}

.hotel-indian-card-top > div {
    min-width: 0;
}

.hotel-indian-card-top h2 {
    margin: 0;
    color: var(--green);
    font-size: 24px;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hotel-indian-card-top p {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0;
    color: #536579;
    font-size: 13px;
    font-weight: 800;
}

.hotel-indian-card-top > span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.hotel-indian-search-note {
    margin: 0 20px;
    padding: 13px 14px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 12px;
    background: rgba(237, 249, 236, 0.72);
    color: #536579;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.hotel-indian-body {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 18px;
    padding: 0 20px;
}

.hotel-indian-image {
    position: relative;
    overflow: hidden;
    min-height: 170px;
    border: 1px solid rgba(214, 225, 238, 0.8);
    border-radius: 14px;
    background: #f7fbff;
}

.hotel-indian-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.hotel-indian-image span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
}

.hotel-indian-content {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.hotel-indian-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.hotel-indian-meta-grid div,
.hotel-indian-extra-grid section {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
}

.hotel-indian-meta-grid span,
.hotel-indian-extra-grid span {
    color: var(--coral);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-indian-meta-grid strong,
.hotel-indian-extra-grid strong {
    color: #3f4e62;
    font-size: 13px;
    line-height: 1.25;
}

.hotel-indian-room-table {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 12px;
}

.hotel-indian-room-row {
    display: grid;
    grid-template-columns: 1.3fr 0.78fr 0.72fr;
    gap: 12px;
    align-items: center;
    min-height: 58px;
    padding: 12px 14px;
    border-top: 1px dashed rgba(201, 211, 222, 0.9);
    color: #536579;
    font-size: 13px;
    font-weight: 800;
}

.hotel-indian-room-row:first-child {
    border-top: 0;
}

.hotel-indian-room-head {
    min-height: 38px;
    background:
        linear-gradient(90deg, rgba(233, 248, 231, 0.76), rgba(248, 252, 255, 0.92));
    color: var(--coral);
    font-size: 12px;
    font-weight: 900;
}

.hotel-indian-room-row strong,
.hotel-indian-room-row small {
    display: block;
}

.hotel-indian-room-row small {
    margin-top: 3px;
    color: #758294;
    font-size: 11px;
}

.hotel-indian-total {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 9px 0 0;
    color: #536579;
    font-size: 14px;
    font-weight: 900;
}

.hotel-indian-total strong {
    color: var(--coral);
    font-size: 18px;
}

.hotel-indian-total small {
    color: #758294;
    font-size: 12px;
}

.hotel-indian-extra-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 20px 20px;
}

.hotel-indian-extra-grid section:last-child {
    grid-column: 1 / -1;
}

.hotel-indian-extra-grid p {
    margin: 0;
    color: #647184;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.hotel-review-section {
    margin: 0 0 2px;
}

.hotel-review-section .flight-review-leg-heading {
    border-bottom: 1px dashed rgba(201, 211, 222, 0.82);
}

.hotel-review-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
}

.hotel-review-fact {
    display: grid;
    gap: 4px;
    min-height: 92px;
    padding: 13px;
    border: 1px solid rgba(214, 225, 238, 0.74);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 18px rgba(23, 42, 64, 0.05);
}

.hotel-review-fact span {
    color: var(--coral);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-review-fact strong {
    color: #3f4e62;
    font-size: 14px;
    line-height: 1.25;
}

.hotel-review-fact small {
    color: #758294;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

.hotel-review-room-table .flight-review-table-row {
    grid-template-columns: 1.15fr 1.35fr 1fr 0.8fr;
}

.hotel-review-tag-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.hotel-review-tag-cell small,
.hotel-review-amenities span {
    display: inline-flex;
    width: fit-content;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
}

.hotel-review-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 2px;
}

.hotel-review-info-panel {
    display: grid;
    gap: 8px;
    padding: 15px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 10px 24px rgba(23, 42, 64, 0.05);
}

.hotel-review-info-panel .flight-review-hero-kicker {
    width: fit-content;
    margin-bottom: 0;
    background: rgba(21, 147, 15, 0.1);
    color: var(--green);
}

.hotel-review-info-panel strong {
    color: #3f4e62;
    font-size: 16px;
    line-height: 1.25;
}

.hotel-review-info-panel p {
    margin: 0;
    color: #647184;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.hotel-review-info-panel-wide {
    grid-column: 1 / -1;
}

.hotel-review-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.hotel-review-side-list {
    display: grid;
    gap: 8px;
    padding: 0 16px 14px;
}

.hotel-review-side-list span {
    display: grid;
    gap: 2px;
    padding: 10px 0 0;
    border-top: 1px dashed rgba(214, 225, 238, 0.86);
    color: #536579;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.hotel-review-side-list b {
    color: var(--green);
    font-size: 11px;
    text-transform: uppercase;
}

.hotel-detail-page .flight-review-shell {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 24px;
}

.hotel-detail-page .flight-review-main h1 {
    margin-bottom: 14px;
    font-size: 27px;
}

.hotel-detail-page .flight-review-side {
    gap: 28px;
    margin-top: 51px;
}

.hotel-detail-page .flight-review-price-panel {
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(23, 42, 64, 0.12);
}

.hotel-detail-page .flight-review-price-panel h2 {
    background: linear-gradient(180deg, #44bf31, var(--green));
    font-size: 14px;
    text-transform: none;
}

.hotel-detail-page .flight-review-price-row,
.hotel-detail-page .flight-review-price-total {
    padding: 14px 16px;
    font-size: 14px;
}

.hotel-detail-page .flight-review-call-card {
    border-radius: 16px;
}

.hotel-detail-page .flight-review-actions {
    margin-top: 34px;
}

.hotel-detail-page .hotel-indian-card {
    gap: 0;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 58px rgba(23, 42, 64, 0.13);
}

.hotel-detail-page .hotel-indian-card-top {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fff, #f6faf7);
}

.hotel-detail-page .hotel-indian-card-top h2 {
    color: var(--green);
    font-size: 24px;
}

.hotel-detail-page .hotel-indian-search-note {
    margin: 18px 20px 0;
    border-radius: 12px;
    background: rgba(237, 249, 236, 0.62);
}

.hotel-detail-page .hotel-indian-body {
    grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: 18px 20px 0;
}

.hotel-detail-page .hotel-indian-image {
    align-self: start;
    height: 280px;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
}

.hotel-detail-page .hotel-indian-image img {
    height: 100%;
    min-height: 0;
    object-position: center;
}

.hotel-detail-page .hotel-indian-meta-grid div,
.hotel-detail-page .hotel-indian-extra-grid section {
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(23, 42, 64, 0.05);
}

.hotel-detail-page .hotel-indian-room-table {
    border-radius: 14px;
}

.hotel-detail-page .hotel-indian-room-head {
    min-height: 36px;
    background: linear-gradient(90deg, rgba(233, 248, 231, 0.75), rgba(248, 252, 255, 0.9));
    color: var(--coral);
}

.hotel-detail-page .hotel-indian-room-row {
    min-height: 64px;
    padding: 12px 14px;
}

.hotel-detail-page .hotel-indian-total {
    margin-top: 2px;
    padding: 12px 0 2px;
    border-top: 1px dashed rgba(201, 211, 222, 0.9);
}

.hotel-detail-page .hotel-indian-extra-grid {
    gap: 12px;
    padding: 18px 20px 20px;
}

.hotel-results-heading {
    align-items: flex-end;
}

.hotel-summary-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
}

.hotel-summary-line span + span::before {
    content: "\00b7";
    margin-right: 10px;
    color: var(--muted);
}

.hotel-modify-link {
    margin-top: 0;
}

.flight-hero-b4,
.hotel-hero-b4 {
    display: block;
    margin-bottom: 24px;
    padding: clamp(32px, 3vw, 40px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;
    background: linear-gradient(135deg, #0f766e, #16a34a);
    color: #fff;
    box-shadow: 0 20px 44px rgba(4, 89, 88, 0.24);
}

.flight-hero-b4::before,
.hotel-hero-b4::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.08), transparent 34%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.06) 0 12%, transparent 12% 100%);
    opacity: 0.72;
}

.flight-hero-b4::after,
.hotel-hero-b4::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 70% 50%, rgba(255, 255, 255, 0.08), transparent 60%);
}

.flight-hero-b4 .flight-hero-inner,
.hotel-hero-b4 .hotel-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-width: 0;
}

.flight-hero-copy,
.hotel-hero-copy {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.flight-hero-label,
.hotel-hero-label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.flight-results-heading.flight-hero-b4 h1,
.hotel-results-heading.hotel-hero-b4 h1 {
    color: #fff;
    font-size: clamp(36px, 3.4vw, 42px);
    line-height: 1;
    text-shadow: 0 10px 24px rgba(4, 63, 62, 0.24);
}

.flight-hero-accent,
.hotel-hero-accent {
    display: block;
    width: 60px;
    height: 4px;
    border-radius: 4px;
    background: #55BF0D;
    box-shadow: 0 8px 18px rgba(85, 191, 13, 0.24);
}

.flight-results-heading.flight-hero-b4 .flight-summary-line,
.hotel-results-heading.hotel-hero-b4 .hotel-summary-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 22px;
    width: auto;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.86);
    box-shadow: none;
}

.flight-results-heading.flight-hero-b4 .flight-summary-line span,
.hotel-results-heading.hotel-hero-b4 .hotel-summary-line span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.86);
}

.hotel-results-heading.hotel-hero-b4 .hotel-summary-line span + span::before {
    content: none;
}

.flight-results-heading.flight-hero-b4 .flight-summary-line .icon,
.hotel-results-heading.hotel-hero-b4 .hotel-summary-line .icon {
    color: rgba(255, 255, 255, 0.92);
}

.flight-hero-b4 .hero-modify-btn,
.hotel-hero-b4 .hero-modify-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #0f766e;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.flight-hero-b4 .hero-modify-btn:hover,
.hotel-hero-b4 .hero-modify-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14);
}

.hotel-results-layout {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.hotel-filter-card {
    position: sticky;
    top: 16px;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 230, 0.92);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 253, 255, 0.94));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 24px 70px rgba(15, 35, 56, 0.11),
        0 8px 24px rgba(56, 120, 180, 0.06);
}

.hotel-filter-form {
    display: grid;
    gap: 18px;
}

.hotel-filter-group {
    display: grid;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.hotel-filter-group h3 {
    margin: 0;
    font-size: 15px;
}

.hotel-filter-group h3 span {
    color: var(--muted);
    font-weight: 500;
}

.hotel-filter-group label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--ink);
    font-size: 14px;
}

.hotel-filter-group input {
    accent-color: var(--green);
}

.hotel-price-slider {
    position: relative;
    height: 30px;
}

.hotel-price-track {
    position: absolute;
    top: 14px;
    left: 8px;
    right: 8px;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--green) 0 70%, #e4ecf3 70% 100%);
}

.hotel-price-knob {
    position: absolute;
    top: 7px;
    width: 20px;
    height: 20px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 2px rgba(21, 147, 15, 0.28), 0 8px 18px rgba(21, 147, 15, 0.18);
}

.hotel-price-knob-low {
    left: 5%;
}

.hotel-price-knob-high {
    left: 70%;
}

.hotel-price-labels {
    display: flex;
    justify-content: space-between;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.hotel-price-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hotel-price-fields label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.hotel-price-fields input {
    width: 100%;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-weight: 800;
}

.hotel-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hotel-filter-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-weight: 800;
}

.hotel-filter-pill input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.hotel-filter-pill.is-active {
    border-color: rgba(21, 147, 15, 0.24);
    background: var(--green-soft);
    color: var(--green-dark);
}

.hotel-filter-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 14px;
    border: 0;
    border-radius: var(--radius-control);
    background: var(--green);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.hotel-result-stack {
    display: grid;
    gap: 16px;
}

.hotel-sort-bar {
    justify-self: start;
    border-color: rgba(214, 225, 230, 0.9);
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 18px 44px rgba(15, 35, 56, 0.1);
}

.hotel-result-count {
    color: var(--ink);
    font-size: 14px;
    white-space: nowrap;
}

.hotel-package-strip {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 230, 0.92);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 48px rgba(24, 45, 74, 0.1);
}

.hotel-package-strip-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}

.hotel-package-strip-heading h2 {
    margin: 4px 0 0;
    color: var(--ink);
    font-size: 22px;
    line-height: 1.1;
}

.hotel-package-strip-heading a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.hotel-package-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.hotel-package-card {
    display: grid;
    grid-template-rows: 145px 1fr;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 230, 0.86);
    border-radius: 14px;
    background: #fff;
}

.hotel-package-image-frame {
    min-height: 145px;
}

.hotel-package-card-body {
    display: grid;
    gap: 8px;
    padding: 14px;
}

.hotel-package-card-body h3 {
    margin: 0;
    color: var(--ink);
    font-size: 18px;
    line-height: 1.15;
}

.hotel-package-card-body small {
    color: var(--muted);
    font-weight: 800;
}

.hotel-package-card-body p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
}

.hotel-package-card-body .card-bottom {
    align-items: center;
    margin-top: 4px;
}

.hotel-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px auto 0;
    padding: 12px;
    border: 1px solid rgba(214, 225, 230, 0.82);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 45px rgba(24, 45, 74, 0.1);
}

.hotel-page-number,
.hotel-page-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-size: 14px;
    font-weight: 900;
}

.hotel-page-number.is-active {
    border-color: rgba(21, 147, 15, 0.24);
    background: var(--green);
    color: #fff;
    box-shadow: 0 10px 20px rgba(21, 147, 15, 0.18);
}

.hotel-page-control {
    color: var(--green);
}

.hotel-page-control.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.hotel-result-card {
    display: grid;
    grid-template-columns: minmax(220px, 285px) minmax(0, 1fr) minmax(178px, 220px);
    gap: 0;
    align-items: stretch;
    padding: 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 230, 0.92);
    border-radius: 24px;
    background:
        linear-gradient(145deg, #ffffff 0%, #fbfdff 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 24px 70px rgba(15, 35, 56, 0.12),
        0 8px 24px rgba(56, 120, 180, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.hotel-result-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: 5px;
    background: linear-gradient(180deg, #0ea5e9, #55bf0d 56%, #ff5a5f);
}

.hotel-result-card::after {
    content: "";
    position: absolute;
    top: -86px;
    right: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(85, 191, 13, 0.13), rgba(14, 165, 233, 0.06) 50%, transparent 72%);
    pointer-events: none;
}

.hotel-result-card:hover {
    transform: translateY(-4px);
    border-color: rgba(14, 165, 233, 0.24);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.96) inset,
        0 30px 72px rgba(15, 35, 56, 0.16),
        0 14px 34px rgba(14, 165, 233, 0.1);
}

.hotel-image-panel {
    position: relative;
    z-index: 1;
    min-height: 230px;
    padding: 14px;
    background:
        linear-gradient(180deg, rgba(240, 249, 255, 0.86), rgba(248, 252, 255, 0.68));
}

.hotel-image-panel img {
    width: 100%;
    height: 100%;
    min-height: 206px;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 35, 56, 0.14);
}

.hotel-gallery-open-button {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 206px;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: transparent;
    cursor: pointer;
    color: inherit;
    text-align: inherit;
}

.hotel-gallery-open-button:focus-visible {
    outline: 3px solid rgba(21, 147, 15, 0.36);
    outline-offset: 3px;
}

.hotel-gallery-open-button img {
    display: block;
}

.hotel-gallery-badge {
    position: absolute;
    left: 24px;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(8, 37, 61, 0.86);
    color: #fff;
    border: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
}

.hotel-heart-button {
    top: 24px;
    right: 24px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
}

.hotel-card-main {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    position: relative;
    z-index: 1;
    padding: 28px 22px 24px;
}

.hotel-card-title-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}

.hotel-card-title-row h2 {
    margin: 0;
    color: var(--ink);
    font-size: 22px;
    line-height: 1.2;
}

.hotel-stars {
    display: inline-flex;
    gap: 1px;
    color: #f3d9a6;
    font-size: 15px;
    letter-spacing: 0;
}

.hotel-stars .is-filled {
    color: #f7a82d;
}

.hotel-location {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.hotel-location .icon {
    color: var(--green);
}

.hotel-rating-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.hotel-rating-row strong {
    min-width: 48px;
    padding: 5px 9px;
    border-radius: 8px;
    background: var(--green);
    color: #fff;
    text-align: center;
}

.hotel-rating-row span {
    color: var(--ink);
}

.hotel-amenity-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hotel-amenity-row span {
    padding: 6px 9px;
    border: 1px solid rgba(14, 165, 233, 0.14);
    border-radius: 999px;
    background: #eef8ff;
    color: #075985;
    font-size: 12px;
    font-weight: 800;
}

.hotel-reassurance-box {
    display: grid;
    gap: 2px;
    width: min(100%, 330px);
    padding: 12px 14px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 10px;
    background: linear-gradient(180deg, #edf9ec 0%, #e5f5e5 100%);
    color: #0b6623;
}

.hotel-reassurance-box strong,
.hotel-reassurance-box span {
    font-size: 13px;
}

.hotel-details-panel {
    margin-top: 2px;
}

.hotel-details-panel summary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    cursor: pointer;
    color: var(--muted);
    font-weight: 900;
}

.hotel-details-panel summary small {
    padding: 3px 8px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
}

.hotel-room-list {
    display: grid;
    gap: 10px;
    padding-top: 12px;
}

.hotel-room-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}

.hotel-room-option.has-room-image {
    grid-template-columns: 88px minmax(0, 1fr) auto;
}

.hotel-room-image-thumb {
    width: 88px;
    height: 76px;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(192, 207, 218, 0.74);
    border-radius: 10px;
    background: #eef5f0;
    cursor: pointer;
}

.hotel-room-image-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-indian-image .hotel-gallery-open-button,
.hotel-reservation-image .hotel-gallery-open-button {
    height: 100%;
    min-height: inherit;
    border-radius: inherit;
}

.hotel-indian-image .hotel-gallery-open-button img,
.hotel-reservation-image .hotel-gallery-open-button img {
    height: 100%;
    min-height: inherit;
    border-radius: inherit;
    object-fit: cover;
}

.hotel-indian-room-type-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.hotel-indian-room-copy {
    display: block;
    min-width: 0;
}

.hotel-indian-room-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 58px;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(192, 207, 218, 0.76);
    border-radius: 10px;
    background: #eef5f0;
    cursor: pointer;
}

.hotel-indian-room-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-room-option span {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.hotel-live-rate-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 0;
}

.hotel-live-rate-fields div {
    padding: 9px 10px;
    border: 1px solid rgba(192, 207, 218, 0.64);
    border-radius: 10px;
    background: rgba(246, 250, 252, 0.86);
}

.hotel-live-rate-fields dt {
    margin: 0 0 3px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-live-rate-fields dd {
    margin: 0;
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.tvl-roomrate-selection {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hotel-live-rate-only {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    padding: 4px 8px;
    border: 1px solid rgba(14, 165, 233, 0.16);
    border-radius: 999px;
    background: rgba(238, 248, 255, 0.96);
    color: #075985;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-live-rate-legacy-details {
    display: grid;
    gap: 7px;
    margin: 12px 0 0;
    padding: 12px;
    border: 1px dashed rgba(192, 207, 218, 0.72);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.hotel-live-rate-legacy-details div {
    display: grid;
    grid-template-columns: minmax(96px, 0.28fr) minmax(0, 1fr);
    gap: 10px;
}

.hotel-live-rate-legacy-details dt,
.hotel-live-rate-legacy-details dd {
    margin: 0;
    font-size: 12px;
    line-height: 1.35;
}

.hotel-live-rate-legacy-details dt {
    color: var(--muted);
    font-weight: 900;
}

.hotel-live-rate-legacy-details dd {
    color: var(--ink);
    font-weight: 750;
}

.hotel-review-rate-details {
    display: grid;
    gap: 10px;
}

.hotel-review-rate-details h3 {
    margin: 0;
    color: var(--ink);
    font-size: 16px;
}

.hotel-room-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.hotel-room-tags small {
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-weight: 800;
}

.hotel-room-action {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.hotel-room-action strong {
    color: var(--coral);
}

.hotel-room-action button,
.hotel-room-action a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 90, 95, 0.18);
    border-radius: 999px;
    background: #fff4f3;
    color: var(--coral-dark);
    text-decoration: none;
    font-weight: 900;
}

.hotel-price-panel {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 8px;
    min-height: 100%;
    padding: 28px 24px;
    position: relative;
    z-index: 1;
    border-left: 1px dashed rgba(192, 207, 218, 0.86);
    background:
        linear-gradient(180deg, rgba(250, 253, 255, 0.98) 0%, rgba(245, 250, 255, 0.96) 100%);
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.82);
    text-align: left;
}

.hotel-price-panel span,
.hotel-price-panel small {
    color: var(--muted);
    font-weight: 800;
}

.hotel-price-panel strong {
    color: #e64d43;
    font-size: 30px;
    line-height: 1.05;
}

.hotel-select-button {
    width: 100%;
    margin-top: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff5a5f, #ff3d3d);
    box-shadow: 0 12px 24px rgba(255, 90, 95, 0.28);
    line-height: 1.15;
    text-align: center;
    white-space: normal;
}

.hotel-select-button.is-live-rates-button {
    min-height: 48px;
    padding-right: 12px;
    padding-left: 12px;
}

/* Distinguish supplier-directory information cards from customer-bookable hotel results. */
.hotel-result-card.is-display-only {
    border-color: rgba(100, 116, 139, 0.34); /* Use a calm neutral border instead of implying live availability. */
}

/* Render the former action position as a visibly disabled status without creating a clickable link. */
.hotel-select-button.is-display-only {
    display: inline-flex; /* Preserve the familiar full-width result-card action layout. */
    align-items: center; /* Center the information-only label vertically. */
    justify-content: center; /* Center the information-only label horizontally. */
    min-height: 48px; /* Keep the disabled status as easy to notice as a normal action. */
    padding: 10px 14px; /* Retain readable spacing around the status text. */
    background: #64748b; /* Use neutral slate instead of the booking action colour. */
    box-shadow: none; /* Remove the raised action effect because this element cannot be clicked. */
    color: #fff; /* Maintain readable contrast on the slate background. */
    cursor: not-allowed; /* Reinforce that no booking interaction is available. */
}

.hotel-result-stack,
.result-stack {
    gap: 14px;
}

.hotel-result-card {
    grid-template-columns: minmax(205px, 250px) minmax(0, 1fr) minmax(166px, 202px);
    border-radius: 22px;
}

.hotel-image-panel {
    min-height: 190px;
    padding: 12px;
}

.hotel-image-panel img {
    min-height: 166px;
    border-radius: 12px;
}

.hotel-gallery-badge {
    left: 20px;
    bottom: 20px;
}

.hotel-heart-button {
    top: 20px;
    right: 20px;
}

.hotel-card-main {
    gap: 9px;
    padding: 20px 18px 18px;
}

.hotel-card-title-row h2 {
    font-size: 20px;
}

.hotel-rating-row,
.hotel-location {
    font-size: 13px;
}

.hotel-amenity-row {
    gap: 6px;
}

.hotel-amenity-row span {
    padding: 5px 8px;
}

.hotel-reassurance-box {
    padding: 10px 12px;
}

.hotel-price-panel {
    gap: 6px;
    padding: 22px 20px;
}

.hotel-price-panel strong {
    font-size: 28px;
}

.hotel-select-button {
    margin-top: 10px;
}

.flight-result-card {
    border-radius: 20px;
}

.flight-card-content {
    gap: 13px;
    padding: 20px 24px 18px 28px;
}

.flight-brand-block {
    gap: 13px;
}

.airline-logo-circle,
.flight-card-logo {
    width: 104px;
    height: 58px;
    flex-basis: 104px;
    border-radius: 14px;
}

.airline-logo-circle img,
.flight-card-logo img {
    width: 90px;
    max-width: 90px;
    max-height: 38px;
}

.route-code-line {
    font-size: 25px;
}

.route-description {
    font-size: 14px;
}

.flight-card-timeline {
    gap: 10px;
    padding: 14px 16px 10px;
    border-radius: 15px;
}

.flight-card-journeys,
.flight-card-journeys.is-split {
    gap: 10px;
}

.flight-card-journeys.is-split .journey-group {
    padding: 10px;
}

.journey-group {
    gap: 9px;
}

.journey-summary-row {
    grid-template-columns: 64px minmax(160px, 1fr) 64px;
    gap: 10px;
}

.journey-time-block strong {
    font-size: 16px;
}

.flight-timeline {
    min-height: 56px;
}

.benefit-chips {
    gap: 6px;
}

.benefit-chips span {
    padding: 4px 8px;
}

.flight-details {
    padding-top: 10px;
}

.flight-price-panel {
    gap: 5px;
    padding: 22px 22px;
}

.flight-price-panel strong {
    font-size: 27px;
}

.flight-select-button {
    margin-top: 10px;
}

.narrow-band {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.flight-journey-summary-page.narrow-band {
    max-width: 1280px;
}

.flight-traveller-details-page.narrow-band {
    max-width: 1280px;
}

.hotel-guest-details-page.narrow-band {
    max-width: 1280px;
}

.results-layout {
    display: grid;
    grid-template-columns: minmax(250px, 270px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.filter-card,
.detail-card {
    padding: 20px;
}

.notice-card {
    margin: 18px 0;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
}

.notice-card.bad {
    border-color: #ffc7c4;
    background: #fff3f2;
    color: #9e2420;
}

.diagnostic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.diagnostic-list {
    display: grid;
    grid-template-columns: minmax(130px, 0.36fr) minmax(0, 0.64fr);
    gap: 10px 16px;
    margin: 18px 0 0;
}

.diagnostic-list dt {
    color: var(--muted);
    font-weight: 800;
}

.diagnostic-list dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.diagnostic-json-card {
    margin-top: 18px;
}

.diagnostic-json {
    max-height: 520px;
    overflow: auto;
    margin: 14px 0 0;
    padding: 16px;
    border-radius: var(--radius-control);
    background: #101923;
    color: #e8f2f1;
    font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
}

.filter-card {
    display: grid;
    align-content: start;
    gap: 18px;
}

.flight-filter-card {
    border-color: rgba(85, 191, 13, 0.12);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
    box-shadow: 0 12px 30px rgba(42, 61, 92, 0.08), 0 0 0 1px rgba(85, 191, 13, 0.03);
}

.flight-filter-form {
    display: grid;
    gap: 18px;
}

.flight-filter-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 0;
    border-radius: var(--radius-control);
    background: var(--green);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.filter-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.filter-card-header h2 {
    margin: 0;
}

.filter-card-header a {
    color: var(--green);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.filter-clear-link {
    justify-self: start;
    margin-top: 4px;
    color: var(--green);
    font-size: 14px;
    font-weight: 800;
}

.flight-filter-field {
    box-shadow: none;
    background: #f9fbfd;
}

.flight-toggle span {
    box-shadow: inset 0 0 0 1px rgba(21, 32, 51, 0.06);
}

.filter-group {
    display: grid;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.filter-group h3 {
    margin: 0;
    font-size: 14px;
}

.filter-group label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--muted);
    font-size: 14px;
}

.result-stack {
    display: grid;
    gap: 20px;
}

.sort-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    width: fit-content;
    padding: 8px 10px;
    border: 1px solid rgba(216, 226, 238, 0.78);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 10px 26px rgba(42, 61, 92, 0.08);
}

.sort-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-weight: 800;
    text-decoration: none;
}

.sort-pill.is-active {
    border-color: rgba(21, 147, 15, 0.26);
    background: var(--green-soft);
    color: var(--green-dark);
}

.split-round-form {
    display: grid;
    gap: 16px;
}

.split-round-heading,
.split-round-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(214, 225, 230, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 45px rgba(24, 45, 74, 0.1);
}

.split-round-heading h2 {
    margin: 8px 0 4px;
    font-size: 24px;
    line-height: 1.2;
}

.split-round-heading p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

.split-round-total {
    display: grid;
    justify-items: end;
    gap: 4px;
    min-width: 160px;
}

.split-round-total span,
.split-round-summary span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.split-round-total strong {
    color: var(--coral-dark);
    font-size: 30px;
    line-height: 1;
}

.split-round-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.split-round-leg {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 230, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 45px rgba(24, 45, 74, 0.1);
}

.split-round-leg h3 {
    margin: 0 0 4px;
    font-size: 18px;
}

.split-flight-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 12px;
    align-items: center;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.split-flight-option:hover,
.split-flight-option.is-selected {
    border-color: rgba(21, 147, 15, 0.35);
    box-shadow: 0 12px 26px rgba(21, 147, 15, 0.1);
    transform: translateY(-1px);
}

.split-flight-option input {
    grid-row: span 3;
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.split-flight-option-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.split-flight-option-main strong {
    font-size: 15px;
}

.split-flight-option-main small,
.split-flight-option-route {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.split-flight-option-price {
    color: var(--coral-dark);
    font-size: 20px;
    font-weight: 900;
}

.split-round-summary {
    position: sticky;
    bottom: 14px;
    z-index: 2;
}

.split-round-summary > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.split-round-summary strong {
    color: var(--ink);
    font-size: 15px;
}

.flight-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px auto 0;
    padding: 12px;
    border: 1px solid rgba(214, 225, 230, 0.82);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 45px rgba(24, 45, 74, 0.1);
}

.flight-page-number,
.flight-page-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-size: 14px;
    font-weight: 900;
}

.flight-page-number.is-active {
    border-color: rgba(21, 147, 15, 0.24);
    background: var(--green);
    color: #fff;
    box-shadow: 0 10px 20px rgba(21, 147, 15, 0.18);
}

.flight-page-control {
    color: var(--green);
}

.flight-page-control.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.result-card {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 220px;
    gap: 18px;
    align-items: center;
    padding: 18px;
}

.flight-result-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 225px);
    gap: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 230, 0.92);
    border-radius: 24px;
    background: #fff;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 24px 70px rgba(15, 35, 56, 0.12),
        0 8px 24px rgba(56, 120, 180, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.flight-result-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, #0ea5e9, #38bdf8 56%, #ff5a5f);
}

.flight-result-card::after {
    content: "";
    position: absolute;
    top: -84px;
    right: -68px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.12), rgba(125, 211, 252, 0.05) 48%, transparent 70%);
    pointer-events: none;
}

.flight-result-card:hover {
    transform: translateY(-4px);
    border-color: rgba(14, 165, 233, 0.28);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.96) inset,
        0 30px 72px rgba(15, 35, 56, 0.16),
        0 14px 34px rgba(14, 165, 233, 0.1);
}

.flight-card-content {
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: 26px 28px 22px 30px;
    position: relative;
    z-index: 1;
}

.flight-card-header {
    position: relative;
    z-index: 1;
}

.flight-brand-block {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.airline-logo-circle,
.flight-card-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 118px;
    height: 68px;
    flex: 0 0 118px;
    position: relative;
    border: 1px solid rgba(213, 225, 235, 0.92);
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 24px rgba(42, 61, 92, 0.08);
}

.airline-logo-circle img,
.flight-card-logo img {
    width: 102px;
    max-width: 102px;
    max-height: 44px;
    object-fit: contain;
}

.airline-logo-plaque {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 50px;
    position: relative;
    z-index: 1;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.airline-logo-plaque-mark {
    width: 74px;
    height: 58px;
}

.airline-logo-plaque-mark img {
    width: 68px;
    max-width: 68px;
    max-height: 54px;
}

.logo-token {
    position: relative;
    z-index: 1;
}

.airline-summary {
    display: grid;
    gap: 5px;
    padding-top: 2px;
    min-width: 0;
}

.airline-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.standard-badge,
.flight-split-badge,
.journey-label {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
}

.standard-badge {
    border: 1px solid rgba(85, 191, 13, 0.18);
    background: linear-gradient(180deg, #eefbe9 0%, #dff5d9 100%);
    color: var(--green-dark);
    box-shadow: 0 4px 12px rgba(85, 191, 13, 0.12);
}

.route-code-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    color: var(--ink);
    line-height: 1.15;
}

.route-code-item {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 6px;
    min-width: 0;
}

.route-code-main {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.route-code-main b {
    color: var(--ink);
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

.route-code-flag {
    display: inline-flex;
    align-items: center;
    font-size: 18px;
    line-height: 1;
}

.route-code-item small {
    color: #536579;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.route-code-arrow {
    display: inline-flex;
    align-items: center;
    align-self: center;
    color: var(--green);
    font-size: 18px;
    font-weight: 900;
}

.route-estimated-total {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 10px;
    border: 1px solid rgba(125, 94, 196, 0.2);
    border-radius: 999px;
    background: linear-gradient(180deg, #faf7ff 0%, #f1eaff 100%);
    color: #6949a7;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.route-estimated-total svg {
    width: 14px;
    height: 14px;
}

.route-description {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.45;
}

.flight-split-badge {
    border: 1px solid rgba(247, 168, 45, 0.2);
    background: linear-gradient(180deg, #fff7e8 0%, #ffedd0 100%);
    color: #9c5a00;
}

.flight-card-timeline {
    display: grid;
    gap: 14px;
    position: relative;
    z-index: 1;
    padding: 18px 18px 12px;
    border: 1px solid rgba(223, 230, 239, 0.74);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(249, 252, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.flight-card-journeys {
    display: grid;
    gap: 16px;
}

.flight-card-journeys.is-split {
    gap: 12px;
}

.journey-group {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.flight-card-journeys.is-split .journey-group {
    padding: 14px;
    border: 1px solid rgba(223, 230, 239, 0.7);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.journey-label {
    background: #eef8f4;
    color: #0a735a;
}

.journey-route-mini {
    color: var(--ink);
    font-size: 18px;
    font-weight: 900;
}

.journey-summary-row {
    display: grid;
    grid-template-columns: 72px minmax(180px, 1fr) 72px;
    gap: 14px;
    align-items: start;
}

.journey-time-block {
    display: grid;
    gap: 3px;
}

.journey-time-block strong {
    color: var(--ink);
    font-size: 18px;
    line-height: 1.1;
}

.journey-time-block span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.journey-time-block.is-arrival {
    justify-items: end;
    text-align: right;
}

.flight-timeline {
    position: relative;
    min-height: 76px;
    padding-top: 10px;
}

.timeline-line {
    position: absolute;
    top: 18px;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #55bf0d, #8fdc6a);
    box-shadow: 0 0 0 1px rgba(85, 191, 13, 0.06);
}

.stop-count-1 .timeline-line,
.stop-count-2 .timeline-line {
    background: linear-gradient(90deg, #ff8a65, #ffb199);
    box-shadow: 0 0 0 1px rgba(255, 138, 101, 0.08);
}

.timeline-dot-start,
.timeline-dot-stop,
.timeline-dot-end {
    position: absolute;
    top: 13px;
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 1px rgba(21, 147, 15, 0.24);
}

.timeline-dot-start {
    left: 0;
}

.timeline-dot-end {
    right: 0;
}

.timeline-dot-stop {
    background: #f7a82d;
    box-shadow: 0 0 0 1px rgba(247, 168, 45, 0.34);
}

.stop-count-1 .timeline-dot-stop-1 {
    left: calc(50% - 6px);
}

.stop-count-2 .timeline-dot-stop-1 {
    left: calc(38% - 6px);
}

.stop-count-2 .timeline-dot-stop-2 {
    left: calc(62% - 6px);
}

.duration-pill {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 10px;
    border: 1px solid rgba(223, 230, 239, 0.95);
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(42, 61, 92, 0.1);
    white-space: nowrap;
}

.timeline-stop-labels {
    position: absolute;
    top: 34px;
    left: 14px;
    right: 14px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    gap: clamp(28px, 9vw, 86px);
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.timeline-stop-labels span {
    display: inline-flex;
    min-width: 34px;
    justify-content: center;
}

.flight-timeline p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.result-main {
    display: flex;
    align-items: center;
    gap: 14px;
}

.flight-route-summary h2 {
    margin-top: 3px;
    font-size: 25px;
    line-height: 1.15;
}

.airline-name {
    color: var(--ink);
    font-size: 15px;
    font-weight: 900;
}

.flight-route-summary p {
    margin-top: 6px;
}

.benefit-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.benefit-chips span {
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(14, 165, 233, 0.14);
    background: #eef8ff;
    color: #075985;
    font-size: 12px;
    font-weight: 800;
}

.logo-token {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    display: grid;
    place-items: center;
    font-weight: 900;
}

.flight-price-panel {
    display: grid;
    justify-items: start;
    align-content: center;
    gap: 7px;
    min-height: 100%;
    padding: 28px 24px;
    border-left: 1px dashed rgba(192, 207, 218, 0.86);
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(250, 253, 255, 0.98) 0%, rgba(245, 250, 255, 0.96) 100%);
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.82);
    text-align: left;
}

.flight-price-panel span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.flight-price-panel strong {
    color: #e64d43;
    font-size: 30px;
    line-height: 1.05;
}

.flight-price-panel small {
    color: var(--muted);
    font-weight: 800;
}

.flight-select-button {
    width: 100%;
    margin-top: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff5a5f, #ff3d3d);
    box-shadow: 0 12px 24px rgba(255, 90, 95, 0.28);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.flight-select-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(255, 90, 95, 0.38);
}

.result-stack {
    gap: 14px;
}

.flight-result-card {
    border-radius: 20px;
}

.flight-card-content {
    gap: 13px;
    padding: 20px 24px 18px 28px;
}

.flight-brand-block {
    gap: 13px;
}

.airline-logo-circle,
.flight-card-logo {
    width: 104px;
    height: 58px;
    flex-basis: 104px;
    border-radius: 14px;
}

.airline-logo-circle img,
.flight-card-logo img {
    width: 90px;
    max-width: 90px;
    max-height: 38px;
}

.route-code-line {
    font-size: 25px;
}

.route-description {
    font-size: 14px;
}

.flight-card-timeline {
    gap: 10px;
    padding: 14px 16px 10px;
    border-radius: 15px;
}

.flight-card-journeys,
.flight-card-journeys.is-split {
    gap: 10px;
}

.flight-card-journeys.is-split .journey-group {
    padding: 10px;
}

.journey-group {
    gap: 9px;
}

.journey-summary-row {
    grid-template-columns: 64px minmax(160px, 1fr) 64px;
    gap: 10px;
}

.journey-time-block strong {
    font-size: 16px;
}

.flight-timeline {
    min-height: 74px;
}

.benefit-chips {
    gap: 6px;
}

.benefit-chips span {
    padding: 4px 8px;
}

.flight-details {
    padding-top: 10px;
}

.flight-price-panel {
    gap: 5px;
    padding: 22px 22px;
}

.flight-price-panel strong {
    font-size: 27px;
}

.flight-select-button {
    margin-top: 10px;
}

.flight-details {
    border-top: 1px solid rgba(223, 230, 239, 0.72);
    position: relative;
    z-index: 1;
    padding-top: 14px;
}

.flight-details summary {
    width: fit-content;
    cursor: pointer;
    color: var(--green);
    font-weight: 900;
}

.flight-details summary::marker {
    color: var(--green);
}

.flight-details .details-open-text {
    display: none;
}

.flight-details[open] .details-closed-text {
    display: none;
}

.flight-details[open] .details-open-text {
    display: inline;
}

.flight-details-body {
    display: grid;
    gap: 16px;
    padding-top: 14px;
}

.journey-detail-block {
    display: grid;
    gap: 12px;
}

.layover-alert {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border: 1px solid #f5d79a;
    border-radius: 14px;
    background: #fff8e8;
    color: #7d4a00;
}

.layover-alert strong {
    color: #7d4a00;
}

.segment-list {
    display: grid;
    gap: 0;
}

.segment-row {
    display: grid;
    grid-template-columns: 18px minmax(100px, 0.9fr) minmax(100px, 0.8fr) minmax(120px, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(223, 230, 239, 0.72);
}

.segment-row:last-child {
    border-bottom: 0;
}

.segment-line {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 4px var(--green-soft);
}

.segment-line.is-layover {
    background: #f7a82d;
    box-shadow: 0 0 0 4px #fff3d8;
}

.segment-airport,
.segment-time,
.segment-meta {
    min-width: 0;
    font-size: 14px;
}

.segment-airport {
    color: var(--ink);
    font-weight: 900;
}

.segment-time {
    color: var(--ink);
    font-weight: 800;
}

.segment-meta {
    color: var(--muted);
    font-weight: 700;
}

.flight-aircraft-details {
    margin-top: 10px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 247, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 10px 24px rgba(11, 83, 29, 0.06);
    overflow: hidden;
}

.flight-aircraft-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    gap: 12px;
    padding: 10px 12px;
    cursor: pointer;
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
    list-style: none;
}

.flight-aircraft-details summary::marker {
    content: "";
}

.flight-aircraft-details summary::-webkit-details-marker {
    display: none;
}

.flight-aircraft-summary-main {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.flight-aircraft-summary-main .icon {
    width: 16px;
    height: 16px;
    color: var(--green);
}

.flight-aircraft-summary-main span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-aircraft-summary-action {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    justify-content: center;
    padding: 4px 9px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.flight-aircraft-summary-open {
    display: none;
}

.flight-aircraft-details[open] .flight-aircraft-summary-closed {
    display: none;
}

.flight-aircraft-details[open] .flight-aircraft-summary-open {
    display: inline;
}

.flight-aircraft-details-body {
    display: grid;
    gap: 8px;
    padding: 0 12px 12px;
}

.flight-aircraft-row {
    display: grid;
    grid-template-columns: 74px minmax(86px, 0.72fr) minmax(130px, 1.2fr) minmax(72px, 0.62fr);
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(223, 230, 239, 0.78);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.flight-aircraft-thumb {
    display: grid;
    place-items: center;
    width: 74px;
    height: 44px;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff, #f4faf4);
    color: var(--green);
    overflow: hidden;
}

.flight-aircraft-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.flight-aircraft-thumb .icon {
    width: 20px;
    height: 20px;
}

.flight-aircraft-route {
    justify-self: start;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    line-height: 1;
    white-space: nowrap;
}

.flight-aircraft-name {
    min-width: 0;
    color: var(--ink);
    font-size: 13px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.flight-aircraft-flight {
    justify-self: end;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef3f8;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.flight-review-aircraft-details {
    margin: 10px 28px 0;
}

.flight-review-aircraft-details.flight-aircraft-details-modern {
    margin: 16px 0 0;
}

@media (max-width: 820px) {
    .flight-aircraft-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .flight-aircraft-thumb {
        width: 92px;
        height: 48px;
    }

    .flight-aircraft-route,
    .flight-aircraft-flight {
        justify-self: start;
    }

    .flight-review-aircraft-details {
        margin: 10px 0 0;
    }
}

.flight-aircraft-details-modern {
    border-radius: 18px;
}

.flight-aircraft-details-modern .flight-aircraft-details-body {
    gap: 14px;
    padding: 0 14px 14px;
}

.flight-aircraft-panel {
    display: grid;
    gap: 16px;
    padding: 16px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 249, 243, 0.92));
}

.flight-aircraft-flight-summary {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(130px, 1fr) minmax(82px, 0.55fr) minmax(130px, 1fr) minmax(120px, 0.8fr);
    gap: 14px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.flight-aircraft-summary-cell {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.flight-aircraft-summary-cell strong {
    display: block;
    min-width: 0;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.flight-aircraft-summary-cell small {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.flight-aircraft-summary-flight,
.flight-aircraft-summary-cabin {
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
}

.flight-aircraft-summary-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--green-soft);
    color: var(--green);
}

.flight-aircraft-summary-icon .icon {
    width: 18px;
    height: 18px;
}

.flight-aircraft-summary-route {
    display: grid;
    grid-template-columns: 1fr 24px 1fr;
    gap: 8px;
    align-items: center;
    color: var(--green);
}

.flight-aircraft-summary-route span {
    height: 1px;
    border-top: 1px dashed rgba(21, 147, 15, 0.34);
}

.flight-aircraft-summary-route .icon {
    width: 20px;
    height: 20px;
}

.flight-aircraft-profile-grid {
    display: grid;
    grid-template-columns: minmax(250px, 0.82fr) minmax(0, 1.18fr);
    gap: 18px;
}

.flight-aircraft-profile-card,
.flight-aircraft-profile-content {
    min-width: 0;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.flight-aircraft-profile-card {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.flight-aircraft-maker {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.flight-aircraft-profile-card h3,
.flight-aircraft-profile-content h3 {
    margin: 0;
    color: var(--ink);
    font-size: 24px;
    line-height: 1.1;
}

.flight-aircraft-profile-card p,
.flight-aircraft-description {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.flight-aircraft-hero-image {
    display: grid;
    place-items: center;
    min-height: 132px;
    margin: 4px 0 8px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 40% 45%, rgba(21, 147, 15, 0.10), transparent 46%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(232, 246, 235, 0.52));
    overflow: hidden;
}

.flight-aircraft-hero-image img {
    display: block;
    width: 100%;
    max-width: 280px;
    max-height: 150px;
    object-fit: contain;
}

.flight-aircraft-hero-image .icon {
    width: 44px;
    height: 44px;
    color: var(--green);
}

.flight-aircraft-facts {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(21, 147, 15, 0.14);
}

.flight-aircraft-facts div {
    display: grid;
    grid-template-columns: minmax(110px, 0.82fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.flight-aircraft-facts dt,
.flight-aircraft-facts dd {
    margin: 0;
}

.flight-aircraft-facts dt {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.flight-aircraft-facts dt .icon {
    width: 14px;
    height: 14px;
    color: var(--green);
    flex: 0 0 auto;
}

.flight-aircraft-facts dd {
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;
    text-align: right;
}

.flight-aircraft-profile-content {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 18px;
}

.flight-aircraft-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(21, 147, 15, 0.14);
    border-bottom: 1px solid rgba(21, 147, 15, 0.14);
}

.flight-aircraft-stat-card {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 3px 10px;
    align-items: center;
    min-height: 74px;
    padding: 12px;
    border-right: 1px solid rgba(21, 147, 15, 0.12);
}

.flight-aircraft-stat-card:nth-child(3n) {
    border-right: 0;
}

.flight-aircraft-stat-card > span {
    grid-row: span 2;
    color: var(--green);
}

.flight-aircraft-stat-card .icon {
    width: 22px;
    height: 22px;
}

.flight-aircraft-stat-card small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.flight-aircraft-stat-card strong {
    color: var(--ink);
    font-size: 14px;
    line-height: 1.25;
}

.flight-aircraft-about-box {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 14px;
    background: rgba(21, 147, 15, 0.07);
}

.flight-aircraft-about-box strong {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--green-dark);
    font-size: 13px;
}

.flight-aircraft-about-box strong .icon {
    width: 16px;
    height: 16px;
}

.flight-aircraft-about-box p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.flight-aircraft-source-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    justify-content: space-between;
    padding-top: 2px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.flight-aircraft-source-row span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.flight-aircraft-source-row .icon {
    width: 14px;
    height: 14px;
    color: var(--green);
}

@media (max-width: 1060px) {
    .flight-aircraft-flight-summary {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .flight-aircraft-summary-route {
        display: none;
    }

    .flight-aircraft-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .flight-aircraft-panel {
        padding: 12px;
    }

    .flight-aircraft-flight-summary,
    .flight-aircraft-stat-grid {
        grid-template-columns: 1fr;
    }

    .flight-aircraft-stat-card,
    .flight-aircraft-stat-card:nth-child(3n) {
        border-right: 0;
        border-bottom: 1px solid rgba(21, 147, 15, 0.12);
    }

    .flight-aircraft-stat-card:last-child {
        border-bottom: 0;
    }

    .flight-aircraft-profile-card h3,
    .flight-aircraft-profile-content h3 {
        font-size: 21px;
    }

    .flight-aircraft-facts div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .flight-aircraft-facts dd {
        text-align: left;
    }
}

/* Audit logs are read as an event stream on phones, rather than a squeezed
 * desktop dashboard.  Filters stay available, but do not push the feed below
 * the fold until an admin asks for them. */
@media (min-width: 721px) {
    .admin-audit-mobile-filter-toggle {
        display: none;
    }
}

@media (max-width: 720px) {
    .admin-console-page.admin-audit-page .admin-audit-content {
        gap: 12px;
        padding: 12px;
    }

    .admin-console-page.admin-audit-page .admin-audit-hero {
        display: block;
        min-height: 0;
        padding: 18px 16px;
    }

    .admin-console-page.admin-audit-page .admin-audit-hero h1 {
        margin: 8px 0 10px;
        font-size: clamp(24px, 7vw, 29px);
    }

    .admin-console-page.admin-audit-page .admin-audit-hero h1 .icon,
    .admin-console-page.admin-audit-page .admin-audit-signal {
        display: none;
    }

    .admin-console-page.admin-audit-page .admin-audit-hero p {
        font-size: 13px;
        line-height: 1.55;
    }

    .admin-console-page.admin-audit-page .admin-audit-hero .auth-status-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        margin-top: 14px;
    }

    .admin-console-page.admin-audit-page .auth-status-row span {
        width: 100%;
        min-width: 0;
        min-height: 32px;
        box-sizing: border-box;
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats .admin-console-stat-card {
        min-height: 104px;
        padding: 11px;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 8px;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats .admin-console-stat-card > span {
        width: 34px;
        height: 34px;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats .admin-console-stat-copy small {
        font-size: 10px;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats .admin-console-stat-copy strong {
        font-size: 22px;
    }

    .admin-console-page.admin-audit-page .admin-audit-stats .admin-console-stat-copy em {
        display: none;
    }

    .admin-console-page.admin-audit-page .admin-audit-filter-panel {
        display: grid;
        width: 100%;
        gap: 9px;
        padding: 9px;
        border: 1px solid rgba(53, 240, 120, 0.18);
        border-radius: 14px;
        background: rgba(7, 24, 18, 0.82);
        box-sizing: border-box;
    }

    .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 10px;
        gap: 8px;
        align-items: center;
        width: 100%;
        min-height: 46px;
        padding: 10px 12px;
        border: 1px solid rgba(53, 240, 120, 0.24);
        border-radius: 11px;
        background: rgba(3, 18, 12, 0.74);
        color: #f4fff4;
        font: inherit;
        text-align: left;
        box-sizing: border-box;
    }

    .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle strong {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-width: 0;
        font-size: 14px;
    }

    .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle strong .icon {
        width: 17px;
        height: 17px;
        color: #7dff9b;
    }

    .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle > span {
        color: #7dff9b;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle i {
        width: 8px;
        height: 8px;
        margin: 0 1px 3px 0;
        border-right: 2px solid #7dff9b;
        border-bottom: 2px solid #7dff9b;
        transform: rotate(45deg);
    }

    .admin-console-page.admin-audit-page .admin-audit-filter-panel.is-mobile-collapsed .admin-audit-filter-form,
    .admin-console-page.admin-audit-page .admin-audit-filter-panel.is-mobile-collapsed .admin-audit-tabs {
        display: none;
    }

    .admin-console-page.admin-audit-page .admin-audit-filter-panel:not(.is-mobile-collapsed) .admin-audit-mobile-filter-toggle i {
        margin-top: 3px;
        margin-bottom: 0;
        transform: rotate(225deg);
    }

    .admin-console-page.admin-audit-page .admin-audit-tabs {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        box-sizing: border-box;
    }

    .admin-console-page.admin-audit-page .admin-audit-tabs a {
        justify-content: flex-start;
        width: 100%;
        min-height: 42px;
        padding: 9px 11px;
        box-sizing: border-box;
    }

    .admin-console-page.admin-audit-page .admin-audit-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .admin-console-page.admin-audit-page .admin-audit-feed-panel,
    .admin-console-page.admin-audit-page .admin-audit-rail > .admin-console-panel {
        padding: 14px;
    }

    .admin-console-page.admin-audit-page .admin-audit-feed-panel .admin-console-panel-heading {
        gap: 8px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 9px;
        padding: 12px;
        border-radius: 11px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-marker {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-marker .icon {
        width: 17px;
        height: 17px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-body {
        gap: 8px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-head {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 6px 8px;
        align-items: start;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-head time {
        grid-column: 2;
        font-size: 10px;
        line-height: 1.35;
        white-space: normal;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-head strong {
        font-size: 13px;
        line-height: 1.35;
    }

    .admin-console-page.admin-audit-page .admin-audit-row p {
        font-size: 12px;
        line-height: 1.5;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-meta,
    .admin-console-page.admin-audit-page .admin-audit-row-evidence {
        gap: 6px;
    }

    .admin-console-page.admin-audit-page .admin-audit-row-meta span,
    .admin-console-page.admin-audit-page .admin-audit-row-evidence span,
    .admin-console-page.admin-audit-page .admin-audit-source-list span {
        min-height: 27px;
        padding: 4px 8px;
        font-size: 10px;
        line-height: 1.3;
        white-space: normal;
        box-sizing: border-box;
    }

    .admin-console-page.admin-audit-page .admin-audit-rail {
        gap: 10px;
    }
}

@media (max-width: 374px) {
    .admin-console-page.admin-audit-page .admin-audit-stats {
        grid-template-columns: minmax(0, 1fr);
    }
}

.segment-layover-row {
    color: #8f5a08;
}

.result-meta,
.result-price {
    display: grid;
    gap: 6px;
}

.flight-result-card .result-meta {
    color: var(--ink);
}

.flight-result-card .result-meta strong {
    font-size: 16px;
}

.flight-result-card .result-meta span {
    color: var(--muted);
}

.flight-result-card .result-price {
    justify-items: start;
    align-content: center;
}

.flight-result-card .flight-price-panel {
    justify-items: end;
    align-content: start;
}

.flight-destination-image-card {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 118px;
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.88);
    border-radius: 16px;
    background: #eef5f8;
    box-shadow: 0 12px 26px rgba(23, 42, 64, 0.12);
}

.flight-destination-image-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flight-destination-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8, 24, 38, 0.04), rgba(8, 24, 38, 0.62)),
        linear-gradient(90deg, rgba(8, 24, 38, 0.46), transparent 74%);
}

.flight-destination-image-card > div {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: end;
    gap: 1px;
    min-height: 118px;
    padding: 12px;
    color: #fff;
}

.flight-price-panel .flight-destination-image-card span,
.flight-price-panel .flight-destination-image-card small {
    color: rgba(255, 255, 255, 0.86);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.32);
}

.flight-price-panel .flight-destination-image-card strong {
    color: #fff;
    font-size: 24px;
    line-height: 1;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.36);
}

.primary-small {
    min-height: 42px;
    padding: 0 16px;
    font-size: 14px;
}

.detail-image {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: var(--radius-card);
    margin-bottom: 20px;
}

.step-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.step {
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    text-align: center;
    color: var(--muted);
}

.step.is-current {
    background: var(--green-soft);
    color: var(--green);
    border-color: #bde7ba;
    font-weight: 800;
}

.action-row,
.selected-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.action-row {
    margin-top: 18px;
}

.selected-summary {
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #f7fbfa;
}

.round-selection-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0 0;
}

.round-selection-leg {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #f7fbfa;
}

.round-selection-leg span {
    color: var(--green);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.round-selection-leg strong {
    color: var(--ink);
    font-size: 1rem;
}

.round-selection-leg small {
    color: var(--muted);
    font-weight: 700;
}

.member-form {
    display: grid;
    gap: 18px;
}

.member-form .primary-cta {
    justify-self: end;
}

.booking-form-panel {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: #fbfcff;
}

.booking-form-panel-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
}

.booking-form-panel-heading h2,
.booking-contact-group h3 {
    margin: 0;
    color: var(--ink);
}

.booking-form-panel-heading > span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--green);
    font-weight: 800;
}

.booking-passenger-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.booking-date-field {
    grid-column: span 2;
}

.booking-date-selects {
    display: grid;
    grid-template-columns: 0.7fr 1.25fr 1fr;
    gap: 10px;
}

.booking-age-field {
    color: var(--ink);
    font-weight: 800;
}

.booking-age-field input {
    max-width: 72px;
    text-align: center;
}

.booking-special-requests {
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
}

.booking-special-requests summary {
    cursor: pointer;
    padding: 14px 16px;
    color: var(--ink);
    font-weight: 800;
}

.booking-special-requests .field-card {
    padding: 0 16px 16px;
}

.booking-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.8fr) minmax(240px, 0.95fr);
    gap: 18px;
}

.booking-contact-layout-indian {
    grid-template-columns: minmax(0, 1fr);
}

.booking-contact-group {
    display: grid;
    gap: 12px;
}

.booking-contact-grid {
    grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr);
}

.booking-contact-grid .wide-field {
    grid-column: 1 / -1;
}

.booking-contact-phone-row {
    display: grid;
    grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
}

.booking-remember-check,
.booking-terms-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--muted);
    font-weight: 700;
}

.booking-remember-check {
    max-width: 280px;
}

.booking-remember-check input,
.booking-terms-check input {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin-top: 2px;
}

.destination-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.destination-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    overflow: hidden;
    background: #fff;
}

.destination-card img {
    width: 100%;
    height: 125px;
    object-fit: cover;
}

.destination-card h3,
.destination-card p,
.destination-card a {
    margin-left: 12px;
    margin-right: 12px;
}

.destination-card h3 {
    margin-top: 10px;
    margin-bottom: 0;
}

.destination-card p {
    margin-top: 2px;
    color: var(--muted);
}

.destination-card a {
    margin-bottom: 12px;
}

.hotel-result-grid,
.offer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.offer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.offer-card {
    position: relative;
    overflow: hidden;
}

.package-image-frame {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f5f8fb;
}

.package-image-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.package-image-frame.is-contain img {
    object-fit: contain;
}

.offer-card > img,
.offer-card > .package-image-frame {
    width: 100%;
    height: 190px;
}

.offer-card-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.offer-card-body,
.compact-offer > div,
.featured-offer-card > div {
    min-width: 0;
    max-width: 100%;
}

.offer-card p,
.compact-offer p {
    margin: 0;
    color: var(--muted);
}

.offers-hero {
    min-height: 360px;
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
    background: #0a6f9f;
    isolation: isolate;
}

.offers-hero::before,
.offers-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.offers-hero::before {
    background: var(--offers-hero-image, url("../images/offers/offers-world-collage.png")) var(--offers-hero-position, center) / cover;
    transform: scale(1.02);
    transition: opacity 220ms ease;
}

.offers-hero::after {
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 80, 140, 0.38), rgba(0, 90, 140, 0.74));
}

.offers-hero.is-background-changing::before {
    opacity: 0;
}

.offers-hero > * {
    position: relative;
    z-index: 2;
}

.offers-hero h1 {
    margin: 0;
    font-size: clamp(46px, 7vw, 84px);
    line-height: 1;
}

.offers-hero p {
    margin: 6px 0 20px;
    font-size: 22px;
    font-weight: 800;
}

.chip-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.chip.is-active {
    background: var(--green);
    color: #fff;
    border-color: var(--green);
}

.chip-count {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    font-size: 12px;
    font-weight: 900;
}

.chip.is-active .chip-count {
    background: rgba(255, 255, 255, 0.22);
}

.featured-offers {
    display: grid;
    grid-template-columns: 1.45fr 0.85fr;
    gap: 18px;
}

.featured-offer-card {
    display: grid;
    grid-template-columns: minmax(300px, 0.95fr) 1fr;
    gap: 20px;
    padding: 16px;
}

.featured-offer-card > img,
.featured-offer-card > .package-image-frame {
    width: 100%;
    height: 100%;
    min-height: 350px;
    border-radius: var(--radius-card);
}

.featured-offer-card > img {
    object-fit: cover;
}

.pricing-list {
    display: grid;
    gap: 8px;
}

.offer-detail-chips,
.offer-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.offer-detail-chips span,
.offer-card-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.pricing-list div {
    display: grid;
    grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.pricing-list dt,
.pricing-list dd {
    margin: 0;
}

.pricing-list dd {
    min-width: 0;
    text-align: right;
    overflow-wrap: anywhere;
}

.compact-offer-stack {
    display: grid;
    gap: 14px;
}

.compact-offer {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 14px;
    padding: 12px;
}

.compact-offer img,
.compact-offer .package-image-frame {
    width: 100%;
    height: 150px;
    border-radius: var(--radius-card);
}

.offer-carousel-panel {
    position: relative;
    overflow: hidden;
}

.offer-carousel-panel .section-heading {
    align-items: center;
}

.offer-carousel-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.offer-nav {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    box-shadow: var(--shadow-soft);
    cursor: pointer;
    transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.offer-nav:hover,
.offer-nav:focus-visible {
    transform: scale(1.04);
    box-shadow: 0 12px 26px rgba(21, 147, 15, 0.16);
}

.offer-nav:disabled {
    cursor: default;
    opacity: 0.34;
    box-shadow: none;
}

.offer-nav-prev .icon {
    transform: rotate(180deg);
}

.offer-rail {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 2px;
    padding: 4px 2px 12px;
    -webkit-overflow-scrolling: touch;
}

.offer-rail .offer-card {
    flex: 0 0 clamp(250px, 26vw, 340px);
    display: grid;
    grid-template-rows: 190px 1fr;
    scroll-snap-align: start;
}

.offer-rail .offer-card > img,
.offer-rail .offer-card > .package-image-frame {
    height: 190px;
}

.offer-rail .offer-card-body {
    grid-template-rows: auto auto minmax(48px, 1fr) auto auto;
    min-height: 250px;
}

.offer-rail .card-bottom {
    align-items: end;
}

.offer-rail .card-bottom strong {
    white-space: nowrap;
}

.offer-detail-page {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.offer-detail-page::before {
    content: "";
    position: absolute;
    inset: 18px 12% auto;
    z-index: -1;
    height: 340px;
    border-radius: 36px;
    background:
        linear-gradient(135deg, rgba(85, 191, 13, 0.14), rgba(8, 121, 201, 0.07)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
    filter: blur(24px);
    opacity: 0.9;
}

.offer-detail-page.narrow-band {
    max-width: 920px;
}

.offer-detail-shell {
    position: relative;
    display: grid;
    gap: 20px;
    padding: 24px;
    border: 1px solid rgba(85, 191, 13, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 8% 0%, rgba(85, 191, 13, 0.2), transparent 34%),
        radial-gradient(circle at 95% 12%, rgba(8, 121, 201, 0.08), transparent 28%),
        linear-gradient(145deg, rgba(249, 255, 249, 0.98), rgba(236, 250, 238, 0.94) 48%, rgba(255, 255, 255, 0.96));
    box-shadow:
        0 20px 54px rgba(35, 113, 38, 0.11),
        0 7px 20px rgba(15, 35, 55, 0.055),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    overflow: hidden;
}

.offer-detail-shell::before {
    content: "";
    position: absolute;
    inset: 0 24px auto;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, transparent, rgba(25, 181, 26, 0.78), rgba(8, 121, 201, 0.28), transparent);
}

.offer-detail-hero {
    position: relative;
    min-height: 0;
    overflow: hidden;
    border-radius: 20px;
    background: #0f766e;
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.13),
        0 0 0 1px rgba(255, 255, 255, 0.52);
}

.offer-detail-hero::before,
.offer-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.offer-detail-hero::before {
    background:
        linear-gradient(90deg, rgba(8, 27, 45, 0.56), rgba(8, 27, 45, 0.08) 58%, rgba(8, 27, 45, 0.18)),
        linear-gradient(180deg, rgba(8, 27, 45, 0.08), rgba(8, 27, 45, 0.5));
}

.offer-detail-hero::after {
    inset: auto 0 0;
    height: 5px;
    background: linear-gradient(90deg, #19b51a, rgba(25, 181, 26, 0.2), rgba(8, 121, 201, 0.35));
}

.offer-hero-copy {
    position: absolute;
    left: 26px;
    bottom: 24px;
    z-index: 2;
    display: grid;
    gap: 9px;
    max-width: min(590px, calc(100% - 300px));
    color: #fff;
}

.offer-hero-copy h1 {
    margin: 0;
    font-size: 40px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
    text-shadow: 0 12px 32px rgba(0, 0, 0, 0.26);
}

.offer-hero-copy p {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 16px;
    font-weight: 800;
    text-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.offer-detail-page .badge {
    min-height: 28px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    background: linear-gradient(135deg, #19b51a, #0f8f10);
    box-shadow:
        0 9px 22px rgba(25, 181, 26, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.offer-detail-page .price-block {
    min-width: 178px;
    padding: 15px 18px;
    border: 1px solid rgba(85, 191, 13, 0.25);
    border-radius: 16px;
    background: linear-gradient(135deg, #f4fff4, #e8f8e8);
    box-shadow: 0 9px 24px rgba(85, 191, 13, 0.13);
}

.offer-hero-price {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
}

.offer-detail-page .price-block strong {
    color: #0b6f10;
    font-size: 34px;
    line-height: 1;
    white-space: nowrap;
}

.offer-detail-image {
    display: block;
    width: 100%;
    height: 285px;
    min-height: 0;
    border-radius: 0;
    margin-bottom: 0;
    object-fit: cover;
    object-position: center 62%;
    overflow: hidden;
    box-shadow: none;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.offer-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.38fr);
    gap: 16px;
    align-items: start;
}

.offer-detail-main,
.offer-detail-side {
    display: grid;
    gap: 14px;
}

.offer-info-panel {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(15, 35, 55, 0.06);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.88)),
        linear-gradient(135deg, rgba(85, 191, 13, 0.025), transparent);
    box-shadow: 0 6px 18px rgba(15, 35, 55, 0.045);
}

.offer-detail-side .offer-info-panel {
    box-shadow: 0 7px 20px rgba(15, 35, 55, 0.055);
}

.offer-info-panel h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
}

.offer-fact-list,
.offer-check-list,
.offer-note-list,
.offer-itinerary {
    display: grid;
    gap: 9px;
    margin: 0;
}

.offer-fact-list div {
    display: grid;
    grid-template-columns: minmax(118px, 0.32fr) minmax(0, 1fr);
    gap: 12px;
}

.offer-fact-list dt,
.offer-fact-list dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.offer-fact-list dt {
    color: var(--muted);
    font-weight: 800;
}

.offer-check-list,
.offer-note-list {
    padding-left: 18px;
}

.offer-check-list li,
.offer-note-list li {
    padding-left: 4px;
}

.offer-detail-page .offer-detail-chips span {
    min-height: 28px;
    padding: 0 11px;
    border: 1px solid rgba(85, 191, 13, 0.16);
    background: linear-gradient(180deg, #f4fff4, #e4f7e4);
    box-shadow: 0 4px 10px rgba(85, 191, 13, 0.07);
}

.offer-itinerary {
    position: relative;
    padding-left: 16px;
}

.offer-itinerary::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(85, 191, 13, 0.22), rgba(85, 191, 13, 0.06));
}

.offer-itinerary > div {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 15px 17px;
    border: 1px solid rgba(85, 191, 13, 0.1);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(247, 255, 247, 0.98), rgba(238, 249, 239, 0.96)),
        radial-gradient(circle at top right, rgba(85, 191, 13, 0.08), transparent 40%);
    box-shadow: 0 6px 18px rgba(85, 191, 13, 0.06);
}

.offer-itinerary > div::before {
    content: "";
    position: absolute;
    top: 18px;
    left: -24px;
    width: 14px;
    height: 14px;
    border: 3px solid #ecfaec;
    border-radius: 50%;
    background: linear-gradient(135deg, #19b51a, #0f8f10);
    box-shadow: 0 0 0 5px rgba(85, 191, 13, 0.1);
}

.offer-itinerary span {
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.offer-itinerary p {
    margin: 0;
    color: var(--muted);
}

.offer-detail-page .pricing-list div {
    align-items: start;
}

.offer-detail-page .offer-price-guide-panel .pricing-list {
    gap: 0;
    border-top: 1px solid rgba(15, 35, 55, 0.08);
}

.offer-detail-page .offer-price-guide-panel .pricing-list div {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(15, 35, 55, 0.08);
}

.offer-detail-page .offer-price-guide-panel .pricing-list dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.offer-detail-page .offer-price-guide-panel .pricing-list dd,
.offer-detail-page .offer-price-guide-panel .pricing-list div:last-child dd {
    color: var(--ink);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.3;
    text-align: left;
}

.offer-detail-page .offer-price-guide-panel .pricing-list div:first-child dd {
    color: var(--green-dark);
    font-size: clamp(20px, 2.1vw, 24px);
    font-weight: 950;
    line-height: 1.1;
    white-space: nowrap;
}

.offer-detail-page .action-row {
    align-items: center;
}

.offer-detail-page .primary-cta {
    min-height: 52px;
    border-radius: 14px;
    background:
        linear-gradient(135deg, #1bb51c, #0b850d),
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.26), transparent 45%);
    box-shadow: 0 11px 24px rgba(25, 181, 26, 0.26);
    font-weight: 800;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.offer-detail-page .ghost-button {
    min-height: 46px;
    border-color: rgba(15, 35, 55, 0.09);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 6px 16px rgba(15, 35, 55, 0.04);
}

html.travelnet-dark .offer-detail-page::before {
    inset: -34px calc(50% - 50vw) -58px;
    height: auto;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(3, 9, 13, 0.92) 0%, rgba(4, 12, 18, 0.74) 48%, rgba(4, 12, 18, 0.42) 100%),
        linear-gradient(180deg, rgba(4, 12, 18, 0.54), rgba(4, 12, 18, 0.86)),
        url("../images/offer-detail-dark-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #061018 0%, #07100f 100%);
    filter: none;
    opacity: 1;
}

html.travelnet-dark .offer-detail-shell {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.014)),
        radial-gradient(circle at 8% 0%, rgba(142, 230, 138, 0.12), transparent 32%),
        radial-gradient(circle at 95% 10%, rgba(125, 211, 252, 0.09), transparent 30%),
        linear-gradient(145deg, rgba(15, 29, 35, 0.98), rgba(5, 14, 20, 0.96) 54%, rgba(7, 18, 16, 0.98));
    color: var(--flight-checkout-text);
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.48),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html.travelnet-dark .offer-detail-shell::before {
    background: linear-gradient(90deg, transparent, rgba(142, 230, 138, 0.64), rgba(125, 211, 252, 0.36), transparent);
}

html.travelnet-dark .offer-detail-hero {
    border: 1px solid rgba(164, 221, 176, 0.18);
    background: #071018;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .offer-detail-hero::before {
    background:
        linear-gradient(90deg, rgba(2, 8, 13, 0.78), rgba(2, 8, 13, 0.18) 56%, rgba(2, 8, 13, 0.38)),
        linear-gradient(180deg, rgba(2, 8, 13, 0.04), rgba(2, 8, 13, 0.64));
}

html.travelnet-dark .offer-detail-hero::after {
    background: linear-gradient(90deg, #8ee68a, rgba(142, 230, 138, 0.2), rgba(125, 211, 252, 0.46));
}

html.travelnet-dark .offer-detail-page .offer-hero-copy h1 {
    color: var(--flight-checkout-text);
    text-shadow: 0 16px 34px rgba(0, 0, 0, 0.56);
}

html.travelnet-dark .offer-detail-page .offer-hero-copy p {
    color: rgba(242, 247, 244, 0.84);
}

html.travelnet-dark .offer-detail-page .badge {
    border-color: rgba(164, 221, 176, 0.28);
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.96), rgba(8, 121, 201, 0.72));
    color: #f7fff6;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

html.travelnet-dark .offer-detail-page .price-block {
    border-color: rgba(255, 139, 132, 0.24);
    background:
        linear-gradient(180deg, rgba(255, 139, 132, 0.14), rgba(255, 139, 132, 0.035)),
        rgba(5, 14, 20, 0.78);
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

html.travelnet-dark .offer-detail-page .price-block span {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .offer-detail-page .price-block strong,
html.travelnet-dark .offer-detail-page .pricing-list div:last-child dd {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.14);
}

html.travelnet-dark .offer-detail-page .offer-info-panel {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014)),
        rgba(4, 12, 18, 0.54);
    color: var(--flight-checkout-text);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .offer-detail-page .offer-info-panel h2,
html.travelnet-dark .offer-detail-page .offer-fact-list dd,
html.travelnet-dark .offer-detail-page .pricing-list dd,
html.travelnet-dark .offer-detail-page .offer-itinerary strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list {
    border-top-color: var(--flight-checkout-border);
}

html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list div {
    border-bottom-color: var(--flight-checkout-border);
}

html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list dt {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list dd,
html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list div:last-child dd {
    color: var(--flight-checkout-text);
    text-shadow: none;
}

html.travelnet-dark .offer-detail-page .offer-price-guide-panel .pricing-list div:first-child dd {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.14);
}

html.travelnet-dark .offer-detail-page .offer-fact-list dt,
html.travelnet-dark .offer-detail-page .offer-check-list,
html.travelnet-dark .offer-detail-page .offer-note-list,
html.travelnet-dark .offer-detail-page .offer-itinerary p {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .offer-detail-page .offer-detail-chips span {
    border-color: rgba(142, 230, 138, 0.2);
    background:
        linear-gradient(180deg, rgba(142, 230, 138, 0.12), rgba(125, 211, 252, 0.055)),
        rgba(4, 12, 18, 0.58);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

html.travelnet-dark .offer-detail-page .offer-itinerary::before {
    background: linear-gradient(180deg, rgba(142, 230, 138, 0.36), rgba(125, 211, 252, 0.12));
}

html.travelnet-dark .offer-detail-page .offer-itinerary > div {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014)),
        rgba(5, 14, 20, 0.68);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

html.travelnet-dark .offer-detail-page .offer-itinerary > div::before {
    border-color: rgba(5, 14, 20, 0.95);
    background: linear-gradient(135deg, #8ee68a, #0879c9);
    box-shadow: 0 0 0 5px rgba(142, 230, 138, 0.12);
}

html.travelnet-dark .offer-detail-page .offer-itinerary span {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .offer-detail-page .primary-cta {
    background: linear-gradient(135deg, #15930f, #0879c9);
    color: #f7fff6;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark .offer-detail-page .ghost-button {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.62);
    color: var(--flight-checkout-green);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .offer-detail-page .primary-cta:hover,
html.travelnet-dark .offer-detail-page .primary-cta:focus-visible,
html.travelnet-dark .offer-detail-page .ghost-button:hover,
html.travelnet-dark .offer-detail-page .ghost-button:focus-visible {
    box-shadow:
        0 18px 34px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(142, 230, 138, 0.12);
}

.site-footer {
    width: 100%;
    max-width: var(--travelnet-site-max-width);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 58px) 28px;
    position: relative;
    z-index: 1;
}

.planning-band {
    margin: 8px 0 22px;
    padding: 22px;
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) minmax(420px, 660px);
    gap: 16px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;
    background: linear-gradient(135deg, #0f766e 0%, #0879c9 58%, #16a34a 100%);
    color: #fff;
    box-shadow:
        0 24px 52px rgba(4, 89, 88, 0.28),
        0 8px 20px rgba(15, 35, 55, 0.08);
}

.planning-band-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.planning-band-copy {
    display: grid;
    gap: 3px;
}

.planning-band-copy span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
}

.planning-band-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.planning-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    border-radius: var(--radius-control);
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.planning-action:hover,
.planning-action:focus-visible {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    transform: translateY(-1px);
}

.planning-action.is-primary {
    background: #fff;
    color: var(--green-dark);
    border-color: #fff;
}

.planning-action.is-primary:hover,
.planning-action.is-primary:focus-visible {
    background: #f6fffb;
    color: var(--green-dark);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 24px;
    border: 1px solid rgba(223, 230, 239, 0.72);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 44px rgba(15, 35, 55, 0.06);
}

.footer-grid.footer-grid-no-social {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion,
body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-bottom: 112px;
}

body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion .footer-section,
body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion .footer-section {
    position: relative;
    z-index: 2;
}

body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion::before,
body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion::before {
    position: absolute;
    z-index: 0;
    right: clamp(-42px, -2vw, -18px);
    bottom: -78px;
    width: clamp(260px, 24vw, 360px);
    height: clamp(160px, 15vw, 220px);
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 58% 52%, color-mix(in srgb, var(--tn-secondary, #6dcbdb) 22%, transparent), transparent 58%),
        radial-gradient(ellipse at 50% 78%, color-mix(in srgb, var(--tn-primary, #1773b9) 14%, transparent), transparent 68%);
    content: "";
    filter: blur(3px);
    pointer-events: none;
}

body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion::after,
body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion::after {
    position: absolute;
    z-index: 1;
    right: clamp(28px, 4vw, 58px);
    bottom: -16px;
    width: clamp(148px, 13vw, 176px);
    aspect-ratio: 1.18;
    overflow: hidden;
    border-radius: 52% 52% 18% 18% / 84% 84% 16% 16%;
    background:
        radial-gradient(circle at 50% 96%, color-mix(in srgb, #ffffff 78%, var(--tn-secondary, #6dcbdb)) 0 3%, transparent 4%),
        repeating-radial-gradient(ellipse at 50% 105%, transparent 0 12%, color-mix(in srgb, var(--tn-secondary, #6dcbdb) 18%, transparent) 13% 14%, transparent 15% 23%),
        repeating-conic-gradient(from 219deg at 50% 100%, transparent 0deg 5deg, color-mix(in srgb, var(--tn-primary, #1773b9) 34%, transparent) 5deg 7deg, color-mix(in srgb, #ffffff 50%, transparent) 7deg 8deg, transparent 8deg 14deg),
        radial-gradient(circle at 34% 26%, color-mix(in srgb, #ffffff 76%, transparent), transparent 24%),
        linear-gradient(145deg, color-mix(in srgb, #ffffff 62%, var(--tn-secondary, #6dcbdb)), color-mix(in srgb, var(--tn-secondary, #6dcbdb) 20%, transparent) 54%, color-mix(in srgb, var(--tn-primary, #1773b9) 18%, transparent));
    clip-path: polygon(50% 100%, 2% 55%, 4% 41%, 10% 27%, 20% 15%, 34% 6%, 50% 2%, 66% 6%, 80% 15%, 90% 27%, 96% 41%, 98% 55%);
    content: "";
    filter:
        drop-shadow(0 14px 20px color-mix(in srgb, var(--tn-primary, #1773b9) 18%, transparent))
        drop-shadow(0 0 1px color-mix(in srgb, var(--tn-primary, #1773b9) 42%, transparent));
    opacity: 0.78;
    pointer-events: none;
    transform: rotate(-5deg);
}

.footer-grid h2 {
    margin: 0 0 12px;
    font-size: 18px;
}

.footer-grid-accordion .footer-section {
    min-width: 0;
}

.footer-grid-accordion summary {
    margin: 0 0 12px;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
    cursor: default;
    list-style: none;
}

.footer-grid-accordion summary::-webkit-details-marker {
    display: none;
}

.footer-grid a {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 8px 0;
    color: var(--muted);
    transition: color 180ms ease, transform 180ms ease;
}

.footer-grid a .icon {
    width: 15px;
    height: 15px;
    color: var(--green);
}

.footer-grid p {
    color: var(--muted);
}

html.travelnet-dark .planning-band {
    border-color: rgba(127, 214, 126, 0.18);
    background: linear-gradient(135deg, #081c12, #105a25);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.38);
}

html.travelnet-dark .footer-grid a,
html.travelnet-dark .footer-grid p,
html.travelnet-dark .search-heading p,
html.travelnet-dark .section-heading p,
html.travelnet-dark .page-band p,
html.travelnet-dark .feature-card p,
html.travelnet-dark .result-card p,
html.travelnet-dark .offer-card p,
html.travelnet-dark .hotel-indian-card-top p,
html.travelnet-dark .currency-option small {
    color: var(--muted);
}

html.travelnet-dark .flight-results-page::before,
html.travelnet-dark .flight-journey-summary-page::before {
    background:
        linear-gradient(90deg, rgba(7, 16, 12, 0.88) 0%, rgba(8, 18, 13, 0.76) 42%, rgba(8, 18, 13, 0.28) 100%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #07100c 0%, #0b1510 52%, #101814 100%);
}

html.travelnet-dark .flight-results-heading {
    border-color: rgba(126, 230, 132, 0.2);
    background:
        linear-gradient(135deg, rgba(13, 31, 21, 0.94), rgba(7, 16, 12, 0.86)),
        linear-gradient(90deg, rgba(64, 200, 94, 0.12), rgba(20, 144, 210, 0.08));
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-results-heading::after {
    background: linear-gradient(135deg, rgba(126, 230, 132, 0.12), rgba(56, 189, 248, 0.05));
}

html.travelnet-dark .flight-results-heading h1,
html.travelnet-dark .flight-results-heading .flight-hero-label {
    color: #edf6ef;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .flight-results-heading p {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(7, 16, 12, 0.7);
    color: rgba(237, 246, 239, 0.78);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .flight-results-heading .hero-modify-btn {
    border-color: rgba(126, 230, 132, 0.28);
    background: linear-gradient(180deg, rgba(17, 43, 25, 0.96), rgba(8, 22, 14, 0.94));
    color: #d9f8d8;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark .flight-filter-card {
    border-color: rgba(126, 230, 132, 0.18);
    background: linear-gradient(180deg, rgba(14, 31, 22, 0.96), rgba(7, 16, 12, 0.94));
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.36);
}

html.travelnet-dark .flight-filter-card h2,
html.travelnet-dark .flight-filter-card h3,
html.travelnet-dark .flight-filter-card .filter-card-header span {
    color: #edf6ef;
}

html.travelnet-dark .flight-filter-field,
html.travelnet-dark .flight-filter-card .toggle-card {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.68);
    color: rgba(237, 246, 239, 0.82);
}

html.travelnet-dark .flight-filter-field select {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.72);
    color: #edf6ef;
}

html.travelnet-dark .flight-filter-card .filter-group {
    border-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-filter-card .filter-group label,
html.travelnet-dark .filter-clear-link {
    color: rgba(237, 246, 239, 0.7);
}

html.travelnet-dark .flight-filter-submit,
html.travelnet-dark .flight-page-number.is-active {
    background: linear-gradient(135deg, #55bf0d, #0f7d20);
    color: #f6fff4;
    box-shadow: 0 14px 28px rgba(85, 191, 13, 0.26);
}

html.travelnet-dark .sort-bar {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(12, 28, 19, 0.86);
    color: rgba(237, 246, 239, 0.72);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .sort-pill {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.74);
    color: #edf6ef;
}

html.travelnet-dark .sort-pill:hover,
html.travelnet-dark .sort-pill:focus-visible,
html.travelnet-dark .sort-pill.is-active {
    border-color: rgba(126, 230, 132, 0.34);
    background: rgba(26, 64, 34, 0.92);
    color: #d9f8d8;
}

html.travelnet-dark .flight-result-card {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(15, 31, 23, 0.98), rgba(7, 16, 12, 0.96));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-result-card:hover {
    border-color: rgba(126, 230, 132, 0.3);
    box-shadow:
        0 34px 86px rgba(0, 0, 0, 0.52),
        0 0 26px rgba(85, 191, 13, 0.12);
}

html.travelnet-dark .flight-result-card::before {
    background: linear-gradient(180deg, #55bf0d, #38bdf8 58%, #ff6b66);
}

html.travelnet-dark .flight-result-card::after {
    background: linear-gradient(135deg, rgba(126, 230, 132, 0.1), rgba(56, 189, 248, 0.04));
}

html.travelnet-dark .airline-logo-circle,
html.travelnet-dark .flight-card-logo {
    border-color: rgba(126, 230, 132, 0.18);
    background: linear-gradient(145deg, rgba(239, 255, 238, 0.94), rgba(216, 248, 218, 0.86));
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.26);
}

html.travelnet-dark .airline-name,
html.travelnet-dark .route-code-main b,
html.travelnet-dark .journey-time-block strong,
html.travelnet-dark .journey-route-mini,
html.travelnet-dark .split-round-summary strong {
    color: #edf6ef;
}

html.travelnet-dark .route-code-arrow,
html.travelnet-dark .flight-details summary,
html.travelnet-dark .flight-details summary::marker,
html.travelnet-dark .flight-page-control {
    color: #8ee68a;
}

html.travelnet-dark .route-estimated-total {
    border-color: rgba(198, 168, 255, 0.28);
    background: linear-gradient(180deg, rgba(105, 73, 167, 0.34) 0%, rgba(65, 43, 110, 0.5) 100%);
    color: #e2d2ff;
}

html.travelnet-dark .route-code-item small,
html.travelnet-dark .route-description,
html.travelnet-dark .journey-time-block span,
html.travelnet-dark .flight-price-panel span,
html.travelnet-dark .flight-price-panel small,
html.travelnet-dark .timeline-stop-labels,
html.travelnet-dark .flight-timeline p {
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .standard-badge {
    border-color: rgba(126, 230, 132, 0.24);
    background: rgba(26, 64, 34, 0.92);
    color: #d9f8d8;
    box-shadow: none;
}

html.travelnet-dark .flight-split-badge {
    border-color: rgba(255, 196, 87, 0.24);
    background: rgba(78, 49, 10, 0.72);
    color: #ffe1a1;
}

html.travelnet-dark .flight-card-timeline,
html.travelnet-dark .flight-card-journeys.is-split .journey-group {
    border-color: rgba(126, 230, 132, 0.13);
    background: rgba(7, 16, 12, 0.58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark .timeline-line {
    background: linear-gradient(90deg, #55bf0d, #8ee68a);
    box-shadow: 0 0 16px rgba(85, 191, 13, 0.2);
}

html.travelnet-dark .stop-count-1 .timeline-line,
html.travelnet-dark .stop-count-2 .timeline-line {
    background: linear-gradient(90deg, #ff7f72, #ffbd8a);
}

html.travelnet-dark .timeline-dot-start,
html.travelnet-dark .timeline-dot-stop,
html.travelnet-dark .timeline-dot-end {
    border-color: #07100c;
}

html.travelnet-dark .duration-pill {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(14, 31, 22, 0.96);
    color: #edf6ef;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .benefit-chips span {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(17, 43, 25, 0.82);
    color: #d9f8d8;
}

html.travelnet-dark .flight-details {
    border-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .layover-alert,
html.travelnet-dark .segment-row {
    border-color: rgba(126, 230, 132, 0.12);
    background: rgba(7, 16, 12, 0.52);
    color: rgba(237, 246, 239, 0.76);
}

html.travelnet-dark .segment-airport,
html.travelnet-dark .segment-time {
    color: #edf6ef;
}

html.travelnet-dark .segment-meta {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-aircraft-details {
    border-color: rgba(126, 230, 132, 0.18);
    background:
        linear-gradient(180deg, rgba(17, 43, 25, 0.82), rgba(7, 16, 12, 0.82));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

html.travelnet-dark .flight-aircraft-details summary {
    color: #d9f8d8;
}

html.travelnet-dark .flight-aircraft-summary-main .icon {
    color: #8ee68a;
}

html.travelnet-dark .flight-aircraft-summary-action {
    border-color: rgba(126, 230, 132, 0.20);
    background: rgba(7, 16, 12, 0.76);
    color: #d9f8d8;
}

html.travelnet-dark .flight-aircraft-row {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(8, 19, 13, 0.74);
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .flight-aircraft-thumb {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(237, 246, 239, 0.08), rgba(7, 16, 12, 0.80));
    color: #8ee68a;
}

html.travelnet-dark .flight-aircraft-route {
    background: rgba(126, 230, 132, 0.12);
    color: #d9f8d8;
}

html.travelnet-dark .flight-aircraft-name {
    color: #edf6ef;
}

html.travelnet-dark .flight-aircraft-flight {
    background: rgba(237, 246, 239, 0.08);
    color: rgba(237, 246, 239, 0.58);
}

html.travelnet-dark .flight-aircraft-details-modern .flight-aircraft-panel {
    border-color: rgba(126, 230, 132, 0.18);
    background:
        radial-gradient(circle at 26% 28%, rgba(59, 209, 102, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(9, 31, 29, 0.94), rgba(5, 14, 20, 0.94));
}

html.travelnet-dark .flight-aircraft-flight-summary,
html.travelnet-dark .flight-aircraft-profile-card,
html.travelnet-dark .flight-aircraft-profile-content {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(5, 17, 20, 0.70);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .flight-aircraft-summary-icon {
    background: rgba(59, 209, 102, 0.12);
    color: #8ee68a;
}

html.travelnet-dark .flight-aircraft-summary-cell strong,
html.travelnet-dark .flight-aircraft-profile-card h3,
html.travelnet-dark .flight-aircraft-profile-content h3,
html.travelnet-dark .flight-aircraft-facts dd,
html.travelnet-dark .flight-aircraft-stat-card strong {
    color: #edf6ef;
}

html.travelnet-dark .flight-aircraft-summary-cell small,
html.travelnet-dark .flight-aircraft-profile-card p,
html.travelnet-dark .flight-aircraft-description,
html.travelnet-dark .flight-aircraft-facts dt,
html.travelnet-dark .flight-aircraft-stat-card small,
html.travelnet-dark .flight-aircraft-about-box p,
html.travelnet-dark .flight-aircraft-source-row {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-aircraft-maker,
html.travelnet-dark .flight-aircraft-summary-route,
html.travelnet-dark .flight-aircraft-facts dt .icon,
html.travelnet-dark .flight-aircraft-stat-card > span,
html.travelnet-dark .flight-aircraft-source-row .icon {
    color: #72df6a;
}

html.travelnet-dark .flight-aircraft-summary-route span,
html.travelnet-dark .flight-aircraft-facts,
html.travelnet-dark .flight-aircraft-stat-grid {
    border-color: rgba(126, 230, 132, 0.18);
}

html.travelnet-dark .flight-aircraft-stat-card {
    border-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-aircraft-hero-image {
    background:
        radial-gradient(circle at 38% 40%, rgba(59, 209, 102, 0.20), transparent 44%),
        linear-gradient(180deg, rgba(237, 246, 239, 0.06), rgba(3, 12, 14, 0.62));
}

html.travelnet-dark .flight-aircraft-about-box {
    border-color: rgba(84, 214, 200, 0.22);
    background: rgba(18, 83, 75, 0.28);
}

html.travelnet-dark .flight-aircraft-about-box strong {
    color: #d9f8d8;
}

html.travelnet-dark .segment-line {
    background: #55bf0d;
}

html.travelnet-dark .segment-line.is-layover {
    background: #ffbd8a;
}

html.travelnet-dark .flight-price-panel {
    border-left-color: rgba(126, 230, 132, 0.18);
    background: linear-gradient(180deg, rgba(10, 24, 16, 0.94), rgba(7, 16, 12, 0.98));
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark .flight-price-panel strong {
    color: #ff8b84;
}

html.travelnet-dark .flight-select-button {
    background: linear-gradient(135deg, #ff6b66, #d83a32);
    color: #fff;
    box-shadow: 0 16px 30px rgba(216, 58, 50, 0.3);
}

html.travelnet-dark .flight-destination-image-card {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.68);
}

html.travelnet-dark .flight-destination-image-card img {
    filter: brightness(0.84) saturate(1.06);
}

html.travelnet-dark .flight-destination-image-card strong {
    color: #edf6ef;
}

html.travelnet-dark .flight-pagination,
html.travelnet-dark .split-round-heading,
html.travelnet-dark .split-round-summary,
html.travelnet-dark .split-round-leg {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(14, 31, 22, 0.92);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.38);
}

html.travelnet-dark .flight-page-number,
html.travelnet-dark .flight-page-control,
html.travelnet-dark .split-flight-option {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.72);
    color: #edf6ef;
}

html.travelnet-dark .split-flight-option:hover,
html.travelnet-dark .split-flight-option.is-selected {
    border-color: rgba(126, 230, 132, 0.34);
    box-shadow: 0 14px 30px rgba(85, 191, 13, 0.14);
}

html.travelnet-dark .split-round-heading p,
html.travelnet-dark .split-flight-option-main small,
html.travelnet-dark .split-flight-option-route,
html.travelnet-dark .split-round-total span,
html.travelnet-dark .split-round-summary span {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .split-round-total strong,
html.travelnet-dark .split-flight-option-price {
    color: #ff8b84;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-main h1 {
    color: #edf6ef;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero {
    border-color: rgba(126, 230, 132, 0.2);
    background:
        radial-gradient(circle at 12% 18%, rgba(85, 191, 13, 0.18), transparent 32%),
        linear-gradient(135deg, rgba(13, 31, 21, 0.96), rgba(7, 16, 12, 0.9)),
        linear-gradient(90deg, rgba(64, 200, 94, 0.12), rgba(20, 144, 210, 0.08));
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-kicker {
    border: 1px solid rgba(126, 230, 132, 0.2);
    background: rgba(7, 16, 12, 0.58);
    color: #d9f8d8;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero h2 {
    color: #f3fbf5;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero p,
html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price span,
html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price small,
html.travelnet-dark .flight-journey-summary-page .flight-review-actions small {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-rules-acknowledgement {
    border-color: rgba(126, 230, 132, 0.24);
    background: linear-gradient(135deg, rgba(17, 43, 25, 0.92), rgba(16, 38, 58, 0.92));
    color: #eef8f1;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-rules-required-note {
    color: #f4c67b;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-chips span {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(17, 43, 25, 0.82);
    color: #d9f8d8;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price,
html.travelnet-dark .flight-journey-summary-page .flight-review-card,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-panel,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card {
    border-color: rgba(126, 230, 132, 0.16);
    background: linear-gradient(180deg, rgba(15, 31, 23, 0.98), rgba(7, 16, 12, 0.96));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-row strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-total strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card a {
    color: #ff8b84;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step {
    background: linear-gradient(180deg, rgba(19, 39, 29, 0.94), rgba(8, 18, 13, 0.96));
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step b {
    background: rgba(126, 230, 132, 0.14);
    color: #d9f8d8;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff6b66, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(216, 58, 50, 0.28);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step.is-current b {
    background: rgba(7, 16, 12, 0.28);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #55bf0d, #0f7d20);
    color: #f6fff4;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-leg {
    border-color: rgba(126, 230, 132, 0.13);
    background: rgba(7, 16, 12, 0.58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-leg-heading,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-head {
    border-color: rgba(126, 230, 132, 0.12);
    background: rgba(17, 43, 25, 0.78);
    color: #8ee68a;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-leg-heading strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-row b,
html.travelnet-dark .flight-journey-summary-page .flight-review-routing strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card strong {
    color: #edf6ef;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table {
    border-top-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table-row {
    border-bottom-color: rgba(126, 230, 132, 0.12);
    color: rgba(237, 246, 239, 0.7);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table-row small,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-row small.flight-review-airport-location,
html.travelnet-dark .flight-journey-summary-page .flight-review-routing,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-routing {
    border-top: 1px solid rgba(126, 230, 132, 0.12);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button {
    border-color: rgba(126, 230, 132, 0.28);
    background: rgba(7, 16, 12, 0.76);
    color: #d9f8d8;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button:focus-visible {
    border-color: rgba(126, 230, 132, 0.46);
    background: rgba(26, 64, 34, 0.92);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .primary-cta,
html.travelnet-dark .flight-journey-summary-page .flight-review-rules-btn {
    background: linear-gradient(135deg, #ff6b66, #d83a32);
    color: #fff;
    box-shadow: 0 16px 30px rgba(216, 58, 50, 0.3);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, #55bf0d, #0f7d20);
    color: #f6fff4;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-price-row,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-total {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.52);
    color: #8ee68a;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-rules-note {
    border-color: rgba(255, 139, 132, 0.22);
    background: rgba(69, 23, 20, 0.42);
    color: #ffbeb9;
}

html.travelnet-dark .flight-traveller-details-page::before {
    background:
        linear-gradient(90deg, rgba(7, 16, 12, 0.88) 0%, rgba(8, 18, 13, 0.76) 42%, rgba(8, 18, 13, 0.28) 100%),
        url("../images/flight-results-ai-bg.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #07100c 0%, #0b1510 52%, #101814 100%);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-main h1 {
    color: #edf6ef;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero {
    border-color: rgba(126, 230, 132, 0.2);
    background:
        radial-gradient(circle at 12% 18%, rgba(85, 191, 13, 0.18), transparent 32%),
        linear-gradient(135deg, rgba(13, 31, 21, 0.96), rgba(7, 16, 12, 0.9)),
        linear-gradient(90deg, rgba(64, 200, 94, 0.12), rgba(20, 144, 210, 0.08));
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero-kicker {
    border: 1px solid rgba(126, 230, 132, 0.2);
    background: rgba(7, 16, 12, 0.58);
    color: #d9f8d8;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero h2 {
    color: #f3fbf5;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero p,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price span,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price small,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions small {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero-chips span,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading > span {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(17, 43, 25, 0.82);
    color: #d9f8d8;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price,
html.travelnet-dark .flight-traveller-details-page .flight-review-card,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-panel,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card,
html.travelnet-dark .flight-traveller-details-page .selected-summary,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel {
    border-color: rgba(126, 230, 132, 0.16);
    background: linear-gradient(180deg, rgba(15, 31, 23, 0.98), rgba(7, 16, 12, 0.96));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-row strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-total strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card a {
    color: #ff8b84;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-step {
    background: linear-gradient(180deg, rgba(19, 39, 29, 0.94), rgba(8, 18, 13, 0.96));
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-step b {
    background: rgba(126, 230, 132, 0.14);
    color: #d9f8d8;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff6b66, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(216, 58, 50, 0.28);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-step.is-current b {
    background: rgba(7, 16, 12, 0.28);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #55bf0d, #0f7d20);
    color: #f6fff4;
}

html.travelnet-dark .flight-traveller-details-page .selected-summary strong,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading h2,
html.travelnet-dark .flight-traveller-details-page .booking-contact-group h3,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card strong {
    color: #edf6ef;
}

html.travelnet-dark .flight-traveller-details-page .selected-summary span,
html.travelnet-dark .flight-traveller-details-page .field-card,
html.travelnet-dark .flight-traveller-details-page .booking-terms-check,
html.travelnet-dark .flight-traveller-details-page .booking-remember-check,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-traveller-details-page .content-eyebrow {
    color: #8ee68a;
}

html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading {
    border-bottom-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-preview,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-group,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-table,
html.travelnet-dark .flight-traveller-details-page .flight-weather-preview {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
        rgba(7, 16, 12, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-heading h3,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-group-heading strong,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-group-heading b,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-head span,
html.travelnet-dark .flight-traveller-details-page .flight-weather-preview-heading h3 {
    color: #edf6ef;
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-heading > span,
html.travelnet-dark .flight-traveller-details-page .flight-weather-preview-heading > span {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(17, 43, 25, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-row {
    border-top-color: rgba(126, 230, 132, 0.12);
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-head {
    background: rgba(126, 230, 132, 0.08);
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-row span {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-group-heading span,
html.travelnet-dark .flight-traveller-details-page .flight-tax-breakdown-row span b {
    color: #8ee68a;
}

html.travelnet-dark .flight-traveller-details-page .field-card input,
html.travelnet-dark .flight-traveller-details-page .field-card select {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(7, 16, 12, 0.76);
    color: #edf6ef;
    color-scheme: dark;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .flight-traveller-details-page .field-card input::placeholder {
    color: rgba(237, 246, 239, 0.46);
}

html.travelnet-dark .flight-traveller-details-page .field-card input:focus,
html.travelnet-dark .flight-traveller-details-page .field-card select:focus {
    border-color: rgba(126, 230, 132, 0.46);
    outline: 3px solid rgba(85, 191, 13, 0.18);
}

html.travelnet-dark .flight-traveller-details-page .booking-terms-check a {
    color: #8ee68a;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button {
    border-color: rgba(126, 230, 132, 0.28);
    background: rgba(7, 16, 12, 0.76);
    color: #d9f8d8;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button:focus-visible {
    border-color: rgba(126, 230, 132, 0.46);
    background: rgba(26, 64, 34, 0.92);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-actions .primary-cta,
html.travelnet-dark .flight-traveller-details-page .flight-review-rules-btn {
    background: linear-gradient(135deg, #ff6b66, #d83a32);
    color: #fff;
    box-shadow: 0 16px 30px rgba(216, 58, 50, 0.3);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, #55bf0d, #0f7d20);
    color: #f6fff4;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-price-row,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-total {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.52);
    color: #8ee68a;
}

html.travelnet-dark .flight-traveller-details-page .flight-review-price-total small {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-traveller-details-page .flight-review-rules-note {
    border-color: rgba(255, 139, 132, 0.22);
    background: rgba(69, 23, 20, 0.42);
    color: #ffbeb9;
}

html.travelnet-dark .flight-payment-page .flight-payment-panel,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-panel,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status {
    border-color: rgba(126, 230, 132, 0.16);
    background: linear-gradient(180deg, rgba(15, 31, 23, 0.98), rgba(7, 16, 12, 0.96));
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .flight-payment-page .flight-payment-panel-heading {
    border-bottom-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-payment-page .content-eyebrow,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card span {
    color: #8ee68a;
}

html.travelnet-dark .flight-payment-page .flight-payment-panel-heading h2,
html.travelnet-dark .flight-payment-page .flight-payment-option strong,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-panel h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dd {
    color: #edf6ef;
}

html.travelnet-dark .flight-payment-page .flight-payment-option span {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.58);
    color: rgba(237, 246, 239, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark .flight-payment-page .flight-payment-option input:checked + span {
    border-color: rgba(126, 230, 132, 0.42);
    background: rgba(26, 64, 34, 0.9);
    color: #d9f8d8;
    box-shadow: 0 14px 30px rgba(85, 191, 13, 0.14);
}

html.travelnet-dark .flight-payment-page .payment-provider-choice {
    border-color: color-mix(in srgb, var(--green) 42%, #263b31);
    background: linear-gradient(145deg, color-mix(in srgb, var(--green) 14%, #0b1710), #07100c 72%);
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .flight-payment-page .payment-provider-choice-topline strong {
    color: #edf6ef;
}

html.travelnet-dark .flight-payment-page .payment-provider-choice.is-disabled {
    border-color: rgba(148, 163, 184, 0.26);
    background: rgba(7, 16, 12, 0.5);
}

html.travelnet-dark .flight-payment-page .flight-payment-more-options {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.42);
}

html.travelnet-dark .flight-payment-page .flight-payment-more-options summary {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-payment-page .flight-payment-option-secondary span {
    border-color: rgba(126, 230, 132, 0.12);
    background: rgba(7, 16, 12, 0.38);
    color: rgba(237, 246, 239, 0.62);
    box-shadow: none;
}

html.travelnet-dark .flight-payment-page .flight-payment-debug-details {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(7, 16, 12, 0.42);
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-payment-page .flight-payment-debug-details summary,
html.travelnet-dark .flight-payment-page .flight-payment-debug-endpoint,
html.travelnet-dark .flight-payment-page .flight-payment-debug-details .flight-review-rules-list {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .flight-payment-page .flight-payment-debug-endpoint {
    border-top-color: rgba(126, 230, 132, 0.14);
}

html.travelnet-dark .flight-payment-page .flight-payment-option small,
html.travelnet-dark .flight-payment-page .flight-payment-safe-note,
html.travelnet-dark .flight-payment-page .flight-payment-refresh-row small,
html.travelnet-dark .flight-payment-page .field-card,
html.travelnet-dark .flight-payment-page .flight-payment-check,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dt,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card small {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .flight-payment-page .flight-payment-safe-note {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(17, 43, 25, 0.72);
}

html.travelnet-dark .payment-return-card {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(15, 31, 23, 0.96), rgba(7, 16, 12, 0.94)),
        rgba(7, 16, 12, 0.9);
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .payment-return-kicker {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(7, 16, 12, 0.68);
    color: #8ee68a;
}

html.travelnet-dark .payment-return-status,
html.travelnet-dark .payment-return-detail-card {
    border-color: rgba(126, 230, 132, 0.15);
    background:
        linear-gradient(180deg, rgba(17, 43, 25, 0.92), rgba(7, 16, 12, 0.88)),
        rgba(7, 16, 12, 0.84);
}

html.travelnet-dark .payment-return-status h2,
html.travelnet-dark .payment-return-detail-card strong {
    color: #edf6ef;
}

html.travelnet-dark .payment-return-status p,
html.travelnet-dark .payment-return-detail-card span {
    color: rgba(237, 246, 239, 0.68);
}

html.travelnet-dark .payment-return-status-icon {
    background: rgba(126, 230, 132, 0.1);
    color: #8ee68a;
}

html.travelnet-dark .payment-return-copy-button {
    border-color: rgba(126, 230, 132, 0.22);
    background: rgba(17, 43, 25, 0.78);
    color: #8ee68a;
}

html.travelnet-dark .flight-payment-page .field-card input,
html.travelnet-dark .flight-payment-page .field-card select {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(7, 16, 12, 0.76);
    color: #edf6ef;
    color-scheme: dark;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .flight-payment-page .field-card input:focus,
html.travelnet-dark .flight-payment-page .field-card select:focus {
    border-color: rgba(126, 230, 132, 0.46);
    outline: 3px solid rgba(85, 191, 13, 0.18);
}

html.travelnet-dark .flight-payment-page .flight-payment-check a {
    color: #8ee68a;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status > span {
    background: rgba(17, 43, 25, 0.9);
    color: #8ee68a;
    box-shadow: 0 12px 26px rgba(85, 191, 13, 0.14);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning {
    border-color: rgba(255, 139, 132, 0.22);
    background: rgba(69, 23, 20, 0.42);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning > span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card strong {
    color: #ff8b84;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline strong,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route .icon {
    color: #8ee68a;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card {
    border-color: rgba(148, 163, 184, 0.18);
    background:
        radial-gradient(circle at 18% 0%, rgba(21, 147, 15, 0.16), transparent 30%),
        radial-gradient(circle at 92% 10%, rgba(8, 121, 201, 0.18), transparent 34%),
        linear-gradient(145deg, #07111f, #0b1626 52%, #101c2d);
    box-shadow:
        0 24px 60px rgba(3, 8, 16, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card::before,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card::after {
    background: #07111f;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline {
    border-bottom-color: rgba(148, 163, 184, 0.16);
    background:
        linear-gradient(135deg, rgba(16, 28, 45, 0.86), rgba(11, 22, 38, 0.72)),
        #0b1626;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: rgba(226, 232, 240, 0.86);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline span .icon {
    width: 18px;
    height: 18px;
    color: #60a5fa;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline strong {
    padding: 7px 10px;
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #fbbf24;
    font-size: 11px;
    font-weight: 950;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-meta span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dl div {
    border-color: rgba(148, 163, 184, 0.14);
    background: rgba(16, 28, 45, 0.64);
    color: rgba(226, 232, 240, 0.72);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route strong {
    color: #8ee68a;
    text-shadow: 0 12px 34px rgba(21, 147, 15, 0.22);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route small {
    color: rgba(226, 232, 240, 0.64);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route .icon {
    background: rgba(96, 165, 250, 0.12);
    box-shadow:
        inset 0 0 0 1px rgba(96, 165, 250, 0.22),
        0 12px 28px rgba(8, 121, 201, 0.18);
    color: #60a5fa;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card p {
    color: rgba(226, 232, 240, 0.68);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-meta span {
    color: rgba(226, 232, 240, 0.78);
    background: rgba(11, 22, 38, 0.62);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-stub {
    border-color: rgba(96, 165, 250, 0.24);
    border-left: 1px solid rgba(96, 165, 250, 0.24);
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 0%, rgba(96, 165, 250, 0.28), transparent 42%),
        linear-gradient(145deg, rgba(21, 147, 15, 0.92), rgba(8, 121, 201, 0.88)),
        #0b6f7a;
    box-shadow: 0 18px 36px rgba(8, 121, 201, 0.2);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-stub span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-stub small {
    color: rgba(240, 253, 244, 0.82);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-stub strong {
    color: #ffffff;
    text-shadow: 0 10px 28px rgba(3, 8, 16, 0.28);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dt {
    color: rgba(148, 163, 184, 0.86);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dd {
    color: rgba(248, 250, 252, 0.96);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-notice {
    border-color: rgba(245, 158, 11, 0.24);
    background:
        linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(251, 191, 36, 0.06)),
        rgba(43, 29, 8, 0.38);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-notice strong {
    color: #fbbf24;
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-notice span {
    color: rgba(254, 243, 199, 0.82);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-secure {
    border: 1px solid rgba(96, 165, 250, 0.18);
    background:
        linear-gradient(135deg, rgba(96, 165, 250, 0.12), rgba(21, 147, 15, 0.1)),
        rgba(11, 22, 38, 0.7);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-secure .icon {
    color: #60a5fa;
    background: rgba(96, 165, 250, 0.12);
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.2);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-secure strong {
    color: rgba(248, 250, 252, 0.96);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-secure span {
    color: rgba(226, 232, 240, 0.72);
}

html.travelnet-dark .flight-journey-summary-page,
html.travelnet-dark .flight-traveller-details-page,
html.travelnet-dark .flight-confirmation-page,
html.travelnet-dark .hotel-detail-page,
html.travelnet-dark .hotel-guest-details-page,
html.travelnet-dark .hotel-confirmation-page,
html.travelnet-dark .offer-detail-page {
    --flight-checkout-panel: rgba(13, 25, 31, 0.9);
    --flight-checkout-panel-strong: rgba(17, 31, 38, 0.96);
    --flight-checkout-control: rgba(5, 14, 20, 0.76);
    --flight-checkout-border: rgba(164, 221, 176, 0.18);
    --flight-checkout-border-strong: rgba(127, 214, 126, 0.38);
    --flight-checkout-text: #f2f7f4;
    --flight-checkout-muted: #aebdba;
    --flight-checkout-green: #8ee68a;
    --flight-checkout-sky: #7dd3fc;
    --flight-checkout-coral: #ff8b84;
}

html.travelnet-dark .flight-journey-summary-page::before,
html.travelnet-dark .flight-traveller-details-page::before {
    background:
        radial-gradient(circle at 18% 4%, rgba(21, 147, 15, 0.22), transparent 28%),
        radial-gradient(circle at 84% 11%, rgba(8, 121, 201, 0.18), transparent 32%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.95) 0%, rgba(8, 21, 30, 0.88) 44%, rgba(10, 32, 42, 0.34) 74%, rgba(5, 14, 20, 0.82) 100%),
        url("../images/flight-evening-landing-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 48%, #07100f 100%);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-main h1,
html.travelnet-dark .flight-traveller-details-page .flight-review-main h1 {
    color: var(--flight-checkout-text);
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero {
    position: relative;
    isolation: isolate;
    border-color: rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.18), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(127, 214, 126, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero::after,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: -1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.38), rgba(142, 230, 138, 0.3), transparent);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-kicker,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-kicker,
html.travelnet-dark .flight-journey-summary-page .flight-review-hero-chips span,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-chips span,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading > span {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.56);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero h2,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero h2,
html.travelnet-dark .flight-journey-summary-page .flight-review-leg-heading strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-leg-heading strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-row b,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-row b,
html.travelnet-dark .flight-journey-summary-page .flight-review-routing strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-routing strong,
html.travelnet-dark .flight-traveller-details-page .selected-summary strong,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading h2,
html.travelnet-dark .flight-traveller-details-page .booking-contact-group h3,
html.travelnet-dark .flight-payment-page .flight-payment-panel-heading h2,
html.travelnet-dark .flight-payment-page .flight-payment-option strong,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next h2,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero p,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero p,
html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price span,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price span,
html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price small,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price small,
html.travelnet-dark .flight-journey-summary-page .flight-review-actions small,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions small,
html.travelnet-dark .flight-payment-page .flight-payment-option small,
html.travelnet-dark .flight-payment-page .flight-payment-safe-note,
html.travelnet-dark .flight-payment-page .field-card,
html.travelnet-dark .flight-payment-page .flight-payment-check,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next p,
html.travelnet-dark .flight-traveller-details-page .selected-summary span,
html.travelnet-dark .flight-traveller-details-page .field-card,
html.travelnet-dark .flight-traveller-details-page .booking-terms-check,
html.travelnet-dark .flight-traveller-details-page .booking-remember-check,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-row,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-row,
html.travelnet-dark .flight-journey-summary-page .flight-review-routing,
html.travelnet-dark .flight-traveller-details-page .flight-review-routing,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price,
html.travelnet-dark .flight-journey-summary-page .flight-review-card,
html.travelnet-dark .flight-traveller-details-page .flight-review-card,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-panel,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-panel,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card,
html.travelnet-dark .flight-traveller-details-page .selected-summary,
html.travelnet-dark .flight-traveller-details-page .booking-form-panel,
html.travelnet-dark .flight-payment-page .flight-payment-panel,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price {
    background:
        linear-gradient(180deg, rgba(8, 121, 201, 0.14), rgba(21, 147, 15, 0.08)),
        rgba(4, 12, 18, 0.72);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-hero-price strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-hero-price strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-row strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-row strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-total strong,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-total strong,
html.travelnet-dark .flight-journey-summary-page .flight-review-call-card a,
html.travelnet-dark .flight-traveller-details-page .flight-review-call-card a,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card strong {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step,
html.travelnet-dark .flight-traveller-details-page .flight-review-step {
    background: linear-gradient(180deg, rgba(18, 33, 40, 0.98), rgba(7, 16, 22, 0.96));
    color: rgba(242, 247, 244, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step b,
html.travelnet-dark .flight-traveller-details-page .flight-review-step b {
    background: rgba(127, 214, 126, 0.16);
    color: #dff9e0;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step.is-current,
html.travelnet-dark .flight-traveller-details-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.26);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-step.is-complete,
html.travelnet-dark .flight-traveller-details-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #29aa20, #0d7f16);
    color: #f7fff6;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-leg,
html.travelnet-dark .flight-traveller-details-page .flight-review-leg {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-leg-heading,
html.travelnet-dark .flight-traveller-details-page .flight-review-leg-heading,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-head,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-head {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.88);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table,
html.travelnet-dark .flight-traveller-details-page .flight-review-table {
    border-top-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table-row,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-row {
    border-bottom-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-table-row small,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-row small,
html.travelnet-dark .flight-journey-summary-page .flight-review-table-row small.flight-review-airport-location,
html.travelnet-dark .flight-traveller-details-page .flight-review-table-row small.flight-review-airport-location {
    color: rgba(242, 247, 244, 0.6);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-routing,
html.travelnet-dark .flight-traveller-details-page .flight-review-routing {
    border-top-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.7);
    color: #dff9e0;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .flight-journey-summary-page .flight-review-actions .ghost-button:focus-visible,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions .ghost-button:focus-visible {
    border-color: var(--flight-checkout-border-strong);
    background: rgba(18, 48, 31, 0.88);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-actions .primary-cta,
html.travelnet-dark .flight-traveller-details-page .flight-review-actions .primary-cta,
html.travelnet-dark .flight-journey-summary-page .flight-review-rules-btn,
html.travelnet-dark .flight-traveller-details-page .flight-review-rules-btn {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-price-panel h2,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.98), rgba(8, 121, 201, 0.82));
    color: #f7fff6;
}

html.travelnet-dark .flight-journey-summary-page .flight-review-price-row,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-row,
html.travelnet-dark .flight-journey-summary-page .flight-review-price-total,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-total {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(4, 12, 18, 0.42);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-price-total small,
html.travelnet-dark .flight-traveller-details-page .flight-review-price-total small {
    color: rgba(242, 247, 244, 0.6);
}

html.travelnet-dark .flight-journey-summary-page .flight-review-rules-note,
html.travelnet-dark .flight-traveller-details-page .flight-review-rules-note {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.38);
    color: #ffcbc7;
}

html.travelnet-dark .flight-traveller-details-page .booking-form-panel-heading,
html.travelnet-dark .flight-payment-page .flight-payment-panel-heading {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .flight-traveller-selected-flight-summary > div,
html.travelnet-dark .flight-traveller-selected-flight-leg {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.46);
}

html.travelnet-dark .flight-traveller-selected-flight-summary small {
    color: rgba(242, 247, 244, 0.58);
}

html.travelnet-dark .flight-traveller-selected-flight-summary strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .flight-traveller-details-page .content-eyebrow,
html.travelnet-dark .flight-payment-page .content-eyebrow,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card span,
html.travelnet-dark .flight-payment-page .flight-payment-check a,
html.travelnet-dark .flight-traveller-details-page .booking-terms-check a {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .flight-traveller-details-page .field-card input,
html.travelnet-dark .flight-traveller-details-page .field-card select,
html.travelnet-dark .flight-payment-page .field-card input,
html.travelnet-dark .flight-payment-page .field-card select {
    border-color: rgba(164, 221, 176, 0.16);
    background: var(--flight-checkout-control);
    color: var(--flight-checkout-text);
    color-scheme: dark;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .flight-traveller-details-page .field-card input:focus,
html.travelnet-dark .flight-traveller-details-page .field-card select:focus,
html.travelnet-dark .flight-payment-page .field-card input:focus,
html.travelnet-dark .flight-payment-page .field-card select:focus {
    border-color: var(--flight-checkout-border-strong);
    outline: 3px solid rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .flight-traveller-details-page .field-card input::placeholder,
html.travelnet-dark .flight-payment-page .field-card input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark .flight-payment-page .flight-payment-option span {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
        rgba(5, 14, 20, 0.68);
    color: var(--flight-checkout-muted);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .flight-payment-page .flight-payment-option input:checked + span {
    border-color: rgba(127, 214, 126, 0.44);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.22), rgba(8, 121, 201, 0.12)),
        rgba(7, 23, 18, 0.92);
    color: #dff9e0;
    box-shadow:
        0 16px 34px rgba(21, 147, 15, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .flight-payment-page .flight-payment-safe-note {
    border-color: rgba(125, 211, 252, 0.2);
    background: rgba(8, 121, 201, 0.1);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status {
    border-color: rgba(125, 211, 252, 0.22);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.13), rgba(8, 121, 201, 0.13)),
        var(--flight-checkout-panel);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status > span {
    background: rgba(4, 12, 18, 0.74);
    color: var(--flight-checkout-sky);
    box-shadow:
        0 12px 28px rgba(8, 121, 201, 0.16),
        inset 0 0 0 1px rgba(125, 211, 252, 0.22);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning {
    border-color: rgba(255, 139, 132, 0.26);
    background:
        linear-gradient(135deg, rgba(255, 68, 63, 0.16), rgba(8, 121, 201, 0.08)),
        rgba(69, 23, 20, 0.38);
}

html.travelnet-dark .flight-confirmation-page::before,
html.travelnet-dark .hotel-confirmation-page::before {
    background:
        radial-gradient(circle at 18% 4%, rgba(21, 147, 15, 0.2), transparent 28%),
        radial-gradient(circle at 84% 11%, rgba(8, 121, 201, 0.15), transparent 32%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.96) 0%, rgba(8, 21, 30, 0.9) 46%, rgba(7, 16, 12, 0.78) 100%),
        url("../images/hotel-dark-premium-bg-v2.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 48%, #07100f 100%);
}

html.travelnet-dark .flight-confirmation-page .flight-review-main h1,
html.travelnet-dark .hotel-confirmation-page .flight-review-main h1 {
    color: var(--flight-checkout-text);
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero {
    position: relative;
    isolation: isolate;
    border-color: rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.18), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(127, 214, 126, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero::after,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: -1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.38), rgba(142, 230, 138, 0.3), transparent);
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero-kicker,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-kicker,
html.travelnet-dark .flight-confirmation-page .flight-review-hero-chips span,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-chips span,
html.travelnet-dark .flight-confirmation-page .content-eyebrow,
html.travelnet-dark .hotel-confirmation-page .content-eyebrow {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.56);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero h2,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status h2,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next h2,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-next h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-panel h2,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-panel h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-collapsible-summary > span[id],
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-route,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dd,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-card dd,
html.travelnet-dark .flight-confirmation-page .flight-review-call-card strong,
html.travelnet-dark .hotel-confirmation-page .flight-review-call-card strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero p,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero p,
html.travelnet-dark .flight-confirmation-page .flight-review-hero-price span,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-price span,
html.travelnet-dark .flight-confirmation-page .flight-review-hero-price small,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-price small,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status p,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next p,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-next p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card p,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-card p,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline span,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-topline span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card dt,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-card dt,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card small,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-card small,
html.travelnet-dark .flight-confirmation-page .flight-review-call-card,
html.travelnet-dark .hotel-confirmation-page .flight-review-call-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-actions small,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-actions small {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-collapsible-summary b {
    border-color: rgba(125, 211, 252, 0.18);
    color: var(--flight-checkout-sky);
    background: rgba(4, 12, 18, 0.58);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-collapsible-panel[open] .flight-confirmation-collapsible-summary {
    border-bottom-color: rgba(125, 211, 252, 0.18);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-collapsible-panel[open] .flight-confirmation-collapsible-summary b {
    border-color: rgba(255, 139, 132, 0.3);
    color: #ffb4ae;
}

html.travelnet-dark .flight-confirmation-page .flight-review-hero-price,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-price,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-card,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-next,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-next,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-panel,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-panel,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-card,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-reference-card,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status,
html.travelnet-dark .flight-confirmation-page .flight-review-price-panel,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-panel,
html.travelnet-dark .flight-confirmation-page .flight-review-call-card,
html.travelnet-dark .hotel-confirmation-page .flight-review-call-card {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
    color: var(--flight-checkout-text);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status {
    border-color: rgba(125, 211, 252, 0.22);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.13), rgba(8, 121, 201, 0.13)),
        var(--flight-checkout-panel);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status > span,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status > span {
    background: rgba(4, 12, 18, 0.74);
    color: var(--flight-checkout-sky);
    box-shadow:
        0 12px 28px rgba(8, 121, 201, 0.16),
        inset 0 0 0 1px rgba(125, 211, 252, 0.22);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status.is-warning {
    border-color: rgba(255, 139, 132, 0.26);
    background:
        linear-gradient(135deg, rgba(255, 68, 63, 0.16), rgba(8, 121, 201, 0.08)),
        rgba(69, 23, 20, 0.38);
}

html.travelnet-dark .flight-confirmation-page .booking-error-explainer,
html.travelnet-dark .hotel-confirmation-page .booking-error-explainer {
    border-color: rgba(255, 139, 132, 0.3);
    background:
        linear-gradient(135deg, rgba(255, 68, 63, 0.18), rgba(8, 121, 201, 0.08)),
        rgba(69, 23, 20, 0.48);
}

html.travelnet-dark .flight-confirmation-page .flight-booking-guard-module {
    border-color: rgba(255, 139, 132, 0.34);
    background:
        linear-gradient(135deg, rgba(255, 68, 63, 0.2), rgba(157, 78, 221, 0.12)),
        rgba(69, 23, 20, 0.5);
    box-shadow: none;
}

html.travelnet-dark .flight-confirmation-page .flight-booking-guard-icon {
    color: #ffb4ae;
    background: rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .flight-confirmation-page .flight-booking-guard-module h3 {
    color: #ffb4ae;
}

html.travelnet-dark .flight-confirmation-page .flight-booking-guard-module p,
html.travelnet-dark .flight-confirmation-page .flight-booking-guard-module li {
    color: rgba(236, 248, 255, 0.88);
}

html.travelnet-dark .flight-confirmation-page .flight-booking-guard-module li::before {
    background: #ffb4ae;
    box-shadow: 0 0 0 4px rgba(255, 139, 132, 0.14);
}

html.travelnet-dark .flight-confirmation-page .booking-error-explainer h3,
html.travelnet-dark .hotel-confirmation-page .booking-error-explainer h3 {
    color: #ff9f99;
}

html.travelnet-dark .flight-confirmation-page .booking-error-explainer p,
html.travelnet-dark .hotel-confirmation-page .booking-error-explainer p,
html.travelnet-dark .flight-confirmation-page .booking-error-technical li,
html.travelnet-dark .hotel-confirmation-page .booking-error-technical li {
    color: rgba(236, 248, 255, 0.86);
}

html.travelnet-dark .flight-confirmation-page .booking-error-technical summary,
html.travelnet-dark .hotel-confirmation-page .booking-error-technical summary {
    color: var(--flight-checkout-sky);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning h2,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status.is-warning h2,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-status.is-warning > span,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-status.is-warning > span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card strong,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-reference-card strong,
html.travelnet-dark .flight-confirmation-page .flight-review-hero-price strong,
html.travelnet-dark .hotel-confirmation-page .flight-review-hero-price strong,
html.travelnet-dark .flight-confirmation-page .flight-review-price-row strong,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-row strong,
html.travelnet-dark .flight-confirmation-page .flight-review-price-total strong,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-total strong,
html.travelnet-dark .flight-confirmation-page .flight-review-call-card a,
html.travelnet-dark .hotel-confirmation-page .flight-review-call-card a {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .flight-confirmation-page .flight-confirmation-reference-card span,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-reference-card span,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-topline strong,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-topline strong,
html.travelnet-dark .flight-confirmation-page .flight-confirmation-ticket-route .icon,
html.travelnet-dark .hotel-confirmation-page .flight-confirmation-ticket-route .icon {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .flight-confirmation-page .flight-review-step,
html.travelnet-dark .hotel-confirmation-page .flight-review-step {
    background: linear-gradient(180deg, rgba(18, 33, 40, 0.98), rgba(7, 16, 22, 0.96));
    color: rgba(242, 247, 244, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .flight-confirmation-page .flight-review-step b,
html.travelnet-dark .hotel-confirmation-page .flight-review-step b {
    background: rgba(127, 214, 126, 0.16);
    color: #dff9e0;
}

html.travelnet-dark .flight-confirmation-page .flight-review-step.is-current,
html.travelnet-dark .hotel-confirmation-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.26);
}

html.travelnet-dark .flight-confirmation-page .flight-review-step.is-complete,
html.travelnet-dark .hotel-confirmation-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #29aa20, #0d7f16);
    color: #f7fff6;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .flight-confirmation-page .flight-review-price-panel h2,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.98), rgba(8, 121, 201, 0.82));
    color: #f7fff6;
}

html.travelnet-dark .flight-confirmation-page .flight-review-price-row,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-row,
html.travelnet-dark .flight-confirmation-page .flight-review-price-total,
html.travelnet-dark .hotel-confirmation-page .flight-review-price-total {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(4, 12, 18, 0.42);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-results-page::before,
html.travelnet-dark .hotel-guest-details-page::before,
html.travelnet-dark .hotel-detail-page::before {
    background:
        linear-gradient(90deg, rgba(7, 16, 12, 0.88) 0%, rgba(8, 18, 13, 0.76) 42%, rgba(8, 18, 13, 0.28) 100%),
        url("../images/hotel-dark-premium-bg-v2.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #07100c 0%, #0b1510 52%, #101814 100%);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 {
    border-color: rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.16), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(127, 214, 126, 0.2), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
    color: #f2f7f4;
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4::before {
    background:
        radial-gradient(circle at 18% 18%, rgba(127, 214, 126, 0.13), transparent 34%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.055) 0 12%, transparent 12% 100%);
    opacity: 1;
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4::after {
    background:
        linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.34), rgba(142, 230, 138, 0.28), transparent) left bottom 18px / calc(100% - 36px) 1px no-repeat,
        radial-gradient(circle at 70% 50%, rgba(125, 211, 252, 0.12), transparent 60%);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hotel-hero-label,
html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hotel-summary-line,
html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hotel-summary-line span {
    color: rgba(242, 247, 244, 0.78);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 h1 {
    color: #f2f7f4;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hotel-hero-accent {
    background: linear-gradient(90deg, #8ee68a, #7dd3fc);
    box-shadow: 0 0 22px rgba(85, 191, 13, 0.28);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hotel-summary-line .icon {
    color: #8ee68a;
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hero-modify-btn {
    border: 1px solid rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.7);
    color: #dff9e0;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hero-modify-btn:hover,
html.travelnet-dark .hotel-results-heading.hotel-hero-b4 .hero-modify-btn:focus-visible {
    border-color: rgba(127, 214, 126, 0.38);
    background: rgba(18, 48, 31, 0.88);
}

html.travelnet-dark .hotel-filter-card,
html.travelnet-dark .hotel-sort-bar,
html.travelnet-dark .hotel-package-strip,
html.travelnet-dark .hotel-pagination {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(15, 31, 23, 0.96), rgba(8, 18, 13, 0.9));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .hotel-result-card {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(180deg, rgba(15, 31, 23, 0.98), rgba(7, 16, 12, 0.96));
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.44),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .hotel-result-card:hover {
    border-color: rgba(126, 230, 132, 0.3);
    box-shadow:
        0 34px 86px rgba(0, 0, 0, 0.52),
        0 0 26px rgba(85, 191, 13, 0.12);
}

html.travelnet-dark .hotel-result-card::before {
    background: linear-gradient(180deg, #55bf0d, #38bdf8 58%, #ff6b66);
}

html.travelnet-dark .hotel-result-card::after {
    background: radial-gradient(circle, rgba(126, 230, 132, 0.1), rgba(56, 189, 248, 0.04) 52%, transparent 72%);
}

html.travelnet-dark .hotel-image-panel {
    background:
        linear-gradient(180deg, rgba(18, 44, 27, 0.72), rgba(8, 18, 13, 0.48));
}

html.travelnet-dark .hotel-image-panel img {
    border-color: rgba(126, 230, 132, 0.16);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .hotel-room-image-thumb,
html.travelnet-dark .hotel-indian-room-thumb,
html.travelnet-dark .hotel-gallery-thumb {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(3, 12, 9, 0.72);
}

html.travelnet-dark .hotel-gallery-thumb.is-active {
    border-color: #8ee68a;
}

html.travelnet-dark .travelnet-popup-panel-hotel-gallery {
    border-color: rgba(126, 230, 132, 0.18);
    background:
        linear-gradient(180deg, rgba(11, 27, 18, 0.98), rgba(3, 12, 9, 0.98));
}

html.travelnet-dark .travelnet-popup-panel-hotel-gallery .travelnet-popup-content {
    background:
        linear-gradient(180deg, rgba(11, 27, 18, 0.98), rgba(3, 12, 9, 0.98));
}

html.travelnet-dark .hotel-gallery-stage {
    border-color: rgba(126, 230, 132, 0.16);
    background:
        linear-gradient(135deg, rgba(30, 72, 39, 0.44), rgba(3, 12, 9, 0.9)),
        #030c09;
}

html.travelnet-dark .hotel-gallery-caption {
    color: #edf6ef;
}

html.travelnet-dark .hotel-gallery-caption span {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .hotel-card-title-row h2,
html.travelnet-dark .hotel-rating-row span,
html.travelnet-dark .hotel-package-strip-heading h2 {
    color: #edf6ef;
}

html.travelnet-dark .hotel-location,
html.travelnet-dark .hotel-rating-row,
html.travelnet-dark .hotel-details-panel summary,
html.travelnet-dark .hotel-price-panel span,
html.travelnet-dark .hotel-price-panel small,
html.travelnet-dark .hotel-package-card-body small,
html.travelnet-dark .hotel-package-card-body p {
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .hotel-location .icon,
html.travelnet-dark .hotel-details-panel summary,
html.travelnet-dark .hotel-page-control {
    color: #8ee68a;
}

html.travelnet-dark .hotel-amenity-row span,
html.travelnet-dark .hotel-room-tags small {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(30, 72, 39, 0.72);
    color: #d9f8d8;
}

html.travelnet-dark .hotel-details-panel summary small {
    border-color: rgba(126, 230, 132, 0.2);
    background: rgba(30, 72, 39, 0.72);
    color: #d9f8d8;
}

html.travelnet-dark .hotel-reassurance-box {
    border-color: rgba(126, 230, 132, 0.18);
    background:
        linear-gradient(135deg, rgba(85, 191, 13, 0.14), rgba(56, 189, 248, 0.07)),
        rgba(9, 22, 14, 0.72);
    color: #d9f8d8;
}

html.travelnet-dark .hotel-room-option,
html.travelnet-dark .hotel-package-card,
html.travelnet-dark .hotel-price-fields input,
html.travelnet-dark .hotel-filter-pill,
html.travelnet-dark .hotel-page-number,
html.travelnet-dark .hotel-page-control {
    border-color: rgba(126, 230, 132, 0.14);
    background: rgba(9, 22, 14, 0.74);
    color: #edf6ef;
}

html.travelnet-dark .hotel-live-rate-fields div {
    border-color: rgba(126, 230, 132, 0.12);
    background: rgba(3, 12, 9, 0.48);
}

html.travelnet-dark .hotel-live-rate-fields dt,
html.travelnet-dark .hotel-room-option span {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .hotel-live-rate-fields dd {
    color: #edf6ef;
}

html.travelnet-dark .hotel-live-rate-only {
    border-color: rgba(126, 230, 132, 0.18);
    background: rgba(30, 72, 39, 0.72);
    color: #d9f8d8;
}

html.travelnet-dark .hotel-live-rate-legacy-details {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(3, 12, 9, 0.38);
}

html.travelnet-dark .hotel-live-rate-legacy-details dt {
    color: rgba(237, 246, 239, 0.62);
}

html.travelnet-dark .hotel-live-rate-legacy-details dd {
    color: #edf6ef;
}

html.travelnet-dark .hotel-review-rate-details h3 {
    color: #edf6ef;
}

html.travelnet-dark .hotel-room-action a,
html.travelnet-dark .hotel-room-action button {
    border-color: rgba(126, 230, 132, 0.2);
    background: rgba(30, 72, 39, 0.72);
    color: #d9f8d8;
}

html.travelnet-dark .hotel-price-panel {
    border-left-color: rgba(126, 230, 132, 0.18);
    background:
        linear-gradient(180deg, rgba(12, 28, 19, 0.92), rgba(7, 16, 12, 0.88));
    box-shadow: inset 1px 0 0 rgba(126, 230, 132, 0.06);
}

html.travelnet-dark .hotel-detail-page .flight-review-main h1 {
    color: var(--flight-checkout-text);
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
}

html.travelnet-dark .hotel-detail-page::before {
    background:
        radial-gradient(circle at 18% 4%, rgba(21, 147, 15, 0.2), transparent 28%),
        radial-gradient(circle at 84% 11%, rgba(8, 121, 201, 0.14), transparent 32%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.96) 0%, rgba(8, 21, 30, 0.9) 46%, rgba(7, 16, 12, 0.78) 100%),
        url("../images/hotel-dark-premium-bg-v2.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 48%, #07100f 100%);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card,
html.travelnet-dark .hotel-detail-page .flight-review-price-panel,
html.travelnet-dark .hotel-detail-page .flight-review-call-card,
html.travelnet-dark .hotel-detail-page .notice-card {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
    color: var(--flight-checkout-text);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top {
    border-bottom-color: rgba(164, 221, 176, 0.14);
    background:
        radial-gradient(circle at 88% 22%, rgba(125, 211, 252, 0.14), transparent 30%),
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.9);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top h2,
html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid strong,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid strong,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-row strong,
html.travelnet-dark .hotel-detail-page .flight-review-call-card strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top p,
html.travelnet-dark .hotel-detail-page .hotel-indian-search-note,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-row,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-row small,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid p,
html.travelnet-dark .hotel-detail-page .hotel-review-side-list span,
html.travelnet-dark .hotel-detail-page .flight-review-call-card {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top > span,
html.travelnet-dark .hotel-detail-page .hotel-review-amenities span,
html.travelnet-dark .hotel-detail-page .hotel-indian-image span {
    border: 1px solid rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.56);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-search-note,
html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid div,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid section {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.46);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-image {
    border-color: rgba(164, 221, 176, 0.16);
    background: var(--flight-checkout-control);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid span,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid span,
html.travelnet-dark .hotel-detail-page .hotel-review-side-list b {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-room-table {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.36);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-room-head {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.88);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-room-row {
    border-top-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-total {
    border-top-color: rgba(164, 221, 176, 0.14);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-total strong,
html.travelnet-dark .hotel-detail-page .flight-review-price-row strong,
html.travelnet-dark .hotel-detail-page .flight-review-price-total strong,
html.travelnet-dark .hotel-detail-page .flight-review-call-card a {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-total small,
html.travelnet-dark .hotel-detail-page .flight-review-price-total small {
    color: rgba(242, 247, 244, 0.6);
}

html.travelnet-dark .hotel-detail-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.98), rgba(8, 121, 201, 0.82));
    color: #f7fff6;
}

html.travelnet-dark .hotel-detail-page .flight-review-price-row,
html.travelnet-dark .hotel-detail-page .flight-review-price-total {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(4, 12, 18, 0.42);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-review-side-list span {
    border-top-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-detail-page .flight-review-actions .ghost-button {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.7);
    color: #dff9e0;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-detail-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .hotel-detail-page .flight-review-actions .ghost-button:focus-visible {
    border-color: var(--flight-checkout-border-strong);
    background: rgba(18, 48, 31, 0.88);
}

html.travelnet-dark .hotel-detail-page .flight-review-actions .primary-cta {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero,
html.travelnet-dark .hotel-payment-page .flight-payment-card,
html.travelnet-dark .hotel-payment-page .flight-payment-panel {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
    color: var(--flight-checkout-text);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.18), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(127, 214, 126, 0.2), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
}

html.travelnet-dark .hotel-payment-page .flight-review-hero::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: -1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.38), rgba(142, 230, 138, 0.3), transparent);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero-kicker,
html.travelnet-dark .hotel-payment-page .flight-review-hero-chips span,
html.travelnet-dark .hotel-payment-page .content-eyebrow {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.56);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero h2,
html.travelnet-dark .hotel-payment-page .flight-payment-panel-heading h2,
html.travelnet-dark .hotel-payment-page .flight-payment-option strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero p,
html.travelnet-dark .hotel-payment-page .flight-review-hero-price span,
html.travelnet-dark .hotel-payment-page .flight-review-hero-price small,
html.travelnet-dark .hotel-payment-page .flight-payment-option small,
html.travelnet-dark .hotel-payment-page .flight-payment-safe-note,
html.travelnet-dark .hotel-payment-page .field-card,
html.travelnet-dark .hotel-payment-page .flight-payment-check,
html.travelnet-dark .hotel-payment-page .flight-review-actions small {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero-price {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(8, 121, 201, 0.14), rgba(21, 147, 15, 0.08)),
        rgba(4, 12, 18, 0.72);
    color: var(--flight-checkout-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-payment-page .flight-review-hero-price strong,
html.travelnet-dark .hotel-payment-page .flight-review-call-card a {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .hotel-payment-page .flight-review-step {
    background: linear-gradient(180deg, rgba(18, 33, 40, 0.98), rgba(7, 16, 22, 0.96));
    color: rgba(242, 247, 244, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-payment-page .flight-review-step b {
    background: rgba(127, 214, 126, 0.16);
    color: #dff9e0;
}

html.travelnet-dark .hotel-payment-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.26);
}

html.travelnet-dark .hotel-payment-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #29aa20, #0d7f16);
    color: #f7fff6;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .hotel-payment-page .flight-payment-panel-heading {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-payment-page .flight-payment-option span {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
        rgba(5, 14, 20, 0.68);
    color: var(--flight-checkout-muted);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-payment-page .flight-payment-option input:checked + span {
    border-color: rgba(127, 214, 126, 0.44);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.22), rgba(8, 121, 201, 0.12)),
        rgba(7, 23, 18, 0.92);
    color: #dff9e0;
    box-shadow:
        0 16px 34px rgba(21, 147, 15, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .hotel-payment-page .flight-payment-more-options {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(5, 14, 20, 0.46);
}

html.travelnet-dark .hotel-payment-page .flight-payment-more-options summary {
    color: rgba(242, 247, 244, 0.62);
}

html.travelnet-dark .hotel-payment-page .flight-payment-option-secondary span {
    border-color: rgba(164, 221, 176, 0.12);
    background: rgba(5, 14, 20, 0.42);
    color: rgba(242, 247, 244, 0.62);
    box-shadow: none;
}

html.travelnet-dark .hotel-payment-page .flight-payment-safe-note {
    border-color: rgba(125, 211, 252, 0.2);
    background: rgba(8, 121, 201, 0.1);
}

html.travelnet-dark .hotel-payment-page .field-card input,
html.travelnet-dark .hotel-payment-page .field-card select {
    border-color: rgba(164, 221, 176, 0.16);
    background: var(--flight-checkout-control);
    color: var(--flight-checkout-text);
    color-scheme: dark;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .hotel-payment-page .field-card input:focus,
html.travelnet-dark .hotel-payment-page .field-card select:focus {
    border-color: var(--flight-checkout-border-strong);
    outline: 3px solid rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .hotel-payment-page .field-card input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark .hotel-payment-page .flight-payment-check a {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-guest-details-page::before {
    background:
        radial-gradient(circle at 18% 4%, rgba(21, 147, 15, 0.2), transparent 28%),
        radial-gradient(circle at 84% 11%, rgba(8, 121, 201, 0.14), transparent 32%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.96) 0%, rgba(8, 21, 30, 0.9) 46%, rgba(7, 16, 12, 0.78) 100%),
        url("../images/hotel-dark-premium-bg-v2.png") left top / auto 100% no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 48%, #07100f 100%);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-main h1 {
    color: var(--flight-checkout-text);
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero,
html.travelnet-dark .hotel-guest-details-page .flight-review-card,
html.travelnet-dark .hotel-guest-details-page .booking-form-panel,
html.travelnet-dark .hotel-guest-details-page .selected-summary,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-booking-details,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-panel,
html.travelnet-dark .hotel-guest-details-page .flight-review-price-panel,
html.travelnet-dark .hotel-guest-details-page .flight-review-call-card,
html.travelnet-dark .hotel-guest-details-page .notice-card {
    border-color: var(--flight-checkout-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
    color: var(--flight-checkout-text);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.18), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(127, 214, 126, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-hero {
    background:
        radial-gradient(circle at 86% 18%, rgba(125, 211, 252, 0.16), transparent 34%),
        radial-gradient(circle at 16% 12%, rgba(255, 139, 132, 0.12), transparent 30%),
        linear-gradient(135deg, rgba(18, 33, 40, 0.98), rgba(6, 16, 24, 0.94));
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: -1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.38), rgba(142, 230, 138, 0.3), transparent);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero-kicker,
html.travelnet-dark .hotel-guest-details-page .flight-review-hero-chips span,
html.travelnet-dark .hotel-guest-details-page .booking-form-panel-heading > span,
html.travelnet-dark .hotel-guest-details-page .hotel-section-strip .booking-remember-check,
html.travelnet-dark .hotel-guest-details-page .hotel-section-strip .content-eyebrow {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.56);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero h2,
html.travelnet-dark .hotel-guest-details-page .selected-summary strong,
html.travelnet-dark .hotel-guest-details-page .booking-form-panel-heading h2,
html.travelnet-dark .hotel-guest-details-page .booking-contact-group h3,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-heading h2,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-summary strong,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-bottom strong,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-section h3,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-section dd,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-map-heading h3,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-heading h3,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rule-card span,
html.travelnet-dark .hotel-guest-details-page .hotel-booking-sidebar-note strong,
html.travelnet-dark .hotel-guest-details-page .flight-review-call-card strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-hero p,
html.travelnet-dark .hotel-guest-details-page .selected-summary span,
html.travelnet-dark .hotel-guest-details-page .hotel-guest-hint-row,
html.travelnet-dark .hotel-guest-details-page .hotel-contact-detail-note,
html.travelnet-dark .hotel-guest-details-page .hotel-special-request,
html.travelnet-dark .hotel-guest-details-page .booking-terms-check,
html.travelnet-dark .hotel-guest-details-page .field-card,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-summary,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-room-row,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-bottom,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-section dt,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-map-status,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-heading p,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rule-card p,
html.travelnet-dark .hotel-guest-details-page .hotel-booking-sidebar-note,
html.travelnet-dark .hotel-guest-details-page .hotel-booking-sidebar-note small,
html.travelnet-dark .hotel-guest-details-page .flight-review-call-card,
html.travelnet-dark .hotel-guest-details-page .hotel-booking-actions small {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-grid {
    border-top-color: rgba(164, 221, 176, 0.18);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rule-card {
    border-color: var(--flight-checkout-border);
    border-left-color: rgba(107, 135, 159, 0.92);
    background: rgba(4, 12, 18, 0.48);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rule-card.money-bearing {
    border-left-color: #d88745;
    background: rgba(83, 42, 17, 0.25);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rule-card.important {
    border-left-color: #c4a94d;
    background: rgba(76, 61, 14, 0.24);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-notice {
    border-color: rgba(216, 135, 69, 0.42);
    border-left-color: #d88745;
    background:
        linear-gradient(135deg, rgba(83, 42, 17, 0.34), rgba(8, 29, 44, 0.36)),
        rgba(4, 12, 18, 0.58);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-notice strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-notice p {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-scroll-button {
    border-color: #4cc0ff;
    background: linear-gradient(180deg, #168ee0, #0b67ad);
    color: #fff;
    box-shadow: 0 16px 34px rgba(15, 117, 200, 0.28);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-scroll-button:hover,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-rules-scroll-button:focus-visible {
    border-color: #7bd2ff;
    background: linear-gradient(180deg, #23a3f1, #0f76c9);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-step {
    background: linear-gradient(180deg, rgba(18, 33, 40, 0.98), rgba(7, 16, 22, 0.96));
    color: rgba(242, 247, 244, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-step b {
    background: rgba(127, 214, 126, 0.16);
    color: #dff9e0;
}

html.travelnet-dark .hotel-guest-details-page .flight-review-step.is-current {
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.26);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-step.is-complete {
    background: linear-gradient(180deg, #29aa20, #0d7f16);
    color: #f7fff6;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.46);
    color: var(--flight-checkout-muted);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step b {
    background: rgba(125, 211, 252, 0.14);
    color: #bfeaff;
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step.is-complete {
    border-color: rgba(127, 214, 126, 0.24);
    background: rgba(18, 48, 31, 0.58);
    color: #dff9e0;
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step.is-current {
    border-color: rgba(255, 139, 132, 0.38);
    background: rgba(83, 42, 17, 0.34);
    color: #ffe6df;
    box-shadow: 0 12px 28px rgba(255, 68, 63, 0.16);
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step.is-complete b {
    background: rgba(127, 214, 126, 0.16);
    color: #dff9e0;
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-progress-step.is-current b {
    background: rgba(255, 139, 132, 0.16);
    color: #ffd6ce;
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-booking-details span,
html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-booking-details small {
    color: var(--flight-checkout-muted);
}

html.travelnet-dark .hotel-guest-details-page .hotel-accommodation-booking-details strong {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-guest-details-page .hotel-section-strip {
    border-bottom-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.9);
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-guest-details-page .hotel-booked-by-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
        linear-gradient(180deg, var(--flight-checkout-panel-strong), var(--flight-checkout-panel));
}

html.travelnet-dark .hotel-guest-details-page .booking-form-panel-heading,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-heading {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-guest-details-page .hotel-contact-detail-note strong,
html.travelnet-dark .hotel-guest-details-page .content-eyebrow,
html.travelnet-dark .hotel-guest-details-page .booking-terms-check a {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-guest-details-page .field-card input,
html.travelnet-dark .hotel-guest-details-page .field-card select {
    border-color: rgba(164, 221, 176, 0.16);
    background: var(--flight-checkout-control);
    color: var(--flight-checkout-text);
    color-scheme: dark;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .hotel-guest-details-page .field-card input:focus,
html.travelnet-dark .hotel-guest-details-page .field-card select:focus {
    border-color: var(--flight-checkout-border-strong);
    outline: 3px solid rgba(21, 147, 15, 0.18);
}

html.travelnet-dark .hotel-guest-details-page .field-card input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark .hotel-guest-details-page .hotel-booking-sidebar-note,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-room-table,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-image,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-map-panel,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-grid,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-map-frame {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.46);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-heading {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.88);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-heading > strong {
    border: 1px solid rgba(255, 139, 132, 0.2);
    background: rgba(83, 42, 17, 0.3);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-section {
    border-right-color: rgba(164, 221, 176, 0.12);
    border-bottom-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-section dl > div {
    border-top-color: rgba(164, 221, 176, 0.1);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-room-head {
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.18), rgba(8, 121, 201, 0.1)),
        rgba(7, 18, 25, 0.88);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-room-row {
    border-top-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .hotel-guest-details-page .hotel-reservation-heading > strong,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-room-row strong,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-detail-grid a,
html.travelnet-dark .hotel-guest-details-page .hotel-reservation-map-heading a,
html.travelnet-dark .hotel-guest-details-page .flight-review-price-row strong,
html.travelnet-dark .hotel-guest-details-page .flight-review-price-total strong,
html.travelnet-dark .hotel-guest-details-page .flight-review-call-card a {
    color: var(--flight-checkout-coral);
    text-shadow: 0 0 18px rgba(255, 139, 132, 0.16);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-price-panel h2 {
    background: linear-gradient(135deg, rgba(21, 147, 15, 0.98), rgba(8, 121, 201, 0.82));
    color: #f7fff6;
}

html.travelnet-dark .hotel-guest-details-page .flight-review-price-row,
html.travelnet-dark .hotel-guest-details-page .flight-review-price-total {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(4, 12, 18, 0.42);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-price-total small {
    color: rgba(242, 247, 244, 0.6);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-actions .ghost-button,
html.travelnet-dark .hotel-guest-details-page .member-dev-autofill-button {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.7);
    color: #dff9e0;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-actions .ghost-button:hover,
html.travelnet-dark .hotel-guest-details-page .flight-review-actions .ghost-button:focus-visible,
html.travelnet-dark .hotel-guest-details-page .member-dev-autofill-button:hover,
html.travelnet-dark .hotel-guest-details-page .member-dev-autofill-button:focus-visible {
    border-color: var(--flight-checkout-border-strong);
    background: rgba(18, 48, 31, 0.88);
}

html.travelnet-dark .hotel-guest-details-page .flight-review-actions .primary-cta {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(180deg, #ff625d, #d83a32);
    color: #fff;
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .car-results-shell::before,
html.travelnet-dark .car-detail-page::before,
html.travelnet-dark .car-driver-details-page::before {
    background:
        linear-gradient(90deg, rgba(7, 16, 12, 0.92) 0%, rgba(8, 18, 13, 0.78) 44%, rgba(8, 18, 13, 0.3) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        linear-gradient(180deg, #07100c 0%, #0b1510 52%, #101814 100%);
}

html.travelnet-dark body.page-cars .car-results-shell,
html.travelnet-dark body.page-cars .car-detail-page,
html.travelnet-dark body.page-cars .car-driver-details-page {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-results-shell::before,
html.travelnet-dark body.page-cars .car-detail-page::before,
html.travelnet-dark body.page-cars .car-driver-details-page::before {
    background:
        radial-gradient(circle at 16% 7%, rgba(21, 147, 15, 0.2), transparent 30%),
        radial-gradient(circle at 84% 14%, rgba(8, 121, 201, 0.14), transparent 30%),
        linear-gradient(90deg, rgba(4, 12, 18, 0.96) 0%, rgba(8, 20, 25, 0.88) 48%, rgba(7, 22, 18, 0.62) 100%),
        var(--car-dark-hero-image) center / cover no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 45%, #07100f 100%);
}

html.travelnet-dark body.page-cars .car-results-hero,
html.travelnet-dark body.page-cars .car-booking-hero {
    border-color: rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 78% 15%, rgba(21, 147, 15, 0.26) 0, rgba(21, 147, 15, 0.1) 24%, transparent 42%),
        radial-gradient(circle at 18% 10%, rgba(8, 121, 201, 0.18) 0, rgba(8, 121, 201, 0.08) 28%, transparent 48%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.98) 0%, rgba(8, 21, 30, 0.94) 43%, rgba(10, 32, 42, 0.72) 72%, rgba(5, 14, 20, 0.88) 100%),
        var(--car-dark-hero-image) center / cover no-repeat;
    color: var(--hotel-dark-text);
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-cars .car-results-hero .secondary-action,
html.travelnet-dark body.page-cars .car-safety-strip span,
html.travelnet-dark body.page-cars .car-booking-hero .flight-review-hero-kicker,
html.travelnet-dark body.page-cars .car-booking-hero .flight-review-hero-chips span {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.58);
    color: #dff9e0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark body.page-cars .car-prepared-panel,
html.travelnet-dark body.page-cars .car-next-panel,
html.travelnet-dark body.page-cars .car-result-card,
html.travelnet-dark body.page-cars .hotel-indian-card,
html.travelnet-dark body.page-cars .flight-review-card,
html.travelnet-dark body.page-cars .booking-form-panel,
html.travelnet-dark body.page-cars .flight-review-price-panel,
html.travelnet-dark body.page-cars .flight-review-call-card,
html.travelnet-dark body.page-cars .selected-summary {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.72);
    color: var(--hotel-dark-text);
    box-shadow:
        0 22px 56px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark body.page-cars .car-result-visual {
    background:
        linear-gradient(145deg, rgba(21, 147, 15, 0.86), rgba(8, 121, 201, 0.42)),
        rgba(4, 12, 18, 0.72);
    color: #ffffff;
}

html.travelnet-dark body.page-cars .car-prepared-panel h2,
html.travelnet-dark body.page-cars .car-next-panel h2,
html.travelnet-dark body.page-cars .car-result-heading h3,
html.travelnet-dark body.page-cars .flight-review-main h1,
html.travelnet-dark body.page-cars .flight-review-hero h2,
html.travelnet-dark body.page-cars .hotel-indian-card-top h2,
html.travelnet-dark body.page-cars .booking-form-panel-heading h2,
html.travelnet-dark body.page-cars .flight-review-price-panel h2,
html.travelnet-dark body.page-cars .flight-review-call-card strong,
html.travelnet-dark body.page-cars .selected-summary strong {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-results-hero p,
html.travelnet-dark body.page-cars .car-prepared-panel p,
html.travelnet-dark body.page-cars .car-next-panel p,
html.travelnet-dark body.page-cars .car-result-meta,
html.travelnet-dark body.page-cars .flight-review-hero p,
html.travelnet-dark body.page-cars .hotel-indian-card-top p,
html.travelnet-dark body.page-cars .flight-review-actions small,
html.travelnet-dark body.page-cars .flight-review-rules-note,
html.travelnet-dark body.page-cars .selected-summary span,
html.travelnet-dark body.page-cars .hotel-guest-hint-row {
    color: var(--hotel-dark-muted);
}

html.travelnet-dark body.page-cars .car-result-heading strong,
html.travelnet-dark body.page-cars .car-prepared-panel dd,
html.travelnet-dark body.page-cars .hotel-indian-card-top > span,
html.travelnet-dark body.page-cars .hotel-indian-meta-grid span,
html.travelnet-dark body.page-cars .hotel-indian-extra-grid span,
html.travelnet-dark body.page-cars .flight-review-price-row span,
html.travelnet-dark body.page-cars .flight-review-price-total span,
html.travelnet-dark body.page-cars .booking-form-panel-heading > span,
html.travelnet-dark body.page-cars .content-eyebrow {
    color: #8ee68a;
}

html.travelnet-dark body.page-cars .car-prepared-panel dt {
    color: rgba(242, 247, 244, 0.68);
}

html.travelnet-dark body.page-cars .car-prepared-panel dl div,
html.travelnet-dark body.page-cars .hotel-indian-card-top,
html.travelnet-dark body.page-cars .booking-form-panel-heading {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.14), rgba(8, 121, 201, 0.07)),
        rgba(4, 12, 18, 0.48);
}

html.travelnet-dark body.page-cars .hotel-indian-image,
html.travelnet-dark body.page-cars .hotel-indian-room-table,
html.travelnet-dark body.page-cars .hotel-indian-meta-grid div,
html.travelnet-dark body.page-cars .hotel-indian-extra-grid section,
html.travelnet-dark body.page-cars .car-travel-note {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.58);
    color: rgba(226, 239, 230, 0.76);
}

html.travelnet-dark body.page-cars .hotel-indian-meta-grid strong,
html.travelnet-dark body.page-cars .hotel-indian-extra-grid strong,
html.travelnet-dark body.page-cars .hotel-indian-room-row strong,
html.travelnet-dark body.page-cars .hotel-indian-total strong,
html.travelnet-dark body.page-cars .flight-review-price-row strong,
html.travelnet-dark body.page-cars .flight-review-price-total strong,
html.travelnet-dark body.page-cars .flight-review-call-card a {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .hotel-indian-room-row,
html.travelnet-dark body.page-cars .hotel-indian-total,
html.travelnet-dark body.page-cars .flight-review-price-row,
html.travelnet-dark body.page-cars .flight-review-price-total {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.52);
}

html.travelnet-dark body.page-cars .hotel-indian-total,
html.travelnet-dark body.page-cars .flight-review-price-total {
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.16), rgba(21, 147, 15, 0.07)),
        rgba(4, 12, 18, 0.58);
}

html.travelnet-dark body.page-cars .car-driver-form .field-card {
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-cars .car-driver-form .field-card input,
html.travelnet-dark body.page-cars .car-driver-form .field-card select {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.72);
    color: var(--hotel-dark-text);
    color-scheme: dark;
}

html.travelnet-dark body.page-cars .car-driver-form .field-card input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark body.page-cars .flight-review-step {
    background: rgba(4, 12, 18, 0.66);
    color: rgba(242, 247, 244, 0.7);
}

html.travelnet-dark body.page-cars .flight-review-step b {
    background: rgba(164, 221, 176, 0.14);
    color: #dff9e0;
}

html.travelnet-dark body.page-cars .flight-review-step.is-current {
    background: linear-gradient(180deg, rgba(21, 147, 15, 0.96), rgba(8, 139, 13, 0.92));
    color: #ffffff;
}

html.travelnet-dark body.page-cars .flight-review-step.is-complete {
    background: rgba(21, 147, 15, 0.24);
    color: #dff9e0;
}

html.travelnet-dark body.page-cars .flight-review-actions .ghost-button {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(4, 12, 18, 0.7);
    color: #dff9e0;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark body.page-cars .flight-review-actions .ghost-button:hover,
html.travelnet-dark body.page-cars .flight-review-actions .ghost-button:focus-visible {
    border-color: var(--hotel-dark-border-strong);
    background: rgba(18, 48, 31, 0.88);
}

html.travelnet-dark body.page-cars .flight-review-actions .primary-cta,
html.travelnet-dark body.page-cars .car-result-actions .primary-small {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(180deg, #ff625d, var(--coral-dark));
    color: #ffffff;
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

.social-row {
    display: flex;
    gap: 10px;
}

.social-row a {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-control);
    display: grid;
    place-items: center;
    background: var(--green-soft);
    color: var(--green);
    font-weight: 900;
}

.footer-contact-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact-line .icon {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--green);
}

.footer-contact-line span {
    min-width: 0;
}

.copyright {
    padding-top: 18px;
    text-align: center;
    color: var(--muted);
}

.simple-page p {
    font-size: 18px;
}

.content-page {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.content-shell {
    position: relative;
    display: grid;
    gap: 20px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 0%, rgba(85, 191, 13, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 253, 255, 0.94));
    box-shadow:
        0 26px 70px rgba(15, 35, 55, 0.1),
        0 8px 22px rgba(15, 35, 55, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    overflow: hidden;
}

.content-shell::before,
.content-shell::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 999px;
    filter: blur(2px);
}

.content-shell::before {
    right: -90px;
    top: -120px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(8, 121, 201, 0.13), transparent 68%);
}

.content-shell::after {
    left: -90px;
    bottom: -130px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(85, 191, 13, 0.14), transparent 70%);
}

.content-shell > * {
    position: relative;
    z-index: 1;
}

html.travelnet-dark .simple-page,
html.travelnet-dark .content-shell {
    border-color: rgba(164, 221, 176, 0.18);
    background:
        linear-gradient(90deg, rgba(3, 9, 13, 0.9), rgba(4, 12, 18, 0.74)),
        linear-gradient(180deg, rgba(6, 18, 19, 0.78), rgba(5, 13, 13, 0.96)),
        url("../images/offer-detail-dark-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #071018, #07100c);
    color: #edf6ef;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html.travelnet-dark .content-shell::before {
    background: radial-gradient(circle, rgba(142, 230, 138, 0.16), transparent 68%);
}

html.travelnet-dark .content-shell::after {
    background: radial-gradient(circle, rgba(125, 211, 252, 0.1), transparent 70%);
}

.content-hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
    gap: 18px;
    align-items: stretch;
}

.content-hero-panel.is-simple {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 35, 55, 0.06);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(24, 45, 74, 0.12);
}

.content-hero-image {
    position: relative;
    min-width: 0;
    min-height: 250px;
    overflow: hidden;
    border: 1px solid rgba(15, 35, 55, 0.06);
    border-radius: 22px;
    background: #e9f5ff;
    box-shadow: 0 18px 42px rgba(24, 45, 74, 0.12);
}

.content-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

html.travelnet-dark .content-hero-image {
    border-color: rgba(164, 221, 176, 0.14);
    background: #0b1820;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .content-hero-image img {
    filter: brightness(0.72) saturate(0.82);
}

.content-hero-copy {
    min-width: 0;
    padding: clamp(20px, 3vw, 34px);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 250, 244, 0.9)),
        radial-gradient(circle at top right, rgba(85, 191, 13, 0.14), transparent 35%);
    border: 1px solid rgba(15, 35, 55, 0.06);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

html.travelnet-dark .content-hero-copy {
    border: 1px solid rgba(164, 221, 176, 0.14);
    background:
        radial-gradient(circle at 94% 0%, rgba(142, 230, 138, 0.12), transparent 36%),
        linear-gradient(145deg, rgba(18, 34, 38, 0.88), rgba(7, 17, 18, 0.82));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html.travelnet-dark .content-hero-panel.is-simple {
    border-color: rgba(164, 221, 176, 0.14);
    background: #0b1820;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
}

.content-hero-panel.is-simple > .content-hero-copy,
.content-hero-panel.is-simple > .content-hero-image {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.content-hero-panel.is-simple > .content-hero-image {
    border-left: 1px solid rgba(15, 35, 55, 0.06);
}

html.travelnet-dark .content-hero-panel.is-simple > .content-hero-image {
    border-left-color: rgba(164, 221, 176, 0.14);
}

.content-hero-panel.is-simple > .content-chip-row {
    margin: 0;
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(15, 35, 55, 0.06);
    background: rgba(247, 252, 255, 0.92);
}

html.travelnet-dark .content-hero-panel.is-simple > .content-chip-row {
    border-top-color: rgba(164, 221, 176, 0.14);
    background: rgba(7, 17, 18, 0.88);
}

.content-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--green-soft), #f7fff7);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

html.travelnet-dark .content-eyebrow {
    border: 1px solid rgba(164, 221, 176, 0.26);
    background:
        linear-gradient(135deg, rgba(24, 72, 35, 0.92), rgba(9, 25, 18, 0.9)),
        rgba(9, 25, 18, 0.94);
    color: #dfffe0;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.content-hero-panel h1 {
    margin: 12px 0 10px;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1;
}

.content-hero-panel p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: clamp(17px, 2vw, 20px);
}

html.travelnet-dark .content-hero-panel h1,
html.travelnet-dark .simple-page h1 {
    color: #f4fff4;
    text-shadow: 0 14px 28px rgba(0, 0, 0, 0.44);
}

html.travelnet-dark .content-hero-panel p,
html.travelnet-dark .simple-page p {
    color: rgba(237, 246, 239, 0.78);
}

/* Premium About page: a light, spacious product story that stays isolated
 * from the shared legal, contact, FAQ, and blog content surfaces. */
body.page-about .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-about .content-page {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 100px);
    overflow: hidden;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 76% 14%, rgba(59, 174, 90, 0.11), transparent 27%),
        radial-gradient(circle at 14% 54%, rgba(125, 211, 252, 0.1), transparent 25%),
        linear-gradient(135deg, #f8fafc 0%, #f2fbf5 48%, #ffffff 100%);
    color: #172b4d;
    animation: about-background-shift 18s ease-in-out infinite alternate;
}

body.page-about .content-page::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -4%;
    bottom: 0;
    left: -4%;
    height: 36%;
    opacity: 0.16;
    background:
        linear-gradient(148deg, transparent 0 45%, rgba(91, 126, 138, 0.18) 45.2% 57%, transparent 57.2%) 4% 100% / 34% 82% no-repeat,
        linear-gradient(32deg, transparent 0 47%, rgba(59, 174, 90, 0.13) 47.2% 60%, transparent 60.2%) 42% 100% / 42% 68% no-repeat,
        linear-gradient(150deg, transparent 0 45%, rgba(100, 116, 139, 0.12) 45.2% 59%, transparent 59.2%) 88% 100% / 42% 78% no-repeat;
    filter: blur(3px);
    pointer-events: none;
}

body.page-about .content-page::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 3%;
    left: 0;
    height: 30%;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.76) 48%, rgba(248, 250, 252, 0.96));
    filter: blur(12px);
    pointer-events: none;
}

body.page-about .content-shell,
html.travelnet-dark body.page-about .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #172b4d;
    box-shadow: none;
}

body.page-about .content-shell::before,
body.page-about .content-shell::after {
    display: none;
}

.about-premium {
    --about-green: #3bae5a;
    --about-navy: #172b4d;
    --about-muted: #64748b;
    display: grid;
    gap: clamp(28px, 3vw, 44px);
}

.about-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 520px;
    overflow: hidden;
    border-radius: clamp(28px, 3vw, 36px);
    background:
        radial-gradient(circle at 92% 9%, rgba(59, 174, 90, 0.12), transparent 31%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(248, 253, 250, 0.9));
    box-shadow:
        0 20px 60px rgba(15, 23, 42, 0.08),
        0 6px 22px rgba(15, 23, 42, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    animation: about-hero-arrive 700ms ease-out both;
}

.about-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(36px, 4vw, 58px) clamp(30px, 4vw, 62px);
}

.about-premium-eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 36px;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(59, 174, 90, 0.11);
    box-shadow: inset 0 0 0 1px rgba(59, 174, 90, 0.12);
    color: #21843c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.about-premium-copy h1,
html.travelnet-dark .about-premium-copy h1 {
    margin: 18px 0 14px;
    color: var(--about-navy);
    font-size: clamp(52px, 6vw, 72px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.98;
    text-shadow: none;
}

.about-premium-summary,
html.travelnet-dark .about-premium-summary {
    max-width: 710px;
    margin: 0;
    color: var(--about-muted);
    font-size: clamp(16px, 1.25vw, 18px);
    line-height: 1.65;
}

.about-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 520px;
    overflow: hidden;
}

.about-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        radial-gradient(ellipse at 62% 52%, transparent 34%, rgba(255, 255, 255, 0.08) 58%, rgba(255, 255, 255, 0.88) 100%),
        linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.08) 31%, transparent 58%);
    pointer-events: none;
}

.about-premium-visual img {
    position: absolute;
    inset: -2% -7% -2% -16%;
    display: block;
    width: 123%;
    height: 104%;
    object-fit: cover;
    object-position: 59% center;
    -webkit-mask-image: radial-gradient(ellipse 83% 78% at 60% 52%, #000 54%, rgba(0, 0, 0, 0.8) 71%, transparent 100%);
    mask-image: radial-gradient(ellipse 83% 78% at 60% 52%, #000 54%, rgba(0, 0, 0, 0.8) 71%, transparent 100%);
}

.about-capabilities {
    display: block;
}

.about-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 20px);
}

.about-capability-card {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 17px;
    min-height: 250px;
    padding: clamp(24px, 2.2vw, 30px);
    overflow: hidden;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow:
        0 20px 60px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    animation: about-card-arrive 600ms ease-out both;
    animation-delay: calc(100ms + (var(--about-card-order) * 80ms));
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.about-capability-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 28px 72px rgba(15, 23, 42, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.about-capability-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(59, 174, 90, 0.16), rgba(255, 255, 255, 0.74));
    box-shadow: 0 14px 32px rgba(59, 174, 90, 0.11);
    color: #278e43;
    transition: transform 220ms ease;
}

.about-capability-icon .icon {
    width: 25px;
    height: 25px;
}

.about-capability-card:hover .about-capability-icon {
    transform: scale(1.06);
}

.about-capability-card h3 {
    max-width: calc(100% - 38px);
    margin: 0;
    color: var(--about-navy);
    font-size: clamp(21px, 1.8vw, 25px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.12;
}

.about-capability-card p {
    margin: 11px 0 0;
    color: var(--about-muted);
    font-size: 15px;
    line-height: 1.6;
}

.about-capability-arrow {
    position: absolute;
    right: 24px;
    bottom: 26px;
    color: var(--about-green);
    opacity: 0.7;
    transition: transform 220ms ease, opacity 220ms ease;
}

.about-capability-card:hover .about-capability-arrow {
    transform: translateX(7px);
    opacity: 1;
}

@keyframes about-hero-arrive {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes about-card-arrive {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes about-background-shift {
    from { background-position: 0% 0%, 0% 0%, 0% 0%; }
    to { background-position: 7% 4%, -5% 7%, 0% 0%; }
}

@media (max-width: 1180px) {
    .about-premium-hero {
        grid-template-columns: 1fr;
    }

    .about-premium-copy {
        padding-bottom: 28px;
    }

    .about-premium-visual {
        min-height: 410px;
        margin-top: -26px;
    }

    .about-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 38%, rgba(255, 255, 255, 0.1) 62%, #ffffff 100%),
            linear-gradient(180deg, #ffffff 0%, transparent 25%);
    }

    .about-premium-visual img {
        inset: -4% -2% -4%;
        width: 104%;
        height: 108%;
        object-position: center;
    }

    .about-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {
    body.page-about .content-page {
        padding-inline: 12px;
    }

    .about-premium {
        gap: 28px;
    }

    .about-premium-copy {
        padding: 34px 24px 24px;
    }

    .about-premium-copy h1,
    html.travelnet-dark .about-premium-copy h1 {
        font-size: clamp(46px, 15vw, 62px);
    }

    .about-premium-visual {
        min-height: 330px;
        margin-top: -10px;
    }

    .about-capability-grid {
        grid-template-columns: 1fr;
    }

    .about-capability-card {
        min-height: 0;
    }

}

@media (max-width: 480px) {
    .about-premium-hero {
        border-radius: 28px;
    }

    .about-premium-visual {
        min-height: 285px;
    }

    .about-premium-visual img {
        object-position: 57% center;
    }

}

@media (prefers-reduced-motion: reduce) {
    body.page-about .content-page,
    .about-premium-hero,
    .about-capability-card {
        animation: none;
    }

    .about-capability-card,
    .about-capability-icon,
    .about-capability-arrow {
        transition: none;
    }
}

/* The portal already owns the theme toggle and stores `travelnetTheme`.
 * These tokens and overrides are deliberately scoped to About Us so the dark
 * page remains the same product surface without disturbing other routes. */
html.travelnet-dark body.page-about,
html[data-travelnet-theme="dark"] body.page-about {
    --page-bg: #07100c;
    --surface-primary: #121c18;
    --surface-secondary: #16241b;
    --surface-muted: #0b1710;
    --text-primary: #edf6ef;
    --text-secondary: #b7c6ba;
    --text-muted: #91a497;
    --accent-primary: #4ade80;
    --accent-soft: #86efac;
    --accent-dark: #1f7a45;
    --border-soft: rgba(188, 214, 194, 0.14);
    --border-accent: rgba(74, 222, 128, 0.2);
    --accent-surface: rgba(46, 160, 87, 0.12);
    --surface-card-start: rgba(18, 28, 24, 0.94);
    --surface-card-end: rgba(9, 21, 14, 0.92);
    --shadow-soft: 0 18px 45px rgba(0, 0, 0, 0.2);
    --shadow-large: 0 30px 80px rgba(0, 0, 0, 0.32);
    --shadow-hover: 0 26px 65px rgba(0, 0, 0, 0.32);
}

.about-premium-hero,
.about-premium-eyebrow,
.about-premium-summary,
.about-capability-card,
.about-capability-icon,
.about-capability-card h3,
.about-capability-card p,
.about-capability-arrow {
    transition:
        background-color 220ms ease,
        color 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

html.travelnet-dark body.page-about .content-page {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--text-primary);
}

html.travelnet-dark body.page-about .content-page::before {
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 45%, rgba(126, 158, 134, 0.18) 45.2% 57%, transparent 57.2%) 4% 100% / 34% 82% no-repeat,
        linear-gradient(32deg, transparent 0 47%, rgba(46, 160, 87, 0.16) 47.2% 60%, transparent 60.2%) 42% 100% / 42% 68% no-repeat,
        linear-gradient(150deg, transparent 0 45%, rgba(85, 191, 13, 0.1) 45.2% 59%, transparent 59.2%) 88% 100% / 42% 78% no-repeat;
    filter: blur(5px);
}

html.travelnet-dark body.page-about .content-page::after {
    background: linear-gradient(180deg, transparent, rgba(7, 16, 12, 0.3) 45%, rgba(7, 16, 12, 0.86));
}

html.travelnet-dark body.page-about .content-shell {
    background: transparent;
    color: var(--text-primary);
}

html.travelnet-dark body.page-about .about-premium {
    --about-green: var(--accent-primary);
    --about-navy: var(--text-primary);
    --about-muted: var(--text-secondary);
}

html.travelnet-dark body.page-about .about-premium-hero {
    border: 1px solid var(--border-soft);
    border-radius: 32px;
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--shadow-large), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-about .about-premium-eyebrow {
    border: 1px solid rgba(74, 222, 128, 0.18);
    background: var(--accent-surface);
    box-shadow: none;
    color: var(--accent-soft);
}

html.travelnet-dark body.page-about .about-premium-copy h1 {
    color: var(--text-primary);
    font-size: clamp(48px, 5vw, 72px);
    letter-spacing: -0.04em;
}

html.travelnet-dark body.page-about .about-title-accent {
    background: linear-gradient(135deg, var(--accent-soft), #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-about .about-premium-summary {
    max-width: 650px;
    color: var(--text-secondary);
    font-size: 18px;
    line-height: 1.75;
}

html.travelnet-dark body.page-about .about-summary-accent {
    color: #6ee7a0;
    font-weight: 700;
}

html.travelnet-dark body.page-about .about-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 52%, transparent 35%, rgba(18, 28, 24, 0.08) 62%, var(--surface-primary) 100%),
        linear-gradient(90deg, var(--surface-primary) 0%, rgba(18, 28, 24, 0.75) 12%, rgba(18, 28, 24, 0.12) 45%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.68), transparent 28%);
}

html.travelnet-dark body.page-about .about-premium-visual img {
    filter: brightness(0.84) contrast(1.08) saturate(0.94);
    -webkit-mask-image: radial-gradient(ellipse 86% 80% at 61% 51%, #000 50%, rgba(0, 0, 0, 0.88) 70%, transparent 100%);
    mask-image: radial-gradient(ellipse 86% 80% at 61% 51%, #000 50%, rgba(0, 0, 0, 0.88) 70%, transparent 100%);
}

html.travelnet-dark body.page-about .about-capability-card {
    border: 1px solid var(--border-soft);
    background: linear-gradient(145deg, var(--surface-card-start), var(--surface-card-end));
    box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-about .about-capability-card:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: var(--shadow-hover);
}

html.travelnet-dark body.page-about .about-capability-icon {
    border: 1px solid rgba(74, 222, 128, 0.12);
    background: var(--accent-surface);
    box-shadow: none;
    color: var(--accent-primary);
}

html.travelnet-dark body.page-about .about-capability-card:hover .about-capability-icon {
    box-shadow: 0 8px 24px rgba(46, 160, 87, 0.16);
}

html.travelnet-dark body.page-about .about-capability-card h3 {
    color: #edf6ef;
}

html.travelnet-dark body.page-about .about-capability-card p {
    color: #a6b7aa;
}

html.travelnet-dark body.page-about .about-capability-arrow {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(148, 163, 184, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
    color: #6ee7a0;
    opacity: 1;
}

html.travelnet-dark body.page-about .about-capability-card:hover .about-capability-arrow {
    transform: translateX(4px);
}

html.travelnet-dark body.page-about .theme-toggle:focus-visible {
    outline: 3px solid rgba(74, 222, 128, 0.35);
    outline-offset: 3px;
}

@media (max-width: 1180px) {
    html.travelnet-dark body.page-about .about-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, var(--surface-primary) 100%),
            linear-gradient(180deg, var(--surface-primary) 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

/* Premium Contact page. It shares the About page's visual language while
 * retaining Contact's tenant-provided content and the portal theme system. */
body.page-contact {
    --contact-page-bg: #f7fafc;
    --contact-surface: rgba(255, 255, 255, 0.88);
    --contact-surface-muted: #f4faf5;
    --contact-text-primary: #172b4d;
    --contact-text-secondary: #58708e;
    --contact-text-muted: #718096;
    --contact-accent-primary: #2f9e44;
    --contact-accent-soft: #eaf8ec;
    --contact-border-soft: rgba(23, 43, 77, 0.08);
    --contact-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-contact .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-contact .content-page.page-band {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(48px, 6vw, 84px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(59, 130, 246, 0.08), transparent 31%),
        linear-gradient(135deg, var(--contact-page-bg), #f2faf5 50%, #f8fbff 100%);
    box-shadow: none;
    color: var(--contact-text-primary);
}

body.page-contact .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 142, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-contact .content-page .content-shell,
html.travelnet-dark body.page-contact .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--contact-text-primary);
}

body.page-contact .content-page .content-shell::before,
body.page-contact .content-page .content-shell::after {
    display: none;
}

.contact-premium {
    display: grid;
    gap: clamp(22px, 2vw, 30px);
}

.contact-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--contact-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--contact-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.contact-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-contact .contact-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--contact-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.contact-premium-title-accent {
    color: var(--contact-accent-primary);
}

.contact-premium-summary {
    max-width: 650px;
    margin: 0;
    color: var(--contact-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.contact-premium-summary-accent {
    color: var(--contact-accent-primary);
    font-weight: 750;
}

.contact-office-direct a:focus-visible {
    outline: 3px solid rgba(47, 158, 68, 0.3);
    outline-offset: 3px;
}

.contact-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.contact-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 35%, rgba(255, 255, 255, 0.08) 62%, rgba(255, 255, 255, 0.94) 100%),
        linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.72) 14%, rgba(255, 255, 255, 0.08) 48%, transparent 100%),
        linear-gradient(0deg, rgba(255, 255, 255, 0.7), transparent 26%);
    pointer-events: none;
}

.contact-premium-visual img {
    position: absolute;
    inset: -5% -5% -5% -17%;
    display: block;
    width: 122%;
    height: 110%;
    object-fit: cover;
    object-position: 62% center;
    -webkit-mask-image: radial-gradient(ellipse 86% 82% at 61% 50%, #000 52%, rgba(0, 0, 0, 0.86) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 86% 82% at 61% 50%, #000 52%, rgba(0, 0, 0, 0.86) 72%, transparent 100%);
}

.contact-flight-path {
    position: absolute;
    z-index: 3;
    top: 19%;
    left: 7%;
    display: flex;
    align-items: center;
    width: 92px;
    color: rgba(47, 158, 68, 0.36);
    transform: rotate(-8deg);
}

.contact-flight-path::before {
    content: "";
    width: 58px;
    border-top: 2px dotted currentColor;
}

.contact-flight-path .icon {
    width: 17px;
    height: 17px;
}

.contact-information-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
    gap: clamp(20px, 2vw, 24px);
    align-items: stretch;
    scroll-margin-top: 24px;
}

.contact-office-card,
.contact-enquiry-card {
    min-width: 0;
    min-height: 285px;
    border: 1px solid var(--contact-border-soft);
    border-radius: 26px;
    background: var(--contact-surface);
    box-shadow: var(--contact-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.contact-office-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1.12fr) minmax(220px, 0.88fr);
    gap: clamp(18px, 2vw, 30px);
    align-items: center;
    padding: clamp(28px, 3vw, 42px);
}

.contact-card-icon {
    display: grid;
    place-items: center;
    align-self: start;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: var(--contact-accent-soft);
    color: var(--contact-accent-primary);
    box-shadow: 0 12px 28px rgba(47, 158, 68, 0.09);
}

.contact-card-icon .icon {
    width: 25px;
    height: 25px;
}

.contact-card-label {
    display: block;
    margin-bottom: 9px;
    color: var(--contact-accent-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact-office-address h2,
.contact-enquiry-card h2 {
    margin: 0;
    color: var(--contact-text-primary);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.contact-office-address address {
    display: grid;
    gap: 3px;
    margin-top: 16px;
    color: var(--contact-text-secondary);
    font-size: 15px;
    font-style: normal;
    line-height: 1.55;
}

.contact-office-direct {
    display: grid;
    gap: 10px;
    align-content: center;
    min-height: 150px;
    padding-left: clamp(18px, 2vw, 30px);
    border-left: 1px solid var(--contact-border-soft);
}

.contact-office-direct a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    min-height: 58px;
    padding: 6px 0;
    border-radius: 12px;
    color: var(--contact-text-primary);
    text-decoration: none;
}

.contact-office-direct a > span:first-child {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--contact-accent-soft);
    color: var(--contact-accent-primary);
}

.contact-office-direct .icon {
    width: 18px;
    height: 18px;
}

.contact-office-direct a > span:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.contact-office-direct small {
    color: var(--contact-text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contact-office-direct strong {
    color: inherit;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.contact-office-direct a:hover {
    color: var(--contact-accent-primary);
}

.contact-enquiry-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(28px, 3vw, 42px);
    background:
        radial-gradient(circle at 95% 8%, rgba(47, 158, 68, 0.1), transparent 33%),
        linear-gradient(145deg, rgba(244, 250, 245, 0.96), rgba(255, 255, 255, 0.9));
}

.contact-enquiry-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.contact-enquiry-list li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 48px;
    padding: 8px 11px;
    border: 1px solid rgba(47, 158, 68, 0.1);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.68);
    color: var(--contact-text-secondary);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.contact-enquiry-list li:last-child {
    grid-column: 1 / -1;
}

.contact-enquiry-list li > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: var(--contact-accent-soft);
    color: var(--contact-accent-primary);
}

.contact-enquiry-list .icon {
    width: 15px;
    height: 15px;
}

.contact-enquiry-note {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin: 18px 0 0;
    color: var(--contact-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

.contact-enquiry-note > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--contact-accent-soft);
    color: var(--contact-accent-primary);
}

.contact-enquiry-note .icon {
    width: 14px;
    height: 14px;
}

.contact-premium-hero,
.contact-office-card,
.contact-enquiry-card,
.contact-office-direct a,
.contact-office-direct a > span:first-child,
.contact-enquiry-list li,
.contact-enquiry-list li > span {
    transition:
        background-color 220ms ease,
        color 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

.contact-office-card:hover,
.contact-enquiry-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.11);
}

html.travelnet-dark body.page-contact {
    --contact-page-bg: #07100c;
    --contact-surface: rgba(18, 28, 24, 0.9);
    --contact-surface-muted: #0b1710;
    --contact-text-primary: #edf6ef;
    --contact-text-secondary: #b7c6ba;
    --contact-text-muted: #91a497;
    --contact-accent-primary: #4ade80;
    --contact-accent-soft: rgba(74, 222, 128, 0.12);
    --contact-border-soft: rgba(188, 214, 194, 0.14);
    --contact-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-contact .content-page.page-band {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--contact-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--contact-text-primary);
}

html.travelnet-dark body.page-contact .content-page.page-band::before {
    opacity: 0.09;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(126, 158, 134, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(74, 222, 128, 0.12) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
}

html.travelnet-dark body.page-contact .content-page .content-shell {
    background: transparent;
    color: var(--contact-text-primary);
}

html.travelnet-dark body.page-contact .contact-premium-hero {
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--contact-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-contact .contact-premium-copy h1 {
    color: var(--contact-text-primary);
}

html.travelnet-dark body.page-contact .contact-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-contact .contact-premium-summary {
    color: var(--contact-text-secondary);
}

html.travelnet-dark body.page-contact .contact-premium-summary-accent {
    color: #6ee7a0;
}

html.travelnet-dark body.page-contact .contact-office-direct a:focus-visible {
    outline-color: rgba(74, 222, 128, 0.35);
}

html.travelnet-dark body.page-contact .contact-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-contact .contact-premium-visual img {
    filter: brightness(0.86) contrast(1.06) saturate(0.92);
}

html.travelnet-dark body.page-contact .contact-flight-path {
    color: rgba(74, 222, 128, 0.28);
}

html.travelnet-dark body.page-contact .contact-office-card {
    background: linear-gradient(145deg, rgba(18, 28, 24, 0.94), rgba(9, 21, 14, 0.92));
    box-shadow: var(--contact-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-contact .contact-enquiry-card {
    background:
        radial-gradient(circle at 95% 8%, rgba(74, 222, 128, 0.08), transparent 34%),
        linear-gradient(145deg, rgba(15, 42, 30, 0.92), rgba(9, 21, 14, 0.94));
    box-shadow: var(--contact-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-contact .contact-office-card:hover,
html.travelnet-dark body.page-contact .contact-enquiry-card:hover {
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-contact .contact-office-address h2,
html.travelnet-dark body.page-contact .contact-enquiry-card h2,
html.travelnet-dark body.page-contact .contact-office-direct a {
    color: var(--contact-text-primary);
}

html.travelnet-dark body.page-contact .contact-office-address address,
html.travelnet-dark body.page-contact .contact-enquiry-note {
    color: var(--contact-text-secondary);
}

html.travelnet-dark body.page-contact .contact-office-direct {
    border-left-color: var(--contact-border-soft);
}

html.travelnet-dark body.page-contact .contact-office-direct small {
    color: var(--contact-text-muted);
}

html.travelnet-dark body.page-contact .contact-enquiry-list li {
    border-color: rgba(74, 222, 128, 0.1);
    background: rgba(9, 21, 14, 0.68);
    color: var(--contact-text-secondary);
}

@media (max-width: 1120px) {
    .contact-premium-hero {
        grid-template-columns: 1fr;
    }

    .contact-premium-copy {
        padding-bottom: 28px;
    }

    .contact-premium-visual {
        min-height: 380px;
        margin-top: -24px;
    }

    .contact-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 53%, transparent 40%, rgba(255, 255, 255, 0.1) 64%, #ffffff 100%),
            linear-gradient(180deg, #ffffff 0%, transparent 23%),
            linear-gradient(0deg, rgba(255, 255, 255, 0.72), transparent 26%);
    }

    html.travelnet-dark body.page-contact .contact-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 53%, transparent 40%, rgba(13, 27, 45, 0.1) 64%, #0d1b2d 100%),
            linear-gradient(180deg, #0d1b2d 0%, transparent 23%),
            linear-gradient(0deg, rgba(13, 27, 45, 0.72), transparent 26%);
    }

    .contact-premium-visual img {
        inset: -7% -2%;
        width: 104%;
        height: 114%;
        object-position: center;
    }

    .contact-flight-path {
        display: none;
    }

    .contact-information-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-office-card {
        grid-template-columns: 58px minmax(0, 1fr);
        align-content: center;
    }

    .contact-office-direct {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: 0;
        padding: 18px 0 0;
        border-top: 1px solid var(--contact-border-soft);
        border-left: 0;
    }
}

@media (max-width: 820px) {
    body.page-contact .content-page.page-band {
        padding: 24px 14px 52px;
    }

    .contact-premium {
        gap: 18px;
    }

    .contact-premium-copy {
        padding: 34px 24px 24px;
    }

    .contact-premium-visual {
        min-height: 310px;
        margin-top: -10px;
    }

    .contact-information-grid {
        grid-template-columns: 1fr;
    }

    .contact-office-card,
    .contact-enquiry-card {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .contact-premium-hero {
        border-radius: 28px;
    }

    body.page-contact .contact-premium-copy h1 {
        font-size: clamp(45px, 14vw, 60px);
    }

    .contact-premium-visual {
        min-height: 250px;
    }

    .contact-office-card {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }

    .contact-card-icon {
        width: 50px;
        height: 50px;
    }

    .contact-office-direct {
        grid-template-columns: 1fr;
    }

    .contact-enquiry-card {
        padding: 26px 22px;
    }

    .contact-enquiry-list {
        grid-template-columns: 1fr;
    }

    .contact-enquiry-list li:last-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-premium *,
    .contact-premium *::before,
    .contact-premium *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

.auth-page {
    padding: 28px 24px 58px;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: 18px;
    max-width: 1180px;
    margin: 0 auto;
    align-items: start;
}

.auth-register-shell,
.auth-admin-shell {
    grid-template-columns: 1fr;
}

.auth-hero {
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: var(--radius-card);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 250, 244, 0.94)),
        radial-gradient(circle at top right, rgba(8, 121, 201, 0.14), transparent 34%);
    box-shadow: 0 18px 45px rgba(24, 45, 74, 0.10);
}

.auth-admin-hero {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.94)),
        radial-gradient(circle at top right, rgba(21, 147, 15, 0.14), transparent 34%);
}

.auth-hero h1 {
    margin: 14px 0 12px;
    font-size: 44px;
    line-height: 1.04;
}

.auth-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 18px;
}

.auth-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.auth-status-row span,
.auth-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: #f2fbf0;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.auth-status-row .icon {
    width: 16px;
    height: 16px;
}

.auth-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: var(--radius-card);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 42px rgba(20, 42, 68, 0.08);
}

.auth-form-card,
.auth-next-card {
    display: grid;
    gap: 18px;
}

.auth-card-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.auth-card-heading > span,
.auth-admin-tile > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-control);
    background: var(--green-soft);
    color: var(--green);
}

.auth-card h2 {
    margin: 0 0 6px;
    font-size: 22px;
}

.auth-card p {
    margin: 0;
    color: var(--muted);
}

.auth-result-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.auth-result-card strong {
    color: var(--green-dark);
}

.auth-result-card.is-warning strong {
    color: #a95a00;
}

.auth-error-list {
    flex-basis: 100%;
    margin: 4px 0 0;
    padding-left: 22px;
    color: #7a3200;
    font-size: 14px;
    font-weight: 800;
}

.auth-error-list li + li {
    margin-top: 4px;
}

.auth-muted-note {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.auth-signed-in-panel {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: var(--radius-card);
    background: rgba(233, 248, 231, 0.74);
}

.auth-signed-in-panel strong {
    color: var(--ink);
    font-size: 18px;
}

.auth-signed-in-panel span {
    color: var(--muted);
    font-weight: 800;
}

.auth-form,
.auth-next-card ol,
.auth-next-card ul {
    display: grid;
    gap: 14px;
}

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

.auth-role-guide {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.auth-form input,
.auth-form select,
.auth-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
}

.auth-form textarea {
    min-height: 118px;
    padding-top: 12px;
    resize: vertical;
}

.auth-form input:focus,
.auth-form select:focus,
.auth-form textarea:focus {
    outline: 3px solid rgba(8, 121, 201, 0.14);
    border-color: rgba(8, 121, 201, 0.52);
}

.auth-form-row,
.auth-inline-actions,
.auth-admin-toolbar,
.auth-pending-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
}

.auth-check {
    display: inline-flex !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 9px !important;
}

.auth-check input {
    width: 18px;
    min-height: 18px;
}

.auth-form-row a {
    color: var(--green-dark);
    font-weight: 900;
}

.auth-submit[disabled],
.auth-mini-button[disabled] {
    cursor: not-allowed;
    opacity: 0.72;
}

.auth-inline-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.auth-decline-form {
    align-items: end;
}

.auth-decline-form label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.auth-decline-form input {
    min-height: 38px;
    width: min(220px, 100%);
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
}

.auth-request-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-wide-field {
    grid-column: 1 / -1;
}

.auth-page[data-auth-page="register"] {
    padding-top: 18px;
}

.auth-page[data-auth-page="register"] .auth-shell {
    gap: 14px;
}

.auth-page[data-auth-page="register"] .auth-hero {
    padding: 14px 22px 16px;
}

.auth-page[data-auth-page="register"] .auth-hero h1 {
    margin: 8px 0 6px;
    font-size: 30px;
    line-height: 1.08;
}

.auth-page[data-auth-page="register"] .auth-hero h1:last-child {
    margin-bottom: 0;
}

.auth-page[data-auth-page="register"] .auth-hero p {
    max-width: 700px;
    font-size: 14px;
}

.auth-page[data-auth-page="register"] .auth-status-row {
    margin-top: 10px;
}

.auth-page[data-auth-page="register"] .auth-status-row span {
    min-height: 28px;
    padding: 4px 10px;
    font-size: 12px;
}

.auth-page[data-auth-page="register"] .auth-card {
    padding: 14px 20px;
}

.auth-page[data-auth-page="register"] .auth-form-card {
    gap: 11px;
}

.auth-page[data-auth-page="register"] .auth-card-heading {
    align-items: center;
    gap: 12px;
}

.auth-page[data-auth-page="register"] .auth-card-heading > span {
    width: 38px;
    height: 38px;
}

.auth-page[data-auth-page="register"] .auth-card h2 {
    margin-bottom: 3px;
    font-size: 21px;
}

.auth-page[data-auth-page="register"] .auth-request-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 14px;
}

.auth-page[data-auth-page="register"] .auth-form label {
    gap: 5px;
    font-size: 13px;
}

.auth-page[data-auth-page="register"] .auth-form input,
.auth-page[data-auth-page="register"] .auth-form select {
    height: 40px;
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 40px;
}

.auth-page[data-auth-page="register"] .auth-account-type-field {
    min-width: 0;
}

.auth-page[data-auth-page="register"] .auth-account-type-label,
.auth-page[data-auth-page="register"] .auth-account-type-select {
    white-space: nowrap;
}

.auth-page[data-auth-page="register"] .auth-account-type-select {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auth-page[data-auth-page="register"] .auth-role-guide {
    min-height: 32px;
    display: block;
}

.auth-page[data-auth-page="register"] .auth-form textarea {
    min-height: 56px;
}

.auth-page[data-auth-page="register"] .auth-submit {
    min-height: 40px;
}

.auth-next-card ol,
.auth-next-card ul {
    margin: 0;
    padding-left: 22px;
    color: var(--muted);
    font-weight: 700;
}

.auth-next-card li + li {
    margin-top: 6px;
}

.auth-admin-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.auth-admin-tile {
    display: grid;
    gap: 12px;
    color: inherit;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.auth-admin-tile:hover,
.auth-admin-tile:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(21, 147, 15, 0.24);
    box-shadow: 0 20px 46px rgba(20, 42, 68, 0.12);
}

.auth-admin-tile strong {
    font-size: 18px;
}

.auth-admin-tile small,
.auth-metric-panel small {
    color: var(--muted);
    font-weight: 700;
}

.auth-metric-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.auth-metric-panel div {
    display: grid;
    gap: 5px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid rgba(15, 35, 55, 0.07);
    border-radius: var(--radius-card);
    background: rgba(247, 252, 247, 0.82);
}

.auth-metric-panel span {
    color: var(--green-dark);
    font-size: 30px;
    font-weight: 900;
}

.auth-table-card {
    padding: 0;
    overflow: hidden;
}

.auth-table-scroll {
    overflow-x: auto;
}

.auth-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    min-width: 0;
}

.auth-table th,
.auth-table td {
    padding: 11px 10px;
    border-bottom: 1px solid rgba(15, 35, 55, 0.08);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
}

.auth-table th {
    background: rgba(244, 251, 243, 0.96);
    color: var(--green-dark);
    font-size: 11px;
    text-transform: uppercase;
}

.auth-table td {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.auth-table td strong {
    color: var(--ink);
}

.auth-table th:nth-child(1),
.auth-table td:nth-child(1) {
    width: 54px;
    text-align: center;
}

.auth-table th:nth-child(2),
.auth-table td:nth-child(2) {
    width: 18%;
}

.auth-table th:nth-child(3),
.auth-table td:nth-child(3) {
    width: 14%;
}

.auth-table th:nth-child(4),
.auth-table td:nth-child(4) {
    width: 13%;
}

.auth-table th:nth-child(5),
.auth-table td:nth-child(5) {
    width: 21%;
}

.auth-table th:nth-child(6),
.auth-table td:nth-child(6) {
    width: 9%;
}

.auth-table th:nth-child(7),
.auth-table td:nth-child(7) {
    width: 13%;
}

.auth-table th:nth-child(8),
.auth-table td:nth-child(8) {
    width: 12%;
}

.auth-table-id,
.auth-table-email {
    font-size: 12px;
}

.auth-table-subtext {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.auth-table-actions {
    display: grid;
    gap: 6px;
}

.auth-table-actions .auth-inline-form {
    width: 100%;
}

.auth-table-actions .auth-mini-button {
    width: 100%;
    min-height: 34px;
    padding: 0 8px;
}

.auth-badge-status {
    border-color: rgba(8, 121, 201, 0.18);
    background: rgba(235, 247, 255, 0.92);
    color: var(--blue);
}

.auth-row-check {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.auth-mini-button {
    min-height: 38px;
    padding: 0 12px;
    font-size: 13px;
}

.auth-section-heading {
    display: grid;
    gap: 6px;
    margin: 28px 0 12px;
}

.auth-section-heading h2 {
    margin: 0;
    color: var(--ink);
    font-size: 22px;
}

.auth-section-heading p {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

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

.auth-pending-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
}

.auth-pending-card h2 {
    margin-top: 12px;
}

.auth-pending-card blockquote {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 4px solid var(--green);
    border-radius: var(--radius-control);
    background: rgba(244, 251, 243, 0.88);
    color: var(--ink);
    font-weight: 800;
}

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

.auth-debug-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.auth-debug-list div {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(15, 35, 55, 0.08);
    border-radius: var(--radius-card);
    background: rgba(247, 252, 247, 0.72);
}

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

.auth-debug-list dd {
    margin: 0;
    color: var(--ink);
    font-weight: 900;
}

.auth-page[data-auth-page="admin-debug"] .auth-table {
    table-layout: auto;
    min-width: 760px;
}

.auth-role-overview-table th,
.auth-role-overview-table td,
.auth-permission-matrix-table th,
.auth-permission-matrix-table td,
.auth-role-assignment-table th,
.auth-role-assignment-table td {
    width: auto;
}

.auth-permission-matrix-table th:not(:first-child),
.auth-permission-matrix-table td:not(:first-child) {
    min-width: 58px;
    text-align: center;
}

.auth-permission-matrix-table th:first-child,
.auth-permission-matrix-table td:first-child {
    min-width: 210px;
}

.auth-permission-pill,
.auth-permission-dot,
.auth-badge-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    min-width: 44px;
    padding: 4px 9px;
    border: 1px solid rgba(21, 147, 15, 0.16);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.82);
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.auth-permission-pill.is-denied,
.auth-permission-dot.is-denied {
    border-color: rgba(169, 90, 0, 0.16);
    background: rgba(255, 244, 225, 0.82);
    color: #a95a00;
}

.auth-safety-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
    font-weight: 800;
}

html.travelnet-dark .auth-page {
    background:
        linear-gradient(90deg, rgba(3, 9, 13, 0.84), rgba(4, 12, 18, 0.72)),
        linear-gradient(180deg, #071018, #07100c);
}

html.travelnet-dark .auth-hero,
html.travelnet-dark .auth-card {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(8, 22, 22, 0.86);
    color: #edf6ef;
    box-shadow:
        0 22px 54px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

html.travelnet-dark .auth-hero h1,
html.travelnet-dark .auth-card h2,
html.travelnet-dark .auth-admin-tile strong,
html.travelnet-dark .auth-table td strong,
html.travelnet-dark .auth-debug-list dd {
    color: #f4fff4;
}

html.travelnet-dark .auth-hero p,
html.travelnet-dark .auth-card p,
html.travelnet-dark .auth-next-card ol,
html.travelnet-dark .auth-next-card ul,
html.travelnet-dark .auth-admin-tile small,
html.travelnet-dark .auth-metric-panel small,
html.travelnet-dark .auth-table td,
html.travelnet-dark .auth-debug-list dt {
    color: rgba(237, 246, 239, 0.74);
}

html.travelnet-dark .auth-status-row span,
html.travelnet-dark .auth-badge,
html.travelnet-dark .auth-badge-status,
html.travelnet-dark .auth-permission-pill,
html.travelnet-dark .auth-permission-dot,
html.travelnet-dark .auth-card-heading > span,
html.travelnet-dark .auth-admin-tile > span {
    border-color: rgba(164, 221, 176, 0.18);
    background:
        linear-gradient(135deg, rgba(24, 72, 35, 0.92), rgba(9, 25, 18, 0.9)),
        rgba(9, 25, 18, 0.94);
    color: #dfffe0;
}

html.travelnet-dark .auth-permission-pill.is-denied,
html.travelnet-dark .auth-permission-dot.is-denied {
    border-color: rgba(244, 196, 48, 0.20);
    background: rgba(77, 63, 12, 0.50);
    color: #f4d35e;
}

html.travelnet-dark .auth-form label {
    color: #f4fff4;
}

html.travelnet-dark .auth-form input,
html.travelnet-dark .auth-form select,
html.travelnet-dark .auth-form textarea {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(4, 12, 18, 0.72);
    color: #f4fff4;
}

html.travelnet-dark .auth-form input::placeholder,
html.travelnet-dark .auth-form textarea::placeholder {
    color: rgba(237, 246, 239, 0.46);
}

html.travelnet-dark .auth-form-row a {
    color: #8ee68a;
}

html.travelnet-dark .auth-metric-panel div,
html.travelnet-dark .auth-table th,
html.travelnet-dark .auth-pending-card blockquote,
html.travelnet-dark .auth-debug-list div {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .auth-metric-panel span,
html.travelnet-dark .auth-table th {
    color: #8ee68a;
}

html.travelnet-dark .auth-result-card strong {
    color: #8ee68a;
}

html.travelnet-dark .auth-signed-in-panel {
    border-color: rgba(127, 214, 126, 0.22);
    background: rgba(20, 49, 27, 0.62);
}

html.travelnet-dark .auth-signed-in-panel strong {
    color: #f4fff4;
}

html.travelnet-dark .auth-signed-in-panel span {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .auth-result-card.is-warning strong {
    color: #f4d35e;
}

html.travelnet-dark .auth-muted-note,
html.travelnet-dark .auth-decline-form label {
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .auth-decline-form input {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(4, 12, 18, 0.72);
    color: #f4fff4;
}

html.travelnet-dark .auth-table th,
html.travelnet-dark .auth-table td {
    border-bottom-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .auth-badge-status {
    border-color: rgba(125, 211, 252, 0.18);
    background: rgba(5, 28, 42, 0.78);
    color: #7dd3fc;
}

html.travelnet-dark .auth-pending-card blockquote {
    border-left-color: #8ee68a;
    color: rgba(237, 246, 239, 0.84);
}

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

    .auth-admin-grid,
    .auth-metric-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .auth-page {
        padding: 18px 14px 42px;
    }

    .auth-hero,
    .auth-card {
        padding: 18px;
    }

    .auth-hero h1 {
        font-size: 32px;
    }

    .auth-hero p {
        font-size: 16px;
    }

    .auth-request-grid,
    .auth-admin-grid,
    .auth-metric-panel,
    .auth-pending-card,
    .auth-debug-list div {
        grid-template-columns: 1fr;
    }

    .auth-page[data-auth-page="register"] .auth-request-grid {
        grid-template-columns: 1fr;
    }

    .auth-form-row,
    .auth-inline-actions,
    .auth-admin-toolbar,
    .auth-pending-actions {
        justify-content: flex-start;
    }

    .auth-inline-actions .ghost-button,
    .auth-admin-toolbar .ghost-button,
    .auth-pending-actions .primary-cta,
    .auth-pending-actions .ghost-button {
        width: 100%;
        justify-content: center;
    }
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) {
    position: relative;
    min-height: calc(100vh - 84px);
    padding: clamp(34px, 5vw, 72px) 24px 82px;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 16%, rgba(21, 147, 15, 0.14), transparent 24%),
        radial-gradient(circle at 92% 12%, rgba(8, 121, 201, 0.18), transparent 27%),
        linear-gradient(145deg, #f4fbf4 0%, #ffffff 47%, #eef7ff 100%);
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in)::before,
.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in)::after {
    position: absolute;
    z-index: 0;
    border-radius: 999px;
    content: "";
    pointer-events: none;
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in)::before {
    top: 11%;
    left: -110px;
    width: 260px;
    height: 260px;
    border: 36px solid rgba(255, 255, 255, 0.48);
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in)::after {
    right: -80px;
    bottom: 7%;
    width: 230px;
    height: 230px;
    background: rgba(255, 255, 255, 0.36);
}

.auth-login-shell {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
    gap: 0;
    align-items: stretch;
    max-width: 1120px;
    min-height: 610px;
    overflow: hidden;
    border: 1px solid rgba(26, 57, 90, 0.09);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 36px 80px rgba(13, 50, 92, 0.16),
        0 14px 32px rgba(21, 147, 15, 0.10);
}

.auth-login-welcome {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(220px, 1fr) auto;
    gap: 24px;
    min-height: 100%;
    padding: 48px 48px 38px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 167, 163, 0.24), transparent 26%),
        radial-gradient(circle at 8% 88%, rgba(128, 224, 136, 0.26), transparent 30%),
        linear-gradient(145deg, #0879c9 0%, #087fa1 48%, #15930f 100%);
    color: #ffffff;
    box-shadow: none;
}

.auth-login-welcome::before {
    position: absolute;
    top: -78px;
    right: -72px;
    width: 240px;
    height: 240px;
    border: 42px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    content: "";
}

.auth-login-welcome-copy {
    position: relative;
    z-index: 2;
}

.auth-login-welcome .content-eyebrow {
    width: fit-content;
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.auth-login-welcome h1 {
    max-width: 520px;
    margin: 18px 0 15px;
    color: #ffffff;
    font-size: clamp(43px, 4vw, 62px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.auth-login-welcome p {
    max-width: 510px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 17px;
    line-height: 1.58;
}

.auth-login-welcome .auth-status-row {
    margin-top: 22px;
}

.auth-login-welcome .auth-status-row span {
    min-height: 34px;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    backdrop-filter: blur(10px);
}

.auth-login-illustration {
    position: relative;
    min-height: 230px;
}

.auth-login-sun {
    position: absolute;
    top: 20px;
    right: 34px;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffb5b2, #fff1b8);
    box-shadow: 0 0 0 18px rgba(255, 255, 255, 0.06);
}

.auth-login-cloud {
    position: absolute;
    width: 70px;
    height: 20px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
}

.auth-login-cloud::before,
.auth-login-cloud::after {
    position: absolute;
    bottom: 0;
    border-radius: 50%;
    background: inherit;
    content: "";
}

.auth-login-cloud::before {
    left: 12px;
    width: 30px;
    height: 30px;
}

.auth-login-cloud::after {
    right: 11px;
    width: 24px;
    height: 24px;
}

.auth-login-cloud--one {
    top: 54px;
    left: 12px;
    transform: scale(0.8);
}

.auth-login-cloud--two {
    top: 112px;
    right: 72px;
    opacity: 0.72;
    transform: scale(0.6);
}

.auth-login-flight-path {
    position: absolute;
    top: 62px;
    left: 88px;
    width: 250px;
    height: 106px;
    border-top: 2px dashed rgba(255, 255, 255, 0.56);
    border-radius: 50%;
    transform: rotate(-8deg);
}

.auth-login-plane {
    position: absolute;
    top: 76px;
    right: 112px;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: #0879c9;
    box-shadow: 0 18px 38px rgba(17, 31, 78, 0.24);
    transform: rotate(-10deg);
}

.auth-login-plane .icon {
    width: 30px;
    height: 30px;
}

.auth-login-land {
    position: absolute;
    right: -80px;
    bottom: -54px;
    left: -80px;
    height: 160px;
    border-radius: 50% 50% 0 0;
}

.auth-login-land--back {
    bottom: -30px;
    background: rgba(213, 246, 218, 0.26);
    transform: rotate(-4deg);
}

.auth-login-land--front {
    bottom: -78px;
    background: rgba(228, 244, 255, 0.42);
    transform: rotate(5deg);
}

.auth-login-suitcase {
    position: absolute;
    bottom: 14px;
    left: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 82px;
    height: 96px;
    border: 4px solid rgba(255, 255, 255, 0.58);
    border-radius: 20px;
    background: linear-gradient(145deg, #ff6b66, #df302d);
    color: #ffffff;
    box-shadow: 0 20px 42px rgba(95, 35, 34, 0.26);
    transform: translateX(-50%) rotate(3deg);
}

.auth-login-suitcase .icon {
    width: 36px;
    height: 36px;
    opacity: 0.78;
}

.auth-login-suitcase-handle {
    position: absolute;
    top: -23px;
    left: 23px;
    width: 30px;
    height: 25px;
    border: 6px solid rgba(255, 255, 255, 0.68);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
}

.auth-login-benefits {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.auth-login-benefits > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 10px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.11);
    backdrop-filter: blur(12px);
}

.auth-login-benefits > div > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.16);
}

.auth-login-benefits .icon {
    width: 19px;
    height: 19px;
}

.auth-login-benefits strong {
    color: #ffffff;
    font-size: 13px;
}

.auth-login-benefits small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
    line-height: 1.35;
}

.auth-login-form-column {
    display: grid;
    align-content: center;
    gap: 14px;
    min-width: 0;
    padding: clamp(34px, 4vw, 58px);
    background:
        radial-gradient(circle at 90% 5%, rgba(229, 248, 229, 0.72), transparent 26%),
        #ffffff;
}

.auth-login-form-column .auth-result-card {
    border-radius: 18px;
}

.auth-login-form-card {
    gap: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.auth-login-form-card .auth-card-heading {
    align-items: center;
    gap: 16px;
}

.auth-login-form-card .auth-card-heading > span {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--green-soft), #e4f4ff);
    color: var(--green-dark);
}

.auth-login-form-card .auth-card-heading > span .icon {
    width: 25px;
    height: 25px;
}

.auth-login-form-kicker {
    margin: 0 0 4px !important;
    color: var(--green-dark) !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.auth-login-form-card .auth-card-heading h2 {
    margin: 0 0 5px;
    color: #112a46;
    font-size: 31px;
    letter-spacing: -0.025em;
}

.auth-login-form-card .auth-card-heading p:last-child {
    color: #5b6d82;
    font-size: 14px;
    line-height: 1.5;
}

.auth-login-form {
    gap: 17px;
}

.auth-login-form label {
    gap: 9px;
    color: #243b55;
}

.auth-login-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.auth-login-label-row a {
    color: #0879c9;
    font-size: 12px;
    font-weight: 900;
}

.auth-login-form input {
    min-height: 52px;
    padding: 0 16px;
    border-color: #d7e1ec;
    border-radius: 14px;
    background: #f8fbff;
    color: #112a46;
    box-shadow: inset 0 1px 2px rgba(17, 42, 70, 0.025);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.auth-login-form input:hover {
    border-color: #b7c8da;
    background: #ffffff;
}

.auth-login-form input:focus {
    border-color: var(--green);
    background: #ffffff;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(21, 147, 15, 0.14);
}

.auth-login-submit {
    justify-content: center;
    min-height: 54px;
    margin-top: 2px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(180deg, #ff5d57, var(--coral));
    box-shadow: 0 16px 32px rgba(255, 68, 63, 0.24);
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.auth-login-submit:hover,
.auth-login-submit:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 20px 38px rgba(255, 68, 63, 0.30);
}

.auth-login-submit .icon {
    width: 18px;
    height: 18px;
}

.auth-login-new-account {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid #e0e7f0;
    border-radius: 14px;
    background: #f8faff;
    color: #64758a;
    font-size: 13px;
    font-weight: 700;
}

.auth-login-new-account a {
    color: #0879c9;
    font-weight: 900;
}

.auth-login-reassurance {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
    color: #718196 !important;
    font-size: 11px !important;
    line-height: 1.45;
    text-align: center;
}

.auth-login-reassurance .icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin-top: 1px;
    color: #169a58;
}

html.travelnet-dark .auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) {
    background:
        radial-gradient(circle at 8% 16%, rgba(21, 147, 15, 0.20), transparent 24%),
        radial-gradient(circle at 92% 12%, rgba(23, 101, 172, 0.24), transparent 27%),
        linear-gradient(145deg, #07131c 0%, #081b20 50%, #071b22 100%);
}

html.travelnet-dark .auth-login-shell {
    border-color: rgba(170, 199, 224, 0.14);
    background: #0d1a25;
    box-shadow: 0 36px 90px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark .auth-login-welcome {
    border: 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 107, 102, 0.20), transparent 26%),
        radial-gradient(circle at 8% 88%, rgba(101, 211, 111, 0.20), transparent 30%),
        linear-gradient(145deg, #075f92 0%, #096f79 48%, #0b6f10 100%);
}

html.travelnet-dark .auth-login-form-column {
    background:
        radial-gradient(circle at 90% 5%, rgba(21, 147, 15, 0.14), transparent 27%),
        #0d1a25;
}

html.travelnet-dark .auth-login-form-card {
    background: transparent;
}

html.travelnet-dark .auth-login-form-card .auth-card-heading h2,
html.travelnet-dark .auth-login-form label {
    color: #f3f8ff;
}

html.travelnet-dark .auth-login-form-card .auth-card-heading p:last-child {
    color: #aebdca;
}

html.travelnet-dark .auth-login-form-card .auth-card-heading > span {
    border-color: rgba(124, 192, 238, 0.12);
    background: linear-gradient(145deg, rgba(8, 121, 201, 0.22), rgba(21, 147, 15, 0.28));
    color: #b8efba;
}

html.travelnet-dark .auth-login-form-kicker,
html.travelnet-dark .auth-login-label-row a,
html.travelnet-dark .auth-login-new-account a {
    color: #a9e9ac !important;
}

html.travelnet-dark .auth-login-form input {
    border-color: rgba(170, 199, 224, 0.20);
    background: #09131c;
    color: #f3f8ff;
}

html.travelnet-dark .auth-login-form input:hover,
html.travelnet-dark .auth-login-form input:focus {
    border-color: rgba(127, 214, 126, 0.64);
    background: #0a1722;
}

html.travelnet-dark .auth-login-new-account {
    border-color: rgba(170, 199, 224, 0.15);
    background: rgba(255, 255, 255, 0.035);
    color: #9faebb;
}

html.travelnet-dark .auth-login-reassurance {
    color: #8fa0ae !important;
}

@media (max-width: 980px) {
    .auth-login-shell {
        grid-template-columns: 1fr;
        max-width: 720px;
    }

    .auth-login-welcome {
        grid-template-columns: minmax(0, 1fr) 240px;
        grid-template-rows: auto auto;
        min-height: 430px;
        padding: 40px;
    }

    .auth-login-illustration {
        grid-column: 2;
        grid-row: 1;
        min-height: 240px;
    }

    .auth-login-benefits {
        grid-column: 1 / -1;
    }

    .auth-login-form-column {
        padding: 42px;
    }
}

@media (max-width: 680px) {
    .auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) {
        padding: 18px 12px 46px;
    }

    .auth-login-shell {
        border-radius: 26px;
    }

    .auth-login-welcome {
        display: block;
        min-height: 0;
        padding: 26px 24px 20px;
    }

    .auth-login-welcome h1 {
        margin: 12px 0 10px;
        font-size: clamp(36px, 11vw, 46px);
    }

    .auth-login-welcome p {
        font-size: 14px;
        line-height: 1.48;
    }

    .auth-login-welcome .auth-status-row {
        margin-top: 16px;
    }

    .auth-login-welcome .auth-status-row span:nth-child(2) {
        display: none;
    }

    .auth-login-illustration {
        min-height: 118px;
        margin: 4px 0 0;
    }

    .auth-login-sun {
        top: 12px;
        right: 22%;
        width: 52px;
        height: 52px;
    }

    .auth-login-cloud--one {
        top: 30px;
        left: 4px;
        transform: scale(0.62);
    }

    .auth-login-cloud--two {
        display: none;
    }

    .auth-login-flight-path {
        top: 45px;
        left: 64px;
        width: 180px;
        height: 72px;
    }

    .auth-login-plane {
        top: 50px;
        right: 12%;
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    .auth-login-plane .icon {
        width: 24px;
        height: 24px;
    }

    .auth-login-suitcase {
        bottom: 0;
        width: 62px;
        height: 72px;
        border-radius: 16px;
    }

    .auth-login-suitcase-handle {
        top: -18px;
        left: 17px;
        width: 24px;
        height: 20px;
        border-width: 5px;
    }

    .auth-login-suitcase .icon {
        width: 28px;
        height: 28px;
    }

    .auth-login-land {
        bottom: -88px;
    }

    .auth-login-benefits {
        display: none;
    }

    .auth-login-form-column {
        padding: 30px 22px 32px;
    }

    .auth-login-form-card .auth-card-heading {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
    }

    .auth-login-form-card .auth-card-heading > span {
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    .auth-login-form-card .auth-card-heading h2 {
        font-size: 27px;
    }

    .auth-login-label-row {
        align-items: baseline;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-login-submit {
        transition: none;
    }
}

.admin-console-page {
    min-height: calc(100vh - 92px);
    padding: 0;
    background:
        radial-gradient(circle at 18% 10%, rgba(25, 191, 83, 0.18), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(8, 121, 201, 0.10), transparent 28%),
        linear-gradient(135deg, #020806 0%, #05130f 44%, #010403 100%);
    color: #edf6ef;
}

body.has-admin-console .site-header,
body.has-admin-console .site-footer {
    display: none;
}

body.has-admin-console .site-main {
    max-width: none;
    padding: 0;
}

.admin-console-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    width: 100%;
    min-height: 100vh;
}

.admin-console-sidebar {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    gap: 20px;
    min-width: 0;
    padding: 28px 20px;
    border-right: 1px solid rgba(150, 255, 174, 0.14);
    background:
        linear-gradient(180deg, rgba(4, 18, 13, 0.94), rgba(2, 8, 7, 0.98)),
        rgba(4, 13, 10, 0.96);
    box-shadow: 18px 0 46px rgba(0, 0, 0, 0.28);
}

.admin-console-brand {
    display: inline-grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: #f4fff4;
    text-decoration: none;
}

.admin-console-brand-mark {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(45, 221, 95, 0.22), rgba(18, 83, 42, 0.42));
    color: #35f078;
    box-shadow: 0 18px 42px rgba(30, 214, 92, 0.18);
}

.admin-console-brand .icon {
    width: 28px;
    height: 28px;
}

.admin-console-brand strong {
    display: block;
    font-size: 28px;
    line-height: 1;
}

.admin-console-brand small {
    display: block;
    margin-top: 5px;
    color: rgba(237, 246, 239, 0.58);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.admin-console-nav {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
}

.admin-console-nav-label {
    margin: 16px 12px 6px;
    color: rgba(237, 246, 239, 0.44);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-console-nav a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: rgba(237, 246, 239, 0.78);
    font-weight: 850;
    text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.admin-console-nav a:hover,
.admin-console-nav a:focus-visible,
.admin-console-nav a.is-active {
    border-color: rgba(53, 240, 120, 0.38);
    background: linear-gradient(135deg, rgba(25, 191, 83, 0.28), rgba(14, 72, 34, 0.36));
    color: #f4fff4;
    transform: translateX(2px);
}

.admin-console-nav .icon {
    width: 19px;
    height: 19px;
    color: #4ff083;
}

.admin-console-promo {
    display: grid;
    gap: 10px;
    min-height: 150px;
    padding: 20px;
    border: 1px solid rgba(53, 240, 120, 0.18);
    border-radius: 14px;
    background:
        radial-gradient(circle at 80% 80%, rgba(53, 240, 120, 0.40), transparent 34%),
        linear-gradient(135deg, rgba(7, 41, 22, 0.94), rgba(3, 10, 9, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 18px 42px rgba(0, 0, 0, 0.25);
}

.admin-console-promo strong {
    color: #f4fff4;
    font-size: 20px;
    line-height: 1.18;
}

.admin-console-promo small,
.admin-console-profile small,
.admin-console-page p,
.admin-console-stat-card em,
.admin-console-quick-actions small,
.admin-console-user-cell small {
    color: rgba(237, 246, 239, 0.64);
}

.admin-console-profile {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid rgba(150, 255, 174, 0.14);
}

.admin-console-profile > span,
.admin-console-user-cell > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: linear-gradient(135deg, #166d35, #0b3424);
    color: #dcffe2;
    font-weight: 950;
}

.admin-console-profile strong,
.admin-console-user-cell strong,
.admin-console-quick-actions strong {
    display: block;
    color: #f4fff4;
}

.admin-console-main {
    min-width: 0;
}

.admin-console-topbar {
    position: relative;
    z-index: 70;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
    padding: 18px 32px;
    border-bottom: 1px solid rgba(150, 255, 174, 0.12);
    background: rgba(1, 7, 5, 0.46);
    backdrop-filter: blur(18px);
}

.admin-console-search {
    display: inline-grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: min(420px, 100%);
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 999px;
    background: rgba(4, 13, 10, 0.74);
    color: rgba(237, 246, 239, 0.62);
}

.admin-console-search.is-compact {
    width: min(360px, 100%);
    border-radius: 10px;
}

.admin-console-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f4fff4;
    font: inherit;
    font-weight: 800;
}

.admin-console-search input::placeholder {
    color: rgba(237, 246, 239, 0.48);
}

.admin-console-top-actions,
.admin-console-row-actions,
.admin-console-table-tools,
.admin-console-pagination > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-console-top-actions .admin-console-bot-button.travelbot-link,
.admin-console-top-actions .admin-console-filter-button.account-menu-toggle {
    gap: 7px;
    min-height: 34px;
    padding: 5px 10px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.72);
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
    transform: none;
}

.admin-console-top-actions .admin-console-bot-button.travelbot-link {
    padding: 5px 9px;
}

.admin-console-top-actions .theme-toggle {
    flex: 0 0 auto;
}

.admin-console-top-actions .admin-console-bot-button.travelbot-link .icon,
.admin-console-top-actions .admin-console-filter-button.account-menu-toggle .icon {
    width: 16px;
    height: 16px;
}

.admin-console-top-actions .admin-console-bot-button.travelbot-link:hover,
.admin-console-top-actions .admin-console-bot-button.travelbot-link:focus-visible,
.admin-console-top-actions .admin-console-filter-button.account-menu-toggle:hover,
.admin-console-top-actions .admin-console-filter-button.account-menu-toggle:focus-visible {
    border-color: rgba(21, 147, 15, 0.32);
    background: rgba(233, 248, 231, 0.95);
    color: var(--green-dark);
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.12);
    outline: none;
    transform: none;
}

html.travelnet-dark .admin-console-top-actions .admin-console-bot-button.travelbot-link,
html.travelnet-dark .admin-console-top-actions .admin-console-filter-button.account-menu-toggle {
    border-color: rgba(127, 214, 126, 0.26);
    background: rgba(20, 49, 27, 0.78);
    color: #d9f8d8;
}

html.travelnet-dark .admin-console-top-actions .admin-console-bot-button.travelbot-link:hover,
html.travelnet-dark .admin-console-top-actions .admin-console-bot-button.travelbot-link:focus-visible,
html.travelnet-dark .admin-console-top-actions .admin-console-filter-button.account-menu-toggle:hover,
html.travelnet-dark .admin-console-top-actions .admin-console-filter-button.account-menu-toggle:focus-visible {
    border-color: rgba(127, 214, 126, 0.38);
    background: rgba(31, 69, 39, 0.88);
    color: #dfffe0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

.admin-console-icon-button,
.admin-console-bot-button,
.admin-console-primary-button,
.admin-console-filter-button,
.admin-console-small-action,
.admin-console-pagination button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 10px;
    background: rgba(4, 18, 13, 0.72);
    color: #f4fff4;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.admin-console-icon-button {
    width: 42px;
    padding: 0;
}

.admin-console-bot-button,
.admin-console-primary-button,
.admin-console-filter-button,
.admin-console-small-action {
    padding: 0 15px;
}

.admin-console-primary-button {
    border-color: rgba(53, 240, 120, 0.34);
    background: linear-gradient(135deg, #0e8f3b, #064d24);
    box-shadow: 0 16px 30px rgba(8, 143, 59, 0.24);
}

.admin-console-icon-button:hover,
.admin-console-bot-button:hover,
.admin-console-primary-button:hover,
.admin-console-filter-button:hover,
.admin-console-small-action:hover,
.admin-console-pagination button:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(53, 240, 120, 0.44);
    background: rgba(11, 48, 27, 0.86);
}

.admin-console-content {
    display: grid;
    gap: 20px;
    padding: 28px 32px 36px;
}

.admin-console-page-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
}

.admin-console-page-heading h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 6px 0 8px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-console-heading-badge,
.admin-console-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid rgba(53, 240, 120, 0.20);
    border-radius: 999px;
    background: rgba(8, 57, 27, 0.68);
    color: #7dff9b;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.admin-console-result {
    border-color: rgba(53, 240, 120, 0.22);
    background: rgba(6, 29, 18, 0.82);
}

.admin-console-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.admin-console-stat-card,
.admin-console-panel {
    min-width: 0;
    border: 1px solid rgba(150, 255, 174, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(5, 19, 14, 0.82);
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.admin-console-stat-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 84px;
    gap: 12px 16px;
    align-items: center;
    min-height: 136px;
    padding: 22px;
    overflow: hidden;
}

.admin-console-stat-card > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(25, 191, 83, 0.28), rgba(11, 68, 32, 0.74));
    color: #35f078;
}

.admin-console-stat-card.is-warning > span {
    background: linear-gradient(135deg, rgba(244, 196, 48, 0.22), rgba(63, 55, 12, 0.72));
    color: #f4c430;
}

.admin-console-stat-card.is-purple > span {
    background: linear-gradient(135deg, rgba(138, 92, 246, 0.22), rgba(49, 28, 92, 0.72));
    color: #b88cff;
}

.admin-console-stat-card small {
    color: rgba(237, 246, 239, 0.72);
    font-weight: 850;
}

.admin-console-stat-card strong {
    color: #f4fff4;
    font-size: 27px;
    line-height: 1.05;
}

.admin-console-stat-card em {
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.admin-console-stat-card em .icon {
    width: 13px;
    height: 13px;
    margin-right: 5px;
    vertical-align: -2px;
}

.admin-console-stat-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.admin-console-stat-spark {
    display: flex;
    align-items: end;
    justify-content: end;
    gap: 4px;
    height: 58px;
    padding: 8px 7px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(53, 240, 120, 0.12), rgba(53, 240, 120, 0.02));
}

.admin-console-stat-spark i {
    display: block;
    width: 9px;
    border-radius: 999px 999px 3px 3px;
    background: #35f078;
    box-shadow: 0 0 18px rgba(53, 240, 120, 0.45);
}

.admin-console-stat-spark i:nth-child(1) { height: 18px; }
.admin-console-stat-spark i:nth-child(2) { height: 23px; }
.admin-console-stat-spark i:nth-child(3) { height: 32px; }
.admin-console-stat-spark i:nth-child(4) { height: 27px; }
.admin-console-stat-spark i:nth-child(5) { height: 38px; }

.admin-console-stat-spark.is-yellow {
    background: linear-gradient(180deg, rgba(244, 196, 48, 0.13), rgba(244, 196, 48, 0.02));
}

.admin-console-stat-spark.is-yellow i {
    background: #f4c430;
    box-shadow: 0 0 18px rgba(244, 196, 48, 0.35);
}

.admin-console-stat-spark.is-blue {
    background: linear-gradient(180deg, rgba(22, 163, 244, 0.13), rgba(22, 163, 244, 0.02));
}

.admin-console-stat-spark.is-blue i {
    background: #16a3f4;
    box-shadow: 0 0 18px rgba(22, 163, 244, 0.35);
}

.admin-console-stat-spark.is-purple {
    background: linear-gradient(180deg, rgba(138, 92, 246, 0.13), rgba(138, 92, 246, 0.02));
}

.admin-console-stat-spark.is-purple i {
    background: #8a5cf6;
    box-shadow: 0 0 18px rgba(138, 92, 246, 0.35);
}

.admin-console-dashboard-grid,
.admin-console-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
    gap: 20px;
    align-items: start;
}

.admin-console-panel {
    padding: 22px;
}

.admin-console-panel h2 {
    margin: 0;
    color: #f4fff4;
    font-size: 18px;
}

.admin-console-panel-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.admin-console-panel-heading a,
.admin-console-action-grid a,
.admin-console-quick-actions a {
    color: inherit;
    text-decoration: none;
}

.admin-console-panel-heading a {
    color: #7dff9b;
    font-weight: 900;
}

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

.admin-console-action-grid a,
.admin-console-quick-actions a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 78px;
    padding: 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.48);
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.admin-console-action-grid a:hover,
.admin-console-quick-actions a:hover {
    transform: translateY(-1px);
    border-color: rgba(53, 240, 120, 0.28);
    background: rgba(8, 44, 24, 0.54);
}

.admin-console-action-grid .icon,
.admin-console-quick-actions .icon {
    width: 22px;
    height: 22px;
    color: #35f078;
}

.admin-console-health-list,
.admin-console-quick-actions {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.admin-console-health-list span {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-console-health-list strong {
    color: #f4fff4;
}

.admin-console-health-list small {
    color: rgba(237, 246, 239, 0.62);
    font-weight: 800;
}

.admin-console-approval-list {
    display: grid;
    gap: 12px;
}

.admin-console-approval-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-console-approval-card strong {
    display: block;
    color: #f4fff4;
}

.admin-console-approval-card small,
.admin-console-approval-card p {
    color: rgba(237, 246, 239, 0.64);
}

.admin-console-approval-card p {
    margin: 7px 0 0;
}

.admin-console-approval-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-console-decline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-console-decline-form input {
    min-height: 42px;
    width: min(210px, 100%);
    padding: 0 12px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 10px;
    background: rgba(4, 13, 10, 0.74);
    color: #f4fff4;
    font: inherit;
    font-weight: 800;
}

.admin-console-cleanup-heading {
    margin-top: 24px;
}

.admin-pending-heading {
    align-items: end;
}

.admin-pending-workspace {
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, 0.52fr);
}

.admin-pending-requests-panel {
    padding: 18px;
}

.admin-pending-table th:nth-child(1),
.admin-pending-table td:nth-child(1) {
    width: 27%;
}

.admin-pending-table th:nth-child(2),
.admin-pending-table td:nth-child(2) {
    width: 15%;
}

.admin-pending-table th:nth-child(3),
.admin-pending-table td:nth-child(3) {
    width: 17%;
}

.admin-pending-table th:nth-child(4),
.admin-pending-table td:nth-child(4) {
    width: 16%;
}

.admin-pending-table th:nth-child(5),
.admin-pending-table td:nth-child(5) {
    width: 25%;
}

.admin-pending-date {
    display: block;
    color: rgba(237, 246, 239, 0.82);
}

.admin-pending-table td > small {
    display: block;
    margin-top: 4px;
    color: rgba(237, 246, 239, 0.48);
}

.admin-console-empty-row {
    display: grid;
    gap: 5px;
    padding: 14px 0;
}

.admin-console-empty-row strong {
    color: #f4fff4;
}

.admin-console-empty-row small {
    color: rgba(237, 246, 239, 0.62);
}

.admin-console-user-tools {
    display: grid;
    gap: 16px;
    margin-bottom: 16px;
}

.admin-console-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.admin-console-tabs button {
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: rgba(237, 246, 239, 0.72);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.admin-console-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: rgba(237, 246, 239, 0.72);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.admin-console-tabs button.is-active,
.admin-console-tabs a.is-active {
    border-color: rgba(53, 240, 120, 0.26);
    background: linear-gradient(135deg, #0e8f3b, #064d24);
    color: #f4fff4;
}

.admin-console-tabs span,
.admin-console-tabs a span {
    margin-left: 5px;
    color: rgba(237, 246, 239, 0.68);
}

.admin-console-table-tools {
    justify-content: space-between;
}

.admin-console-filter-form {
    display: flex;
    flex: 1 1 360px;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.admin-console-filter-button.is-active {
    border-color: rgba(53, 240, 120, 0.34);
    background: linear-gradient(135deg, #0e8f3b, #064d24);
    color: #f4fff4;
}

.admin-console-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
}

.admin-console-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.admin-console-table th,
.admin-console-table td {
    padding: 15px 14px;
    border-bottom: 1px solid rgba(150, 255, 174, 0.10);
    text-align: left;
    vertical-align: middle;
}

.admin-console-table th {
    color: rgba(237, 246, 239, 0.58);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-console-table td {
    color: rgba(237, 246, 239, 0.74);
    font-size: 13px;
    font-weight: 800;
}

.admin-console-table tr:last-child td {
    border-bottom: 0;
}

.admin-console-table th:nth-child(1),
.admin-console-table td:nth-child(1) {
    width: 34%;
}

.admin-console-table th:nth-child(2),
.admin-console-table td:nth-child(2),
.admin-console-table th:nth-child(3),
.admin-console-table td:nth-child(3) {
    width: 14%;
}

.admin-console-table th:nth-child(4),
.admin-console-table td:nth-child(4) {
    width: 18%;
}

.admin-console-table th:nth-child(5),
.admin-console-table td:nth-child(5) {
    width: 20%;
}

@media (min-width: 769px) {
    [data-auth-page="admin-users"] .admin-console-table th:nth-child(1),
    [data-auth-page="admin-users"] .admin-console-table td:nth-child(1) {
        width: 31%;
    }

    [data-auth-page="admin-users"] .admin-console-table th:nth-child(2),
    [data-auth-page="admin-users"] .admin-console-table td:nth-child(2) {
        width: 27%;
    }

    [data-auth-page="admin-users"] .admin-console-table th:nth-child(3),
    [data-auth-page="admin-users"] .admin-console-table td:nth-child(3) {
        width: 11%;
    }

    [data-auth-page="admin-users"] .admin-console-table th:nth-child(4),
    [data-auth-page="admin-users"] .admin-console-table td:nth-child(4) {
        width: 18%;
    }

    [data-auth-page="admin-users"] .admin-console-table th:nth-child(5),
    [data-auth-page="admin-users"] .admin-console-table td:nth-child(5) {
        width: 13%;
    }
}

[data-auth-page="admin-users"] .admin-console-table td[data-label="Role"] .admin-console-badge {
    box-sizing: border-box;
    max-width: 100%;
    border-radius: 16px;
    line-height: 1.25;
    white-space: normal;
}

.admin-console-user-cell {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.admin-console-user-cell strong,
.admin-console-user-cell small {
    overflow-wrap: anywhere;
}

.admin-console-badge.is-role-admin,
.admin-console-badge.is-status-active {
    border-color: rgba(53, 240, 120, 0.24);
    background: rgba(11, 78, 35, 0.62);
    color: #7dff9b;
}

.admin-console-badge {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.admin-console-badge.is-role-agent,
.admin-console-badge.is-role-affiliate {
    border-color: rgba(138, 92, 246, 0.24);
    background: rgba(57, 32, 111, 0.58);
    color: #c4a3ff;
}

.admin-console-badge.is-role-customer {
    border-color: rgba(125, 211, 252, 0.20);
    background: rgba(5, 28, 42, 0.62);
    color: #7dd3fc;
}

.admin-console-badge.is-status-disabled {
    border-color: rgba(248, 113, 113, 0.24);
    background: rgba(82, 22, 22, 0.58);
    color: #ff9c9c;
}

.admin-console-badge.is-status-pending,
.admin-console-badge.is-status-approved {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-console-badge.is-status-new-request,
.admin-console-badge.is-status-auto-approve-eligible {
    border-color: rgba(53, 240, 120, 0.24);
    background: rgba(11, 78, 35, 0.62);
    color: #7dff9b;
}

.admin-console-badge.is-status-requires-review {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-console-row-actions {
    flex-wrap: wrap;
}

.admin-console-row-actions .auth-row-check {
    width: 18px;
    height: 18px;
    accent-color: #35f078;
}

.admin-console-row-actions .auth-inline-form {
    display: inline-flex;
}

.admin-pending-row-actions {
    flex-wrap: nowrap;
    gap: 8px;
}

.admin-console-approve-button {
    border-color: rgba(53, 240, 120, 0.28);
    background: rgba(8, 118, 50, 0.72);
    color: #dcffe2;
}

.admin-console-decline-button {
    border-color: rgba(248, 113, 113, 0.22);
    background: rgba(112, 28, 28, 0.68);
    color: #ffc9c9;
}

.admin-pending-row-actions .admin-console-small-action {
    min-height: 36px;
    padding: 0 10px;
    font-size: 12px;
}

.admin-pending-row-actions .admin-console-icon-button {
    width: 36px;
    min-height: 36px;
}

.admin-console-small-action .icon {
    width: 14px;
    height: 14px;
}

.admin-console-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    color: rgba(237, 246, 239, 0.62);
    font-size: 13px;
    font-weight: 850;
}

.admin-console-pagination button {
    width: 36px;
    min-height: 36px;
    padding: 0;
}

.admin-console-pagination button.is-active {
    background: linear-gradient(135deg, #0e8f3b, #064d24);
    color: #f4fff4;
}

.admin-console-pagination button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.admin-console-rail {
    display: grid;
    gap: 20px;
}

.admin-console-role-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 22px;
}

.admin-console-donut {
    position: relative;
    width: 154px;
    aspect-ratio: 1;
    border-radius: 999px;
    box-shadow: 0 18px 44px rgba(53, 240, 120, 0.20), 0 0 28px rgba(138, 92, 246, 0.18);
}

.admin-console-donut span {
    position: absolute;
    inset: 38px;
    border-radius: inherit;
    background: #06120e;
    box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.7);
}

.admin-console-role-list {
    display: grid;
    gap: 12px;
}

.admin-console-role-list span {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    color: rgba(237, 246, 239, 0.78);
    font-size: 13px;
    font-weight: 850;
}

.admin-console-role-list i {
    width: 11px;
    height: 11px;
    border-radius: 3px;
}

.admin-console-role-list i.is-green {
    background: #35d467;
}

.admin-console-role-list i.is-blue {
    background: #16a3f4;
}

.admin-console-role-list i.is-purple {
    background: #8a5cf6;
}

.admin-console-role-list i.is-yellow {
    background: #f4c430;
}

.admin-console-role-list em {
    color: rgba(237, 246, 239, 0.68);
    font-style: normal;
}

.admin-console-overview-card {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 18px;
}

.admin-console-overview-donut {
    position: relative;
    width: 124px;
    aspect-ratio: 1;
    border-radius: 999px;
    box-shadow: 0 16px 38px rgba(53, 240, 120, 0.18), 0 0 28px rgba(138, 92, 246, 0.18);
}

.admin-console-overview-donut > span {
    position: absolute;
    inset: 31px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: inherit;
    background: #06120e;
    box-shadow: inset 0 0 22px rgba(0, 0, 0, 0.72);
}

.admin-console-overview-donut strong {
    color: #f4fff4;
    font-size: 22px;
    line-height: 1;
}

.admin-console-overview-donut small {
    color: rgba(237, 246, 239, 0.58);
    font-size: 9px;
    font-weight: 900;
    text-align: center;
}

.admin-console-overview-list {
    gap: 11px;
}

.admin-console-tip-panel {
    display: grid;
    gap: 12px;
}

.admin-console-tip-panel h2 {
    display: flex;
    gap: 8px;
    align-items: center;
}

.admin-console-tip-panel h2 .icon {
    width: 18px;
    height: 18px;
    color: #35f078;
}

.admin-console-tip-panel p {
    margin: 0;
}

.admin-console-hidden-cleanup {
    display: none;
}

.admin-dashboard-content {
    gap: 18px;
}

.admin-dashboard-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 24px;
    align-items: center;
    min-height: 180px;
    overflow: hidden;
    padding: 30px 34px;
}

.admin-dashboard-hero h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 6px 0 10px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-dashboard-hero p {
    max-width: 680px;
    margin: 0;
}

.admin-dashboard-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.admin-dashboard-orbit {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 130px;
    color: #35f078;
}

.admin-dashboard-orbit span {
    position: absolute;
    width: 210px;
    height: 98px;
    border: 1px solid rgba(53, 240, 120, 0.34);
    border-left-color: transparent;
    border-bottom-color: rgba(53, 240, 120, 0.12);
    border-radius: 50%;
    transform: rotate(-16deg);
    box-shadow: 0 0 46px rgba(53, 240, 120, 0.18);
}

.admin-dashboard-orbit::before {
    content: "";
    position: absolute;
    width: 136px;
    aspect-ratio: 1;
    border-radius: 999px;
    background:
        radial-gradient(circle at 34% 30%, rgba(53, 240, 120, 0.38), transparent 10%),
        radial-gradient(circle at 66% 44%, rgba(53, 240, 120, 0.24), transparent 13%),
        radial-gradient(circle at 50% 50%, rgba(53, 240, 120, 0.32), rgba(5, 30, 18, 0.10) 62%, transparent 63%);
    opacity: 0.74;
}

.admin-dashboard-orbit .icon {
    position: relative;
    right: 78px;
    width: 36px;
    height: 36px;
    transform: rotate(-18deg);
    filter: drop-shadow(0 0 12px rgba(53, 240, 120, 0.45));
}

.admin-dashboard-request-list,
.admin-dashboard-booking-list,
.admin-dashboard-timeline {
    display: grid;
    gap: 12px;
}

.admin-dashboard-request-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 15px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-dashboard-request-card > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: linear-gradient(135deg, #166d35, #0b3424);
    color: #dcffe2;
    font-weight: 950;
}

.admin-dashboard-request-card strong,
.admin-dashboard-booking-row strong,
.admin-dashboard-timeline strong {
    display: block;
    color: #f4fff4;
}

.admin-dashboard-request-card small,
.admin-dashboard-timeline small {
    color: rgba(237, 246, 239, 0.64);
    font-weight: 800;
}

.admin-dashboard-request-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.admin-dashboard-booking-row {
    display: grid;
    grid-template-columns: minmax(130px, 0.95fr) minmax(80px, 0.55fr) minmax(90px, 0.55fr) minmax(180px, 1.2fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
    color: inherit;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.admin-dashboard-booking-row:hover,
.admin-dashboard-booking-row:focus-visible {
    border-color: rgba(53, 240, 120, 0.38);
    background: rgba(7, 39, 24, 0.70);
    outline: none;
    transform: translateY(-1px);
}

.admin-dashboard-booking-row > span {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
    font-size: 11px;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.admin-dashboard-booking-row em {
    color: rgba(237, 246, 239, 0.74);
    font-style: normal;
    font-weight: 900;
}

.admin-dashboard-booking-payment {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 3px 8px;
    min-width: 0;
    color: rgba(237, 246, 239, 0.82);
    font-size: 11px;
    font-weight: 850;
}

.admin-dashboard-booking-payment small {
    color: rgba(237, 246, 239, 0.52);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-dashboard-booking-payment span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-dashboard-timeline article {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 13px 0;
    border-bottom: 1px solid rgba(150, 255, 174, 0.10);
}

.admin-dashboard-timeline article:last-child {
    border-bottom: 0;
}

.admin-dashboard-timeline i {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 999px;
    background: #35f078;
    box-shadow: 0 0 18px rgba(53, 240, 120, 0.55);
}

.admin-dashboard-timeline time {
    color: rgba(237, 246, 239, 0.56);
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.admin-dashboard-lower-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
}

.admin-permissions-topbar {
    min-height: 72px;
    padding: 16px 28px;
}

.admin-permissions-topnav,
.admin-permissions-page .admin-console-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-permissions-topnav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(150, 255, 174, 0.18);
    border-radius: 999px;
    background: rgba(4, 18, 13, 0.62);
    color: #f4fff4;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.admin-permissions-avatar {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #15934a, #0a5830);
    color: #dcffe2;
    font-size: 13px;
    font-weight: 950;
}

.admin-permissions-content {
    gap: 18px;
    padding: 28px 30px 44px;
}

.admin-permissions-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 24px;
    align-items: center;
    min-height: 220px;
    overflow: hidden;
    padding: 34px 40px;
    background:
        radial-gradient(circle at 72% 18%, rgba(53, 240, 120, 0.18), transparent 26%),
        radial-gradient(circle at 94% 50%, rgba(53, 240, 120, 0.13), transparent 24%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.96), rgba(4, 13, 12, 0.92)),
        rgba(5, 19, 14, 0.82);
}

.admin-permissions-hero h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 12px 0 12px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-permissions-hero h1 .icon {
    width: 24px;
    height: 24px;
    color: #35f078;
    filter: drop-shadow(0 0 12px rgba(53, 240, 120, 0.5));
}

.admin-permissions-security-orbit {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 164px;
}

.admin-permissions-security-orbit span {
    position: absolute;
    width: 270px;
    height: 100px;
    border: 2px solid rgba(53, 240, 120, 0.34);
    border-left-color: transparent;
    border-bottom-color: rgba(53, 240, 120, 0.12);
    border-radius: 50%;
    transform: rotate(-8deg);
    box-shadow: 0 0 34px rgba(53, 240, 120, 0.25);
}

.admin-permissions-security-orbit span::before,
.admin-permissions-security-orbit span::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: #35f078;
    box-shadow: 0 0 18px rgba(53, 240, 120, 0.8);
}

.admin-permissions-security-orbit span::before {
    right: 20px;
    top: 28px;
    width: 10px;
    height: 10px;
}

.admin-permissions-security-orbit span::after {
    left: 58px;
    bottom: 18px;
    width: 7px;
    height: 7px;
}

.admin-permissions-security-orbit i {
    position: relative;
    display: grid;
    place-items: center;
    width: 112px;
    aspect-ratio: 1;
    border: 1px solid rgba(53, 240, 120, 0.28);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(25, 191, 83, 0.36), rgba(5, 31, 20, 0.92)),
        rgba(6, 39, 22, 0.8);
    color: #35f078;
    box-shadow:
        0 20px 58px rgba(53, 240, 120, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transform: rotate(45deg);
}

.admin-permissions-security-orbit i .icon {
    width: 46px;
    height: 46px;
    filter: drop-shadow(0 0 14px rgba(53, 240, 120, 0.7));
    transform: rotate(-45deg);
}

.admin-permissions-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.admin-permissions-stack {
    display: grid;
    gap: 18px;
    align-content: start;
    min-width: 0;
}

.admin-permissions-page .admin-console-panel {
    border-radius: 12px;
    min-height: 0;
}

.admin-permissions-page .auth-debug-card {
    align-content: start;
    padding: 22px;
}

.admin-permissions-page .auth-debug-card h2 {
    color: #f4fff4;
    font-size: 18px;
}

.admin-permissions-page .auth-table-scroll {
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.42);
}

.admin-permissions-page .auth-table {
    min-width: 0;
    table-layout: fixed;
}

.auth-page.admin-permissions-page[data-auth-page="admin-debug"] .auth-table {
    min-width: 0;
}

.admin-permissions-page .auth-table th,
.admin-permissions-page .auth-table td {
    width: auto;
    padding: 12px 10px;
    border-bottom-color: rgba(150, 255, 174, 0.10);
    color: rgba(237, 246, 239, 0.76);
    font-size: 12px;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-permissions-page .auth-table tr:last-child td {
    border-bottom: 0;
}

.admin-permissions-page .auth-table th {
    background: rgba(3, 13, 10, 0.82);
    color: rgba(237, 246, 239, 0.68);
}

.admin-permissions-page .auth-table td strong,
.admin-permissions-page .auth-debug-list dd {
    color: #f4fff4;
}

.admin-permissions-page .auth-role-overview-table th:first-child,
.admin-permissions-page .auth-role-overview-table td:first-child {
    width: 58px;
    text-align: center;
}

.admin-permissions-page .auth-role-overview-table th:nth-child(2),
.admin-permissions-page .auth-role-overview-table td:nth-child(2) {
    width: 160px;
}

.admin-permissions-page .auth-role-overview-table th {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 10px;
    white-space: nowrap;
}

.admin-permissions-page .auth-role-overview-table td {
    padding-left: 7px;
    padding-right: 7px;
}

.admin-permissions-page .admin-permissions-role-card .auth-table-scroll {
    min-height: 0;
}

.admin-permissions-page .auth-role-assignment-table th:first-child,
.admin-permissions-page .auth-role-assignment-table td:first-child {
    width: 23%;
    text-align: left;
}

.admin-permissions-page .auth-role-assignment-table th:nth-child(2),
.admin-permissions-page .auth-role-assignment-table td:nth-child(2) {
    width: 28%;
}

.admin-permissions-page .auth-role-assignment-table th:nth-child(3),
.admin-permissions-page .auth-role-assignment-table td:nth-child(3) {
    width: 13%;
}

.admin-permissions-page .auth-role-assignment-table th:nth-child(4),
.admin-permissions-page .auth-role-assignment-table td:nth-child(4) {
    width: 23%;
}

.admin-permissions-page .auth-role-assignment-table th:nth-child(5),
.admin-permissions-page .auth-role-assignment-table td:nth-child(5) {
    width: 13%;
}

.admin-permissions-page .auth-role-assignment-table td:nth-child(4) .auth-table-subtext {
    font-size: 10px;
    white-space: nowrap;
}

.admin-permissions-page .auth-permission-pill,
.admin-permissions-page .auth-permission-dot {
    min-width: 27px;
    min-height: 24px;
    padding: 3px 5px;
    border-color: rgba(53, 240, 120, 0.22);
    background: rgba(10, 83, 36, 0.62);
    color: #7dff9b;
    font-size: 9px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.admin-permissions-page .auth-permission-pill.is-denied,
.admin-permissions-page .auth-permission-dot.is-denied {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-permissions-page .auth-debug-list div {
    grid-template-columns: 180px minmax(0, 1fr);
    border-color: rgba(150, 255, 174, 0.10);
    background: rgba(3, 13, 10, 0.48);
}

.admin-permissions-page .auth-debug-list dt {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: rgba(237, 246, 239, 0.62);
}

.admin-permissions-page .auth-debug-list dt .icon,
.admin-permissions-page .auth-safety-list .icon {
    width: 16px;
    height: 16px;
    color: #35f078;
}

.admin-permissions-page .auth-event-list div {
    grid-template-columns: 180px minmax(0, 1fr);
}

.admin-permissions-page .auth-event-list dt {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-permissions-page .auth-event-list dt .icon {
    flex: 0 0 auto;
    border-radius: 999px;
    color: #35f078;
}

.admin-permissions-page .auth-event-list .is-event-failed dt .icon {
    color: #ff5f5f;
}

.admin-permissions-page .auth-event-list .is-event-warning dt .icon {
    color: #f4d35e;
}

.admin-permissions-page .auth-safety-list {
    padding-left: 0;
    list-style: none;
}

.admin-permissions-page .auth-safety-list li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: rgba(237, 246, 239, 0.76);
}

.admin-permissions-page .auth-badge-status {
    min-width: 56px;
    white-space: nowrap;
    border-color: rgba(125, 211, 252, 0.22);
    background: rgba(5, 28, 42, 0.62);
    color: #7dd3fc;
    font-size: 9px;
}

.admin-permissions-page .auth-debug-forbidden {
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
}

.admin-permissions-page .auth-debug-forbidden h2 {
    display: flex;
    gap: 10px;
    align-items: center;
    grid-column: 1 / -1;
}

.admin-permissions-page .auth-debug-forbidden p {
    grid-column: 1 / -1;
}

.admin-permissions-promo {
    min-height: 178px;
}

.admin-permissions-promo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 9px;
    color: #f4fff4;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-audit-topbar {
    min-height: 72px;
    padding: 16px 28px;
}

.admin-audit-page .admin-console-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-audit-avatar {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #15934a, #0a5830);
    color: #dcffe2;
    font-size: 13px;
    font-weight: 950;
}

.admin-audit-content {
    gap: 18px;
    padding: 28px 30px 44px;
}

.admin-audit-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 320px);
    gap: 24px;
    align-items: center;
    min-height: 210px;
    overflow: hidden;
    padding: 34px 40px;
    background:
        radial-gradient(circle at 76% 18%, rgba(125, 211, 252, 0.18), transparent 26%),
        radial-gradient(circle at 94% 56%, rgba(53, 240, 120, 0.14), transparent 24%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.96), rgba(4, 13, 12, 0.92)),
        rgba(5, 19, 14, 0.82);
}

.admin-audit-hero h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 12px 0 12px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-audit-hero h1 .icon {
    width: 24px;
    height: 24px;
    color: #7dd3fc;
    filter: drop-shadow(0 0 12px rgba(125, 211, 252, 0.42));
}

.admin-audit-signal {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 154px;
}

.admin-audit-signal span {
    position: absolute;
    width: 260px;
    height: 94px;
    border: 2px solid rgba(125, 211, 252, 0.34);
    border-left-color: transparent;
    border-bottom-color: rgba(53, 240, 120, 0.13);
    border-radius: 50%;
    transform: rotate(-9deg);
    box-shadow: 0 0 36px rgba(125, 211, 252, 0.18);
}

.admin-audit-signal span::before,
.admin-audit-signal span::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: #35f078;
    box-shadow: 0 0 18px rgba(53, 240, 120, 0.8);
}

.admin-audit-signal span::before {
    right: 28px;
    top: 23px;
    width: 10px;
    height: 10px;
}

.admin-audit-signal span::after {
    left: 54px;
    bottom: 17px;
    width: 7px;
    height: 7px;
}

.admin-audit-signal i {
    position: relative;
    display: grid;
    place-items: center;
    width: 104px;
    aspect-ratio: 1;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(22, 163, 244, 0.28), rgba(5, 31, 29, 0.92)),
        rgba(6, 39, 32, 0.8);
    color: #7dd3fc;
    box-shadow:
        0 20px 58px rgba(22, 163, 244, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.admin-audit-signal i .icon {
    width: 44px;
    height: 44px;
    filter: drop-shadow(0 0 14px rgba(125, 211, 252, 0.6));
}

.admin-audit-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.admin-audit-stats .admin-console-stat-card {
    grid-template-columns: 58px minmax(0, 1fr);
}

.admin-audit-tabs {
    padding: 14px 16px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 12px;
    background: rgba(5, 19, 14, 0.58);
}

.admin-audit-tabs .icon {
    width: 15px;
    height: 15px;
}

.admin-audit-filter-panel {
    display: grid;
    gap: 12px;
}

.admin-audit-filter-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    padding: 16px;
    border: 1px solid rgba(125, 211, 252, 0.16);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(18, 27, 48, 0.74), rgba(25, 14, 42, 0.62));
}

.admin-audit-filter-form label {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-audit-filter-form label > span {
    color: rgba(237, 246, 239, 0.68);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-audit-filter-form input,
.admin-audit-filter-form select {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid rgba(125, 211, 252, 0.18);
    border-radius: 10px;
    background: rgba(3, 10, 18, 0.72);
    color: #f8fbff;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
}

.admin-audit-filter-actions {
    display: flex;
    gap: 9px;
    align-items: center;
}

.admin-audit-filter-actions a,
.admin-audit-group-actions > a,
.admin-audit-next-page {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(196, 181, 253, 0.24);
    border-radius: 10px;
    color: #ddd6fe;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-audit-reader-notice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 13px 16px;
    border: 1px solid rgba(244, 196, 48, 0.24);
    border-radius: 13px;
    background: rgba(49, 37, 9, 0.58);
    color: #f8e49a;
}

.admin-audit-reader-notice > .icon {
    width: 24px;
    height: 24px;
}

.admin-audit-reader-notice strong,
.admin-audit-reader-notice span {
    display: block;
}

.admin-audit-reader-notice span {
    margin-top: 3px;
    color: rgba(255, 246, 209, 0.72);
    font-size: 12px;
    font-weight: 750;
}

.admin-audit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.admin-audit-feed-panel {
    padding: 18px;
}

.admin-audit-feed-panel .admin-console-panel-heading > div {
    display: grid;
    gap: 4px;
}

.admin-audit-feed-panel .admin-console-panel-heading small {
    color: rgba(237, 246, 239, 0.58);
    font-size: 12px;
    font-weight: 750;
}

.admin-audit-feed,
.admin-audit-rail,
.admin-audit-attention-list,
.admin-audit-source-list {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.admin-audit-support-panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-audit-support-panel {
    padding: 16px;
}

.admin-audit-support-panel > summary {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    color: #f8fbff;
    cursor: pointer;
    list-style-position: inside;
}

.admin-audit-support-panel > summary > .icon {
    width: 20px;
    height: 20px;
    color: #c4b5fd;
}

.admin-audit-support-panel > summary span,
.admin-audit-support-panel > summary strong,
.admin-audit-support-panel > summary small {
    display: block;
}

.admin-audit-support-panel > summary small {
    margin-top: 3px;
    color: rgba(237, 246, 239, 0.58);
    font-size: 11px;
    font-weight: 750;
}

.admin-audit-support-panel[open] > summary {
    margin-bottom: 14px;
}

.admin-audit-group {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(125, 211, 252, 0.14);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(5, 18, 27, 0.78), rgba(17, 10, 28, 0.68));
}

.admin-audit-group.is-warning {
    border-color: rgba(244, 196, 48, 0.28);
}

.admin-audit-group.is-error {
    border-color: rgba(248, 113, 113, 0.32);
}

.admin-audit-group-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
}

.admin-audit-group-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.admin-audit-group-title strong {
    color: #f8fbff;
    overflow-wrap: anywhere;
}

.admin-audit-group-title time {
    color: rgba(237, 246, 239, 0.58);
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.admin-audit-group-head p {
    margin: 7px 0 11px;
    color: rgba(237, 246, 239, 0.76);
    overflow-wrap: anywhere;
}

.admin-audit-row-meta .is-error-count {
    border-color: rgba(248, 113, 113, 0.30);
    color: #fecaca;
}

.admin-audit-row-meta .is-warning-count {
    border-color: rgba(244, 196, 48, 0.30);
    color: #f8e49a;
}

.admin-audit-group-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start;
    padding: 12px 16px;
    border-top: 1px solid rgba(125, 211, 252, 0.10);
    background: rgba(3, 9, 16, 0.34);
}

.admin-audit-group-actions > a .icon,
.admin-audit-next-page .icon {
    width: 14px;
    height: 14px;
}

.admin-audit-group-actions details {
    flex: 1 1 360px;
    min-width: 0;
}

.admin-audit-group-actions summary {
    display: flex;
    gap: 8px;
    align-items: center;
    width: fit-content;
    min-height: 40px;
    color: #bae6fd;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    list-style-position: inside;
}

.admin-audit-group-actions summary .icon {
    width: 14px;
    height: 14px;
}

.admin-audit-timeline {
    display: grid;
    gap: 2px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid rgba(196, 181, 253, 0.14);
    border-radius: 11px;
    background: rgba(2, 7, 13, 0.48);
}

.admin-audit-timeline-event {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 10px;
    border-radius: 8px;
}

.admin-audit-timeline-event:nth-child(odd) {
    background: rgba(125, 211, 252, 0.04);
}

.admin-audit-timeline-event time,
.admin-audit-timeline-event em {
    color: rgba(237, 246, 239, 0.54);
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
}

.admin-audit-timeline-event div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.admin-audit-timeline-event strong {
    color: #f8fbff;
    font-size: 12px;
}

.admin-audit-timeline-event span {
    color: rgba(237, 246, 239, 0.66);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.admin-audit-next-page {
    justify-self: center;
    margin-top: 4px;
    border-color: rgba(125, 211, 252, 0.24);
    color: #bae6fd;
}

.admin-audit-row {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-audit-row.is-warning {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(34, 28, 8, 0.46);
}

.admin-audit-row.is-error {
    border-color: rgba(248, 113, 113, 0.28);
    background: rgba(43, 11, 11, 0.48);
}

.admin-audit-row-marker {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: rgba(8, 57, 27, 0.58);
    color: #7dff9b;
}

.admin-audit-row.is-warning .admin-audit-row-marker {
    background: rgba(77, 63, 12, 0.62);
    color: #f4d35e;
}

.admin-audit-row.is-error .admin-audit-row-marker {
    background: rgba(82, 22, 22, 0.62);
    color: #ff9c9c;
}

.admin-audit-row-marker .icon {
    width: 20px;
    height: 20px;
}

.admin-audit-row-body {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.admin-audit-row-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.admin-audit-row-head strong {
    min-width: 0;
    color: #f4fff4;
    overflow-wrap: anywhere;
}

.admin-audit-row-head time {
    color: rgba(237, 246, 239, 0.58);
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.admin-audit-row p {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-audit-row-meta,
.admin-audit-row-evidence {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.admin-audit-row-meta span,
.admin-audit-row-evidence span,
.admin-audit-source-list span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 999px;
    background: rgba(2, 10, 8, 0.42);
    color: rgba(237, 246, 239, 0.74);
    font-size: 12px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.admin-audit-row-evidence span {
    border-radius: 8px;
    color: rgba(237, 246, 239, 0.62);
}

.admin-audit-row-meta .icon,
.admin-audit-row-evidence .icon,
.admin-audit-source-list .icon {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    color: #7dd3fc;
}

.admin-audit-attention-list article {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid rgba(244, 196, 48, 0.18);
    border-radius: 12px;
    background: rgba(34, 28, 8, 0.42);
}

.admin-audit-attention-list article > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(77, 63, 12, 0.62);
    color: #f4d35e;
}

.admin-audit-attention-list strong,
.admin-audit-source-list strong {
    display: block;
    color: #f4fff4;
}

.admin-audit-attention-list small {
    display: block;
    margin-top: 4px;
    color: rgba(237, 246, 239, 0.62);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.admin-audit-source-list span {
    justify-content: flex-start;
    border-radius: 8px;
    white-space: normal;
}

.admin-audit-forbidden p {
    margin-bottom: 0;
}

.admin-audit-promo {
    min-height: 178px;
}

.admin-audit-promo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 9px;
    color: #f4fff4;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-console-badge.is-status-info,
.admin-console-badge.is-status-notice {
    border-color: rgba(125, 211, 252, 0.22);
    background: rgba(5, 28, 42, 0.62);
    color: #7dd3fc;
}

.admin-console-badge.is-status-warning {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-console-badge.is-status-error {
    border-color: rgba(248, 113, 113, 0.24);
    background: rgba(82, 22, 22, 0.58);
    color: #ff9c9c;
}

.admin-settings-topbar {
    min-height: 72px;
    padding: 16px 28px;
}

.admin-settings-page .admin-console-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-settings-avatar {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #15934a, #0a5830);
    color: #dcffe2;
    font-size: 13px;
    font-weight: 950;
}

.admin-settings-content {
    gap: 18px;
    padding: 28px 30px 44px;
}

.admin-settings-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 24px;
    align-items: center;
    min-height: 210px;
    overflow: hidden;
    padding: 34px 40px;
    background:
        radial-gradient(circle at 78% 18%, rgba(244, 196, 48, 0.16), transparent 26%),
        radial-gradient(circle at 94% 56%, rgba(53, 240, 120, 0.14), transparent 24%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.96), rgba(4, 13, 12, 0.92)),
        rgba(5, 19, 14, 0.82);
}

.admin-settings-hero h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 12px 0 12px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-settings-hero h1 .icon {
    width: 24px;
    height: 24px;
    color: #f4d35e;
    filter: drop-shadow(0 0 12px rgba(244, 196, 48, 0.42));
}

.admin-settings-signal {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 154px;
}

.admin-settings-signal span {
    position: absolute;
    width: 248px;
    height: 92px;
    border: 2px solid rgba(244, 196, 48, 0.30);
    border-left-color: transparent;
    border-bottom-color: rgba(53, 240, 120, 0.13);
    border-radius: 50%;
    transform: rotate(-9deg);
    box-shadow: 0 0 36px rgba(244, 196, 48, 0.16);
}

.admin-settings-signal span::before,
.admin-settings-signal span::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: #35f078;
    box-shadow: 0 0 18px rgba(53, 240, 120, 0.8);
}

.admin-settings-signal span::before {
    right: 26px;
    top: 23px;
    width: 10px;
    height: 10px;
}

.admin-settings-signal span::after {
    left: 54px;
    bottom: 17px;
    width: 7px;
    height: 7px;
}

.admin-settings-signal i {
    position: relative;
    display: grid;
    place-items: center;
    width: 104px;
    aspect-ratio: 1;
    border: 1px solid rgba(244, 196, 48, 0.26);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(244, 196, 48, 0.24), rgba(5, 31, 24, 0.92)),
        rgba(6, 39, 32, 0.8);
    color: #f4d35e;
    box-shadow:
        0 20px 58px rgba(244, 196, 48, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.admin-settings-signal i .icon {
    width: 44px;
    height: 44px;
    filter: drop-shadow(0 0 14px rgba(244, 196, 48, 0.52));
}

.admin-settings-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.admin-settings-stats .admin-console-stat-card {
    grid-template-columns: 58px minmax(0, 1fr);
}

.admin-settings-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
}

.admin-settings-save-message {
    display: grid;
    gap: 8px;
    padding: 14px 18px;
}

.admin-settings-save-message.is-ok {
    border-color: rgba(53, 240, 120, 0.22);
    background: rgba(11, 78, 35, 0.34);
}

.admin-settings-save-message.is-error {
    border-color: rgba(248, 113, 113, 0.24);
    background: rgba(82, 22, 22, 0.34);
}

.admin-settings-save-message strong {
    color: #f4fff4;
}

.admin-settings-save-message ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: rgba(237, 246, 239, 0.76);
    font-size: 13px;
    font-weight: 780;
}

.admin-settings-endpoint-editor {
    display: grid;
    gap: 0;
}

.admin-settings-endpoint-editor[open] > .admin-settings-endpoint-form,
.admin-settings-product-flows[open] > .admin-settings-product-flow-grid,
.admin-settings-tools[open] > .admin-settings-action-row,
.admin-settings-forbidden[open] > p {
    margin-top: 18px;
}

.admin-settings-endpoint-form {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.admin-settings-endpoint-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
}

.admin-settings-endpoint-field {
    display: grid;
    gap: 0;
    min-width: 0;
    padding: 0;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-settings-endpoint-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 32px;
    gap: 12px;
    align-items: center;
    padding: 15px 16px;
    list-style: none;
    cursor: pointer;
}

.admin-settings-endpoint-heading::-webkit-details-marker {
    display: none;
}

.admin-settings-endpoint-heading > div {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.admin-settings-endpoint-heading strong {
    color: #f4fff4;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
}

.admin-settings-endpoint-heading code {
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(237, 246, 239, 0.72);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.admin-settings-endpoint-chevron {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 999px;
    color: rgba(237, 246, 239, 0.72);
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease;
}

.admin-settings-endpoint-chevron .icon {
    width: 15px;
    height: 15px;
}

.admin-settings-endpoint-field[open] .admin-settings-endpoint-chevron {
    transform: rotate(180deg);
    border-color: rgba(53, 240, 120, 0.22);
    color: #7dff9b;
}

.admin-settings-endpoint-edit-body {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    border-top: 1px solid rgba(150, 255, 174, 0.10);
}

.admin-settings-endpoint-edit-body > p {
    margin: 0;
    color: rgba(237, 246, 239, 0.72);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
}

.admin-settings-endpoint-field .admin-settings-endpoint-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 999px;
    background: rgba(53, 240, 120, 0.08);
    color: rgba(237, 246, 239, 0.78);
    font-size: 11px;
    font-weight: 750;
}

.admin-settings-endpoint-field.is-overridden {
    border-color: rgba(53, 240, 120, 0.30);
}

.admin-settings-endpoint-field.is-environment-active {
    border-color: rgba(244, 196, 48, 0.34);
}

.admin-settings-endpoint-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-settings-endpoint-values section {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 9px;
    background: rgba(2, 10, 8, 0.46);
}

.admin-settings-endpoint-values code {
    color: #f4fff4;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-settings-endpoint-edit-body > label:not(.admin-settings-endpoint-reset) {
    color: rgba(237, 246, 239, 0.82);
    font-size: 13px;
    font-weight: 750;
}

.admin-settings-endpoint-field input[type="url"] {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 9px;
    background: rgba(2, 10, 8, 0.62);
    color: #f4fff4;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
}

.admin-settings-endpoint-field input[type="url"]:focus {
    border-color: rgba(125, 211, 252, 0.58);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.13);
}

.admin-settings-endpoint-field small,
.admin-settings-endpoint-field em {
    color: rgba(237, 246, 239, 0.70);
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.admin-settings-endpoint-field .admin-settings-endpoint-warning {
    padding: 9px 10px;
    border: 1px solid rgba(244, 196, 48, 0.24);
    border-radius: 8px;
    background: rgba(244, 196, 48, 0.08);
    color: #f8df80;
}

.admin-settings-endpoint-reset {
    display: inline-flex;
    gap: 8px;
    align-items: flex-start;
    color: rgba(237, 246, 239, 0.72);
    font-size: 12px;
    font-weight: 820;
}

.admin-settings-endpoint-reset input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #21c46b;
}

.admin-settings-endpoint-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.admin-settings-endpoint-actions > span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    min-height: 32px;
    color: rgba(237, 246, 239, 0.62);
    font-size: 12px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.admin-settings-endpoint-actions .icon {
    width: 15px;
    height: 15px;
}

.admin-settings-product-flows {
    display: grid;
    gap: 0;
}

.admin-settings-product-flow-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.admin-settings-product-flow-card {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 20px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-settings-product-flow-card > header {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px 12px;
    align-items: center;
}

.admin-settings-product-flow-card > header > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(53, 240, 120, 0.10);
    color: #35f078;
}

.admin-settings-product-flow-card > header > span .icon {
    width: 19px;
    height: 19px;
}

.admin-settings-product-flow-card > header > strong {
    color: #f4fff4;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
}

.admin-settings-product-flow-card > header > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.admin-settings-flow-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid rgba(150, 255, 174, 0.14);
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 750;
    letter-spacing: 0.01em;
}

.admin-settings-flow-status.is-enabled {
    border-color: rgba(53, 240, 120, 0.28);
    background: rgba(53, 240, 120, 0.09);
    color: #91f7b5;
}

.admin-settings-flow-status.is-disabled {
    border-color: rgba(244, 196, 48, 0.30);
    background: rgba(244, 196, 48, 0.08);
    color: #f8df80;
}

.admin-settings-product-flow-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.admin-settings-product-flow-list > div {
    display: grid;
    grid-template-columns: minmax(170px, 0.42fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
    padding: 12px 0;
    border-top: 1px solid rgba(150, 255, 174, 0.09);
}

.admin-settings-product-flow-list dt {
    color: rgba(237, 246, 239, 0.72);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0.01em;
    line-height: 1.5;
}

.admin-settings-product-flow-list dd {
    min-width: 0;
    margin: 0;
}

.admin-settings-product-flow-list code {
    color: #f4fff4;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-settings-product-flow-card > p {
    margin: 0;
    color: rgba(237, 246, 239, 0.72);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 720px) {
    .admin-settings-endpoint-heading {
        grid-template-columns: minmax(0, 1fr) 32px;
    }

    .admin-settings-endpoint-heading .admin-settings-endpoint-status {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
    }

    .admin-settings-endpoint-heading .admin-settings-endpoint-chevron {
        grid-column: 2;
        grid-row: 1;
    }

    .admin-settings-endpoint-values {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-settings-endpoint-actions > span,
    .admin-settings-endpoint-actions .admin-console-primary-button {
        width: 100%;
    }

    .admin-settings-product-flow-card {
        padding: 16px;
    }

    .admin-settings-product-flow-card > header {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .admin-settings-product-flow-card > header > div {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .admin-settings-product-flow-list > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }
}

.admin-settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.admin-settings-card {
    display: grid;
    gap: 16px;
    align-content: start;
    min-width: 0;
}

.admin-settings-collapsible {
    gap: 0;
}

.admin-settings-collapsible .admin-settings-row-list {
    margin-top: 16px;
}

.admin-settings-collapsible summary {
    list-style: none;
    cursor: pointer;
}

.admin-settings-collapsible summary::-webkit-details-marker {
    display: none;
}

.admin-settings-card-heading {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 32px;
    gap: 13px;
    align-items: start;
}

.admin-settings-card-heading > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: rgba(8, 57, 27, 0.58);
    color: #7dff9b;
}

.admin-settings-card-heading h2 {
    margin: 0;
    color: #f4fff4;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
}

.admin-settings-card-heading p {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-settings-card-heading b {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 999px;
    color: rgba(237, 246, 239, 0.72);
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease;
}

.admin-settings-card-heading b .icon {
    width: 16px;
    height: 16px;
}

.admin-settings-collapsible[open] .admin-settings-card-heading b {
    transform: rotate(180deg);
    border-color: rgba(53, 240, 120, 0.22);
    color: #7dff9b;
}

.admin-settings-row-list {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.admin-settings-row {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-settings-row.is-warning {
    border-color: rgba(244, 196, 48, 0.22);
    background: rgba(34, 28, 8, 0.42);
}

.admin-settings-row.is-enabled {
    border-color: rgba(53, 240, 120, 0.16);
}

.admin-settings-row.is-disabled {
    border-color: rgba(125, 211, 252, 0.12);
}

.admin-settings-row-main {
    display: grid;
    grid-template-columns: minmax(190px, 0.32fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
}

.admin-settings-row-main strong {
    color: rgba(237, 246, 239, 0.74);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.admin-settings-row-main span {
    color: #f4fff4;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-settings-row-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
}

.admin-settings-row-meta small,
.admin-settings-row-meta em {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 25px;
    padding: 0 9px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 999px;
    background: rgba(2, 10, 8, 0.42);
    color: rgba(237, 246, 239, 0.72);
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.admin-settings-row-meta .is-risk-high {
    border-color: rgba(248, 113, 113, 0.22);
    background: rgba(82, 22, 22, 0.46);
    color: #ffb4b4;
}

.admin-settings-row-meta .is-risk-medium {
    border-color: rgba(244, 196, 48, 0.22);
    background: rgba(77, 63, 12, 0.42);
    color: #f4d35e;
}

.admin-settings-row-meta .is-risk-low {
    border-color: rgba(53, 240, 120, 0.18);
    background: rgba(11, 78, 35, 0.42);
    color: #7dff9b;
}

.admin-settings-forbidden {
    display: grid;
    gap: 0;
}

.admin-settings-forbidden h2 {
    display: flex;
    gap: 10px;
    align-items: center;
}

.admin-settings-forbidden h2 .icon {
    width: 18px;
    height: 18px;
    color: #35f078;
}

.admin-settings-forbidden p {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-settings-promo {
    min-height: 178px;
}

.admin-settings-promo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 9px;
    color: #f4fff4;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-viewlogger-topbar {
    min-height: 72px;
    padding: 16px 28px;
}

.admin-viewlogger-page .admin-console-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-viewlogger-search {
    display: grid;
    grid-template-columns: 20px minmax(180px, 420px) auto auto;
    gap: 10px;
    align-items: center;
    width: min(100%, 700px);
    min-width: 0;
}

.admin-viewlogger-search .icon {
    width: 18px;
    height: 18px;
    color: #7dd3fc;
}

.admin-viewlogger-search input {
    min-width: 0;
    height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(150, 255, 174, 0.16);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.58);
    color: #f4fff4;
    font-size: 13px;
    font-weight: 850;
    outline: 0;
}

.admin-viewlogger-search input:focus {
    border-color: rgba(125, 211, 252, 0.58);
    box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.12);
}

.admin-viewlogger-avatar {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7dd3fc, #15934a);
    color: #04100c;
    font-size: 13px;
    font-weight: 950;
}

.admin-viewlogger-content {
    gap: 18px;
    padding: 28px 30px 44px;
}

.admin-viewlogger-log-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
    border-color: rgba(125, 211, 252, 0.18);
    background:
        linear-gradient(135deg, rgba(5, 28, 42, 0.32), rgba(3, 13, 10, 0.48)),
        rgba(5, 19, 14, 0.70);
}

.admin-viewlogger-log-switch a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px 12px;
    align-items: center;
    min-width: 0;
    min-height: 74px;
    padding: 13px 14px;
    border: 1px solid rgba(150, 255, 174, 0.14);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.42);
    color: #f4fff4;
    text-decoration: none;
}

.admin-viewlogger-log-switch a:hover,
.admin-viewlogger-log-switch a:focus-visible,
.admin-viewlogger-log-switch a.is-active {
    border-color: rgba(125, 211, 252, 0.48);
    background:
        linear-gradient(135deg, rgba(125, 211, 252, 0.18), rgba(150, 255, 174, 0.12)),
        rgba(2, 10, 8, 0.56);
    outline: 0;
}

.admin-viewlogger-log-switch a > span {
    display: grid;
    grid-row: 1 / span 2;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(5, 48, 68, 0.70);
    color: #7dd3fc;
}

.admin-viewlogger-log-switch a.is-active > span {
    background: rgba(11, 112, 64, 0.78);
    color: #dfffe8;
}

.admin-viewlogger-log-switch strong,
.admin-viewlogger-log-switch small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-log-switch strong {
    color: #f4fff4;
    font-size: 14px;
    font-weight: 950;
}

.admin-viewlogger-log-switch small {
    color: rgba(237, 246, 239, 0.68);
    font-size: 12px;
    font-weight: 800;
}

.admin-viewlogger-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 24px;
    align-items: center;
    min-height: 210px;
    overflow: hidden;
    padding: 34px 40px;
    background:
        radial-gradient(circle at 78% 18%, rgba(125, 211, 252, 0.20), transparent 26%),
        radial-gradient(circle at 92% 58%, rgba(216, 180, 254, 0.16), transparent 24%),
        radial-gradient(circle at 14% 92%, rgba(53, 240, 120, 0.12), transparent 25%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.96), rgba(4, 13, 12, 0.92)),
        rgba(5, 19, 14, 0.82);
}

.admin-viewlogger-hero h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 12px 0 12px;
    color: #f4fff4;
    font-size: 34px;
    line-height: 1.08;
}

.admin-viewlogger-hero h1 .icon {
    width: 24px;
    height: 24px;
    color: #d8b4fe;
    filter: drop-shadow(0 0 12px rgba(216, 180, 254, 0.46));
}

.admin-viewlogger-signal {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 154px;
}

.admin-viewlogger-signal span {
    position: absolute;
    width: 256px;
    height: 96px;
    border: 2px solid rgba(125, 211, 252, 0.34);
    border-left-color: rgba(216, 180, 254, 0.14);
    border-bottom-color: rgba(53, 240, 120, 0.13);
    border-radius: 50%;
    transform: rotate(-9deg);
    box-shadow: 0 0 36px rgba(125, 211, 252, 0.18);
}

.admin-viewlogger-signal span::before,
.admin-viewlogger-signal span::after {
    content: "";
    position: absolute;
    border-radius: 999px;
}

.admin-viewlogger-signal span::before {
    right: 28px;
    top: 23px;
    width: 10px;
    height: 10px;
    background: #7dd3fc;
    box-shadow: 0 0 18px rgba(125, 211, 252, 0.82);
}

.admin-viewlogger-signal span::after {
    left: 54px;
    bottom: 17px;
    width: 7px;
    height: 7px;
    background: #d8b4fe;
    box-shadow: 0 0 18px rgba(216, 180, 254, 0.72);
}

.admin-viewlogger-signal i {
    position: relative;
    display: grid;
    place-items: center;
    width: 104px;
    aspect-ratio: 1;
    border: 1px solid rgba(216, 180, 254, 0.28);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(125, 211, 252, 0.26), rgba(5, 31, 29, 0.92)),
        rgba(6, 39, 32, 0.8);
    color: #d8b4fe;
    box-shadow:
        0 20px 58px rgba(125, 211, 252, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.admin-viewlogger-signal i .icon {
    width: 44px;
    height: 44px;
    filter: drop-shadow(0 0 14px rgba(216, 180, 254, 0.62));
}

.admin-viewlogger-use-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(280px, 1fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-color: rgba(125, 211, 252, 0.18);
    background:
        linear-gradient(135deg, rgba(5, 28, 42, 0.38), rgba(3, 13, 10, 0.58)),
        rgba(5, 19, 14, 0.78);
}

.admin-viewlogger-use-copy {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    min-width: 0;
}

.admin-viewlogger-use-copy > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: rgba(5, 48, 68, 0.62);
    color: #7dd3fc;
}

.admin-viewlogger-use-copy h2 {
    margin: 0 0 5px;
    color: #f4fff4;
    font-size: 18px;
}

.admin-viewlogger-use-copy p {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-url-stack {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.admin-viewlogger-url-stack code {
    display: block;
    max-width: 100%;
    padding: 11px 12px;
    overflow: auto;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.66);
    color: #dcffe2;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.45;
    white-space: nowrap;
}

.admin-viewlogger-chooser,
.admin-viewlogger-recent-chooser {
    display: grid;
    gap: 18px;
    border-color: rgba(216, 180, 254, 0.20);
    background:
        linear-gradient(135deg, rgba(41, 18, 55, 0.46), rgba(5, 28, 42, 0.38)),
        rgba(5, 19, 14, 0.72);
}

.admin-viewlogger-chooser-search {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(170px, 0.7fr) auto auto;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(125, 211, 252, 0.18);
    border-radius: 12px;
    background: rgba(2, 10, 8, 0.46);
}

.admin-viewlogger-chooser-search label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.admin-viewlogger-chooser-search label span {
    color: rgba(237, 246, 239, 0.70);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.admin-viewlogger-chooser-search input {
    min-width: 0;
    height: 42px;
    padding: 0 13px;
    border: 1px solid rgba(216, 180, 254, 0.20);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.66);
    color: #f4fff4;
    font-size: 13px;
    font-weight: 850;
    outline: 0;
}

.admin-viewlogger-chooser-search .icon {
    width: 15px;
    height: 15px;
}

.admin-viewlogger-chooser-search input:focus {
    border-color: rgba(244, 174, 255, 0.60);
    box-shadow: 0 0 0 3px rgba(244, 174, 255, 0.12);
}

.admin-viewlogger-clear-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    align-self: end;
    justify-self: start;
    box-sizing: border-box;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(125, 211, 252, 0.30);
    border-radius: 10px;
    background:
        linear-gradient(135deg, rgba(125, 211, 252, 0.10), rgba(216, 180, 254, 0.10)),
        rgba(5, 19, 28, 0.72);
    color: #d8efff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

.admin-viewlogger-clear-filter:hover,
.admin-viewlogger-clear-filter:focus-visible {
    border-color: rgba(216, 180, 254, 0.62);
    background:
        linear-gradient(135deg, rgba(125, 211, 252, 0.18), rgba(216, 180, 254, 0.18)),
        rgba(9, 27, 38, 0.86);
    color: #ffffff;
    outline: 0;
    transform: translateY(-1px);
}

.admin-viewlogger-clear-filter .icon {
    width: 14px;
    height: 14px;
}

.admin-viewlogger-chooser-search .admin-viewlogger-clear-filter {
    min-height: 42px;
}

.admin-viewlogger-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.admin-viewlogger-choice-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
    min-height: 132px;
    padding: 16px;
    border: 1px solid rgba(244, 174, 255, 0.18);
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(125, 211, 252, 0.12), rgba(244, 174, 255, 0.10)),
        rgba(3, 13, 10, 0.54);
    color: #f4fff4;
    text-decoration: none;
    transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

.admin-viewlogger-choice-card:hover,
.admin-viewlogger-choice-card:focus-visible {
    border-color: rgba(125, 211, 252, 0.44);
    background:
        linear-gradient(135deg, rgba(125, 211, 252, 0.18), rgba(244, 174, 255, 0.16)),
        rgba(3, 13, 10, 0.64);
    transform: translateY(-1px);
}

.admin-viewlogger-choice-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(5, 48, 68, 0.70);
    color: #7dd3fc;
}

.admin-viewlogger-choice-card > span .icon {
    width: 19px;
    height: 19px;
}

.admin-viewlogger-choice-card strong,
.admin-viewlogger-choice-card b,
.admin-viewlogger-choice-card small,
.admin-viewlogger-choice-card em {
    grid-column: 2;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-choice-card strong {
    color: #f4fff4;
    font-size: 14px;
    line-height: 1.25;
}

.admin-viewlogger-choice-card b {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.3;
}

.admin-viewlogger-choice-card small {
    color: #f4aeff;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-viewlogger-choice-card em {
    color: rgba(237, 246, 239, 0.66);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
}

.admin-viewlogger-choice-empty {
    grid-column: 1 / -1;
}

.admin-viewlogger-summary-panel {
    display: grid;
    gap: 14px;
    border-color: rgba(125, 211, 252, 0.18);
    background:
        linear-gradient(135deg, rgba(5, 28, 42, 0.34), rgba(3, 13, 10, 0.58)),
        rgba(5, 19, 14, 0.72);
}

.admin-viewlogger-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.admin-viewlogger-summary-grid article {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(125, 211, 252, 0.13);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.34);
}

.admin-viewlogger-summary-grid small,
.admin-viewlogger-summary-grid strong,
.admin-viewlogger-summary-grid span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-summary-grid small {
    color: rgba(237, 246, 239, 0.56);
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-viewlogger-summary-grid strong {
    margin-top: 4px;
    color: #f4fff4;
    font-size: 14px;
    line-height: 1.22;
}

.admin-viewlogger-summary-grid span {
    margin-top: 4px;
    color: rgba(237, 246, 239, 0.62);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.28;
}

.admin-viewlogger-health-row {
    display: grid;
    grid-template-columns: auto auto auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(125, 211, 252, 0.14);
    border-radius: 10px;
    background: rgba(2, 10, 8, 0.34);
}

.admin-viewlogger-health-row span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 28px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
}

.admin-viewlogger-health-row span .icon {
    width: 14px;
    height: 14px;
}

.admin-viewlogger-health-row .is-ok {
    background: rgba(8, 57, 27, 0.42);
    color: #7dff9b;
}

.admin-viewlogger-health-row .is-warning {
    background: rgba(77, 63, 12, 0.5);
    color: #f4d35e;
}

.admin-viewlogger-health-row .is-danger {
    background: rgba(82, 22, 22, 0.52);
    color: #ff9c9c;
}

.admin-viewlogger-health-row strong {
    min-width: 0;
    color: rgba(237, 246, 239, 0.82);
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-viewlogger-fact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-viewlogger-fact {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(125, 211, 252, 0.15);
    border-radius: 12px;
    background: rgba(5, 28, 42, 0.36);
}

.admin-viewlogger-fact.is-ok {
    border-color: rgba(53, 240, 120, 0.18);
    background: rgba(8, 57, 27, 0.34);
}

.admin-viewlogger-fact.is-warning {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(34, 28, 8, 0.44);
}

.admin-viewlogger-fact.is-danger {
    border-color: rgba(248, 113, 113, 0.28);
    background: rgba(43, 11, 11, 0.48);
}

.admin-viewlogger-fact > span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: rgba(5, 48, 68, 0.62);
    color: #7dd3fc;
}

.admin-viewlogger-fact.is-ok > span {
    background: rgba(8, 57, 27, 0.58);
    color: #7dff9b;
}

.admin-viewlogger-fact.is-warning > span {
    background: rgba(77, 63, 12, 0.62);
    color: #f4d35e;
}

.admin-viewlogger-fact.is-danger > span {
    background: rgba(82, 22, 22, 0.62);
    color: #ff9c9c;
}

.admin-viewlogger-fact small,
.admin-viewlogger-fact strong,
.admin-viewlogger-fact em {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-fact small {
    color: rgba(237, 246, 239, 0.62);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-viewlogger-fact strong {
    margin-top: 4px;
    color: #f4fff4;
    font-size: 14px;
    line-height: 1.25;
}

.admin-viewlogger-fact em {
    margin-top: 5px;
    color: rgba(237, 246, 239, 0.62);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
}

.admin-viewlogger-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.admin-viewlogger-stats .admin-console-stat-card {
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 126px;
    padding: 18px;
}

.admin-viewlogger-stats .admin-console-stat-card strong {
    font-size: 18px;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.admin-viewlogger-stats .admin-console-stat-card em {
    max-height: 48px;
    overflow: hidden;
    color: rgba(237, 246, 239, 0.62);
    overflow-wrap: anywhere;
}

.admin-viewlogger-tabs {
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 12px;
    background: rgba(5, 19, 14, 0.58);
}

.admin-viewlogger-tabs a {
    max-width: 100%;
}

.admin-viewlogger-tabs span {
    overflow-wrap: anywhere;
}

.admin-viewlogger-verdict {
    display: grid;
    gap: 10px;
    border-color: rgba(125, 211, 252, 0.20);
    background:
        linear-gradient(135deg, rgba(5, 28, 42, 0.42), rgba(3, 13, 10, 0.56)),
        rgba(5, 19, 14, 0.68);
}

.admin-viewlogger-verdict h2 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.admin-viewlogger-verdict h2 .icon {
    width: 18px;
    height: 18px;
    color: #f4d35e;
}

.admin-viewlogger-verdict p,
.admin-viewlogger-verdict strong {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-verdict strong {
    display: block;
    padding: 13px 14px;
    border: 1px solid rgba(248, 113, 113, 0.24);
    border-radius: 10px;
    background: rgba(82, 22, 22, 0.42);
    color: #ffb4b4;
    font-size: 13px;
}

.admin-viewlogger-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.72fr);
    gap: 20px;
    align-items: start;
}

.admin-viewlogger-grid > .admin-viewlogger-table-panel,
.admin-viewlogger-grid > .admin-viewlogger-rail {
    grid-column: 1 / -1;
}

.admin-viewlogger-table-panel,
.admin-viewlogger-rail,
.admin-viewlogger-row-list,
.admin-viewlogger-mini-list {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.admin-viewlogger-table-panel {
    align-content: start;
    gap: 16px;
}

.admin-viewlogger-table-panel .admin-viewlogger-row-list {
    gap: 14px;
}

.admin-viewlogger-table-panel.admin-viewlogger-collapsible .admin-viewlogger-collapsible-summary {
    margin-bottom: 0;
}

.admin-viewlogger-table-panel.admin-viewlogger-collapsible[open] .admin-viewlogger-collapsible-summary {
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(125, 211, 252, 0.14);
}

.admin-viewlogger-output-rail {
    grid-column: 1 / -1;
}

.admin-viewlogger-output-rail .admin-viewlogger-files {
    min-width: 0;
}

.admin-viewlogger-output-rail pre {
    max-height: min(68vh, 720px);
    margin: 0;
    overflow: auto;
    padding: 16px;
    border: 1px solid rgba(125, 211, 252, 0.16);
    border-radius: 12px;
    background: #06120e;
    color: #dcffe2;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.admin-viewlogger-collapsible {
    overflow: hidden;
}

.admin-viewlogger-collapsible-summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    padding-right: 42px;
    user-select: none;
}

.admin-viewlogger-collapsible-summary::-webkit-details-marker {
    display: none;
}

.admin-viewlogger-collapsible-summary::after {
    content: "-";
    position: absolute;
    top: 50%;
    right: 0;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 10px;
    background: rgba(5, 48, 68, 0.58);
    color: #7dd3fc;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}

.admin-viewlogger-collapsible:not([open]) .admin-viewlogger-collapsible-summary::after {
    content: "+";
}

.admin-viewlogger-collapsible-summary:focus-visible {
    outline: 3px solid rgba(125, 211, 252, 0.42);
    outline-offset: 4px;
    border-radius: 14px;
}

.admin-viewlogger-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-viewlogger-row[data-viewlogger-evidence-trigger],
.admin-viewlogger-row[data-viewlogger-evidence-link] {
    width: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-viewlogger-row[data-viewlogger-evidence-trigger]:hover,
.admin-viewlogger-row[data-viewlogger-evidence-trigger]:focus-visible,
.admin-viewlogger-row[data-viewlogger-evidence-link]:hover,
.admin-viewlogger-row[data-viewlogger-evidence-link]:focus-visible {
    border-color: rgba(125, 211, 252, 0.48);
    box-shadow: 0 12px 28px rgba(22, 163, 244, 0.14);
    outline: none;
    transform: translateY(-2px);
}

.admin-viewlogger-row[data-viewlogger-evidence-trigger]:focus-visible,
.admin-viewlogger-row[data-viewlogger-evidence-link]:focus-visible {
    outline: 3px solid rgba(125, 211, 252, 0.30);
    outline-offset: 2px;
}

.admin-viewlogger-row.is-ok {
    border-color: rgba(53, 240, 120, 0.18);
    background: rgba(8, 57, 27, 0.34);
}

.admin-viewlogger-row.is-warning {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(34, 28, 8, 0.44);
}

.admin-viewlogger-row.is-danger {
    border-color: rgba(248, 113, 113, 0.28);
    background: rgba(43, 11, 11, 0.48);
}

.admin-viewlogger-row.is-info {
    border-color: rgba(125, 211, 252, 0.18);
    background: rgba(5, 28, 42, 0.36);
}

.admin-viewlogger-row.is-active {
    border-color: rgba(244, 174, 255, 0.48);
    box-shadow: 0 0 0 3px rgba(244, 174, 255, 0.10);
}

.admin-viewlogger-row-status {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: rgba(8, 57, 27, 0.58);
    color: #7dff9b;
}

.admin-viewlogger-row.is-warning .admin-viewlogger-row-status {
    background: rgba(77, 63, 12, 0.62);
    color: #f4d35e;
}

.admin-viewlogger-row.is-danger .admin-viewlogger-row-status {
    background: rgba(82, 22, 22, 0.62);
    color: #ff9c9c;
}

.admin-viewlogger-row.is-info .admin-viewlogger-row-status {
    background: rgba(5, 48, 68, 0.62);
    color: #7dd3fc;
}

.admin-viewlogger-row-status .icon {
    width: 19px;
    height: 19px;
}

.admin-viewlogger-row-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.admin-viewlogger-row-copy strong {
    color: #f4fff4;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.admin-viewlogger-row-copy span,
.admin-viewlogger-row-copy small {
    color: rgba(237, 246, 239, 0.66);
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.admin-viewlogger-row-copy span {
    color: rgba(237, 246, 239, 0.84);
}

.admin-viewlogger-mini-list article {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 12px;
    border: 1px solid rgba(125, 211, 252, 0.16);
    border-radius: 11px;
    background: rgba(5, 28, 42, 0.36);
}

.admin-viewlogger-mini-list article > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(5, 48, 68, 0.62);
    color: #7dd3fc;
}

.admin-viewlogger-mini-list strong,
.admin-viewlogger-mini-list small {
    display: block;
    overflow-wrap: anywhere;
}

.admin-viewlogger-mini-list strong {
    color: #f4fff4;
}

.admin-viewlogger-mini-list small {
    margin-top: 3px;
    color: rgba(237, 246, 239, 0.62);
    font-weight: 800;
}

.admin-viewlogger-files {
    display: grid;
    gap: 12px;
    scroll-margin-top: 92px;
}

.admin-viewlogger-files.is-viewlogger-focus {
    border-color: rgba(244, 174, 255, 0.58);
    box-shadow: 0 0 0 4px rgba(244, 174, 255, 0.12), 0 18px 46px rgba(22, 163, 244, 0.16);
}

.admin-viewlogger-file {
    overflow: hidden;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.52);
}

.admin-viewlogger-file[open] {
    border-color: rgba(125, 211, 252, 0.20);
}

.admin-viewlogger-file summary {
    display: grid;
    grid-template-columns: 34px minmax(170px, 0.34fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 13px 14px;
    cursor: pointer;
}

.admin-viewlogger-file summary > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(5, 48, 68, 0.62);
    color: #7dd3fc;
}

.admin-viewlogger-file summary strong,
.admin-viewlogger-file summary small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-viewlogger-file summary strong {
    color: #f4fff4;
    font-size: 13px;
}

.admin-viewlogger-file summary small {
    color: rgba(237, 246, 239, 0.58);
    font-size: 12px;
    font-weight: 800;
}

.admin-viewlogger-file pre {
    max-height: 360px;
    margin: 0;
    overflow: auto;
    padding: 16px;
    border-top: 1px solid rgba(125, 211, 252, 0.14);
    background: #06120e;
    color: #dcffe2;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.admin-booking-content {
    gap: 18px;
}

.admin-booking-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 24px;
    align-items: center;
    min-height: 150px;
    overflow: hidden;
    padding: 28px 32px;
}

.admin-booking-hero h1 {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 12px;
    color: #f4fff4;
    font-size: 30px;
}

.admin-booking-hero p {
    max-width: 650px;
    margin: 0;
}

.admin-booking-live-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.admin-booking-live-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(53, 240, 120, 0.18);
    border-radius: 999px;
    background: rgba(8, 57, 27, 0.48);
    color: #7dff9b;
    font-size: 12px;
    font-weight: 900;
}

.admin-booking-live-row span.is-warning {
    border-color: rgba(244, 196, 48, 0.28);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-booking-live-row .icon {
    width: 14px;
    height: 14px;
}

.admin-booking-orbit {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 150px;
    color: #35f078;
}

.admin-booking-orbit span {
    position: absolute;
    width: 226px;
    height: 104px;
    border: 2px solid rgba(191, 255, 208, 0.34);
    border-left-color: rgba(191, 255, 208, 0.12);
    border-bottom-color: rgba(53, 240, 120, 0.18);
    border-radius: 50%;
    transform: rotate(-15deg);
    box-shadow:
        0 0 34px rgba(53, 240, 120, 0.18),
        inset 0 0 18px rgba(53, 240, 120, 0.10);
    z-index: 1;
}

.admin-booking-orbit::before {
    content: "";
    position: absolute;
    width: 112px;
    aspect-ratio: 1;
    border-radius: 999px;
    background-image: url("../images/earth-blue-marble-transparent.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow:
        inset -18px -20px 26px rgba(0, 0, 0, 0.30),
        inset 10px 9px 18px rgba(255, 255, 255, 0.12),
        0 0 0 2px rgba(190, 234, 255, 0.10),
        0 0 30px rgba(22, 163, 244, 0.34);
    opacity: 0.98;
    z-index: 2;
}

.admin-booking-orbit::after {
    content: "";
    position: absolute;
    width: 226px;
    height: 104px;
    border: 2px solid transparent;
    border-top-color: rgba(244, 255, 244, 0.54);
    border-right-color: rgba(191, 255, 208, 0.28);
    border-radius: 50%;
    transform: rotate(-15deg);
    z-index: 4;
}

.admin-booking-orbit .icon {
    position: absolute;
    left: 26px;
    top: 54px;
    width: 38px;
    height: 38px;
    color: #f4fff4;
    transform: rotate(-12deg);
    filter: drop-shadow(0 0 12px rgba(244, 255, 244, 0.42));
    z-index: 5;
}

.admin-booking-nav-panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
}

.admin-booking-nav-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.admin-booking-nav-pills a,
.admin-booking-audit-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid rgba(150, 255, 174, 0.14);
    border-radius: 999px;
    background: rgba(3, 13, 10, 0.36);
    color: #f4fff4;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-booking-nav-pills .icon,
.admin-booking-audit-link .icon {
    width: 15px;
    height: 15px;
    color: #bfffd0;
}

.admin-booking-table-panel {
    padding: 18px;
}

.admin-booking-detail-panel {
    display: grid;
    gap: 16px;
    margin-bottom: 16px;
    border-color: rgba(125, 211, 252, 0.18);
    background:
        linear-gradient(180deg, rgba(12, 38, 54, 0.42), rgba(5, 19, 14, 0.82)),
        rgba(5, 19, 14, 0.82);
}

.admin-booking-detail-panel .admin-console-panel-heading {
    margin-bottom: 0;
}

.admin-booking-detail-panel .admin-console-panel-heading p {
    margin: 5px 0 0;
    color: rgba(237, 246, 239, 0.62);
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.admin-booking-admin-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.admin-booking-admin-detail-grid article {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 12px;
    background: rgba(3, 13, 10, 0.48);
}

.admin-booking-admin-detail-grid small {
    color: rgba(237, 246, 239, 0.58);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-booking-admin-detail-grid strong {
    color: #f4fff4;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-booking-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-booking-evidence-list {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(125, 211, 252, 0.16);
    border-radius: 12px;
    background: rgba(5, 28, 42, 0.32);
}

.admin-booking-evidence-list code {
    display: block;
    padding: 10px 12px;
    border: 1px solid rgba(125, 211, 252, 0.14);
    border-radius: 10px;
    background: rgba(3, 13, 10, 0.62);
    color: #dcffe2;
    font-size: 12px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.admin-booking-filter-tabs {
    gap: 12px;
}

.admin-booking-history-table th,
.admin-booking-history-table td {
    padding: 14px 12px;
    font-size: 12px;
}

.admin-booking-history-table th:nth-child(1),
.admin-booking-history-table td:nth-child(1) { width: 10%; }
.admin-booking-history-table th:nth-child(2),
.admin-booking-history-table td:nth-child(2) { width: 15%; }
.admin-booking-history-table th:nth-child(3),
.admin-booking-history-table td:nth-child(3) { width: 9%; }
.admin-booking-history-table th:nth-child(4),
.admin-booking-history-table td:nth-child(4),
.admin-booking-history-table th:nth-child(5),
.admin-booking-history-table td:nth-child(5) { width: 10%; }
.admin-booking-history-table th:nth-child(6),
.admin-booking-history-table td:nth-child(6) { width: 12%; }
.admin-booking-history-table th:nth-child(7),
.admin-booking-history-table td:nth-child(7) { width: 9%; }
.admin-booking-history-table th:nth-child(8),
.admin-booking-history-table td:nth-child(8) { width: 8%; }
.admin-booking-history-table th:nth-child(9),
.admin-booking-history-table td:nth-child(9) { width: 8%; }
.admin-booking-history-table th:nth-child(10),
.admin-booking-history-table td:nth-child(10) { width: 9%; }
.admin-booking-history-table th:nth-child(11),
.admin-booking-history-table td:nth-child(11) {
    width: 10%;
    text-align: center;
}

.admin-booking-id-pill {
    display: inline-flex;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
    font-size: 11px;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.admin-booking-customer {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.admin-booking-customer .icon {
    width: 15px;
    height: 15px;
    color: #35f078;
}

.admin-booking-customer strong,
.admin-booking-customer small {
    display: block;
    overflow-wrap: anywhere;
}

.admin-booking-customer strong {
    color: #f4fff4;
}

.admin-booking-customer small {
    color: rgba(237, 246, 239, 0.58);
    font-size: 11px;
}

.admin-booking-type,
.admin-booking-channel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(237, 246, 239, 0.82);
    font-weight: 900;
}

.admin-booking-type .icon,
.admin-booking-channel .icon {
    width: 14px;
    height: 14px;
    color: #bfffd0;
}

.admin-booking-status-badge.is-status-completed,
.admin-booking-status-badge.is-status-confirmed {
    border-color: rgba(53, 240, 120, 0.24);
    background: rgba(11, 78, 35, 0.62);
    color: #7dff9b;
}

.admin-booking-status-badge.is-status-cancelled,
.admin-booking-status-badge.is-status-failed {
    border-color: rgba(248, 113, 113, 0.24);
    background: rgba(82, 22, 22, 0.58);
    color: #ff9c9c;
}

.admin-booking-status-badge.is-status-pending {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-booking-payment-badge.is-payment-paid {
    border-color: rgba(53, 240, 120, 0.24);
    background: rgba(11, 78, 35, 0.62);
    color: #7dff9b;
}

.admin-booking-payment-badge.is-payment-not-paid {
    border-color: rgba(244, 196, 48, 0.24);
    background: rgba(77, 63, 12, 0.58);
    color: #f4d35e;
}

.admin-booking-row-actions {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.admin-booking-pay-form,
.admin-booking-flag-paid-form,
.admin-booking-tell-upstream-form {
    display: inline-flex;
    margin: 0;
}

.admin-booking-pay-button {
    border-color: rgba(22, 109, 53, 0.34);
    background: linear-gradient(135deg, #166d35, #21843c);
    color: #f4fff7;
    box-shadow: 0 12px 24px rgba(22, 109, 53, 0.18);
}

.admin-booking-pay-button:hover {
    border-color: rgba(22, 109, 53, 0.50);
    background: linear-gradient(135deg, #10552a, #176b30);
}

.admin-booking-flag-paid-button {
    border-color: rgba(33, 132, 60, 0.34);
    background: linear-gradient(135deg, #21843c, #3bae5a);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(33, 132, 60, 0.18);
}

.admin-booking-flag-paid-button:hover {
    border-color: rgba(33, 132, 60, 0.54);
    background: linear-gradient(135deg, #176b30, #2f984c);
}

.admin-booking-tell-upstream-button {
    border-color: rgba(33, 132, 60, 0.36);
    background: rgba(59, 174, 90, 0.10);
    color: #176b30;
    white-space: normal;
}

.admin-flag-paid-page {
    min-height: calc(100vh - 84px);
    padding: 32px 20px 64px;
    background:
        radial-gradient(circle at 12% 8%, rgba(59, 174, 90, 0.13), transparent 32%),
        radial-gradient(circle at 88% 14%, rgba(134, 239, 172, 0.10), transparent 30%),
        linear-gradient(145deg, #f8fcf9, #ffffff 48%, #f4f8f5);
}

.admin-flag-paid-backdrop {
    display: grid;
    place-items: start center;
}

.admin-flag-paid-dialog {
    display: grid;
    gap: 20px;
    width: min(920px, 100%);
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid rgba(59, 174, 90, 0.16);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(59, 174, 90, 0.06), transparent 52%),
        linear-gradient(180deg, #ffffff, #fbfffc);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.10);
}

.admin-flag-paid-heading {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admin-flag-paid-heading > span {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(59, 174, 90, 0.16), rgba(232, 249, 238, 0.88));
    color: #21843c;
}

.admin-flag-paid-heading .icon {
    width: 25px;
    height: 25px;
}

.admin-flag-paid-heading small,
.admin-flag-paid-detail-grid small {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.admin-flag-paid-heading h1 {
    margin: 3px 0 5px;
    color: #172b4d;
    font-size: clamp(28px, 4vw, 40px);
}

.admin-flag-paid-heading p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}

.admin-flag-paid-result {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid #f0d58b;
    border-radius: 14px;
    background: #fffaea;
    color: #7d5700;
}

.admin-flag-paid-result.is-success {
    border-color: #bde7c8;
    background: #edf9f1;
    color: #0b7f3b;
}

.admin-flag-paid-result ul {
    margin: 4px 0 0;
    padding-left: 20px;
}

.admin-flag-paid-travel-details {
    display: grid;
    gap: 12px;
}

.admin-flag-paid-travel-details h2 {
    margin: 0;
    color: #14243c;
    font-size: 19px;
}

.admin-flag-paid-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.admin-flag-paid-detail-grid article {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(59, 174, 90, 0.14);
    border-radius: 13px;
    background: #f8fcf9;
}

.admin-flag-paid-detail-grid strong {
    color: #173b25;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.admin-flag-paid-payment-form {
    display: grid;
    gap: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(59, 174, 90, 0.14);
}

.admin-flag-paid-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.admin-flag-paid-form-grid label {
    display: grid;
    gap: 6px;
    color: #294735;
    font-size: 13px;
    font-weight: 900;
}

.admin-flag-paid-form-grid input {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #d8e9dd;
    border-radius: 12px;
    background: #ffffff;
    color: #172b4d;
    font: inherit;
}

.admin-flag-paid-form-grid input[readonly] {
    background: #f1f7f3;
    color: #526b59;
}

.admin-flag-paid-form-grid small,
.admin-flag-paid-upstream-note {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.admin-flag-paid-upstream-choice {
    display: flex;
    gap: 10px;
    align-items: center;
    width: fit-content;
    padding: 13px 15px;
    border: 1px solid rgba(59, 174, 90, 0.22);
    border-radius: 14px;
    background: rgba(59, 174, 90, 0.09);
    color: #176b30;
    font-weight: 900;
}

.admin-flag-paid-upstream-choice input {
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: #21843c;
}

.admin-flag-paid-upstream-note code {
    color: #21843c;
}

.admin-flag-paid-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-flag-paid-actions .ghost-button,
.admin-flag-paid-actions .primary-cta {
    justify-content: center;
    min-width: 170px;
}

.admin-flag-paid-submit {
    border-color: #21843c;
    background: linear-gradient(135deg, #21843c, #3bae5a);
    box-shadow: 0 12px 28px rgba(33, 132, 60, 0.20);
}

html.travelnet-dark .admin-flag-paid-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(46, 160, 87, 0.12), transparent 32%),
        radial-gradient(circle at 88% 14%, rgba(21, 147, 15, 0.08), transparent 30%),
        #07100c;
}

html.travelnet-dark .admin-flag-paid-dialog {
    border-color: rgba(188, 214, 194, 0.14);
    background:
        radial-gradient(circle at top right, rgba(74, 222, 128, 0.055), transparent 54%),
        linear-gradient(145deg, rgba(18, 28, 24, 0.96), rgba(9, 21, 14, 0.94));
}

html.travelnet-dark .admin-flag-paid-heading h1,
html.travelnet-dark .admin-flag-paid-travel-details h2,
html.travelnet-dark .admin-flag-paid-detail-grid strong,
html.travelnet-dark .admin-flag-paid-form-grid label {
    color: #f4fff4;
}

html.travelnet-dark .admin-flag-paid-heading p,
html.travelnet-dark .admin-flag-paid-heading small,
html.travelnet-dark .admin-flag-paid-detail-grid small,
html.travelnet-dark .admin-flag-paid-form-grid small,
html.travelnet-dark .admin-flag-paid-upstream-note {
    color: rgba(237, 246, 239, 0.66);
}

html.travelnet-dark .admin-flag-paid-detail-grid article,
html.travelnet-dark .admin-flag-paid-form-grid input {
    border-color: rgba(188, 214, 194, 0.14);
    background: rgba(6, 18, 12, 0.76);
    color: #f4fff4;
}

html.travelnet-dark .admin-flag-paid-form-grid input[readonly] {
    background: rgba(20, 39, 27, 0.72);
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .admin-flag-paid-upstream-choice {
    border-color: rgba(134, 239, 172, 0.20);
    background: rgba(59, 174, 90, 0.12);
    color: #86efac;
}

html.travelnet-dark .admin-flag-paid-upstream-note code {
    color: #86efac;
}

@media (max-width: 760px) {
    .admin-flag-paid-detail-grid,
    .admin-flag-paid-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-flag-paid-heading {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .admin-flag-paid-heading > span {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .admin-flag-paid-actions,
    .admin-flag-paid-actions .ghost-button,
    .admin-flag-paid-actions .primary-cta {
        width: 100%;
    }
}

@media (min-width: 1921px) {
    :root {
        --travelnet-site-max-width: 1920px;
    }

    .flight-hero,
    .hotel-hero {
        width: var(--travelnet-site-max-width);
        margin-left: calc(50% - (var(--travelnet-site-max-width) / 2));
        margin-right: 0;
    }
}

@media (max-width: 1180px) {
    .admin-console-shell {
        grid-template-columns: 236px minmax(0, 1fr);
    }

    .admin-console-stats,
    .admin-console-dashboard-grid,
    .admin-console-workspace,
    .admin-settings-stats,
    .admin-settings-grid,
    .admin-permissions-board,
    .admin-viewlogger-chooser-search,
    .admin-viewlogger-summary-grid,
    .admin-viewlogger-stats,
    .admin-viewlogger-grid,
    .admin-viewlogger-choice-grid,
    .admin-viewlogger-fact-grid,
    .admin-booking-admin-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-viewlogger-health-row {
        grid-template-columns: repeat(3, auto) minmax(0, 1fr);
    }
}

@media (max-width: 920px) {
    .admin-console-shell {
        grid-template-columns: 1fr;
    }

    .admin-console-sidebar {
        grid-template-rows: auto auto;
        border-right: 0;
        border-bottom: 1px solid rgba(150, 255, 174, 0.14);
    }

    .admin-console-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-console-nav-label,
    .admin-console-promo {
        display: none;
    }

    .admin-console-dashboard-grid,
    .admin-console-workspace,
    .admin-permissions-board,
    .admin-settings-hero,
    .admin-settings-grid,
    .admin-settings-endpoint-grid,
    .admin-viewlogger-hero,
    .admin-viewlogger-grid,
    .admin-viewlogger-summary-grid,
    .admin-viewlogger-use-panel,
    .admin-console-role-card,
    .admin-console-approval-card {
        grid-template-columns: 1fr;
    }

    .admin-console-approval-actions {
        justify-content: flex-start;
    }

    .admin-viewlogger-health-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .admin-console-topbar,
    .admin-console-content,
    .admin-console-sidebar {
        padding-left: 16px;
        padding-right: 16px;
    }

    .admin-console-stats,
    .admin-console-action-grid,
    .admin-console-nav,
    .admin-settings-stats,
    .admin-permissions-board,
    .admin-viewlogger-stats,
    .admin-viewlogger-choice-grid,
    .admin-viewlogger-fact-grid,
    .admin-booking-admin-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-console-page-heading h1 {
        font-size: 29px;
    }

    .admin-console-top-actions,
    .admin-console-top-actions > *,
    .admin-console-table-tools,
    .admin-console-table-tools > *,
    .admin-console-filter-form,
    .admin-console-filter-form > *,
    .admin-console-page-heading > .admin-console-primary-button {
        width: 100%;
    }

    .admin-booking-hero {
        grid-template-columns: 1fr;
        padding: 22px 18px;
    }

    .admin-viewlogger-hero {
        padding: 22px 18px;
    }

    .admin-viewlogger-search,
    .admin-viewlogger-log-switch,
    .admin-viewlogger-chooser-search,
    .admin-settings-card-heading,
    .admin-settings-row-main,
    .admin-viewlogger-file summary {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero {
        grid-template-columns: 1fr;
        padding: 22px 18px;
    }

    .admin-booking-orbit {
        min-height: 96px;
    }

    .admin-dashboard-orbit {
        min-height: 96px;
    }

    .admin-dashboard-booking-row {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .admin-dashboard-booking-payment {
        grid-template-columns: 1fr;
    }

    .admin-booking-nav-panel,
    .admin-booking-nav-pills,
    .admin-booking-nav-pills a,
    .admin-booking-audit-link {
        width: 100%;
    }

    .admin-booking-nav-pills a,
    .admin-booking-audit-link {
        justify-content: center;
    }

    .admin-console-table,
    .admin-console-table thead,
    .admin-console-table tbody,
    .admin-console-table tr,
    .admin-console-table td {
        display: block;
        width: 100%;
    }

    .admin-console-table thead {
        display: none;
    }

    .admin-console-table tr {
        padding: 14px;
        border-bottom: 1px solid rgba(150, 255, 174, 0.12);
    }

    .admin-console-table th:nth-child(1),
    .admin-console-table td:nth-child(1),
    .admin-console-table th:nth-child(2),
    .admin-console-table td:nth-child(2),
    .admin-console-table th:nth-child(3),
    .admin-console-table td:nth-child(3),
    .admin-console-table th:nth-child(4),
    .admin-console-table td:nth-child(4),
    .admin-console-table th:nth-child(5),
    .admin-console-table td:nth-child(5) {
        width: 100%;
    }

    .admin-booking-history-table th:nth-child(1),
    .admin-booking-history-table td:nth-child(1),
    .admin-booking-history-table th:nth-child(2),
    .admin-booking-history-table td:nth-child(2),
    .admin-booking-history-table th:nth-child(3),
    .admin-booking-history-table td:nth-child(3),
    .admin-booking-history-table th:nth-child(4),
    .admin-booking-history-table td:nth-child(4),
    .admin-booking-history-table th:nth-child(5),
    .admin-booking-history-table td:nth-child(5),
    .admin-booking-history-table th:nth-child(6),
    .admin-booking-history-table td:nth-child(6),
    .admin-booking-history-table th:nth-child(7),
    .admin-booking-history-table td:nth-child(7),
    .admin-booking-history-table th:nth-child(8),
    .admin-booking-history-table td:nth-child(8),
    .admin-booking-history-table th:nth-child(9),
    .admin-booking-history-table td:nth-child(9),
    .admin-booking-history-table th:nth-child(10),
    .admin-booking-history-table td:nth-child(10) {
        width: 100%;
        text-align: left;
    }

    .admin-console-table tr:last-child {
        border-bottom: 0;
    }

    .admin-console-table td {
        display: grid;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 10px;
        padding: 8px 0;
        border-bottom: 0;
        text-align: left !important;
    }

    .admin-console-table td::before {
        content: attr(data-label);
        color: rgba(237, 246, 239, 0.48);
        font-size: 11px;
        font-weight: 950;
        text-transform: uppercase;
    }

    .admin-console-row-actions {
        flex-wrap: wrap;
    }

    .admin-console-role-card {
        justify-items: start;
    }
}

/* Light admin dashboard refresh. Scoped to the dashboard so shared admin tools keep their existing behavior. */
html:not(.travelnet-dark) .admin-dashboard-page {
    --adm-green: #18a957;
    --adm-green-dark: #0b7f3b;
    --adm-navy: #13243a;
    --adm-text: #26364d;
    --adm-muted: #738195;
    --adm-line: #e6edf5;
    --adm-soft: #f5f8fb;
    --adm-card: #ffffff;
    --adm-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
    margin-top: 0;
    background: #f4f7fb;
    color: var(--adm-text);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-shell {
    grid-template-columns: 276px minmax(0, 1fr);
    min-height: 100vh;
    background: var(--adm-soft);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    min-height: 100vh;
    padding: 28px 18px 22px;
    border-right: 1px solid var(--adm-line);
    background: #ffffff;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-brand {
    grid-template-columns: 48px minmax(0, 1fr);
    color: var(--adm-navy);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #eaf8ef;
    color: var(--adm-green);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-brand strong {
    color: var(--adm-navy);
    font-size: 27px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-brand small {
    color: #7c8999;
    letter-spacing: 2.8px;
    text-transform: uppercase;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav {
    gap: 6px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav-label {
    margin: 18px 14px 7px;
    color: #9aa7b7;
    font-size: 11px;
    letter-spacing: 0.5px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a {
    min-height: 44px;
    border-radius: 12px;
    color: #405067;
    font-size: 14px;
    font-weight: 850;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav .icon {
    color: #8391a3;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a:hover,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a:focus-visible {
    border-color: transparent;
    background: #f1f6f4;
    color: var(--adm-green-dark);
    transform: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a:hover .icon,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a:focus-visible .icon,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a.is-active .icon {
    color: var(--adm-green);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav a.is-active {
    border-color: transparent;
    background: #e9f8ee;
    color: var(--adm-green-dark);
    transform: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-promo {
    min-height: auto;
    padding: 18px;
    border: 1px solid #e4f2e8;
    border-radius: 16px;
    background: #f3fbf5;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-promo strong {
    color: var(--adm-navy);
    font-size: 18px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-promo small,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-profile small,
html:not(.travelnet-dark) .admin-dashboard-page p,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card em,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions small {
    color: var(--adm-muted);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-profile {
    border-top: 1px solid var(--adm-line);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-profile > span {
    background: #eaf8ef;
    color: var(--adm-green-dark);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-profile strong {
    color: var(--adm-navy);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-topbar {
    min-height: 76px;
    padding: 16px 32px;
    border-bottom: 1px solid var(--adm-line);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-search {
    width: min(520px, 100%);
    min-height: 46px;
    border: 1px solid var(--adm-line);
    background: #f7fafc;
    color: #8b98a8;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-search input {
    color: var(--adm-navy);
    font-weight: 750;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-search input::placeholder {
    color: #95a1b0;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-icon-button,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-bot-button,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-filter-button,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-small-action {
    min-height: 44px;
    border-color: var(--adm-line);
    border-radius: 12px;
    background: #ffffff;
    color: #46566d;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-icon-button {
    width: 44px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-primary-button {
    min-height: 44px;
    border-color: var(--adm-green);
    border-radius: 12px;
    background: var(--adm-green);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(24, 169, 87, 0.22);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-icon-button:hover,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-bot-button:hover,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-filter-button:hover,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-small-action:hover,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-primary-button:hover {
    transform: translateY(-1px);
    border-color: rgba(24, 169, 87, 0.36);
    background: #eef9f2;
    color: var(--adm-green-dark);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-primary-button:hover {
    background: var(--adm-green-dark);
    color: #ffffff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-content {
    gap: 20px;
    padding: 28px 32px 36px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-panel,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-result {
    border: 1px solid var(--adm-line);
    border-radius: 16px;
    background: var(--adm-card);
    box-shadow: var(--adm-shadow);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero {
    grid-template-columns: minmax(0, 1fr) 210px;
    min-height: 198px;
    padding: 30px 32px;
}

html:not(.travelnet-dark) .admin-dashboard-page .content-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: #e9f8ee;
    color: var(--adm-green-dark);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero h1 {
    color: var(--adm-navy);
    font-size: 33px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero p {
    max-width: 640px;
    font-size: 15px;
    line-height: 1.65;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-heading-badge,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-badge {
    border-color: #cbeed7;
    background: #edf9f1;
    color: var(--adm-green-dark);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-orbit {
    min-height: 146px;
    color: var(--adm-green);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-orbit span {
    width: 174px;
    height: 82px;
    border-color: rgba(24, 169, 87, 0.26);
    border-left-color: transparent;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-orbit::before {
    width: 112px;
    background:
        radial-gradient(circle at 38% 30%, rgba(24, 169, 87, 0.20), transparent 11%),
        radial-gradient(circle at 64% 48%, rgba(22, 163, 244, 0.14), transparent 13%),
        radial-gradient(circle at 50% 50%, #e9f8ee, #f5fbf7 64%, transparent 65%);
    opacity: 1;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-orbit .icon {
    right: 58px;
    width: 34px;
    height: 34px;
    filter: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stats {
    gap: 16px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 128px;
    padding: 22px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-copy,
html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card > span {
    position: relative;
    z-index: 1;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card > span {
    width: 54px;
    height: 54px;
    border-radius: 15px;
    background: #e9f8ee;
    color: var(--adm-green);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-pending > span {
    background: #fff7dc;
    color: #d49a05;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-bookings > span {
    background: #e8f5ff;
    color: #1687d9;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-admin > span {
    background: #f0eafe;
    color: #7c55df;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card small {
    color: #7b8797;
    font-size: 12px;
    text-transform: uppercase;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card strong {
    color: var(--adm-navy);
    font-size: 30px;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: normal;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-admin strong {
    font-size: 25px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark {
    position: absolute;
    right: 22px;
    top: 50%;
    width: 76px;
    height: 54px;
    z-index: 0;
    pointer-events: none;
    transform: translateY(-50%);
    background: #f2fbf5;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark i {
    width: 8px;
    background: var(--adm-green);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-yellow {
    background: #fffaea;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-yellow i {
    background: #f4c430;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-blue {
    background: #eef8ff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-blue i {
    background: #16a3f4;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-purple {
    background: #f4f0ff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-spark.is-purple i {
    background: #8a5cf6;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-admin .admin-console-stat-spark {
    right: 14px;
    width: 58px;
    opacity: 0.86;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stat-card.is-admin .admin-console-stat-spark i {
    width: 6px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-dashboard-grid {
    grid-template-columns: minmax(0, 1.8fr) minmax(320px, 0.86fr);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-lower-grid {
    display: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-panel {
    padding: 24px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-panel h2 {
    color: var(--adm-navy);
    font-size: 19px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-panel-heading a {
    color: var(--adm-green-dark);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-list {
    gap: 12px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-card {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    border-color: var(--adm-line);
    border-radius: 14px;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-card > span,
html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-empty-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #e9f8ee;
    color: var(--adm-green-dark);
    font-weight: 950;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-card strong {
    color: var(--adm-navy);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-card small {
    color: var(--adm-muted);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-empty-row {
    justify-items: center;
    padding: 38px 18px;
    text-align: center;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-empty-row strong {
    color: var(--adm-navy);
    font-size: 17px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-empty-row small {
    color: var(--adm-muted);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-approve-button {
    border-color: var(--adm-green);
    background: var(--adm-green);
    color: #ffffff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-decline-button {
    border-color: #f1d5d5;
    background: #fff6f6;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-rail {
    gap: 16px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-card {
    grid-template-columns: 136px minmax(0, 1fr);
    gap: 18px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-donut {
    width: 128px;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-donut > span {
    inset: 30px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px var(--adm-line);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-donut strong {
    color: var(--adm-navy);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-donut small {
    color: var(--adm-muted);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-role-list span {
    color: var(--adm-text);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-role-list em {
    color: var(--adm-muted);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions {
    gap: 12px;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a {
    grid-template-columns: 46px minmax(0, 1fr) 24px;
    min-height: 74px;
    border-color: var(--adm-line);
    border-radius: 14px;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a > .icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 12px;
    border-radius: 14px;
    background: #e9f8ee;
    color: var(--adm-green-dark);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a:nth-child(2) > .icon {
    background: #fff7dc;
    color: #c28600;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a:nth-child(3) > .icon {
    background: #e8f5ff;
    color: #1687d9;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions strong {
    color: var(--adm-navy);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions b {
    color: #a5afbd;
    transform: rotate(-90deg);
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a:hover {
    border-color: #cbeed7;
    background: #f7fcf9;
}

html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a:hover b {
    color: var(--adm-green-dark);
}

@media (max-width: 1180px) {
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-shell {
        grid-template-columns: 236px minmax(0, 1fr);
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-shell {
        grid-template-columns: 1fr;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-sidebar {
        position: relative;
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--adm-line);
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-topbar,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-content,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-sidebar {
        padding-left: 16px;
        padding-right: 16px;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-stats,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-card,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-overview-card,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-quick-actions a {
        grid-template-columns: 1fr;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-top-actions,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-top-actions > *,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero-actions,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero-actions > * {
        width: 100%;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-hero h1 {
        font-size: 30px;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-orbit {
        display: none;
    }

    html:not(.travelnet-dark) .admin-dashboard-page .admin-dashboard-request-actions {
        justify-content: flex-start;
    }
}

.content-legacy-card,
.content-info-card,
.content-contact-card,
.content-form-card,
.content-blog-card,
.content-faq-item {
    border: 1px solid rgba(15, 35, 55, 0.07);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 30px rgba(15, 35, 55, 0.06);
}

html.travelnet-dark .content-legacy-card,
html.travelnet-dark .content-info-card,
html.travelnet-dark .content-contact-card,
html.travelnet-dark .content-form-card,
html.travelnet-dark .content-blog-card,
html.travelnet-dark .content-faq-item,
html.travelnet-dark .content-terms-index,
html.travelnet-dark .content-terms-card,
html.travelnet-dark .content-terms-intro {
    border-color: rgba(164, 221, 176, 0.15);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.82);
    color: #edf6ef;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.content-legacy-card {
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 20px;
}

.content-legacy-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--green-soft);
    color: var(--green);
}

.content-legacy-card strong {
    font-size: 17px;
}

.content-legacy-card p {
    font-size: 14px;
}

html.travelnet-dark .content-legacy-card > span,
html.travelnet-dark .content-icon,
html.travelnet-dark .content-faq-plus {
    border: 1px solid rgba(142, 230, 138, 0.18);
    background:
        linear-gradient(135deg, rgba(24, 72, 35, 0.92), rgba(9, 25, 18, 0.9)),
        rgba(9, 25, 18, 0.94);
    color: #8ee68a;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.content-chip-row {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.content-chip-row span,
.content-form-fields span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #fff;
    color: var(--green-dark);
    box-shadow: 0 7px 18px rgba(85, 191, 13, 0.1);
    font-size: 13px;
    font-weight: 800;
}

html.travelnet-dark .content-chip-row span,
html.travelnet-dark .content-form-fields span,
html.travelnet-dark .content-blog-meta span {
    border: 1px solid rgba(164, 221, 176, 0.16);
    background: rgba(8, 23, 20, 0.78);
    color: #dfffe0;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
}

.content-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.content-info-card {
    padding: 22px;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.content-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    border-radius: 15px;
    background:
        linear-gradient(135deg, var(--green-soft), #ffffff);
    color: var(--green);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.content-info-card h2,
.content-contact-card h2,
.content-form-card h2,
.content-blog-card h2 {
    margin: 0 0 8px;
    font-size: 21px;
}

.content-info-card p,
.content-contact-card p,
.content-form-card p,
.content-blog-card p {
    margin: 0;
    color: var(--muted);
}

html.travelnet-dark .content-info-card h2,
html.travelnet-dark .content-contact-card h2,
html.travelnet-dark .content-form-card h2,
html.travelnet-dark .content-blog-card h2,
html.travelnet-dark .content-terms-index h2,
html.travelnet-dark .content-terms-summary,
html.travelnet-dark .content-faq-item summary {
    color: #f3fff4;
}

html.travelnet-dark .content-info-card p,
html.travelnet-dark .content-contact-card p,
html.travelnet-dark .content-form-card p,
html.travelnet-dark .content-blog-card p,
html.travelnet-dark .content-faq-item p,
html.travelnet-dark .content-terms-index ol,
html.travelnet-dark .content-terms-intro,
html.travelnet-dark .content-terms-card p {
    color: rgba(237, 246, 239, 0.74);
}

html.travelnet-dark .content-contact-card-simple p:first-of-type,
html.travelnet-dark .content-blog-card a,
html.travelnet-dark .content-terms-index li::marker {
    color: #8ee68a;
}

.content-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: 16px;
}

.content-contact-layout.is-simple {
    grid-template-columns: 1fr;
}

.content-contact-stack {
    display: grid;
    gap: 14px;
}

.content-contact-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
}

.content-contact-card .content-icon {
    margin-bottom: 0;
}

.content-contact-card-simple p:first-of-type {
    color: var(--ink);
    font-size: 20px;
    font-weight: 900;
}

.content-form-card {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 22px;
    background:
        linear-gradient(180deg, rgba(247, 255, 247, 0.96), rgba(255, 255, 255, 0.94));
}

.content-form-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.content-blog-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.content-blog-card {
    display: grid;
    gap: 12px;
    padding: 22px;
}

.content-blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.content-blog-meta span {
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.content-blog-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 4px;
    color: var(--green-dark);
    font-weight: 900;
}

.content-faq-layout {
    display: grid;
    gap: 12px;
}

.content-faq-item {
    padding: 0;
    overflow: hidden;
}

.content-faq-item summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 68px;
    padding: 18px 20px;
    cursor: pointer;
    font-weight: 900;
    list-style: none;
}

.content-faq-item summary::-webkit-details-marker {
    display: none;
}

.content-faq-plus {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 22px;
    line-height: 1;
}

.content-faq-item[open] .content-faq-plus {
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    color: #fff;
}

html.travelnet-dark .content-faq-item[open] .content-faq-plus {
    background: linear-gradient(135deg, #8ee68a, #15930f);
    color: #06100c;
}

.content-faq-item[open] .content-faq-plus {
    transform: rotate(45deg);
}

.content-faq-item p {
    margin: 0;
    padding: 0 20px 20px;
    color: var(--muted);
}

.content-terms-layout {
    display: grid;
    grid-template-columns: minmax(230px, 0.32fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.content-terms-index,
.content-terms-card,
.content-terms-intro {
    border: 1px solid rgba(15, 35, 55, 0.07);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 30px rgba(15, 35, 55, 0.06);
}

.content-terms-index {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 12px;
    padding: 20px;
}

.content-terms-index h2 {
    margin: 0;
    font-size: 18px;
}

.content-terms-index ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
    font-weight: 800;
}

.content-terms-stack {
    display: grid;
    gap: 14px;
}

.content-terms-intro {
    margin: 0;
    padding: 18px 20px;
    color: var(--muted);
}

.content-terms-card {
    display: block;
    padding: 0;
    overflow: hidden;
}

.content-terms-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 72px;
    padding: 20px 22px;
    margin: 0;
    color: var(--ink);
    cursor: pointer;
    list-style: none;
    font-size: clamp(19px, 2.1vw, 24px);
    font-weight: 900;
    line-height: 1.15;
}

.content-terms-summary::-webkit-details-marker {
    display: none;
}

.content-terms-summary::marker {
    content: "";
}

.content-terms-summary:hover,
.content-terms-summary:focus-visible {
    background: rgba(52, 199, 89, 0.08);
}

.content-terms-summary:focus-visible {
    outline: 3px solid rgba(52, 199, 89, 0.32);
    outline-offset: -3px;
}

.content-terms-toggle {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    transition: transform 180ms ease, color 180ms ease, background 180ms ease;
}

.content-terms-card[open] .content-terms-toggle {
    transform: rotate(45deg);
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    color: #ffffff;
}

.content-terms-body {
    display: grid;
    gap: 12px;
    padding: 18px 22px 22px;
    border-top: 1px solid var(--line);
}

.content-terms-body p {
    margin: 0;
    color: var(--muted);
}

html.travelnet-dark .content-terms-summary:hover,
html.travelnet-dark .content-terms-summary:focus-visible {
    background: rgba(142, 230, 138, 0.08);
}

html.travelnet-dark .content-terms-toggle {
    background: rgba(142, 230, 138, 0.13);
    color: #8ee68a;
}

html.travelnet-dark .content-terms-body {
    border-top-color: rgba(164, 221, 176, 0.15);
}

.my-trips-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.my-trips-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -44px;
    left: calc(50% - 50vw);
    z-index: -1;
    background:
        radial-gradient(circle at 12% 8%, rgba(8, 121, 201, 0.14), transparent 28%),
        radial-gradient(circle at 86% 0%, rgba(255, 196, 87, 0.16), transparent 30%),
        linear-gradient(180deg, #f8fcff 0%, #ffffff 48%, #f5fbf7 100%);
}

.my-trips-shell {
    display: grid;
    gap: 18px;
}

.my-trips-hero,
.my-trips-filter-panel,
.my-trip-card,
.my-trips-cancel-notice,
.my-trips-empty {
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.95)),
        #fff;
    box-shadow: 0 22px 54px rgba(23, 42, 64, 0.12);
}

.my-trips-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 18px;
    align-items: stretch;
    padding: clamp(22px, 3vw, 34px);
    overflow: hidden;
}

.my-trips-hero > *,
.my-trips-filter-panel > *,
.my-trip-card-head > * {
    min-width: 0;
}

.my-trips-hero h1 {
    margin: 12px 0 10px;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 0.98;
}

.my-trips-hero p,
.my-trips-filter-panel p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: 17px;
}

.my-trips-hero-panel {
    display: grid;
    align-content: center;
    gap: 8px;
    min-width: 0;
    padding: 22px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 255, 255, 0.26), transparent 38%),
        linear-gradient(135deg, var(--green), #0f766e);
    color: #fff;
}

.my-trips-hero-panel span {
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 950;
    line-height: 0.9;
}

.my-trips-hero-panel strong {
    font-size: 18px;
}

.my-trips-hero-panel small {
    display: block;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.my-trips-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.my-trips-cancel-notice {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border-radius: 18px;
}

.my-trips-cancel-notice strong {
    color: var(--ink);
    font-size: 16px;
}

.my-trips-cancel-notice span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.my-trips-cancel-notice.is-success {
    border-color: rgba(21, 147, 15, 0.22);
    background:
        linear-gradient(180deg, rgba(233, 248, 231, 0.9), rgba(255, 255, 255, 0.96)),
        #fff;
}

.my-trips-cancel-notice.is-warning {
    border-color: rgba(255, 68, 63, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 236, 235, 0.92), rgba(255, 255, 255, 0.96)),
        #fff;
}

.my-trips-stat {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 32px rgba(23, 42, 64, 0.08);
}

.my-trips-stat span {
    color: var(--green);
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
}

.my-trips-stat strong {
    color: var(--ink);
}

.my-trips-filter-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    gap: 16px;
    align-items: center;
    padding: 20px;
}

.my-trips-filter-panel h2 {
    margin: 0 0 6px;
    font-size: 24px;
}

.my-trips-filter-groups {
    display: grid;
    gap: 10px;
    justify-items: end;
}

.my-trips-search-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 190px) auto auto;
    gap: 9px;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.my-trips-search-form label {
    display: grid;
    gap: 5px;
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 920;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.my-trips-search-form input,
.my-trips-search-form select {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(214, 225, 238, 0.92);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.my-trips-search-form input::placeholder {
    color: rgba(100, 116, 139, 0.78);
}

.my-trips-search-form button,
.my-trips-search-form a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 920;
    text-decoration: none;
    white-space: nowrap;
}

.my-trips-search-form button {
    border: 1px solid rgba(14, 165, 233, 0.34);
    background: linear-gradient(135deg, #0ea5e9, #8b5cf6);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 12px 22px rgba(14, 165, 233, 0.16);
}

.my-trips-search-form a {
    border: 1px solid rgba(214, 225, 238, 0.92);
    background: rgba(255, 255, 255, 0.88);
    color: var(--muted);
}

.my-trips-search-form .icon {
    width: 15px;
    height: 15px;
}

.my-trips-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.my-trips-filter-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(214, 225, 238, 0.95);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
}

.my-trips-filter-pill span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    margin-left: 7px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
}

.my-trips-filter-pill.is-active {
    border-color: rgba(21, 147, 15, 0.22);
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    color: #fff;
}

.my-trips-filter-pill.is-active span {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.my-trips-list {
    display: grid;
    gap: 16px;
}

.my-trips-table-head {
    display: grid;
    grid-template-columns: 0.75fr 1.2fr 1fr 1fr 1.1fr 1.1fr 0.85fr 0.9fr 0.7fr;
    gap: 10px;
    align-items: center;
    padding: 0 18px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.my-trip-table-row .my-trip-card-summary {
    grid-template-columns: minmax(0, 1fr) minmax(420px, auto);
}

.my-trip-card {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 20px;
}

.my-trip-card-head {
    display: flex;
    gap: 18px;
    justify-content: space-between;
    min-width: 0;
}

.my-trip-card-head h2 {
    margin: 8px 0 6px;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.05;
}

.my-trip-card-head p {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
}

.my-trip-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--green-soft);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.my-trip-status.is-history {
    background: #eef3f8;
    color: #475569;
}

.my-trip-status.is-current {
    background: #fff2d6;
    color: #8a4d00;
}

.my-trip-status.is-cancelled {
    background: #ffeceb;
    color: var(--coral-dark);
}

.my-trip-ref {
    display: grid;
    align-content: center;
    justify-items: end;
    min-width: 150px;
    color: var(--muted);
}

.my-trip-ref span {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.my-trip-ref strong {
    color: var(--ink);
    font-size: 18px;
}

.my-trip-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.my-trip-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 11px;
    border-radius: 999px;
    background: #f8fafc;
    color: var(--muted);
    font-size: 13px;
    font-weight: 850;
}

.my-trip-meta-row .icon {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    color: var(--green);
}

.my-trip-items {
    display: grid;
    gap: 10px;
}

.my-trip-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) minmax(180px, 0.34fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(214, 225, 238, 0.76);
    border-radius: 16px;
    background: rgba(248, 252, 255, 0.76);
}

.my-trip-item-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--green-soft);
    color: var(--green);
}

.my-trip-item-icon .icon {
    width: 20px;
    height: 20px;
}

.my-trip-item-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.my-trip-item-main strong {
    color: var(--ink);
    font-size: 17px;
}

.my-trip-item-main span,
.my-trip-item-main small,
.my-trip-item-dates span {
    color: var(--muted);
    font-weight: 750;
}

.my-trip-item-main small {
    font-size: 13px;
}

.my-trip-item-dates {
    display: grid;
    gap: 4px;
    justify-items: end;
    min-width: 0;
    text-align: right;
    font-size: 13px;
}

.my-trip-cancel-panel {
    display: grid;
    gap: 10px;
    padding-top: 2px;
}

.my-trip-cancel-form,
.my-trip-cancel-state {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 0.9fr) auto;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
}

.my-trip-cancel-state {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    border-color: rgba(21, 147, 15, 0.18);
    background: rgba(233, 248, 231, 0.56);
}

.my-trip-cancel-form label,
.my-trip-cancel-state {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.my-trip-cancel-form label {
    display: grid;
    gap: 6px;
}

.my-trip-cancel-form input[type="text"] {
    min-height: 42px;
    width: 100%;
    min-width: 0;
    padding: 0 12px;
    border: 1px solid rgba(214, 225, 238, 0.95);
    border-radius: 12px;
    color: var(--ink);
    font-weight: 800;
}

.my-trip-cancel-confirm {
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
}

.my-trip-cancel-confirm input {
    width: 16px;
    height: 16px;
}

.my-trip-cancel-button {
    min-height: 42px;
    white-space: nowrap;
}

.my-trip-cancel-state strong {
    color: var(--green-dark);
    font-size: 14px;
}

.my-trip-cancel-state span {
    line-height: 1.45;
}

html.travelnet-dark .my-trips-page::before {
    background:
        linear-gradient(90deg, rgba(3, 9, 13, 0.9), rgba(4, 12, 18, 0.7)),
        linear-gradient(180deg, rgba(6, 18, 19, 0.72), rgba(5, 13, 13, 0.96)),
        url("../images/offer-detail-dark-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #071018, #07100c);
}

html.travelnet-dark .my-trips-hero,
html.travelnet-dark .my-trips-filter-panel,
html.travelnet-dark .my-trips-preview-banner,
html.travelnet-dark .my-trips-next-focus,
html.travelnet-dark .my-trip-card,
html.travelnet-dark .my-trips-empty,
html.travelnet-dark .my-trips-stat {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.84);
    color: #edf6ef;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

html.travelnet-dark .my-trips-hero {
    background:
        radial-gradient(circle at 88% 8%, rgba(142, 230, 138, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.064), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.88);
}

html.travelnet-dark .my-trips-hero h1,
html.travelnet-dark .my-trips-filter-panel h2,
html.travelnet-dark .my-trip-card-head h2,
html.travelnet-dark .my-trip-ref strong,
html.travelnet-dark .my-trip-item-main strong,
html.travelnet-dark .my-trips-stat strong,
html.travelnet-dark .my-trips-empty h2 {
    color: #f4fff4;
}

html.travelnet-dark .my-trips-hero p,
html.travelnet-dark .my-trips-filter-panel p,
html.travelnet-dark .my-trip-card-head p,
html.travelnet-dark .my-trip-ref,
html.travelnet-dark .my-trip-meta-row span,
html.travelnet-dark .my-trip-item-main span,
html.travelnet-dark .my-trip-item-main small,
html.travelnet-dark .my-trip-item-dates span,
html.travelnet-dark .my-trips-empty p {
    color: rgba(237, 246, 239, 0.74);
}

html.travelnet-dark .my-trips-hero-panel {
    border: 1px solid rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.18), transparent 42%),
        linear-gradient(135deg, rgba(21, 147, 15, 0.94), rgba(8, 121, 201, 0.68));
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

html.travelnet-dark .my-trips-stat span {
    color: #8ee68a;
}

html.travelnet-dark .my-trips-filter-pill {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 23, 20, 0.78);
    color: #edf6ef;
}

html.travelnet-dark .my-trips-filter-pill span,
html.travelnet-dark .my-trip-status,
html.travelnet-dark .my-trip-item-icon {
    border: 1px solid rgba(142, 230, 138, 0.16);
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .my-trips-filter-pill.is-active {
    border-color: rgba(142, 230, 138, 0.38);
    background: linear-gradient(135deg, #15930f, #0f766e);
    color: #fff;
}

html.travelnet-dark .my-trips-filter-pill.is-active span {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

html.travelnet-dark .my-trip-status.is-history {
    border-color: rgba(180, 198, 186, 0.18);
    background: rgba(36, 49, 50, 0.82);
    color: #cddbd0;
}

html.travelnet-dark .my-trip-status.is-current {
    border-color: rgba(255, 196, 87, 0.24);
    background: rgba(86, 62, 14, 0.62);
    color: #ffd98a;
}

html.travelnet-dark .my-trip-status.is-confirmed {
    border-color: rgba(142, 230, 138, 0.2);
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .my-trip-status.is-pending {
    border-color: rgba(255, 196, 87, 0.24);
    background: rgba(86, 62, 14, 0.62);
    color: #ffd98a;
}

html.travelnet-dark .my-trip-status.is-failed {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

html.travelnet-dark .my-trip-status.is-cancelled {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

html.travelnet-dark .my-trip-meta-row span,
html.travelnet-dark .my-trip-item {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(6, 18, 19, 0.58);
}

html.travelnet-dark .my-trips-cancel-notice,
html.travelnet-dark .my-trip-cancel-form,
html.travelnet-dark .my-trip-cancel-state {
    border-color: rgba(126, 230, 132, 0.16);
    background: linear-gradient(180deg, rgba(15, 31, 23, 0.96), rgba(7, 16, 12, 0.94));
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trips-cancel-notice.is-warning {
    border-color: rgba(255, 139, 132, 0.24);
    background: linear-gradient(180deg, rgba(69, 23, 20, 0.52), rgba(7, 16, 12, 0.94));
}

html.travelnet-dark .my-trips-cancel-notice strong,
html.travelnet-dark .my-trip-cancel-state strong {
    color: #edf6ef;
}

html.travelnet-dark .my-trips-cancel-notice span,
html.travelnet-dark .my-trip-cancel-form label,
html.travelnet-dark .my-trip-cancel-state span {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trip-cancel-form input[type="text"] {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(7, 16, 12, 0.76);
    color: #edf6ef;
    color-scheme: dark;
}

.my-trips-empty {
    display: grid;
    gap: 10px;
    justify-items: start;
    padding: 26px;
}

.my-trips-empty h2 {
    margin: 0;
}

.my-trips-empty p {
    margin: 0;
    color: var(--muted);
}

.my-trips-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 6px;
}

.help-page {
    position: relative;
    isolation: isolate;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.help-page::before {
    content: "";
    position: absolute;
    top: -22px;
    right: calc(50% - 50vw);
    bottom: -44px;
    left: calc(50% - 50vw);
    z-index: -1;
    background:
        radial-gradient(circle at 10% 6%, rgba(21, 147, 15, 0.12), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(8, 121, 201, 0.12), transparent 32%),
        linear-gradient(180deg, #f8fcff 0%, #ffffff 48%, #f4fbf8 100%);
}

.help-shell,
.help-main-stack,
.help-side-stack {
    display: grid;
    gap: 18px;
}

.help-hero,
.help-action-card,
.help-panel {
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.95)),
        #fff;
    box-shadow: 0 22px 54px rgba(23, 42, 64, 0.12);
}

.help-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 18px;
    align-items: stretch;
    padding: clamp(22px, 3vw, 34px);
}

.help-hero > *,
.help-layout > *,
.help-action-card,
.help-panel {
    min-width: 0;
}

.help-hero h1 {
    margin: 12px 0 10px;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 0.98;
}

.help-hero p,
.help-action-card p,
.help-section-heading p,
.help-step p {
    margin: 0;
    color: var(--muted);
}

.help-hero-copy p {
    max-width: 780px;
    font-size: 17px;
}

.help-contact-card {
    display: grid;
    align-content: center;
    gap: 10px;
    padding: 22px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(255, 255, 255, 0.26), transparent 38%),
        linear-gradient(135deg, var(--green), #0f766e);
    color: #fff;
}

.help-contact-card h2,
.help-contact-card p {
    margin: 0;
}

.help-contact-card p {
    color: rgba(255, 255, 255, 0.82);
}

.help-contact-icon {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.18);
}

.help-contact-card .primary-small {
    width: fit-content;
    margin-top: 6px;
    background: #fff;
    color: var(--green-dark);
    box-shadow: none;
}

.help-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.help-action-card {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 18px;
}

.help-action-card > span,
.help-topic-card > span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--green-soft);
    color: var(--green);
}

.help-action-card h2,
.help-topic-card h3,
.help-section-heading h2 {
    margin: 0;
}

.help-action-card h2 {
    font-size: 20px;
}

.help-action-card a,
.secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    color: var(--green-dark);
    font-weight: 900;
}

.help-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
    gap: 18px;
    align-items: start;
}

.help-panel {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.help-section-heading {
    display: grid;
    gap: 8px;
}

.help-topic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.help-topic-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.76);
    border-radius: 16px;
    background: rgba(248, 252, 255, 0.76);
}

.help-topic-card ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-weight: 750;
}

.help-faq-preview {
    display: grid;
    gap: 10px;
}

.help-faq-item {
    border: 1px solid rgba(214, 225, 238, 0.76);
    border-radius: 16px;
    background: rgba(248, 252, 255, 0.78);
    overflow: hidden;
}

.help-faq-item summary {
    cursor: pointer;
    padding: 14px 16px;
    color: var(--ink);
    font-weight: 900;
}

.help-faq-item p {
    margin: 0;
    padding: 0 16px 16px;
    color: var(--muted);
}

.help-step-list,
.help-status-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.help-step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
}

.help-step > span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--green);
    color: #fff;
    font-weight: 950;
}

.help-step strong {
    display: block;
    margin-bottom: 4px;
}

.help-status-list div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(214, 225, 238, 0.76);
    border-radius: 14px;
    background: rgba(248, 252, 255, 0.78);
}

.help-status-list dt {
    color: var(--ink);
    font-weight: 950;
}

.help-status-list dd {
    margin: 0;
    color: var(--muted);
}

html.travelnet-dark .help-page::before {
    background:
        linear-gradient(90deg, rgba(3, 9, 13, 0.9), rgba(4, 12, 18, 0.7)),
        linear-gradient(180deg, rgba(6, 18, 19, 0.72), rgba(5, 13, 13, 0.96)),
        url("../images/offer-detail-dark-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #071018, #07100c);
}

html.travelnet-dark .help-hero,
html.travelnet-dark .help-action-card,
html.travelnet-dark .help-panel {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.84);
    color: #edf6ef;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

html.travelnet-dark .help-hero {
    background:
        radial-gradient(circle at 88% 8%, rgba(142, 230, 138, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.064), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.88);
}

html.travelnet-dark .help-hero h1,
html.travelnet-dark .help-action-card h2,
html.travelnet-dark .help-topic-card h3,
html.travelnet-dark .help-section-heading h2,
html.travelnet-dark .help-step strong,
html.travelnet-dark .help-status-list dt,
html.travelnet-dark .help-faq-item summary {
    color: #f4fff4;
}

html.travelnet-dark .help-hero p,
html.travelnet-dark .help-action-card p,
html.travelnet-dark .help-section-heading p,
html.travelnet-dark .help-topic-card ul,
html.travelnet-dark .help-faq-item p,
html.travelnet-dark .help-step p,
html.travelnet-dark .help-status-list dd {
    color: rgba(237, 246, 239, 0.74);
}

html.travelnet-dark .help-contact-card {
    border: 1px solid rgba(164, 221, 176, 0.22);
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.18), transparent 42%),
        linear-gradient(135deg, rgba(21, 147, 15, 0.94), rgba(8, 121, 201, 0.68));
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

html.travelnet-dark .help-contact-card .primary-small {
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.94);
    color: #0f3d19;
}

html.travelnet-dark .help-action-card > span,
html.travelnet-dark .help-topic-card > span,
html.travelnet-dark .help-step > span {
    border: 1px solid rgba(142, 230, 138, 0.18);
    background:
        linear-gradient(135deg, rgba(24, 72, 35, 0.92), rgba(9, 25, 18, 0.9)),
        rgba(9, 25, 18, 0.94);
    color: #8ee68a;
}

html.travelnet-dark .help-action-card a,
html.travelnet-dark .help-page .secondary-link,
html.travelnet-dark .my-trips-page .secondary-link {
    color: #8ee68a;
}

html.travelnet-dark .help-topic-card,
html.travelnet-dark .help-faq-item,
html.travelnet-dark .help-status-list div {
    border-color: rgba(164, 221, 176, 0.13);
    background: rgba(6, 18, 19, 0.58);
}

@media (hover: hover) {
    .content-info-card:hover,
    .content-blog-card:hover,
    .content-contact-card:hover,
    .content-faq-item:hover {
        transform: translateY(-3px);
        border-color: rgba(85, 191, 13, 0.22);
        box-shadow: 0 18px 38px rgba(15, 35, 55, 0.09);
    }

    .footer-grid a:hover,
    .footer-grid a:focus-visible {
        color: var(--green-dark);
        transform: translateX(2px);
    }
}

@media (hover: hover) {
    .image-story:hover img,
    .offer-card:hover > img,
    .destination-card:hover img {
        transform: scale(1.035);
    }

    .offer-detail-hero:hover .offer-detail-image {
        transform: scale(1.018);
    }

    .offer-detail-page .primary-cta:hover,
    .offer-detail-page .primary-cta:focus-visible {
        transform: translateY(-2px);
        box-shadow: 0 16px 34px rgba(25, 181, 26, 0.34);
    }

    .nav-pill:hover,
    .ghost-button:hover,
    .chip:hover,
    .logo-card:hover,
    .result-card:hover,
    .offer-card:hover,
    .destination-card:hover {
        box-shadow: 0 12px 28px rgba(24, 45, 74, 0.11);
    }
}

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 14px;
    }

    .utility-nav {
        justify-self: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .hero-grid,
    .featured-offers,
    .featured-offer-card {
        grid-template-columns: 1fr;
    }

    .flight-hero,
    .hotel-hero {
        height: auto;
        min-height: 0;
        padding-bottom: 36px;
        overflow: hidden;
    }

    .flight-hero .hero-grid,
    .hotel-hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .flight-hero .feature-card-flight,
    .hotel-hero .feature-card-hotel {
        height: auto;
        margin-top: 0;
    }

    .flight-hero .feature-card-flight > img,
    .hotel-hero .feature-card-hotel > img {
        height: 260px;
    }

    .flight-hero + .trust-strip {
        width: auto;
        margin: 18px 0 16px;
    }

    .logo-row,
    .hotel-brand-row,
    .destination-grid,
    .booking-passenger-grid,
    .inspiration-grid,
    .offer-grid,
    .content-card-grid,
    .content-blog-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .booking-contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    .featured-offer-card {
        grid-template-columns: minmax(260px, 0.82fr) 1fr;
    }

    .featured-offer-card > img,
    .featured-offer-card > .package-image-frame {
        min-height: 300px;
    }

    .offer-detail-layout {
        grid-template-columns: 1fr;
    }

    .offer-hero-copy h1 {
        font-size: 40px;
    }

    .offer-detail-hero,
    .offer-detail-image {
        min-height: 330px;
    }
}

@media (min-width: 1181px) and (max-width: 1320px) {
    .flight-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
        gap: 28px;
    }

    .flight-hero .search-card-flight {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 260px);
    }

    .flight-hero .feature-card-flight {
        min-width: 0;
    }

    .flight-hero .feature-card-flight > img {
        flex: 0 0 236px;
        height: 236px;
    }

    .flight-hero .feature-card-body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 20px 12px;
    }

    .flight-hero .feature-card-body h2 {
        font-size: 22px;
    }

    .flight-hero .feature-card-body p {
        font-size: 14px;
        line-height: 1.42;
    }

    .flight-hero .price-block {
        grid-template-columns: auto auto;
        align-items: end;
        justify-content: space-between;
        gap: 12px;
        padding-top: 10px;
        padding-left: 0;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .flight-hero .text-action {
        margin-top: auto;
        padding: 0 20px 18px;
    }

    .flight-hero .search-card .primary-cta {
        font-size: 19px;
    }
}

@media (max-width: 820px) {
    .site-main {
        padding-top: 14px;
    }

    .primary-nav {
        width: 100%;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .utility-nav {
        gap: 8px;
    }

    .two-col,
    .route-grid,
    .traveller-row,
    .hotel-guests,
    .results-layout,
    .hotel-results-layout,
    .result-card,
    .flight-result-card,
    .hotel-result-card,
    .diagnostic-grid,
    .content-hero-panel,
    .content-card-grid,
    .content-contact-layout,
    .content-blog-list,
    .content-faq-layout,
    .content-terms-layout,
    .my-trips-hero,
    .my-trips-summary-grid,
    .my-trips-filter-panel,
    .my-trip-item,
    .my-trip-cancel-form,
    .my-trip-cancel-state,
    .help-hero,
    .help-quick-grid,
    .help-layout,
    .help-topic-grid,
    .booking-passenger-grid,
    .booking-contact-layout,
    .booking-contact-grid,
    .planning-band,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .content-hero-panel.is-simple {
        grid-template-columns: 1fr;
    }

    .content-hero-panel.is-simple > .content-hero-image {
        min-height: 220px;
        border-top: 1px solid rgba(15, 35, 55, 0.06);
        border-left: 0;
    }

    html.travelnet-dark .content-hero-panel.is-simple > .content-hero-image {
        border-top-color: rgba(164, 221, 176, 0.14);
    }

    .content-terms-index {
        position: static;
    }

    .my-trips-filter-groups,
    .my-trips-filter-row,
    .my-trip-item-dates {
        justify-items: start;
        justify-content: flex-start;
        text-align: left;
    }

    .my-trip-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-trip-ref {
        justify-items: start;
        min-width: 0;
    }

    .booking-form-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .booking-remember-check {
        max-width: none;
    }

    .help-contact-card .primary-small {
        width: 100%;
    }

    .hotel-filter-card {
        position: static;
    }

    .flight-hero-b4 .flight-hero-inner,
    .hotel-hero-b4 .hotel-hero-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .flight-hero-b4 .hero-modify-btn,
    .hotel-hero-b4 .hero-modify-btn {
        width: fit-content;
    }

    .split-round-grid {
        grid-template-columns: 1fr;
    }

    .split-round-heading,
    .split-round-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .split-round-total {
        justify-items: start;
    }

    .split-round-summary {
        position: static;
    }

    .hotel-result-card {
        gap: 0;
    }

    .hotel-image-panel {
        min-height: 260px;
    }

    .hotel-price-panel {
        min-height: auto;
        padding: 20px;
        border-top: 1px solid rgba(192, 207, 218, 0.72);
        border-left: 0;
    }

    html.travelnet-dark .hotel-price-panel {
        border-top-color: rgba(126, 230, 132, 0.18);
        border-left: 0;
        box-shadow: inset 0 1px 0 rgba(126, 230, 132, 0.06);
    }

    .hotel-package-strip-heading {
        align-items: start;
        flex-direction: column;
    }

    .hotel-package-grid {
        grid-template-columns: 1fr;
    }

    .hotel-select-button {
        width: min(260px, 100%);
    }

    .flight-result-card {
        gap: 0;
    }

    .flight-card-content {
        padding: 22px 20px 18px;
    }

    .flight-card-header,
    .journey-summary-row,
    .segment-row {
        grid-template-columns: 1fr;
    }

    .journey-summary-row {
        gap: 8px;
    }

    .journey-time-block.is-arrival,
    .flight-price-panel,
    .flight-result-card .flight-price-panel {
        justify-items: start;
        text-align: left;
    }

    .flight-price-panel,
    .flight-result-card .flight-price-panel {
        min-height: auto;
        padding: 20px;
        border-top: 1px dashed rgba(192, 207, 218, 0.86);
        border-left: 0;
    }

    .flight-timeline {
        min-height: 76px;
        margin: 4px 2px;
    }

    .airline-logo-circle,
    .flight-card-logo {
        justify-self: start;
    }

    .flight-result-card .result-price {
        justify-items: stretch;
    }

    .flight-result-card .flight-price-panel {
        justify-items: start;
    }

    .flight-result-card .primary-small {
        width: min(260px, 100%);
    }

    .route-grid .field-card:nth-of-type(3),
    .route-grid .field-card:nth-of-type(4) {
        grid-column: auto;
    }

    .swap-button {
        justify-self: center;
        transform: rotate(90deg);
    }

    .search-card .primary-cta,
    .member-form .primary-cta {
        float: none;
        width: 100%;
        justify-self: stretch;
    }

    .round-selection-summary {
        grid-template-columns: 1fr;
    }

    .flight-hero,
    .hotel-hero {
        width: calc(100vw - 28px);
        height: auto;
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        padding: 22px 18px;
        overflow: hidden;
    }

    .flight-hero::before {
        display: block;
        top: 24px;
        left: 50%;
        z-index: 2;
        width: 170px;
        height: 54px;
        border-top-width: 2px;
        animation: flightTrailCompact 7s ease-in-out -2.2s infinite;
    }

    .flight-hero::after {
        display: block;
        top: 42px;
        left: 70%;
        z-index: 2;
        font-size: 38px;
        animation: flightPlaneCompact 7s ease-in-out -2.2s infinite;
    }

    .hotel-hero::before {
        display: block;
        top: 24px;
        left: 50%;
        width: 170px;
        height: 54px;
        border-top-width: 2px;
        animation: hotelSparkleTrailCompact 7s ease-in-out -2s infinite;
    }

    .hotel-hero::after {
        display: block;
        top: 42px;
        left: 70%;
        width: 48px;
        height: 32px;
        border-radius: 8px;
        background:
            linear-gradient(90deg, #d9ad3d, #ffe79c) 8px 8px / 12px 8px no-repeat,
            linear-gradient(90deg, rgba(21, 32, 51, 0.28), rgba(21, 32, 51, 0.06)) 27px 11px / 13px 3px no-repeat,
            linear-gradient(90deg, rgba(21, 32, 51, 0.2), rgba(21, 32, 51, 0.04)) 27px 18px / 10px 3px no-repeat,
            linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.88));
        animation: hotelKeycardDriftCompact 7s ease-in-out -2s infinite;
    }

    .flight-hero .hero-grid,
    .hotel-hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .flight-hero .search-card-flight,
    .hotel-hero .search-card-hotel {
        grid-template-columns: 1fr;
    }

    .flight-hero .search-card-flight::before,
    .hotel-hero .search-card-hotel::before {
        inset: -14px -12px -16px;
        border-radius: 18px;
    }

    .flight-hero .route-grid,
    .flight-hero .traveller-row,
    .hotel-hero .hotel-route-grid,
    .hotel-hero .hotel-guests {
        grid-template-columns: 1fr;
    }

    .flight-hero .route-grid,
    .hotel-hero .hotel-route-grid {
        gap: 10px;
    }

    .flight-hero .traveller-row,
    .hotel-hero .hotel-guests {
        gap: 10px;
        padding: 12px;
    }

    .flight-hero .traveller-row .stepper,
    .hotel-hero .hotel-guests .stepper {
        padding-right: 0;
        margin-right: 0;
        padding-bottom: 10px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .flight-hero .traveller-row .stepper:last-of-type,
    .hotel-hero .hotel-guests .stepper:last-of-type {
        border-bottom: 0;
    }

    .flight-hero .stepper-controls,
    .hotel-hero .stepper-controls {
        width: 100%;
        max-width: none;
    }

    .flight-hero .flight-advanced-options,
    .flight-hero .search-card .primary-cta,
    .hotel-hero .hotel-advanced-options,
    .hotel-hero .search-card .primary-cta {
        grid-column: 1;
        grid-row: auto;
    }

    .flight-hero .flight-advanced-options > .form-grid,
    .hotel-hero .hotel-advanced-options > .form-grid {
        grid-template-columns: 1fr;
    }

    .flight-hero .search-card .primary-cta,
    .hotel-hero .search-card .primary-cta {
        width: 100%;
        margin: 10px 0 0;
    }

    .trust-strip,
    .logo-row,
    .hotel-brand-row,
    .destination-grid,
    .inspiration-grid,
    .offer-grid,
    .hotel-result-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-card > img,
    .detail-image {
        height: 260px;
    }

    .featured-offer-card > img,
    .featured-offer-card > .package-image-frame {
        height: 260px;
        min-height: 260px;
    }

    .result-main {
        align-items: flex-start;
        min-width: 0;
    }

    .result-price strong,
    .card-bottom strong,
    .pricing-list div:last-child dd {
        font-size: 28px;
    }

    .offers-hero {
        min-height: 320px;
        padding: 32px 18px;
    }

    .compact-offer {
        grid-template-columns: 1fr;
    }

    .compact-offer img,
    .compact-offer .package-image-frame {
        height: 220px;
    }

    .offer-carousel-panel .section-heading,
    .offer-carousel-actions {
        align-items: flex-start;
        justify-content: flex-start;
    }

    .offer-rail .offer-card {
        flex-basis: min(340px, calc(100vw - 44px));
    }

    .offer-detail-layout,
    .offer-fact-list div {
        grid-template-columns: 1fr;
    }

    .offer-detail-shell {
        width: min(100%, calc(100vw - 28px));
        padding: 18px;
        border-radius: 20px;
        margin-left: auto;
        margin-right: auto;
    }

    .offer-hero-copy {
        position: relative;
        left: auto;
        bottom: auto;
        max-width: none;
        padding: 18px;
    }

    .offer-hero-copy h1 {
        font-size: 27px;
    }

    .offer-hero-copy p {
        max-width: 100%;
        font-size: 14px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .offer-hero-price {
        max-width: calc(100% - 36px);
        position: relative;
        top: auto;
        right: auto;
        margin: 0 18px 18px;
    }

    .offer-detail-page .price-block {
        min-width: 0;
        width: auto;
    }

    .offer-detail-hero {
        display: grid;
        min-height: 0;
        background: #fff;
    }

    html.travelnet-dark .offer-detail-hero {
        background: #071018;
    }

    .offer-detail-hero::before {
        background: linear-gradient(180deg, rgba(8, 27, 45, 0.02), rgba(8, 27, 45, 0.52));
    }

    html.travelnet-dark .offer-detail-hero::before {
        background: linear-gradient(180deg, rgba(2, 8, 13, 0.02), rgba(2, 8, 13, 0.68));
    }

    .offer-detail-image {
        min-height: 0;
        height: 160px;
        grid-row: 1;
    }
}

@media (max-width: 560px) {
    .site-header {
        padding: 14px;
    }

    .site-main,
    .site-footer {
        padding-left: 0;
        padding-right: 0;
    }

    .hero-band,
    .offers-hero {
        border-radius: 0;
        padding: 14px;
        max-width: 100vw;
        overflow: hidden;
    }

    .content-shell {
        border-radius: 0;
        padding: 14px;
    }

    .my-trips-page {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .my-trips-hero,
    .my-trips-filter-panel,
    .my-trip-card,
    .my-trips-empty,
    .help-hero,
    .help-action-card,
    .help-panel {
        border-radius: 16px;
    }

    .my-trips-hero p,
    .my-trips-hero-panel small {
        max-width: 300px;
    }

    .help-page {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .help-hero-copy p,
    .help-contact-card p {
        max-width: 300px;
    }

    .help-contact-card h2 {
        max-width: 280px;
        font-size: 24px;
        line-height: 1.18;
        overflow-wrap: anywhere;
    }

    .help-action-card p {
        max-width: 300px;
    }

    .content-hero-copy,
    .content-legacy-card,
    .content-info-card,
    .content-contact-card,
    .content-form-card,
    .content-blog-card,
    .content-faq-item {
        border-radius: 16px;
    }

    .offer-detail-shell {
        width: calc(100% - 28px);
        max-width: 340px;
        padding: 14px;
        margin-left: 20px;
        margin-right: 0;
    }

    .offer-hero-copy {
        padding: 16px;
    }

    .offer-hero-price {
        max-width: calc(100% - 32px);
        margin: 0 16px 16px;
    }

    .flight-hero,
    .hotel-hero {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 14px;
    }

    .flight-hero .search-card-flight::before,
    .hotel-hero .search-card-hotel::before {
        inset: -10px -8px -12px;
        border-radius: 16px;
    }

    .flight-hero::before {
        top: 22px;
        left: 46%;
        width: 138px;
        height: 46px;
    }

    .flight-hero::after {
        top: 40px;
        left: 72%;
        font-size: 31px;
    }

    .hotel-hero::before {
        top: 22px;
        left: 46%;
        width: 138px;
        height: 46px;
    }

    .hotel-hero::after {
        top: 40px;
        left: 72%;
        width: 42px;
        height: 28px;
    }

    .hero-grid,
    .feature-card {
        max-width: calc(100vw - 28px);
    }

    .search-card {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .search-card,
    .content-panel,
    .page-band,
    .trust-strip,
    .planning-band,
    .footer-grid {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .brand img {
        width: 150px;
        max-height: 42px;
    }

    .nav-pill {
        min-width: 150px;
    }

    .search-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .search-heading h1,
    .page-band h1 {
        font-size: 30px;
    }

    .segmented,
    .segmented label,
    .segmented span {
        width: 100%;
    }

    .segmented {
        display: flex;
    }

    .segmented label {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .segmented span {
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .flight-hero .segmented {
        justify-self: stretch;
        width: 100%;
    }

    .flight-hero .search-heading h1,
    .hotel-hero .search-heading h1,
    .offers-hero h1 {
        font-size: 36px;
    }

    .flight-hero .search-heading p,
    .hotel-hero .search-heading p,
    .offers-hero p {
        font-size: 16px;
    }

    .flight-hero .feature-card-body h2,
    .flight-hero .price-block strong,
    .hotel-hero .feature-card-body h2,
    .hotel-hero .price-block strong {
        white-space: normal;
    }

    .flight-hero .feature-card-flight > img,
    .hotel-hero .feature-card-hotel > img,
    .featured-offer-card > img,
    .featured-offer-card > .package-image-frame,
    .compact-offer img,
    .compact-offer .package-image-frame,
    .offer-card > img,
    .offer-card > .package-image-frame,
    .hotel-image-panel img,
    .destination-card img {
        height: 190px;
        min-height: 0;
    }

    .hotel-results-page {
        width: calc(100vw - 28px);
        max-width: 362px;
        margin-top: 0;
        margin-left: 14px;
        margin-right: 0;
        padding: 18px 0;
    }

    .hotel-results-heading,
    .hotel-results-layout,
    .hotel-filter-card,
    .hotel-result-stack,
    .hotel-result-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .hotel-price-fields {
        grid-template-columns: 1fr;
    }

    .hotel-guest-details-page {
        margin-top: 0;
        max-width: 100vw;
        padding: 18px 14px;
        overflow: hidden;
    }

    .hotel-guest-details-page .detail-card {
        width: 100%;
        max-width: 100%;
        border-radius: 20px;
    }

    .hotel-guest-details-page .section-heading {
        gap: 14px;
        padding: 18px;
    }

    .hotel-results-page::after {
        width: min(180px, 46vw);
        opacity: 0.18;
    }

    .hotel-results-heading {
        gap: 10px;
    }

    .hotel-sort-bar {
        width: 100%;
        border-radius: 18px;
    }

    .hotel-pagination {
        width: calc(100% - 28px);
        margin-left: 14px;
        margin-right: 14px;
        justify-content: flex-start;
    }

    .hotel-summary-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .hotel-summary-line span + span::before {
        content: none;
    }

    .hotel-card-main,
    .hotel-price-panel {
        padding: 18px;
    }

    .hotel-image-panel {
        min-height: 210px;
        padding: 12px;
    }

    .hotel-room-option {
        grid-template-columns: 1fr;
    }

    .hotel-room-option.has-room-image {
        grid-template-columns: 1fr;
    }

    .hotel-room-image-thumb {
        width: 100%;
        height: 168px;
    }

    .hotel-gallery-stage {
        min-height: 260px;
    }

    .hotel-gallery-nav {
        width: 36px;
        height: 36px;
        font-size: 28px;
    }

    .hotel-gallery-thumb {
        flex-basis: 72px;
        width: 72px;
        height: 54px;
    }

    .hotel-live-rate-fields {
        grid-template-columns: 1fr;
    }

    .hotel-live-rate-legacy-details div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .hotel-room-action {
        justify-items: start;
    }

    .hotel-detail-page {
        margin-top: 0;
        max-width: 100vw;
        padding: 18px 14px;
        overflow: hidden;
    }

    .hotel-detail-page .flight-review-shell {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .hotel-detail-page .flight-review-side {
        margin-top: 0;
        position: static;
        top: auto;
    }

    .hotel-detail-page .hotel-indian-body,
    .hotel-detail-page .hotel-indian-meta-grid,
    .hotel-detail-page .hotel-indian-room-row,
    .hotel-detail-page .hotel-indian-extra-grid,
    .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-grid,
    .hotel-detail-page .hotel-accommodation-more-grid {
        grid-template-columns: 1fr;
    }

    .hotel-detail-page .hotel-indian-body,
    .hotel-detail-page .hotel-indian-extra-grid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .hotel-detail-page .hotel-indian-image,
    .hotel-detail-page .hotel-indian-image img {
        height: auto;
        min-height: 210px;
    }

    .hotel-detail-page .hotel-indian-image .hotel-gallery-open-button,
    .hotel-detail-page .hotel-indian-image .hotel-gallery-open-button img {
        min-height: 210px;
    }

    .hotel-indian-room-type-cell {
        align-items: flex-start;
    }

    .hotel-indian-room-type-cell.has-room-image {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr);
    }

    .hotel-indian-room-thumb {
        width: 84px;
        height: 68px;
    }

    .hotel-review-hero,
    .hotel-review-facts-grid,
    .hotel-review-info-grid {
        grid-template-columns: 1fr;
    }

    .hotel-review-hero-media {
        min-height: 190px;
    }

    .hotel-review-room-table .flight-review-table-row {
        grid-template-columns: 1fr;
    }

    .hotel-passenger-hint-row,
    .hotel-guest-hint-row,
    .hotel-contact-detail-note,
    .hotel-accommodation-rules-notice,
    .hotel-reservation-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .hotel-accommodation-rules-notice {
        grid-template-columns: 1fr;
    }

    .hotel-accommodation-rules-scroll-button {
        width: 100%;
        box-sizing: border-box;
    }

    .hotel-passenger-grid,
    .hotel-booking-progress,
    .hotel-accommodation-booking-details,
    .hotel-primary-guest-grid,
    .hotel-contact-layout,
    .hotel-contact-grid,
    .hotel-phone-grid,
    .hotel-notes-grid,
    .hotel-reservation-body,
    .hotel-reservation-detail-grid,
    .hotel-reservation-detail-section dl > div,
    .hotel-accommodation-rule-grid,
    .hotel-reservation-room-row {
        grid-template-columns: 1fr;
    }

    .hotel-booking-progress-step {
        min-height: 38px;
    }

    .hotel-reservation-detail-section,
    .hotel-reservation-detail-section:nth-child(2n) {
        border-right: 0;
    }

    .hotel-reservation-detail-section-wide {
        grid-column: auto;
    }

    .hotel-passenger-grid .booking-date-field,
    .hotel-primary-guest-grid .booking-date-field,
    .hotel-primary-guest-grid .hotel-id-number-field {
        grid-column: auto;
        grid-row: auto;
    }

    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid {
        grid-template-columns: 1fr;
    }

    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .booking-date-field,
    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .hotel-id-number-field,
    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .hotel-department-field,
    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .hotel-role-field,
    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .hotel-guest-email-field,
    .hotel-guest-details-page .hotel-booking-card .hotel-primary-guest-grid .hotel-guest-phone-field,
    .hotel-guest-details-page .hotel-contact-grid .field-card {
        grid-column: auto;
        grid-row: auto;
    }

    .hotel-indian-card-top,
    .hotel-indian-body,
    .hotel-indian-meta-grid,
    .hotel-indian-room-row,
    .hotel-indian-extra-grid {
        grid-template-columns: 1fr;
    }

    .hotel-indian-card-top {
        align-items: start;
    }

    .hotel-indian-body,
    .hotel-indian-extra-grid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .hotel-indian-search-note {
        margin-left: 14px;
        margin-right: 14px;
    }

    .hotel-indian-total {
        align-items: flex-start;
        flex-direction: column;
    }

    .logo-token {
        flex: 0 0 auto;
    }

    .result-card {
        padding: 14px;
    }

    .flight-results-page {
        margin-top: 0;
        padding: 18px 14px;
    }

    .flight-journey-summary-page {
        margin-top: 0;
        max-width: 100vw;
        padding: 18px 14px;
        overflow: hidden;
    }

    .flight-review-shell {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .flight-review-main h1 {
        font-size: 22px;
    }

    .flight-review-hero {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 18px;
        border-radius: 18px;
    }

    .flight-review-hero-price {
        max-width: 100%;
    }

    .hotel-confirmation-hero h2 {
        font-size: clamp(24px, 7vw, 32px);
    }

    .flight-review-steps {
        gap: 1px;
        margin: 14px 0 18px;
        padding: 0 8px;
    }

    .flight-review-step {
        flex-basis: 132px;
        min-width: 132px;
        padding-left: 22px;
    }

    .flight-review-route-title,
    .flight-review-leg-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .flight-review-table-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 10px;
    }

    .flight-review-table-head {
        display: none;
    }

    .flight-review-actions {
        grid-template-columns: 1fr;
        margin-top: 22px;
    }

    .flight-review-actions .ghost-button,
    .flight-review-actions .primary-cta,
    .flight-review-rules-btn {
        width: 100%;
        justify-content: center;
    }

    .payment-return-card {
        border-radius: 18px;
        padding: 16px;
    }

    .payment-return-status,
    .payment-return-details,
    .payment-return-detail-card {
        grid-template-columns: 1fr;
    }

    .payment-return-status {
        align-items: start;
    }

    .payment-return-detail-card {
        min-height: 0;
    }

    .payment-return-actions .primary-cta {
        width: 100%;
    }

    .flight-review-side {
        gap: 18px;
        margin-top: 0;
        position: static;
        top: auto;
    }

    .flight-review-call-card {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .flight-traveller-details-page {
        margin-top: 0;
        max-width: 100vw;
        padding: 18px 14px;
        overflow: hidden;
    }

    .flight-traveller-details-page .detail-card {
        width: 100%;
        max-width: 100%;
        border-radius: 20px;
    }

    .flight-traveller-card {
        padding: 0 14px 18px;
    }

    .flight-traveller-selected-flight-summary,
    .flight-tax-breakdown-row,
    .flight-weather-card-grid,
    .flight-traveller-result-table .flight-review-table-row {
        grid-template-columns: 1fr;
    }

    .flight-traveller-card .booking-contact-grid,
    .hotel-booking-card .booking-contact-grid {
        grid-template-columns: 1fr;
    }

    .flight-traveller-card .booking-contact-grid .wide-field,
    .hotel-booking-card .booking-contact-grid .wide-field {
        grid-column: auto;
    }

    .hotel-booking-card {
        padding: 0 14px 18px;
    }

    .flight-traveller-rules-inline {
        width: 100%;
        min-width: 0;
    }

    .flight-payment-card,
    .flight-confirmation-card {
        padding: 0 14px 18px;
    }

    .flight-payment-options,
    .payment-provider-funnel-grid,
    .flight-payment-grid,
    .flight-confirmation-reference-grid,
    .flight-confirmation-ticket-grid,
    .flight-confirmation-ticket-card dl {
        grid-template-columns: 1fr;
    }

    .flight-confirmation-ticket-body {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route {
        grid-template-columns: max-content 24px max-content;
        gap: 5px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route span {
        gap: 4px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route strong {
        font-size: 22px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route small {
        font-size: 11px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route .icon {
        width: 22px;
        height: 22px;
        padding: 3px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route::before,
    .flight-confirmation-page .flight-confirmation-ticket-route::after {
        display: none;
    }

    .flight-confirmation-ticket-stub {
        min-height: 0;
        justify-items: center;
        border-left: 1px solid rgba(34, 197, 94, 0.44);
        text-align: center;
    }

    .flight-confirmation-ticket-stub strong {
        justify-self: center;
    }

    .flight-confirmation-ticket-stub small {
        justify-self: center;
        text-align: right;
    }

    .flight-confirmation-ticket-secure {
        grid-template-columns: 34px minmax(0, 1fr);
        margin: 0 12px 12px;
    }

    .flight-confirmation-status {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .flight-traveller-details-page .section-heading {
        gap: 14px;
        padding: 18px;
    }

    .flight-traveller-details-page .selected-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .flight-results-heading,
    .hotel-results-heading {
        padding: 18px;
        border-radius: 20px;
    }

    .flight-results-heading h1,
    .hotel-results-heading h1 {
        font-size: 40px;
    }

    .flight-results-heading.flight-hero-b4 h1,
    .hotel-results-heading.hotel-hero-b4 h1 {
        font-size: 34px;
    }

    .flight-results-heading p,
    .hotel-results-heading p {
        width: 100%;
        border-radius: 18px;
        font-size: 14px;
        line-height: 1.35;
        white-space: normal;
    }

    .sort-bar {
        padding-left: 0;
        padding-right: 0;
    }

    .flight-results-page .sort-bar {
        max-width: 100%;
        min-width: 0;
        width: 100%;
        border-radius: 18px;
    }

    .flight-results-page .sort-pill {
        flex: 0 1 auto;
        min-height: 32px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px;
    }

    .flight-results-page .result-stack,
    .flight-results-page .flight-result-card,
    .flight-results-page .flight-card-content,
    .flight-results-page .flight-card-timeline,
    .flight-results-page .journey-summary-row,
    .flight-results-page .flight-timeline {
        max-width: 100%;
        min-width: 0;
    }

    .flight-results-page .flight-brand-block {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .flight-results-page .airline-logo-circle,
    .flight-results-page .flight-card-logo {
        width: 118px;
        max-width: 100%;
    }

    .flight-results-page .route-code-line {
        font-size: 26px;
    }

    .flight-results-page .flight-card-content {
        overflow: hidden;
    }

    .flight-results-page .flight-timeline {
        overflow: hidden;
    }

    .flight-pagination {
        width: calc(100% - 28px);
        margin-left: 14px;
        margin-right: 14px;
        justify-content: flex-start;
    }

    .featured-offer-card h2 {
        font-size: 22px;
        line-height: 1.22;
        max-width: calc(100vw - 48px);
    }

    .offers-hero .chip-row {
        max-width: 330px;
        margin-left: auto;
        margin-right: auto;
    }

    .result-price strong,
    .price-block strong,
    .card-bottom strong,
    .pricing-list div:last-child dd {
        font-size: 25px;
    }

    .offer-detail-page .price-block strong {
        font-size: 29px;
    }

    .trust-strip,
    .logo-row,
    .hotel-brand-row,
    .destination-grid,
    .inspiration-grid,
    .offer-grid,
    .hotel-result-grid,
    .step-row {
        grid-template-columns: 1fr;
    }

    .feature-card-body,
    .detail-grid,
    .card-bottom,
    .section-heading,
    .pricing-list div {
        align-items: flex-start;
        flex-direction: column;
    }

    .price-block {
        border-left: 0;
        padding-left: 0;
    }

    .planning-band-actions {
        grid-template-columns: 1fr;
    }
}

/* Cars homepage approved mockup, scoped so the green car theme does not leak into flights/hotels. */
.page-cars .car-modern-hero {
    position: relative;
    isolation: isolate;
    width: calc(100vw - 44px);
    min-height: 560px;
    margin: 0 calc(50% - 50vw + 22px) 18px;
    padding: 36px 44px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(3, 53, 36, 0.36), rgba(3, 84, 55, 0.12) 48%, rgba(255, 255, 255, 0.08)),
        url("../images/car-coastal-road-hero.png") center / cover;
    box-shadow: 0 22px 58px rgba(13, 51, 37, 0.18);
}

.page-cars .car-modern-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(245, 248, 251, 0.18));
}

.page-cars .car-modern-hero .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: start;
    max-width: 1240px;
    margin: 0 auto;
}

.page-cars .search-card-car {
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-top: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 70px rgba(5, 38, 27, 0.2);
}

.page-cars .car-modern-hero {
    margin-bottom: 72px;
}

.page-cars .search-card-car .heading-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(180deg, #24b317, #078b0d);
    color: #fff;
    box-shadow: 0 12px 26px rgba(21, 147, 15, 0.24);
}

.page-cars .search-card-car .search-heading h1 {
    font-size: clamp(32px, 4vw, 44px);
}

.page-cars .search-card-car .search-heading p {
    color: #263447;
    font-weight: 700;
}

.page-cars .search-card-car .field-card > .field-control,
.page-cars .search-card-car .field-card select {
    border-color: rgba(208, 218, 230, 0.92);
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 35, 55, 0.06);
}

.page-cars .search-card-car .primary-cta {
    min-height: 58px;
    padding: 0 26px;
    border-radius: 8px;
    background: linear-gradient(180deg, #ff5b55, #ef3633);
    box-shadow: 0 16px 30px rgba(255, 68, 63, 0.24);
}

.page-cars .car-promo-card {
    display: grid;
    gap: 12px;
    margin-top: 12px;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(5, 38, 27, 0.18);
}

.page-cars .car-promo-card .content-eyebrow {
    color: var(--green);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

html.travelnet-dark .page-cars .car-promo-card .content-eyebrow {
    border-color: rgba(164, 221, 176, 0.28);
    background:
        linear-gradient(135deg, rgba(24, 72, 35, 0.94), rgba(9, 25, 18, 0.92)),
        rgba(9, 25, 18, 0.96);
    color: #e6ffe6;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.page-cars .car-promo-card h2,
.page-cars .car-promo-card h3 {
    margin: 0;
}

.page-cars .car-promo-card h2 {
    font-size: 28px;
    line-height: 1.08;
}

.page-cars .car-promo-card p {
    margin: 0;
    color: #243247;
    font-weight: 700;
}

.page-cars .car-promo-cta {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 8px;
    background: linear-gradient(180deg, #18a912, #087f0d);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(21, 147, 15, 0.24);
}

.page-cars .car-promo-divider {
    height: 1px;
    margin: 8px 0;
    background: rgba(15, 35, 55, 0.12);
}

.page-cars .car-benefit-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-cars .car-benefit-list li {
    display: grid;
    grid-template-columns: 40px 1fr;
    grid-template-rows: auto auto;
    gap: 1px 12px;
    align-items: center;
}

.page-cars .car-benefit-list span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f4f8f5;
    color: var(--ink);
}

.page-cars .car-benefit-list strong {
    font-size: 14px;
}

.page-cars .car-benefit-list small {
    color: #526174;
    font-weight: 700;
}

.page-cars .car-service-tiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    max-width: 1240px;
    margin: 0 auto 18px;
}

.page-cars .car-service-tile {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 16px;
    align-items: start;
    min-height: 138px;
    padding: 22px;
    border: 1px solid rgba(223, 230, 239, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(15, 35, 55, 0.08);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.page-cars .car-service-tile:hover,
.page-cars .car-service-tile:focus-visible {
    border-color: rgba(21, 147, 15, 0.28);
    box-shadow: 0 20px 42px rgba(15, 35, 55, 0.12);
    transform: translateY(-2px);
}

.page-cars .car-service-tile > span {
    grid-row: 1 / 4;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
}

.page-cars .car-service-tile strong {
    font-size: 20px;
}

.page-cars .car-service-tile small {
    color: #3d4b60;
    font-size: 15px;
}

.page-cars .car-service-tile em {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--green);
    font-style: normal;
    font-weight: 900;
}

.page-cars .planning-band {
    max-width: 1240px;
    margin: 0 auto 18px;
    border-radius: 8px;
    background: linear-gradient(135deg, #045b42 0%, #047d42 52%, #0aa114 100%);
}

.page-cars .footer-grid-car-modern {
    grid-template-columns: 1fr 1fr 1fr 1fr 1.25fr;
    max-width: 1240px;
    margin: 0 auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
}

.page-cars .footer-grid-car-modern.footer-grid-no-social {
    grid-template-columns: 1fr 1fr 1fr 1.25fr;
}

.page-cars .footer-grid-car-modern a {
    gap: 0;
}

.page-cars .footer-grid-car-modern .social-row a {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(21, 147, 15, 0.14);
    border-radius: 50%;
    background: #fff;
    color: var(--green-dark);
    font-weight: 900;
}

@media (max-width: 1180px) {
    .page-cars .car-modern-hero {
        width: calc(100vw - 28px);
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        padding: 28px 20px;
    }

    .page-cars .car-modern-hero .hero-grid,
    .page-cars .car-service-tiles,
    .page-cars .footer-grid-car-modern {
        grid-template-columns: 1fr 1fr;
    }

    .page-cars .car-modern-hero .hero-grid {
        gap: 20px;
    }
}

@media (max-width: 760px) {
    .page-cars .car-modern-hero {
        padding: 18px 14px;
    }

    .page-cars .car-modern-hero .hero-grid,
    .page-cars .car-service-tiles,
    .page-cars .footer-grid-car-modern {
        grid-template-columns: 1fr;
    }

    .page-cars .car-promo-card {
        margin-top: 0;
        padding: 22px;
    }

    .page-cars .planning-band {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

/* Final dark-mode brand polish: use the dark Realtime mark instead of a white sticker. */
html.travelnet-dark .site-header .brand {
    min-height: 54px;
    padding: 6px 11px 7px;
    border: 1px solid rgba(121, 222, 128, 0.28);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(9, 34, 20, 0.78) 0%, rgba(4, 18, 12, 0.62) 100%);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.26),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset,
        0 0 28px rgba(71, 207, 83, 0.20);
}

html.travelnet-dark .site-header .brand:hover,
html.travelnet-dark .site-header .brand:focus-visible {
    border-color: rgba(146, 238, 148, 0.48);
    background:
        linear-gradient(135deg, rgba(12, 45, 26, 0.84) 0%, rgba(5, 23, 15, 0.72) 100%);
    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.30),
        0 0 0 1px rgba(255, 255, 255, 0.10) inset,
        0 0 34px rgba(76, 220, 88, 0.28);
}

html.travelnet-dark .site-header .brand-logo-light {
    display: none;
}

html.travelnet-dark .site-header .brand-logo-dark {
    display: block;
}

html.travelnet-dark .site-header .brand img {
    width: 166px;
    max-height: 42px;
    filter:
        saturate(1.10)
        contrast(1.08)
        drop-shadow(0 0 11px rgba(119, 240, 132, 0.18))
        drop-shadow(0 8px 16px rgba(0, 0, 0, 0.32));
}

@media (max-width: 560px) {
    html.travelnet-dark .site-header .brand {
        min-height: 50px;
        padding: 6px 11px;
    }

    html.travelnet-dark .site-header .brand img {
        width: 154px;
        max-height: 39px;
    }
}

/* Cars promo moved below the hero so the hero stays focused on search. */
.page-cars .car-modern-hero .hero-grid {
    grid-template-columns: minmax(680px, 840px);
    justify-content: start;
}

.page-cars .car-promo-panel {
    max-width: 1240px;
    margin: 0 auto 18px;
}

.page-cars .car-promo-card-outside {
    display: grid;
    grid-template-columns: minmax(240px, 0.65fr) auto minmax(420px, 1.35fr);
    gap: 22px;
    align-items: center;
    min-height: 0;
    margin-top: 0;
    padding: 24px;
    border: 1px solid rgba(223, 230, 239, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(15, 35, 55, 0.08);
}

.page-cars .car-promo-card-outside .car-promo-copy {
    display: grid;
    gap: 8px;
}

.page-cars .car-promo-card-outside .car-promo-cta {
    margin-top: 4px;
}

.page-cars .car-promo-card-outside .car-promo-divider {
    width: 1px;
    height: 100%;
    min-height: 92px;
    margin: 0;
}

.page-cars .car-promo-benefits {
    display: grid;
    gap: 12px;
}

.page-cars .car-promo-card-outside .car-benefit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
    .page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-cars .car-promo-card-outside {
        grid-template-columns: 1fr;
    }

    .page-cars .car-promo-card-outside .car-promo-divider {
        width: 100%;
        height: 1px;
        min-height: 1px;
    }
}

@media (max-width: 760px) {
    .page-cars .car-promo-panel {
        margin-left: auto;
        margin-right: auto;
    }

    .page-cars .car-promo-card-outside .car-benefit-list {
        grid-template-columns: 1fr;
    }
}

/* Align cars hero with the established flights/hotels hero treatment. */
.page-cars .car-modern-hero {
    height: 730px;
    min-height: 730px;
    padding: 36px 44px 0;
    overflow: visible;
    border-radius: 12px;
    color: #fff;
    background:
        radial-gradient(circle at 76% 16%, rgba(255, 206, 116, 0.44) 0, rgba(255, 206, 116, 0.14) 18%, transparent 36%),
        radial-gradient(circle at 14% 8%, rgba(75, 218, 190, 0.3) 0, rgba(75, 218, 190, 0.12) 24%, transparent 42%),
        linear-gradient(105deg, rgba(4, 43, 31, 0.84) 0%, rgba(4, 92, 55, 0.54) 45%, rgba(255, 255, 255, 0.08) 100%),
        url("../images/car-coastal-road-hero.png") center / cover;
}

.page-cars .car-modern-hero::before {
    background:
        linear-gradient(90deg, rgba(4, 42, 31, 0.28), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(245, 248, 251, 0.08));
}

.page-cars .car-modern-hero .hero-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    max-width: none;
    align-items: start;
}

.page-cars .search-card-car {
    position: relative;
    z-index: 60;
    isolation: isolate;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.42fr);
    gap: 10px 22px;
    align-items: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
}

.page-cars .search-card-car::before {
    content: "";
    position: absolute;
    inset: -20px -18px -24px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.24), transparent 34%),
        rgba(4, 46, 35, 0.18);
    box-shadow: 0 24px 70px rgba(4, 36, 27, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.34);
    backdrop-filter: blur(2px);
}

.page-cars .search-card-car .search-heading {
    grid-column: 1 / -1;
}

.page-cars .search-card-car .search-heading {
    display: block;
    margin-bottom: 10px;
}

.page-cars .search-card-car .heading-icon {
    display: none;
}

.page-cars .search-card-car .search-heading h1 {
    color: #fff;
    font-size: clamp(34px, 3.6vw, 42px);
    text-shadow: 0 8px 24px rgba(3, 24, 45, 0.38);
}

.page-cars .search-card-car .search-heading p {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-shadow: 0 6px 18px rgba(3, 24, 45, 0.32);
}

.page-cars .car-route-grid {
    grid-column: 1 / 2;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
    align-items: start;
}

.page-cars .car-country-field {
    grid-column: 1;
    grid-row: 1;
}

.page-cars .car-vendor-field {
    grid-column: 2;
    grid-row: 1;
}

.page-cars .car-pickup-field {
    grid-column: 1;
    grid-row: 2;
}

.page-cars .car-dropoff-location-field {
    grid-column: 2;
    grid-row: 2;
}

.page-cars .car-pickup-date-field {
    grid-column: 1;
    grid-row: 3;
}

.page-cars .car-return-date-field {
    grid-column: 2;
    grid-row: 3;
}

.page-cars .car-pickup-time-field {
    grid-column: 1;
    grid-row: 4;
}

.page-cars .car-return-time-field {
    grid-column: 2;
    grid-row: 4;
}

.page-cars .car-route-grid .field-card {
    position: relative;
    gap: 0;
    color: var(--ink);
    font-size: 13px;
}

.page-cars .car-route-grid .field-card > .field-label {
    position: absolute;
    top: 8px;
    left: 14px;
    z-index: 1;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    font-size: 13px;
    font-weight: 500;
}

.page-cars .search-card-car .field-card > .field-control,
.page-cars .search-card-car .field-card select {
    min-height: 56px;
    padding: 20px 14px 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(0, 38, 70, 0.18);
}

.page-cars .search-card-car .field-card select {
    padding: 20px 14px 8px;
}

.page-cars .search-card-car .field-card > .field-control input {
    font-size: 14px;
    font-weight: 700;
}

.page-cars .car-toggles {
    grid-column: 1 / 2;
    grid-row: 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 8px 0;
    padding: 10px 18px 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    color: var(--ink);
    box-shadow: 0 12px 28px rgba(0, 38, 70, 0.18);
}

.page-cars .car-toggles .toggle-card {
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding-right: 18px;
    margin-right: 18px;
    border-right: 1px solid var(--line);
}

.page-cars .car-toggles .toggle-card:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
}

.page-cars .car-advanced-options {
    grid-column: 2 / 3;
    grid-row: 2 / 4;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 430px;
    overflow: auto;
    margin-top: 0;
    padding: 0;
    border-top: 0;
    color: var(--ink);
}

.page-cars .car-advanced-options summary {
    display: flex;
    align-items: center;
    min-height: 42px;
    margin-bottom: 8px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(0, 38, 70, 0.18);
    text-shadow: none;
}

.page-cars .car-advanced-options > .form-grid,
.page-cars .car-extra-grid {
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(0, 38, 70, 0.18);
}

.page-cars .car-advanced-options .field-card {
    gap: 4px;
    font-size: 12px;
}

.page-cars .car-advanced-options .field-card > .field-control,
.page-cars .car-advanced-options .field-card select {
    min-height: 42px;
    height: 42px;
    padding-top: 0;
    padding-bottom: 0;
}

.page-cars .car-advanced-options > .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-cars .car-advanced-options > .form-grid .field-card:last-child {
    grid-column: 1 / -1;
}

.page-cars .car-extra-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 146px;
    overflow: auto;
    margin-top: 8px;
}

.page-cars .car-extra-grid .toggle-card {
    min-height: 32px;
    padding: 4px 0;
    font-size: 12px;
}

.page-cars .car-advanced-options::-webkit-scrollbar,
.page-cars .car-extra-grid::-webkit-scrollbar {
    width: 7px;
}

.page-cars .car-advanced-options::-webkit-scrollbar-thumb,
.page-cars .car-extra-grid::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(21, 147, 15, 0.3);
}

.page-cars .search-card-car .primary-cta {
    position: relative;
    z-index: 3;
    grid-column: 2 / 3;
    grid-row: 4;
    align-self: start;
    justify-self: stretch;
    width: 100%;
    min-height: 58px;
    margin: 0;
    border: 2px solid rgba(255, 255, 255, 0.78);
    border-radius: 10px;
    font-size: 21px;
    box-shadow: 0 16px 34px rgba(255, 68, 63, 0.26), 0 8px 20px rgba(4, 32, 55, 0.2);
}

.page-cars .car-promo-card {
    min-height: 478px;
    margin-top: -20px;
    padding: 28px;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: 0 26px 60px rgba(4, 32, 55, 0.22);
}

@media (max-width: 1180px) {
    .page-cars .car-modern-hero {
        height: auto;
        min-height: 0;
        padding-bottom: 36px;
        overflow: hidden;
    }

    .page-cars .car-modern-hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .page-cars .search-card-car {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-cars .car-route-grid,
    .page-cars .car-toggles,
    .page-cars .car-advanced-options,
    .page-cars .search-card-car .primary-cta {
        grid-column: 1;
        grid-row: auto;
    }

    .page-cars .car-extra-grid {
        max-height: none;
        overflow: visible;
    }

    .page-cars .car-promo-card {
        min-height: 0;
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    .page-cars .car-modern-hero {
        width: calc(100vw - 28px);
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        padding: 22px 18px;
    }

    .page-cars .search-card-car::before {
        inset: -14px -12px -16px;
        border-radius: 18px;
    }

    .page-cars .car-route-grid,
    .page-cars .car-toggles {
        grid-template-columns: 1fr;
    }

    .page-cars .car-route-grid .field-card {
        grid-column: 1;
        grid-row: auto;
    }

    .page-cars .car-toggles {
        gap: 10px;
        padding: 12px;
    }

    .page-cars .car-toggles .toggle-card {
        padding-right: 0;
        margin-right: 0;
        padding-bottom: 10px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .page-cars .car-toggles .toggle-card:last-child {
        border-bottom: 0;
    }

    .page-cars .car-advanced-options,
    .page-cars .search-card-car .primary-cta {
        grid-column: 1;
        grid-row: auto;
    }

    .page-cars .car-advanced-options > .form-grid,
    .page-cars .car-extra-grid {
        grid-template-columns: 1fr;
    }

    .page-cars .search-card-car .primary-cta {
        width: 100%;
        margin: 10px 0 0;
    }
}

/* Approved modern cars hero panel. */
.page-cars .car-modern-hero {
    position: relative;
    isolation: isolate;
    width: calc(100vw - 44px);
    min-height: 560px;
    height: auto;
    margin-left: calc(50% - 50vw + 22px);
    margin-right: calc(50% - 50vw + 22px);
    padding: 36px 44px;
    overflow: visible;
    border-radius: 12px;
    color: #fff;
    background:
        radial-gradient(circle at 76% 16%, rgba(255, 206, 116, 0.58) 0, rgba(255, 206, 116, 0.18) 18%, transparent 36%),
        radial-gradient(circle at 15% 8%, rgba(73, 222, 128, 0.42) 0, rgba(73, 222, 128, 0.18) 24%, transparent 42%),
        radial-gradient(circle at 56% 88%, rgba(255, 68, 63, 0.28) 0, transparent 36%),
        linear-gradient(105deg, rgba(5, 45, 34, 0.94) 0%, rgba(5, 93, 52, 0.78) 43%, rgba(21, 147, 15, 0.38) 66%, rgba(255, 255, 255, 0.18) 100%),
        url("../images/car-coastal-road-hero.png") center / cover;
    box-shadow: 0 24px 70px rgba(7, 59, 32, 0.22);
}

.page-cars .car-modern-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, rgba(4, 35, 28, 0.36), rgba(4, 76, 42, 0.16) 58%, rgba(255, 255, 255, 0.08));
    pointer-events: none;
}

.page-cars .car-modern-hero .hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: start;
    max-width: none;
    margin: 0 auto;
}

.page-cars .search-card-car {
    position: relative;
    z-index: 60;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    max-width: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
}

.page-cars .search-card-car::before {
    content: "";
    position: absolute;
    inset: -20px -18px -24px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.23), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.25), transparent 34%),
        rgba(5, 59, 39, 0.18);
    box-shadow: 0 24px 70px rgba(4, 44, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    backdrop-filter: blur(2px);
}

.page-cars .search-card-car .search-heading {
    display: block;
    margin: 0 0 6px;
}

.page-cars .search-card-car .heading-icon {
    display: none;
}

.page-cars .search-card-car .heading-icon .icon {
    width: 34px;
    height: 34px;
    stroke-width: 2.2;
}

.page-cars .search-card-car .search-heading h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: 1.05;
    text-shadow: 0 8px 24px rgba(3, 24, 45, 0.36);
}

.page-cars .search-card-car .search-heading p {
    margin: 2px 0 0;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    text-shadow: 0 6px 18px rgba(3, 24, 45, 0.3);
}

.page-cars .car-form-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.95fr);
    gap: 14px;
    align-items: start;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
}

.page-cars .car-main-panel {
    display: grid;
    gap: 7px;
    align-content: start;
    align-self: start;
    min-width: 0;
}

.page-cars .car-form-panel .car-route-grid {
    grid-column: auto;
    grid-row: auto;
    display: grid;
    grid-template-columns: minmax(230px, 1.25fr) minmax(170px, 0.78fr) minmax(130px, 0.58fr);
    gap: 8px 12px;
    align-items: end;
}

.page-cars .car-form-panel .car-country-field {
    grid-column: 1;
    grid-row: 1;
}

.page-cars .car-form-panel .car-vendor-field {
    grid-column: 2 / 4;
    grid-row: 1;
}

.page-cars .car-form-panel .car-pickup-field {
    grid-column: 1;
    grid-row: 2;
}

.page-cars .car-form-panel .car-pickup-date-field {
    grid-column: 2;
    grid-row: 2;
}

.page-cars .car-form-panel .car-pickup-time-field {
    grid-column: 3;
    grid-row: 2;
}

.page-cars .car-form-panel .car-dropoff-location-field {
    grid-column: 1;
    grid-row: 3;
}

.page-cars .car-form-panel .car-return-date-field {
    grid-column: 2;
    grid-row: 3;
}

.page-cars .car-form-panel .car-return-time-field {
    grid-column: 3;
    grid-row: 3;
}

.page-cars .car-form-panel .field-card {
    display: grid;
    gap: 0;
    min-width: 0;
    color: #101a2f;
    font-size: 13px;
    font-weight: 800;
}

.page-cars .car-form-panel .field-card > .field-label {
    position: absolute;
    top: 6px;
    left: 12px;
    z-index: 1;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #101a2f;
    font-size: 11px;
    font-weight: 500;
}

.page-cars .car-form-panel .field-card > .field-control,
.page-cars .car-form-panel .field-card select {
    min-height: 44px;
    height: 44px;
    padding: 17px 12px 5px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: #fff;
    color: #0f1b2f;
    box-shadow: 0 12px 28px rgba(0, 54, 26, 0.18);
}

.page-cars .car-form-panel .field-card > .field-control {
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-cars .car-form-panel .field-card > .field-control .icon {
    flex: 0 0 auto;
    color: #344761;
}

.page-cars .car-form-panel .field-card > .field-control input {
    min-height: auto;
    padding: 0;
    border: 0;
    outline: 0;
    color: #0f1b2f;
    font-size: 13px;
    font-weight: 800;
}

.page-cars .car-form-panel .field-card > .field-control input::placeholder {
    color: #66738a;
    font-weight: 700;
}

.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch > .field-control {
    background: #fbfcfe;
}

.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch input {
    color: #65758d;
}

.page-cars .car-form-panel .car-toggles {
    grid-column: auto;
    grid-row: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 6px;
    margin: 0;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    color: #101a2f;
    box-shadow: none;
}

.page-cars .car-form-panel .car-toggles .toggle-card {
    min-width: 0;
    min-height: 34px;
    padding: 5px 9px;
    margin: 0;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.78);
    color: #101a2f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.page-cars .car-form-panel .car-toggles .toggle-card:first-child {
    padding-left: 9px;
}

.page-cars .car-form-panel .car-toggles .toggle-card:last-child,
.page-cars .car-form-panel .car-toggles .toggle-card[hidden] + .toggle-card {
    border-right: 1px solid rgba(21, 147, 15, 0.12);
}

.page-cars .car-form-panel .car-advanced-options {
    grid-column: auto;
    grid-row: auto;
    max-height: none;
    overflow: visible;
    margin: 0;
    padding: 0 0 0 14px;
    border-top: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.42);
    color: var(--ink);
    align-self: start;
}

.page-cars .car-form-panel .car-advanced-options summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 20px;
    margin: 0 0 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 38, 30, 0.28);
}

.page-cars .car-form-panel .car-advanced-options summary::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 160ms ease;
}

.page-cars .car-form-panel .car-advanced-options[open] summary::after {
    transform: translateY(2px) rotate(225deg);
}

.page-cars .car-form-panel .car-advanced-options summary::-webkit-details-marker {
    display: none;
}

.page-cars .car-form-panel .car-advanced-options > .form-grid,
.page-cars .car-form-panel .car-extra-grid {
    gap: 7px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(0, 54, 26, 0.18);
}

.page-cars .car-form-panel .car-advanced-options > .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-cars .car-form-panel .car-advanced-options > .form-grid .field-card:last-child {
    grid-column: auto;
}

.page-cars .car-form-panel .car-extra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
    margin-top: 7px;
}

.page-cars .car-form-panel .car-extra-grid .toggle-card {
    min-height: 24px;
    padding: 0 3px;
    color: #101a2f;
    font-size: 11px;
    font-weight: 700;
}

.page-cars .search-card-car .primary-cta {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    width: 260px;
    min-height: 48px;
    margin: 2px 0 0;
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    background: linear-gradient(180deg, #ff443f, #df1515);
    color: #fff;
    font-size: 18px;
    box-shadow: 0 18px 38px rgba(205, 21, 21, 0.34), 0 10px 22px rgba(4, 35, 29, 0.22);
}

html.travelnet-dark body.page-cars {
    background:
        radial-gradient(circle at 16% 5%, rgba(21, 147, 15, 0.22), transparent 31%),
        radial-gradient(circle at 86% 18%, rgba(8, 121, 201, 0.13), transparent 29%),
        linear-gradient(180deg, #06110d 0%, #0b1712 46%, #090f0d 100%);
}

html.travelnet-dark body.page-cars .site-main {
    color: #edf6ef;
}

html.travelnet-dark body.page-cars .nav-pill.is-active {
    border-color: rgba(127, 214, 126, 0.7);
    background:
        linear-gradient(180deg, rgba(31, 182, 23, 0.96), rgba(8, 139, 13, 0.92));
    color: #ffffff;
    box-shadow:
        0 0 0 1px rgba(178, 239, 178, 0.18),
        0 0 24px rgba(21, 147, 15, 0.46),
        0 12px 26px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark body.page-cars .car-modern-hero {
    color: #edf6ef;
    background:
        radial-gradient(circle at 76% 16%, rgba(21, 147, 15, 0.3) 0, rgba(21, 147, 15, 0.1) 22%, transparent 40%),
        radial-gradient(circle at 15% 8%, rgba(8, 121, 201, 0.16) 0, rgba(8, 121, 201, 0.07) 26%, transparent 46%),
        radial-gradient(circle at 56% 88%, rgba(255, 68, 63, 0.15) 0, transparent 34%),
        linear-gradient(105deg, rgba(3, 12, 9, 0.98) 0%, rgba(7, 22, 16, 0.94) 42%, rgba(11, 36, 24, 0.66) 69%, rgba(5, 13, 10, 0.88) 100%),
        var(--car-dark-hero-image) center / cover;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-cars .car-modern-hero::before {
    background:
        linear-gradient(105deg, rgba(2, 9, 8, 0.44), rgba(5, 25, 16, 0.18) 55%, rgba(21, 147, 15, 0.1)),
        radial-gradient(circle at 82% 22%, rgba(127, 214, 126, 0.16), transparent 34%);
}

html.travelnet-dark body.page-cars .search-card-car::before {
    border-color: rgba(127, 214, 126, 0.2);
    background:
        linear-gradient(135deg, rgba(9, 28, 17, 0.9), rgba(15, 54, 31, 0.7)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 34%),
        rgba(5, 18, 13, 0.62);
    box-shadow:
        0 26px 72px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(5px);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card,
html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-label {
    color: #dceee0;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .field-card select {
    border-color: rgba(127, 214, 126, 0.24);
    background: rgba(8, 19, 13, 0.88);
    color: #f4fff5;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control .icon {
    color: #9be09a;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control input {
    color: #f4fff5;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control input::placeholder {
    color: rgba(220, 238, 224, 0.62);
}

html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .car-toggles,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid,
html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
    border-color: rgba(127, 214, 126, 0.2);
    background: rgba(10, 24, 16, 0.82);
    color: #edf6ef;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch input {
    color: rgba(220, 238, 224, 0.72);
}

html.travelnet-dark body.page-cars .car-form-panel .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid .toggle-card {
    border-color: rgba(127, 214, 126, 0.14);
    background: rgba(13, 31, 20, 0.72);
    color: #edf6ef;
}

html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options {
    border-left-color: rgba(127, 214, 126, 0.2);
}

html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options summary {
    color: #8ee68a;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.travelnet-dark body.page-cars .search-card-car .primary-cta {
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(180deg, #ff625d, #df1515);
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-cars .car-trust-strip,
html.travelnet-dark body.page-cars .car-service-tile {
    border-color: rgba(127, 214, 126, 0.18);
    background:
        linear-gradient(180deg, rgba(18, 33, 40, 0.88), rgba(10, 21, 28, 0.86));
    color: #edf6ef;
    box-shadow:
        0 22px 56px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html.travelnet-dark body.page-cars .car-trust-item > span,
html.travelnet-dark body.page-cars .car-service-tile > span {
    background: rgba(21, 147, 15, 0.18);
    color: #8ee68a;
    box-shadow: inset 0 0 0 1px rgba(127, 214, 126, 0.18);
}

html.travelnet-dark body.page-cars .car-trust-item strong,
html.travelnet-dark body.page-cars .car-service-tile strong {
    color: #edf6ef;
}

html.travelnet-dark body.page-cars .car-trust-item small,
html.travelnet-dark body.page-cars .car-service-tile small {
    color: #aebdba;
}

html.travelnet-dark body.page-cars .car-service-tile em {
    color: #8ee68a;
}

html.travelnet-dark body.page-cars .car-service-tile.is-current {
    border-color: rgba(127, 214, 126, 0.42);
    box-shadow:
        0 0 0 1px rgba(178, 239, 178, 0.12),
        0 0 22px rgba(21, 147, 15, 0.22),
        0 22px 56px rgba(0, 0, 0, 0.34);
}

@media (max-width: 640px) {
    html.travelnet-dark body.page-cars .primary-nav {
        flex-wrap: wrap;
        justify-content: center;
        width: min(100%, 360px);
        overflow: visible;
    }

    html.travelnet-dark body.page-cars .primary-nav .nav-pill {
        flex: 1 1 calc(50% - 8px);
        min-width: 142px;
    }
}

.page-cars .car-trust-strip {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 1440px;
    margin: -2px auto 28px;
    padding: 32px 40px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 58px rgba(8, 32, 45, 0.14);
}

.page-cars .car-trust-item {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 6px 20px;
    align-items: center;
    min-width: 0;
    padding: 0 28px;
    border-left: 1px solid #dfe6ef;
}

.page-cars .car-trust-item:first-child {
    border-left: 0;
}

.page-cars .car-trust-item > span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
}

.page-cars .car-trust-item strong {
    align-self: end;
    color: #101a2f;
    font-size: 16px;
    font-weight: 900;
}

.page-cars .car-trust-item small {
    align-self: start;
    color: #586a82;
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 1180px) {
    .page-cars .car-modern-hero {
        padding: 28px 24px 34px;
    }

    .page-cars .car-modern-hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .page-cars .car-form-panel {
        grid-template-columns: 1fr;
    }

    .page-cars .car-form-panel .car-advanced-options {
        padding: 5px 0 0;
        border-top: 1px solid rgba(216, 224, 234, 0.95);
        border-left: 0;
    }

    .page-cars .car-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 0;
        margin-left: 24px;
        margin-right: 24px;
    }

    .page-cars .car-trust-item:nth-child(odd) {
        border-left: 0;
    }
}

@media (max-width: 980px) {
    .car-detail-page .flight-review-shell,
    .car-driver-details-page .flight-review-shell {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .car-detail-page .flight-review-side,
    .car-driver-details-page .flight-review-side {
        margin-top: 0;
        position: static;
        top: auto;
    }

    .car-booking-hero {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .car-booking-hero h2 {
        font-size: clamp(24px, 5vw, 34px);
        overflow-wrap: normal;
        word-break: normal;
    }

    .car-driver-details-page .car-booking-card {
        padding: 0 22px 26px;
    }

    .car-driver-details-page .flight-review-steps {
        margin-left: -22px;
        margin-right: -22px;
        padding-left: 22px;
        padding-right: 22px;
    }

    .car-section-strip {
        align-items: center;
        flex-direction: row;
    }

    .car-driver-grid,
    .car-licence-grid,
    .car-booked-by-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-driver-grid .field-card,
    .car-licence-grid .field-card,
    .car-booked-by-grid .field-card,
    .car-driver-grid .field-card:first-child,
    .car-booked-by-grid .field-card:first-child,
    .car-driver-grid .car-driver-id-field,
    .car-driver-grid .car-driver-dob-field,
    .car-driver-grid .car-driver-email-field,
    .car-driver-grid .car-driver-phone-field,
    .car-licence-grid .car-emergency-name-field,
    .car-licence-grid .car-emergency-phone-field,
    .car-booked-by-grid .car-booker-email-field {
        grid-column: span 1;
    }
}

@media (max-width: 760px) {
    .page-cars .car-modern-hero {
        width: calc(100vw - 20px);
        margin-left: calc(50% - 50vw + 10px);
        margin-right: calc(50% - 50vw + 10px);
        padding: 18px 12px 24px;
    }

    .page-cars .search-card-car {
        padding: 14px;
        gap: 18px;
    }

    .page-cars .search-card-car::before {
        inset: 0;
        border-radius: 16px;
    }

    .page-cars .search-card-car .search-heading {
        align-items: flex-start;
        gap: 12px;
    }

    .page-cars .search-card-car .heading-icon {
        width: 52px;
        height: 52px;
    }

    .page-cars .search-card-car .heading-icon .icon {
        width: 27px;
        height: 27px;
    }

    .page-cars .search-card-car .search-heading h1 {
        font-size: 32px;
    }

    .page-cars .search-card-car .search-heading p {
        font-size: 16px;
        line-height: 1.35;
    }

    .page-cars .car-form-panel {
        padding: 0;
        border-radius: 0;
    }

    .page-cars .car-form-panel .car-route-grid,
    .page-cars .car-form-panel .car-advanced-options > .form-grid,
    .page-cars .car-form-panel .car-extra-grid,
    .page-cars .car-form-panel .car-toggles {
        grid-template-columns: 1fr;
    }

    .page-cars .car-form-panel .car-route-grid .field-card {
        grid-column: 1;
        grid-row: auto;
    }

    .page-cars .car-form-panel .car-toggles .toggle-card {
        padding: 6px 9px;
        border-right: 1px solid rgba(21, 147, 15, 0.12);
        border-bottom: 1px solid rgba(21, 147, 15, 0.12);
    }

    .page-cars .car-form-panel .car-toggles .toggle-card:last-child {
        border-bottom: 1px solid rgba(21, 147, 15, 0.12);
    }

    .page-cars .car-form-panel .car-extra-grid {
        max-height: none;
        overflow: visible;
    }

    .page-cars .search-card-car .primary-cta {
        justify-self: stretch;
        width: 100%;
        min-height: 58px;
        margin-top: 0;
    }

    .page-cars .car-trust-strip {
        grid-template-columns: 1fr;
        margin: 18px 12px 24px;
        padding: 22px;
    }

    .page-cars .car-trust-item {
        padding: 18px 0;
        border-top: 1px solid #dfe6ef;
        border-left: 0;
    }

    .page-cars .car-trust-item:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .page-cars .car-trust-item:last-child {
        padding-bottom: 0;
    }
}

@media (max-width: 620px) {
    .car-driver-details-page .car-booking-card {
        padding: 0 16px 22px;
    }

    .car-driver-details-page .flight-review-steps {
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .car-driver-form .booking-form-panel {
        padding: 18px;
    }

    .car-section-strip,
    .hotel-guest-hint-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .car-section-strip {
        margin: -18px -18px 2px;
        padding: 16px 18px;
    }

    .hotel-guest-hint-row {
        gap: 8px;
    }

    .car-driver-grid,
    .car-licence-grid,
    .car-booked-by-grid,
    .booking-date-selects {
        grid-template-columns: 1fr;
    }
}

/* Final dark-mode surface cleanup: keep popups, native selects, and logo rails from falling back to light UI. */
html.travelnet-dark select,
html.travelnet-dark option,
html.travelnet-dark optgroup {
    background-color: #07100c;
    color: #edf6ef;
}

html.travelnet-dark .airport-suggestions,
html.travelnet-dark .airport-suggestions.hotel-suggestions,
html.travelnet-dark .airport-suggestions.select-suggestions,
html.travelnet-dark .travel-date-picker {
    border-color: rgba(127, 214, 126, 0.26);
    background:
        linear-gradient(180deg, rgba(13, 25, 31, 0.98), rgba(6, 15, 21, 0.98));
    color: #edf6ef;
    box-shadow:
        0 24px 56px rgba(0, 0, 0, 0.46),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .airport-suggestions-title,
html.travelnet-dark .airport-suggestions-empty {
    color: #aebdba;
}

html.travelnet-dark .airport-suggestion {
    color: #edf6ef;
}

html.travelnet-dark .airport-suggestion small {
    color: #aebdba;
}

html.travelnet-dark .airport-suggestion .airport-code-pill {
    background: rgba(127, 214, 126, 0.16);
    color: #d9f8d8;
}

html.travelnet-dark .airport-suggestion:hover,
html.travelnet-dark .airport-suggestion:focus-visible,
html.travelnet-dark .airport-suggestion.is-active {
    background: rgba(21, 147, 15, 0.18);
    outline-color: rgba(127, 214, 126, 0.32);
}

html.travelnet-dark .select-dropdown-toggle {
    border-color: rgba(127, 214, 126, 0.22);
    background:
        linear-gradient(180deg, rgba(7, 16, 22, 0.94), rgba(5, 13, 18, 0.94));
    color: #edf6ef;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .select-dropdown-toggle:hover,
html.travelnet-dark .select-dropdown-toggle:focus-visible,
html.travelnet-dark .select-dropdown-toggle[aria-expanded="true"] {
    border-color: rgba(127, 214, 126, 0.46);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .field-card .select-dropdown-arrow {
    background: rgba(127, 214, 126, 0.16);
    color: #d9f8d8;
}

html.travelnet-dark .travel-date-header button,
html.travelnet-dark .travel-date-grid button,
html.travelnet-dark .travel-date-header select {
    border-color: rgba(127, 214, 126, 0.2);
    background: rgba(6, 15, 21, 0.88);
    color: #edf6ef;
}

html.travelnet-dark .travel-date-grid span {
    color: #aebdba;
}

html.travelnet-dark .travel-date-header button:hover,
html.travelnet-dark .travel-date-header button:focus-visible,
html.travelnet-dark .travel-date-grid button:hover,
html.travelnet-dark .travel-date-grid button:focus-visible,
html.travelnet-dark .travel-date-grid button.is-selected {
    background: rgba(21, 147, 15, 0.9);
    color: #ffffff;
    outline-color: rgba(127, 214, 126, 0.32);
}

html.travelnet-dark .logo-card,
html.travelnet-dark .airline-panel:hover .logo-card,
html.travelnet-dark .airline-panel:focus-within .logo-card,
html.travelnet-dark .hotel-brand-panel:hover .logo-card,
html.travelnet-dark .hotel-brand-panel:focus-within .logo-card {
    border-color: rgba(127, 214, 126, 0.2);
    background:
        linear-gradient(180deg, rgba(10, 22, 28, 0.94), rgba(5, 14, 18, 0.94));
    color: #edf6ef;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-flights .airline-panel .logo-card,
html.travelnet-dark body.page-hotels .hotel-brand-panel .logo-card,
html.travelnet-dark body.page-flights .airline-panel:hover .logo-card,
html.travelnet-dark body.page-hotels .hotel-brand-panel:hover .logo-card,
html.travelnet-dark body.page-flights .airline-panel:focus-within .logo-card,
html.travelnet-dark body.page-hotels .hotel-brand-panel:focus-within .logo-card {
    border-color: rgba(127, 214, 126, 0.2);
    background:
        linear-gradient(180deg, rgba(10, 22, 28, 0.96), rgba(5, 14, 18, 0.96));
    color: #edf6ef;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .airline-panel .logo-card img,
html.travelnet-dark .hotel-brand-panel .logo-card img {
    filter: invert(1) hue-rotate(180deg) saturate(0.86) brightness(1.04);
    opacity: 0.95;
}

html.travelnet-dark body.page-hotels .hotel-brand-carousel .logo-card {
    border-color: rgba(164, 221, 176, 0.2);
    background: #ffffff;
}

html.travelnet-dark body.page-hotels .hotel-brand-carousel .logo-card img {
    filter: none;
    opacity: 1;
}

html.travelnet-dark .logo-nav {
    border-color: rgba(127, 214, 126, 0.2);
    background: rgba(6, 15, 21, 0.88);
    color: #d9f8d8;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark .logo-nav:hover,
html.travelnet-dark .logo-nav:focus-visible {
    border-color: rgba(127, 214, 126, 0.42);
    background: rgba(21, 147, 15, 0.28);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.36), 0 0 18px rgba(21, 147, 15, 0.2);
}

html.travelnet-dark body.page-cars .car-trust-item {
    border-color: rgba(127, 214, 126, 0.18);
}

/* Cars dark search page parity with the Flights and Hotels hero rhythm. */
.page-cars .feature-card-car {
    display: none;
}

html.travelnet-dark body.page-cars {
    background:
        radial-gradient(circle at 18% 5%, rgba(21, 147, 15, 0.18), transparent 30%),
        radial-gradient(circle at 86% 16%, rgba(8, 121, 201, 0.16), transparent 30%),
        linear-gradient(180deg, #061018 0%, #0a141b 45%, #07100f 100%);
}

html.travelnet-dark body.page-cars .car-modern-hero {
    min-height: 560px;
    padding: 36px 44px;
    color: var(--hotel-dark-text);
    background:
        radial-gradient(circle at 78% 15%, rgba(21, 147, 15, 0.26) 0, rgba(21, 147, 15, 0.1) 24%, transparent 42%),
        radial-gradient(circle at 18% 10%, rgba(8, 121, 201, 0.18) 0, rgba(8, 121, 201, 0.08) 28%, transparent 48%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.98) 0%, rgba(8, 21, 30, 0.94) 43%, rgba(10, 32, 42, 0.72) 72%, rgba(5, 14, 20, 0.88) 100%),
        var(--car-dark-hero-image) center / cover;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-cars .car-modern-hero::before {
    border-radius: inherit;
    background:
        linear-gradient(90deg, rgba(4, 12, 19, 0.16), transparent 44%),
        radial-gradient(circle at 82% 22%, rgba(127, 214, 126, 0.14), transparent 34%);
}

html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
    grid-template-columns: minmax(0, 0.64fr) minmax(360px, 0.36fr);
    gap: 36px;
    max-width: 1248px;
    align-items: start;
}

html.travelnet-dark body.page-cars .search-card-car {
    grid-column: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-self: start;
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .search-card-car::before {
    inset: -18px -18px -22px;
    border-color: rgba(164, 221, 176, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 36%),
        rgba(13, 25, 31, 0.82);
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

html.travelnet-dark body.page-cars .search-card-car .search-heading h1,
html.travelnet-dark body.page-cars .search-card-car .search-heading p {
    color: var(--hotel-dark-text);
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark body.page-cars .car-form-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-form-panel .car-route-grid {
    grid-template-columns: minmax(230px, 1.25fr) minmax(170px, 0.78fr) minmax(130px, 0.58fr);
    gap: 8px 12px;
}

html.travelnet-dark body.page-cars .car-form-panel .car-country-field {
    grid-column: 1;
    grid-row: 1;
}

html.travelnet-dark body.page-cars .car-form-panel .car-vendor-field {
    grid-column: 2 / 4;
    grid-row: 1;
}

html.travelnet-dark body.page-cars .car-form-panel .car-pickup-field {
    grid-column: 1;
    grid-row: 2;
}

html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field {
    grid-column: 1;
    grid-row: 3;
}

html.travelnet-dark body.page-cars .car-form-panel .car-pickup-date-field {
    grid-column: 2;
    grid-row: 2;
}

html.travelnet-dark body.page-cars .car-form-panel .car-return-date-field {
    grid-column: 2;
    grid-row: 3;
}

html.travelnet-dark body.page-cars .car-form-panel .car-pickup-time-field {
    grid-column: 3;
    grid-row: 2;
}

html.travelnet-dark body.page-cars .car-form-panel .car-return-time-field {
    grid-column: 3;
    grid-row: 3;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card,
html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-label,
html.travelnet-dark body.page-cars .car-form-panel .traveller-label {
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .field-card select,
html.travelnet-dark body.page-cars .car-form-panel .car-toggles,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid,
html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
    border-color: var(--hotel-dark-border);
    background: var(--hotel-dark-control);
    color: var(--hotel-dark-text);
    box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .field-card select {
    min-height: 48px;
    height: 48px;
    padding: 18px 12px 6px;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control:focus-within,
html.travelnet-dark body.page-cars .car-form-panel .field-card:focus-within > select {
    border-color: var(--hotel-dark-border-strong);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.18),
        0 18px 36px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control input,
html.travelnet-dark body.page-cars .car-form-panel .field-card select {
    background-color: transparent;
    color: var(--hotel-dark-text);
    color-scheme: dark;
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control input::placeholder {
    color: rgba(242, 247, 244, 0.46);
}

html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control .icon {
    color: #8ee68a;
}

html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch input {
    color: rgba(242, 247, 244, 0.72);
}

html.travelnet-dark body.page-cars .car-form-panel .car-toggles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px;
}

html.travelnet-dark body.page-cars .car-form-panel .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid .toggle-card {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(7, 16, 22, 0.58);
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options {
    padding-left: 0;
    border-left: 0;
}

html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options summary {
    color: #8ee68a;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: 112px;
    overflow: auto;
}

html.travelnet-dark body.page-cars .search-card-car .primary-cta {
    justify-self: end;
    width: 286px;
    min-height: 58px;
    border-color: rgba(255, 255, 255, 0.18);
    background: linear-gradient(180deg, #ff625d, var(--coral-dark));
    box-shadow:
        0 18px 40px rgba(255, 68, 63, 0.28),
        0 10px 24px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-cars .feature-card-car {
    display: block;
    min-height: 478px;
    height: auto;
    overflow: hidden;
    border: 2px solid rgba(164, 221, 176, 0.22);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(19, 33, 40, 0.96), rgba(10, 20, 27, 0.96));
    color: var(--hotel-dark-text);
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark body.page-cars .feature-card-car > img {
    content: var(--car-dark-hero-image);
    height: 286px;
    filter: brightness(0.76) saturate(0.95) contrast(1.04);
}

html.travelnet-dark body.page-cars .feature-card-car .feature-card-body {
    padding: 20px 22px;
    border-top: 1px solid rgba(164, 221, 176, 0.12);
}

html.travelnet-dark body.page-cars .feature-card-car .feature-card-body h2 {
    color: var(--hotel-dark-text);
    font-size: 23px;
    white-space: normal;
}

html.travelnet-dark body.page-cars .feature-card-car .price-block {
    border-left-color: rgba(164, 221, 176, 0.18);
}

html.travelnet-dark body.page-cars .feature-card-car .price-block strong {
    color: #ff6a65;
    font-size: 32px;
    text-shadow: 0 0 18px rgba(255, 68, 63, 0.2);
    white-space: nowrap;
}

html.travelnet-dark body.page-cars .feature-card-car .feature-list {
    padding: 0 22px 18px;
}

html.travelnet-dark body.page-cars .feature-card-car .feature-list span {
    border: 1px solid rgba(164, 221, 176, 0.14);
    background: rgba(7, 16, 22, 0.68);
    color: rgba(242, 247, 244, 0.76);
}

html.travelnet-dark body.page-cars .feature-card-car .heart-button {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(4, 12, 18, 0.72);
    color: #f2f7f4;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
}

@media (max-width: 1180px) {
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    html.travelnet-dark body.page-cars .feature-card-car {
        max-width: 640px;
    }
}

@media (max-width: 760px) {
    html.travelnet-dark body.page-cars .car-modern-hero {
        padding: 22px 18px;
    }

    html.travelnet-dark body.page-cars .search-card-car::before {
        inset: -14px -12px -16px;
        border-radius: 18px;
    }

    html.travelnet-dark body.page-cars .car-form-panel .car-route-grid,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles,
    html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid,
    html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    html.travelnet-dark body.page-cars .car-form-panel .car-route-grid .field-card {
        grid-column: 1;
        grid-row: auto;
    }

    html.travelnet-dark body.page-cars .search-card-car .primary-cta {
        justify-self: stretch;
        width: 100%;
    }

    html.travelnet-dark body.page-cars .feature-card-car {
        min-height: 0;
    }
}

/* Final cars hero alignment: light and dark now share the same two-panel layout. */
.page-cars .feature-card-car {
    display: block;
    min-height: 478px;
    height: auto;
    margin-top: -18px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: var(--ink);
    box-shadow: 0 26px 60px rgba(4, 32, 55, 0.22);
}

.page-cars .feature-card-car > img {
    display: block;
    width: 100%;
    height: 286px;
    object-fit: cover;
}

.page-cars .feature-card-car .feature-card-body {
    padding: 20px 22px;
    align-items: flex-start;
}

.page-cars .feature-card-car .feature-card-body h2 {
    font-size: 23px;
    line-height: 1.22;
    white-space: normal;
}

.page-cars .feature-card-car .price-block {
    flex: 0 0 auto;
    padding-left: 18px;
}

.page-cars .feature-card-car .price-block strong {
    font-size: 32px;
    white-space: nowrap;
}

.page-cars .feature-card-car .feature-list {
    padding: 0 22px 18px;
}

.page-cars .car-modern-hero .hero-grid,
html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
    grid-template-columns: minmax(0, 0.64fr) minmax(360px, 0.36fr);
    gap: 36px;
    max-width: 1248px;
    align-items: start;
}

.page-cars .search-card-car,
html.travelnet-dark body.page-cars .search-card-car {
    grid-column: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-self: start;
}

.page-cars .car-form-panel,
html.travelnet-dark body.page-cars .car-form-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.page-cars .car-form-panel .car-route-grid,
html.travelnet-dark body.page-cars .car-form-panel .car-route-grid {
    grid-template-columns: minmax(230px, 1.25fr) minmax(170px, 0.78fr) minmax(130px, 0.58fr);
    gap: 8px 12px;
}

.page-cars .car-form-panel .car-country-field,
html.travelnet-dark body.page-cars .car-form-panel .car-country-field {
    grid-column: 1;
    grid-row: 1;
}

.page-cars .car-form-panel .car-vendor-field,
html.travelnet-dark body.page-cars .car-form-panel .car-vendor-field {
    grid-column: 2 / 4;
    grid-row: 1;
}

.page-cars .car-form-panel .car-pickup-field,
html.travelnet-dark body.page-cars .car-form-panel .car-pickup-field {
    grid-column: 1;
    grid-row: 2;
}

.page-cars .car-form-panel .car-pickup-date-field,
html.travelnet-dark body.page-cars .car-form-panel .car-pickup-date-field {
    grid-column: 2;
    grid-row: 2;
}

.page-cars .car-form-panel .car-pickup-time-field,
html.travelnet-dark body.page-cars .car-form-panel .car-pickup-time-field {
    grid-column: 3;
    grid-row: 2;
}

.page-cars .car-form-panel .car-dropoff-location-field,
html.travelnet-dark body.page-cars .car-form-panel .car-dropoff-location-field {
    grid-column: 1;
    grid-row: 3;
}

.page-cars .car-form-panel .car-return-date-field,
html.travelnet-dark body.page-cars .car-form-panel .car-return-date-field {
    grid-column: 2;
    grid-row: 3;
}

.page-cars .car-form-panel .car-return-time-field,
html.travelnet-dark body.page-cars .car-form-panel .car-return-time-field {
    grid-column: 3;
    grid-row: 3;
}

.page-cars .car-form-panel .field-card > .field-control,
.page-cars .car-form-panel .field-card select,
html.travelnet-dark body.page-cars .car-form-panel .field-card > .field-control,
html.travelnet-dark body.page-cars .car-form-panel .field-card select {
    min-height: 48px;
    height: 48px;
    padding: 18px 12px 6px;
}

.page-cars .car-form-panel .car-advanced-options,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options {
    padding-left: 0;
    border-left: 0;
}

.page-cars .car-form-panel .car-advanced-options > .form-grid,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-cars .car-form-panel .car-extra-grid,
html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: 112px;
    overflow: auto;
}

.page-cars .search-card-car .primary-cta,
html.travelnet-dark body.page-cars .search-card-car .primary-cta {
    justify-self: end;
    width: 286px;
    min-height: 58px;
}

@media (max-width: 1180px) {
    .page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .page-cars .feature-card-car,
    html.travelnet-dark body.page-cars .feature-card-car {
        max-width: 640px;
    }
}

@media (max-width: 760px) {
    .page-cars .car-form-panel .car-route-grid,
    .page-cars .car-form-panel .car-toggles,
    .page-cars .car-form-panel .car-advanced-options > .form-grid,
    .page-cars .car-form-panel .car-extra-grid,
    html.travelnet-dark body.page-cars .car-form-panel .car-route-grid,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles,
    html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options > .form-grid,
    html.travelnet-dark body.page-cars .car-form-panel .car-extra-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-cars .car-form-panel .car-route-grid .field-card,
    html.travelnet-dark body.page-cars .car-form-panel .car-route-grid .field-card {
        grid-column: 1;
        grid-row: auto;
    }

    .page-cars .search-card-car .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car .primary-cta {
        justify-self: stretch;
        width: 100%;
    }
}

/* Light search pages: keep the layout, but give the hero area a green daylight wash. */
html:not(.travelnet-dark) body.page-flights,
html:not(.travelnet-dark) body.page-hotels,
html:not(.travelnet-dark) body.page-cars {
    background:
        linear-gradient(180deg, #ffffff 0%, #f7fcf7 42%, #ffffff 100%);
}

html:not(.travelnet-dark) body.page-flights::before,
html:not(.travelnet-dark) body.page-hotels::before,
html:not(.travelnet-dark) body.page-cars::before {
    background:
        linear-gradient(125deg, rgba(21, 147, 15, 0.09), transparent 34%),
        linear-gradient(300deg, rgba(8, 121, 201, 0.04), transparent 30%);
    filter: blur(16px);
}

html:not(.travelnet-dark) body.page-flights .flight-hero {
    color: var(--ink);
    background:
        radial-gradient(circle at 78% 14%, rgba(168, 231, 151, 0.46) 0, rgba(168, 231, 151, 0.18) 22%, transparent 42%),
        radial-gradient(circle at 14% 9%, rgba(8, 121, 201, 0.12) 0, rgba(8, 121, 201, 0.05) 26%, transparent 48%),
        linear-gradient(105deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 253, 246, 0.92) 43%, rgba(226, 248, 224, 0.74) 72%, rgba(255, 255, 255, 0.92) 100%),
        url("../images/flight-hero-island.png") center / cover;
    box-shadow: 0 24px 70px rgba(11, 83, 29, 0.14);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero {
    color: var(--ink);
    background:
        radial-gradient(circle at 76% 16%, rgba(180, 235, 154, 0.46) 0, rgba(180, 235, 154, 0.18) 20%, transparent 40%),
        radial-gradient(circle at 15% 8%, rgba(8, 121, 201, 0.11) 0, rgba(8, 121, 201, 0.05) 26%, transparent 48%),
        linear-gradient(105deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 253, 246, 0.92) 43%, rgba(226, 248, 224, 0.74) 72%, rgba(255, 255, 255, 0.92) 100%),
        url("../images/hotel-island-resort-hero.png") center / cover;
    box-shadow: 0 24px 70px rgba(11, 83, 29, 0.14);
}

html:not(.travelnet-dark) body.page-cars .car-modern-hero {
    color: var(--ink);
    background:
        radial-gradient(circle at 76% 16%, rgba(180, 235, 154, 0.48) 0, rgba(180, 235, 154, 0.18) 20%, transparent 40%),
        radial-gradient(circle at 15% 8%, rgba(8, 121, 201, 0.10) 0, rgba(8, 121, 201, 0.04) 26%, transparent 48%),
        linear-gradient(105deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 253, 246, 0.92) 43%, rgba(226, 248, 224, 0.74) 72%, rgba(255, 255, 255, 0.92) 100%),
        url("../images/car-coastal-road-hero.png") center / cover;
    box-shadow: 0 24px 70px rgba(11, 83, 29, 0.14);
}

html:not(.travelnet-dark) body.page-flights .flight-hero::before {
    border-top-color: rgba(21, 147, 15, 0.38);
    background:
        radial-gradient(ellipse at 17% 46%, rgba(21, 147, 15, 0.46) 0 4px, transparent 8px),
        radial-gradient(ellipse at 33% 42%, rgba(8, 121, 201, 0.26) 0 3px, transparent 7px),
        radial-gradient(ellipse at 50% 38%, rgba(21, 147, 15, 0.34) 0 3px, transparent 7px),
        radial-gradient(ellipse at 68% 34%, rgba(8, 121, 201, 0.22) 0 2px, transparent 6px);
}

html:not(.travelnet-dark) body.page-flights .flight-hero::after {
    color: var(--green-dark);
    text-shadow: 0 8px 22px rgba(21, 147, 15, 0.18);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero::before {
    border-top-color: rgba(21, 147, 15, 0.34);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero::after {
    border-color: rgba(21, 147, 15, 0.28);
    box-shadow: 0 10px 26px rgba(21, 147, 15, 0.12), 0 0 18px rgba(255, 224, 128, 0.18);
}

html:not(.travelnet-dark) body.page-cars .car-modern-hero::before {
    background:
        linear-gradient(105deg, rgba(255, 255, 255, 0.34), rgba(237, 250, 237, 0.18) 58%, rgba(21, 147, 15, 0.08));
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card-flight::before,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card-hotel::before,
html:not(.travelnet-dark) body.page-cars .search-card-car::before {
    border-color: rgba(21, 147, 15, 0.18);
    background:
        radial-gradient(circle at 18% 0%, rgba(21, 147, 15, 0.12), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 253, 247, 0.94));
    box-shadow:
        0 24px 68px rgba(11, 83, 29, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(6px);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-heading h1,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-heading h1,
html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading h1 {
    color: #10233c;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-heading p,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-heading p,
html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading p {
    color: #245c25;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .segmented {
    border-color: rgba(21, 147, 15, 0.18);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 24px rgba(11, 83, 29, 0.08);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .segmented span {
    color: #31415a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .segmented input:checked + span {
    background: linear-gradient(180deg, #22af18, #0b7f10);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.22);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card,
html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-label,
html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-label,
html:not(.travelnet-dark) body.page-flights .flight-hero .toggle-card::before,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-label,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .traveller-label,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-label {
    color: #13233a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control,
html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > select,
html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-row,
html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-guests,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card select,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-extra-grid {
    border-color: rgba(21, 147, 15, 0.20);
    background: #ffffff;
    color: #13233a;
    box-shadow:
        0 14px 30px rgba(11, 83, 29, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options .field-card:focus-within > .field-control,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options .field-card:focus-within > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card:focus-within > select {
    border-color: rgba(21, 147, 15, 0.46);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.13),
        0 16px 34px rgba(11, 83, 29, 0.13);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control input,
html:not(.travelnet-dark) body.page-flights .flight-hero .stepper-controls input,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control input,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options .field-card select,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .stepper-controls input,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control input,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card select {
    background-color: transparent;
    color: #122239;
    color-scheme: light;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control input::placeholder,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control input::placeholder,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control input::placeholder {
    color: #728198;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control .icon,
html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-icon,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control .icon,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .traveller-icon,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control .icon {
    color: var(--green);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-row .stepper,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-guests .stepper {
    border-right-color: rgba(21, 147, 15, 0.16);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .stepper small,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .stepper small {
    color: #65758d;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .stepper-controls,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .stepper-controls {
    border-color: rgba(21, 147, 15, 0.18);
    background: #f7fcf7;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .stepper-controls button,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .stepper-controls button {
    background: transparent;
    color: #13233a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options {
    border-top-color: rgba(21, 147, 15, 0.18);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options summary,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options summary,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-advanced-options summary {
    color: var(--green-dark);
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles .toggle-card,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-extra-grid .toggle-card {
    border-color: rgba(21, 147, 15, 0.14);
    background: #f7fcf7;
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-dropoff-location-field.is-same-branch input {
    color: #66758a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .select-dropdown-toggle {
    border-color: rgba(21, 147, 15, 0.18);
    background: #ffffff;
    color: #13233a;
    box-shadow: 0 12px 26px rgba(11, 83, 29, 0.10);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .select-dropdown-toggle:hover,
html:not(.travelnet-dark) body.page-flights .flight-hero .select-dropdown-toggle:focus-visible,
html:not(.travelnet-dark) body.page-flights .flight-hero .select-dropdown-toggle[aria-expanded="true"] {
    border-color: rgba(21, 147, 15, 0.46);
    box-shadow:
        0 0 0 3px rgba(21, 147, 15, 0.13),
        0 14px 30px rgba(11, 83, 29, 0.12);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .select-dropdown-arrow {
    background: var(--green-soft);
    color: var(--green-dark);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card .primary-cta,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card .primary-cta,
html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta {
    border-color: rgba(255, 255, 255, 0.88);
    background: linear-gradient(180deg, #22af18, #0b7f10);
    color: #ffffff;
    box-shadow:
        0 18px 40px rgba(21, 147, 15, 0.26),
        0 10px 22px rgba(11, 83, 29, 0.14);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-flight,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel,
html:not(.travelnet-dark) body.page-cars .feature-card-car {
    border-color: rgba(21, 147, 15, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f8fdf8 100%);
    color: var(--ink);
    box-shadow: 0 24px 58px rgba(11, 83, 29, 0.13);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-body,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-body,
html:not(.travelnet-dark) body.page-cars .feature-card-car .feature-card-body {
    border-top: 1px solid rgba(21, 147, 15, 0.10);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-body h2,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-body h2,
html:not(.travelnet-dark) body.page-cars .feature-card-car .feature-card-body h2 {
    color: #10233c;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .price-block,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .price-block,
html:not(.travelnet-dark) body.page-cars .feature-card-car .price-block {
    border-left-color: rgba(21, 147, 15, 0.16);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .price-block strong,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .price-block strong,
html:not(.travelnet-dark) body.page-cars .feature-card-car .price-block strong {
    color: var(--green-dark);
}

html:not(.travelnet-dark) body.page-flights .trust-strip,
html:not(.travelnet-dark) body.page-flights .content-panel,
html:not(.travelnet-dark) body.page-hotels .trust-strip,
html:not(.travelnet-dark) body.page-hotels .content-panel,
html:not(.travelnet-dark) body.page-cars .car-trust-strip,
html:not(.travelnet-dark) body.page-cars .car-service-tile {
    border: 1px solid rgba(21, 147, 15, 0.12);
    background: #ffffff;
    color: var(--ink);
    box-shadow: 0 18px 44px rgba(11, 83, 29, 0.08);
}

html:not(.travelnet-dark) body.page-flights .trust-icon,
html:not(.travelnet-dark) body.page-flights .heading-icon,
html:not(.travelnet-dark) body.page-hotels .trust-icon,
html:not(.travelnet-dark) body.page-hotels .heading-icon,
html:not(.travelnet-dark) body.page-cars .car-trust-item > span,
html:not(.travelnet-dark) body.page-cars .car-service-tile > span {
    background: var(--green-soft);
    color: var(--green-dark);
    box-shadow: inset 0 0 0 1px rgba(21, 147, 15, 0.12);
}

html:not(.travelnet-dark) body.page-flights .destination-card,
html:not(.travelnet-dark) body.page-flights .airline-panel .logo-card,
html:not(.travelnet-dark) body.page-hotels .destination-card,
html:not(.travelnet-dark) body.page-hotels .hotel-brand-panel .logo-card {
    border-color: rgba(21, 147, 15, 0.12);
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(11, 83, 29, 0.07);
}

html:not(.travelnet-dark) {
    color-scheme: light;
    --ink: #10213a;
    --muted: #52677f;
    --line: #c7d6e8;
    --panel: #ffffff;
    --page: #f1f7ff;
    --green-soft: #e5f8e5;
    --shadow: 0 24px 62px rgba(13, 50, 92, 0.15);
    --light-sky: #0879c9;
    --light-sky-soft: #e4f4ff;
    --light-coral-soft: #fff0ef;
    --light-gold-soft: #fff7db;
}

html:not(.travelnet-dark) body {
    background:
        linear-gradient(118deg, rgba(255, 247, 219, 0.82) 0%, rgba(255, 255, 255, 0) 24%),
        linear-gradient(292deg, rgba(228, 244, 255, 0.92) 0%, rgba(255, 255, 255, 0) 32%),
        linear-gradient(180deg, #eef7ff 0%, #ffffff 44%, #f4fbf4 100%);
    color: var(--ink);
}

html:not(.travelnet-dark) body::before {
    background:
        linear-gradient(118deg, rgba(255, 68, 63, 0.06), rgba(255, 255, 255, 0) 28%),
        linear-gradient(298deg, rgba(8, 121, 201, 0.10), rgba(255, 255, 255, 0) 36%);
    filter: none;
    opacity: 1;
}

html:not(.travelnet-dark) .site-header {
    border-bottom: 1px solid rgba(8, 121, 201, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 253, 255, 0.88));
    box-shadow: 0 12px 36px rgba(13, 50, 92, 0.12);
    backdrop-filter: blur(16px);
}

html:not(.travelnet-dark) .brand {
    width: fit-content;
    padding: 5px 9px;
    border: 1px solid rgba(8, 121, 201, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(13, 50, 92, 0.12);
}

html:not(.travelnet-dark) .primary-nav {
    border: 1px solid rgba(8, 121, 201, 0.10);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(236, 248, 255, 0.78));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 12px 28px rgba(13, 50, 92, 0.08);
}

html:not(.travelnet-dark) .nav-pill,
html:not(.travelnet-dark) .utility-nav a,
html:not(.travelnet-dark) .utility-nav button,
html:not(.travelnet-dark) .ghost-button,
html:not(.travelnet-dark) .chip {
    border-color: rgba(8, 121, 201, 0.12);
    background: rgba(255, 255, 255, 0.92);
    color: #14243c;
    box-shadow: 0 8px 20px rgba(13, 50, 92, 0.06);
}

html:not(.travelnet-dark) .nav-pill:hover,
html:not(.travelnet-dark) .nav-pill:focus-visible {
    border-color: rgba(8, 121, 201, 0.30);
    background: #ffffff;
    color: var(--light-sky);
    box-shadow: 0 12px 26px rgba(8, 121, 201, 0.12);
}

html:not(.travelnet-dark) .nav-pill.is-active {
    border-color: rgba(255, 255, 255, 0.80);
    background:
        linear-gradient(135deg, #0a83d8 0%, #15930f 100%);
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(8, 121, 201, 0.22), 0 8px 18px rgba(21, 147, 15, 0.16);
}

html:not(.travelnet-dark) .utility-nav .travelbot-link,
html:not(.travelnet-dark) .utility-nav .currency,
html:not(.travelnet-dark) .utility-nav .account-menu-toggle,
html:not(.travelnet-dark) .theme-toggle {
    border-color: rgba(8, 121, 201, 0.18) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(228, 244, 255, 0.82)) !important;
    color: #075d9a;
    box-shadow: 0 10px 22px rgba(8, 121, 201, 0.10);
}

html:not(.travelnet-dark) .utility-nav .travelbot-link:hover,
html:not(.travelnet-dark) .utility-nav .travelbot-link:focus-visible,
html:not(.travelnet-dark) .utility-nav .currency:hover,
html:not(.travelnet-dark) .utility-nav .currency:focus-visible,
html:not(.travelnet-dark) .utility-nav .account-menu-toggle:hover,
html:not(.travelnet-dark) .utility-nav .account-menu-toggle:focus-visible,
html:not(.travelnet-dark) .utility-nav .currency[aria-expanded="true"],
html:not(.travelnet-dark) .utility-nav .account-menu-toggle[aria-expanded="true"] {
    border-color: rgba(255, 68, 63, 0.24) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 240, 239, 0.86)) !important;
    color: #c42724;
    box-shadow: 0 14px 30px rgba(255, 68, 63, 0.12), 0 8px 18px rgba(8, 121, 201, 0.10);
}

html:not(.travelnet-dark) .currency-menu,
html:not(.travelnet-dark) .account-menu-panel {
    border-color: rgba(8, 121, 201, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 252, 255, 0.98));
    box-shadow: 0 30px 70px rgba(13, 50, 92, 0.20);
}

html:not(.travelnet-dark) .admin-console-page {
    background:
        radial-gradient(circle at 12% 6%, rgba(8, 121, 201, 0.14), transparent 34%),
        radial-gradient(circle at 90% 14%, rgba(21, 147, 15, 0.10), transparent 30%),
        linear-gradient(135deg, #f7fcff 0%, #eef8ff 46%, #f8fff7 100%);
    color: #14243c;
}

html:not(.travelnet-dark) .admin-console-sidebar {
    border-right-color: rgba(8, 121, 201, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 249, 255, 0.94)),
        #ffffff;
    box-shadow: 18px 0 46px rgba(13, 50, 92, 0.10);
}

html:not(.travelnet-dark) .admin-console-brand,
html:not(.travelnet-dark) .admin-console-profile strong,
html:not(.travelnet-dark) .admin-console-user-cell strong,
html:not(.travelnet-dark) .admin-console-quick-actions strong {
    color: #0f223b;
}

html:not(.travelnet-dark) .admin-console-brand-mark,
html:not(.travelnet-dark) .admin-console-profile > span,
html:not(.travelnet-dark) .admin-console-user-cell > span,
html:not(.travelnet-dark) .admin-console-stat-card > span {
    background: linear-gradient(135deg, rgba(228, 244, 255, 0.96), rgba(232, 249, 230, 0.92));
    color: #0879c9;
    box-shadow: 0 14px 30px rgba(8, 121, 201, 0.12);
}

html:not(.travelnet-dark) .admin-console-brand small,
html:not(.travelnet-dark) .admin-console-nav-label,
html:not(.travelnet-dark) .admin-console-promo small,
html:not(.travelnet-dark) .admin-console-profile small,
html:not(.travelnet-dark) .admin-console-page p,
html:not(.travelnet-dark) .admin-console-stat-card em,
html:not(.travelnet-dark) .admin-console-quick-actions small,
html:not(.travelnet-dark) .admin-console-user-cell small {
    color: #566b86;
}

html:not(.travelnet-dark) .admin-console-nav a {
    color: #33465f;
}

html:not(.travelnet-dark) .admin-console-nav .icon {
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-console-nav a:hover,
html:not(.travelnet-dark) .admin-console-nav a:focus-visible,
html:not(.travelnet-dark) .admin-console-nav a.is-active {
    border-color: rgba(21, 147, 15, 0.26);
    background: linear-gradient(135deg, rgba(229, 249, 229, 0.96), rgba(229, 244, 255, 0.90));
    color: #0b6f10;
}

html:not(.travelnet-dark) .admin-console-promo,
html:not(.travelnet-dark) .admin-console-result,
html:not(.travelnet-dark) .admin-console-stat-card,
html:not(.travelnet-dark) .admin-console-panel {
    border-color: rgba(8, 121, 201, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 252, 255, 0.96));
    box-shadow: 0 22px 54px rgba(13, 50, 92, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

html:not(.travelnet-dark) .admin-console-promo strong,
html:not(.travelnet-dark) .admin-console-page-heading h1,
html:not(.travelnet-dark) .admin-console-stat-card strong {
    color: #0f223b;
}

html:not(.travelnet-dark) .admin-console-topbar {
    border-bottom-color: rgba(8, 121, 201, 0.12);
    background: rgba(255, 255, 255, 0.78);
}

html:not(.travelnet-dark) .admin-console-search,
html:not(.travelnet-dark) .admin-console-icon-button,
html:not(.travelnet-dark) .admin-console-bot-button,
html:not(.travelnet-dark) .admin-console-filter-button,
html:not(.travelnet-dark) .admin-console-small-action,
html:not(.travelnet-dark) .admin-console-pagination button {
    border-color: rgba(8, 121, 201, 0.16);
    background: rgba(255, 255, 255, 0.90);
    color: #075d9a;
}

html:not(.travelnet-dark) .admin-console-search input {
    color: #0f223b;
}

html:not(.travelnet-dark) .admin-console-search input::placeholder {
    color: #7889a0;
}

html:not(.travelnet-dark) .admin-console-icon-button:hover,
html:not(.travelnet-dark) .admin-console-bot-button:hover,
html:not(.travelnet-dark) .admin-console-filter-button:hover,
html:not(.travelnet-dark) .admin-console-small-action:hover,
html:not(.travelnet-dark) .admin-console-pagination button:hover:not(:disabled) {
    border-color: rgba(21, 147, 15, 0.28);
    background: rgba(235, 249, 235, 0.96);
    color: #0b6f10;
}

html:not(.travelnet-dark) .admin-console-primary-button {
    border-color: rgba(255, 255, 255, 0.88);
    background: linear-gradient(135deg, #0879c9 0%, #15930f 100%);
    color: #ffffff;
}

html:not(.travelnet-dark) .admin-console-heading-badge,
html:not(.travelnet-dark) .admin-console-badge {
    border-color: rgba(21, 147, 15, 0.20);
    background: rgba(232, 249, 230, 0.94);
    color: #0b6f10;
}

html:not(.travelnet-dark) .admin-console-profile {
    border-top-color: rgba(8, 121, 201, 0.12);
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-card {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 128px;
    padding: 22px;
    overflow: hidden;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-copy,
html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-card > span {
    position: relative;
    z-index: 1;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-card small {
    color: #64748b;
    font-size: 12px;
    text-transform: uppercase;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-card strong {
    color: #13243a;
    font-size: 28px;
    overflow-wrap: normal;
    word-break: normal;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-card em {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-spark {
    position: absolute;
    right: 14px;
    top: 50%;
    width: 58px;
    height: 54px;
    z-index: 0;
    opacity: 0.46;
    pointer-events: none;
    transform: translateY(-50%);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-console-page:not(.admin-dashboard-page) .admin-console-stat-spark i {
    width: 6px;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-shell {
    background: #f4f7fb;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-content,
html:not(.travelnet-dark) .admin-console-page .admin-permissions-content,
html:not(.travelnet-dark) .admin-console-page .admin-audit-content,
html:not(.travelnet-dark) .admin-console-page .admin-settings-content,
html:not(.travelnet-dark) .admin-console-page .admin-viewlogger-content {
    color: #26364d;
}

html:not(.travelnet-dark) .admin-console-panel h2,
html:not(.travelnet-dark) .admin-console-panel h3,
html:not(.travelnet-dark) .admin-dashboard-request-card strong,
html:not(.travelnet-dark) .admin-dashboard-booking-row strong,
html:not(.travelnet-dark) .admin-dashboard-timeline strong,
html:not(.travelnet-dark) .admin-console-approval-card strong,
html:not(.travelnet-dark) .admin-console-health-list strong,
html:not(.travelnet-dark) .admin-console-empty-row strong,
html:not(.travelnet-dark) .admin-audit-row-head strong,
html:not(.travelnet-dark) .admin-audit-attention-list strong,
html:not(.travelnet-dark) .admin-audit-source-list strong,
html:not(.travelnet-dark) .admin-permissions-page .auth-debug-card h2,
html:not(.travelnet-dark) .admin-permissions-page .auth-table td strong,
html:not(.travelnet-dark) .admin-permissions-page .auth-debug-list dd {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-console-empty-row small,
html:not(.travelnet-dark) .admin-console-approval-card small,
html:not(.travelnet-dark) .admin-console-approval-card p,
html:not(.travelnet-dark) .admin-console-health-list small,
html:not(.travelnet-dark) .admin-dashboard-request-card small,
html:not(.travelnet-dark) .admin-dashboard-timeline small,
html:not(.travelnet-dark) .admin-dashboard-booking-row em,
html:not(.travelnet-dark) .admin-dashboard-booking-payment,
html:not(.travelnet-dark) .admin-dashboard-booking-payment small,
html:not(.travelnet-dark) .admin-console-pagination,
html:not(.travelnet-dark) .admin-console-role-list span,
html:not(.travelnet-dark) .admin-console-role-list em,
html:not(.travelnet-dark) .admin-audit-row-head time,
html:not(.travelnet-dark) .admin-audit-attention-list small,
html:not(.travelnet-dark) .admin-permissions-page .auth-table td,
html:not(.travelnet-dark) .admin-permissions-page .auth-debug-list dt,
html:not(.travelnet-dark) .admin-permissions-page .auth-safety-list li {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-console-table-wrap,
html:not(.travelnet-dark) .admin-permissions-page .auth-table-scroll,
html:not(.travelnet-dark) .admin-audit-tabs,
html:not(.travelnet-dark) .admin-console-tabs,
html:not(.travelnet-dark) .admin-settings-action-row,
html:not(.travelnet-dark) .admin-viewlogger-log-switch,
html:not(.travelnet-dark) .admin-viewlogger-table-panel,
html:not(.travelnet-dark) .admin-viewlogger-files,
html:not(.travelnet-dark) .admin-viewlogger-verdict,
html:not(.travelnet-dark) .admin-viewlogger-chooser,
html:not(.travelnet-dark) .admin-viewlogger-summary-panel {
    border-color: #e6edf5;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-console-tabs button,
html:not(.travelnet-dark) .admin-console-tabs a {
    border-color: #e6edf5;
    background: #ffffff;
    color: #405067;
}

html:not(.travelnet-dark) .admin-console-tabs button.is-active,
html:not(.travelnet-dark) .admin-console-tabs a.is-active,
html:not(.travelnet-dark) .admin-console-filter-button.is-active,
html:not(.travelnet-dark) .admin-console-pagination button.is-active {
    border-color: rgba(24, 169, 87, 0.34);
    background: #e9f8ee;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-console-tabs span,
html:not(.travelnet-dark) .admin-console-tabs a span {
    color: #738195;
}

html:not(.travelnet-dark) .admin-console-action-grid a,
html:not(.travelnet-dark) .admin-console-quick-actions a,
html:not(.travelnet-dark) .admin-console-health-list span,
html:not(.travelnet-dark) .admin-console-approval-card,
html:not(.travelnet-dark) .admin-dashboard-request-card,
html:not(.travelnet-dark) .admin-dashboard-booking-row,
html:not(.travelnet-dark) .admin-audit-row,
html:not(.travelnet-dark) .admin-audit-row-meta span,
html:not(.travelnet-dark) .admin-audit-row-evidence span,
html:not(.travelnet-dark) .admin-audit-source-list span,
html:not(.travelnet-dark) .admin-audit-attention-list article,
html:not(.travelnet-dark) .admin-permissions-page .auth-debug-list div {
    border-color: #e6edf5;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-audit-row p {
    color: #405067;
}

html:not(.travelnet-dark) .admin-audit-row-meta span {
    color: #334155;
}

html:not(.travelnet-dark) .admin-audit-row-evidence span {
    color: #526176;
}

html:not(.travelnet-dark) .admin-console-action-grid a:hover,
html:not(.travelnet-dark) .admin-console-quick-actions a:hover {
    border-color: #cbeed7;
    background: #f7fcf9;
}

html:not(.travelnet-dark) .admin-console-action-grid .icon,
html:not(.travelnet-dark) .admin-console-quick-actions .icon,
html:not(.travelnet-dark) .admin-console-tip-panel h2 .icon,
html:not(.travelnet-dark) .admin-permissions-page .auth-debug-list dt .icon,
html:not(.travelnet-dark) .admin-permissions-page .auth-safety-list .icon {
    color: #18a957;
}

html:not(.travelnet-dark) .admin-console-table th,
html:not(.travelnet-dark) .admin-console-table td,
html:not(.travelnet-dark) .admin-permissions-page .auth-table th,
html:not(.travelnet-dark) .admin-permissions-page .auth-table td {
    border-bottom-color: #e6edf5;
}

html:not(.travelnet-dark) .admin-console-table th,
html:not(.travelnet-dark) .admin-permissions-page .auth-table th {
    background: #f7fafc;
    color: #738195;
}

html:not(.travelnet-dark) .admin-console-table td {
    color: #334155;
}

html:not(.travelnet-dark) .admin-console-table tbody tr:hover td,
html:not(.travelnet-dark) .admin-permissions-page .auth-table tbody tr:hover td {
    background: #f8fcf9;
}

html:not(.travelnet-dark) .admin-pending-date,
html:not(.travelnet-dark) .admin-pending-table td > small {
    color: #738195;
}

html:not(.travelnet-dark) .admin-console-search,
html:not(.travelnet-dark) .admin-console-decline-form input,
html:not(.travelnet-dark) .admin-console-page input[type="text"],
html:not(.travelnet-dark) .admin-console-page input[type="search"],
html:not(.travelnet-dark) .admin-console-page input[type="email"],
html:not(.travelnet-dark) .admin-console-page input[type="url"],
html:not(.travelnet-dark) .admin-console-page input[type="date"],
html:not(.travelnet-dark) .admin-console-page input[type="time"],
html:not(.travelnet-dark) .admin-console-page select,
html:not(.travelnet-dark) .admin-console-page textarea {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #13243a;
}

html:not(.travelnet-dark) .admin-console-page input::placeholder,
html:not(.travelnet-dark) .admin-console-page textarea::placeholder {
    color: #95a1b0;
}

html:not(.travelnet-dark) .admin-console-row-actions .auth-row-check {
    accent-color: #18a957;
}

html:not(.travelnet-dark) .admin-console-badge.is-role-admin,
html:not(.travelnet-dark) .admin-console-badge.is-status-active,
html:not(.travelnet-dark) .admin-console-badge.is-status-new-request,
html:not(.travelnet-dark) .admin-console-badge.is-status-auto-approve-eligible,
html:not(.travelnet-dark) .admin-console-badge.is-status-approved {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-console-badge.is-role-agent,
html:not(.travelnet-dark) .admin-console-badge.is-role-affiliate,
html:not(.travelnet-dark) .admin-console-badge.is-purple,
html:not(.travelnet-dark) .admin-permissions-page .auth-permission-pill,
html:not(.travelnet-dark) .admin-permissions-page .auth-permission-dot {
    border-color: #ded4fb;
    background: #f4f0ff;
    color: #6f4acb;
}

html:not(.travelnet-dark) .admin-console-badge.is-role-customer,
html:not(.travelnet-dark) .admin-console-badge.is-status-info,
html:not(.travelnet-dark) .admin-console-badge.is-status-notice,
html:not(.travelnet-dark) .admin-permissions-page .auth-badge-status {
    border-color: #cdeafd;
    background: #eef8ff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-console-badge.is-status-pending,
html:not(.travelnet-dark) .admin-console-badge.is-status-warning,
html:not(.travelnet-dark) .admin-console-badge.is-status-requires-review,
html:not(.travelnet-dark) .admin-permissions-page .auth-permission-pill.is-denied,
html:not(.travelnet-dark) .admin-permissions-page .auth-permission-dot.is-denied {
    border-color: #f4e3aa;
    background: #fffaea;
    color: #9a6a00;
}

html:not(.travelnet-dark) .admin-console-badge.is-status-disabled,
html:not(.travelnet-dark) .admin-console-badge.is-status-error {
    border-color: #f3c8c8;
    background: #fff6f6;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-console-approve-button {
    border-color: #18a957;
    background: #18a957;
    color: #ffffff;
}

html:not(.travelnet-dark) .admin-console-decline-button {
    border-color: #f1d5d5;
    background: #fff6f6;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-console-donut span,
html:not(.travelnet-dark) .admin-console-overview-donut > span {
    background: #ffffff;
    box-shadow: inset 0 0 0 1px #e6edf5;
}

html:not(.travelnet-dark) .admin-console-overview-donut strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-console-overview-donut small {
    color: #738195;
}

html:not(.travelnet-dark) .admin-permissions-hero,
html:not(.travelnet-dark) .admin-audit-hero,
html:not(.travelnet-dark) .admin-settings-hero,
html:not(.travelnet-dark) .admin-viewlogger-hero,
html:not(.travelnet-dark) .admin-booking-hero {
    background:
        radial-gradient(circle at 78% 18%, rgba(24, 169, 87, 0.12), transparent 28%),
        radial-gradient(circle at 94% 56%, rgba(22, 163, 244, 0.12), transparent 24%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-permissions-hero h1,
html:not(.travelnet-dark) .admin-audit-hero h1,
html:not(.travelnet-dark) .admin-settings-hero h1,
html:not(.travelnet-dark) .admin-viewlogger-hero h1,
html:not(.travelnet-dark) .admin-booking-hero h1 {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-permissions-security-orbit i,
html:not(.travelnet-dark) .admin-audit-signal i,
html:not(.travelnet-dark) .admin-settings-signal i {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #18a957;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-permissions-security-orbit span,
html:not(.travelnet-dark) .admin-audit-signal span,
html:not(.travelnet-dark) .admin-settings-signal span {
    border-color: rgba(24, 169, 87, 0.24);
    border-left-color: transparent;
    border-bottom-color: rgba(22, 163, 244, 0.14);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-audit-row.is-warning,
html:not(.travelnet-dark) .admin-audit-attention-list article {
    border-color: #f4e3aa;
    background: #fffaf0;
}

html:not(.travelnet-dark) .admin-audit-row.is-error {
    border-color: #f3c8c8;
    background: #fff6f6;
}

html:not(.travelnet-dark) .admin-audit-filter-form,
html:not(.travelnet-dark) .admin-audit-group {
    border-color: #dce8f5;
    background: linear-gradient(135deg, #ffffff, #fbf8ff);
    box-shadow: 0 14px 34px rgba(54, 72, 104, 0.07);
}

html:not(.travelnet-dark) .admin-audit-filter-form label > span,
html:not(.travelnet-dark) .admin-audit-feed-panel .admin-console-panel-heading small,
html:not(.travelnet-dark) .admin-audit-group-title time,
html:not(.travelnet-dark) .admin-audit-timeline-event time,
html:not(.travelnet-dark) .admin-audit-timeline-event em {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-audit-filter-form input,
html:not(.travelnet-dark) .admin-audit-filter-form select {
    border-color: #dce8f5;
    background: #ffffff;
    color: #24344b;
}

html:not(.travelnet-dark) .admin-audit-filter-actions a,
html:not(.travelnet-dark) .admin-audit-group-actions > a,
html:not(.travelnet-dark) .admin-audit-next-page {
    border-color: #d8ccf5;
    color: #6d4bc3;
}

html:not(.travelnet-dark) .admin-audit-reader-notice {
    border-color: #f2dda0;
    background: #fff9e8;
    color: #896100;
}

html:not(.travelnet-dark) .admin-audit-reader-notice span {
    color: #7b6840;
}

html:not(.travelnet-dark) .admin-audit-group.is-warning {
    border-color: #f2dda0;
    background: linear-gradient(135deg, #ffffff, #fffaf0);
}

html:not(.travelnet-dark) .admin-audit-group.is-error {
    border-color: #f3c8c8;
    background: linear-gradient(135deg, #ffffff, #fff6f8);
}

html:not(.travelnet-dark) .admin-audit-group-title strong,
html:not(.travelnet-dark) .admin-audit-timeline-event strong,
html:not(.travelnet-dark) .admin-audit-support-panel > summary {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-audit-group-head p,
html:not(.travelnet-dark) .admin-audit-timeline-event span {
    color: #4b5f78;
}

html:not(.travelnet-dark) .admin-audit-group-actions {
    border-top-color: #e7edf5;
    background: rgba(246, 250, 255, 0.72);
}

html:not(.travelnet-dark) .admin-audit-group-actions summary {
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-audit-timeline {
    border-color: #e2daf5;
    background: #ffffff;
}

html:not(.travelnet-dark) .admin-audit-timeline-event:nth-child(odd) {
    background: #f6faff;
}

html:not(.travelnet-dark) .admin-audit-support-panel > summary small {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-audit-row-marker {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-audit-row.is-warning .admin-audit-row-marker,
html:not(.travelnet-dark) .admin-audit-attention-list article > span {
    background: #fff7dc;
    color: #9a6a00;
}

html:not(.travelnet-dark) .admin-audit-row.is-error .admin-audit-row-marker {
    background: #fff0f0;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-audit-row-meta .icon,
html:not(.travelnet-dark) .admin-audit-row-evidence .icon,
html:not(.travelnet-dark) .admin-audit-source-list .icon {
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-viewlogger-page pre,
html:not(.travelnet-dark) .admin-viewlogger-page code,
html:not(.travelnet-dark) .admin-settings-page code,
html:not(.travelnet-dark) .admin-permissions-page code,
html:not(.travelnet-dark) .admin-audit-page code {
    border-color: #dbe7f2;
    background: #f7fafc;
    color: #13243a;
}

html:not(.travelnet-dark) .admin-permissions-promo a,
html:not(.travelnet-dark) .admin-audit-promo a {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #0b7f3b;
}

/* Settings console light surface. The base settings components are authored
 * for the dark admin theme, so every nested surface needs an explicit light
 * counterpart instead of inheriting pale text over white cards. */
html:not(.travelnet-dark) .admin-settings-page .admin-settings-hero h1 .icon {
    color: #9a6a00;
    filter: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-signal span {
    border-color: rgba(24, 169, 87, 0.24);
    border-left-color: transparent;
    border-bottom-color: rgba(22, 163, 244, 0.14);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-signal span::before {
    background: #18a957;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-signal span::after {
    background: #16a3f4;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-signal i {
    border-color: #f2dda0;
    background:
        linear-gradient(145deg, #fff9e8, #edf9f1);
    color: #9a6a00;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-signal i .icon {
    filter: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-save-message.is-ok {
    border-color: #cbeed7;
    background: #edf9f1;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-save-message.is-error {
    border-color: #f3c8c8;
    background: #fff6f6;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-save-message strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-save-message ul {
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-card,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-row {
    border-color: #e6edf5;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-card > header > span {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-card > header > strong,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-list code {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-list > div {
    border-top-color: #e6edf5;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-list dt,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-product-flow-card > p {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-flow-status.is-enabled {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-flow-status.is-disabled {
    border-color: #f0d27a;
    background: #fff7dc;
    color: #7a5600;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field.is-overridden {
    border-color: #9fdfb6;
    background: #f7fcf9;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field.is-environment-active {
    border-color: #f0d27a;
    background: #fffaf0;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-heading strong,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-edit-body > label:not(.admin-settings-endpoint-reset) {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-heading code {
    border: 0;
    background: transparent;
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-chevron {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field[open] .admin-settings-endpoint-chevron {
    border-color: #cbeed7;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-edit-body {
    border-top-color: #e6edf5;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-edit-body > p {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-status {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-values section {
    border-color: #dbe7f2;
    background: #ffffff;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-values code {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field .admin-settings-endpoint-warning {
    border-color: #f0d27a;
    background: #fff7dc;
    color: #7a5600;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-reset {
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-forbidden > p {
    border-color: #e6edf5;
    background: #fbfdff;
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row.is-warning {
    border-color: #f4e3aa;
    background: #fffaf0;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row.is-enabled {
    border-color: #cbeed7;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row.is-disabled {
    border-color: #cdeafd;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-card-heading > span {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-card-heading b {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-collapsible[open] .admin-settings-card-heading b {
    border-color: #cbeed7;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field span,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-main strong {
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field small,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-field em,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-endpoint-actions > span {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-main span {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-meta small,
html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-meta em {
    border-color: #dbe7f2;
    background: #f7fafc;
    color: #526176;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-meta .is-risk-high {
    border-color: #f3c8c8;
    background: #fff6f6;
    color: #a43e3e;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-meta .is-risk-medium {
    border-color: #f4e3aa;
    background: #fffaea;
    color: #896100;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-row-meta .is-risk-low {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #0b7f3b;
}

/* Flight viewlogger light surface: keep the trace evidence calm and scannable. */
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-topbar {
    background: #ffffff;
    border-bottom-color: #e6edf5;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-search {
    grid-template-columns: 20px minmax(180px, 420px) auto;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-search .icon {
    color: #18a957;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-search input {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-search input:focus {
    border-color: #18a957;
    box-shadow: 0 0 0 3px rgba(24, 169, 87, 0.13);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-content {
    background: #f4f7fb;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-hero {
    min-height: 210px;
    border-color: #e6edf5;
    background:
        radial-gradient(circle at 84% 22%, rgba(22, 163, 244, 0.10), transparent 25%),
        radial-gradient(circle at 18% 92%, rgba(24, 169, 87, 0.08), transparent 28%),
        #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-hero h1 .icon {
    color: #6f4acb;
    filter: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-signal span {
    border-color: rgba(22, 163, 244, 0.28);
    border-left-color: rgba(111, 74, 203, 0.16);
    border-bottom-color: rgba(24, 169, 87, 0.18);
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-signal span::before {
    background: #16a3f4;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-signal span::after {
    background: #8a68d7;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-signal i {
    border-color: #ded4fb;
    background: #f4f0ff;
    color: #6f4acb;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch {
    border-color: #e6edf5;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a {
    border-color: #e6edf5;
    background: #ffffff;
    color: #13243a;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:hover,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:focus-visible,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a.is-active {
    border-color: #18a957;
    background: #f7fcf9;
    box-shadow: 0 10px 24px rgba(24, 169, 87, 0.10);
    transform: translateY(-1px);
    outline: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:nth-child(2):hover,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:nth-child(2):focus-visible,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:nth-child(2).is-active {
    border-color: #16a3f4;
    background: #f6fbff;
    box-shadow: 0 10px 24px rgba(22, 163, 244, 0.10);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a > span {
    background: #edf9f1;
    color: #18a957;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a:nth-child(2) > span {
    background: #eef8ff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch a.is-active > span {
    background: #dff5e7;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-log-switch small {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-chooser,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-summary-panel,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-table-panel,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-rail,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-files {
    border-color: #e6edf5;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-chooser-search {
    border-color: #e6edf5;
    background: #f7fafc;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-chooser-search label span {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-chooser-search input {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-chooser-search input:focus {
    border-color: #8a68d7;
    box-shadow: 0 0 0 3px rgba(111, 74, 203, 0.12);
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-clear-filter {
    border-color: #cbddec;
    background: linear-gradient(135deg, #f2f9ff, #f8f4ff);
    color: #405d78;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-clear-filter:hover,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-clear-filter:focus-visible {
    border-color: #a78bda;
    background: linear-gradient(135deg, #e8f5ff, #f1eaff);
    color: #503b82;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card {
    border-color: #e6edf5;
    background: #ffffff;
    color: #13243a;
    box-shadow: 0 8px 20px rgba(28, 49, 75, 0.04);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card:hover,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card:focus-visible {
    border-color: #cbeed7;
    background: #fbfffc;
    box-shadow: 0 14px 28px rgba(28, 49, 75, 0.10);
    transform: translateY(-2px);
    outline: none;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card > span {
    background: #edf9f1;
    color: #18a957;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card b {
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card small {
    color: #6f4acb;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-choice-card em {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-summary-grid article,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-health-row,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-mini-list article {
    border-color: #e6edf5;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-summary-grid small,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-summary-grid span,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-health-row strong,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-mini-list small {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-summary-grid strong,
html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-mini-list strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-health-row .is-ok {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-health-row .is-warning {
    background: #fff7dc;
    color: #9a6a00;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-health-row .is-danger {
    background: #fff0f0;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row {
    border-color: #e6edf5;
    background: #ffffff;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-ok {
    border-color: #cbeed7;
    background: #fbfffc;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-warning {
    border-color: #f4e3aa;
    background: #fffdf5;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-danger {
    border-color: #f3c8c8;
    background: #fffafa;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-info {
    border-color: #cdeafd;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row-status {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-warning .admin-viewlogger-row-status {
    background: #fff7dc;
    color: #9a6a00;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-danger .admin-viewlogger-row-status {
    background: #fff0f0;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row.is-info .admin-viewlogger-row-status {
    background: #eef8ff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row-copy strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row-copy span {
    color: #405067;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-row-copy small {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-collapsible-summary::after {
    border-color: #dbe7f2;
    background: #f7fafc;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-file {
    border-color: #e6edf5;
    background: #fbfdff;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-file summary > span {
    background: #eef8ff;
    color: #0879c9;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-file summary strong {
    color: #13243a;
}

html:not(.travelnet-dark) .admin-viewlogger-page .admin-viewlogger-file summary small {
    color: #64748b;
}

/* A soft light-green wash keeps the light admin console warm without competing with its white panels. */
html:not(.travelnet-dark) .admin-console-page .admin-console-shell {
    background:
        radial-gradient(circle at 12% 4%, rgba(24, 169, 87, 0.10), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(111, 206, 145, 0.08), transparent 28%),
        #f4f7fb;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-content {
    background:
        radial-gradient(circle at 78% 0%, rgba(214, 247, 224, 0.34), transparent 32%),
        linear-gradient(180deg, rgba(248, 253, 249, 0.72), rgba(244, 247, 251, 0.96) 46%),
        #f4f7fb;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-sidebar {
    background: #ffffff;
    box-shadow: 8px 0 28px rgba(16, 185, 129, 0.035);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav a:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-nav a:focus-visible {
    background: rgba(34, 197, 94, 0.08);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav a.is-active {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.14), rgba(34, 197, 94, 0.05));
    color: #0b7f3b;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-panel,
html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.05), transparent 55%),
        linear-gradient(180deg, #ffffff, #fbfffc);
    box-shadow: 0 8px 30px rgba(16, 185, 129, 0.05);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-users {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 60%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-pending,
html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-warning {
    background:
        radial-gradient(circle at top right, rgba(245, 158, 11, 0.08), transparent 60%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-bookings {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.08), transparent 60%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-admin,
html:not(.travelnet-dark) .admin-console-page .admin-console-stat-card.is-purple {
    background:
        radial-gradient(circle at top right, rgba(139, 92, 246, 0.08), transparent 60%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-primary-button,
html:not(.travelnet-dark) .admin-console-page .admin-console-approve-button {
    border-color: #10b981;
    background: linear-gradient(135deg, #10b981, #22c55e);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(16, 185, 129, 0.14);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-primary-button:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-primary-button:focus-visible,
html:not(.travelnet-dark) .admin-console-page .admin-console-approve-button:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-approve-button:focus-visible {
    border-color: #059669;
    background: linear-gradient(135deg, #059669, #16a34a);
    box-shadow: 0 12px 24px rgba(16, 185, 129, 0.20);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-decline-button {
    border-color: #f3c8c8;
    background: #ffffff;
    color: #b54f4f;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-decline-button:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-decline-button:focus-visible {
    background: #fff6f6;
    box-shadow: 0 8px 18px rgba(239, 68, 68, 0.08);
}

html:not(.travelnet-dark) .admin-console-page .admin-viewlogger-choice-card,
html:not(.travelnet-dark) .admin-console-page .admin-viewlogger-row {
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.045);
}

html:not(.travelnet-dark) .admin-console-page .admin-viewlogger-choice-card:hover,
html:not(.travelnet-dark) .admin-console-page .admin-viewlogger-choice-card:focus-visible {
    box-shadow: 0 16px 36px rgba(16, 185, 129, 0.12);
    transform: translateY(-3px);
}

.admin-console-drawer-toggle,
.admin-console-drawer-close,
.admin-console-drawer-backdrop,
.admin-console-mobile-brand {
    display: none;
}

@media (max-width: 768px) {
    .admin-dashboard-page {
        padding: 0;
        overflow-x: hidden;
    }

    .admin-dashboard-page .admin-console-shell {
        display: block;
        min-height: 100vh;
    }

    .admin-dashboard-page .admin-console-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 120;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto auto;
        width: min(82vw, 320px);
        max-width: calc(100vw - 48px);
        min-height: 100vh;
        padding: 22px 16px;
        overflow-y: auto;
        border-right: 1px solid #dbe7f2;
        border-bottom: 0;
        background: #ffffff;
        box-shadow: 18px 0 44px rgba(15, 35, 55, 0.18);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }

    .admin-dashboard-page .admin-console-sidebar.is-open {
        transform: translateX(0);
    }

    .admin-dashboard-page .admin-console-drawer-close {
        position: absolute;
        top: 16px;
        right: 14px;
        z-index: 2;
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid #dbe7f2;
        border-radius: 12px;
        background: #ffffff;
        color: #405067;
        cursor: pointer;
    }

    .admin-dashboard-page .admin-console-drawer-close:hover,
    .admin-dashboard-page .admin-console-drawer-close:focus-visible {
        border-color: #cbeed7;
        background: #f7fcf9;
        color: #0b7f3b;
        outline: 3px solid rgba(24, 169, 87, 0.14);
        outline-offset: 2px;
    }

    .admin-dashboard-page .admin-console-sidebar .admin-console-brand {
        padding-right: 48px;
    }

    .admin-dashboard-page .admin-console-nav {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-top: 10px;
    }

    .admin-dashboard-page .admin-console-nav-label {
        display: block;
        margin: 16px 12px 5px;
    }

    .admin-dashboard-page .admin-console-nav a {
        min-height: 48px;
        padding: 0 14px;
    }

    .admin-dashboard-page .admin-console-promo {
        display: grid;
        min-height: 118px;
        padding: 16px;
    }

    .admin-dashboard-page .admin-console-drawer-backdrop {
        position: fixed;
        inset: 0;
        z-index: 110;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(15, 35, 55, 0.38);
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms ease;
    }

    .admin-dashboard-page .admin-console-drawer-backdrop.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    .admin-dashboard-page .admin-console-main {
        min-width: 0;
        margin: 0;
    }

    .admin-dashboard-page .admin-console-topbar {
        position: sticky;
        top: 0;
        z-index: 20;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        grid-template-areas:
            "toggle brand actions"
            "search search search";
        gap: 12px;
        min-height: 0;
        padding: 12px 16px 14px;
        margin: 0;
        border-bottom: 1px solid #e6edf5;
        background: #ffffff;
        box-shadow: 0 4px 16px rgba(28, 49, 75, 0.06);
    }

    .admin-dashboard-page .admin-console-drawer-toggle {
        display: inline-grid;
        grid-area: toggle;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid #dbe7f2;
        border-radius: 12px;
        background: #ffffff;
        color: #13243a;
        cursor: pointer;
    }

    .admin-dashboard-page .admin-console-drawer-toggle:hover,
    .admin-dashboard-page .admin-console-drawer-toggle:focus-visible {
        border-color: #cbeed7;
        background: #f7fcf9;
        color: #0b7f3b;
        outline: 3px solid rgba(24, 169, 87, 0.14);
        outline-offset: 2px;
    }

    .admin-dashboard-page .admin-console-mobile-brand {
        display: inline-flex;
        grid-area: brand;
        min-width: 0;
        align-items: center;
        gap: 8px;
        color: #13243a;
        text-decoration: none;
    }

    .admin-dashboard-page .admin-console-mobile-brand .admin-console-brand-mark {
        display: grid;
        flex: 0 0 auto;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 12px;
        background: #edf9f1;
        color: #18a957;
        box-shadow: none;
    }

    .admin-dashboard-page .admin-console-mobile-brand .admin-console-brand-mark .icon {
        width: 21px;
        height: 21px;
    }

    .admin-dashboard-page .admin-console-mobile-brand strong {
        display: block;
        font-size: 16px;
        line-height: 1.05;
    }

    .admin-dashboard-page .admin-console-mobile-brand small {
        display: block;
        margin-top: 2px;
        color: #64748b;
        font-size: 8px;
        font-weight: 900;
        letter-spacing: 1.3px;
        text-transform: uppercase;
    }

    .admin-dashboard-page .admin-console-top-actions {
        grid-area: actions;
        display: inline-flex;
        flex-wrap: nowrap;
        gap: 6px;
        justify-content: flex-end;
    }

    .admin-dashboard-page .admin-console-top-actions > .travelbot-link {
        display: none;
    }

    .admin-dashboard-page .admin-console-top-actions > .theme-toggle,
    .admin-dashboard-page .admin-console-top-actions .account-menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .admin-dashboard-page .admin-console-top-actions .account-menu-toggle {
        width: 44px;
        padding: 0;
        gap: 0;
    }

    .admin-dashboard-page .admin-console-top-actions .account-menu-toggle span {
        display: none;
    }

    .admin-dashboard-page .admin-console-search {
        grid-area: search;
        width: 100%;
        min-height: 44px;
        margin: 0;
    }

    .admin-dashboard-page .admin-console-search input {
        min-height: 44px;
    }

    .admin-dashboard-page .admin-console-content {
        gap: 16px;
        padding: 16px;
    }

    .admin-dashboard-page .admin-dashboard-hero {
        grid-template-columns: 1fr;
        gap: 12px;
        min-height: 0;
        padding: 22px 18px 18px;
    }

    .admin-dashboard-page .admin-dashboard-hero h1 {
        gap: 8px;
        margin: 8px 0 10px;
        font-size: clamp(30px, 8vw, 34px);
    }

    .admin-dashboard-page .admin-dashboard-hero p {
        font-size: 14px;
        line-height: 1.5;
    }

    .admin-dashboard-page .admin-dashboard-hero-actions {
        gap: 8px;
        margin-top: 18px;
    }

    .admin-dashboard-page .admin-dashboard-hero-actions > * {
        flex: 1 1 180px;
        min-height: 44px;
        justify-content: center;
    }

    .admin-dashboard-page .admin-dashboard-orbit {
        display: grid;
        min-height: 86px;
        justify-content: end;
        transform: scale(0.72);
        transform-origin: right center;
    }

    .admin-dashboard-page .admin-console-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .admin-dashboard-page .admin-console-stat-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        min-height: 128px;
        padding: 14px;
    }

    .admin-dashboard-page .admin-console-stat-card > span {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .admin-dashboard-page .admin-console-stat-card strong {
        font-size: 24px;
    }

    .admin-dashboard-page .admin-console-stat-card small {
        font-size: 11px;
        line-height: 1.25;
    }

    .admin-dashboard-page .admin-console-stat-card em {
        font-size: 11px;
        line-height: 1.3;
    }

    .admin-dashboard-page .admin-console-stat-spark {
        position: absolute;
        right: 10px;
        bottom: 10px;
        width: 42px;
        height: 34px;
        opacity: 0.38;
    }

    .admin-dashboard-page .admin-console-dashboard-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .admin-dashboard-page .admin-console-dashboard-grid > .admin-console-panel,
    .admin-dashboard-page .admin-console-rail,
    .admin-dashboard-page .admin-console-rail > .admin-console-panel {
        width: 100%;
        min-width: 0;
    }

    .admin-dashboard-page .admin-console-panel {
        padding: 18px;
    }

    .admin-dashboard-page .admin-console-panel-heading {
        gap: 10px;
    }

    .admin-dashboard-page .admin-dashboard-request-card {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        padding: 14px;
    }

    .admin-dashboard-page .admin-dashboard-request-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        justify-content: stretch;
        padding-top: 4px;
    }

    .admin-dashboard-page .admin-dashboard-request-actions > * {
        min-width: 0;
        min-height: 44px;
    }

    .admin-dashboard-page .admin-dashboard-request-actions > :last-child {
        grid-column: 1 / -1;
    }

    .admin-dashboard-page .admin-console-overview-card {
        grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1fr);
        gap: 16px;
        align-items: center;
    }

    .admin-dashboard-page .admin-console-overview-donut {
        width: min(100%, 150px);
        justify-self: center;
    }

    .admin-dashboard-page .admin-console-quick-actions a {
        min-height: 64px;
        padding: 12px;
    }

    .admin-dashboard-page .admin-console-quick-actions a > .icon {
        width: 42px;
        height: 42px;
        padding: 10px;
        border-radius: 12px;
        background: rgba(34, 197, 94, 0.10);
    }
}

/* Premium Airline Rules modal and semantic rule cards. */
.travelnet-popup-header-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.travelnet-popup-header-icon {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(8, 121, 201, 0.18);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(226, 242, 255, 0.96), rgba(239, 232, 255, 0.96));
    color: #0879c9;
    box-shadow: 0 12px 28px rgba(43, 84, 133, 0.12);
}

.travelnet-popup-header-icon[hidden] {
    display: none;
}

.travelnet-popup-header-icon .icon {
    width: 28px;
    height: 28px;
}

.travelnet-popup-subtitle {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
}

.travelnet-popup-subtitle[hidden] {
    display: none;
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules {
    height: 90vh;
    max-height: 90vh;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 20px;
    background: rgba(248, 251, 255, 0.90);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(22px);
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header {
    position: sticky;
    top: 0;
    z-index: 4;
    min-height: 104px;
    padding: 18px 22px 18px 26px;
    border-bottom: 1px solid rgba(139, 158, 187, 0.20);
    background:
        radial-gradient(circle at 82% 5%, rgba(255, 111, 176, 0.12), transparent 31%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.94), rgba(238, 246, 255, 0.90) 56%, rgba(244, 238, 255, 0.90));
    backdrop-filter: blur(22px);
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-title {
    color: #1f2d46;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close {
    position: sticky;
    top: 18px;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-color: rgba(67, 91, 126, 0.18);
    background: rgba(255, 255, 255, 0.86);
    color: #273650;
    box-shadow: 0 12px 30px rgba(30, 53, 86, 0.14);
    backdrop-filter: blur(16px);
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close .icon {
    width: 24px;
    height: 24px;
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close:hover,
.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close:focus-visible {
    border-color: rgba(255, 68, 63, 0.48);
    background: #fff;
    color: #d93430;
    box-shadow: 0 16px 34px rgba(255, 68, 63, 0.16);
    outline: 3px solid rgba(255, 68, 63, 0.12);
    outline-offset: 3px;
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-content {
    min-height: 0;
    overflow: hidden;
    padding: 0;
    background: transparent;
}

.travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    background: transparent;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules {
    border-color: rgba(151, 177, 222, 0.20);
    background: rgba(8, 18, 32, 0.90);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.48);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules .travelnet-popup-header {
    border-bottom-color: rgba(143, 177, 255, 0.16);
    background:
        radial-gradient(circle at 82% 5%, rgba(255, 111, 176, 0.14), transparent 32%),
        linear-gradient(120deg, rgba(13, 34, 57, 0.96), rgba(20, 31, 58, 0.96) 56%, rgba(40, 27, 64, 0.96));
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules .travelnet-popup-header-icon {
    border-color: rgba(143, 207, 255, 0.22);
    background: linear-gradient(135deg, rgba(39, 109, 163, 0.30), rgba(116, 82, 225, 0.24));
    color: #a7dcff;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules .travelnet-popup-title {
    color: #f8f7ff;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules .travelnet-popup-subtitle {
    color: rgba(226, 234, 248, 0.72);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-airline-rules .travelnet-popup-close {
    border-color: rgba(154, 184, 229, 0.22);
    background: rgba(8, 19, 34, 0.66);
    color: #edf4ff;
}

body.airline-rules-standalone {
    height: 100%;
}

body.airline-rules-standalone {
    overflow: hidden;
}

.airline-rules-standalone .airline-rules-shell {
    height: 100vh;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(18px, 3vw, 38px);
    scroll-behavior: smooth;
    scrollbar-color: rgba(105, 125, 171, 0.48) transparent;
    scrollbar-width: thin;
}

.airline-rules-standalone .airline-rules-shell::-webkit-scrollbar {
    width: 10px;
}

.airline-rules-standalone .airline-rules-shell::-webkit-scrollbar-track {
    background: transparent;
}

.airline-rules-standalone .airline-rules-shell::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: rgba(105, 125, 171, 0.46);
    background-clip: padding-box;
}

.airline-rules-standalone .airline-rules-content {
    width: min(100%, 1120px);
    max-width: 1120px;
    margin: 0 auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #2f3d54;
    font-size: 16px;
    line-height: 1.8;
}

.airline-rules-standalone .airline-rules-document {
    padding: 0;
}

.airline-rule-card-list {
    display: grid;
    gap: 24px;
}

.airline-rule-card {
    --airline-rule-accent: #2879c8;
    --airline-rule-soft: rgba(40, 121, 200, 0.10);
    overflow: hidden;
    overflow: clip;
    border: 1px solid rgba(83, 115, 157, 0.22);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 24%, #dbe4ef);
    border-radius: 16px;
    background:
        radial-gradient(circle at 96% 0%, var(--airline-rule-soft), transparent 38%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
    box-shadow: 0 15px 36px rgba(31, 52, 82, 0.08);
    animation: airlineRuleCardIn 420ms ease both;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.airline-rule-card:nth-child(2) {
    animation-delay: 35ms;
}

.airline-rule-card:nth-child(3) {
    animation-delay: 70ms;
}

.airline-rule-card:nth-child(4) {
    animation-delay: 105ms;
}

.airline-rule-card:nth-child(5) {
    animation-delay: 140ms;
}

.airline-rule-card:nth-child(n+6) {
    animation-delay: 175ms;
}

.airline-rule-card:hover {
    border-color: rgba(69, 111, 166, 0.40);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 42%, #dbe4ef);
    box-shadow: 0 22px 48px rgba(31, 52, 82, 0.13);
    transform: translateY(-2px);
}

.airline-rule-card-summary {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 96px;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
}

.airline-rule-card-summary::-webkit-details-marker {
    display: none;
}

.airline-rule-card-summary:focus-visible {
    outline: 3px solid rgba(40, 121, 200, 0.24);
    outline-color: color-mix(in srgb, var(--airline-rule-accent) 26%, transparent);
    outline-offset: -4px;
}

.airline-rule-card-icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border: 1px solid rgba(40, 121, 200, 0.22);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 24%, transparent);
    border-radius: 16px;
    background: var(--airline-rule-soft);
    color: var(--airline-rule-accent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56);
}

.airline-rule-card-icon .icon {
    width: 27px;
    height: 27px;
}

.airline-rule-card-heading {
    min-width: 0;
}

.airline-rule-card-kicker {
    display: block;
    margin-bottom: 3px;
    color: var(--airline-rule-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.10em;
    line-height: 1.2;
    text-transform: uppercase;
}

.airline-rule-card-heading h2 {
    margin: 0;
    color: #24324a;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.24;
    overflow-wrap: break-word;
    word-break: normal;
}

.airline-rule-card-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-width: 116px;
    color: #64738a;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.airline-rule-card-toggle .icon {
    width: 19px;
    height: 19px;
    transition: transform 180ms ease;
}

.airline-rule-card-toggle-hide {
    display: none;
}

.airline-rule-card[open] .airline-rule-card-toggle-show {
    display: none;
}

.airline-rule-card[open] .airline-rule-card-toggle-hide {
    display: inline;
}

.airline-rule-card[open] .airline-rule-card-toggle .icon {
    transform: rotate(180deg);
}

.airline-rule-card-body {
    display: grid;
    gap: 16px;
    padding: 0 24px 24px;
    border-top: 1px solid rgba(132, 150, 177, 0.22);
    border-top-color: color-mix(in srgb, var(--airline-rule-accent) 14%, #e4eaf2);
}

.airline-rule-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 20px;
}

.airline-rule-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(40, 121, 200, 0.20);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 22%, transparent);
    border-radius: 999px;
    background: rgba(40, 121, 200, 0.08);
    background: color-mix(in srgb, var(--airline-rule-accent) 9%, #fff);
    color: #315d88;
    color: color-mix(in srgb, var(--airline-rule-accent) 78%, #17243a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    animation: airlineRuleBadgeGlow 2800ms ease-in-out infinite;
}

.airline-rule-badge .icon {
    width: 16px;
    height: 16px;
}

.airline-rule-detail-row {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding-top: 16px;
    border-top: 1px dashed rgba(132, 150, 177, 0.25);
}

.airline-rule-badges + .airline-rule-detail-row,
.airline-rule-card-body > .airline-rule-detail-row:first-child {
    border-top: 0;
}

.airline-rule-detail-label {
    color: #53647d;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: break-word;
    word-break: normal;
}

.airline-rule-detail-value {
    min-width: 0;
    max-width: 76ch;
    color: #2f3d54;
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: break-word;
    word-break: normal;
}

.airline-rule-detail-value p {
    margin: 0;
}

.airline-rule-readable-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0 0 0 22px;
}

.airline-rule-readable-list li {
    padding-left: 5px;
}

.airline-rule-readable-list li::marker {
    color: var(--airline-rule-accent);
}

.airline-rule-card.tone-fare {
    --airline-rule-accent: #7156e8;
    --airline-rule-soft: rgba(113, 86, 232, 0.12);
}

.airline-rule-card.tone-application {
    --airline-rule-accent: #147fc5;
    --airline-rule-soft: rgba(20, 127, 197, 0.11);
}

.airline-rule-card.tone-penalty {
    --airline-rule-accent: #dc4545;
    --airline-rule-soft: rgba(220, 69, 69, 0.11);
}

.airline-rule-card.tone-change {
    --airline-rule-accent: #e67e22;
    --airline-rule-soft: rgba(230, 126, 34, 0.12);
}

.airline-rule-card.tone-refund {
    --airline-rule-accent: #168a55;
    --airline-rule-soft: rgba(22, 138, 85, 0.11);
}

.airline-rule-card.tone-capacity {
    --airline-rule-accent: #b9820d;
    --airline-rule-soft: rgba(242, 184, 45, 0.14);
}

.airline-rule-card.tone-eligibility {
    --airline-rule-accent: #078c8c;
    --airline-rule-soft: rgba(7, 140, 140, 0.11);
}

.airline-rule-card.tone-children {
    --airline-rule-accent: #d34e91;
    --airline-rule-soft: rgba(211, 78, 145, 0.11);
}

.airline-rule-card.tone-travel {
    --airline-rule-accent: #2b7cc5;
    --airline-rule-soft: rgba(43, 124, 197, 0.11);
}

html.travelnet-dark .airline-rules-standalone .airline-rules-content {
    border: 0;
    background: transparent;
    color: rgba(235, 241, 250, 0.84);
    box-shadow: none;
}

html.travelnet-dark .airline-rule-card {
    border-color: rgba(143, 177, 255, 0.20);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 34%, rgba(143, 177, 255, 0.16));
    background:
        radial-gradient(circle at 96% 0%, var(--airline-rule-soft), transparent 38%),
        linear-gradient(145deg, rgba(17, 34, 56, 0.96), rgba(10, 23, 40, 0.96));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .airline-rule-card:hover {
    border-color: rgba(143, 177, 255, 0.34);
    border-color: color-mix(in srgb, var(--airline-rule-accent) 58%, rgba(143, 177, 255, 0.20));
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .airline-rule-card-heading h2 {
    color: #f4f7fc;
}

html.travelnet-dark .airline-rule-card-toggle,
html.travelnet-dark .airline-rule-detail-label {
    color: rgba(202, 214, 232, 0.74);
}

html.travelnet-dark .airline-rule-detail-value {
    color: rgba(235, 241, 250, 0.84);
}

html.travelnet-dark .airline-rule-card-body,
html.travelnet-dark .airline-rule-detail-row {
    border-color: rgba(143, 177, 255, 0.15);
}

html.travelnet-dark .airline-rule-badge {
    background: rgba(45, 77, 112, 0.30);
    background: color-mix(in srgb, var(--airline-rule-accent) 16%, rgba(9, 21, 37, 0.96));
    color: #d8e8f8;
    color: color-mix(in srgb, var(--airline-rule-accent) 58%, #fff);
}

@keyframes airlineRuleCardIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes airlineRuleBadgeGlow {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }

    50% {
        box-shadow: 0 0 0 4px rgba(40, 121, 200, 0.07);
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--airline-rule-accent) 8%, transparent);
    }
}

@media (max-width: 820px) {
    .travelnet-popup-panel.travelnet-popup-panel-airline-rules {
        width: calc(100vw - 20px) !important;
        height: calc(100vh - 20px);
        max-height: calc(100vh - 20px);
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header {
        min-height: 88px;
        padding: 14px 16px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header-icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-title {
        font-size: 28px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-subtitle {
        font-size: 13px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close {
        top: 14px;
        width: 48px;
        height: 48px;
    }

    .airline-rules-standalone .airline-rules-shell {
        padding: 20px;
    }

    .airline-rule-card-summary {
        grid-template-columns: 50px minmax(0, 1fr) auto;
        min-height: 84px;
        padding: 17px 18px;
    }

    .airline-rule-card-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
    }

    .airline-rule-card-heading h2 {
        font-size: 21px;
    }

    .airline-rule-card-body {
        padding: 0 20px 20px;
    }

    .airline-rule-detail-row {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 20px;
    }
}

@media (max-width: 620px) {
    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 46px;
        gap: 11px;
        min-height: 82px;
        padding: 12px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header-icon {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-header-icon .icon {
        width: 23px;
        height: 23px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-title {
        font-size: 24px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-subtitle {
        display: block;
        font-size: 12px;
        line-height: 1.35;
    }

    .travelnet-popup-panel.travelnet-popup-panel-airline-rules .travelnet-popup-close {
        width: 44px;
        height: 44px;
    }

    .airline-rules-standalone .airline-rules-shell {
        padding: 14px;
    }

    .airline-rule-card-list {
        gap: 16px;
    }

    .airline-rule-card-summary {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        gap: 12px;
        padding: 16px;
    }

    .airline-rule-card-icon {
        width: 46px;
        height: 46px;
        border-radius: 13px;
    }

    .airline-rule-card-kicker,
    .airline-rule-card-toggle-show,
    .airline-rule-card-toggle-hide {
        display: none;
    }

    .airline-rule-card-toggle {
        min-width: 20px;
    }

    .airline-rule-card-heading h2 {
        font-size: 19px;
    }

    .airline-rule-card-body {
        gap: 14px;
        padding: 0 16px 18px;
    }

    .airline-rule-badges {
        gap: 7px;
        padding-top: 16px;
    }

    .airline-rule-detail-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
        padding-top: 14px;
    }

    .airline-rule-detail-label {
        color: var(--airline-rule-accent);
    }

    .airline-rule-detail-value {
        max-width: none;
        font-size: 16px;
        line-height: 1.75;
    }
}

@media (prefers-reduced-motion: reduce) {
    .airline-rule-card,
    .airline-rule-badge {
        animation: none;
    }

    .airline-rule-card,
    .airline-rule-card-toggle .icon {
        transition: none;
    }
}

.analytics-consent {
    position: fixed;
    z-index: 1400;
    right: 24px;
    bottom: 24px;
    left: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto;
    padding: 20px 22px;
    border: 1px solid rgba(125, 220, 255, 0.24);
    border-radius: 18px;
    background: rgba(15, 32, 55, 0.97);
    color: #f7fbff;
    box-shadow: 0 24px 70px rgba(3, 12, 28, 0.42);
    backdrop-filter: blur(16px);
}

.analytics-consent[hidden],
.analytics-consent-settings[hidden] {
    display: none;
}

.analytics-consent-copy {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 760px;
}

.analytics-consent-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff7fc8, #78cfff);
    color: #13233c;
}

.analytics-consent h2 {
    margin: 0 0 5px;
    color: #ffffff;
    font-size: 1.05rem;
}

.analytics-consent p {
    margin: 0;
    color: #d7e4f5;
    font-size: 0.9rem;
    line-height: 1.55;
}

.analytics-consent a {
    display: inline-block;
    margin-top: 7px;
    color: #8ed9ff;
    font-size: 0.84rem;
    font-weight: 700;
}

.analytics-consent-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.analytics-consent-actions button,
.analytics-consent-settings {
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 12px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.analytics-consent-decline {
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: transparent;
    color: #f4f8ff;
}

.analytics-consent-accept {
    border: 1px solid #ef69b3;
    background: linear-gradient(135deg, #ff7fc8, #9f8cff);
    color: #18233b;
    box-shadow: 0 10px 24px rgba(221, 102, 184, 0.28);
}

.content-cookie-settings {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 24px;
    padding: 20px 22px;
    border: 1px solid rgba(125, 220, 255, 0.25);
    border-radius: 18px;
    background: rgba(15, 32, 55, 0.72);
}

.content-cookie-settings h2 {
    margin: 0 0 5px;
    color: #f7fbff;
    font-size: 1.05rem;
}

.content-cookie-settings p {
    margin: 0;
    color: #d7e4f5;
    line-height: 1.55;
}

.content-cookie-settings .analytics-consent-settings {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(125, 220, 255, 0.25);
    background: rgba(15, 32, 55, 0.94);
    color: #f7fbff;
    box-shadow: 0 10px 28px rgba(3, 12, 28, 0.3);
}

html:not(.travelnet-dark) .analytics-consent {
    border-color: #d6e3f1;
    background: rgba(255, 255, 255, 0.98);
    color: #17314a;
    box-shadow: 0 22px 60px rgba(31, 74, 112, 0.2);
}

html:not(.travelnet-dark) .analytics-consent h2 {
    color: #17314a;
}

html:not(.travelnet-dark) .analytics-consent p {
    color: #526b88;
}

html:not(.travelnet-dark) .analytics-consent a {
    color: #087d9c;
}

html:not(.travelnet-dark) .analytics-consent-decline {
    border-color: #cbdbea;
    color: #26445f;
}

html:not(.travelnet-dark) .content-cookie-settings {
    border-color: #d3e1ee;
    background: rgba(255, 255, 255, 0.88);
}

html:not(.travelnet-dark) .content-cookie-settings h2 {
    color: #17314a;
}

html:not(.travelnet-dark) .content-cookie-settings p {
    color: #526b88;
}

html:not(.travelnet-dark) .content-cookie-settings .analytics-consent-settings {
    border-color: #d3e1ee;
    background: rgba(255, 255, 255, 0.97);
    color: #26445f;
}

@media (max-width: 760px) {
    .analytics-consent {
        right: 12px;
        bottom: 12px;
        left: 12px;
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        padding: 18px;
    }

    .analytics-consent-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .content-cookie-settings {
        align-items: stretch;
        flex-direction: column;
    }

    .content-cookie-settings .analytics-consent-settings {
        width: 100%;
    }

    .analytics-consent-actions button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .analytics-consent-icon {
        display: none;
    }

    .analytics-consent-actions {
        grid-template-columns: 1fr;
    }
}

/* Shared customer mobile pattern: compact navigation, dark glass panels and tap-safe controls. */
@media (max-width: 720px) {
    html.travelnet-dark body:not(.has-admin-console) {
        overflow-x: hidden;
        background: radial-gradient(circle at 90% 0, rgba(80, 225, 116, 0.13), transparent 30%), linear-gradient(180deg, #06130e 0%, #081812 55%, #06110d 100%);
    }

    html.travelnet-dark body.airline-rules-standalone:not(.has-admin-console) {
        background:
            radial-gradient(circle at 14% 5%, rgba(123, 97, 255, 0.18), transparent 34%),
            radial-gradient(circle at 88% 10%, rgba(255, 111, 176, 0.12), transparent 30%),
            linear-gradient(180deg, #091426 0%, #0d172b 58%, #091221 100%);
    }

    body:not(.has-admin-console) .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 64px;
        padding: 8px 14px;
        gap: 8px;
        border-bottom: 1px solid rgba(126, 230, 132, 0.18);
        background: rgba(5, 23, 15, 0.94);
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
        backdrop-filter: blur(16px);
    }

    body:not(.has-admin-console) .site-header .brand { min-width: 0; min-height: 44px; padding: 3px 0; }
    body:not(.has-admin-console) .site-header .brand img { width: min(145px, 42vw); max-height: 38px; }
    body:not(.has-admin-console) .site-header .primary-nav,
    body:not(.has-admin-console) .site-header .theme-toggle,
    body:not(.has-admin-console) .site-header .currency-switcher { display: none; }
    body:not(.has-admin-console) .site-header .utility-nav { gap: 6px; }
    body:not(.has-admin-console) .site-header .utility-nav .travelbot-link,
    body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle {
        min-width: 0; min-height: 40px; padding: 0 10px; border: 1px solid rgba(142, 230, 138, 0.28); border-radius: 12px;
        background: rgba(16, 54, 30, 0.78); color: #dfffe0; font-size: 12px; font-weight: 800;
    }
    body:not(.has-admin-console) .site-header .utility-nav .travelbot-link img { width: 18px; height: 18px; }
    body:not(.has-admin-console) .site-header .utility-nav .travelbot-link span,
    body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle span { display: inline; }
    body:not(.has-admin-console) .site-main { min-width: 0; padding-left: 0; padding-right: 0; }

    body:not(.has-admin-console) .flight-hero,
    body:not(.has-admin-console) .hotel-hero,
    body:not(.has-admin-console) .offers-hero,
    body:not(.has-admin-console) .content-page,
    body:not(.has-admin-console) .help-page,
    body:not(.has-admin-console) .my-trips-page {
        width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; padding-left: 14px; padding-right: 14px;
    }
    body:not(.has-admin-console) .flight-hero,
    body:not(.has-admin-console) .hotel-hero { padding-top: 20px; padding-bottom: 24px; border-radius: 0 0 24px 24px; }
    body:not(.has-admin-console) .flight-hero .search-card,
    body:not(.has-admin-console) .hotel-hero .search-card,
    body:not(.has-admin-console) .content-shell,
    body:not(.has-admin-console) .help-hero,
    body:not(.has-admin-console) .help-panel,
    body:not(.has-admin-console) .my-trips-hero,
    body:not(.has-admin-console) .my-trip-card,
    body:not(.has-admin-console) .offer-card,
    body:not(.has-admin-console) .featured-offer-card {
        border: 1px solid rgba(142, 230, 138, 0.18); border-radius: 18px; box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
    }
    body:not(.has-admin-console) .flight-hero .route-grid,
    body:not(.has-admin-console) .hotel-hero .hotel-route-grid,
    body:not(.has-admin-console) .flight-hero .flight-advanced-options > .form-grid,
    body:not(.has-admin-console) .hotel-hero .hotel-advanced-options > .form-grid { grid-template-columns: 1fr; }
    body:not(.has-admin-console) .flight-hero .field-card,
    body:not(.has-admin-console) .hotel-hero .field-card { min-height: 64px; }
    body:not(.has-admin-console) .flight-hero .traveller-row,
    body:not(.has-admin-console) .hotel-hero .hotel-guests { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 8px; }
    body:not(.has-admin-console) .flight-hero .traveller-row .stepper,
    body:not(.has-admin-console) .hotel-hero .hotel-guests .stepper { min-width: 0; margin: 0; padding: 6px; border: 0; border-radius: 12px; background: rgba(4, 20, 13, 0.38); }
    body:not(.has-admin-console) .flight-hero .traveller-label,
    body:not(.has-admin-console) .hotel-hero .traveller-label,
    body:not(.has-admin-console) .flight-hero .stepper small,
    body:not(.has-admin-console) .hotel-hero .stepper small { font-size: 10px; text-align: center; }
    body:not(.has-admin-console) .flight-hero .traveller-icon,
    body:not(.has-admin-console) .hotel-hero .traveller-icon { display: none; }
    body:not(.has-admin-console) .flight-hero .stepper-controls,
    body:not(.has-admin-console) .hotel-hero .stepper-controls { width: 100%; gap: 2px; }
    body:not(.has-admin-console) .flight-hero .stepper-controls button,
    body:not(.has-admin-console) .hotel-hero .stepper-controls button { width: 28px; min-width: 28px; height: 28px; }
    body:not(.has-admin-console) .flight-hero .toggle-card { grid-column: 1 / -1; justify-content: center; min-height: 38px; }
    body:not(.has-admin-console) .flight-hero .advanced-options,
    body:not(.has-admin-console) .hotel-hero .advanced-options { border-radius: 12px; }
    body:not(.has-admin-console) .flight-hero .advanced-options summary,
    body:not(.has-admin-console) .hotel-hero .advanced-options summary { min-height: 42px; padding: 11px 12px; font-size: 13px; }
    body:not(.has-admin-console) .search-card .primary-cta {
        width: 100%; min-height: 52px; margin-top: 8px; border-color: #ff6460; background: linear-gradient(180deg, #ff625e, #df3435); color: #fff; box-shadow: 0 12px 24px rgba(204, 44, 48, 0.28);
    }

    body:not(.has-admin-console) .offers-hero { min-height: 250px; border-radius: 0 0 24px 24px; }
    body:not(.has-admin-console) .offer-grid,
    body:not(.has-admin-console) .featured-offers,
    body:not(.has-admin-console) .compact-offer-stack { grid-template-columns: 1fr; }
    body:not(.has-admin-console) .offer-carousel-panel { overflow: hidden; }
    body:not(.has-admin-console) .offer-rail { width: auto; margin-right: -14px; padding: 0 14px 12px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
    body:not(.has-admin-console) .offer-rail .offer-card { flex: 0 0 min(82vw, 318px); scroll-snap-align: start; }
    body:not(.has-admin-console) .offer-card > img,
    body:not(.has-admin-console) .offer-card > .package-image-frame,
    body:not(.has-admin-console) .featured-offer-card > img,
    body:not(.has-admin-console) .featured-offer-card > .package-image-frame { height: 200px; min-height: 200px; }
    body:not(.has-admin-console) .offer-card h2,
    body:not(.has-admin-console) .offer-card h3,
    body:not(.has-admin-console) .offer-card p { overflow: visible; text-overflow: clip; white-space: normal; }

    body:not(.has-admin-console) .trust-strip,
    body:not(.has-admin-console) .content-card-grid,
    body:not(.has-admin-console) .help-quick-grid,
    body:not(.has-admin-console) .help-topic-grid,
    body:not(.has-admin-console) .my-trips-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    body:not(.has-admin-console) .trust-strip { margin: 16px 14px; }
    body:not(.has-admin-console) .help-contact-card { padding: 16px; border-color: rgba(142, 230, 138, 0.32); background: linear-gradient(135deg, rgba(16, 95, 43, 0.96), rgba(7, 49, 25, 0.96)); }
    body:not(.has-admin-console) .help-contact-card .primary-small,
    body:not(.has-admin-console) .help-quick-grid a { width: 100%; justify-content: center; }
    body:not(.has-admin-console) .content-contact-layout,
    body:not(.has-admin-console) .content-card-grid,
    body:not(.has-admin-console) .help-layout { grid-template-columns: 1fr; }
    body:not(.has-admin-console) .content-card-grid,
    body:not(.has-admin-console) .help-quick-grid,
    body:not(.has-admin-console) .help-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body:not(.has-admin-console) .my-trips-account-rail { display: none; }
    body:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero,
    body:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-next-focus { padding: 20px; }

    body:not(.has-admin-console) .site-footer { padding: 18px 14px 26px; }
    body:not(.has-admin-console) .planning-band { grid-template-columns: 1fr; gap: 12px; margin: 0 0 16px; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, #0c5c2a, #073a20); }
    body:not(.has-admin-console) .planning-band-icon { width: 40px; height: 40px; }
    body:not(.has-admin-console) .planning-band-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    body:not(.has-admin-console) .planning-action { min-height: 44px; padding: 0 8px; font-size: 12px; white-space: normal; }
    body:not(.has-admin-console) .footer-grid-accordion { display: block; padding: 0; border: 1px solid rgba(142, 230, 138, 0.18); border-radius: 18px; background: rgba(7, 26, 17, 0.82); overflow: hidden; }
    body:not(.has-admin-console) .footer-grid-accordion .footer-section { border-bottom: 1px solid rgba(142, 230, 138, 0.14); }
    body:not(.has-admin-console) .footer-grid-accordion .footer-section:last-child { border-bottom: 0; }
    body:not(.has-admin-console) .footer-grid-accordion summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 16px; color: #effff0; font-size: 15px; font-weight: 800; cursor: pointer; list-style: none; }
    body:not(.has-admin-console) .footer-grid-accordion summary::-webkit-details-marker { display: none; }
    body:not(.has-admin-console) .footer-grid-accordion summary::after { content: "+"; color: #8ee68a; font-size: 22px; font-weight: 400; }
    body:not(.has-admin-console) .footer-grid-accordion details[open] summary::after { content: "-"; }
    body:not(.has-admin-console) .footer-grid-accordion .footer-section-body { padding: 0 16px 14px; }
    body:not(.has-admin-console) .footer-grid-accordion .footer-section-body a { width: 100%; min-height: 38px; margin: 0; }
    body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion,
    body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion { padding-bottom: 102px; }
    body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion::before,
    body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion::before { right: -36px; bottom: -58px; width: 210px; height: 138px; }
    body.tenant-murextravel:not(.has-admin-console) .footer-grid-accordion::after,
    body.tenant-brand-murextravel:not(.has-admin-console) .footer-grid-accordion::after { right: 18px; bottom: -8px; width: 128px; }
}

@media (max-width: 360px) {
    body:not(.has-admin-console) .flight-hero .traveller-row,
    body:not(.has-admin-console) .hotel-hero .hotel-guests,
    body:not(.has-admin-console) .trust-strip,
    body:not(.has-admin-console) .content-card-grid,
    body:not(.has-admin-console) .help-quick-grid,
    body:not(.has-admin-console) .help-topic-grid,
    body:not(.has-admin-console) .my-trips-summary-grid { grid-template-columns: 1fr; }
}

/* Booking History light theme: keep the data dense, but make every value readable. */
html:not(.travelnet-dark) .admin-booking-console {
    --booking-bg: #f6f9fc;
    --booking-panel: #ffffff;
    --booking-panel-soft: #fbfefd;
    --booking-text: #14213d;
    --booking-text-muted: #5f718f;
    --booking-text-soft: #8290a7;
    --booking-border: #dce6f0;
    --booking-green: #16a34a;
    --booking-green-soft: #eaf8ef;
    --booking-blue: #1687e8;
    --booking-blue-soft: #eaf5ff;
    --booking-purple: #7c5ce7;
    --booking-purple-soft: #f0ebff;
    --booking-amber: #b97800;
    --booking-amber-soft: #fff5de;
    --booking-red: #c83232;
    --booking-red-soft: #fff0f0;
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.06), transparent 34%),
        radial-gradient(circle at bottom left, rgba(56, 189, 248, 0.05), transparent 38%),
        var(--booking-bg);
    color: var(--booking-text);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-sidebar,
html:not(.travelnet-dark) .admin-booking-console .admin-console-topbar,
html:not(.travelnet-dark) .admin-booking-console .admin-console-panel,
html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card {
    background-color: var(--booking-panel);
    border-color: var(--booking-border);
    color: var(--booking-text);
    box-shadow: 0 10px 28px rgba(20, 33, 61, 0.055);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-nav a {
    color: #31415e;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-nav a:hover,
html:not(.travelnet-dark) .admin-booking-console .admin-console-nav a.is-active {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.14), rgba(34, 197, 94, 0.05));
    color: #087a35;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-search {
    background: #ffffff;
    border-color: var(--booking-border);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-search input {
    color: var(--booking-text);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-search input::placeholder {
    color: #63738e;
    opacity: 1;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-search:focus-within {
    border-color: rgba(22, 163, 74, 0.65);
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.13);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-hero {
    background:
        radial-gradient(circle at 92% 18%, rgba(34, 197, 94, 0.09), transparent 30%),
        linear-gradient(135deg, #ffffff, #fbfefd);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-hero h1,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-hero p,
html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-copy strong,
html:not(.travelnet-dark) .admin-booking-console .admin-console-table td {
    color: var(--booking-text);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-hero p,
html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-copy em,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-customer small,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-channel,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-date-secondary {
    color: var(--booking-text-muted);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-live-row span {
    color: #087a35;
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.22);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-live-row span.is-warning {
    color: #875500;
    background: var(--booking-amber-soft);
    border-color: rgba(185, 120, 0, 0.28);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-pills,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-audit-link {
    color: var(--booking-text);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-pills a,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-audit-link {
    background: #ffffff;
    border-color: var(--booking-border);
    color: #263956;
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-pills a:hover,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-audit-link:hover {
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.3);
    color: #087a35;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 58%),
        #ffffff;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-flight {
    background: radial-gradient(circle at top right, rgba(22, 135, 232, 0.09), transparent 58%), #ffffff;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-hotel {
    background: radial-gradient(circle at top right, rgba(124, 92, 231, 0.09), transparent 58%), #ffffff;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-package {
    background: radial-gradient(circle at top right, rgba(229, 155, 18, 0.11), transparent 58%), #ffffff;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card > span {
    background: var(--booking-green-soft);
    color: var(--booking-green);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-flight > span {
    background: var(--booking-blue-soft);
    color: var(--booking-blue);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-hotel > span {
    background: var(--booking-purple-soft);
    color: var(--booking-purple);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-stat-card.is-package > span {
    background: var(--booking-amber-soft);
    color: var(--booking-amber);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-tabs a {
    background: #ffffff;
    border-color: var(--booking-border);
    color: #40516d;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-tabs a:hover,
html:not(.travelnet-dark) .admin-booking-console .admin-console-tabs a.is-active {
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.38);
    color: #087a35;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-filter-form input {
    background: #ffffff;
    border-color: var(--booking-border);
    color: var(--booking-text);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-filter-button,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-pay-button {
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.4);
    color: #087a35;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-table-wrap {
    background: #ffffff;
    border-color: var(--booking-border);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-table th {
    background: #f7f9fc;
    color: #52627d;
    border-color: #e7edf4;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-table td {
    border-color: #e7edf4;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-table tbody tr:hover {
    background: #fbfefd;
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-id-pill {
    background: #fff8e8;
    border-color: #efdcae;
    color: #6d4b00;
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-flight,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-flight svg {
    color: var(--booking-blue);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-hotel,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-hotel svg {
    color: var(--booking-purple);
}

html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-package,
html:not(.travelnet-dark) .admin-booking-console .admin-booking-type.is-package svg {
    color: var(--booking-amber);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-small-action {
    background: #ffffff;
    border-color: rgba(22, 135, 232, 0.38);
    color: #126cb9;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-small-action:hover {
    background: var(--booking-blue-soft);
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-confirmed,
html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-completed {
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.28);
    color: #087a35;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-pending,
html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-cancellation-requested {
    background: var(--booking-amber-soft);
    border-color: rgba(185, 120, 0, 0.3);
    color: #875500;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-cancelled,
html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-status-failed {
    background: var(--booking-red-soft);
    border-color: rgba(200, 50, 50, 0.28);
    color: #a32121;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-payment-paid {
    background: var(--booking-blue-soft);
    border-color: rgba(22, 135, 232, 0.28);
    color: #126cb9;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-payment-not-paid,
html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-payment-pending {
    background: var(--booking-amber-soft);
    border-color: rgba(185, 120, 0, 0.3);
    color: #875500;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-payment-refunded {
    background: var(--booking-purple-soft);
    border-color: rgba(124, 92, 231, 0.28);
    color: #5d43b7;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-badge.is-payment-failed {
    background: var(--booking-red-soft);
    border-color: rgba(200, 50, 50, 0.28);
    color: #a32121;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-pagination a,
html:not(.travelnet-dark) .admin-booking-console .admin-console-pagination span {
    background: #ffffff;
    border-color: var(--booking-border);
    color: #31415e;
}

html:not(.travelnet-dark) .admin-booking-console .admin-console-pagination .is-current {
    background: var(--booking-green-soft);
    border-color: rgba(22, 163, 74, 0.35);
    color: #087a35;
}

/* Flight review light surface: keep this adjustment on the public
 * "Please Review Your Flight" page rather than changing admin panels. */
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-main h1 {
    color: #087a35;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-card,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-price-panel,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-call-card {
    border-color: #d7e4ee;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(20, 33, 61, 0.09);
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-leg {
    border-color: #dce6ee;
    background: #ffffff;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-leg-heading,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table-head {
    background: linear-gradient(90deg, #edf9f1, #f5faff);
    color: #087a35;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-leg-heading strong,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table-row b,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-routing strong,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-call-card strong {
    color: #1f3248;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table {
    border-top-color: #d7e1ea;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table-row {
    border-bottom-color: #d7e1ea;
    color: #465a70;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table-row small,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-table-row small.flight-review-airport-location,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-routing,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-call-card {
    color: #52677d;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-price-row,
html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-price-total {
    color: #087a35;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-price-total {
    border-top-color: #d7e4ee;
    background: #f7fbfe;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-price-total small {
    color: #52677d;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-rules-note {
    border-color: #f1c8c6;
    background: #fff6f6;
    color: #8f2f2c;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-rules-acknowledgement {
    border-color: #bfe4cb;
    background: linear-gradient(135deg, #edf9f1, #f4faff);
    color: #24384d;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-rules-required-note {
    color: #8b4b17;
}

html:not(.travelnet-dark) .flight-journey-summary-page .flight-review-actions [aria-disabled="true"] {
    opacity: 1;
    filter: none;
}

@media (max-width: 768px) {
    html:not(.travelnet-dark) .admin-booking-console .admin-console-content {
        padding: 16px;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-hero {
        min-height: 0;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-orbit {
        transform: scale(0.78);
        transform-origin: right center;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-pills,
    html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-panel {
        overflow-x: auto;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-nav-pills,
    html:not(.travelnet-dark) .admin-booking-console .admin-console-tabs {
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-console-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-console-user-tools,
    html:not(.travelnet-dark) .admin-booking-console .admin-console-filter-form {
        align-items: stretch;
        flex-direction: column;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-console-table-wrap {
        overflow: visible;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table {
        display: block;
        min-width: 0;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table thead {
        display: none;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table tbody,
    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table tr {
        display: block;
        width: 100%;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table tr {
        margin: 0 0 12px;
        padding: 14px;
        border: 1px solid var(--booking-border);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 8px 22px rgba(20, 33, 61, 0.06);
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table td {
        display: grid;
        grid-template-columns: minmax(92px, 35%) minmax(0, 1fr);
        gap: 10px;
        width: 100%;
        padding: 8px 0;
        border: 0;
        text-align: left;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table td::before {
        content: attr(data-label);
        color: var(--booking-text-muted);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table td:last-child {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding-top: 12px;
        border-top: 1px solid #e7edf4;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-history-table td:last-child::before {
        flex: 0 0 100%;
    }

    html:not(.travelnet-dark) .admin-booking-console .admin-booking-row-actions a,
    html:not(.travelnet-dark) .admin-booking-console .admin-booking-row-actions button {
        min-height: 44px;
    }
}

@media (max-width: 420px) {
    html:not(.travelnet-dark) .admin-booking-console .admin-console-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .admin-dashboard-page .admin-console-stats {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-page .admin-console-top-actions {
        gap: 4px;
    }

    .admin-dashboard-page .admin-console-top-actions > .theme-toggle,
    .admin-dashboard-page .admin-console-top-actions .account-menu-toggle {
        min-width: 42px;
        width: 42px;
    }

    .admin-dashboard-page .admin-console-overview-card {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-page .admin-console-overview-donut {
        width: 142px;
    }
}

@media (max-width: 920px) {
    html:not(.travelnet-dark) .admin-console-sidebar {
        border-bottom-color: rgba(8, 121, 201, 0.14);
    }
}

@media (max-width: 768px) {
    body.has-admin-console {
        overflow-x: hidden;
    }

    body.has-admin-console .site-main,
    body.has-admin-console .admin-dashboard-page {
        margin: 0 !important;
        padding-top: 0 !important;
    }

    .admin-dashboard-page,
    .admin-dashboard-page .admin-console-shell,
    .admin-dashboard-page .admin-console-main,
    .admin-dashboard-page .admin-console-topbar,
    .admin-dashboard-page .admin-console-content {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .admin-dashboard-page .admin-console-topbar {
        align-items: center;
        margin-top: 0 !important;
    }

    .admin-dashboard-page .admin-console-mobile-brand {
        overflow: hidden;
    }

    .admin-dashboard-page .admin-console-mobile-brand > span:last-child {
        min-width: 0;
        overflow: hidden;
    }

    .admin-dashboard-page .admin-console-mobile-brand strong,
    .admin-dashboard-page .admin-console-mobile-brand small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-dashboard-page .admin-console-top-actions {
        min-width: 0;
    }

    .admin-dashboard-page .admin-console-panel,
    .admin-dashboard-page .admin-console-stat-card,
    .admin-dashboard-page .admin-dashboard-request-card,
    .admin-dashboard-page .admin-console-overview-card,
    .admin-dashboard-page .admin-console-quick-actions a {
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 350px) {
    .admin-dashboard-page .admin-console-topbar {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: 8px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .admin-dashboard-page .admin-console-drawer-toggle,
    .admin-dashboard-page .admin-console-top-actions > .theme-toggle,
    .admin-dashboard-page .admin-console-top-actions .account-menu-toggle {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .admin-dashboard-page .admin-console-mobile-brand .admin-console-brand-mark {
        width: 34px;
        height: 34px;
    }

    .admin-dashboard-page .admin-console-mobile-brand strong {
        font-size: 14px;
    }

    .admin-dashboard-page .admin-console-mobile-brand small {
        font-size: 7px;
        letter-spacing: 1px;
    }

    .admin-dashboard-page .admin-console-content {
        padding: 12px;
    }

    .admin-dashboard-page .admin-dashboard-hero,
    .admin-dashboard-page .admin-console-panel {
        padding: 16px;
    }

    .admin-dashboard-page .admin-dashboard-hero-actions > * {
        flex-basis: 100%;
    }
}

@media (max-width: 768px) {
    .admin-dashboard-page .admin-console-topbar {
        z-index: 200;
    }

    .admin-dashboard-page .admin-console-account-menu {
        position: static;
    }

    .admin-dashboard-page .admin-console-account-menu .account-menu-panel {
        position: fixed;
        top: 68px;
        right: 16px;
        z-index: 260;
        width: min(320px, calc(100vw - 32px));
        max-height: calc(100vh - 84px);
        overflow-y: auto;
        border-color: #dbe7f2;
        background: #ffffff;
        box-shadow: 0 18px 42px rgba(15, 35, 55, 0.18);
    }

    html.travelnet-dark .admin-dashboard-page .admin-console-account-menu .account-menu-panel {
        border-color: rgba(127, 214, 126, 0.28);
        background: #102018;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
    }
}

/* Shared dark admin design tokens and mobile surface rules. */
html.travelnet-dark .admin-console-page {
    --admin-bg: #06110f;
    --admin-bg-elevated: #0b1714;
    --admin-panel: #101f1b;
    --admin-panel-soft: #0d1a17;
    --admin-border: rgba(74, 222, 128, 0.16);
    --admin-border-strong: rgba(74, 222, 128, 0.28);
    --admin-text: #f3f7f5;
    --admin-text-muted: #9fb0aa;
    --admin-text-soft: #71837d;
    --admin-green: #22c55e;
    --admin-green-bright: #2ee66b;
    --admin-green-dark: #0d7f3d;
    --admin-blue: #38bdf8;
    --admin-purple: #9b6cff;
    --admin-amber: #fbbf24;
    --admin-red: #fb5d5d;
    --admin-radius-sm: 10px;
    --admin-radius-md: 14px;
    --admin-radius-lg: 20px;
    --admin-shadow: 0 12px 35px rgba(0, 0, 0, 0.28);
    --admin-green-glow: 0 0 28px rgba(34, 197, 94, 0.12);
    background:
        radial-gradient(circle at top left, rgba(34, 197, 94, 0.08), transparent 34%),
        radial-gradient(circle at bottom right, rgba(14, 116, 73, 0.08), transparent 40%),
        var(--admin-bg);
}

html.travelnet-dark .admin-console-page .admin-console-shell {
    background: transparent;
}

html.travelnet-dark .admin-console-page .admin-console-topbar {
    border-bottom-color: var(--admin-border);
    background: rgba(6, 17, 15, 0.94);
}

html.travelnet-dark .admin-console-page .admin-console-panel,
html.travelnet-dark .admin-console-page .admin-console-stat-card,
html.travelnet-dark .admin-console-page .admin-console-table-wrap,
html.travelnet-dark .admin-console-page .admin-console-tabs,
html.travelnet-dark .admin-console-page .auth-debug-card,
html.travelnet-dark .admin-console-page .auth-card {
    border-color: var(--admin-border);
    border-radius: var(--admin-radius-md);
    background:
        linear-gradient(180deg, rgba(18, 36, 31, 0.98), rgba(10, 25, 21, 0.98));
    box-shadow: var(--admin-shadow);
}

html.travelnet-dark .admin-console-page .admin-console-panel:hover,
html.travelnet-dark .admin-console-page .admin-console-stat-card:hover {
    border-color: var(--admin-border-strong);
}

html.travelnet-dark .admin-console-page .admin-console-nav a.is-active {
    border-color: rgba(34, 197, 94, 0.22);
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.16), rgba(34, 197, 94, 0.05));
    color: var(--admin-green-bright);
}

html.travelnet-dark .admin-console-page .admin-console-nav a:hover,
html.travelnet-dark .admin-console-page .admin-console-nav a:focus-visible {
    border-color: rgba(74, 222, 128, 0.18);
    background: rgba(34, 197, 94, 0.08);
}

html.travelnet-dark .admin-console-page .admin-console-primary-button,
html.travelnet-dark .admin-console-page .admin-console-approve-button {
    min-height: 44px;
    border-color: var(--admin-green);
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #f4fff7;
    box-shadow: 0 10px 24px rgba(34, 197, 94, 0.16);
}

html.travelnet-dark .admin-console-page .admin-console-decline-button {
    min-height: 44px;
    border-color: rgba(251, 93, 93, 0.30);
    background: rgba(92, 24, 29, 0.34);
    color: #ffb3b3;
}

html.travelnet-dark .admin-console-page .admin-console-badge,
html.travelnet-dark .admin-console-page .admin-console-heading-badge {
    border-color: var(--admin-border);
    background: rgba(34, 197, 94, 0.10);
    color: var(--admin-green-bright);
}

html.travelnet-dark .admin-console-page input,
html.travelnet-dark .admin-console-page select,
html.travelnet-dark .admin-console-page textarea {
    border-color: var(--admin-border);
    background: var(--admin-panel-soft);
    color: var(--admin-text);
}

html.travelnet-dark .admin-console-page input:focus,
html.travelnet-dark .admin-console-page select:focus,
html.travelnet-dark .admin-console-page textarea:focus {
    border-color: var(--admin-green);
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14);
    outline: none;
}

@media (max-width: 768px) {
    .admin-console-page {
        width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
        padding: 0 !important;
        overflow-x: hidden;
    }

    body.has-admin-console .site-main {
        width: 100%;
        max-width: none;
        margin: 0 !important;
        padding: 0 !important;
    }

    .admin-console-page .admin-console-shell {
        display: block;
        width: 100%;
        min-height: 100vh;
    }

    .admin-console-page .admin-console-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 120;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto auto;
        width: min(82vw, 320px);
        max-width: calc(100vw - 48px);
        min-height: 100vh;
        padding: 22px 16px;
        overflow-y: auto;
        border-right: 1px solid var(--admin-border);
        border-bottom: 0;
        background: #0b1714;
        box-shadow: 18px 0 44px rgba(0, 0, 0, 0.42);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }

    .admin-console-page .admin-console-sidebar.is-open {
        transform: translateX(0);
    }

    .admin-console-page .admin-console-drawer-toggle,
    .admin-console-page .admin-console-drawer-close {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        border: 1px solid var(--admin-border);
        border-radius: var(--admin-radius-sm);
        background: var(--admin-panel);
        color: var(--admin-text);
        cursor: pointer;
    }

    .admin-console-page .admin-console-drawer-close {
        position: absolute;
        top: 16px;
        right: 14px;
        z-index: 2;
    }

    .admin-console-page .admin-console-drawer-toggle:hover,
    .admin-console-page .admin-console-drawer-toggle:focus-visible,
    .admin-console-page .admin-console-drawer-close:hover,
    .admin-console-page .admin-console-drawer-close:focus-visible {
        border-color: var(--admin-border-strong);
        color: var(--admin-green-bright);
        outline: 3px solid rgba(34, 197, 94, 0.14);
        outline-offset: 2px;
    }

    .admin-console-page .admin-console-drawer-backdrop {
        position: fixed;
        inset: 0;
        z-index: 110;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.58);
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms ease;
    }

    .admin-console-page .admin-console-drawer-backdrop.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    .admin-console-page .admin-console-topbar {
        position: sticky;
        top: 0;
        z-index: 100;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        grid-template-areas: "toggle brand actions" "search search search";
        gap: 10px;
        min-height: 0;
        margin: 0;
        padding: 12px 16px 14px;
        border-bottom-color: var(--admin-border);
        background: rgba(6, 17, 15, 0.98);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.24);
    }

    .admin-console-page .admin-console-drawer-toggle {
        grid-area: toggle;
    }

    .admin-console-page .admin-console-mobile-brand {
        display: inline-flex;
        grid-area: brand;
        min-width: 0;
        align-items: center;
        gap: 8px;
        overflow: hidden;
        color: var(--admin-text);
        text-decoration: none;
    }

    .admin-console-page .admin-console-mobile-brand .admin-console-brand-mark {
        display: grid;
        flex: 0 0 auto;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 12px;
        background: rgba(34, 197, 94, 0.12);
        color: var(--admin-green-bright);
        box-shadow: none;
    }

    .admin-console-page .admin-console-mobile-brand strong,
    .admin-console-page .admin-console-mobile-brand small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-console-page .admin-console-mobile-brand strong {
        font-size: 16px;
        line-height: 1.05;
    }

    .admin-console-page .admin-console-mobile-brand small {
        margin-top: 2px;
        color: var(--admin-text-soft);
        font-size: 8px;
        font-weight: 900;
        letter-spacing: 1.2px;
        text-transform: uppercase;
    }

    .admin-console-page .admin-console-top-actions {
        grid-area: actions;
        display: inline-flex;
        flex-wrap: nowrap;
        gap: 5px;
        min-width: 0;
    }

    .admin-console-page .admin-console-top-actions > .travelbot-link {
        display: inline-flex;
        min-width: 44px;
        min-height: 44px;
        padding: 0 10px;
    }

    .admin-console-page .admin-console-top-actions > .theme-toggle,
    .admin-console-page .admin-console-top-actions .account-menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .admin-console-page .admin-console-top-actions .account-menu-toggle {
        width: 44px;
        padding: 0;
        gap: 0;
    }

    .admin-console-page .admin-console-top-actions .account-menu-toggle span {
        display: none;
    }

    .admin-console-page .admin-console-search,
    .admin-console-page .admin-viewlogger-search {
        grid-area: search;
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .admin-console-page .admin-console-search input,
    .admin-console-page .admin-viewlogger-search input {
        min-height: 44px;
    }

    .admin-console-page .admin-console-content,
    .admin-console-page .admin-permissions-content,
    .admin-console-page .admin-audit-content,
    .admin-console-page .admin-settings-content,
    .admin-console-page .admin-viewlogger-content {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        gap: 16px;
        padding: 16px;
    }

    .admin-console-page .admin-console-stats,
    .admin-console-page .admin-settings-stats,
    .admin-console-page .admin-audit-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .admin-console-page .admin-audit-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-console-page .admin-audit-filter-actions {
        grid-column: 1 / -1;
    }

    .admin-console-page .admin-audit-group-title {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .admin-console-page .admin-audit-timeline-event {
        grid-template-columns: 1fr auto;
    }

    .admin-console-page .admin-audit-timeline-event > div {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .admin-console-page .admin-audit-support-panels {
        grid-template-columns: 1fr;
    }

    .admin-console-page .admin-console-stat-card {
        min-height: 124px;
        padding: 14px;
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .admin-console-page .admin-console-stat-card > span {
        width: 42px;
        height: 42px;
    }

    .admin-console-page .admin-console-stat-spark {
        position: absolute;
        right: 10px;
        bottom: 10px;
        width: 42px;
        height: 34px;
        opacity: 0.40;
    }

    .admin-console-page .admin-console-panel,
    .admin-console-page .auth-debug-card,
    .admin-console-page .auth-card {
        max-width: 100%;
        box-sizing: border-box;
        padding: 18px;
    }

    .admin-console-page .admin-console-table-wrap,
    .admin-console-page .auth-table-scroll {
        overflow-x: auto;
    }

    .admin-console-page .admin-console-table,
    .admin-console-page .auth-table {
        min-width: 680px;
    }

    .admin-console-page .admin-dashboard-request-card,
    .admin-console-page .admin-console-approval-card,
    .admin-console-page .admin-audit-row,
    .admin-console-page .admin-booking-row {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
    }

    .admin-console-page .admin-dashboard-request-actions,
    .admin-console-page .admin-console-approval-actions,
    .admin-console-page .admin-booking-row-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .admin-console-page .admin-dashboard-request-actions > *,
    .admin-console-page .admin-console-approval-actions > *,
    .admin-console-page .admin-booking-row-actions > * {
        min-width: 0;
        min-height: 44px;
    }

    .admin-console-page .admin-console-quick-actions a,
    .admin-console-page .admin-console-action-grid a {
        min-height: 64px;
    }
}

@media (max-width: 420px) {
    .admin-console-page .admin-console-stats,
    .admin-console-page .admin-settings-stats,
    .admin-console-page .admin-audit-stats {
        grid-template-columns: 1fr;
    }

    .admin-console-page .admin-audit-filter-form {
        grid-template-columns: 1fr;
    }

    .admin-console-page .admin-audit-group-head {
        grid-template-columns: 1fr;
    }

    .admin-console-page .admin-console-topbar {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: 6px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .admin-console-page .admin-console-drawer-toggle,
    .admin-console-page .admin-console-top-actions > .travelbot-link,
    .admin-console-page .admin-console-top-actions > .theme-toggle,
    .admin-console-page .admin-console-top-actions .account-menu-toggle {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .admin-console-page .admin-console-top-actions > .travelbot-link span {
        display: none;
    }
}

@media (max-width: 768px) {
    [data-auth-page="admin-users"] .admin-console-table-wrap {
        overflow: visible;
    }

    [data-auth-page="admin-users"] .admin-console-table {
        display: block;
        min-width: 0;
    }

    [data-auth-page="admin-users"] .admin-console-table thead {
        display: none;
    }

    [data-auth-page="admin-users"] .admin-console-table tbody,
    [data-auth-page="admin-users"] .admin-console-table tr {
        display: grid;
        gap: 8px;
    }

    [data-auth-page="admin-users"] .admin-console-table tr {
        margin-bottom: 12px;
        padding: 14px;
        border: 1px solid rgba(74, 222, 128, 0.16);
        border-radius: 14px;
        background: #101f1b;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.20);
    }

    [data-auth-page="admin-users"] .admin-console-table td {
        display: grid;
        grid-template-columns: minmax(74px, auto) minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        min-width: 0;
        padding: 0;
        border: 0;
        color: #f3f7f5;
    }

    [data-auth-page="admin-users"] .admin-console-table td::before {
        content: attr(data-label);
        color: #71837d;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    [data-auth-page="admin-users"] .admin-console-table td[colspan] {
        display: block;
    }

    [data-auth-page="admin-users"] .admin-console-table td[colspan]::before {
        display: none;
    }

    [data-auth-page="admin-users"] .admin-console-table .admin-console-user-cell {
        grid-column: 1 / -1;
    }

    [data-auth-page="admin-users"] .admin-console-table td:first-child::before {
        display: none;
    }

    [data-auth-page="admin-users"] .admin-console-table td:first-child {
        display: block;
        padding-bottom: 6px;
        border-bottom: 1px solid rgba(74, 222, 128, 0.12);
    }

    [data-auth-page="admin-users"] .admin-console-table td[data-label="Actions"] {
        grid-template-columns: 74px minmax(0, 1fr);
        padding-top: 6px;
    }

    [data-auth-page="admin-users"] .admin-console-table .admin-console-row-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    [data-auth-page="admin-users"] .admin-console-table .admin-console-row-actions > * {
        min-height: 44px;
    }
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-panel,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card {
    border-color: #dbe7f2;
    background:
        radial-gradient(circle at 12% 0%, rgba(34, 197, 94, 0.08), transparent 30%),
        radial-gradient(circle at 92% 10%, rgba(59, 130, 246, 0.08), transparent 34%),
        linear-gradient(145deg, #ffffff, #f8fcff 58%, #fbfffc);
    box-shadow: 0 18px 46px rgba(28, 49, 75, 0.09);
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card::before,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card::after {
    background: #f8fcff;
    box-shadow: inset 0 0 0 1px #dbe7f2;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-topline {
    border-bottom-color: #dbe7f2;
    background: linear-gradient(135deg, #f4fbff, #f4fcf6);
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-topline span,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card dt,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card small {
    color: #64748b;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-topline strong,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-route strong {
    color: #0b7f3b;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-route {
    color: #13243a;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-route .icon {
    background: #eef8ff;
    color: #0879c9;
    box-shadow: inset 0 0 0 1px #cdeafd;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card p,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-route small {
    color: #64748b;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-meta span,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card dl div {
    border-color: #dbe7f2;
    background: #fbfdff;
    color: #405067;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-card dd {
    color: #13243a;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-stub {
    border-left-color: #cdeafd;
    background:
        radial-gradient(circle at 90% 0%, rgba(59, 130, 246, 0.16), transparent 42%),
        linear-gradient(145deg, #edf9f1, #eef8ff);
    box-shadow: 0 14px 30px rgba(22, 163, 244, 0.10);
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-stub span,
html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-stub small {
    color: #64748b;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-stub strong {
    color: #0879c9;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-notice {
    border-color: #f4e3aa;
    background: linear-gradient(135deg, #fffaf0, #fffdf5);
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-notice strong {
    color: #9a6a00;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-notice span {
    color: #6b5a3d;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-secure {
    border: 1px solid #cdeafd;
    background: linear-gradient(135deg, #eef8ff, #f4fcf6);
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-secure .icon {
    color: #0879c9;
    background: #e2f3ff;
    box-shadow: inset 0 0 0 1px #cdeafd;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-secure strong {
    color: #13243a;
}

html:not(.travelnet-dark) .flight-confirmation-page .flight-confirmation-ticket-secure span {
    color: #64748b;
}

html:not(.travelnet-dark) .my-trips-filter-side {
    border-color: #dbe7f2;
    background:
        radial-gradient(circle at 92% 0%, rgba(34, 197, 94, 0.10), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fcf9 74%, #f4f8fb);
    box-shadow: 0 16px 38px rgba(28, 49, 75, 0.09);
}

html:not(.travelnet-dark) .my-trips-filter-side::before {
    background: linear-gradient(90deg, #18a957, #22c55e, #8ee68a);
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-block {
    border-top-color: #e6edf5;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-block > strong,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form label {
    color: #64748b;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form input,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form select {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #13243a;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form input:focus,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form select:focus {
    border-color: #18a957;
    box-shadow: 0 0 0 3px rgba(24, 169, 87, 0.13);
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form input::placeholder {
    color: #95a1b0;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form button {
    border-color: #18a957;
    background: linear-gradient(135deg, #10b981, #22c55e);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(16, 185, 129, 0.14);
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form a {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #405067;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form a:hover,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-search-form a:focus-visible {
    border-color: #cbeed7;
    background: #f7fcf9;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill {
    border-color: #dbe7f2;
    background: #ffffff;
    color: #405067;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill:hover,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill:focus-visible {
    border-color: #cbeed7;
    background: #f7fcf9;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill span {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .my-trips-dashboard-shell .my-trips-filter-side .my-trips-filter-pill.is-active,
html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill.is-active {
    border-color: #18a957;
    background: linear-gradient(135deg, #edf9f1, #e2f7ea);
    color: #0b7f3b;
    box-shadow: 0 8px 18px rgba(24, 169, 87, 0.10);
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-filter-pill.is-active span {
    background: #cbeed7;
    color: #0b7f3b;
}

html:not(.travelnet-dark) .my-trips-dashboard-shell .my-trips-filter-heading h2 {
    color: #13243a;
    font-weight: 900;
}

html:not(.travelnet-dark) .my-trips-dashboard-shell .my-trips-filter-heading p {
    color: #64748b;
}

html:not(.travelnet-dark) .my-trips-dashboard-shell .my-trips-filter-icon {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #0b7f3b;
    box-shadow: inset 0 0 0 1px rgba(24, 169, 87, 0.05);
}

.my-trips-mobile-filter-toggle,
.my-trips-mobile-filter-backdrop {
    display: none;
}

.my-trips-date-range-field {
    display: grid;
    gap: 6px;
}

.my-trips-date-range-field > span {
    color: inherit;
    font-size: 12px;
    font-weight: 850;
}

.my-trips-date-range-field > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.my-trips-date-range-field label {
    display: block;
}

html:not(.travelnet-dark) .my-trips-filter-side .my-trips-date-range-field > span {
    color: #64748b;
}

html.travelnet-dark .my-trips-filter-side .my-trips-date-range-field > span {
    color: rgba(226, 232, 240, 0.74);
}

@media (max-width: 680px) {
    .my-trips-results-shell {
        position: relative;
        display: block;
    }

    .my-trips-mobile-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        margin-bottom: 12px;
        padding: 0 16px;
        border: 1px solid rgba(53, 212, 103, 0.34);
        border-radius: 12px;
        background: rgba(22, 109, 53, 0.12);
        color: #0b7f3b;
        font-weight: 900;
        cursor: pointer;
    }

    .my-trips-mobile-filter-toggle .icon {
        width: 17px;
        height: 17px;
    }

    .my-trips-mobile-filter-toggle strong {
        display: inline-grid;
        place-items: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #18a957;
        color: #ffffff;
        font-size: 11px;
    }

    .my-trips-mobile-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 80;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgba(15, 35, 55, 0.42);
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms ease;
    }

    .my-trips-mobile-filter-backdrop.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    .my-trips-filter-side {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 90;
        display: grid;
        align-content: start;
        width: min(88vw, 360px);
        max-width: calc(100vw - 32px);
        max-height: 100vh;
        overflow-y: auto;
        border-radius: 0 18px 18px 0;
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }

    .my-trips-filter-side.is-open {
        transform: translateX(0);
    }

    .my-trips-filter-side .my-trips-search-form {
        grid-template-columns: 1fr;
    }

    .my-trips-filter-side .my-trips-search-form button,
    .my-trips-filter-side .my-trips-search-form a {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }

    .my-trips-filter-side .my-trips-filter-heading {
        padding-top: 4px;
    }

    .my-trips-results-main {
        width: 100%;
    }

    html.travelnet-dark .my-trips-mobile-filter-toggle {
        border-color: rgba(74, 222, 128, 0.28);
        background: rgba(34, 197, 94, 0.10);
        color: #8ee68a;
    }

    html.travelnet-dark .my-trips-mobile-filter-backdrop {
        background: rgba(0, 0, 0, 0.62);
    }
}

html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-bot-button.travelbot-link,
html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-filter-button.account-menu-toggle {
    min-height: 34px;
    padding: 5px 10px;
    border-color: rgba(8, 121, 201, 0.18);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(228, 244, 255, 0.82));
    color: #075d9a;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(8, 121, 201, 0.10);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-bot-button.travelbot-link {
    padding: 5px 9px;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .theme-toggle {
    position: relative;
    width: 58px;
    min-width: 58px;
    height: 32px;
    min-height: 32px;
    padding: 0 8px;
    border: 1px solid rgba(21, 147, 15, 0.18) !important;
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.82) !important;
    color: var(--green-dark);
    box-shadow: none;
}

html.travelnet-dark .admin-console-page .admin-console-top-actions .theme-toggle {
    position: relative;
    width: 58px;
    min-width: 58px;
    height: 32px;
    min-height: 32px;
    padding: 0 8px;
    border: 1px solid rgba(127, 214, 126, 0.28) !important;
    border-radius: 999px;
    background: rgba(11, 28, 16, 0.9) !important;
    color: #d9f8d8;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-bot-button.travelbot-link:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-bot-button.travelbot-link:focus-visible,
html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-filter-button.account-menu-toggle:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-top-actions .admin-console-filter-button.account-menu-toggle:focus-visible {
    border-color: rgba(255, 68, 63, 0.24);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 240, 239, 0.86));
    color: #c42724;
    box-shadow: 0 14px 30px rgba(255, 68, 63, 0.12), 0 8px 18px rgba(8, 121, 201, 0.10);
}

html:not(.travelnet-dark) .admin-console-account-menu .account-menu-link:hover,
html:not(.travelnet-dark) .admin-console-account-menu .account-menu-link:focus-visible {
    background: linear-gradient(135deg, rgba(228, 244, 255, 0.96), rgba(232, 249, 230, 0.92));
    color: #075d9a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero {
    border: 1px solid rgba(255, 255, 255, 0.86);
    background:
        linear-gradient(115deg, rgba(6, 38, 86, 0.82) 0%, rgba(8, 121, 201, 0.58) 42%, rgba(255, 255, 255, 0.20) 100%),
        linear-gradient(180deg, rgba(255, 247, 219, 0.38), rgba(255, 255, 255, 0) 42%),
        url("../images/flight-hero-island.png") center / cover;
    box-shadow: 0 30px 86px rgba(8, 54, 113, 0.26);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero {
    border: 1px solid rgba(255, 255, 255, 0.86);
    background:
        linear-gradient(112deg, rgba(9, 55, 72, 0.78) 0%, rgba(21, 147, 15, 0.42) 45%, rgba(255, 255, 255, 0.22) 100%),
        linear-gradient(180deg, rgba(255, 240, 239, 0.34), rgba(255, 255, 255, 0) 44%),
        url("../images/hotel-island-resort-hero.png") center / cover;
    box-shadow: 0 30px 86px rgba(10, 88, 96, 0.22);
}

html:not(.travelnet-dark) body.page-cars .car-modern-hero {
    border: 1px solid rgba(255, 255, 255, 0.86);
    background:
        linear-gradient(112deg, rgba(13, 39, 62, 0.82) 0%, rgba(8, 121, 201, 0.36) 44%, rgba(255, 255, 255, 0.18) 100%),
        linear-gradient(180deg, rgba(255, 247, 219, 0.36), rgba(255, 255, 255, 0) 46%),
        url("../images/car-coastal-road-hero.png") center / cover;
    box-shadow: 0 30px 86px rgba(13, 50, 92, 0.24);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card-flight::before,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card-hotel::before,
html:not(.travelnet-dark) body.page-cars .search-card-car::before {
    border-color: rgba(255, 255, 255, 0.82);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 248, 255, 0.88)),
        linear-gradient(135deg, rgba(8, 121, 201, 0.08), rgba(255, 68, 63, 0.05));
    box-shadow:
        0 30px 78px rgba(13, 50, 92, 0.22),
        0 14px 34px rgba(21, 147, 15, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
}

body.page-flights .flight-hero #frmFlight::before {
    opacity: 0.5;
}

body.page-hotels .hotel-hero #frmHotel::before {
    opacity: 0.5;
}

html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .field-card > .field-control,
html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .field-card > select,
html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .select-dropdown-toggle {
    background: #ffffff;
    opacity: 1;
}

html.travelnet-dark body.page-flights .flight-hero #frmFlight .field-card > .field-control,
html.travelnet-dark body.page-flights .flight-hero #frmFlight .field-card > select,
html.travelnet-dark body.page-flights .flight-hero #frmFlight .select-dropdown-toggle {
    background: #13262e;
    opacity: 1;
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .field-card > .field-control,
html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .field-card > select,
html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .select-dropdown-toggle {
    background: #ffffff;
    opacity: 1;
}

html.travelnet-dark body.page-hotels .hotel-hero #frmHotel .field-card > .field-control,
html.travelnet-dark body.page-hotels .hotel-hero #frmHotel .field-card > select,
html.travelnet-dark body.page-hotels .hotel-hero #frmHotel .select-dropdown-toggle {
    background: #13262e;
    opacity: 1;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card.feature-card-flight.feature-card-destination {
    background: rgba(255, 255, 255, 0.75);
    opacity: 1;
}

html.travelnet-dark body.page-flights .flight-hero .feature-card.feature-card-flight.feature-card-destination {
    border-color: rgba(164, 221, 176, 0.11);
    background: rgba(19, 33, 40, 0.5);
    opacity: 1;
}

html.travelnet-dark body.page-flights .flight-hero .feature-card-flight .destination-feature-image-slider,
html.travelnet-dark body.page-flights .flight-hero .feature-card-flight .destination-feature-image-slider figure {
    background: rgba(19, 33, 40, 0.5);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card.feature-card-hotel.feature-card-destination {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.75);
    opacity: 1;
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card.feature-card-hotel.feature-card-destination {
    border-color: rgba(164, 221, 176, 0.11);
    background: rgba(19, 33, 40, 0.5);
    opacity: 1;
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel > img[data-destination-feature-image] {
    background: rgba(255, 255, 255, 0.5);
}

html.travelnet-dark body.page-hotels .hotel-hero .feature-card-hotel > img[data-destination-feature-image] {
    background: rgba(19, 33, 40, 0.5);
}

html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .search-heading h1 {
    color: #06182d;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .search-heading p {
    color: #0b304f;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.68);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-flight .feature-card-body h2 {
    color: #102a43;
    font-weight: 850;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-flight .feature-card-body p {
    color: #294b63;
    font-weight: 700;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-flight .feature-card-static-note {
    color: #3c5a70;
    font-weight: 650;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .search-heading h1 {
    color: #06182d;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel .feature-card-body h2 {
    color: #102a43;
    font-weight: 850;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .search-heading p {
    color: #0b304f;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.68);
}

html:not(.travelnet-dark) body.page-flights .flight-hero #frmFlight .flight-advanced-options summary,
html:not(.travelnet-dark) body.page-hotels .hotel-hero #frmHotel .hotel-advanced-options summary {
    color: #064f12;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel .feature-card-body p,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel .feature-card-preview-note {
    color: #294b63;
    font-weight: 700;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel .feature-card-static-note {
    color: #3c5a70;
    font-weight: 650;
    text-shadow: none;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card-flight::after,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card-hotel::after,
html:not(.travelnet-dark) body.page-cars .search-card-car::after {
    content: "";
    position: absolute;
    top: -20px;
    right: -18px;
    left: -18px;
    z-index: -1;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0879c9, #15930f 55%, #ff443f);
    box-shadow: 0 12px 26px rgba(8, 121, 201, 0.18);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-heading h1,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-heading h1,
html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading h1 {
    color: #0f223b;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-heading p,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-heading p,
html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading p {
    color: #075d9a;
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control,
html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > select,
html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-row,
html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-guests,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card select,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-advanced-options > .form-grid,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-extra-grid {
    border-color: rgba(8, 121, 201, 0.18);
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
    box-shadow:
        0 16px 34px rgba(13, 50, 92, 0.11),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-flights .flight-hero .flight-advanced-options .field-card:focus-within > .field-control,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .hotel-advanced-options .field-card:focus-within > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control:focus-within,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card:focus-within > select {
    border-color: rgba(8, 121, 201, 0.48);
    box-shadow:
        0 0 0 3px rgba(8, 121, 201, 0.14),
        0 18px 38px rgba(13, 50, 92, 0.14);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .field-card > .field-control .icon,
html:not(.travelnet-dark) body.page-flights .flight-hero .traveller-icon,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .field-card > .field-control .icon,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .traveller-icon,
html:not(.travelnet-dark) body.page-cars .car-form-panel .field-card > .field-control .icon {
    color: var(--light-sky);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card .primary-cta,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card .primary-cta,
html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta {
    border-color: rgba(255, 255, 255, 0.94);
    background:
        linear-gradient(135deg, #ff443f 0%, #0879c9 52%, #15930f 100%);
    color: #ffffff;
    box-shadow:
        0 22px 48px rgba(8, 121, 201, 0.25),
        0 12px 26px rgba(255, 68, 63, 0.18);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .search-card .primary-cta:hover,
html:not(.travelnet-dark) body.page-flights .flight-hero .search-card .primary-cta:focus-visible,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card .primary-cta:hover,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .search-card .primary-cta:focus-visible,
html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta:hover,
html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta:focus-visible {
    transform: translateY(-1px);
    box-shadow:
        0 28px 58px rgba(8, 121, 201, 0.30),
        0 16px 30px rgba(255, 68, 63, 0.20);
}

html:not(.travelnet-dark) body.page-flights .flight-hero .feature-card-flight,
html:not(.travelnet-dark) body.page-hotels .hotel-hero .feature-card-hotel,
html:not(.travelnet-dark) body.page-cars .feature-card-car {
    border-color: rgba(255, 255, 255, 0.92);
    background:
        linear-gradient(180deg, #ffffff 0%, #f3faff 100%);
    box-shadow:
        0 30px 72px rgba(13, 50, 92, 0.18),
        0 12px 26px rgba(21, 147, 15, 0.08);
}

html:not(.travelnet-dark) body.page-flights .trust-strip,
html:not(.travelnet-dark) body.page-flights .content-panel,
html:not(.travelnet-dark) body.page-hotels .trust-strip,
html:not(.travelnet-dark) body.page-hotels .content-panel,
html:not(.travelnet-dark) body.page-cars .car-trust-strip,
html:not(.travelnet-dark) body.page-cars .car-service-tile,
html:not(.travelnet-dark) .flight-results-heading,
html:not(.travelnet-dark) .flight-result-card,
html:not(.travelnet-dark) .sort-bar,
html:not(.travelnet-dark) .flight-review-hero,
html:not(.travelnet-dark) .flight-review-card,
html:not(.travelnet-dark) .flight-review-price-panel,
html:not(.travelnet-dark) .flight-review-call-card,
html:not(.travelnet-dark) .hotel-indian-card,
html:not(.travelnet-dark) body.page-cars .car-results-hero {
    border-color: rgba(8, 121, 201, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.94));
    box-shadow: 0 24px 58px rgba(13, 50, 92, 0.13);
}

html:not(.travelnet-dark) .flight-results-heading,
html:not(.travelnet-dark) body.page-cars .car-results-hero,
html:not(.travelnet-dark) .flight-review-hero {
    border-color: rgba(255, 255, 255, 0.84);
    background:
        linear-gradient(112deg, rgba(7, 63, 112, 0.92) 0%, rgba(8, 121, 201, 0.76) 48%, rgba(21, 147, 15, 0.58) 100%);
    color: #ffffff;
    box-shadow: 0 28px 78px rgba(8, 54, 113, 0.22);
}

html:not(.travelnet-dark) .flight-results-heading h1,
html:not(.travelnet-dark) .flight-results-heading p,
html:not(.travelnet-dark) body.page-cars .car-results-hero h1,
html:not(.travelnet-dark) body.page-cars .car-results-hero p,
html:not(.travelnet-dark) .flight-review-hero h2,
html:not(.travelnet-dark) .flight-review-hero p,
html:not(.travelnet-dark) .flight-review-hero-kicker,
html:not(.travelnet-dark) .flight-review-hero-chips span {
    color: #ffffff;
}

html:not(.travelnet-dark) .flight-review-hero-price,
html:not(.travelnet-dark) .flight-review-step.is-current,
html:not(.travelnet-dark) .flight-review-step.is-complete,
html:not(.travelnet-dark) .hotel-indian-card-top > span,
html:not(.travelnet-dark) .hotel-indian-image span {
    border-color: rgba(8, 121, 201, 0.18);
    background:
        linear-gradient(180deg, rgba(228, 244, 255, 0.96), rgba(255, 255, 255, 0.92));
    color: #075d9a;
}

html:not(.travelnet-dark) .flight-review-hero-price strong,
html:not(.travelnet-dark) .flight-review-price-row strong,
html:not(.travelnet-dark) .flight-review-price-total strong,
html:not(.travelnet-dark) .hotel-indian-total strong,
html:not(.travelnet-dark) .hotel-indian-room-row strong {
    color: #0b6f10;
}

html:not(.travelnet-dark) .flight-review-table-row,
html:not(.travelnet-dark) .hotel-indian-meta-grid div,
html:not(.travelnet-dark) .hotel-indian-extra-grid section,
html:not(.travelnet-dark) .hotel-indian-room-table,
html:not(.travelnet-dark) .hotel-indian-room-row,
html:not(.travelnet-dark) .hotel-indian-total,
html:not(.travelnet-dark) body.page-cars .car-driver-form .field-card input,
html:not(.travelnet-dark) body.page-cars .car-driver-form .field-card select {
    border-color: rgba(8, 121, 201, 0.12);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(13, 50, 92, 0.06);
}

.hotel-detail-page .hotel-indian-body {
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
}

.hotel-detail-page .hotel-indian-image {
    width: 100%;
    height: 190px;
    min-height: 0;
    aspect-ratio: auto;
    align-self: start;
}

.hotel-detail-page .hotel-indian-image .hotel-gallery-open-button,
.hotel-detail-page .hotel-indian-image .hotel-gallery-open-button img,
.hotel-detail-page .hotel-indian-image img {
    width: 100%;
    height: 100%;
    min-height: 0;
}

@media (max-width: 760px) {
    .hotel-detail-page .hotel-indian-body {
        grid-template-columns: 1fr;
    }

    .hotel-detail-page .hotel-indian-image,
    .hotel-detail-page .hotel-indian-image .hotel-gallery-open-button,
    .hotel-detail-page .hotel-indian-image .hotel-gallery-open-button img,
    .hotel-detail-page .hotel-indian-image img {
        height: 220px;
        min-height: 0;
    }
}

.hotel-detail-page .flight-review-shell {
    grid-template-columns: minmax(0, 740px) minmax(280px, 400px);
    align-items: start;
    gap: 24px;
}

.hotel-detail-page.narrow-band {
    max-width: 1220px;
}

.hotel-detail-page .flight-review-side {
    position: sticky;
    top: 88px;
    gap: 24px;
}

.hotel-detail-page .hotel-indian-card {
    gap: 14px;
    padding: 0 14px 14px;
}

.hotel-detail-page .hotel-indian-card-top {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 22px 4px 4px;
    border-bottom: 0;
    background: transparent;
}

.hotel-detail-page .hotel-indian-card-top h2 {
    color: var(--green);
    font-size: clamp(19px, 2vw, 25px);
    line-height: 1.12;
}

.hotel-detail-page .hotel-indian-card-top p {
    color: #536579;
}

.hotel-detail-page .hotel-indian-hero-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: clamp(220px, 32vw, 315px);
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 12px;
    background: rgba(7, 18, 25, 0.72);
}

.hotel-detail-page .hotel-indian-hero-image img,
.hotel-detail-page .hotel-indian-hero-image .hotel-gallery-open-button {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.hotel-detail-page .hotel-indian-hero-image img {
    object-fit: cover;
    object-position: center;
}

.hotel-detail-page .hotel-indian-hero-image .hotel-gallery-open-button {
    border-radius: 0;
}

.hotel-detail-page .hotel-review-photo-count {
    position: absolute;
    left: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: rgba(4, 12, 18, 0.78);
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}

.hotel-detail-page .hotel-indian-search-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin: 0;
    padding: 17px 20px;
    border-radius: 10px;
    font-size: 14px;
}

.hotel-detail-page .hotel-review-summary-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(21, 147, 15, 0.12);
    color: var(--green);
}

.hotel-detail-page .hotel-room-rate-diagnostic-panel {
    border: 1px solid rgba(217, 119, 6, 0.28);
    border-radius: 10px;
    background: rgba(255, 247, 237, 0.92);
    color: #7c2d12;
}

.hotel-detail-page .hotel-room-rate-diagnostic-panel summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 16px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    list-style: none;
}

.hotel-detail-page .hotel-room-rate-diagnostic-panel summary::-webkit-details-marker {
    display: none;
}

.hotel-detail-page .hotel-room-rate-diagnostic-panel summary .icon {
    width: 20px;
    height: 20px;
    color: #d97706;
    flex: 0 0 auto;
}

.hotel-detail-page .hotel-room-rate-diagnostic-body {
    display: grid;
    gap: 10px;
    padding: 0 16px 14px;
    font-size: 13px;
    line-height: 1.55;
}

.hotel-detail-page .hotel-room-rate-diagnostic-body p,
.hotel-detail-page .hotel-room-rate-diagnostic-body ul {
    margin: 0;
}

.hotel-detail-page .hotel-room-rate-diagnostic-body ul {
    display: grid;
    gap: 6px;
    padding-left: 18px;
}

.hotel-detail-page .hotel-indian-meta-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.hotel-detail-page .hotel-indian-meta-grid div {
    place-items: center;
    min-height: 126px;
    padding: 16px 10px;
    text-align: center;
}

.hotel-detail-page .hotel-indian-meta-grid .icon,
.hotel-detail-page .hotel-indian-extra-grid > section > .icon {
    width: 24px;
    height: 24px;
    color: var(--green);
    stroke-width: 2.2;
}

.hotel-detail-page .hotel-indian-meta-grid span {
    color: var(--green);
}

.hotel-detail-page .hotel-indian-meta-grid strong {
    max-width: 100%;
    color: #25364a;
    font-size: 15px;
    overflow-wrap: anywhere;
}

.hotel-detail-page .hotel-indian-room-table,
.hotel-detail-page .hotel-review-rate-details,
.hotel-detail-page .hotel-review-options-panel,
.hotel-detail-page .hotel-indian-extra-grid > details.hotel-review-accommodation-rules,
.hotel-detail-page .hotel-indian-extra-grid section {
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.8);
}

.hotel-detail-page .hotel-indian-room-table {
    overflow: hidden;
}

.hotel-detail-page .hotel-indian-room-title {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(214, 225, 238, 0.84);
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
}

.hotel-detail-page .hotel-indian-room-head {
    background: rgba(248, 252, 255, 0.72);
}

.hotel-detail-page .hotel-indian-room-row {
    grid-template-columns: minmax(0, 1.6fr) minmax(120px, 0.8fr) minmax(100px, 0.68fr);
}

.hotel-detail-page .hotel-indian-room-thumb {
    width: 74px;
    height: 58px;
}

.hotel-detail-page .hotel-indian-total {
    justify-content: space-between;
    margin: 0;
    padding: 14px 18px;
    border-top: 1px solid rgba(21, 147, 15, 0.18);
    background: rgba(237, 249, 236, 0.68);
}

.hotel-detail-page .hotel-review-rate-details {
    display: grid;
    gap: 12px;
    padding: 14px 16px 16px;
}

.hotel-detail-page .hotel-review-rate-details h3 {
    margin: 0;
    color: var(--ink);
    font-size: 15px;
}

.hotel-detail-page .hotel-review-options-panel {
    display: grid;
    gap: 0;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(237, 249, 236, 0.76), rgba(247, 251, 255, 0.92)),
        rgba(255, 255, 255, 0.86);
}

.hotel-detail-page .hotel-review-options-heading {
    display: grid;
    gap: 4px;
    padding: 13px 16px 12px;
    border-bottom: 1px solid rgba(214, 225, 238, 0.86);
}

.hotel-detail-page .hotel-review-options-heading h3 {
    margin: 0;
    color: var(--ink);
    font-size: 15px;
}

.hotel-detail-page .hotel-review-options-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    align-items: stretch;
    padding: 14px 16px 16px;
}

.hotel-detail-page .hotel-review-current-option {
    display: grid;
    gap: 5px;
    align-content: center;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-left: 4px solid rgba(21, 147, 15, 0.72);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.76);
}

.hotel-detail-page .hotel-review-current-option span,
.hotel-detail-page .hotel-review-current-option small {
    color: var(--muted);
    font-size: 12px;
}

.hotel-detail-page .hotel-review-current-option span {
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-detail-page .hotel-review-current-option strong {
    min-width: 0;
    color: var(--ink);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.hotel-detail-page .hotel-review-options-control {
    display: grid;
    gap: 8px;
    align-content: center;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(214, 225, 238, 0.88);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
}

.hotel-detail-page .hotel-review-options-control label {
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.hotel-detail-page .hotel-review-options-select {
    width: 100%;
    min-height: 44px;
    padding: 0 44px 0 14px;
    border: 1px solid rgba(214, 225, 238, 0.92);
    border-radius: 8px;
    background:
        linear-gradient(45deg, transparent 50%, #15930f 50%) right 18px center / 7px 7px no-repeat,
        linear-gradient(135deg, #15930f 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
        rgba(248, 252, 255, 0.96);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    appearance: none;
}

.hotel-detail-page .hotel-review-rate-details .hotel-live-rate-legacy-details {
    margin: 0;
    border: 0;
    background: transparent;
}

.hotel-detail-page .hotel-review-rate-details .hotel-live-rate-legacy-details div {
    grid-template-columns: minmax(140px, 0.42fr) minmax(0, 1fr);
    padding: 2px 0;
    border: 0;
}

.hotel-detail-page .hotel-review-rate-details dt {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.hotel-detail-page .hotel-review-rate-details dt .icon {
    width: 15px;
    height: 15px;
    color: var(--green);
}

.hotel-detail-page .hotel-indian-extra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
}

.hotel-detail-page .hotel-indian-extra-grid section:last-child {
    grid-column: auto;
}

.hotel-detail-page .hotel-indian-extra-grid section {
    align-content: start;
    padding: 16px;
}

.hotel-detail-page .hotel-indian-extra-grid > details.hotel-review-accommodation-rules {
    grid-column: 1 / -1;
    gap: 14px;
    padding: 0;
    overflow: hidden;
}

.hotel-detail-page .hotel-accommodation-rules-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: start;
    padding: 18px 18px 16px;
    border-bottom: 1px solid rgba(214, 225, 238, 0.86);
    background:
        linear-gradient(120deg, rgba(237, 249, 236, 0.92), rgba(247, 251, 255, 0.96)),
        rgba(255, 255, 255, 0.9);
    cursor: pointer;
    list-style: none;
}

.hotel-detail-page .hotel-accommodation-rules-title::-webkit-details-marker {
    display: none;
}

.hotel-detail-page .hotel-accommodation-rules-title > .icon {
    width: 24px;
    height: 24px;
    padding: 10px;
    border-radius: 12px;
    background: rgba(21, 147, 15, 0.12);
    color: var(--green);
}

.hotel-detail-page .hotel-accommodation-rules-title div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.hotel-detail-page .hotel-accommodation-rules-title span,
.hotel-detail-page .hotel-accommodation-more-heading span,
.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card small {
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hotel-detail-page .hotel-accommodation-rules-title strong {
    color: var(--ink);
    font-size: 18px;
}

.hotel-detail-page .hotel-accommodation-rules-title p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
}

.hotel-detail-page .hotel-accommodation-rules-title em {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--green);
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}

.hotel-detail-page .hotel-accommodation-toggle-label {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #536579;
    font-size: 11px;
    font-weight: 900;
}

.hotel-detail-page .hotel-accommodation-toggle-label::before {
    content: "Collapse ";
}

.hotel-detail-page .hotel-review-accommodation-rules:not([open]) .hotel-accommodation-toggle-label {
    color: var(--green);
}

.hotel-detail-page .hotel-review-accommodation-rules:not([open]) .hotel-accommodation-toggle-label::before {
    content: "Open ";
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px 18px 0;
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card {
    display: grid;
    gap: 8px;
    align-content: start;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(214, 225, 238, 0.88);
    border-left: 5px solid rgba(21, 147, 15, 0.68);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 255, 0.82)),
        rgba(255, 255, 255, 0.86);
    text-align: left;
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card.money-bearing {
    border-left-color: #d88745;
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card.important {
    border-left-color: #c4a94d;
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card span {
    color: var(--ink);
    font-size: 14px;
    font-weight: 950;
}

.hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card p {
    margin: 0;
    color: #526171;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.5;
}

.hotel-detail-page .hotel-accommodation-more-details {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 16px 18px 18px;
    border-top: 1px dashed rgba(214, 225, 238, 0.86);
}

.hotel-detail-page .hotel-accommodation-more-heading {
    display: grid;
    gap: 4px;
}

.hotel-detail-page .hotel-accommodation-more-heading strong {
    color: var(--ink);
    font-size: 15px;
}

.hotel-detail-page .hotel-accommodation-more-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hotel-detail-page .hotel-accommodation-rule-detail {
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.86);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    text-align: left;
}

.hotel-detail-page .hotel-accommodation-rule-detail > strong {
    display: block;
    padding: 9px 11px;
    background: rgba(237, 243, 248, 0.82);
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.hotel-detail-page .hotel-accommodation-rule-detail-body {
    padding: 10px 12px;
    border-top: 1px solid rgba(214, 225, 238, 0.86);
}

.hotel-detail-page .hotel-accommodation-rule-detail-body p {
    margin: 0;
}

.hotel-detail-page .hotel-accommodation-rule-debug {
    margin-top: 2px;
    font-size: 11px;
}

.hotel-detail-page .flight-review-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    margin: 0;
    padding: 0 38px 0;
}

.hotel-detail-page .flight-review-actions .ghost-button,
.hotel-detail-page .flight-review-actions .primary-cta {
    justify-content: center;
    min-height: 44px;
}

.hotel-detail-page .flight-review-price-panel {
    overflow: hidden;
}

.hotel-detail-page .flight-review-price-panel h2 {
    padding: 17px 20px;
    background: linear-gradient(110deg, #20a72a, #0077de);
    color: #fff;
    font-size: 18px;
}

.hotel-detail-page .hotel-review-details-panel h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px dashed rgba(214, 225, 238, 0.86);
    background: transparent;
    color: var(--ink);
}

.hotel-detail-page .hotel-review-details-panel h2 .icon {
    color: var(--green);
}

.hotel-detail-page .flight-review-call-card {
    align-items: center;
    min-height: 178px;
    text-align: center;
}

.hotel-detail-page .flight-review-call-card > .icon {
    width: 38px;
    height: 38px;
    padding: 16px;
    border: 1px solid rgba(21, 147, 15, 0.24);
    border-radius: 50%;
    color: var(--green);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-hero-image,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-table,
html.travelnet-dark .hotel-detail-page .hotel-review-rate-details,
html.travelnet-dark .hotel-detail-page .hotel-review-options-panel,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid > details.hotel-review-accommodation-rules,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid section {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.5);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top {
    background: transparent;
}

.hotel-detail-page .hotel-subvendor-label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.01em;
}

html:not(.travelnet-dark) .hotel-detail-page .hotel-subvendor-label {
    color: #64748b;
}

html.travelnet-dark .hotel-detail-page .hotel-subvendor-label {
    color: rgba(226, 232, 240, 0.72);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-card-top h2,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-title,
html.travelnet-dark .hotel-detail-page .hotel-review-rate-details h3,
html.travelnet-dark .hotel-detail-page .hotel-review-options-heading h3,
html.travelnet-dark .hotel-detail-page .hotel-review-options-control label,
html.travelnet-dark .hotel-detail-page .hotel-review-current-option strong,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title strong,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-more-heading strong,
html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card span,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-detail > strong,
html.travelnet-dark .hotel-detail-page .hotel-review-details-panel h2 {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-search-note {
    border-color: rgba(164, 221, 176, 0.18);
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.14), rgba(8, 121, 201, 0.08)),
        rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .hotel-detail-page .hotel-review-summary-icon {
    background: rgba(21, 147, 15, 0.18);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-room-rate-diagnostic-panel {
    border-color: rgba(251, 191, 36, 0.28);
    background:
        linear-gradient(180deg, rgba(251, 191, 36, 0.12), rgba(251, 146, 60, 0.06)),
        rgba(4, 12, 18, 0.62);
    color: #fde68a;
}

html.travelnet-dark .hotel-detail-page .hotel-room-rate-diagnostic-panel summary .icon {
    color: #fbbf24;
}

html.travelnet-dark .hotel-detail-page .hotel-room-rate-diagnostic-body {
    color: #fee9a8;
}

html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid div {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid .icon,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid > section > .icon,
html.travelnet-dark .hotel-detail-page .hotel-review-rate-details dt .icon,
html.travelnet-dark .hotel-detail-page .hotel-review-details-panel h2 .icon {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid span,
html.travelnet-dark .hotel-detail-page .hotel-indian-extra-grid span,
html.travelnet-dark .hotel-detail-page .hotel-review-current-option span,
html.travelnet-dark .hotel-detail-page .hotel-review-current-option small,
html.travelnet-dark .hotel-detail-page .hotel-review-rate-details dt,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title span,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-more-heading span,
html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card small {
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-review-options-heading {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-detail-page .hotel-review-options-control,
html.travelnet-dark .hotel-detail-page .hotel-review-current-option {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .hotel-detail-page .hotel-review-options-select {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(45deg, transparent 50%, #7fd67e 50%) right 18px center / 7px 7px no-repeat,
        linear-gradient(135deg, #7fd67e 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
        rgba(4, 12, 18, 0.72);
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-meta-grid strong,
html.travelnet-dark .hotel-detail-page .hotel-review-rate-details dd {
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-room-title,
html.travelnet-dark .hotel-detail-page .hotel-indian-room-head,
html.travelnet-dark .hotel-detail-page .hotel-indian-total {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.46);
}

html.travelnet-dark .hotel-detail-page .hotel-indian-total {
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.16), rgba(21, 147, 15, 0.07)),
        rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .hotel-detail-page .hotel-review-details-panel h2 {
    border-bottom-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules {
    border-color: rgba(127, 214, 126, 0.26);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.15), rgba(8, 121, 201, 0.08) 42%, rgba(4, 12, 18, 0.80)),
        rgba(5, 15, 20, 0.78);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title {
    border-bottom-color: rgba(164, 221, 176, 0.14);
    background:
        linear-gradient(135deg, rgba(21, 147, 15, 0.16), rgba(8, 121, 201, 0.08)),
        rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title > .icon {
    background: rgba(125, 211, 252, 0.12);
    color: var(--flight-checkout-sky);
    filter: drop-shadow(0 0 10px rgba(125, 211, 252, 0.20));
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title p {
    color: rgba(226, 239, 230, 0.74);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rules-title em,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-toggle-label {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.58);
    color: var(--flight-checkout-green);
}

html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card {
    border-color: rgba(164, 221, 176, 0.14);
    border-left-color: rgba(125, 211, 252, 0.70);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(6, 18, 24, 0.74);
    color: rgba(242, 247, 244, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card.money-bearing {
    border-left-color: var(--flight-checkout-coral);
    background:
        linear-gradient(180deg, rgba(255, 139, 132, 0.13), rgba(255, 139, 132, 0.035)),
        rgba(7, 17, 22, 0.76);
}

html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card.important {
    border-left-color: #f4d35e;
    background:
        linear-gradient(180deg, rgba(244, 211, 94, 0.13), rgba(244, 211, 94, 0.035)),
        rgba(7, 17, 22, 0.76);
}

html.travelnet-dark .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-card p,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-detail-body p,
html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-debug {
    color: rgba(226, 239, 230, 0.74);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-more-details {
    border-top-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-detail {
    border-color: rgba(164, 221, 176, 0.18);
    background: rgba(4, 12, 18, 0.58);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-detail > strong {
    background:
        linear-gradient(90deg, rgba(21, 147, 15, 0.16), rgba(8, 121, 201, 0.08)),
        rgba(4, 12, 18, 0.72);
    color: var(--flight-checkout-text);
}

html.travelnet-dark .hotel-detail-page .hotel-accommodation-rule-detail-body {
    border-top-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .hotel-detail-page .flight-review-call-card > .icon {
    border-color: rgba(164, 221, 176, 0.22);
    background: rgba(21, 147, 15, 0.08);
    color: var(--flight-checkout-green);
}

@media (max-width: 980px) {
    .hotel-detail-page .flight-review-shell {
        grid-template-columns: 1fr;
    }

    .hotel-detail-page .flight-review-side {
        position: static;
        top: auto;
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    .hotel-detail-page .hotel-indian-card {
        padding: 0 12px 14px;
    }

    .hotel-detail-page .hotel-indian-card-top,
    .hotel-detail-page .hotel-accommodation-rules-title,
    .hotel-detail-page .hotel-indian-meta-grid,
    .hotel-detail-page .hotel-indian-room-row,
    .hotel-detail-page .hotel-review-options-layout,
    .hotel-detail-page .hotel-indian-extra-grid,
    .hotel-detail-page .hotel-review-accommodation-rules .hotel-accommodation-rule-grid,
    .hotel-detail-page .hotel-accommodation-more-grid,
    .hotel-detail-page .flight-review-actions {
        grid-template-columns: 1fr;
    }

    .hotel-detail-page .hotel-indian-card-top {
        align-items: start;
    }

    .hotel-detail-page .hotel-indian-hero-image {
        height: 220px;
    }

    .hotel-detail-page .hotel-review-rate-details .hotel-live-rate-legacy-details div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .hotel-detail-page .flight-review-actions {
        padding: 0;
    }
}

/* Premium My Trips dashboard refresh. */
.my-trips-page {
    position: relative;
    isolation: isolate;
    margin-top: 24px;
    padding: clamp(18px, 2.8vw, 34px) 0 46px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.my-trips-page::before {
    content: "";
    position: absolute;
    inset: -24px calc(50% - 50vw) -58px;
    z-index: -1;
    background:
        radial-gradient(circle at 76% 10%, rgba(57, 211, 83, 0.18), transparent 28%),
        radial-gradient(circle at 18% 18%, rgba(32, 207, 230, 0.16), transparent 30%),
        linear-gradient(180deg, #f8fcff 0%, #ffffff 46%, #f3fbf6 100%);
}

.my-trips-shell {
    display: grid;
    gap: 18px;
}

.my-trips-hero,
.my-trips-filter-panel,
.my-trips-preview-banner,
.my-trips-next-focus,
.my-trip-card,
.my-trips-cancel-notice,
.my-trips-empty,
.my-trips-stat {
    border: 1px solid rgba(214, 225, 238, 0.84);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.94)),
        #fff;
    box-shadow: 0 24px 58px rgba(23, 42, 64, 0.13);
}

.my-trips-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(18px, 4vw, 42px);
    align-items: center;
    min-height: 300px;
    padding: clamp(28px, 4vw, 54px);
    overflow: hidden;
}

.my-trips-hero::before {
    content: "";
    position: absolute;
    inset: 18px 22% auto 28%;
    height: 190px;
    opacity: 0.28;
    background:
        radial-gradient(circle, currentColor 1.5px, transparent 2px) 0 0 / 16px 16px,
        radial-gradient(circle, currentColor 1px, transparent 2px) 8px 8px / 22px 22px;
    color: rgba(11, 77, 140, 0.32);
    clip-path: polygon(4% 36%, 18% 12%, 32% 22%, 43% 8%, 58% 28%, 76% 14%, 96% 34%, 88% 70%, 70% 62%, 55% 84%, 34% 66%, 16% 78%);
}

.my-trips-hero::after {
    content: "";
    position: absolute;
    right: 28%;
    top: 34%;
    width: 360px;
    height: 96px;
    border-top: 2px dashed rgba(57, 211, 83, 0.48);
    border-radius: 50%;
    transform: rotate(-7deg);
}

.my-trips-hero-copy,
.my-trips-hero-panel,
.my-trips-route-art,
.my-trips-filter-panel > *,
.my-trip-card-summary > *,
.my-trip-card-body > * {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.my-trips-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(57, 211, 83, 0.12);
    color: var(--green-dark);
    font-size: 12px;
}

.my-trips-hero-badge .icon {
    width: 15px;
    height: 15px;
}

.my-trips-hero h1 {
    margin: 18px 0 12px;
    font-size: clamp(38px, 4.4vw, 64px);
    line-height: 0.96;
    letter-spacing: 0;
}

.my-trips-hero p {
    max-width: 620px;
    margin: 0;
    color: var(--muted);
    font-size: clamp(14px, 1.35vw, 17px);
    line-height: 1.62;
}

.my-trips-route-art {
    position: absolute;
    top: 88px;
    right: 32%;
    width: 58px;
    height: 58px;
    color: var(--green);
    transform: rotate(18deg);
    filter: drop-shadow(0 10px 20px rgba(21, 147, 15, 0.28));
}

.my-trips-route-art .icon {
    width: 58px;
    height: 58px;
}

.my-trips-hero-panel {
    display: grid;
    align-content: center;
    gap: 10px;
    min-height: 190px;
    padding: 26px;
    border: 1px solid rgba(57, 211, 83, 0.42);
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 22%, rgba(255, 255, 255, 0.2), transparent 38%),
        radial-gradient(circle at 90% 62%, rgba(57, 211, 83, 0.24), transparent 28%),
        linear-gradient(135deg, #15930f, #0b4d8c);
    color: #fff;
    box-shadow: 0 22px 42px rgba(7, 27, 58, 0.24);
}

.my-trips-hero-panel span {
    font-size: clamp(48px, 6vw, 76px);
    font-weight: 950;
    line-height: 0.9;
}

.my-trips-hero-panel strong {
    font-size: 20px;
    text-transform: capitalize;
}

.my-trips-hero-panel small {
    display: block;
    max-width: 290px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.my-trips-preview-banner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-color: rgba(245, 158, 11, 0.24);
    background:
        linear-gradient(135deg, rgba(255, 247, 237, 0.96), rgba(255, 255, 255, 0.98)),
        #fff;
    color: #7c2d12;
}

.my-trips-preview-banner strong,
.my-trips-preview-banner span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.my-trips-preview-banner strong {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #9a3412;
    font-size: 14px;
    font-weight: 950;
}

.my-trips-preview-banner .icon {
    width: 18px;
    height: 18px;
}

.my-trips-preview-banner span {
    color: #9a3412;
    font-size: 13px;
    font-weight: 750;
}

.my-trips-next-focus {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 13px 16px;
    border-color: rgba(14, 165, 233, 0.14);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 255, 0.78)),
        #fff;
}

.my-trips-next-focus .content-eyebrow {
    min-height: 24px;
    font-size: 11px;
}

.my-trips-next-focus h2 {
    margin: 4px 0 3px;
    color: var(--ink);
    font-size: 18px;
    line-height: 1.15;
}

.my-trips-next-focus p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 760;
    line-height: 1.35;
}

.my-trips-next-focus-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.my-trips-next-focus-actions small {
    display: none;
    flex: 1 1 100%;
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    text-align: right;
    overflow-wrap: anywhere;
}

.my-trips-next-focus-actions a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(14, 165, 233, 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #075985;
    font-size: 12px;
    font-weight: 920;
    text-decoration: none;
}

.my-trips-next-focus-actions a:first-of-type {
    border-color: rgba(14, 165, 233, 0.36);
    background: linear-gradient(135deg, #0ea5e9, #8b5cf6);
    color: #fff;
    box-shadow: 0 14px 24px rgba(14, 165, 233, 0.2);
}

.my-trips-next-focus-actions .icon {
    width: 16px;
    height: 16px;
}

.my-trips-next-focus.is-empty {
    border-color: rgba(168, 85, 247, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 245, 255, 0.72)),
        #fff;
}

.my-trips-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.my-trips-stat {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-width: 0;
    padding: 22px;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.my-trips-stat:hover {
    transform: translateY(-3px);
    border-color: rgba(57, 211, 83, 0.34);
    box-shadow: 0 28px 62px rgba(23, 42, 64, 0.16);
}

.my-trips-stat-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 17px;
    background: rgba(57, 211, 83, 0.13);
    color: var(--green);
}

.my-trips-stat-icon .icon {
    width: 27px;
    height: 27px;
}

.my-trips-stat-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.my-trips-stat-copy strong {
    color: var(--ink);
    font-size: 30px;
    font-weight: 950;
    line-height: 1;
}

.my-trips-stat-copy span {
    color: var(--ink);
    font-size: 20px;
    line-height: 1.1;
    font-weight: 900;
}

.my-trips-stat-copy small {
    color: var(--muted);
    font-size: 12px;
}

.my-trips-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, 0.38fr) minmax(0, 0.62fr);
    gap: 18px;
    align-items: center;
    padding: 20px 22px;
}

.my-trips-filter-heading {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.my-trips-filter-icon {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(57, 211, 83, 0.12);
    color: var(--green);
}

.my-trips-filter-icon .icon {
    width: 24px;
    height: 24px;
}

.my-trips-filter-panel h2 {
    margin: 0 0 6px;
    font-size: 24px;
    line-height: 1.15;
}

.my-trips-filter-panel p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.my-trips-filter-groups {
    display: grid;
    gap: 10px;
    justify-items: end;
}

.my-trips-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: flex-end;
}

.my-trips-filter-pill {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(214, 225, 238, 0.92);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.my-trips-filter-pill:hover {
    transform: translateY(-2px);
    border-color: rgba(57, 211, 83, 0.28);
}

.my-trips-filter-pill span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    margin-left: 8px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(57, 211, 83, 0.14);
    color: var(--green-dark);
    font-size: 12px;
}

.my-trips-filter-pill.is-active {
    border-color: rgba(57, 211, 83, 0.36);
    background: linear-gradient(135deg, #15930f, #0f766e);
    color: #fff;
    box-shadow: 0 12px 24px rgba(21, 147, 15, 0.22);
}

.my-trips-filter-pill.is-active span {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.my-trips-list {
    display: grid;
    gap: 16px;
}

.my-trip-card {
    display: block;
    min-width: 0;
    padding: 0;
    overflow: hidden;
}

.my-trip-card-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
    gap: 18px;
    align-items: center;
    min-width: 0;
    padding: 22px;
    cursor: pointer;
    list-style: none;
}

.my-trip-card-summary::-webkit-details-marker {
    display: none;
}

.my-trip-summary-main {
    display: grid;
    gap: 11px;
}

.my-trip-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: baseline;
    min-width: 0;
}

.my-trip-title-row strong {
    color: var(--ink);
    font-size: clamp(30px, 3.6vw, 42px);
    line-height: 1;
}

.my-trip-title-row > span {
    display: inline-flex;
    color: var(--green);
}

.my-trip-title-row .icon {
    width: 23px;
    height: 23px;
}

.my-trip-title-row em {
    min-width: 0;
    color: var(--muted);
    font-style: normal;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.my-trip-status {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(57, 211, 83, 0.2);
    border-radius: 999px;
    background: rgba(57, 211, 83, 0.12);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.my-trip-status.is-history {
    border-color: rgba(148, 163, 184, 0.22);
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

.my-trip-status.is-current {
    border-color: rgba(255, 196, 87, 0.26);
    background: rgba(255, 196, 87, 0.14);
    color: #9a5b00;
}

.my-trip-status.is-confirmed {
    border-color: rgba(14, 165, 233, 0.24);
    background: rgba(14, 165, 233, 0.1);
    color: #075985;
}

.my-trip-status.is-pending,
.my-trip-status.is-payment-pending {
    border-color: rgba(255, 196, 87, 0.26);
    background: rgba(255, 196, 87, 0.14);
    color: #9a5b00;
}

.my-trip-status.is-failed,
.my-trip-status.is-payment-failed,
.my-trip-status.is-payment-cancelled,
.my-trip-status.is-supplier-booking-failed,
.my-trip-status.is-needs-agent-review {
    border-color: rgba(255, 92, 92, 0.26);
    background: rgba(255, 92, 92, 0.13);
    color: var(--coral-dark);
}

.my-trip-status.is-cancelled,
.my-trip-status.is-cancellation-requested {
    border-color: rgba(255, 92, 92, 0.26);
    background: rgba(255, 92, 92, 0.13);
    color: var(--coral-dark);
}

.my-trip-status.is-preview-sample {
    border-color: rgba(168, 85, 247, 0.24);
    background: rgba(168, 85, 247, 0.11);
    color: #6d28d9;
}

.my-trip-status.is-travelled {
    border-color: rgba(148, 163, 184, 0.22);
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

.my-trip-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.my-trip-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.9);
    color: var(--muted);
    font-size: 13px;
    font-weight: 850;
}

.my-trip-meta-row .icon {
    width: 15px;
    height: 15px;
    margin-right: 7px;
    color: var(--green);
}

.my-trip-payment-note {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255, 247, 220, 0.96), rgba(255, 237, 213, 0.82));
    color: #8a4b08;
}

.my-trip-payment-note > .icon {
    width: 18px;
    height: 18px;
    color: #d97706;
}

.my-trip-payment-note strong,
.my-trip-payment-note small {
    display: block;
}

.my-trip-payment-note strong {
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.my-trip-payment-note small {
    margin-top: 2px;
    color: #9a5b16;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.my-trip-summary-side {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.my-trip-ref {
    display: grid;
    gap: 4px;
    justify-items: end;
    min-width: 170px;
    color: var(--muted);
}

.my-trip-ref span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.my-trip-ref strong {
    color: var(--ink);
    font-size: 15px;
    overflow-wrap: anywhere;
}

.my-trip-summary-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(214, 225, 238, 0.88);
    border-radius: 12px;
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.my-trip-summary-action .icon {
    width: 18px;
    height: 18px;
    transition: transform 180ms ease;
}

.my-trip-card[open] .my-trip-summary-action .icon {
    transform: rotate(90deg);
}

.my-trip-action-open {
    display: none;
}

.my-trip-card[open] .my-trip-action-open {
    display: inline;
}

.my-trip-card[open] .my-trip-action-closed {
    display: none;
}

.my-trip-card-body {
    display: grid;
    gap: 14px;
    padding: 0 22px 22px;
    animation: my-trips-expand 190ms ease;
}

@keyframes my-trips-expand {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.my-trip-items {
    display: grid;
    gap: 12px;
}

.my-trip-itinerary-timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.my-trip-itinerary-timeline li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(14, 165, 233, 0.16);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(224, 242, 254, 0.84), rgba(250, 245, 255, 0.72)),
        #fff;
}

.my-trip-itinerary-timeline li > span {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.12);
    color: #0284c7;
}

.my-trip-itinerary-timeline li.is-hotel {
    border-color: rgba(168, 85, 247, 0.16);
    background:
        linear-gradient(135deg, rgba(250, 245, 255, 0.86), rgba(255, 241, 242, 0.68)),
        #fff;
}

.my-trip-itinerary-timeline li.is-hotel > span {
    background: rgba(168, 85, 247, 0.12);
    color: #7c3aed;
}

.my-trip-itinerary-timeline div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.my-trip-itinerary-timeline strong,
.my-trip-itinerary-timeline em,
.my-trip-itinerary-timeline small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.my-trip-itinerary-timeline strong {
    color: var(--ink);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
}

.my-trip-itinerary-timeline em {
    color: var(--ink);
    font-size: 14px;
    font-style: normal;
    font-weight: 850;
}

.my-trip-itinerary-timeline small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 780;
}

.my-trip-item {
    display: grid;
    grid-template-columns: minmax(220px, 0.34fr) minmax(280px, 1fr) minmax(150px, 0.22fr);
    gap: 18px;
    align-items: stretch;
    min-width: 0;
    padding: 0;
    border: 1px solid rgba(57, 211, 83, 0.18);
    border-radius: 16px;
    background:
        linear-gradient(90deg, rgba(57, 211, 83, 0.09), rgba(255, 255, 255, 0.02)),
        rgba(248, 252, 255, 0.8);
    overflow: hidden;
}

.my-trip-route-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 18px 20px;
}

.my-trip-route-block div,
.my-trip-hotel-block div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.my-trip-route-block strong {
    color: var(--ink);
    font-size: 25px;
    line-height: 1;
}

.my-trip-route-block span,
.my-trip-hotel-block span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.my-trip-hotel-block strong {
    color: var(--ink);
    font-size: 18px;
    line-height: 1.15;
}

.my-trip-route-block span {
    white-space: nowrap;
}

.my-trip-route-arrow {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: linear-gradient(135deg, #15930f, #0f766e);
    color: #fff;
}

.my-trip-route-arrow .icon {
    width: 18px;
    height: 18px;
}

.my-trip-hotel-block {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 18px 20px;
}

.my-trip-item-icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(57, 211, 83, 0.13);
    color: var(--green);
}

.my-trip-item-icon .icon {
    width: 22px;
    height: 22px;
}

.my-trip-hotel-room-line {
    color: #7c3aed;
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.my-trip-hotel-stay-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(94px, 1fr));
    gap: 10px;
    align-items: stretch;
    min-width: 0;
    padding: 16px 0;
}

.my-trip-hotel-stay-grid span {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(168, 85, 247, 0.14);
    border-radius: 13px;
    background: rgba(250, 245, 255, 0.64);
}

.my-trip-hotel-stay-grid small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.my-trip-hotel-stay-grid strong {
    min-width: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.my-trip-schedule-grid {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(110px, 0.7fr) minmax(96px, 0.52fr) minmax(110px, 0.7fr);
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 18px 0;
}

.my-trip-schedule-grid > span {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 780;
}

.my-trip-schedule-grid > span:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

.my-trip-schedule-grid strong {
    color: var(--ink);
    font-size: 18px;
}

.my-trip-schedule-grid small {
    color: var(--muted);
    font-size: 12px;
}

.my-trip-schedule-grid .my-trip-schedule-pending {
    grid-column: span 3;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(57, 211, 83, 0.16);
    border-radius: 14px;
    background: rgba(57, 211, 83, 0.06);
}

.my-trip-schedule-grid .my-trip-schedule-pending strong {
    font-size: 15px;
}

.my-trip-schedule-grid .my-trip-schedule-pending small {
    line-height: 1.35;
}

.my-trip-schedule-grid .icon {
    width: 18px;
    height: 18px;
    color: var(--muted);
}

.my-trip-duration {
    position: relative;
    justify-items: center;
    text-align: center;
}

.my-trip-duration::before,
.my-trip-duration::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 26px;
    height: 1px;
    background: rgba(57, 211, 83, 0.26);
}

.my-trip-duration::before {
    right: calc(50% + 42px);
}

.my-trip-duration::after {
    left: calc(50% + 42px);
}

.my-trip-item-status {
    display: grid;
    gap: 5px;
    align-content: center;
    justify-items: end;
    min-width: 0;
    padding: 18px 20px 18px 0;
}

.my-trip-confirmed-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    background: linear-gradient(135deg, #15930f, #39d353);
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.4px;
}

.my-trip-confirmed-badge.is-cancelled {
    background: linear-gradient(135deg, #b42318, #ef4444);
}

.my-trip-item-status strong,
.my-trip-item-status small {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.my-trip-item-status strong {
    color: var(--ink);
    font-size: 14px;
}

.my-trip-item-status small {
    color: var(--muted);
    font-size: 12px;
}

.my-trip-item-foot {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 13px 20px 16px;
    border-top: 1px solid rgba(214, 225, 238, 0.54);
}

.my-trip-item-foot span {
    min-width: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.my-trip-item-foot strong {
    color: var(--green-dark);
    font-size: 16px;
    white-space: nowrap;
}

.my-trip-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.my-trip-action-row a,
.my-trip-action-row span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(14, 165, 233, 0.18);
    border-radius: 999px;
    background: rgba(240, 249, 255, 0.82);
    color: #0369a1;
    font-size: 13px;
    font-weight: 920;
    text-decoration: none;
}

.my-trip-action-row a:first-child {
    border-color: rgba(168, 85, 247, 0.24);
    background: linear-gradient(135deg, #0ea5e9, #a855f7);
    color: #fff;
}

.my-trip-action-row .is-disabled {
    border-color: rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.84);
    color: #94a3b8;
}

.my-trip-action-row .icon {
    width: 16px;
    height: 16px;
}

.my-trip-progress-details {
    min-width: 0;
}

.my-trip-progress-details summary {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(214, 225, 238, 0.82);
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.86);
    color: var(--muted);
    font-size: 13px;
    font-weight: 920;
    cursor: pointer;
    list-style: none;
}

.my-trip-progress-details summary::-webkit-details-marker {
    display: none;
}

.my-trip-progress-details summary .icon {
    width: 15px;
    height: 15px;
}

.my-trip-progress-details[open] summary {
    margin-bottom: 10px;
    color: var(--ink);
}

.my-trip-expanded-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.my-trip-detail-panel,
.my-trip-advanced-details,
.my-trip-management-panel,
.my-trip-cancel-state {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.74);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
}

.my-trip-detail-panel h3,
.my-trip-management-panel h3 {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0 0 12px;
    color: var(--ink);
    font-size: 16px;
}

.my-trip-detail-panel h3 .icon {
    width: 18px;
    height: 18px;
    color: var(--green);
}

.my-trip-detail-panel dl,
.my-trip-advanced-details dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.my-trip-detail-panel dl div,
.my-trip-advanced-details dl div {
    display: grid;
    grid-template-columns: minmax(92px, 0.4fr) minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
}

.my-trip-detail-panel dt,
.my-trip-advanced-details dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.my-trip-detail-panel dd,
.my-trip-advanced-details dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.my-trip-advanced-details {
    border-style: dashed;
    background:
        linear-gradient(135deg, rgba(248, 250, 252, 0.88), rgba(255, 255, 255, 0.9)),
        #fff;
}

.my-trip-advanced-details summary {
    display: flex;
    gap: 9px;
    align-items: center;
    color: var(--muted);
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
    list-style: none;
}

.my-trip-advanced-details summary::-webkit-details-marker {
    display: none;
}

.my-trip-advanced-details summary .icon {
    width: 17px;
    height: 17px;
    color: #8b5cf6;
}

.my-trip-advanced-details[open] summary {
    margin-bottom: 12px;
    color: var(--ink);
}

.my-trip-code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px !important;
}

.my-trip-code-with-copy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.my-trip-code-with-copy span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.my-trip-code-with-copy button {
    flex: 0 0 auto;
    min-height: 26px;
    padding: 0 9px;
    border: 1px solid rgba(14, 165, 233, 0.2);
    border-radius: 999px;
    background: rgba(240, 249, 255, 0.9);
    color: #0369a1;
    font: inherit;
    font-size: 11px;
    font-weight: 950;
    cursor: pointer;
}

.my-trip-support-note {
    display: grid;
    gap: 5px;
    margin-bottom: 12px;
    padding: 12px 13px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 13px;
    background: rgba(255, 251, 235, 0.82);
}

.my-trip-support-note strong {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #9a5b00;
    font-size: 13px;
    font-weight: 950;
}

.my-trip-support-note span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 780;
    line-height: 1.45;
}

.my-trip-detail-note {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
}

.my-trip-passenger-list,
.my-trip-timeline {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.my-trip-passenger-list li,
.my-trip-timeline li {
    display: flex;
    gap: 9px;
    align-items: center;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.76);
}

.my-trip-passenger-list strong,
.my-trip-passenger-list span,
.my-trip-timeline strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.my-trip-passenger-list strong,
.my-trip-timeline strong {
    color: var(--ink);
    font-size: 13px;
}

.my-trip-passenger-list span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.my-trip-timeline li > span {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

.my-trip-timeline li.is-done > span {
    background: rgba(57, 211, 83, 0.14);
    color: var(--green-dark);
}

.my-trip-timeline .icon {
    width: 15px;
    height: 15px;
}

.my-trip-management-panel {
    display: grid;
    gap: 14px;
    border-color: rgba(239, 68, 68, 0.22);
}

.my-trip-management-panel summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    cursor: pointer;
    list-style: none;
}

.my-trip-management-panel summary::-webkit-details-marker {
    display: none;
}

.my-trip-management-panel summary span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(239, 68, 68, 0.26);
    border-radius: 999px;
    background: rgba(254, 242, 242, 0.78);
    color: #b42318;
    font-size: 13px;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.my-trip-management-panel summary .icon {
    width: 16px;
    height: 16px;
}

.my-trip-management-panel summary small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 760;
    line-height: 1.4;
}

.my-trip-management-panel p {
    margin: -6px 0 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.my-trip-cancel-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(240px, 0.7fr) auto;
    gap: 14px;
    align-items: end;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.my-trip-cancel-form label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.my-trip-cancel-form textarea {
    width: 100%;
    min-height: 74px;
    padding: 12px 13px;
    border: 1px solid rgba(214, 225, 238, 0.9);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    resize: vertical;
}

.my-trip-cancel-confirm {
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    min-height: 74px;
}

.my-trip-cancel-confirm input {
    width: 18px;
    height: 18px;
    accent-color: #39d353;
}

.my-trip-cancel-button {
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid rgba(239, 68, 68, 0.58);
    border-radius: 999px;
    background: transparent;
    color: #dc2626;
    font-weight: 950;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.my-trip-cancel-button:hover {
    transform: translateY(-2px);
    background: rgba(239, 68, 68, 0.08);
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1), 0 16px 28px rgba(127, 29, 29, 0.16);
}

.my-trip-cancel-state {
    display: grid;
    gap: 5px;
    border-color: rgba(57, 211, 83, 0.2);
    background: rgba(57, 211, 83, 0.08);
}

.my-trip-cancel-state strong {
    color: var(--green-dark);
    font-size: 14px;
}

.my-trip-cancel-state span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 780;
    line-height: 1.45;
}

.my-trips-cancel-notice {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
}

.my-trips-cancel-notice strong {
    color: var(--ink);
}

.my-trips-cancel-notice span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.my-trips-cancel-notice.is-success {
    border-color: rgba(57, 211, 83, 0.28);
    background: linear-gradient(180deg, rgba(57, 211, 83, 0.12), rgba(255, 255, 255, 0.92));
}

.my-trips-cancel-notice.is-warning {
    border-color: rgba(239, 68, 68, 0.24);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.1), rgba(255, 255, 255, 0.92));
}

.my-trips-empty {
    display: grid;
    gap: 10px;
    justify-items: start;
    padding: 28px;
}

.my-trips-empty h2,
.my-trips-empty p {
    margin: 0;
}

.my-trips-empty p {
    color: var(--muted);
}

.my-trips-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
}

.admin-booking-table {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.admin-booking-table-head,
.admin-booking-row summary {
    display: grid;
    grid-template-columns: 0.72fr 1.25fr 1fr 1.1fr 1.1fr 1.15fr 0.75fr 0.7fr;
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.admin-booking-table-head {
    padding: 0 10px 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.admin-booking-row {
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    overflow: hidden;
}

.admin-booking-row summary {
    padding: 14px 12px;
    cursor: pointer;
    list-style: none;
}

.admin-booking-row summary::-webkit-details-marker {
    display: none;
}

.admin-booking-row summary span {
    min-width: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.admin-booking-row summary small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.admin-booking-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 196, 87, 0.14);
    color: #9a5b00;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.admin-booking-status.is-confirmed {
    background: rgba(57, 211, 83, 0.14);
    color: var(--green-dark);
}

.admin-booking-status.is-failed,
.admin-booking-status.is-cancelled {
    background: rgba(255, 92, 92, 0.13);
    color: var(--coral-dark);
}

.admin-booking-code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px !important;
}

.admin-booking-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 0 12px 12px;
}

.admin-booking-detail-grid section {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.76);
}

.admin-booking-detail-grid h2 {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0 0 10px;
    color: var(--ink);
    font-size: 15px;
}

.admin-booking-detail-grid h2 .icon {
    width: 17px;
    height: 17px;
    color: var(--green);
}

.admin-booking-detail-grid dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.admin-booking-detail-grid dl div {
    display: grid;
    grid-template-columns: minmax(82px, 0.34fr) minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
}

.admin-booking-detail-grid dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.admin-booking-detail-grid dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

html.travelnet-dark .my-trips-page::before {
    background:
        radial-gradient(circle at 84% 8%, rgba(57, 211, 83, 0.14), transparent 30%),
        radial-gradient(circle at 12% 12%, rgba(32, 207, 230, 0.13), transparent 26%),
        linear-gradient(90deg, rgba(3, 9, 13, 0.94), rgba(4, 12, 18, 0.72)),
        linear-gradient(180deg, rgba(6, 18, 19, 0.72), rgba(5, 13, 13, 0.96)),
        url("../images/offer-detail-dark-bg.png") center / cover no-repeat,
        linear-gradient(180deg, #071018, #07100c);
}

html.travelnet-dark .my-trips-hero,
html.travelnet-dark .my-trips-filter-panel,
html.travelnet-dark .my-trip-card,
html.travelnet-dark .my-trips-empty,
html.travelnet-dark .my-trips-stat {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.84);
    color: #edf6ef;
    box-shadow:
        0 24px 58px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.travelnet-dark .my-trips-hero {
    background:
        radial-gradient(circle at 90% 8%, rgba(57, 211, 83, 0.12), transparent 34%),
        radial-gradient(circle at 34% 6%, rgba(32, 207, 230, 0.09), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.064), rgba(255, 255, 255, 0.018)),
        rgba(9, 22, 22, 0.88);
}

html.travelnet-dark .my-trips-hero::before {
    color: rgba(155, 223, 241, 0.18);
}

html.travelnet-dark .my-trips-hero h1,
html.travelnet-dark .my-trips-filter-panel h2,
html.travelnet-dark .my-trips-next-focus h2,
html.travelnet-dark .my-trip-title-row strong,
html.travelnet-dark .my-trip-ref strong,
html.travelnet-dark .my-trip-route-block strong,
html.travelnet-dark .my-trip-hotel-block strong,
html.travelnet-dark .my-trip-itinerary-timeline strong,
html.travelnet-dark .my-trip-itinerary-timeline em,
html.travelnet-dark .my-trip-hotel-stay-grid strong,
html.travelnet-dark .my-trip-schedule-grid strong,
html.travelnet-dark .my-trip-item-status strong,
html.travelnet-dark .my-trip-detail-panel h3,
html.travelnet-dark .my-trip-detail-panel dd,
html.travelnet-dark .my-trip-advanced-details dd,
html.travelnet-dark .my-trip-management-panel h3,
html.travelnet-dark .my-trips-stat-copy strong,
html.travelnet-dark .my-trips-stat-copy span,
html.travelnet-dark .my-trips-empty h2 {
    color: #f4fff4;
}

html.travelnet-dark .my-trips-hero p,
html.travelnet-dark .my-trips-filter-panel p,
html.travelnet-dark .my-trips-next-focus p,
html.travelnet-dark .my-trips-next-focus-actions small,
html.travelnet-dark .my-trip-title-row em,
html.travelnet-dark .my-trip-meta-row span,
html.travelnet-dark .my-trip-ref,
html.travelnet-dark .my-trip-route-block span,
html.travelnet-dark .my-trip-hotel-block span,
html.travelnet-dark .my-trip-itinerary-timeline small,
html.travelnet-dark .my-trip-schedule-grid > span,
html.travelnet-dark .my-trip-schedule-grid small,
html.travelnet-dark .my-trip-hotel-stay-grid small,
html.travelnet-dark .my-trip-item-status small,
html.travelnet-dark .my-trip-item-foot span,
html.travelnet-dark .my-trip-detail-panel dt,
html.travelnet-dark .my-trip-advanced-details dt,
html.travelnet-dark .my-trip-advanced-details summary,
html.travelnet-dark .my-trip-management-panel p,
html.travelnet-dark .my-trip-management-panel summary small,
html.travelnet-dark .my-trip-cancel-form label,
html.travelnet-dark .my-trip-cancel-state span,
html.travelnet-dark .my-trips-stat-copy small,
html.travelnet-dark .my-trips-empty p {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trips-hero-badge,
html.travelnet-dark .my-trips-stat-icon,
html.travelnet-dark .my-trips-filter-icon,
html.travelnet-dark .my-trip-item-icon,
html.travelnet-dark .my-trip-meta-row span {
    border: 1px solid rgba(142, 230, 138, 0.16);
    background: rgba(20, 49, 27, 0.72);
    color: #8ee68a;
}

html.travelnet-dark .my-trips-stat:hover {
    border-color: rgba(142, 230, 138, 0.34);
    box-shadow:
        0 28px 66px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.travelnet-dark .my-trips-hero-panel {
    border-color: rgba(57, 211, 83, 0.4);
    background:
        radial-gradient(circle at 86% 12%, rgba(255, 255, 255, 0.18), transparent 40%),
        radial-gradient(circle at 90% 66%, rgba(57, 211, 83, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(21, 147, 15, 0.94), rgba(8, 121, 201, 0.74));
}

html.travelnet-dark .my-trips-filter-pill,
html.travelnet-dark .my-trip-summary-action,
html.travelnet-dark .my-trip-progress-details summary {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 23, 20, 0.78);
    color: #edf6ef;
}

html.travelnet-dark .my-trips-search-form label {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trips-search-form input,
html.travelnet-dark .my-trips-search-form select {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 23, 20, 0.78);
    color: #edf6ef;
}

html.travelnet-dark .my-trips-search-form input::placeholder {
    color: rgba(237, 246, 239, 0.52);
}

html.travelnet-dark .my-trips-search-form a {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(8, 23, 20, 0.78);
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trips-filter-pill span {
    border: 1px solid rgba(142, 230, 138, 0.14);
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .my-trips-filter-pill.is-active {
    border-color: rgba(142, 230, 138, 0.38);
    background: linear-gradient(135deg, #15930f, #0f766e);
    color: #fff;
}

html.travelnet-dark .my-trips-filter-pill.is-active span {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

html.travelnet-dark .my-trip-status {
    border-color: rgba(142, 230, 138, 0.2);
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .my-trip-status.is-history {
    border-color: rgba(180, 198, 186, 0.18);
    background: rgba(36, 49, 50, 0.82);
    color: #cddbd0;
}

html.travelnet-dark .my-trip-status.is-current {
    border-color: rgba(255, 196, 87, 0.24);
    background: rgba(86, 62, 14, 0.62);
    color: #ffd98a;
}

html.travelnet-dark .my-trip-status.is-cancelled {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

html.travelnet-dark .my-trip-status.is-payment-pending {
    border-color: rgba(255, 196, 87, 0.24);
    background: rgba(86, 62, 14, 0.62);
    color: #ffd98a;
}

html.travelnet-dark .my-trip-status.is-confirmed {
    border-color: rgba(125, 211, 252, 0.22);
    background: rgba(14, 116, 144, 0.42);
    color: #bae6fd;
}

html.travelnet-dark .my-trip-status.is-supplier-booking-failed,
html.travelnet-dark .my-trip-status.is-payment-failed,
html.travelnet-dark .my-trip-status.is-payment-cancelled,
html.travelnet-dark .my-trip-status.is-needs-agent-review,
html.travelnet-dark .my-trip-status.is-cancellation-requested {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

html.travelnet-dark .my-trip-status.is-preview-sample {
    border-color: rgba(196, 181, 253, 0.22);
    background: rgba(76, 29, 149, 0.44);
    color: #ddd6fe;
}

html.travelnet-dark .my-trip-status.is-travelled {
    border-color: rgba(180, 198, 186, 0.18);
    background: rgba(36, 49, 50, 0.82);
    color: #cddbd0;
}

html.travelnet-dark .my-trip-payment-note {
    border-color: rgba(255, 196, 87, 0.30);
    background: linear-gradient(135deg, rgba(86, 62, 14, 0.74), rgba(82, 45, 14, 0.64));
    color: #ffe2a8;
}

html.travelnet-dark .my-trip-payment-note > .icon {
    color: #ffc457;
}

html.travelnet-dark .my-trip-payment-note small {
    color: #f4ce8b;
}

html.travelnet-dark .my-trip-item,
html.travelnet-dark .my-trip-detail-panel,
html.travelnet-dark .my-trip-advanced-details,
html.travelnet-dark .my-trip-management-panel,
html.travelnet-dark .my-trip-cancel-state {
    border-color: rgba(164, 221, 176, 0.13);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.014)),
        rgba(6, 18, 19, 0.58);
}

html.travelnet-dark .my-trip-itinerary-timeline li,
html.travelnet-dark .my-trip-hotel-stay-grid span {
    border-color: rgba(125, 211, 252, 0.13);
    background:
        linear-gradient(135deg, rgba(14, 116, 144, 0.16), rgba(76, 29, 149, 0.1)),
        rgba(6, 18, 19, 0.58);
}

html.travelnet-dark .my-trip-itinerary-timeline li.is-hotel {
    border-color: rgba(196, 181, 253, 0.14);
    background:
        linear-gradient(135deg, rgba(76, 29, 149, 0.18), rgba(136, 19, 55, 0.08)),
        rgba(6, 18, 19, 0.58);
}

html.travelnet-dark .my-trip-itinerary-timeline li > span {
    background: rgba(14, 116, 144, 0.42);
    color: #bae6fd;
}

html.travelnet-dark .my-trip-itinerary-timeline li.is-hotel > span {
    background: rgba(76, 29, 149, 0.44);
    color: #ddd6fe;
}

html.travelnet-dark .my-trip-hotel-room-line {
    color: #ddd6fe;
}

html.travelnet-dark .my-trip-schedule-grid .my-trip-schedule-pending {
    border-color: rgba(142, 230, 138, 0.14);
    background: rgba(57, 211, 83, 0.065);
}

html.travelnet-dark .my-trip-item {
    background:
        linear-gradient(90deg, rgba(57, 211, 83, 0.09), rgba(11, 77, 140, 0.07)),
        rgba(6, 18, 19, 0.62);
}

html.travelnet-dark .my-trip-item-foot {
    border-color: rgba(164, 221, 176, 0.1);
}

html.travelnet-dark .my-trip-item-foot strong,
html.travelnet-dark .my-trip-cancel-state strong {
    color: #8ee68a;
}

html.travelnet-dark .my-trip-action-row a,
html.travelnet-dark .my-trip-code-with-copy button {
    border-color: rgba(125, 211, 252, 0.2);
    background: rgba(6, 18, 19, 0.62);
    color: #bae6fd;
}

html.travelnet-dark .my-trip-action-row a:first-child {
    border-color: rgba(196, 181, 253, 0.24);
    background: linear-gradient(135deg, #0e7490, #7c3aed);
    color: #fff;
}

html.travelnet-dark .my-trip-action-row .is-disabled {
    border-color: rgba(180, 198, 186, 0.12);
    background: rgba(36, 49, 50, 0.44);
    color: rgba(237, 246, 239, 0.48);
}

html.travelnet-dark .my-trip-support-note {
    border-color: rgba(255, 196, 87, 0.2);
    background: rgba(86, 62, 14, 0.28);
}

html.travelnet-dark .my-trip-support-note strong {
    color: #ffd98a;
}

html.travelnet-dark .my-trip-support-note span {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trips-preview-banner {
    border-color: rgba(251, 191, 36, 0.2);
    background:
        linear-gradient(180deg, rgba(120, 53, 15, 0.38), rgba(7, 16, 12, 0.9)),
        rgba(9, 22, 22, 0.84);
}

html.travelnet-dark .my-trips-preview-banner strong,
html.travelnet-dark .my-trips-preview-banner span {
    color: #fde68a;
}

html.travelnet-dark .my-trips-next-focus-actions a {
    border-color: rgba(125, 211, 252, 0.2);
    background: rgba(6, 18, 19, 0.62);
    color: #bae6fd;
}

html.travelnet-dark .my-trips-next-focus-actions a:first-of-type {
    border-color: rgba(125, 211, 252, 0.3);
    background: linear-gradient(135deg, #0e7490, #7c3aed);
    color: #fff;
}

html.travelnet-dark .my-trip-management-panel summary span {
    border-color: rgba(255, 139, 132, 0.24);
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

html.travelnet-dark .my-trip-passenger-list li,
html.travelnet-dark .my-trip-timeline li {
    border-color: rgba(164, 221, 176, 0.12);
    background: rgba(6, 18, 19, 0.54);
}

html.travelnet-dark .my-trip-passenger-list strong,
html.travelnet-dark .my-trip-timeline strong {
    color: #f4fff4;
}

html.travelnet-dark .my-trip-passenger-list span,
html.travelnet-dark .my-trip-detail-note {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .my-trip-timeline li > span {
    background: rgba(36, 49, 50, 0.82);
    color: #cddbd0;
}

html.travelnet-dark .my-trip-timeline li.is-done > span {
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .my-trip-cancel-form textarea {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(7, 16, 12, 0.76);
    color: #edf6ef;
    color-scheme: dark;
}

html.travelnet-dark .my-trip-cancel-button {
    color: #ffb4b4;
    border-color: rgba(255, 139, 132, 0.5);
}

html.travelnet-dark .my-trip-cancel-button:hover {
    background: rgba(239, 68, 68, 0.1);
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.08), 0 18px 32px rgba(0, 0, 0, 0.22);
}

html.travelnet-dark .my-trips-cancel-notice {
    border-color: rgba(126, 230, 132, 0.16);
    background: linear-gradient(180deg, rgba(15, 31, 23, 0.96), rgba(7, 16, 12, 0.94));
}

html.travelnet-dark .my-trips-cancel-notice.is-warning {
    border-color: rgba(255, 139, 132, 0.24);
    background: linear-gradient(180deg, rgba(69, 23, 20, 0.52), rgba(7, 16, 12, 0.94));
}

html.travelnet-dark .my-trips-cancel-notice strong {
    color: #edf6ef;
}

html.travelnet-dark .my-trips-cancel-notice span {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .admin-booking-row,
html.travelnet-dark .admin-booking-detail-grid section {
    border-color: rgba(164, 221, 176, 0.13);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.014)),
        rgba(6, 18, 19, 0.58);
}

html.travelnet-dark .admin-booking-table-head,
html.travelnet-dark .admin-booking-row summary small,
html.travelnet-dark .admin-booking-detail-grid dt {
    color: rgba(237, 246, 239, 0.72);
}

html.travelnet-dark .admin-booking-row summary span,
html.travelnet-dark .admin-booking-detail-grid h2,
html.travelnet-dark .admin-booking-detail-grid dd {
    color: #f4fff4;
}

html.travelnet-dark .admin-booking-status {
    background: rgba(86, 62, 14, 0.62);
    color: #ffd98a;
}

html.travelnet-dark .admin-booking-status.is-confirmed {
    background: rgba(20, 49, 27, 0.82);
    color: #8ee68a;
}

html.travelnet-dark .admin-booking-status.is-failed,
html.travelnet-dark .admin-booking-status.is-cancelled {
    background: rgba(69, 23, 20, 0.58);
    color: #ffb7b2;
}

@media (max-width: 1120px) {
    .my-trips-summary-grid,
    .my-trip-expanded-grid,
    .admin-booking-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .my-trips-table-head {
        display: none;
    }

    .admin-booking-table-head {
        display: none;
    }

    .admin-booking-row summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .my-trip-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .my-trip-hotel-stay-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0 20px 18px;
    }

    .my-trip-schedule-grid {
        padding: 0 20px 18px;
    }

    .my-trip-item-status {
        justify-items: start;
        padding: 0 20px 18px;
    }
}

@media (max-width: 920px) {
    .my-trips-hero,
    .my-trips-filter-panel,
    .my-trips-next-focus,
    .my-trip-card-summary,
    .my-trip-cancel-form {
        grid-template-columns: 1fr;
    }

    .my-trips-route-art,
    .my-trips-hero::after {
        display: none;
    }

    .my-trips-filter-groups,
    .my-trips-filter-row,
    .my-trips-next-focus-actions,
    .my-trip-summary-side,
    .my-trip-ref {
        justify-items: start;
        justify-content: flex-start;
        text-align: left;
    }

    .my-trip-summary-side {
        flex-wrap: wrap;
    }

    .my-trips-search-form {
        grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) auto;
    }

    .my-trips-search-form a {
        grid-column: 1 / -1;
        width: max-content;
    }

    .my-trips-next-focus-actions small {
        text-align: left;
    }
}

@media (max-width: 680px) {
    .my-trips-page {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .my-trips-hero,
    .my-trips-filter-panel,
    .my-trips-preview-banner,
    .my-trips-next-focus,
    .my-trip-card,
    .my-trips-empty,
    .my-trips-stat {
        border-radius: 16px;
    }

    .my-trips-hero,
    .my-trip-card-summary,
    .my-trip-card-body,
    .my-trips-preview-banner,
    .my-trips-next-focus,
    .my-trips-filter-panel {
        padding-left: 16px;
        padding-right: 16px;
    }

    .my-trips-summary-grid,
    .my-trip-expanded-grid,
    .my-trip-itinerary-timeline,
    .my-trip-hotel-stay-grid,
    .my-trip-schedule-grid,
    .admin-booking-detail-grid,
    .admin-booking-row summary {
        grid-template-columns: 1fr;
    }

    .my-trips-stat {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 18px;
    }

    .my-trips-stat-icon {
        width: 46px;
        height: 46px;
    }

    .my-trip-route-block {
        grid-template-columns: minmax(0, 1fr);
    }

    .my-trip-route-arrow {
        transform: rotate(90deg);
    }

    .my-trip-schedule-grid {
        padding: 0 18px 18px;
    }

    .my-trip-duration {
        justify-items: start;
        text-align: left;
    }

    .my-trip-duration::before,
    .my-trip-duration::after {
        display: none;
    }

    .my-trip-schedule-grid .my-trip-schedule-pending {
        grid-column: auto;
        align-items: flex-start;
        flex-direction: column;
    }

    .my-trip-item-foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-trip-item-foot strong {
        white-space: normal;
    }

    .my-trip-detail-panel dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .my-trip-advanced-details dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .my-trips-next-focus-actions a,
    .my-trips-search-form button,
    .my-trips-search-form a,
    .my-trip-action-row a,
    .my-trip-action-row span,
    .my-trip-management-panel summary span {
        width: 100%;
        justify-content: center;
    }

    .my-trips-search-form {
        grid-template-columns: 1fr;
    }

    .my-trip-cancel-button {
        width: 100%;
    }
}

/* My Trips reference dashboard shell. */
body.page-trips .site-main {
    max-width: none;
    padding: 0 clamp(12px, 2vw, 26px) 40px;
}

body.page-trips .site-header {
    grid-template-columns: 238px 1fr minmax(280px, auto);
}

body.page-trips .site-header .brand {
    visibility: visible;
    opacity: 1;
}

.my-trips-page {
    margin-top: 0;
    padding-top: 22px;
}

.my-trips-dashboard-shell {
    display: grid;
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 22px;
    width: min(100%, 1600px);
    margin: 0 auto;
    align-items: start;
}

.my-trips-account-rail {
    position: sticky;
    top: 94px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 22px;
    min-height: calc(100vh - 118px);
    padding: 22px 16px;
    border: 1px solid rgba(126, 230, 132, 0.14);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(5, 20, 22, 0.96), rgba(2, 10, 12, 0.98)),
        radial-gradient(circle at 10% 0%, rgba(57, 211, 83, 0.12), transparent 34%);
    box-shadow:
        0 26px 72px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.my-trips-rail-brand {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: #f4fff4;
    text-decoration: none;
}

.my-trips-rail-brand > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #39d353;
}

.my-trips-rail-brand .icon {
    width: 30px;
    height: 30px;
}

.my-trips-rail-brand strong {
    display: block;
    color: #f4fff4;
    font-size: 29px;
    line-height: 0.9;
}

.my-trips-rail-brand small {
    display: block;
    margin-top: 4px;
    color: rgba(237, 246, 239, 0.72);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.my-trips-rail-nav {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
}

.my-trips-rail-nav > span {
    margin: 18px 8px 7px;
    color: rgba(237, 246, 239, 0.52);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.my-trips-rail-nav a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: rgba(237, 246, 239, 0.84);
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
}

.my-trips-rail-nav a:hover,
.my-trips-rail-nav a:focus-visible,
.my-trips-rail-nav a.is-active {
    border-color: rgba(57, 211, 83, 0.24);
    background: linear-gradient(135deg, rgba(25, 191, 83, 0.34), rgba(8, 68, 36, 0.52));
    color: #f4fff4;
}

.my-trips-rail-nav .icon {
    width: 18px;
    height: 18px;
    color: #dfffe0;
}

.my-trips-rail-nav a.is-active .icon,
.my-trips-rail-nav a:hover .icon,
.my-trips-rail-nav a:focus-visible .icon {
    color: #39d353;
}

.my-trips-rail-nav strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.my-trips-rail-nav em {
    display: inline-grid;
    place-items: center;
    min-width: 27px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(20, 83, 45, 0.72);
    color: #8ee68a;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.my-trips-rail-promo {
    display: grid;
    gap: 12px;
    min-height: 210px;
    align-content: end;
    padding: 18px;
    overflow: hidden;
    border: 1px solid rgba(57, 211, 83, 0.22);
    border-radius: 8px;
    background:
        radial-gradient(circle at 88% 62%, rgba(57, 211, 83, 0.36), transparent 30%),
        radial-gradient(circle at 72% 88%, rgba(125, 211, 252, 0.20), transparent 26%),
        linear-gradient(180deg, rgba(9, 37, 28, 0.72), rgba(2, 12, 12, 0.94));
}

.my-trips-rail-promo strong {
    color: #f4fff4;
    font-size: 19px;
    line-height: 1.22;
}

.my-trips-rail-promo strong::first-line {
    color: #f4fff4;
}

.my-trips-rail-promo small {
    max-width: 150px;
    color: rgba(237, 246, 239, 0.72);
    font-size: 12px;
    font-weight: 780;
    line-height: 1.4;
}

.my-trips-rail-promo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #15930f, #39d353);
    color: #f4fff4;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
}

.my-trips-dashboard-shell .my-trips-shell {
    gap: 16px;
    min-width: 0;
}

.my-trips-dashboard-shell .my-trips-hero,
.my-trips-dashboard-shell .my-trips-filter-panel,
.my-trips-dashboard-shell .my-trip-card,
.my-trips-dashboard-shell .my-trips-cancel-notice,
.my-trips-dashboard-shell .my-trips-empty,
.my-trips-dashboard-shell .my-trips-stat {
    border-radius: 8px;
}

.my-trips-dashboard-shell .my-trips-hero {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
    min-height: 250px;
    padding: 46px 38px;
}

.my-trips-dashboard-shell .my-trips-hero::before {
    inset: 36px 30% auto 31%;
    height: 130px;
    opacity: 0.18;
}

.my-trips-dashboard-shell .my-trips-hero::after {
    right: 31%;
    top: 42%;
    width: 300px;
    height: 84px;
    border-top-color: rgba(57, 211, 83, 0.68);
    transform: rotate(-11deg);
}

.my-trips-dashboard-shell .my-trips-hero h1 {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 20px 0 14px;
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 1.04;
}

.my-trips-dashboard-shell .my-trips-hero h1 .icon {
    width: 27px;
    height: 27px;
    color: #39d353;
}

.my-trips-dashboard-shell .my-trips-hero p {
    max-width: 540px;
    font-size: 16px;
}

.my-trips-dashboard-shell .my-trips-route-art {
    top: 96px;
    right: 35%;
    width: 62px;
    height: 62px;
    color: #39d353;
    transform: rotate(20deg);
}

.my-trips-dashboard-shell .my-trips-route-art .icon {
    width: 62px;
    height: 62px;
}

.my-trips-dashboard-shell .my-trips-hero-panel {
    min-height: 178px;
    border-radius: 8px;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.16), transparent 36%),
        linear-gradient(135deg, rgba(21, 147, 15, 0.95), rgba(8, 121, 201, 0.76));
}

.my-trips-dashboard-shell .my-trips-hero-panel span {
    font-size: clamp(50px, 5vw, 68px);
}

.my-trips-dashboard-shell .my-trips-summary-grid {
    gap: 14px;
}

.my-trips-dashboard-shell .my-trips-stat {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 118px;
    padding: 22px;
}

.my-trips-dashboard-shell .my-trips-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
}

.my-trips-dashboard-shell .my-trips-stat-copy strong {
    font-size: 31px;
}

.my-trips-dashboard-shell .my-trips-stat-copy span {
    font-size: 19px;
}

.my-trips-dashboard-shell .my-trips-filter-panel {
    grid-template-columns: minmax(260px, 0.44fr) minmax(0, 0.56fr);
    padding: 22px;
}

.my-trips-dashboard-shell .my-trips-filter-icon {
    border-radius: 8px;
}

.my-trips-dashboard-shell .my-trips-filter-pill {
    min-height: 36px;
    padding: 0 13px;
    border-radius: 999px;
}

.my-trips-dashboard-shell .my-trips-table-head {
    grid-template-columns: 0.7fr 1.4fr 1fr 1fr 1.1fr 1.1fr 0.9fr 0.9fr 0.78fr;
    padding: 0 18px 2px;
}

.my-trips-dashboard-shell .my-trip-card-summary {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 18px;
    padding: 18px 22px;
}

.my-trips-dashboard-shell .my-trip-title-row {
    gap: 10px;
}

.my-trips-dashboard-shell .my-trip-title-row strong {
    font-size: clamp(28px, 2.7vw, 39px);
}

.my-trips-dashboard-shell .my-trip-summary-side {
    display: grid;
    grid-template-columns: minmax(176px, 1fr) minmax(260px, 1.45fr) minmax(126px, 0.72fr) minmax(118px, auto);
    gap: 16px;
    align-items: center;
}

.my-trips-dashboard-shell .my-trip-ref {
    display: grid;
    gap: 5px;
    justify-items: start;
    min-width: 0;
    text-align: left;
}

.my-trips-dashboard-shell .my-trip-ref strong {
    font-size: 13px;
    line-height: 1.22;
    overflow-wrap: anywhere;
    white-space: normal;
}

.my-trips-dashboard-shell .my-trip-ref:nth-child(3) strong {
    white-space: nowrap;
}

.my-trips-dashboard-shell .my-trip-summary-action {
    min-height: 44px;
    border-radius: 8px;
}

.my-trips-dashboard-shell .my-trip-card-body {
    padding: 0 22px 22px;
}

.my-trips-dashboard-shell {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 1240px);
}

.my-trips-account-rail {
    display: none;
}

.my-trips-dashboard-shell .my-trips-shell {
    gap: 12px;
}

.my-trips-dashboard-shell .my-trips-hero {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 190px);
    min-height: 0;
    padding: 22px 24px;
    border-color: rgba(14, 165, 233, 0.16);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(240, 249, 255, 0.76) 54%, rgba(253, 242, 248, 0.72)),
        #fff;
    box-shadow: 0 16px 38px rgba(23, 42, 64, 0.08);
}

.my-trips-dashboard-shell .my-trips-hero::before,
.my-trips-dashboard-shell .my-trips-hero::after,
.my-trips-dashboard-shell .my-trips-route-art {
    display: none;
}

.my-trips-dashboard-shell .my-trips-hero h1 {
    margin: 8px 0 7px;
    font-size: clamp(30px, 3vw, 38px);
}

.my-trips-dashboard-shell .my-trips-hero h1 .icon {
    width: 22px;
    height: 22px;
    color: #0ea5e9;
}

.my-trips-dashboard-shell .my-trips-hero p {
    max-width: 680px;
    font-size: 14px;
}

.my-trips-dashboard-shell .my-trips-hero-panel {
    min-height: 0;
    padding: 16px;
    border-color: rgba(14, 165, 233, 0.18);
    background: rgba(255, 255, 255, 0.82);
    color: var(--ink);
    box-shadow: none;
}

.my-trips-dashboard-shell .my-trips-hero-panel span {
    color: #0ea5e9;
    font-size: 34px;
}

.my-trips-dashboard-shell .my-trips-hero-panel strong {
    font-size: 15px;
}

.my-trips-dashboard-shell .my-trips-hero-panel small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.my-trips-dashboard-shell .my-trips-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.my-trips-dashboard-shell .my-trips-stat {
    grid-template-columns: 40px minmax(0, 1fr);
    min-height: 0;
    padding: 13px 14px;
    box-shadow: none;
}

.my-trips-dashboard-shell .my-trips-stat:hover {
    transform: none;
    box-shadow: 0 12px 28px rgba(23, 42, 64, 0.08);
}

.my-trips-dashboard-shell .my-trips-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
}

.my-trips-dashboard-shell .my-trips-stat-icon .icon {
    width: 20px;
    height: 20px;
}

.my-trips-dashboard-shell .my-trips-stat-copy strong {
    font-size: 22px;
}

.my-trips-dashboard-shell .my-trips-stat-copy span {
    font-size: 13px;
}

.my-trips-dashboard-shell .my-trips-stat-copy small {
    font-size: 11px;
}

.my-trips-results-shell {
    display: grid;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    min-width: 0;
}

.my-trips-dashboard-shell .my-trips-filter-heading {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.my-trips-dashboard-shell .my-trips-filter-icon {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(216, 180, 254, 0.24);
    border-radius: 8px;
    background: rgba(126, 34, 206, 0.22);
    color: #f0d9ff;
}

.my-trips-dashboard-shell .my-trips-filter-icon .icon {
    width: 18px;
    height: 18px;
}

.my-trips-dashboard-shell .my-trips-filter-heading h2 {
    margin: 0;
    margin-bottom: 2px;
    color: #f8fbff;
    font-size: 18px;
}

.my-trips-dashboard-shell .my-trips-filter-heading p {
    margin: 0;
    color: rgba(226, 232, 240, 0.74);
    font-size: 12px;
    font-weight: 780;
}

.my-trips-dashboard-shell .my-trips-search-form {
    grid-template-columns: 1fr;
    gap: 10px;
}

.my-trips-filter-side {
    position: sticky;
    top: 94px;
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(3, 13, 10, 0.98), rgba(8, 31, 20, 0.96) 52%, rgba(6, 21, 16, 0.98)),
        #030d0a;
    box-shadow:
        0 24px 54px rgba(15, 23, 42, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.my-trips-filter-side::before {
    content: "";
    display: block;
    height: 3px;
    margin: -16px -16px 0;
    background: linear-gradient(90deg, #35d467, #16a34a, #7ddf8a);
}

.my-trips-results-main {
    min-width: 0;
}

.my-trips-filter-block {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding-top: 14px;
    border-top: 1px solid rgba(226, 232, 240, 0.1);
}

.my-trips-filter-block > strong {
    color: rgba(226, 232, 240, 0.74);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.my-trips-dashboard-shell .my-trips-filter-side .my-trips-filter-row {
    justify-content: flex-start;
}

.my-trips-dashboard-shell .my-trips-filter-side .my-trips-search-form button,
.my-trips-dashboard-shell .my-trips-filter-side .my-trips-search-form a {
    width: 100%;
}

.my-trips-filter-side .my-trips-search-form label {
    color: rgba(226, 232, 240, 0.74);
}

.my-trips-filter-side .my-trips-search-form input,
.my-trips-filter-side .my-trips-search-form select {
    min-height: 44px;
    border-color: rgba(150, 255, 174, 0.14);
    background: rgba(3, 13, 10, 0.62);
    color: #f8fbff;
}

.my-trips-filter-side .my-trips-search-form input:focus,
.my-trips-filter-side .my-trips-search-form select:focus {
    border-color: rgba(53, 212, 103, 0.72);
    box-shadow: 0 0 0 3px rgba(53, 212, 103, 0.14);
    outline: 0;
}

.my-trips-filter-side .my-trips-search-form input::placeholder {
    color: rgba(203, 213, 225, 0.62);
}

.my-trips-filter-side .my-trips-search-form button {
    min-height: 44px;
    border-color: rgba(53, 212, 103, 0.42);
    background: linear-gradient(135deg, #166d35, #0b3424);
    box-shadow: 0 16px 32px rgba(22, 109, 53, 0.22);
}

.my-trips-filter-side .my-trips-search-form a {
    min-height: 38px;
    border-color: rgba(226, 232, 240, 0.14);
    background: rgba(3, 13, 10, 0.62);
    color: rgba(226, 232, 240, 0.86);
}

.my-trips-filter-side .my-trips-filter-pill {
    justify-content: space-between;
    width: 100%;
    min-height: 38px;
    border-color: rgba(226, 232, 240, 0.12);
    border-radius: 8px;
    background: rgba(3, 13, 10, 0.58);
    color: rgba(248, 251, 255, 0.9);
}

.my-trips-filter-side .my-trips-filter-pill:hover,
.my-trips-filter-side .my-trips-filter-pill:focus-visible {
    border-color: rgba(53, 212, 103, 0.34);
    background: rgba(22, 109, 53, 0.18);
    color: #f8fbff;
    outline: 0;
}

.my-trips-filter-side .my-trips-filter-pill span {
    background: rgba(53, 212, 103, 0.14);
    color: #dcffe2;
}

.my-trips-dashboard-shell .my-trips-filter-pill.is-active {
    border-color: rgba(53, 212, 103, 0.32);
    background: linear-gradient(135deg, #166d35, #0b3424);
    box-shadow: 0 10px 22px rgba(22, 109, 53, 0.16);
}

.my-trips-filter-side .my-trips-filter-pill.is-active {
    border-color: rgba(255, 255, 255, 0.26);
    color: #fff;
    box-shadow:
        0 12px 26px rgba(22, 109, 53, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.my-trips-filter-side .my-trips-filter-pill.is-active span {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.my-trips-dashboard-shell .my-trip-card-summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 18px 20px;
}

.my-trips-dashboard-shell .my-trip-summary-main {
    gap: 9px;
}

.my-trips-dashboard-shell .my-trip-title-row {
    align-items: center;
    gap: 9px;
}

.my-trips-dashboard-shell .my-trip-title-row strong {
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.08;
}

.my-trips-dashboard-shell .my-trip-title-row > span {
    color: #0ea5e9;
}

.my-trips-dashboard-shell .my-trip-title-row em {
    flex-basis: 100%;
    font-size: 13px;
    font-weight: 760;
}

.my-trips-dashboard-shell .my-trip-meta-row {
    gap: 7px;
}

.my-trips-dashboard-shell .my-trip-meta-row span {
    min-height: 30px;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.72);
    font-size: 12px;
}

.my-trips-dashboard-shell .my-trip-meta-row .icon {
    color: #8b5cf6;
}

.my-trips-dashboard-shell .my-trip-summary-side {
    display: grid;
    grid-template-columns: minmax(118px, auto) auto;
    gap: 12px;
    justify-content: end;
}

.my-trips-dashboard-shell .my-trip-ref {
    min-width: 0;
    justify-items: end;
    text-align: right;
}

.my-trips-dashboard-shell .my-trip-ref strong {
    font-size: 16px;
}

.my-trips-dashboard-shell .my-trip-summary-action {
    min-height: 42px;
    border-color: rgba(14, 165, 233, 0.28);
    background: linear-gradient(135deg, #0ea5e9, #8b5cf6);
    color: #fff;
}

.my-trips-dashboard-shell .my-trip-card-body {
    gap: 12px;
    padding: 0 20px 20px;
}

.my-trips-dashboard-shell .my-trip-item {
    grid-template-columns: minmax(190px, 0.3fr) minmax(260px, 1fr) minmax(140px, 0.2fr);
    border-color: rgba(14, 165, 233, 0.14);
    background:
        linear-gradient(90deg, rgba(240, 249, 255, 0.7), rgba(255, 255, 255, 0.96)),
        #fff;
}

.my-trips-dashboard-shell .my-trip-route-arrow {
    background: linear-gradient(135deg, #0ea5e9, #8b5cf6);
}

.my-trips-dashboard-shell .my-trip-item-icon {
    background: rgba(168, 85, 247, 0.1);
    color: #8b5cf6;
}

.my-trips-dashboard-shell .my-trip-schedule-grid .my-trip-schedule-pending {
    border-color: rgba(14, 165, 233, 0.14);
    background: rgba(240, 249, 255, 0.66);
}

.my-trips-dashboard-shell .my-trip-item,
.my-trips-dashboard-shell .my-trip-detail-panel,
.my-trips-dashboard-shell .my-trip-advanced-details,
.my-trips-dashboard-shell .my-trip-management-panel,
.my-trips-dashboard-shell .my-trip-cancel-state,
.my-trips-dashboard-shell .my-trip-schedule-grid .my-trip-schedule-pending,
.my-trips-dashboard-shell .my-trip-passenger-list li,
.my-trips-dashboard-shell .my-trip-timeline li {
    border-radius: 8px;
}

.my-trips-dashboard-shell .my-trip-item {
    grid-template-columns: minmax(220px, 0.34fr) minmax(300px, 1fr) minmax(150px, 0.22fr);
}

.my-trips-dashboard-shell .my-trip-route-arrow,
.my-trips-dashboard-shell .my-trip-status,
.my-trips-dashboard-shell .my-trip-meta-row span,
.my-trips-dashboard-shell .my-trip-confirmed-badge {
    border-radius: 999px;
}

.my-trips-dashboard-shell .my-trip-expanded-grid {
    gap: 14px;
}

html.travelnet-dark .my-trips-account-rail {
    border-color: rgba(164, 221, 176, 0.14);
}

html.travelnet-dark .my-trips-dashboard-shell .my-trips-hero,
html.travelnet-dark .my-trips-dashboard-shell .my-trips-filter-panel,
html.travelnet-dark .my-trips-dashboard-shell .my-trips-preview-banner,
html.travelnet-dark .my-trips-dashboard-shell .my-trips-next-focus,
html.travelnet-dark .my-trips-dashboard-shell .my-trip-card,
html.travelnet-dark .my-trips-dashboard-shell .my-trips-empty,
html.travelnet-dark .my-trips-dashboard-shell .my-trips-stat {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.016)),
        rgba(8, 22, 21, 0.84);
}

html.travelnet-dark .my-trips-dashboard-shell .my-trips-hero {
    background:
        radial-gradient(circle at 96% 46%, rgba(57, 211, 83, 0.16), transparent 26%),
        radial-gradient(circle at 9% 88%, rgba(57, 211, 83, 0.12), transparent 25%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.056), rgba(255, 255, 255, 0.015)),
        rgba(8, 22, 21, 0.88);
}

@media (max-width: 1280px) {
    .my-trips-dashboard-shell {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .my-trips-dashboard-shell .my-trip-card-summary {
        grid-template-columns: 1fr;
    }

    .my-trips-dashboard-shell .my-trip-summary-side {
        justify-content: start;
    }
}

@media (max-width: 1120px) {
    .my-trips-dashboard-shell {
        grid-template-columns: 1fr;
    }

    .my-trips-account-rail {
        position: relative;
        top: auto;
        min-height: 0;
    }

    .my-trips-rail-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .my-trips-rail-nav > span {
        grid-column: 1 / -1;
    }

    .my-trips-rail-promo {
        min-height: 150px;
    }
}

@media (max-width: 920px) {
    .my-trips-dashboard-shell .my-trips-hero,
    .my-trips-dashboard-shell .my-trips-filter-panel {
        grid-template-columns: 1fr;
    }

    .my-trips-results-shell,
    .my-trips-dashboard-shell .my-trips-search-form {
        grid-template-columns: 1fr;
    }

    .my-trips-filter-side {
        position: static;
    }

    .my-trips-dashboard-shell .my-trip-summary-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body.page-trips .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        justify-items: stretch;
        gap: 10px;
        min-height: 64px;
        padding: 8px 14px;
    }

    body.page-trips .site-header .brand {
        display: inline-flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        padding: 4px 6px;
        border-radius: 12px;
        background: #ffffff;
    }

    body.page-trips .site-header .brand img {
        width: 142px;
        max-width: 100%;
        max-height: 38px;
    }

    body.page-trips .site-header .primary-nav {
        display: none;
    }

    body.page-trips .site-header .utility-nav {
        gap: 4px;
        justify-self: end;
    }

    body.page-trips .site-header .utility-nav .travelbot-link span,
    body.page-trips .site-header .utility-nav .account-menu-toggle span {
        display: none;
    }

    body.page-trips .site-header .utility-nav .travelbot-link,
    body.page-trips .site-header .utility-nav .theme-toggle,
    body.page-trips .site-header .utility-nav .account-menu-toggle {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        padding: 0;
    }

    html:not(.travelnet-dark) body.page-trips .site-header {
        border-bottom: 1px solid #e6edf5;
        background: #ffffff;
        box-shadow: 0 4px 18px rgba(28, 49, 75, 0.07);
    }

    html:not(.travelnet-dark) body.page-trips .site-header .utility-nav a,
    html:not(.travelnet-dark) body.page-trips .site-header .utility-nav button {
        color: #13243a;
    }

    html.travelnet-dark body.page-trips .site-header .brand {
        background: rgba(9, 34, 20, 0.78);
    }

    html.travelnet-dark body.page-trips .site-header .utility-nav a,
    html.travelnet-dark body.page-trips .site-header .utility-nav button {
        color: #d9f8d8;
    }

    body.page-trips .site-main {
        padding-left: 14px;
        padding-right: 14px;
    }

    .my-trips-dashboard-shell {
        width: 100%;
    }

    .my-trips-dashboard-shell .my-trips-page,
    .my-trips-dashboard-shell .my-trips-shell {
        width: 100%;
    }

    .my-trips-dashboard-shell .my-trips-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .my-trips-dashboard-shell .my-trips-stat {
        grid-template-columns: 36px minmax(0, 1fr);
        align-items: center;
        padding: 14px;
    }

    .my-trips-dashboard-shell .my-trips-stat-copy span,
    .my-trips-dashboard-shell .my-trips-stat-copy small {
        overflow-wrap: anywhere;
    }

    .my-trips-rail-nav,
    .my-trips-dashboard-shell .my-trip-summary-side {
        grid-template-columns: 1fr;
    }

    .my-trips-dashboard-shell .my-trips-hero {
        min-height: 0;
        padding: 28px 20px;
    }

    .my-trips-dashboard-shell .my-trips-hero h1 {
        font-size: 36px;
    }
}

@media (max-width: 340px) {
    .my-trips-dashboard-shell .my-trips-summary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .admin-console-page .admin-console-mobile-brand .admin-console-brand-mark {
        display: none;
    }

    .admin-console-page .admin-console-mobile-logo {
        display: block;
        flex: 0 1 auto;
        width: 132px;
        max-width: min(42vw, 150px);
        height: auto;
        max-height: 34px;
        object-fit: contain;
    }

    html.travelnet-dark .admin-console-page .admin-console-mobile-logo {
        filter: saturate(1.08) contrast(1.06) drop-shadow(0 0 8px rgba(119, 240, 132, 0.16));
    }
}

/* Keep the shared mobile header consistent after page-specific breakpoint rules. */
@media (max-width: 720px) {
    body.page-trips:not(.has-admin-console) .site-header .brand {
        padding: 3px 0;
        border-radius: 0;
        background: transparent;
    }

    body.page-trips:not(.has-admin-console) .site-header .utility-nav {
        gap: 6px;
    }

    body.page-trips:not(.has-admin-console) .site-header .utility-nav .travelbot-link,
    body.page-trips:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle {
        width: auto;
        min-width: 0;
        height: auto;
        min-height: 40px;
        padding: 0 10px;
        border: 1px solid rgba(142, 230, 138, 0.28);
        border-radius: 12px;
        background: rgba(16, 54, 30, 0.78);
    }

    body.page-trips:not(.has-admin-console) .site-header .utility-nav .travelbot-link span,
    body.page-trips:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle span {
        display: inline;
    }

    .results-mobile-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 48px;
        padding: 0 16px;
        border: 1px solid rgba(142, 230, 138, 0.34);
        border-radius: 14px;
        background: rgba(9, 48, 25, 0.9);
        color: #9bf49b;
        font-size: 14px;
        font-weight: 900;
        cursor: pointer;
    }

    .results-mobile-filter-toggle strong {
        display: grid;
        place-items: center;
        min-width: 21px;
        height: 21px;
        padding: 0 5px;
        border-radius: 999px;
        background: #8ee68a;
        color: #082114;
        font-size: 11px;
    }

    .results-layout > .flight-filter-card,
    .hotel-results-layout > .hotel-filter-card {
        display: none;
    }

    .results-layout > .flight-filter-card.is-mobile-open,
    .hotel-results-layout > .hotel-filter-card.is-mobile-open {
        display: grid;
    }
}

@media (min-width: 721px) {
    .results-mobile-filter-toggle {
        display: none;
    }
}

@media (max-width: 720px) {
    .flight-hero .search-card-flight.is-oneway .route-grid .field-card:nth-of-type(3) {
        grid-column: 1;
    }

    .flight-hero .search-card-flight.is-oneway .oneway-date-placeholder {
        display: none;
    }
}

@media (min-width: 721px) {
    .flight-hero .search-card-flight.is-oneway .route-grid .field-card:nth-of-type(3) {
        grid-column: 1 / 2;
    }
}

/* Phone route fields must stack: a compact swap control never consumes a field column. */
@media (max-width: 720px) {
    body:not(.has-admin-console) .flight-hero .route-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    body:not(.has-admin-console) .flight-hero .route-grid > .airport-field-card {
        width: 100%;
        min-width: 0;
    }

    body:not(.has-admin-console) .flight-hero .route-grid > .airport-field-card:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    body:not(.has-admin-console) .flight-hero .route-grid > .swap-button {
        grid-column: 1;
        grid-row: 2;
        align-self: center;
        justify-self: center;
        width: 40px;
        height: 40px;
        margin: 4px 0;
    }

    body:not(.has-admin-console) .flight-hero .route-grid > .swap-button + .airport-field-card {
        grid-column: 1;
        grid-row: 3;
    }

    body:not(.has-admin-console) .flight-hero .airport-field-card > .field-control {
        min-width: 0;
    }

    body:not(.has-admin-console) .flight-hero .airport-field-card > .field-control input {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 14px;
    }

    body:not(.has-admin-console) .flight-hero .flight-advanced-options,
    body:not(.has-admin-console) .flight-hero .flight-advanced-options > .form-grid {
        position: relative;
        overflow: visible;
    }

    body:not(.has-admin-console) .flight-hero .flight-advanced-options {
        z-index: 80;
    }

    body:not(.has-admin-console) .flight-hero .flight-advanced-options > .form-grid {
        z-index: 1;
    }

    body:not(.has-admin-console) .flight-hero .flight-advanced-options .flight-select-field.is-enhanced-select:focus-within {
        z-index: 900;
    }

    body:not(.has-admin-console) .flight-hero .flight-advanced-options .select-suggestions {
        z-index: 1000;
    }

    .travel-date-picker {
        position: fixed;
        top: 50%;
        left: 50%;
        z-index: 1100;
        width: min(320px, calc(100vw - 28px));
        max-height: calc(100dvh - 32px);
        overflow: visible;
        transform: translate(-50%, -50%);
    }

    .travel-date-header {
        grid-template-columns: 32px minmax(0, 1fr) 76px 32px;
        gap: 6px;
    }

    .travel-date-header select {
        min-width: 0;
        font-size: 12px;
    }
}

/* Flight results use the same phone-first rail and card treatment as the search form. */
@media (max-width: 720px) {
    .flight-results-page {
        width: 100%;
        max-width: 100%;
        padding: 14px;
        overflow: hidden;
    }

    .flight-results-page .flight-results-heading {
        padding: 18px;
        border-radius: 18px;
    }

    .flight-results-page .flight-hero-inner {
        display: grid;
        gap: 14px;
        width: 100%;
    }

    .flight-results-page .flight-hero-copy,
    .flight-results-page .flight-summary-line,
    .flight-results-page .flight-summary-line > span {
        min-width: 0;
        max-width: 100%;
    }

    .flight-results-page .flight-results-heading h1 {
        font-size: clamp(29px, 9vw, 36px);
        line-height: 1.04;
    }

    .flight-results-page .flight-results-heading.flight-hero-b4 .flight-summary-line {
        margin-top: 8px;
        overflow-wrap: anywhere;
    }

    .flight-results-page .flight-results-heading.flight-hero-b4 .flight-summary-line {
        display: none;
    }

    .flight-results-page .flight-mobile-summary {
        display: grid;
        gap: 5px;
        min-width: 0;
        margin-top: 8px;
        color: rgba(237, 246, 239, 0.82);
        font-size: 13px;
        font-weight: 800;
        line-height: 1.35;
    }

    .flight-results-page .flight-mobile-route {
        display: flex;
        align-items: flex-start;
        gap: 7px;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .flight-results-page .flight-mobile-route .icon {
        width: 15px;
        height: 15px;
        flex: 0 0 15px;
        margin-top: 1px;
        color: #8ee68a;
    }

    .flight-results-page .flight-mobile-trip-meta {
        padding-left: 22px;
        color: rgba(237, 246, 239, 0.64);
        font-size: 12px;
    }

    .flight-results-page .flight-mobile-trip-meta i {
        padding: 0 3px;
        color: #8ee68a;
        font-style: normal;
    }

    .flight-results-page .hero-modify-btn {
        display: inline-flex;
        justify-content: center;
        width: 100%;
        min-height: 46px;
    }

    .flight-results-page .results-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        width: 100%;
        min-width: 0;
        margin-top: 14px;
    }

    .flight-results-page .results-mobile-filter-toggle {
        justify-content: flex-start;
        min-width: 0;
        box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
    }

    .flight-results-page .results-mobile-filter-toggle strong {
        display: inline-flex;
        align-items: center;
        width: auto;
        min-width: 0;
        height: auto;
        margin-left: auto;
        padding: 4px 8px;
        background: rgba(142, 230, 138, 0.16);
        color: #baf7b5;
        font-size: 11px;
        white-space: nowrap;
    }

    .flight-results-page .results-mobile-filter-chevron {
        display: inline-block;
        width: 9px;
        height: 9px;
        margin: 0 3px 4px 0;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform 160ms ease, margin 160ms ease;
    }

    .flight-results-page .flight-filter-card.is-mobile-open {
        gap: 14px;
        padding: 16px;
        border-radius: 18px;
    }

    .flight-results-page .flight-filter-card.is-mobile-open .flight-filter-form {
        display: grid;
        gap: 12px;
    }

    .flight-results-page .flight-filter-card.is-mobile-open .filter-group {
        display: grid;
        gap: 9px;
    }

    .flight-results-page .sort-bar {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        width: calc(100% + 2px);
        margin: 0 -1px;
        padding: 2px 1px 8px;
        overflow-x: auto;
        overflow-y: hidden;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .flight-results-page .sort-bar::-webkit-scrollbar {
        display: none;
    }

    .flight-results-page .sort-bar > span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .flight-results-page .sort-pill {
        flex: 0 0 auto;
        min-height: 38px;
        padding: 0 13px;
        font-size: 13px;
        white-space: nowrap;
    }

    .flight-results-page .result-stack {
        gap: 14px;
        min-width: 0;
    }

    .flight-results-page .flight-result-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        min-width: 0;
        border-radius: 18px;
    }

    .flight-results-page .flight-result-card::before {
        width: 4px;
        background: linear-gradient(180deg, #8ee68a, #55bf0d 58%, #38bdf8);
    }

    .flight-results-page .flight-card-content {
        gap: 14px;
        padding: 17px 16px 15px 20px;
        overflow: visible;
    }

    .flight-results-page .flight-brand-block {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 11px;
    }

    .flight-results-page .airline-logo-circle,
    .flight-results-page .flight-card-logo {
        width: 58px;
        height: 46px;
        flex: 0 0 58px;
        border-radius: 12px;
    }

    .flight-results-page .airline-logo-circle img,
    .flight-results-page .flight-card-logo img {
        width: 48px;
        max-width: 48px;
        max-height: 30px;
    }

    .flight-results-page .airline-logo-plaque,
    .flight-results-page .airline-logo-plaque-mark {
        width: 48px;
        height: 34px;
    }

    .flight-results-page .airline-logo-plaque-mark img {
        width: 42px;
        max-width: 42px;
        max-height: 32px;
    }

    .flight-results-page .airline-summary {
        gap: 4px;
        padding-top: 0;
    }

    .flight-results-page .airline-title-row {
        gap: 6px;
    }

    .flight-results-page .airline-name {
        font-size: 14px;
        overflow-wrap: anywhere;
    }

    .flight-results-page .standard-badge {
        padding: 4px 7px;
        font-size: 10px;
    }

    .flight-results-page .route-code-line {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
        gap: 4px;
        align-items: start;
    }

    .flight-results-page .route-code-item {
        display: grid;
        gap: 3px;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .flight-results-page .route-code-item:last-child {
        text-align: right;
    }

    .flight-results-page .route-code-item:last-child .route-code-main {
        justify-content: flex-end;
    }

    .flight-results-page .route-code-main b {
        font-size: 25px;
        white-space: nowrap;
    }

    .flight-results-page .route-code-arrow {
        align-self: center;
        justify-self: center;
        font-size: 19px;
    }

    .flight-results-page .route-code-item small {
        display: block;
        width: auto;
        font-size: 11px;
    }

    .flight-results-page .route-description {
        display: none;
    }

    .flight-results-page .flight-card-timeline {
        padding: 12px 11px 8px;
        border-radius: 14px;
    }

    .flight-results-page .journey-summary-row {
        grid-template-columns: 59px minmax(0, 1fr) 59px;
        gap: 7px;
        align-items: start;
    }

    .flight-results-page .journey-time-block strong {
        font-size: 15px;
        white-space: nowrap;
    }

    .flight-results-page .journey-time-block span {
        font-size: 11px;
    }

    .flight-results-page .flight-timeline {
        min-height: 62px;
        margin: 0;
    }

    .flight-results-page .duration-pill {
        max-width: 100%;
        padding: 3px 7px;
        font-size: 10px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .flight-results-page .timeline-stop-labels {
        top: 30px;
        gap: 12px;
        font-size: 10px;
    }

    .flight-results-page .flight-timeline p {
        bottom: 0;
        font-size: 11px;
    }

    .flight-results-page .benefit-chips {
        gap: 6px;
    }

    .flight-results-page .benefit-chips span {
        padding: 4px 7px;
        font-size: 11px;
    }

    .flight-results-page .flight-details {
        padding-top: 10px;
    }

    .flight-results-page .flight-price-panel,
    .flight-results-page .flight-result-card .flight-price-panel {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        min-height: 0;
        padding: 15px 16px 16px 20px;
        border-top: 1px dashed rgba(126, 230, 132, 0.22);
        border-left: 0;
    }

    .flight-results-page .flight-destination-image-card {
        display: none;
    }

    .flight-results-page .flight-price-panel strong {
        font-size: 27px;
    }

    .flight-results-page .flight-select-button,
    .flight-results-page .flight-result-card .primary-small {
        display: inline-flex;
        justify-content: center;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        min-height: 46px;
        margin-top: 10px;
    }
}

@media (min-width: 721px) {
    .flight-mobile-summary {
        display: none;
    }

    .mobile-panel-toggle {
        display: none;
    }
}

/* Tablet results keep the desktop filter, but must not inherit the old one-column timing panel. */
@media (min-width: 721px) and (max-width: 820px) {
    .flight-results-page .flight-result-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .flight-results-page .flight-card-content {
        padding: 20px 22px 18px 26px;
    }

    .flight-results-page .flight-brand-block {
        flex-direction: row;
        align-items: flex-start;
    }

    .flight-results-page .route-code-line {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
        gap: 8px;
        align-items: start;
    }

    .flight-results-page .route-estimated-total {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .flight-results-page .route-code-item {
        display: grid;
        min-width: 0;
        gap: 3px;
    }

    .flight-results-page .route-code-item:last-child {
        text-align: right;
    }

    .flight-results-page .route-code-item:last-child .route-code-main {
        justify-content: flex-end;
    }

    .flight-results-page .route-code-arrow {
        align-self: center;
        justify-self: center;
    }

    .flight-results-page .journey-summary-row {
        grid-template-columns: 72px minmax(0, 1fr) 72px;
        gap: 12px;
    }

    .flight-results-page .flight-card-timeline {
        padding: 15px 16px 10px;
    }

    .flight-results-page .flight-timeline {
        min-height: 70px;
        margin: 0;
    }

    .flight-results-page .flight-price-panel,
    .flight-results-page .flight-result-card .flight-price-panel {
        padding: 18px 22px 20px 26px;
        border-top: 1px dashed rgba(126, 230, 132, 0.22);
        border-left: 0;
    }

    .flight-results-page .flight-destination-image-card {
        display: none;
    }

    .flight-results-page .flight-select-button,
    .flight-results-page .flight-result-card .primary-small {
        display: inline-flex;
        justify-content: center;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
    }
}

/* The review rail may scroll within its card on a phone; it must never widen the page. */
@media (max-width: 720px) {
    .flight-journey-summary-page .flight-review-shell {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        min-width: 0;
        gap: 18px;
    }

    .flight-journey-summary-page .flight-review-main,
    .flight-journey-summary-page .flight-review-side,
    .flight-journey-summary-page .flight-review-card,
    .flight-journey-summary-page .flight-review-hero,
    .flight-journey-summary-page .flight-review-hero-copy {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .flight-journey-summary-page .flight-review-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
    }

    .flight-journey-summary-page .flight-review-hero h2 {
        overflow: visible;
        font-size: clamp(24px, 7vw, 32px);
        overflow-wrap: anywhere;
        text-overflow: clip;
        white-space: normal;
    }

    .flight-journey-summary-page .flight-review-hero-price {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .flight-journey-summary-page .flight-review-steps {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
        max-width: 100%;
        margin: 10px 0 12px;
        padding: 0 8px;
        overflow: visible;
        box-sizing: border-box;
    }

    .flight-journey-summary-page .flight-review-step {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        padding: 6px 10px;
        box-sizing: border-box;
        clip-path: none;
        border-radius: 10px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2px;
        text-align: left;
        white-space: normal;
    }

    .flight-journey-summary-page .flight-review-step b {
        width: 20px;
        height: 20px;
        margin: 0;
        font-size: 11px;
    }

    .flight-journey-summary-page .flight-review-main > h1 {
        margin: 0 0 12px;
        font-size: 24px;
        line-height: 1.16;
    }

    .flight-journey-summary-page .flight-review-card {
        border-radius: 18px;
    }

    .flight-journey-summary-page .flight-review-card .notice-card {
        margin: 0 10px 12px;
        padding: 14px;
        border-radius: 12px;
    }

    .flight-journey-summary-page .flight-review-card .notice-card strong {
        display: block;
        margin-bottom: 4px;
        font-size: 16px;
        line-height: 1.2;
    }

    .flight-journey-summary-page .flight-review-card .notice-card p {
        margin: 0;
        font-size: 14px;
        line-height: 1.45;
    }

    .flight-journey-summary-page .flight-review-leg {
        min-width: 0;
        margin: 0 10px 14px;
    }

    .flight-journey-summary-page .flight-review-table,
    .flight-journey-summary-page .flight-review-table-row,
    .flight-journey-summary-page .flight-review-routing {
        min-width: 0;
        max-width: 100%;
    }

    .flight-journey-summary-page .flight-review-routing {
        gap: 5px;
        padding: 12px 14px 16px;
        border-top: 1px solid rgba(126, 230, 132, 0.14);
        font-size: 12px;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

    .flight-journey-summary-page .flight-review-routing strong {
        margin-bottom: 1px;
        font-size: 13px;
    }

    .flight-journey-summary-page .flight-review-price-panel,
    .flight-journey-summary-page .flight-review-call-card,
    .flight-journey-summary-page .flight-review-rules-card {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .flight-journey-summary-page .flight-review-price-panel h2 {
        padding: 12px 14px;
        font-size: 15px;
        line-height: 1.2;
    }

    /* Passenger details uses a compact four-step progress bar on phones. */
    .flight-traveller-details-page .flight-traveller-card .flight-review-steps {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        width: 100%;
        max-width: 100%;
        margin: 0 0 12px;
        padding: 0;
        overflow: visible;
        box-sizing: border-box;
    }

    .flight-traveller-details-page .flight-traveller-card .flight-review-step {
        width: 100%;
        min-width: 0;
        min-height: 58px;
        padding: 5px 4px;
        box-sizing: border-box;
        clip-path: none;
        border-radius: 10px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        font-size: 10px;
        line-height: 1.1;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .flight-traveller-details-page .flight-traveller-card .flight-review-step b {
        width: 20px;
        height: 20px;
        margin: 0;
        font-size: 11px;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-form-panel {
        gap: 14px;
        padding: 16px 14px;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-form-panel-heading,
    .flight-traveller-details-page .flight-traveller-form > .flight-traveller-selected-flight-panel .booking-form-panel-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: start;
        gap: 10px;
        padding-bottom: 12px;
    }

    .flight-traveller-details-page .booking-form-panel-heading > div {
        min-width: 0;
    }

    .flight-traveller-details-page .booking-form-panel-heading .content-eyebrow {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        line-height: 1.2;
        letter-spacing: 0.08em;
    }

    .flight-traveller-details-page .booking-form-panel-heading h2 {
        font-size: 19px;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .flight-traveller-details-page .booking-form-panel-heading > span {
        align-self: start;
        min-height: 26px;
        padding: 0 9px;
        font-size: 11px;
        white-space: nowrap;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-contact-panel-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-contact-panel-heading .booking-remember-check {
        grid-column: 1;
        justify-self: start;
        margin: 0;
    }

    .flight-traveller-details-page .mobile-panel-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 28px;
        padding: 0 8px;
        border: 1px solid rgba(142, 230, 138, 0.28);
        border-radius: 9px;
        background: rgba(8, 32, 19, 0.64);
        color: #aaf5a5;
        font-size: 11px;
        font-weight: 800;
    }

    .flight-traveller-details-page .mobile-panel-toggle i {
        width: 7px;
        height: 7px;
        margin: 0 1px 3px 0;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
    }

    .flight-traveller-details-page .is-mobile-collapsible.is-mobile-collapsed .mobile-panel-toggle i {
        margin-top: 3px;
        margin-bottom: 0;
        transform: rotate(225deg);
    }

    .flight-traveller-details-page .flight-traveller-selected-flight-panel.is-mobile-collapsible.is-mobile-collapsed > :not(.booking-form-panel-heading) {
        display: none;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel {
        position: relative;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel > h2 {
        padding-right: 76px;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel > .mobile-panel-toggle {
        position: absolute;
        top: 8px;
        right: 10px;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel.is-mobile-collapsible.is-mobile-collapsed > :not(h2):not(.mobile-panel-toggle) {
        display: none;
    }
}

/* Confirmation tickets need their own phone composition: the desktop ticket has
 * three-column details and a side stub, which becomes cramped below 720px. */
@media (max-width: 720px) {
    .flight-confirmation-page .flight-confirmation-ticket-card {
        border-radius: 16px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-topline {
        min-height: 0;
        align-items: flex-start;
        gap: 8px;
        padding: 10px 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-topline span {
        min-width: 0;
        gap: 7px;
        font-size: 11px;
        line-height: 1.25;
    }

    .flight-confirmation-page .flight-confirmation-ticket-topline span .icon {
        width: 24px;
        height: 24px;
        padding: 5px;
        flex: 0 0 auto;
    }

    .flight-confirmation-page .flight-confirmation-ticket-topline strong {
        flex: 0 0 auto;
        padding: 5px 8px;
        font-size: 10px;
        white-space: nowrap;
    }

    .flight-confirmation-page .flight-confirmation-ticket-body {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-main {
        gap: 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route {
        grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
        justify-content: stretch;
        gap: 6px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route span,
    .flight-confirmation-page .flight-confirmation-ticket-route span:last-child {
        display: grid;
        gap: 3px;
        min-width: 0;
        white-space: normal;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route span:last-child {
        justify-content: stretch;
        text-align: right;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route strong {
        font-size: clamp(24px, 8vw, 30px);
    }

    .flight-confirmation-page .flight-confirmation-ticket-route small {
        overflow: visible;
        font-size: 10px;
        line-height: 1.2;
        text-overflow: clip;
        white-space: normal;
    }

    .flight-confirmation-page .flight-confirmation-ticket-route .icon {
        width: 26px;
        height: 26px;
        padding: 4px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-meta {
        gap: 5px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-meta span {
        min-height: 26px;
        padding: 0 7px;
        font-size: 10px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-card dl div {
        grid-template-columns: 26px minmax(0, 1fr);
        gap: 2px 6px;
        min-height: 64px;
        padding: 8px;
        border-radius: 9px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-detail-icon {
        width: 26px;
        height: 26px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-detail-icon .icon {
        width: 20px;
        height: 20px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-card dt {
        font-size: 9px;
        line-height: 1.15;
    }

    .flight-confirmation-page .flight-confirmation-ticket-card dd {
        font-size: 11px;
        line-height: 1.25;
    }

    .flight-confirmation-page .flight-confirmation-ticket-side {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        gap: 8px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-stub,
    .flight-confirmation-page .flight-confirmation-ticket-notice {
        min-height: 0;
        padding: 12px 10px;
        border-radius: 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-stub {
        align-content: start;
        justify-items: start;
        gap: 4px;
        text-align: left;
    }

    .flight-confirmation-page .flight-confirmation-ticket-stub span {
        font-size: 11px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-stub strong {
        font-size: 24px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-stub small {
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .flight-confirmation-page .flight-confirmation-ticket-notice {
        gap: 6px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-notice strong {
        gap: 6px;
        font-size: 12px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-notice strong .icon {
        width: 22px;
        height: 22px;
        padding: 5px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-notice p,
    .flight-confirmation-page .flight-confirmation-ticket-notice span {
        font-size: 10px;
        line-height: 1.35;
    }

    .flight-confirmation-page .flight-confirmation-ticket-secure {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 8px;
        margin: 0 12px 12px;
        padding: 10px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-secure .icon {
        width: 30px;
        height: 30px;
        padding: 7px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-secure strong {
        font-size: 11px;
    }

    .flight-confirmation-page .flight-confirmation-ticket-secure span {
        grid-column: 2;
        font-size: 10px;
        line-height: 1.3;
    }
}

@media (max-width: 360px) {
    .flight-confirmation-page .flight-confirmation-ticket-side {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Phone traveller flow: surface the cost decision immediately after the trip,
 * then keep the form as a single, thumb-friendly column. */
@media (max-width: 720px) {
    .flight-traveller-details-page .flight-traveller-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .flight-traveller-details-page .flight-traveller-shell > .flight-review-main {
        display: contents;
    }

    .flight-traveller-details-page .flight-traveller-shell > .flight-review-main > h1 {
        order: 1;
        margin: 0;
        font-size: 24px;
        line-height: 1.15;
    }

    .flight-traveller-details-page .flight-traveller-hero {
        order: 2;
        gap: 12px;
        padding: 14px;
        border-radius: 16px;
    }

    .flight-traveller-details-page .flight-traveller-hero h2 {
        font-size: 23px;
        line-height: 1.15;
    }

    .flight-traveller-details-page .flight-traveller-hero p {
        margin-top: 5px;
        font-size: 14px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .flight-traveller-details-page .flight-traveller-hero-chips {
        gap: 6px;
        margin-top: 12px;
    }

    .flight-traveller-details-page .flight-traveller-hero-chips span {
        min-height: 27px;
        padding: 4px 8px;
        font-size: 10px;
    }

    .flight-traveller-details-page .flight-traveller-hero .flight-review-hero-price {
        gap: 2px;
        padding: 12px;
        border-radius: 12px;
    }

    .flight-traveller-details-page .flight-traveller-hero .flight-review-hero-price strong {
        font-size: 25px;
    }

    .flight-traveller-details-page .flight-traveller-hero .flight-review-hero-price small {
        line-height: 1.3;
    }

    .flight-traveller-details-page .flight-traveller-side {
        order: 3;
        display: grid;
        gap: 10px;
        width: 100%;
        min-width: 0;
        margin: 0;
        position: static;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel,
    .flight-traveller-details-page .flight-traveller-side .flight-review-call-card {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-panel h2 {
        padding: 12px 14px;
        font-size: 16px;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-price-row,
    .flight-traveller-details-page .flight-traveller-side .flight-review-price-total {
        padding: 12px 14px;
        font-size: 13px;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-rules-btn {
        display: inline-flex;
        justify-content: center;
        width: calc(100% - 28px);
        min-height: 44px;
        margin: 0 14px 12px;
        box-sizing: border-box;
    }

    .flight-traveller-details-page .flight-traveller-side .flight-review-rules-note {
        margin: 0 14px 14px;
        font-size: 12px;
        line-height: 1.35;
    }

    .flight-traveller-details-page .flight-traveller-form {
        order: 4;
        width: 100%;
        min-width: 0;
    }

    .flight-traveller-details-page .flight-traveller-card {
        gap: 12px;
        padding: 0 12px 14px;
        border-radius: 16px;
    }

    .flight-traveller-details-page .flight-traveller-card .selected-summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 12px;
        align-items: center;
        padding: 12px;
        border-radius: 12px;
    }

    .flight-traveller-details-page .flight-traveller-card .selected-summary strong {
        min-width: 0;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

    .flight-traveller-details-page .flight-traveller-card .selected-summary span {
        min-width: 0;
        font-size: 12px;
        font-weight: 900;
        text-align: right;
        white-space: nowrap;
    }

    .flight-traveller-details-page .member-dev-autofill-button {
        width: 100%;
        min-height: 42px;
        margin: 0;
        border-radius: 999px;
        box-sizing: border-box;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-form-panel {
        gap: 12px;
        padding: 14px 12px;
        border-radius: 14px;
    }

    .flight-traveller-details-page .booking-passenger-grid,
    .flight-traveller-details-page .booking-contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .flight-traveller-details-page .booking-passenger-grid .booking-date-field,
    .flight-traveller-details-page .booking-contact-grid .wide-field {
        grid-column: auto;
    }

    .flight-traveller-details-page .booking-contact-phone-row {
        grid-template-columns: minmax(88px, 0.42fr) minmax(0, 1fr);
        gap: 8px;
    }

    .flight-traveller-details-page .field-card {
        gap: 6px;
        font-size: 12px;
    }

    .flight-traveller-details-page .field-card input,
    .flight-traveller-details-page .field-card select {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        padding: 0 12px;
        box-sizing: border-box;
        font-size: 16px;
    }

    .flight-traveller-details-page .booking-date-selects {
        grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.2fr) minmax(0, 1fr);
        gap: 6px;
    }

    .flight-traveller-details-page .booking-date-selects select {
        padding: 0 7px;
        font-size: 14px;
    }

    .flight-traveller-details-page .flight-traveller-card .booking-contact-grid textarea {
        min-height: 100px;
        font-size: 16px;
    }
}

@media (min-width: 721px) {
    .mobile-review-side-toggle {
        display: none;
    }
}

@media (max-width: 720px) {
    .flight-confirmation-page .flight-confirmation-side {
        gap: 12px;
        width: 100%;
        min-width: 0;
    }

    .flight-confirmation-page .mobile-review-side-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 10px;
        gap: 8px;
        align-items: center;
        width: 100%;
        min-height: 48px;
        padding: 10px 14px;
        border: 1px solid rgba(126, 230, 132, 0.26);
        border-radius: 13px;
        background: rgba(8, 32, 19, 0.78);
        color: #edf6ef;
        box-shadow: 0 12px 26px rgba(3, 8, 16, 0.2);
        font: inherit;
        font-size: 13px;
        font-weight: 900;
        text-align: left;
    }

    .flight-confirmation-page .mobile-review-side-toggle span:first-child {
        min-width: 0;
    }

    .flight-confirmation-page .mobile-review-side-toggle [data-mobile-panel-toggle-label] {
        color: #8ee68a;
        font-size: 11px;
        text-transform: uppercase;
    }

    .flight-confirmation-page .mobile-review-side-toggle i {
        width: 8px;
        height: 8px;
        margin: 0 1px 3px 0;
        border-right: 2px solid #8ee68a;
        border-bottom: 2px solid #8ee68a;
        transform: rotate(45deg);
    }

    .flight-confirmation-page .flight-confirmation-side.is-mobile-collapsible.is-mobile-collapsed {
        gap: 0;
    }

    .flight-confirmation-page .flight-confirmation-side.is-mobile-collapsible.is-mobile-collapsed > :not(.mobile-review-side-toggle) {
        display: none;
    }

    .flight-confirmation-page .flight-confirmation-side:not(.is-mobile-collapsed) .mobile-review-side-toggle i {
        margin-top: 3px;
        margin-bottom: 0;
        transform: rotate(225deg);
    }
}

/* Dashboard panels remain dense on phones until an admin opens the section
 * they need. The content wrapper is display: contents so desktop layout is
 * exactly the same as the original panel markup. */
@media (min-width: 721px) {
    .admin-mobile-panel-toggle {
        display: none;
    }

    .admin-mobile-panel-content {
        display: contents;
    }
}

@media (max-width: 720px) {
    .admin-dashboard-page .admin-console-panel.is-admin-mobile-collapsible {
        gap: 10px;
    }

    .admin-dashboard-page .admin-mobile-panel-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 10px;
        gap: 8px;
        align-items: center;
        width: 100%;
        min-height: 46px;
        padding: 10px 12px;
        border: 1px solid rgba(53, 240, 120, 0.24);
        border-radius: 12px;
        background: rgba(3, 18, 12, 0.72);
        color: #f4fff4;
        font: inherit;
        font-size: 14px;
        font-weight: 900;
        text-align: left;
    }

    .admin-dashboard-page .admin-mobile-panel-toggle small {
        color: #7dff9b;
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .admin-dashboard-page .admin-mobile-panel-toggle i {
        width: 8px;
        height: 8px;
        margin: 0 1px 3px 0;
        border-right: 2px solid #7dff9b;
        border-bottom: 2px solid #7dff9b;
        transform: rotate(45deg);
    }

    .admin-dashboard-page .admin-console-panel.is-admin-mobile-collapsed .admin-mobile-panel-content {
        display: none;
    }

    .admin-dashboard-page .admin-console-panel.is-admin-mobile-collapsible:not(.is-admin-mobile-collapsed) .admin-mobile-panel-toggle i {
        margin-top: 3px;
        margin-bottom: 0;
        transform: rotate(225deg);
    }
}

/* Final phone topbar guard: broad admin form rules make every action 100% wide,
 * which is useful in forms but makes the header controls overlap. */
@media (max-width: 768px) {
    .admin-console-page .admin-console-topbar {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        grid-template-areas: "toggle brand actions" "search search search";
        align-items: center;
    }

    .admin-console-page .admin-console-top-actions {
        display: inline-flex;
        flex: 0 0 auto;
        flex-wrap: nowrap;
        width: auto;
        min-width: 0;
        gap: 5px;
        justify-content: flex-end;
    }

    .admin-console-page .admin-console-top-actions > * {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .admin-console-page .admin-console-top-actions > .theme-toggle,
    .admin-console-page .admin-console-top-actions .account-menu-toggle {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
    }

    .admin-console-page .admin-console-search {
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 480px) {
    .admin-console-page .admin-console-topbar {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: 6px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .admin-console-page .admin-console-drawer-toggle,
    .admin-console-page .admin-console-top-actions > .theme-toggle,
    .admin-console-page .admin-console-top-actions .account-menu-toggle {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
    }

    .admin-console-page .admin-console-top-actions > .travelbot-link {
        display: none;
    }

    .admin-console-page .admin-console-mobile-brand {
        gap: 5px;
    }

    .admin-console-page .admin-console-mobile-brand strong {
        font-size: 15px;
    }

    .admin-console-page .admin-console-mobile-brand small {
        font-size: 7px;
        letter-spacing: 0.9px;
    }
}

/* Booking history navigation becomes an on-demand Filter panel on phones. */
@media (min-width: 721px) {
    .admin-booking-mobile-filter-toggle {
        display: none;
    }

    .admin-booking-nav-content {
        display: contents;
    }
}

@media (max-width: 720px) {
    .admin-console-page.admin-booking-console .admin-booking-nav-panel {
        display: grid;
        width: 100%;
        gap: 10px;
        padding: 10px;
        overflow: visible;
        box-sizing: border-box;
    }

    .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 10px;
        gap: 8px;
        align-items: center;
        width: 100%;
        min-height: 46px;
        padding: 10px 12px;
        border: 1px solid rgba(53, 240, 120, 0.24);
        border-radius: 12px;
        background: rgba(3, 18, 12, 0.72);
        color: #f4fff4;
        font: inherit;
        text-align: left;
    }

    .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle strong {
        display: inline-flex;
        gap: 7px;
        align-items: center;
        min-width: 0;
        font-size: 14px;
    }

    .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle strong .icon {
        width: 17px;
        height: 17px;
        color: #7dff9b;
    }

    .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle > span {
        color: #7dff9b;
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle i {
        width: 8px;
        height: 8px;
        margin: 0 1px 3px 0;
        border-right: 2px solid #7dff9b;
        border-bottom: 2px solid #7dff9b;
        transform: rotate(45deg);
    }

    .admin-console-page.admin-booking-console .admin-booking-nav-panel.is-mobile-collapsed .admin-booking-nav-content {
        display: none;
    }

    .admin-console-page.admin-booking-console .admin-booking-nav-panel:not(.is-mobile-collapsed) .admin-booking-mobile-filter-toggle i {
        margin-top: 3px;
        margin-bottom: 0;
        transform: rotate(225deg);
    }

    .admin-console-page.admin-booking-console .admin-booking-nav-content {
        display: grid;
        gap: 10px;
        width: 100%;
        min-width: 0;
    }

    .admin-console-page.admin-booking-console .admin-booking-nav-pills {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        width: 100%;
        overflow: visible;
        white-space: normal;
    }

    .admin-console-page.admin-booking-console .admin-booking-nav-pills a,
    .admin-console-page.admin-booking-console .admin-booking-audit-link {
        justify-content: flex-start;
        width: 100%;
        min-height: 44px;
        box-sizing: border-box;
    }

    /* Booking history is a stack of labelled cards, never a horizontally
     * scrolling 11-column table on a phone. */
    .admin-console-page.admin-booking-console .admin-console-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table,
    .admin-console-page.admin-booking-console .admin-booking-history-table tbody,
    .admin-console-page.admin-booking-console .admin-booking-history-table tr {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table thead {
        display: none;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table tr {
        margin: 0 0 12px;
        padding: 14px;
        border: 1px solid rgba(74, 222, 128, 0.16);
        border-radius: 14px;
        background: rgba(9, 25, 20, 0.92);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.20);
        box-sizing: border-box;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table td {
        display: grid;
        grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
        gap: 8px;
        width: 100%;
        min-width: 0;
        padding: 8px 0;
        border: 0;
        color: rgba(237, 246, 239, 0.84);
        font-size: 13px;
        text-align: left;
        box-sizing: border-box;
        overflow-wrap: anywhere;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table td::before {
        content: attr(data-label);
        color: rgba(237, 246, 239, 0.52);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table td:last-child {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 4px;
        padding-top: 12px;
        border-top: 1px solid rgba(74, 222, 128, 0.12);
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-row-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-row-actions > *,
    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-row-actions a,
    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-row-actions button {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        box-sizing: border-box;
    }

    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-customer,
    .admin-console-page.admin-booking-console .admin-booking-history-table .admin-booking-customer span {
        min-width: 0;
    }
}

/* Mobile light-theme cascade guard. The phone layout is shared with dark mode,
 * but its final colour layer must keep the desktop light palette readable. */
@media (max-width: 720px) {
    body:not(.has-admin-console) .site-header .brand img {
        width: min(132px, 36vw);
    }

    body:not(.has-admin-console) .site-header .utility-nav .travelbot-link {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0;
        justify-content: center;
    }

    body:not(.has-admin-console) .site-header .utility-nav .travelbot-link span {
        display: none;
    }

    body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle {
        min-height: 44px;
    }

    body:not(.has-admin-console) .site-header .theme-toggle {
        display: inline-block;
        height: 44px;
        min-height: 44px;
    }

    body:not(.has-admin-console) .site-header .theme-toggle-icon {
        top: 12px;
    }

    body:not(.has-admin-console) .site-header .theme-toggle-thumb {
        top: 10px;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .site-header {
        border-bottom-color: #d9e8f3;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 10px 28px rgba(30, 77, 112, 0.12);
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .site-header .utility-nav .travelbot-link,
    html:not(.travelnet-dark) body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle {
        border-color: #c9e0f1;
        background: linear-gradient(180deg, #ffffff, #edf8ff);
        color: #075f9b;
        box-shadow: 0 6px 16px rgba(8, 121, 201, 0.10);
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .site-header .utility-nav .travelbot-link span,
    html:not(.travelnet-dark) body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle span,
    html:not(.travelnet-dark) body.page-trips:not(.has-admin-console) .site-header .utility-nav .travelbot-link span,
    html:not(.travelnet-dark) body.page-trips:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle span {
        color: inherit;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .flight-hero .traveller-row .stepper,
    html:not(.travelnet-dark) body:not(.has-admin-console) .hotel-hero .hotel-guests .stepper {
        background: #edf7f3;
        box-shadow: inset 0 0 0 1px #d4e9df;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .flight-hero .traveller-label,
    html:not(.travelnet-dark) body:not(.has-admin-console) .hotel-hero .traveller-label,
    html:not(.travelnet-dark) body:not(.has-admin-console) .flight-hero .stepper small,
    html:not(.travelnet-dark) body:not(.has-admin-console) .hotel-hero .stepper small {
        color: #52677f;
    }

    html:not(.travelnet-dark) .results-mobile-filter-toggle {
        border-color: #b9dec7;
        background: rgba(255, 255, 255, 0.96);
        color: #087d39;
        box-shadow: 0 10px 24px rgba(22, 112, 68, 0.12);
    }

    html:not(.travelnet-dark) .results-mobile-filter-toggle strong {
        background: #e4f7e9;
        color: #087d39;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion {
        border-color: #dce8f1;
        background: #ffffff;
        box-shadow: 0 14px 32px rgba(30, 77, 112, 0.10);
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section {
        border-bottom-color: #e3edf4;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion summary {
        color: #172b46;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion summary::after,
    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section-body .icon {
        color: #15930f;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section-body a,
    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section-body p,
    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-contact-line,
    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-contact-line span {
        color: #526b88;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section-body a:hover,
    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .footer-section-body a:focus-visible {
        color: #087d39;
    }

    html:not(.travelnet-dark) body:not(.has-admin-console) .footer-grid-accordion .social-row a {
        border-color: #cce7d3;
        background: #e8f8eb;
        color: #087d39;
    }

    html:not(.travelnet-dark) .flight-traveller-details-page .mobile-panel-toggle,
    html:not(.travelnet-dark) .flight-confirmation-page .mobile-review-side-toggle,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-mobile-panel-toggle,
    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle,
    html:not(.travelnet-dark) .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle {
        border-color: #c9e3d2;
        background: #f7fcf9;
        color: #17314a;
        box-shadow: 0 8px 20px rgba(24, 96, 57, 0.08);
    }

    html:not(.travelnet-dark) .flight-confirmation-page .mobile-review-side-toggle [data-mobile-panel-toggle-label],
    html:not(.travelnet-dark) .admin-dashboard-page .admin-mobile-panel-toggle small,
    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle > span,
    html:not(.travelnet-dark) .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle > span {
        color: #087d39;
    }

    html:not(.travelnet-dark) .flight-confirmation-page .mobile-review-side-toggle i,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-mobile-panel-toggle i,
    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-mobile-filter-toggle i,
    html:not(.travelnet-dark) .admin-console-page.admin-audit-page .admin-audit-mobile-filter-toggle i {
        border-color: #15930f;
    }

    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table tr {
        border-color: #dce8f1;
        background: #ffffff;
        box-shadow: 0 12px 28px rgba(30, 77, 112, 0.10);
    }

    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table td {
        color: #334a65;
    }

    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table td::before {
        color: #71839a;
    }

    html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table td:last-child {
        border-top-color: #e3edf4;
    }
}

/* Search actions use one confident, solid colour at every screen size and in
 * both themes. Keep this after the theme layers so gradients cannot return. */
html body.page-flights:not(.has-admin-console) .flight-hero .search-card .primary-cta,
html body.page-hotels:not(.has-admin-console) .hotel-hero .search-card .primary-cta,
html body.page-cars:not(.has-admin-console) .search-card-car .primary-cta {
    border-color: #11810d;
    background: #15930f;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(21, 147, 15, 0.24);
}

html body.page-flights:not(.has-admin-console) .flight-hero .search-card .primary-cta:hover,
html body.page-flights:not(.has-admin-console) .flight-hero .search-card .primary-cta:focus-visible,
html body.page-hotels:not(.has-admin-console) .hotel-hero .search-card .primary-cta:hover,
html body.page-hotels:not(.has-admin-console) .hotel-hero .search-card .primary-cta:focus-visible,
html body.page-cars:not(.has-admin-console) .search-card-car .primary-cta:hover,
html body.page-cars:not(.has-admin-console) .search-card-car .primary-cta:focus-visible {
    background: #0f7f0d;
}

@media (max-width: 380px) {
    body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle {
        width: 44px;
        min-width: 44px;
        padding: 0;
        justify-content: center;
    }

    body:not(.has-admin-console) .site-header .utility-nav .account-menu-toggle span {
        display: none;
    }
}

@media (max-width: 768px) {
    html:not(.travelnet-dark) .admin-console-page .admin-console-sidebar,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        min-height: 100vh;
        border-right-color: #dce8f1;
        border-bottom: 0;
        background: #ffffff;
        box-shadow: 18px 0 44px rgba(30, 77, 112, 0.18);
        transform: translateX(-105%);
    }

    html:not(.travelnet-dark) .admin-console-page .admin-console-sidebar.is-open,
    html:not(.travelnet-dark) .admin-dashboard-page .admin-console-sidebar.is-open {
        transform: translateX(0);
    }
}

/* Portal-wide visual consistency layer. Page families keep their purposeful
 * heading sizes, while every customer, booking, content, and admin surface
 * uses one type voice and predictable heading rhythm. */
body,
button,
input,
select,
textarea,
optgroup,
option {
    font-family: var(--travelnet-font-sans);
}

.site-main h1,
.site-main h2,
.site-main h3,
.airline-rules-standalone h1,
.airline-rules-standalone h2,
.airline-rules-standalone h3 {
    font-family: var(--travelnet-font-sans);
    text-wrap: balance;
}

.site-main h1 {
    letter-spacing: -0.025em;
}

.site-main h2,
.site-main h3 {
    letter-spacing: -0.012em;
}

@media (min-width: 769px) and (max-width: 1500px) {
    .admin-console-page .admin-console-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-console-page .admin-console-stat-card {
        grid-template-columns: 58px minmax(0, 1fr) 84px;
    }
}

/* Admin Settings uses the same visual grammar as the Flights and Hotels
 * search pages: one strong search-style hero, a unified trust-style summary
 * strip, and substantial result cards with clear nested fields. */
.admin-settings-page,
.admin-settings-page button,
.admin-settings-page input,
.admin-settings-page select,
.admin-settings-page textarea {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-kerning: normal;
    text-rendering: optimizeLegibility;
}

.admin-settings-page .admin-settings-content {
    gap: 22px;
}

.admin-settings-page .admin-settings-hero {
    isolation: isolate;
    min-height: 250px;
    padding: clamp(26px, 4vw, 44px);
    border-radius: 24px;
}

.admin-settings-page .admin-settings-hero::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--green), var(--sky), var(--coral));
}

.admin-settings-page .admin-settings-hero > div:first-child {
    position: relative;
    z-index: 2;
}

.admin-settings-page .admin-settings-hero h1 {
    font-size: clamp(36px, 4vw, 48px);
    letter-spacing: -0.035em;
}

.admin-settings-page .admin-settings-hero > div:first-child > p {
    max-width: 760px;
    font-size: 16px;
    line-height: 1.6;
}

.admin-settings-page .admin-settings-hero .content-eyebrow {
    min-height: 32px;
    padding-inline: 13px;
}

.admin-settings-page .admin-settings-signal i {
    width: 124px;
    border-radius: 50%;
}

.admin-settings-page .admin-settings-signal i .icon {
    width: 52px;
    height: 52px;
}

.admin-settings-page .admin-settings-stats {
    gap: 0;
    overflow: hidden;
    padding: 10px;
    border: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 18px;
    background: rgba(5, 19, 14, 0.74);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.admin-settings-page .admin-settings-stats .admin-console-stat-card {
    min-height: 112px;
    padding: 18px;
    border: 0;
    border-right: 1px solid rgba(150, 255, 174, 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.admin-settings-page .admin-settings-stats .admin-console-stat-card:last-child {
    border-right: 0;
}

.admin-settings-page .admin-settings-stats .admin-console-stat-card:hover {
    background: rgba(53, 240, 120, 0.045);
    box-shadow: none;
}

.admin-settings-page .admin-settings-action-row {
    padding: 14px;
    border-radius: 18px;
}

.admin-settings-page .admin-settings-action-row > a {
    min-height: 42px;
}

.admin-settings-page .admin-settings-endpoint-editor,
.admin-settings-page .admin-settings-product-flows,
.admin-settings-page .admin-settings-card,
.admin-settings-page .admin-settings-forbidden {
    border-radius: 20px;
}

.admin-settings-page .admin-settings-card {
    transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.admin-settings-page .admin-settings-card:hover {
    transform: translateY(-2px);
}

.admin-settings-page .admin-settings-card-heading > span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.admin-settings-page .admin-settings-card-heading {
    grid-template-columns: 50px minmax(0, 1fr) 34px;
    align-items: center;
}

.admin-settings-page .admin-settings-card-heading h2 {
    font-size: 20px;
    letter-spacing: -0.015em;
}

.admin-settings-page .admin-settings-endpoint-grid {
    gap: 14px;
}

.admin-settings-page .admin-settings-endpoint-field,
.admin-settings-page .admin-settings-row {
    border-radius: 12px;
}

.admin-settings-page .admin-settings-endpoint-field input[type="url"] {
    min-height: 44px;
    border-radius: 10px;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats {
    border-color: #dbe7f2;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card {
    min-height: 112px;
    padding: 18px;
    border-right-color: #e6edf5;
    background: transparent;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card:hover {
    background: #f7fcf9;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-action-row {
    border-color: #dbe7f2;
    background: #ffffff;
}

html:not(.travelnet-dark) .admin-settings-page .admin-settings-card:hover {
    border-color: #cbeed7;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.10);
}

html.travelnet-dark .admin-settings-page .admin-settings-hero {
    border-color: rgba(53, 240, 120, 0.18);
    background:
        radial-gradient(circle at 78% 18%, rgba(244, 196, 48, 0.16), transparent 26%),
        radial-gradient(circle at 94% 56%, rgba(53, 240, 120, 0.14), transparent 24%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.96), rgba(4, 13, 12, 0.92));
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark .admin-settings-page .admin-settings-action-row {
    border-color: rgba(150, 255, 174, 0.12);
    background: rgba(5, 19, 14, 0.74);
}

html.travelnet-dark .admin-settings-page .admin-settings-card:hover {
    border-color: rgba(53, 240, 120, 0.24);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.30);
}

@media (max-width: 1500px) {
    .admin-settings-page .admin-settings-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-settings-page .admin-settings-stats .admin-console-stat-card:nth-child(2) {
        border-right: 0;
    }

    .admin-settings-page .admin-settings-stats .admin-console-stat-card:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(150, 255, 174, 0.12);
    }

    html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card:nth-child(-n + 2) {
        border-bottom-color: #e6edf5;
    }
}

@media (max-width: 768px) {
    .admin-settings-page .admin-settings-content {
        gap: 14px;
    }

    .admin-settings-page .admin-settings-hero {
        min-height: 0;
        padding: 24px 20px;
        border-radius: 18px;
    }

    .admin-settings-page .admin-settings-hero h1 {
        gap: 8px;
        font-size: clamp(30px, 9vw, 36px);
    }

    .admin-settings-page .admin-settings-hero h1 .icon {
        width: 21px;
        height: 21px;
    }

    .admin-settings-page .admin-settings-signal {
        min-height: 118px;
    }

    .admin-settings-page .admin-settings-signal i {
        width: 96px;
    }

    .admin-settings-page .admin-settings-stats {
        grid-template-columns: 1fr;
        padding: 8px 14px;
    }

    .admin-settings-page .admin-settings-stats .admin-console-stat-card,
    html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card {
        min-height: 92px;
        padding: 14px 4px;
        border-right: 0;
        border-bottom: 1px solid rgba(150, 255, 174, 0.12);
    }

    .admin-settings-page .admin-settings-stats .admin-console-stat-card:nth-child(2) {
        border-right: 0;
    }

    .admin-settings-page .admin-settings-stats .admin-console-stat-card:last-child {
        border-bottom: 0;
    }

    html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card {
        border-bottom-color: #e6edf5;
    }

    html:not(.travelnet-dark) .admin-settings-page .admin-settings-stats .admin-console-stat-card:last-child {
        border-bottom: 0;
    }

    .admin-settings-page .admin-settings-card-heading {
        grid-template-columns: 46px minmax(0, 1fr) 32px;
        gap: 10px;
    }

    .admin-settings-page .admin-settings-card-heading > span {
        width: 44px;
        height: 44px;
    }
}

/* My Trips follows the Flights and Hotels search-page visual grammar while
 * preserving its shareable GET filters and existing booking interactions. */
body.page-trips .my-trips-dashboard-shell {
    width: min(100%, 1340px);
}

body.page-trips .my-trips-dashboard-shell .my-trips-shell {
    gap: 18px;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero {
    isolation: isolate;
    grid-template-columns: minmax(0, 1fr);
    min-height: 250px;
    padding: clamp(28px, 4vw, 44px) clamp(390px, 33vw, 470px) clamp(28px, 4vw, 44px) clamp(28px, 4vw, 44px);
    overflow: hidden;
    border: 1px solid #d8e8f2;
    border-radius: 24px;
    background:
        radial-gradient(circle at 82% 18%, rgba(56, 189, 248, 0.15), transparent 25%),
        radial-gradient(circle at 92% 82%, rgba(244, 114, 182, 0.12), transparent 28%),
        linear-gradient(135deg, #ffffff, #f2fbff 56%, #fdf4fa);
    box-shadow: 0 24px 60px rgba(28, 77, 112, 0.12);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0 0 auto;
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--green), var(--sky), var(--coral));
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero::after,
body.page-trips .my-trips-dashboard-shell .my-trips-route-art {
    display: none;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0 0 0 auto;
    display: block;
    width: clamp(390px, 35vw, 500px);
    height: auto;
    border: 0;
    border-radius: 0;
    background: url("../images/my-trips-hero.png") right center / auto 100% no-repeat;
    opacity: 0.96;
    transform: none;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000000 22%);
    mask-image: linear-gradient(90deg, transparent 0, #000000 22%);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero-copy,
body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel {
    position: relative;
    z-index: 2;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero h1 {
    margin: 12px 0 10px;
    font-size: clamp(38px, 4.3vw, 50px);
    letter-spacing: -0.04em;
    line-height: 1;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero h1 .icon {
    width: 27px;
    height: 27px;
    color: #15930f;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero p {
    max-width: 720px;
    font-size: 16px;
    line-height: 1.6;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel {
    min-height: 164px;
    padding: 22px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow:
        0 18px 38px rgba(28, 77, 112, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel span {
    color: #15930f;
    font-size: 42px;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel strong {
    font-size: 17px;
}

body.page-trips .my-trips-dashboard-shell .my-trips-next-focus {
    padding: 20px 22px;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(28, 77, 112, 0.08);
}

body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    padding: 10px;
    border: 1px solid #dbe7f2;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.08);
}

body.page-trips .my-trips-dashboard-shell .my-trips-stat {
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: 106px;
    padding: 18px;
    border: 0;
    border-right: 1px solid #e6edf5;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-trips .my-trips-dashboard-shell .my-trips-stat:last-child {
    border-right: 0;
}

body.page-trips .my-trips-dashboard-shell .my-trips-stat:hover {
    transform: none;
    background: #f7fcf9;
    box-shadow: none;
}

body.page-trips .my-trips-dashboard-shell .my-trips-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #e8f8eb;
    color: #15930f;
}

body.page-trips .my-trips-dashboard-shell .my-trips-stat-copy strong {
    font-size: 26px;
}

body.page-trips .my-trips-results-shell {
    grid-template-columns: minmax(250px, 290px) minmax(0, 1fr);
    gap: 20px;
}

body.page-trips .my-trips-filter-side {
    top: 96px;
    padding: 20px;
    border-radius: 20px;
    box-shadow:
        0 24px 54px rgba(15, 23, 42, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.page-trips .my-trips-filter-side::before {
    height: 4px;
    margin: -20px -20px 0;
}

body.page-trips .my-trips-dashboard-shell .my-trips-filter-icon,
body.page-trips .my-trips-filter-side .my-trips-filter-pill {
    border-radius: 12px;
}

body.page-trips .my-trips-filter-side .my-trips-search-form input,
body.page-trips .my-trips-filter-side .my-trips-search-form select,
body.page-trips .my-trips-filter-side .my-trips-search-form button,
body.page-trips .my-trips-filter-side .my-trips-search-form a {
    border-radius: 12px;
}

body.page-trips .my-trips-filter-side .my-trips-search-form button {
    border-color: #11810d;
    background: #15930f;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(21, 147, 15, 0.24);
}

body.page-trips .my-trips-filter-side .my-trips-search-form button:hover,
body.page-trips .my-trips-filter-side .my-trips-search-form button:focus-visible {
    background: #0f7f0d;
}

body.page-trips .my-trips-dashboard-shell .my-trip-card {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 18px 44px rgba(28, 49, 75, 0.10);
    transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

body.page-trips .my-trips-dashboard-shell .my-trip-card::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #8ee68a, #15930f 58%, #38bdf8);
}

body.page-trips .my-trips-dashboard-shell .my-trip-card:hover {
    border-color: #c6e8d0;
    transform: translateY(-2px);
    box-shadow: 0 24px 54px rgba(28, 49, 75, 0.13);
}

body.page-trips .my-trips-dashboard-shell .my-trip-card-summary {
    gap: 20px;
    padding: 22px 24px 22px 28px;
}

body.page-trips .my-trips-dashboard-shell .my-trip-title-row > span {
    color: #15930f;
}

body.page-trips .my-trips-dashboard-shell .my-trip-meta-row span {
    min-height: 32px;
    border-radius: 999px;
    background: #f7fafc;
}

body.page-trips .my-trips-dashboard-shell .my-trip-meta-row .icon {
    color: #15930f;
}

body.page-trips .my-trips-dashboard-shell .my-trip-summary-action {
    min-height: 46px;
    padding-inline: 18px;
    border-color: #11810d;
    border-radius: 12px;
    background: #15930f;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(21, 147, 15, 0.20);
}

body.page-trips .my-trips-dashboard-shell .my-trip-summary-action:hover,
body.page-trips .my-trips-dashboard-shell .my-trip-summary-action:focus-visible {
    background: #0f7f0d;
}

body.page-trips .my-trips-dashboard-shell .my-trip-card-body {
    gap: 14px;
    padding: 0 24px 24px 28px;
}

body.page-trips .my-trips-dashboard-shell .my-trip-item,
body.page-trips .my-trips-dashboard-shell .my-trip-detail-panel,
body.page-trips .my-trips-dashboard-shell .my-trip-advanced-details,
body.page-trips .my-trips-dashboard-shell .my-trip-management-panel,
body.page-trips .my-trips-dashboard-shell .my-trip-cancel-state,
body.page-trips .my-trips-dashboard-shell .my-trip-schedule-grid .my-trip-schedule-pending,
body.page-trips .my-trips-dashboard-shell .my-trip-passenger-list li,
body.page-trips .my-trips-dashboard-shell .my-trip-timeline li {
    border-radius: 14px;
}

body.page-trips .my-trips-dashboard-shell .my-trip-item {
    border-color: #dcecf4;
    background:
        linear-gradient(90deg, rgba(240, 249, 255, 0.76), rgba(255, 255, 255, 0.98)),
        #ffffff;
}

body.page-trips .my-trips-dashboard-shell .my-trip-route-arrow {
    background: linear-gradient(135deg, #15930f, #38bdf8);
}

body.page-trips .my-trips-dashboard-shell .my-trip-item-icon {
    background: #e8f8eb;
    color: #15930f;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero {
    border-color: rgba(53, 240, 120, 0.18);
    background:
        radial-gradient(circle at 78% 18%, rgba(244, 196, 48, 0.15), transparent 26%),
        radial-gradient(circle at 94% 62%, rgba(53, 240, 120, 0.15), transparent 25%),
        linear-gradient(135deg, rgba(7, 30, 24, 0.97), rgba(4, 13, 12, 0.94));
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
    background:
        linear-gradient(90deg, rgba(4, 18, 13, 0.84), rgba(7, 30, 24, 0.58)),
        url("../images/my-trips-hero.png") right center / auto 100% no-repeat;
    background-blend-mode: multiply;
    opacity: 0.86;
    filter: saturate(0.74) brightness(0.74);
    mix-blend-mode: normal;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel {
    border-color: rgba(150, 255, 174, 0.16);
    background: rgba(4, 18, 13, 0.72);
    color: #f4fff4;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.26);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel span {
    color: #8ee68a;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
    border-color: rgba(150, 255, 174, 0.12);
    background: rgba(5, 19, 14, 0.74);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-stat {
    border-right-color: rgba(150, 255, 174, 0.12);
    background: transparent;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-stat:hover {
    background: rgba(53, 240, 120, 0.045);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-stat-icon,
html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trip-item-icon {
    background: rgba(53, 240, 120, 0.12);
    color: #8ee68a;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trip-card:hover {
    border-color: rgba(53, 240, 120, 0.24);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.30);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trip-meta-row span {
    border-color: rgba(150, 255, 174, 0.12);
    background: rgba(4, 18, 13, 0.54);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trip-item {
    border-color: rgba(150, 255, 174, 0.12);
    background:
        linear-gradient(90deg, rgba(53, 240, 120, 0.035), rgba(255, 255, 255, 0.015)),
        rgba(4, 18, 13, 0.62);
}

@media (max-width: 1100px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        padding-right: 330px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        width: 350px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat:nth-child(2) {
        border-right: 0;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat:nth-child(-n + 2) {
        border-bottom: 1px solid #e6edf5;
    }

    html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-stat:nth-child(-n + 2) {
        border-bottom-color: rgba(150, 255, 174, 0.12);
    }
}

@media (max-width: 920px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        grid-template-columns: minmax(0, 1fr);
        min-height: 470px;
        padding-right: clamp(28px, 4vw, 44px);
        padding-bottom: 210px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        inset: auto 0 0;
        width: 100%;
        height: 205px;
        background-position: right bottom;
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000000 24%);
        mask-image: linear-gradient(180deg, transparent 0, #000000 24%);
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel {
        min-height: 0;
        width: min(100%, 230px);
    }

    body.page-trips .my-trips-results-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-trips .my-trips-filter-side {
        position: static;
    }
}

@media (max-width: 680px) {
    body.page-trips .site-main {
        padding-left: 12px;
        padding-right: 12px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-shell {
        gap: 14px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        min-height: 500px;
        padding: 26px 20px 185px;
        border-radius: 18px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        height: 180px;
        background-size: auto 100%;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero h1 {
        font-size: clamp(32px, 10vw, 38px);
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero p {
        font-size: 14px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero-panel {
        padding: 18px;
        border-radius: 16px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-next-focus {
        padding: 18px;
        border-radius: 16px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
        padding: 8px;
        border-radius: 16px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 92px;
        padding: 14px 10px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat-icon {
        width: 36px;
        height: 36px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat-copy strong {
        font-size: 22px;
    }

    body.page-trips .my-trips-filter-side,
    body.page-trips .my-trips-dashboard-shell .my-trip-card {
        border-radius: 18px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trip-card-summary {
        grid-template-columns: minmax(0, 1fr);
        padding: 20px 18px 20px 22px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trip-summary-side {
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
    }

    body.page-trips .my-trips-dashboard-shell .my-trip-ref {
        justify-items: start;
        text-align: left;
    }

    body.page-trips .my-trips-dashboard-shell .my-trip-summary-action {
        justify-content: center;
        width: 100%;
    }

    body.page-trips .my-trips-dashboard-shell .my-trip-card-body {
        padding: 0 18px 20px 22px;
    }
}

@media (max-width: 360px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat,
    body.page-trips .my-trips-dashboard-shell .my-trips-stat:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e6edf5;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-stat:last-child {
        border-bottom: 0;
    }

    html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-stat {
        border-bottom-color: rgba(150, 255, 174, 0.12);
    }
}

/* My Trips reassurance surfaces use a calm animated green wash, echoing the
 * Flights and Hotels trust strip without distracting from booking details. */
body.page-trips .my-trips-dashboard-shell .my-trips-next-focus,
body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
    background:
        linear-gradient(
            112deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(232, 248, 235, 0.98) 24%,
            rgba(247, 253, 249, 0.98) 46%,
            rgba(207, 244, 218, 0.94) 68%,
            rgba(255, 255, 255, 0.98) 100%
        );
    background-size: 240% 100%;
    animation: myTripsGreenGradient 10s ease-in-out infinite;
}

body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
    animation-delay: -3.5s;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-next-focus,
html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
    background:
        linear-gradient(
            112deg,
            rgba(5, 19, 14, 0.94) 0%,
            rgba(10, 47, 26, 0.92) 24%,
            rgba(6, 27, 18, 0.95) 46%,
            rgba(18, 70, 36, 0.88) 68%,
            rgba(5, 19, 14, 0.94) 100%
        );
    background-size: 240% 100%;
}

@keyframes myTripsGreenGradient {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-trips .my-trips-dashboard-shell .my-trips-next-focus,
    body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid {
        animation: none;
        background-position: 50% 50%;
    }
}

/* Hotel confirmation uses the same modern hierarchy as the portal's other
 * dedicated popups: icon-led header, grouped content, and a clear action bar. */
.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm {
    width: min(92vw, 680px) !important;
    min-height: 0;
    max-height: min(88vh, 760px);
    overflow: hidden;
    border: 1px solid rgba(21, 147, 15, 0.20);
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 30px 80px rgba(15, 35, 55, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.72) inset;
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm::before {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--green), #38bdf8, var(--coral));
    pointer-events: none;
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header {
    min-height: 94px;
    padding: 18px 20px 18px 22px;
    border-bottom: 1px solid rgba(21, 147, 15, 0.14);
    background:
        radial-gradient(circle at 82% 8%, rgba(56, 189, 248, 0.10), transparent 30%),
        linear-gradient(120deg, #ffffff, #f0fbf3 58%, #f4faff);
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header-icon {
    width: 50px;
    height: 50px;
    border-color: rgba(21, 147, 15, 0.20);
    border-radius: 15px;
    background: linear-gradient(135deg, #e8f8eb, #eef9ff);
    color: #15930f;
    box-shadow: 0 12px 28px rgba(21, 147, 15, 0.12);
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header-icon .icon {
    width: 27px;
    height: 27px;
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-title {
    color: #172b46;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 850;
    letter-spacing: -0.025em;
    line-height: 1.1;
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-subtitle {
    color: #607086;
    font-size: 13px;
    font-weight: 700;
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-close {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-color: rgba(34, 72, 105, 0.14);
    background: rgba(255, 255, 255, 0.92);
    color: #334a65;
    box-shadow: 0 10px 24px rgba(30, 77, 112, 0.10);
}

.travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-content {
    padding: 0;
    background:
        radial-gradient(circle at 100% 0%, rgba(56, 189, 248, 0.07), transparent 30%),
        linear-gradient(180deg, #ffffff, #f8fcf9);
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm {
    gap: 16px;
    padding: 22px;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-note {
    position: relative;
    margin: 0;
    padding: 13px 15px 13px 42px;
    border: 1px solid rgba(21, 147, 15, 0.15);
    border-radius: 14px;
    background: rgba(232, 248, 235, 0.76);
    color: #425872;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-note::before {
    position: absolute;
    top: 12px;
    left: 14px;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #15930f;
    color: #ffffff;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-note.is-policy::before {
    content: "!";
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-note.is-eligibility::before {
    content: "\2713";
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list {
    gap: 8px;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div {
    grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
    gap: 16px;
    min-height: 62px;
    padding: 14px 16px;
    border-color: #dce8f1;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 22px rgba(28, 77, 112, 0.05);
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div:first-child {
    border-color: rgba(21, 147, 15, 0.20);
    background: linear-gradient(135deg, #f0fbf3, #ffffff);
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list dt {
    color: #71839a;
    font-size: 11px;
    letter-spacing: 0.06em;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list dd {
    color: #172b46;
    font-size: 14px;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div:first-child dd {
    color: #087d39;
    font-size: 19px;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-actions {
    gap: 10px;
    margin: 2px -22px -22px;
    padding: 16px 22px 18px;
    border-top-color: #dce8f1;
    background: rgba(247, 252, 249, 0.96);
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-button {
    min-width: 148px;
    min-height: 46px;
    border-radius: 12px;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-cancel {
    border-color: #cddce8;
    background: #ffffff;
    color: #334a65;
    box-shadow: none;
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-ok {
    border-color: #11810d;
    background: #15930f;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(21, 147, 15, 0.24);
}

.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-ok:hover,
.travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-ok:focus-visible {
    border-color: #0f7f0d;
    background: #0f7f0d;
    box-shadow: 0 16px 32px rgba(21, 147, 15, 0.30);
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-hotel-confirm {
    border-color: rgba(150, 255, 174, 0.18);
    background: #07130e;
    box-shadow:
        0 32px 86px rgba(0, 0, 0, 0.56),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .travelnet-popup-header {
    border-bottom-color: rgba(150, 255, 174, 0.14);
    background:
        radial-gradient(circle at 82% 8%, rgba(56, 189, 248, 0.10), transparent 30%),
        linear-gradient(120deg, #0b2015, #07130e 62%, #091923);
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .travelnet-popup-header-icon {
    border-color: rgba(142, 230, 138, 0.22);
    background: rgba(53, 240, 120, 0.10);
    color: #8ee68a;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .travelnet-popup-content {
    background:
        radial-gradient(circle at 100% 0%, rgba(56, 189, 248, 0.07), transparent 30%),
        linear-gradient(180deg, #091a12, #07130e);
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-note {
    border-color: rgba(142, 230, 138, 0.16);
    background: rgba(53, 240, 120, 0.065);
    color: rgba(237, 246, 239, 0.74);
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div,
html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div:first-child {
    border-color: rgba(150, 255, 174, 0.12);
    background: rgba(4, 18, 13, 0.62);
    box-shadow: none;
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div:first-child dd {
    color: #8ee68a;
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-actions {
    border-top-color: rgba(150, 255, 174, 0.12);
    background: rgba(4, 18, 13, 0.84);
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-cancel {
    border-color: rgba(150, 255, 174, 0.18);
    background: rgba(8, 30, 20, 0.86);
    color: #dcebe0;
}

html.travelnet-dark .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-ok {
    border-color: #15930f;
    background: #15930f;
    color: #ffffff;
}

@media (max-width: 640px) {
    .travelnet-popup {
        padding: 10px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
        border-radius: 18px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 10px;
        min-height: 82px;
        padding: 13px 12px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header-icon {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-header-icon .icon {
        width: 23px;
        height: 23px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-title {
        font-size: 19px;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-subtitle {
        font-size: 11px;
        line-height: 1.35;
    }

    .travelnet-popup-panel.travelnet-popup-panel-hotel-confirm .travelnet-popup-close {
        width: 40px;
        height: 40px;
    }

    .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm {
        gap: 12px;
        padding: 14px;
    }

    .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-list div {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        min-height: 0;
        padding: 12px 13px;
    }

    .travelnet-popup-panel-hotel-confirm .hotel-selection-confirm-actions {
        margin: 2px -14px -14px;
        padding: 14px;
    }
}

/* Terms and Conditions page: premium travel-focused legal reading layout. */
body.page-terms .content-page {
    --tn-navy: var(--ink);
    --tn-text: var(--muted);
    --tn-green: var(--green-dark);
    --tn-green-soft: var(--green-soft);
    --tn-blue-soft: var(--light-sky-soft, #edf6ff);
    --tn-border: rgba(16, 33, 61, 0.09);
    --tn-card: rgba(255, 255, 255, 0.94);
    --tn-shadow: 0 16px 40px rgba(38, 68, 105, 0.10);
}

body.page-terms .content-page.page-band {
    width: 100%;
    max-width: 1440px;
    margin: 24px auto 48px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.page-terms .content-shell {
    gap: 24px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-terms .content-shell::before {
    top: -100px;
    right: -80px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(8, 121, 201, 0.10), transparent 70%);
}

body.page-terms .content-shell::after {
    bottom: 12%;
    left: -120px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(85, 191, 13, 0.10), transparent 72%);
}

body.page-terms .content-hero-panel.is-simple {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    height: 360px;
    min-height: 300px;
    border-color: var(--tn-border);
    border-radius: 24px;
    background: var(--tn-card);
    box-shadow: var(--tn-shadow);
}

body.page-terms .content-hero-panel.is-simple > .content-hero-copy {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    min-height: 340px;
    padding: clamp(24px, 2.35vw, 32px);
    background:
        radial-gradient(circle at 8% 5%, rgba(85, 191, 13, 0.10), transparent 36%),
        linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(247, 252, 250, 0.96));
}

body.page-terms .content-hero-panel.is-simple > .content-hero-image {
    height: 100%;
    min-height: 340px;
    border-left-color: var(--tn-border);
}

body.page-terms .content-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(247, 252, 250, 0.20), transparent 20%);
}

body.page-terms .content-hero-image img {
    object-position: center;
}

body.page-terms .content-eyebrow {
    min-height: 30px;
    border: 1px solid rgba(27, 143, 58, 0.12);
    background: var(--tn-green-soft);
    color: var(--tn-green);
    letter-spacing: 0.09em;
}

body.page-terms .content-hero-panel h1 {
    max-width: 560px;
    margin: 14px 0 12px;
    color: var(--tn-navy);
    font-size: clamp(42px, 3.8vw, 54px);
    line-height: 0.98;
}

body.page-terms .content-hero-panel p {
    max-width: 620px;
    color: var(--tn-text);
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.52;
}

body.page-terms .content-terms-reassurance {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    width: min(100%, 430px);
    margin-top: auto;
    padding: 10px 13px;
    border: 1px solid rgba(27, 143, 58, 0.12);
    border-radius: 15px;
    background: rgba(234, 248, 236, 0.88);
}

body.page-terms .content-terms-reassurance > span:first-child {
    display: grid;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #ffffff;
    color: var(--tn-green);
    place-items: center;
    box-shadow: 0 8px 18px rgba(27, 143, 58, 0.10);
}

body.page-terms .content-terms-reassurance .icon {
    width: 21px;
    height: 21px;
}

body.page-terms .content-terms-reassurance strong,
body.page-terms .content-terms-reassurance small {
    display: block;
}

body.page-terms .content-terms-reassurance strong {
    color: var(--tn-navy);
    font-size: 14px;
}

body.page-terms .content-terms-reassurance small {
    margin-top: 2px;
    color: var(--tn-text);
    font-size: 12px;
    line-height: 1.35;
}

body.page-terms .content-terms-layout {
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    gap: 24px;
}

body.page-terms .content-terms-index {
    top: 104px;
    gap: 14px;
    max-height: calc(100vh - 122px);
    padding: 16px;
    overflow-y: auto;
    border-color: var(--tn-border);
    border-radius: 22px;
    background: var(--tn-card);
    box-shadow: var(--tn-shadow);
    scrollbar-color: rgba(27, 143, 58, 0.42) transparent;
    scrollbar-width: thin;
}

body.page-terms .content-terms-nav {
    min-width: 0;
}

body.page-terms .content-terms-nav-eyebrow {
    color: var(--tn-green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

body.page-terms .content-terms-nav h2 {
    margin: 4px 0 12px;
    color: var(--tn-navy);
    font-size: 20px;
}

body.page-terms .content-terms-nav-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-terms .content-terms-nav-list a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 50px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: var(--tn-text);
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}

body.page-terms .content-terms-nav-list a:hover,
body.page-terms .content-terms-nav-list a:focus-visible {
    border-color: rgba(27, 143, 58, 0.14);
    background: rgba(234, 248, 236, 0.60);
    color: var(--tn-navy);
}

body.page-terms .content-terms-nav-list a:focus-visible {
    outline: 3px solid rgba(27, 143, 58, 0.22);
    outline-offset: 2px;
}

body.page-terms .content-terms-nav-list a.is-active {
    border-color: rgba(27, 143, 58, 0.16);
    background: var(--tn-green-soft);
    color: var(--tn-green);
}

body.page-terms .content-terms-nav-icon {
    display: grid;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--tn-blue-soft);
    color: var(--light-sky, #0879c9);
    place-items: center;
}

body.page-terms .content-terms-nav-list a.is-active .content-terms-nav-icon {
    background: rgba(255, 255, 255, 0.88);
    color: var(--tn-green);
}

body.page-terms .content-terms-nav-icon .icon {
    width: 18px;
    height: 18px;
}

body.page-terms .content-terms-nav-copy {
    min-width: 0;
}

body.page-terms .content-terms-nav-copy small,
body.page-terms .content-terms-nav-copy strong {
    display: block;
}

body.page-terms .content-terms-nav-copy small {
    color: var(--tn-green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

body.page-terms .content-terms-nav-copy strong {
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

body.page-terms .content-terms-support {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 20px;
    gap: 10px;
    align-items: center;
    min-height: 72px;
    padding: 11px;
    border: 1px solid rgba(8, 121, 201, 0.12);
    border-radius: 15px;
    background: var(--tn-blue-soft);
    color: var(--tn-navy);
    text-decoration: none;
}

body.page-terms .content-terms-support > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #ffffff;
    color: var(--light-sky, #0879c9);
    place-items: center;
}

body.page-terms .content-terms-support .icon {
    width: 18px;
    height: 18px;
}

body.page-terms .content-terms-support > .icon {
    color: var(--tn-green);
}

body.page-terms .content-terms-support strong,
body.page-terms .content-terms-support small {
    display: block;
}

body.page-terms .content-terms-support strong {
    font-size: 13px;
}

body.page-terms .content-terms-support small {
    margin-top: 2px;
    color: var(--tn-text);
    font-size: 11px;
    line-height: 1.3;
}

body.page-terms .content-terms-stack {
    gap: 12px;
    min-width: 0;
}

body.page-terms .content-terms-intros {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 2px;
}

body.page-terms .content-terms-intro {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0;
    padding: 15px 16px;
    border-radius: 16px;
    box-shadow: none;
}

body.page-terms .content-terms-intro.is-information {
    border-color: rgba(8, 121, 201, 0.12);
    background: var(--tn-blue-soft);
}

body.page-terms .content-terms-intro.is-supplier {
    border-color: rgba(27, 143, 58, 0.13);
    background: var(--tn-green-soft);
}

body.page-terms .content-terms-intro-icon {
    display: grid;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--light-sky, #0879c9);
    place-items: center;
    box-shadow: 0 8px 18px rgba(38, 68, 105, 0.08);
}

body.page-terms .content-terms-intro.is-supplier .content-terms-intro-icon {
    color: var(--tn-green);
}

body.page-terms .content-terms-intro-icon .icon {
    width: 20px;
    height: 20px;
}

body.page-terms .content-terms-intro p {
    margin: 0;
    color: var(--tn-text);
    font-size: 14px;
    line-height: 1.58;
}

body.page-terms .content-terms-card {
    scroll-margin-top: 112px;
    border-color: var(--tn-border);
    border-radius: 16px;
    background: var(--tn-card);
    box-shadow: 0 10px 26px rgba(38, 68, 105, 0.07);
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-terms .content-terms-card:hover {
    border-color: rgba(27, 143, 58, 0.20);
    box-shadow: 0 14px 32px rgba(38, 68, 105, 0.10);
}

body.page-terms .content-terms-card[open] {
    border-color: rgba(27, 143, 58, 0.28);
    background:
        linear-gradient(180deg, rgba(234, 248, 236, 0.42), rgba(255, 255, 255, 0.96) 150px),
        var(--tn-card);
    box-shadow: 0 16px 36px rgba(27, 143, 58, 0.10);
}

body.page-terms .content-terms-summary {
    grid-template-columns: 44px minmax(0, 1fr) 38px;
    gap: 14px;
    min-height: 76px;
    padding: 12px 16px;
    color: var(--tn-navy);
    font-size: 16px;
}

body.page-terms .content-terms-summary:hover,
body.page-terms .content-terms-summary:focus-visible {
    background: rgba(234, 248, 236, 0.42);
}

body.page-terms .content-terms-summary:focus-visible {
    outline: 3px solid rgba(27, 143, 58, 0.26);
    outline-offset: -3px;
}

body.page-terms .content-terms-section-icon {
    display: grid;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--tn-blue-soft);
    color: var(--light-sky, #0879c9);
    place-items: center;
}

body.page-terms .content-terms-card[open] .content-terms-section-icon {
    background: var(--tn-green-soft);
    color: var(--tn-green);
}

body.page-terms .content-terms-section-icon .icon {
    width: 21px;
    height: 21px;
}

body.page-terms .content-terms-heading {
    min-width: 0;
}

body.page-terms .content-terms-heading small,
body.page-terms .content-terms-heading strong {
    display: block;
}

body.page-terms .content-terms-heading small {
    margin-bottom: 3px;
    color: var(--tn-green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

body.page-terms .content-terms-heading strong {
    color: var(--tn-navy);
    font-size: clamp(17px, 1.45vw, 19px);
    line-height: 1.28;
    overflow-wrap: anywhere;
}

body.page-terms .content-terms-toggle {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(27, 143, 58, 0.12);
    border-radius: 50%;
    background: var(--tn-green-soft);
    color: var(--tn-green);
    font-size: 23px;
}

body.page-terms .content-terms-card[open] .content-terms-toggle {
    background: var(--tn-green);
    color: #ffffff;
}

body.page-terms .content-terms-body {
    gap: 14px;
    padding: 20px 22px 24px 74px;
    border-top-color: var(--tn-border);
    animation: contentTermsReveal 180ms ease-out;
}

body.page-terms .content-terms-body p,
body.page-terms .content-terms-body ul,
body.page-terms .content-terms-body ol {
    max-width: 920px;
    color: var(--tn-text);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.72;
}

body.page-terms .content-terms-body p {
    margin: 0;
}

body.page-terms .content-terms-body ul,
body.page-terms .content-terms-body ol {
    margin: 0;
    padding-left: 22px;
}

body.page-terms .content-terms-body li + li {
    margin-top: 7px;
}

@keyframes contentTermsReveal {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

html.travelnet-dark body.page-terms {
    background:
        radial-gradient(circle at 86% 8%, rgba(8, 121, 201, 0.12), transparent 30%),
        radial-gradient(circle at 10% 30%, rgba(21, 147, 15, 0.12), transparent 34%),
        linear-gradient(180deg, #071018, #07130f 52%, #081018);
}

html.travelnet-dark body.page-terms .content-page {
    --tn-navy: #f1f8f4;
    --tn-text: rgba(225, 237, 230, 0.78);
    --tn-green: #8ee68a;
    --tn-green-soft: rgba(52, 138, 66, 0.18);
    --tn-blue-soft: rgba(31, 118, 176, 0.16);
    --tn-border: rgba(164, 221, 176, 0.14);
    --tn-card: rgba(11, 26, 29, 0.94);
    --tn-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
}

html.travelnet-dark body.page-terms .content-shell {
    background: transparent;
}

html.travelnet-dark body.page-terms .content-hero-panel.is-simple {
    border-color: var(--tn-border);
    background: #0b1a1d;
    box-shadow: var(--tn-shadow);
}

html.travelnet-dark body.page-terms .content-hero-panel.is-simple > .content-hero-copy {
    background:
        radial-gradient(circle at 8% 5%, rgba(142, 230, 138, 0.10), transparent 36%),
        linear-gradient(145deg, rgba(16, 34, 35, 0.98), rgba(8, 21, 24, 0.96));
}

html.travelnet-dark body.page-terms .content-hero-panel.is-simple > .content-hero-image {
    border-left-color: var(--tn-border);
}

html.travelnet-dark body.page-terms .content-hero-image::after {
    background: linear-gradient(90deg, rgba(8, 21, 24, 0.30), transparent 22%);
}

html.travelnet-dark body.page-terms .content-hero-image img {
    filter: brightness(0.66) saturate(0.78);
}

html.travelnet-dark body.page-terms .content-eyebrow {
    border-color: rgba(142, 230, 138, 0.20);
    background: rgba(52, 138, 66, 0.18);
    color: #bdf4ba;
}

html.travelnet-dark body.page-terms .content-hero-panel h1,
html.travelnet-dark body.page-terms .content-terms-nav h2,
html.travelnet-dark body.page-terms .content-terms-heading strong {
    color: var(--tn-navy);
    text-shadow: none;
}

html.travelnet-dark body.page-terms .content-hero-panel p {
    color: var(--tn-text);
}

html.travelnet-dark body.page-terms .content-terms-reassurance {
    border-color: rgba(142, 230, 138, 0.16);
    background: rgba(30, 83, 42, 0.24);
}

html.travelnet-dark body.page-terms .content-terms-reassurance > span:first-child,
html.travelnet-dark body.page-terms .content-terms-nav-list a.is-active .content-terms-nav-icon,
html.travelnet-dark body.page-terms .content-terms-support > span:first-child,
html.travelnet-dark body.page-terms .content-terms-intro-icon {
    background: rgba(8, 24, 25, 0.88);
    color: #8ee68a;
    box-shadow: none;
}

html.travelnet-dark body.page-terms .content-terms-reassurance strong {
    color: var(--tn-navy);
}

html.travelnet-dark body.page-terms .content-terms-reassurance small,
html.travelnet-dark body.page-terms .content-terms-support small {
    color: var(--tn-text);
}

html.travelnet-dark body.page-terms .content-terms-index,
html.travelnet-dark body.page-terms .content-terms-card {
    border-color: var(--tn-border);
    background: var(--tn-card);
    color: var(--tn-navy);
    box-shadow: var(--tn-shadow);
}

html.travelnet-dark body.page-terms .content-terms-nav-list a {
    color: var(--tn-text);
}

html.travelnet-dark body.page-terms .content-terms-nav-list a:hover,
html.travelnet-dark body.page-terms .content-terms-nav-list a:focus-visible,
html.travelnet-dark body.page-terms .content-terms-nav-list a.is-active {
    border-color: rgba(142, 230, 138, 0.18);
    background: rgba(52, 138, 66, 0.18);
    color: #bdf4ba;
}

html.travelnet-dark body.page-terms .content-terms-nav-icon,
html.travelnet-dark body.page-terms .content-terms-section-icon {
    background: rgba(31, 118, 176, 0.16);
    color: #7dd3fc;
}

html.travelnet-dark body.page-terms .content-terms-support {
    border-color: rgba(125, 211, 252, 0.16);
    background: rgba(31, 118, 176, 0.13);
    color: var(--tn-navy);
}

html.travelnet-dark body.page-terms .content-terms-intro {
    box-shadow: none;
}

html.travelnet-dark body.page-terms .content-terms-intro.is-information {
    border-color: rgba(125, 211, 252, 0.15);
    background: rgba(31, 118, 176, 0.13);
}

html.travelnet-dark body.page-terms .content-terms-intro.is-supplier {
    border-color: rgba(142, 230, 138, 0.15);
    background: rgba(52, 138, 66, 0.14);
}

html.travelnet-dark body.page-terms .content-terms-intro p,
html.travelnet-dark body.page-terms .content-terms-body p,
html.travelnet-dark body.page-terms .content-terms-body ul,
html.travelnet-dark body.page-terms .content-terms-body ol {
    color: var(--tn-text);
}

html.travelnet-dark body.page-terms .content-terms-card:hover {
    border-color: rgba(142, 230, 138, 0.22);
}

html.travelnet-dark body.page-terms .content-terms-card[open] {
    border-color: rgba(142, 230, 138, 0.28);
    background:
        linear-gradient(180deg, rgba(52, 138, 66, 0.13), rgba(11, 26, 29, 0.94) 150px),
        var(--tn-card);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-terms .content-terms-summary {
    color: var(--tn-navy);
}

html.travelnet-dark body.page-terms .content-terms-summary:hover,
html.travelnet-dark body.page-terms .content-terms-summary:focus-visible {
    background: rgba(52, 138, 66, 0.12);
}

html.travelnet-dark body.page-terms .content-terms-card[open] .content-terms-section-icon {
    background: rgba(52, 138, 66, 0.18);
    color: #8ee68a;
}

html.travelnet-dark body.page-terms .content-terms-toggle {
    border-color: rgba(142, 230, 138, 0.18);
    background: rgba(52, 138, 66, 0.18);
    color: #8ee68a;
}

html.travelnet-dark body.page-terms .content-terms-card[open] .content-terms-toggle {
    background: #15930f;
    color: #ffffff;
}

html.travelnet-dark body.page-terms .content-terms-body {
    border-top-color: var(--tn-border);
}

@media (max-width: 1100px) {
    body.page-terms .content-hero-panel.is-simple {
        grid-template-columns: minmax(0, 0.5fr) minmax(0, 0.5fr);
        height: auto;
    }

    body.page-terms .content-terms-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-terms .content-terms-index {
        position: static;
        max-height: none;
        overflow: visible;
    }

    body.page-terms .content-terms-nav-list {
        display: flex;
        gap: 8px;
        padding: 2px 0 8px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-color: rgba(27, 143, 58, 0.42) transparent;
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }

    body.page-terms .content-terms-nav-list li {
        flex: 0 0 250px;
        scroll-snap-align: start;
    }

    body.page-terms .content-terms-support {
        width: min(100%, 360px);
    }
}

@media (max-width: 767px) {
    body.page-terms .content-page.page-band {
        margin-top: 16px;
        margin-bottom: 36px;
    }

    body.page-terms .content-shell {
        gap: 16px;
    }

    body.page-terms .content-hero-panel.is-simple {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        border-radius: 20px;
    }

    body.page-terms .content-hero-panel.is-simple > .content-hero-copy {
        min-height: 0;
        padding: 24px;
    }

    body.page-terms .content-hero-panel.is-simple > .content-hero-image {
        min-height: 220px;
        height: 220px;
        border-top: 1px solid var(--tn-border);
        border-left: 0;
    }

    body.page-terms .content-hero-image::after {
        background: linear-gradient(180deg, rgba(247, 252, 250, 0.20), transparent 22%);
    }

    html.travelnet-dark body.page-terms .content-hero-image::after {
        background: linear-gradient(180deg, rgba(8, 21, 24, 0.26), transparent 24%);
    }

    body.page-terms .content-hero-panel h1 {
        font-size: clamp(36px, 11vw, 42px);
    }

    body.page-terms .content-terms-reassurance {
        margin-top: 22px;
    }

    body.page-terms .content-terms-index {
        padding: 13px;
        border-radius: 18px;
    }

    body.page-terms .content-terms-nav h2 {
        margin-bottom: 9px;
        font-size: 18px;
    }

    body.page-terms .content-terms-nav-list li {
        flex-basis: min(250px, calc(100vw - 82px));
    }

    body.page-terms .content-terms-intros {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-terms .content-terms-summary {
        grid-template-columns: 42px minmax(0, 1fr) 36px;
        gap: 11px;
        min-height: 72px;
        padding: 12px 13px;
    }

    body.page-terms .content-terms-section-icon {
        width: 42px;
        height: 42px;
    }

    body.page-terms .content-terms-heading strong {
        font-size: 17px;
    }

    body.page-terms .content-terms-toggle {
        width: 36px;
        height: 36px;
    }

    body.page-terms .content-terms-body {
        padding: 18px 18px 22px;
    }
}

@media (max-width: 420px) {
    body.page-terms .content-hero-panel.is-simple > .content-hero-copy {
        padding: 21px 19px;
    }

    body.page-terms .content-hero-panel.is-simple > .content-hero-image {
        min-height: 205px;
        height: 205px;
    }

    body.page-terms .content-terms-intro {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 13px;
    }

    body.page-terms .content-terms-intro-icon {
        width: 38px;
        height: 38px;
    }

    body.page-terms .content-terms-summary {
        grid-template-columns: 38px minmax(0, 1fr) 34px;
        gap: 9px;
        padding: 11px;
    }

    body.page-terms .content-terms-section-icon {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    body.page-terms .content-terms-toggle {
        width: 34px;
        height: 34px;
    }
}

/* Terms premium alignment: match the isolated About and Contact page family
 * while retaining the long-form legal navigation and collapsible sections. */
body.page-terms {
    --terms-page-bg: #f7fafc;
    --terms-surface: rgba(255, 255, 255, 0.9);
    --terms-text-primary: #172b4d;
    --terms-text-secondary: #58708e;
    --terms-accent-primary: #2f9e44;
    --terms-accent-soft: #eaf8ec;
    --terms-border-soft: rgba(23, 43, 77, 0.08);
    --terms-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-terms .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-terms .content-page,
body.page-terms .content-page.page-band {
    --tn-navy: var(--terms-text-primary);
    --tn-text: var(--terms-text-secondary);
    --tn-green: var(--terms-accent-primary);
    --tn-green-soft: var(--terms-accent-soft);
    --tn-blue-soft: #eef8f1;
    --tn-border: var(--terms-border-soft);
    --tn-card: var(--terms-surface);
    --tn-shadow: var(--terms-shadow);
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--terms-page-bg), #f2faf5 50%, #fbfefc 100%);
    box-shadow: none;
    color: var(--terms-text-primary);
}

body.page-terms .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 96, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-terms .content-page .content-shell,
html.travelnet-dark body.page-terms .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--terms-text-primary);
}

body.page-terms .content-page .content-shell::before,
body.page-terms .content-page .content-shell::after {
    display: none;
}

.terms-premium {
    display: grid;
    gap: clamp(24px, 2.5vw, 36px);
}

.terms-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--terms-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--terms-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.terms-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-terms .terms-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--terms-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.terms-premium-title-accent {
    color: var(--terms-accent-primary);
}

.terms-premium-summary {
    max-width: 680px;
    margin: 0;
    color: var(--terms-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.terms-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.terms-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.terms-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

body.page-terms .content-terms-layout {
    gap: clamp(20px, 2vw, 30px);
}

body.page-terms .content-terms-index,
body.page-terms .content-terms-card {
    border-color: var(--terms-border-soft);
    background: var(--terms-surface);
    box-shadow: var(--terms-shadow);
}

body.page-terms .content-terms-index {
    border-radius: 24px;
}

body.page-terms .content-terms-card {
    border-radius: 18px;
}

body.page-terms .content-terms-nav-icon,
body.page-terms .content-terms-section-icon,
body.page-terms .content-terms-intro-icon {
    background: var(--terms-accent-soft);
    color: var(--terms-accent-primary);
}

body.page-terms .content-terms-support,
body.page-terms .content-terms-intro.is-information,
body.page-terms .content-terms-intro.is-supplier {
    border-color: rgba(47, 158, 68, 0.14);
    background: var(--terms-accent-soft);
}

body.page-terms .content-terms-support > span:first-child {
    color: var(--terms-accent-primary);
}

html.travelnet-dark body.page-terms {
    --terms-page-bg: #07100c;
    --terms-surface: rgba(18, 28, 24, 0.94);
    --terms-text-primary: #edf6ef;
    --terms-text-secondary: #b7c6ba;
    --terms-accent-primary: #4ade80;
    --terms-accent-soft: rgba(46, 160, 87, 0.14);
    --terms-border-soft: rgba(188, 214, 194, 0.14);
    --terms-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
    background:
        radial-gradient(circle at 14% 0%, rgba(21, 147, 15, 0.22), transparent 32%),
        linear-gradient(180deg, #08130d 0%, #0d1a12 46%, #111915 100%);
}

html.travelnet-dark body.page-terms .content-page,
html.travelnet-dark body.page-terms .content-page.page-band {
    --tn-navy: var(--terms-text-primary);
    --tn-text: var(--terms-text-secondary);
    --tn-green: var(--terms-accent-primary);
    --tn-green-soft: var(--terms-accent-soft);
    --tn-blue-soft: var(--terms-accent-soft);
    --tn-border: var(--terms-border-soft);
    --tn-card: var(--terms-surface);
    --tn-shadow: var(--terms-shadow);
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--terms-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--terms-text-primary);
}

html.travelnet-dark body.page-terms .terms-premium-hero {
    border-color: var(--terms-border-soft);
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--terms-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-terms .terms-premium-copy h1 {
    color: var(--terms-text-primary);
}

html.travelnet-dark body.page-terms .terms-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-terms .terms-premium-summary {
    color: var(--terms-text-secondary);
}

html.travelnet-dark body.page-terms .terms-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-terms .terms-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-terms .content-terms-index,
html.travelnet-dark body.page-terms .content-terms-card {
    border-color: var(--terms-border-soft);
    background: var(--terms-surface);
    color: var(--terms-text-primary);
    box-shadow: var(--terms-shadow);
}

html.travelnet-dark body.page-terms .content-terms-nav-icon,
html.travelnet-dark body.page-terms .content-terms-section-icon,
html.travelnet-dark body.page-terms .content-terms-intro-icon {
    background: var(--terms-accent-soft);
    color: var(--terms-accent-primary);
}

html.travelnet-dark body.page-terms .content-terms-support,
html.travelnet-dark body.page-terms .content-terms-intro.is-information,
html.travelnet-dark body.page-terms .content-terms-intro.is-supplier {
    border-color: rgba(74, 222, 128, 0.15);
    background: var(--terms-accent-soft);
    color: var(--terms-text-primary);
}

@media (max-width: 1180px) {
    .terms-premium-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .terms-premium-visual {
        min-height: 360px;
    }

    .terms-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-terms .terms-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 767px) {
    body.page-terms .content-page,
    body.page-terms .content-page.page-band {
        margin: 0;
        padding: 24px 14px 52px;
    }

    .terms-premium {
        gap: 18px;
    }

    .terms-premium-hero {
        border-radius: 28px;
    }

    .terms-premium-copy {
        padding: 34px 24px 26px;
    }

    body.page-terms .terms-premium-copy h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .terms-premium-visual {
        min-height: 285px;
    }
}

@media (max-width: 480px) {
    .terms-premium-copy {
        padding: 30px 21px 24px;
    }

    .terms-premium-visual {
        min-height: 240px;
    }
}

/* Premium Help page: align How can we help with About, Contact, and Terms. */
body.page-help {
    --help-page-bg: #f7fafc;
    --help-surface: rgba(255, 255, 255, 0.9);
    --help-surface-muted: #f3faf5;
    --help-text-primary: #172b4d;
    --help-text-secondary: #58708e;
    --help-accent-primary: #2f9e44;
    --help-accent-soft: #eaf8ec;
    --help-border-soft: rgba(23, 43, 77, 0.08);
    --help-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-help .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-help .help-page {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background: transparent;
    box-shadow: none;
    color: var(--help-text-primary);
}

body.page-help .help-page::before {
    inset: 0;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--help-page-bg), #f2faf5 50%, #fbfefc 100%);
}

body.page-help .help-shell {
    display: grid;
    gap: clamp(22px, 2.3vw, 34px);
    width: 100%;
    max-width: none;
    margin: 0;
}

body.page-help .help-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    gap: 0;
    align-items: stretch;
    min-height: 450px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--help-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--help-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

body.page-help .help-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-help .help-hero h1 {
    margin: 0 0 14px;
    color: var(--help-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.help-premium-title-accent {
    color: var(--help-accent-primary);
}

body.page-help .help-hero-copy p {
    max-width: 680px;
    margin: 0;
    color: var(--help-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.help-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.help-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.help-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

body.page-help .help-contact-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid rgba(47, 158, 68, 0.14);
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 8%, rgba(47, 158, 68, 0.08), transparent 28%),
        var(--help-surface);
    color: var(--help-text-primary);
    box-shadow: var(--help-shadow);
}

body.page-help .help-contact-icon {
    display: grid;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--help-accent-soft);
    color: var(--help-accent-primary);
    place-items: center;
}

body.page-help .help-contact-copy {
    min-width: 0;
}

body.page-help .help-contact-copy h2 {
    margin: 0;
    color: var(--help-text-primary);
    font-size: 20px;
}

body.page-help .help-contact-lines {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin-top: 5px;
}

body.page-help .help-contact-lines p {
    margin: 0;
    color: var(--help-text-secondary);
}

body.page-help .help-contact-card .primary-small {
    width: fit-content;
    margin: 0;
    border: 0;
    background: var(--help-accent-primary);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(47, 158, 68, 0.2);
}

body.page-help .help-quick-grid {
    gap: 16px;
}

body.page-help .help-action-card,
body.page-help .help-panel {
    border: 1px solid var(--help-border-soft);
    background: var(--help-surface);
    color: var(--help-text-primary);
    box-shadow: var(--help-shadow);
}

body.page-help .help-action-card {
    min-height: 220px;
    padding: 22px;
    border-radius: 20px;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.page-help .help-action-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47, 158, 68, 0.2);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.11);
}

body.page-help .help-action-card > span,
body.page-help .help-topic-card > span,
body.page-help .help-step > span {
    border: 1px solid rgba(47, 158, 68, 0.12);
    background: var(--help-accent-soft);
    color: var(--help-accent-primary);
}

body.page-help .help-action-card h2,
body.page-help .help-topic-card h3,
body.page-help .help-section-heading h2,
body.page-help .help-step strong,
body.page-help .help-status-list dt,
body.page-help .help-faq-item summary {
    color: var(--help-text-primary);
}

body.page-help .help-action-card p,
body.page-help .help-topic-card ul,
body.page-help .help-faq-item p,
body.page-help .help-step p,
body.page-help .help-status-list dd {
    color: var(--help-text-secondary);
}

body.page-help .help-action-card a,
body.page-help .help-page .secondary-link {
    color: var(--help-accent-primary);
}

body.page-help .help-panel {
    padding: 24px;
    border-radius: 24px;
}

body.page-help .help-section-heading .content-eyebrow {
    border: 1px solid rgba(47, 158, 68, 0.14);
    background: var(--help-accent-soft);
    color: var(--help-accent-primary);
}

body.page-help .help-topic-card,
body.page-help .help-faq-item,
body.page-help .help-status-list div {
    border-color: rgba(47, 158, 68, 0.11);
    background: var(--help-surface-muted);
}

body.page-help .help-faq-item[open] {
    border-color: rgba(47, 158, 68, 0.2);
    background: var(--help-accent-soft);
}

html.travelnet-dark body.page-help {
    --help-page-bg: #07100c;
    --help-surface: rgba(18, 28, 24, 0.94);
    --help-surface-muted: rgba(9, 21, 14, 0.76);
    --help-text-primary: #edf6ef;
    --help-text-secondary: #b7c6ba;
    --help-accent-primary: #4ade80;
    --help-accent-soft: rgba(46, 160, 87, 0.14);
    --help-border-soft: rgba(188, 214, 194, 0.14);
    --help-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-help .help-page::before {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--help-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
}

html.travelnet-dark body.page-help .help-hero,
html.travelnet-dark body.page-help .help-action-card,
html.travelnet-dark body.page-help .help-panel,
html.travelnet-dark body.page-help .help-contact-card {
    border-color: var(--help-border-soft);
    background: var(--help-surface);
    color: var(--help-text-primary);
    box-shadow: var(--help-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

html.travelnet-dark body.page-help .help-hero {
    background: rgba(18, 28, 24, 0.86);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-help .help-hero h1,
html.travelnet-dark body.page-help .help-contact-copy h2,
html.travelnet-dark body.page-help .help-action-card h2,
html.travelnet-dark body.page-help .help-topic-card h3,
html.travelnet-dark body.page-help .help-section-heading h2,
html.travelnet-dark body.page-help .help-step strong,
html.travelnet-dark body.page-help .help-status-list dt,
html.travelnet-dark body.page-help .help-faq-item summary {
    color: var(--help-text-primary);
    text-shadow: none;
}

html.travelnet-dark body.page-help .help-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-help .help-hero-copy p,
html.travelnet-dark body.page-help .help-contact-lines p,
html.travelnet-dark body.page-help .help-action-card p,
html.travelnet-dark body.page-help .help-topic-card ul,
html.travelnet-dark body.page-help .help-faq-item p,
html.travelnet-dark body.page-help .help-step p,
html.travelnet-dark body.page-help .help-status-list dd {
    color: var(--help-text-secondary);
}

html.travelnet-dark body.page-help .help-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-help .help-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-help .help-contact-icon,
html.travelnet-dark body.page-help .help-action-card > span,
html.travelnet-dark body.page-help .help-topic-card > span,
html.travelnet-dark body.page-help .help-step > span {
    border-color: rgba(74, 222, 128, 0.15);
    background: var(--help-accent-soft);
    color: var(--help-accent-primary);
}

html.travelnet-dark body.page-help .help-topic-card,
html.travelnet-dark body.page-help .help-faq-item,
html.travelnet-dark body.page-help .help-status-list div {
    border-color: rgba(74, 222, 128, 0.12);
    background: var(--help-surface-muted);
}

html.travelnet-dark body.page-help .help-faq-item[open] {
    border-color: rgba(74, 222, 128, 0.2);
    background: var(--help-accent-soft);
}

@media (max-width: 1180px) {
    body.page-help .help-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .help-premium-visual {
        min-height: 360px;
    }

    .help-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-help .help-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 980px) {
    body.page-help .help-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-help .help-contact-card {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    body.page-help .help-contact-card .primary-small {
        grid-column: 2;
    }
}

@media (max-width: 767px) {
    body.page-help .help-page {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 24px 14px 52px;
    }

    body.page-help .help-shell {
        gap: 18px;
    }

    body.page-help .help-hero {
        border-radius: 28px;
    }

    body.page-help .help-hero-copy {
        padding: 34px 24px 26px;
    }

    body.page-help .help-hero h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .help-premium-visual {
        min-height: 285px;
    }

    body.page-help .help-action-card,
    body.page-help .help-panel,
    body.page-help .help-contact-card {
        border-radius: 20px;
    }
}

@media (max-width: 560px) {
    body.page-help .help-quick-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-help .help-action-card {
        min-height: 0;
    }

    body.page-help .help-contact-card {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
    }

    body.page-help .help-contact-icon {
        width: 46px;
        height: 46px;
    }

    body.page-help .help-contact-card .primary-small {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: center;
    }

    .help-premium-visual {
        min-height: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-help .help-action-card {
        transition: none;
    }
}

/* Premium Travel Blog: match the blended hero and green card language used by
 * About, Contact, Terms, and Help while preserving all editorial content. */
body.page-blog {
    --blog-page-bg: #f7fafc;
    --blog-surface: rgba(255, 255, 255, 0.9);
    --blog-text-primary: #172b4d;
    --blog-text-secondary: #58708e;
    --blog-accent-primary: #2f9e44;
    --blog-accent-soft: #eaf8ec;
    --blog-border-soft: rgba(23, 43, 77, 0.08);
    --blog-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-blog .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-blog .content-page,
body.page-blog .content-page.page-band {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--blog-page-bg), #f2faf5 50%, #fbfefc 100%);
    box-shadow: none;
    color: var(--blog-text-primary);
}

body.page-blog .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 96, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-blog .content-page .content-shell,
html.travelnet-dark body.page-blog .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--blog-text-primary);
}

body.page-blog .content-page .content-shell::before,
body.page-blog .content-page .content-shell::after {
    display: none;
}

.blog-premium {
    display: grid;
    gap: clamp(24px, 2.5vw, 36px);
}

.blog-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--blog-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--blog-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.blog-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-blog .blog-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--blog-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.blog-premium-title-accent {
    color: var(--blog-accent-primary);
}

.blog-premium-summary {
    max-width: 680px;
    margin: 0;
    color: var(--blog-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.blog-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.blog-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.blog-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

body.page-blog .content-blog-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body.page-blog .content-blog-card {
    align-content: start;
    min-height: 300px;
    padding: 24px;
    border: 1px solid var(--blog-border-soft);
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 4%, rgba(47, 158, 68, 0.06), transparent 28%),
        var(--blog-surface);
    color: var(--blog-text-primary);
    box-shadow: var(--blog-shadow);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.page-blog .content-blog-card:hover {
    transform: translateY(-5px);
    border-color: rgba(47, 158, 68, 0.2);
    box-shadow: 0 26px 62px rgba(15, 23, 42, 0.12);
}

body.page-blog .content-blog-meta span {
    border: 1px solid rgba(47, 158, 68, 0.1);
    background: var(--blog-accent-soft);
    color: var(--blog-accent-primary);
    box-shadow: none;
}

body.page-blog .content-blog-card h2 {
    margin: 2px 0 0;
    color: var(--blog-text-primary);
    font-size: clamp(20px, 1.7vw, 24px);
    line-height: 1.25;
}

body.page-blog .content-blog-card p {
    margin: 0;
    color: var(--blog-text-secondary);
    font-size: 15px;
    line-height: 1.65;
}

body.page-blog .content-blog-card a {
    align-self: end;
    margin-top: auto;
    padding-top: 6px;
    color: var(--blog-accent-primary);
}

html.travelnet-dark body.page-blog {
    --blog-page-bg: #07100c;
    --blog-surface: rgba(18, 28, 24, 0.94);
    --blog-text-primary: #edf6ef;
    --blog-text-secondary: #b7c6ba;
    --blog-accent-primary: #4ade80;
    --blog-accent-soft: rgba(46, 160, 87, 0.14);
    --blog-border-soft: rgba(188, 214, 194, 0.14);
    --blog-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-blog .content-page,
html.travelnet-dark body.page-blog .content-page.page-band {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--blog-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--blog-text-primary);
}

html.travelnet-dark body.page-blog .blog-premium-hero {
    border-color: var(--blog-border-soft);
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--blog-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-blog .blog-premium-copy h1 {
    color: var(--blog-text-primary);
}

html.travelnet-dark body.page-blog .blog-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-blog .blog-premium-summary {
    color: var(--blog-text-secondary);
}

html.travelnet-dark body.page-blog .blog-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-blog .blog-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-blog .content-blog-card {
    border-color: var(--blog-border-soft);
    background:
        radial-gradient(circle at 96% 4%, rgba(74, 222, 128, 0.05), transparent 28%),
        var(--blog-surface);
    color: var(--blog-text-primary);
    box-shadow: var(--blog-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-blog .content-blog-card:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-blog .content-blog-meta span {
    border-color: rgba(74, 222, 128, 0.12);
    background: var(--blog-accent-soft);
    color: #86efac;
    box-shadow: none;
}

html.travelnet-dark body.page-blog .content-blog-card h2 {
    color: var(--blog-text-primary);
}

html.travelnet-dark body.page-blog .content-blog-card p {
    color: var(--blog-text-secondary);
}

html.travelnet-dark body.page-blog .content-blog-card a {
    color: var(--blog-accent-primary);
}

@media (max-width: 1180px) {
    .blog-premium-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .blog-premium-visual {
        min-height: 360px;
    }

    .blog-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-blog .blog-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 1100px) {
    body.page-blog .content-blog-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.page-blog .content-page,
    body.page-blog .content-page.page-band {
        margin: 0;
        padding: 24px 14px 52px;
    }

    .blog-premium {
        gap: 18px;
    }

    .blog-premium-hero {
        border-radius: 28px;
    }

    .blog-premium-copy {
        padding: 34px 24px 26px;
    }

    body.page-blog .blog-premium-copy h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .blog-premium-visual {
        min-height: 285px;
    }
}

@media (max-width: 620px) {
    body.page-blog .content-blog-list {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-blog .content-blog-card {
        min-height: 0;
        border-radius: 20px;
    }

    .blog-premium-visual {
        min-height: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-blog .content-blog-card {
        transition: none;
    }
}

/* Premium FAQs: preserve native details behaviour while matching the blended
 * hero, green surfaces, and charcoal dark theme used by premium content pages. */
body.page-faqs {
    --faq-page-bg: #f7fafc;
    --faq-surface: rgba(255, 255, 255, 0.9);
    --faq-text-primary: #172b4d;
    --faq-text-secondary: #58708e;
    --faq-accent-primary: #2f9e44;
    --faq-accent-soft: #eaf8ec;
    --faq-border-soft: rgba(23, 43, 77, 0.08);
    --faq-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-faqs .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-faqs .content-page,
body.page-faqs .content-page.page-band {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--faq-page-bg), #f2faf5 50%, #fbfefc 100%);
    box-shadow: none;
    color: var(--faq-text-primary);
}

body.page-faqs .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 96, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-faqs .content-page .content-shell,
html.travelnet-dark body.page-faqs .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--faq-text-primary);
}

body.page-faqs .content-page .content-shell::before,
body.page-faqs .content-page .content-shell::after {
    display: none;
}

.faq-premium {
    display: grid;
    gap: clamp(24px, 2.5vw, 36px);
}

.faq-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--faq-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--faq-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.faq-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-faqs .faq-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--faq-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.faq-premium-title-accent {
    color: var(--faq-accent-primary);
}

.faq-premium-summary {
    max-width: 680px;
    margin: 0;
    color: var(--faq-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.faq-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.faq-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.faq-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

body.page-faqs .content-faq-layout {
    gap: 14px;
}

body.page-faqs .content-faq-item {
    overflow: hidden;
    border: 1px solid var(--faq-border-soft);
    border-radius: 20px;
    background: var(--faq-surface);
    color: var(--faq-text-primary);
    box-shadow: var(--faq-shadow);
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-faqs .content-faq-item:hover {
    transform: translateY(-2px);
    border-color: rgba(47, 158, 68, 0.2);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.11);
}

body.page-faqs .content-faq-item[open] {
    border-color: rgba(47, 158, 68, 0.24);
    background:
        linear-gradient(180deg, rgba(234, 248, 236, 0.52), rgba(255, 255, 255, 0.96) 180px),
        var(--faq-surface);
}

body.page-faqs .content-faq-item summary {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 42px;
    gap: 14px;
    align-items: center;
    min-height: 82px;
    padding: 14px 18px;
    color: var(--faq-text-primary);
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.35;
}

body.page-faqs .content-faq-item summary:hover,
body.page-faqs .content-faq-item summary:focus-visible {
    background: rgba(234, 248, 236, 0.42);
}

body.page-faqs .content-faq-item summary:focus-visible {
    outline: 3px solid rgba(47, 158, 68, 0.24);
    outline-offset: -3px;
}

.content-faq-number {
    display: grid;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background: var(--faq-accent-soft);
    color: var(--faq-accent-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    place-items: center;
}

body.page-faqs .content-faq-plus {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(47, 158, 68, 0.12);
    background: var(--faq-accent-soft);
    color: var(--faq-accent-primary);
}

body.page-faqs .content-faq-item[open] .content-faq-plus {
    background: var(--faq-accent-primary);
    color: #ffffff;
}

body.page-faqs .content-faq-item p {
    margin: 0;
    padding: 2px 24px 26px 80px;
    color: var(--faq-text-secondary);
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.72;
}

html.travelnet-dark body.page-faqs {
    --faq-page-bg: #07100c;
    --faq-surface: rgba(18, 28, 24, 0.94);
    --faq-text-primary: #edf6ef;
    --faq-text-secondary: #b7c6ba;
    --faq-accent-primary: #4ade80;
    --faq-accent-soft: rgba(46, 160, 87, 0.14);
    --faq-border-soft: rgba(188, 214, 194, 0.14);
    --faq-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-faqs .content-page,
html.travelnet-dark body.page-faqs .content-page.page-band {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--faq-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--faq-text-primary);
}

html.travelnet-dark body.page-faqs .faq-premium-hero {
    border-color: var(--faq-border-soft);
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--faq-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-faqs .faq-premium-copy h1 {
    color: var(--faq-text-primary);
}

html.travelnet-dark body.page-faqs .faq-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-faqs .faq-premium-summary {
    color: var(--faq-text-secondary);
}

html.travelnet-dark body.page-faqs .faq-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-faqs .faq-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-faqs .content-faq-item {
    border-color: var(--faq-border-soft);
    background: var(--faq-surface);
    color: var(--faq-text-primary);
    box-shadow: var(--faq-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-faqs .content-faq-item:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-faqs .content-faq-item[open] {
    border-color: rgba(74, 222, 128, 0.24);
    background:
        linear-gradient(180deg, rgba(46, 160, 87, 0.13), rgba(18, 28, 24, 0.94) 180px),
        var(--faq-surface);
}

html.travelnet-dark body.page-faqs .content-faq-item summary {
    color: var(--faq-text-primary);
}

html.travelnet-dark body.page-faqs .content-faq-item summary:hover,
html.travelnet-dark body.page-faqs .content-faq-item summary:focus-visible {
    background: rgba(46, 160, 87, 0.12);
}

html.travelnet-dark body.page-faqs .content-faq-number,
html.travelnet-dark body.page-faqs .content-faq-plus {
    border-color: rgba(74, 222, 128, 0.14);
    background: var(--faq-accent-soft);
    color: var(--faq-accent-primary);
    box-shadow: none;
}

html.travelnet-dark body.page-faqs .content-faq-item[open] .content-faq-plus {
    background: var(--faq-accent-primary);
    color: #07100c;
}

html.travelnet-dark body.page-faqs .content-faq-item p {
    color: var(--faq-text-secondary);
}

@media (max-width: 1180px) {
    .faq-premium-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .faq-premium-visual {
        min-height: 360px;
    }

    .faq-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-faqs .faq-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 767px) {
    body.page-faqs .content-page,
    body.page-faqs .content-page.page-band {
        margin: 0;
        padding: 24px 14px 52px;
    }

    .faq-premium {
        gap: 18px;
    }

    .faq-premium-hero {
        border-radius: 28px;
    }

    .faq-premium-copy {
        padding: 34px 24px 26px;
    }

    body.page-faqs .faq-premium-copy h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .faq-premium-visual {
        min-height: 285px;
    }

    body.page-faqs .content-faq-item summary {
        grid-template-columns: 42px minmax(0, 1fr) 38px;
        gap: 11px;
        padding: 12px 14px;
    }

    .content-faq-number {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    body.page-faqs .content-faq-plus {
        width: 38px;
        height: 38px;
    }

    body.page-faqs .content-faq-item p {
        padding: 2px 18px 22px;
    }
}

@media (max-width: 520px) {
    body.page-faqs .content-faq-item {
        border-radius: 18px;
    }

    body.page-faqs .content-faq-item summary {
        grid-template-columns: 36px minmax(0, 1fr) 34px;
        gap: 9px;
        min-height: 72px;
        padding: 11px;
        font-size: 16px;
    }

    .content-faq-number {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }

    body.page-faqs .content-faq-plus {
        width: 34px;
        height: 34px;
    }

    .faq-premium-visual {
        min-height: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-faqs .content-faq-item {
        transition: none;
    }
}

/* Premium Travel Tips: a blended travel-planning hero and practical card grid
 * using the same green visual language as the other premium content pages. */
body.page-travel_tips {
    --tips-page-bg: #f7fafc;
    --tips-surface: rgba(255, 255, 255, 0.9);
    --tips-text-primary: #172b4d;
    --tips-text-secondary: #58708e;
    --tips-accent-primary: #2f9e44;
    --tips-accent-soft: #eaf8ec;
    --tips-border-soft: rgba(23, 43, 77, 0.08);
    --tips-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-travel_tips .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-travel_tips .content-page,
body.page-travel_tips .content-page.page-band {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--tips-page-bg), #f2faf5 50%, #fbfefc 100%);
    box-shadow: none;
    color: var(--tips-text-primary);
}

body.page-travel_tips .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 96, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-travel_tips .content-page .content-shell,
html.travelnet-dark body.page-travel_tips .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--tips-text-primary);
}

body.page-travel_tips .content-page .content-shell::before,
body.page-travel_tips .content-page .content-shell::after {
    display: none;
}

.travel-tips-premium {
    display: grid;
    gap: clamp(24px, 2.5vw, 36px);
}

.travel-tips-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--tips-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--tips-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.travel-tips-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-travel_tips .travel-tips-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--tips-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.travel-tips-premium-title-accent {
    color: var(--tips-accent-primary);
}

.travel-tips-premium-summary {
    max-width: 680px;
    margin: 0;
    color: var(--tips-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.travel-tips-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.travel-tips-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.travel-tips-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

.travel-tips-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.travel-tips-card {
    display: grid;
    align-content: start;
    gap: 13px;
    min-height: 250px;
    padding: 24px;
    border: 1px solid var(--tips-border-soft);
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 4%, rgba(47, 158, 68, 0.06), transparent 28%),
        var(--tips-surface);
    color: var(--tips-text-primary);
    box-shadow: var(--tips-shadow);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.travel-tips-card:hover {
    transform: translateY(-5px);
    border-color: rgba(47, 158, 68, 0.2);
    box-shadow: 0 26px 62px rgba(15, 23, 42, 0.12);
}

.travel-tips-card-icon {
    display: grid;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(47, 158, 68, 0.12);
    border-radius: 15px;
    background: var(--tips-accent-soft);
    color: var(--tips-accent-primary);
    place-items: center;
}

.travel-tips-card-icon .icon {
    width: 22px;
    height: 22px;
}

.travel-tips-card h2 {
    margin: 2px 0 0;
    color: var(--tips-text-primary);
    font-size: clamp(20px, 1.7vw, 24px);
    line-height: 1.25;
}

.travel-tips-card p {
    margin: 0;
    color: var(--tips-text-secondary);
    font-size: 15px;
    line-height: 1.65;
}

html.travelnet-dark body.page-travel_tips {
    --tips-page-bg: #07100c;
    --tips-surface: rgba(18, 28, 24, 0.94);
    --tips-text-primary: #edf6ef;
    --tips-text-secondary: #b7c6ba;
    --tips-accent-primary: #4ade80;
    --tips-accent-soft: rgba(46, 160, 87, 0.14);
    --tips-border-soft: rgba(188, 214, 194, 0.14);
    --tips-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-travel_tips .content-page,
html.travelnet-dark body.page-travel_tips .content-page.page-band {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--tips-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--tips-text-primary);
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-hero {
    border-color: var(--tips-border-soft);
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--tips-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-copy h1 {
    color: var(--tips-text-primary);
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-summary {
    color: var(--tips-text-secondary);
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-travel_tips .travel-tips-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-travel_tips .travel-tips-card {
    border-color: var(--tips-border-soft);
    background:
        radial-gradient(circle at 96% 4%, rgba(74, 222, 128, 0.05), transparent 28%),
        var(--tips-surface);
    color: var(--tips-text-primary);
    box-shadow: var(--tips-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-travel_tips .travel-tips-card:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-travel_tips .travel-tips-card-icon {
    border-color: rgba(74, 222, 128, 0.14);
    background: var(--tips-accent-soft);
    color: var(--tips-accent-primary);
}

html.travelnet-dark body.page-travel_tips .travel-tips-card h2 {
    color: var(--tips-text-primary);
}

html.travelnet-dark body.page-travel_tips .travel-tips-card p {
    color: var(--tips-text-secondary);
}

@media (max-width: 1180px) {
    .travel-tips-premium-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .travel-tips-premium-visual {
        min-height: 360px;
    }

    .travel-tips-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-travel_tips .travel-tips-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 1020px) {
    .travel-tips-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.page-travel_tips .content-page,
    body.page-travel_tips .content-page.page-band {
        margin: 0;
        padding: 24px 14px 52px;
    }

    .travel-tips-premium {
        gap: 18px;
    }

    .travel-tips-premium-hero {
        border-radius: 28px;
    }

    .travel-tips-premium-copy {
        padding: 34px 24px 26px;
    }

    body.page-travel_tips .travel-tips-premium-copy h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .travel-tips-premium-visual {
        min-height: 285px;
    }
}

@media (max-width: 620px) {
    .travel-tips-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .travel-tips-card {
        min-height: 0;
        border-radius: 20px;
    }

    .travel-tips-premium-visual {
        min-height: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .travel-tips-card {
        transition: none;
    }
}

/* Premium Privacy Policy: keep the full notice and page-local analytics control
 * while matching the blended hero and green content-card family. */
body.page-privacy {
    --privacy-page-bg: #f7fafc;
    --privacy-surface: rgba(255, 255, 255, 0.9);
    --privacy-text-primary: #172b4d;
    --privacy-text-secondary: #58708e;
    --privacy-accent-primary: #2f9e44;
    --privacy-accent-soft: #eaf8ec;
    --privacy-border-soft: rgba(23, 43, 77, 0.08);
    --privacy-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

body.page-privacy .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.page-privacy .content-page,
body.page-privacy .content-page.page-band {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 64px) clamp(16px, 3vw, 40px) clamp(52px, 7vw, 96px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 90% 8%, rgba(85, 191, 13, 0.08), transparent 31%),
        linear-gradient(135deg, var(--privacy-page-bg), #f2faf5 50%, #fbfefc 100%);
    box-shadow: none;
    color: var(--privacy-text-primary);
}

body.page-privacy .content-page.page-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -5% 0;
    height: 35%;
    opacity: 0.1;
    background:
        linear-gradient(148deg, transparent 0 46%, rgba(88, 112, 96, 0.18) 46.2% 58%, transparent 58.2%) 7% 100% / 36% 80% no-repeat,
        linear-gradient(34deg, transparent 0 46%, rgba(47, 158, 68, 0.14) 46.2% 59%, transparent 59.2%) 56% 100% / 45% 68% no-repeat;
    filter: blur(5px);
    pointer-events: none;
}

body.page-privacy .content-page .content-shell,
html.travelnet-dark body.page-privacy .content-page .content-shell {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--privacy-text-primary);
}

body.page-privacy .content-page .content-shell::before,
body.page-privacy .content-page .content-shell::after {
    display: none;
}

.privacy-premium {
    display: grid;
    gap: clamp(24px, 2.5vw, 36px);
}

.privacy-premium-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
    min-height: 450px;
    overflow: hidden;
    border: 1px solid var(--privacy-border-soft);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(47, 158, 68, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 252, 249, 0.9));
    box-shadow: var(--privacy-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.privacy-premium-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4.5vw, 66px) clamp(30px, 4.5vw, 68px);
}

body.page-privacy .privacy-premium-copy h1 {
    margin: 0 0 14px;
    color: var(--privacy-text-primary);
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.privacy-premium-title-accent {
    color: var(--privacy-accent-primary);
}

.privacy-premium-summary {
    max-width: 680px;
    margin: 0;
    color: var(--privacy-text-secondary);
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.7;
}

.privacy-premium-visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 450px;
    overflow: hidden;
}

.privacy-premium-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(255, 255, 255, 0.08) 62%, #f8fcf9 100%),
        linear-gradient(90deg, #f8fcf9 0%, rgba(248, 252, 249, 0.76) 15%, rgba(248, 252, 249, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(248, 252, 249, 0.66), transparent 27%);
}

.privacy-premium-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 88% 82% at 61% 51%, #000 52%, rgba(0, 0, 0, 0.88) 72%, transparent 100%);
}

.privacy-premium-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.privacy-premium-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 4px 16px;
    align-content: start;
    min-height: 230px;
    padding: 24px;
    border: 1px solid var(--privacy-border-soft);
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 4%, rgba(47, 158, 68, 0.06), transparent 28%),
        var(--privacy-surface);
    color: var(--privacy-text-primary);
    box-shadow: var(--privacy-shadow);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.privacy-premium-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47, 158, 68, 0.2);
    box-shadow: 0 26px 62px rgba(15, 23, 42, 0.12);
}

.privacy-premium-card-icon {
    display: grid;
    grid-row: 1 / span 2;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(47, 158, 68, 0.12);
    border-radius: 16px;
    background: var(--privacy-accent-soft);
    color: var(--privacy-accent-primary);
    place-items: center;
}

.privacy-premium-card-icon .icon {
    width: 23px;
    height: 23px;
}

.privacy-premium-card h2 {
    margin: 2px 0 8px;
    color: var(--privacy-text-primary);
    font-size: clamp(20px, 1.6vw, 23px);
    line-height: 1.25;
}

.privacy-premium-card p {
    grid-column: 1 / -1;
    margin: 14px 0 0;
    color: var(--privacy-text-secondary);
    font-size: 15px;
    line-height: 1.68;
}

body.page-privacy .content-cookie-settings {
    margin-top: clamp(22px, 2.5vw, 34px);
    padding: 20px 22px;
    border: 1px solid rgba(47, 158, 68, 0.14);
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 8%, rgba(47, 158, 68, 0.08), transparent 28%),
        var(--privacy-surface);
    color: var(--privacy-text-primary);
    box-shadow: var(--privacy-shadow);
}

body.page-privacy .content-cookie-settings h2 {
    color: var(--privacy-text-primary);
}

body.page-privacy .content-cookie-settings p {
    color: var(--privacy-text-secondary);
}

body.page-privacy .content-cookie-settings .analytics-consent-settings {
    border: 0;
    background: var(--privacy-accent-primary);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(47, 158, 68, 0.2);
}

body.page-privacy .content-cookie-settings .analytics-consent-settings:focus-visible {
    outline: 3px solid rgba(47, 158, 68, 0.3);
    outline-offset: 3px;
}

html.travelnet-dark body.page-privacy {
    --privacy-page-bg: #07100c;
    --privacy-surface: rgba(18, 28, 24, 0.94);
    --privacy-text-primary: #edf6ef;
    --privacy-text-secondary: #b7c6ba;
    --privacy-accent-primary: #4ade80;
    --privacy-accent-soft: rgba(46, 160, 87, 0.14);
    --privacy-border-soft: rgba(188, 214, 194, 0.14);
    --privacy-shadow: 0 24px 65px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-privacy .content-page,
html.travelnet-dark body.page-privacy .content-page.page-band {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.1), transparent 32%),
        linear-gradient(135deg, var(--privacy-page-bg) 0%, #0d1a12 50%, #0a160f 100%);
    color: var(--privacy-text-primary);
}

html.travelnet-dark body.page-privacy .privacy-premium-hero {
    border-color: var(--privacy-border-soft);
    background: rgba(18, 28, 24, 0.86);
    box-shadow: var(--privacy-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html.travelnet-dark body.page-privacy .privacy-premium-copy h1 {
    color: var(--privacy-text-primary);
}

html.travelnet-dark body.page-privacy .privacy-premium-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-privacy .privacy-premium-summary {
    color: var(--privacy-text-secondary);
}

html.travelnet-dark body.page-privacy .privacy-premium-visual::before {
    background:
        radial-gradient(ellipse at 62% 50%, transparent 34%, rgba(18, 28, 24, 0.08) 62%, #121c18 100%),
        linear-gradient(90deg, #121c18 0%, rgba(18, 28, 24, 0.76) 15%, rgba(18, 28, 24, 0.12) 48%, transparent 100%),
        linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 27%);
}

html.travelnet-dark body.page-privacy .privacy-premium-visual img {
    filter: brightness(0.82) contrast(1.06) saturate(0.88);
}

html.travelnet-dark body.page-privacy .privacy-premium-card,
html.travelnet-dark body.page-privacy .content-cookie-settings {
    border-color: var(--privacy-border-soft);
    background:
        radial-gradient(circle at 96% 4%, rgba(74, 222, 128, 0.05), transparent 28%),
        var(--privacy-surface);
    color: var(--privacy-text-primary);
    box-shadow: var(--privacy-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.travelnet-dark body.page-privacy .privacy-premium-card:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark body.page-privacy .privacy-premium-card-icon {
    border-color: rgba(74, 222, 128, 0.14);
    background: var(--privacy-accent-soft);
    color: var(--privacy-accent-primary);
}

html.travelnet-dark body.page-privacy .privacy-premium-card h2,
html.travelnet-dark body.page-privacy .content-cookie-settings h2 {
    color: var(--privacy-text-primary);
}

html.travelnet-dark body.page-privacy .privacy-premium-card p,
html.travelnet-dark body.page-privacy .content-cookie-settings p {
    color: var(--privacy-text-secondary);
}

html.travelnet-dark body.page-privacy .content-cookie-settings .analytics-consent-settings {
    border: 0;
    background: var(--privacy-accent-primary);
    color: #07100c;
    box-shadow: 0 10px 24px rgba(74, 222, 128, 0.16);
}

@media (max-width: 1180px) {
    .privacy-premium-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .privacy-premium-visual {
        min-height: 360px;
    }

    .privacy-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(248, 252, 249, 0.12) 64%, #f8fcf9 100%),
            linear-gradient(180deg, #f8fcf9 0%, transparent 24%),
            linear-gradient(0deg, rgba(248, 252, 249, 0.68), transparent 25%);
    }

    html.travelnet-dark body.page-privacy .privacy-premium-visual::before {
        background:
            radial-gradient(ellipse at 56% 54%, transparent 40%, rgba(18, 28, 24, 0.12) 64%, #121c18 100%),
            linear-gradient(180deg, #121c18 0%, transparent 24%),
            linear-gradient(0deg, rgba(18, 28, 24, 0.7), transparent 25%);
    }
}

@media (max-width: 900px) {
    .privacy-premium-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .privacy-premium-card {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    body.page-privacy .content-page,
    body.page-privacy .content-page.page-band {
        margin: 0;
        padding: 24px 14px 52px;
    }

    .privacy-premium {
        gap: 18px;
    }

    .privacy-premium-hero {
        border-radius: 28px;
    }

    .privacy-premium-copy {
        padding: 34px 24px 26px;
    }

    body.page-privacy .privacy-premium-copy h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .privacy-premium-visual {
        min-height: 285px;
    }

    body.page-privacy .content-cookie-settings {
        align-items: stretch;
        flex-direction: column;
        border-radius: 20px;
    }

    body.page-privacy .content-cookie-settings .analytics-consent-settings {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .privacy-premium-card {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 4px 13px;
        padding: 20px;
        border-radius: 20px;
    }

    .privacy-premium-card-icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .privacy-premium-visual {
        min-height: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .privacy-premium-card {
        transition: none;
    }
}

/* My Trips premium content-family finish. Booking controls and the sticky filter
 * rail stay unchanged; this layer aligns the page with About, Contact, and the
 * other green-led editorial surfaces. */
body.page-trips {
    --my-trips-green: #3bae5a;
    --my-trips-green-dark: #21843c;
    --my-trips-navy: #172b4d;
    --my-trips-muted: #64748b;
    background: #f7faf8;
}

body.page-trips .site-main {
    background:
        radial-gradient(circle at 10% 10%, rgba(59, 174, 90, 0.10), transparent 30%),
        radial-gradient(circle at 92% 5%, rgba(134, 239, 172, 0.09), transparent 28%),
        linear-gradient(180deg, #f8fcf9 0%, #ffffff 48%, #f4faf6 100%);
}

body.page-trips .my-trips-page::before {
    background:
        radial-gradient(circle at 10% 12%, rgba(59, 174, 90, 0.11), transparent 30%),
        radial-gradient(circle at 90% 8%, rgba(134, 239, 172, 0.10), transparent 30%),
        linear-gradient(180deg, #f8fcf9 0%, #ffffff 48%, #f4faf6 100%);
}

body.page-trips .my-trips-dashboard-shell {
    width: min(100%, 1380px);
}

body.page-trips .my-trips-dashboard-shell .my-trips-shell {
    gap: clamp(18px, 2vw, 26px);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero {
    min-height: 390px;
    padding: clamp(38px, 5vw, 68px) clamp(440px, 37vw, 540px) clamp(38px, 5vw, 68px) clamp(34px, 5vw, 68px);
    border: 1px solid rgba(59, 174, 90, 0.14);
    border-radius: clamp(28px, 3vw, 36px);
    background:
        radial-gradient(circle at 89% 14%, rgba(59, 174, 90, 0.13), transparent 31%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 250, 0.92));
    box-shadow:
        0 20px 60px rgba(15, 23, 42, 0.08),
        0 6px 22px rgba(15, 23, 42, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero::before {
    background: linear-gradient(90deg, var(--my-trips-green), #86efac, var(--my-trips-green-dark));
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
    width: clamp(430px, 40vw, 590px);
    background: url("../images/my-trips-hero.png") right center / auto 100% no-repeat;
    opacity: 0.94;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, 0.88) 28%, #000000 54%);
    mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, 0.88) 28%, #000000 54%);
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero-badge {
    border: 1px solid rgba(59, 174, 90, 0.14);
    background: rgba(59, 174, 90, 0.10);
    color: var(--my-trips-green-dark);
    box-shadow: none;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero h1 {
    margin: 18px 0 16px;
    color: var(--my-trips-navy);
    font-size: clamp(50px, 5.8vw, 72px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

body.page-trips .my-trips-title-accent {
    background: linear-gradient(135deg, #21843c, #3bae5a);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

body.page-trips .my-trips-dashboard-shell .my-trips-hero p {
    max-width: 650px;
    color: var(--my-trips-muted);
    font-size: clamp(16px, 1.25vw, 18px);
    line-height: 1.7;
}

body.page-trips .my-trips-summary-accent {
    color: #278e43;
    font-weight: 750;
}

body.page-trips .my-trips-dashboard-shell .my-trips-next-focus,
body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid,
body.page-trips .my-trips-dashboard-shell .my-trip-card,
body.page-trips .my-trips-dashboard-shell .my-trips-empty {
    border-color: rgba(59, 174, 90, 0.14);
    box-shadow:
        0 20px 52px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.page-trips .my-trips-dashboard-shell .my-trip-card::before {
    background: linear-gradient(180deg, #86efac, #3bae5a 58%, #21843c);
}

body.page-trips .my-trips-dashboard-shell .my-trip-route-arrow {
    background: linear-gradient(135deg, #3bae5a, #21843c);
}

html.travelnet-dark body.page-trips {
    --my-trips-navy: #edf6ef;
    --my-trips-muted: #b7c6ba;
    background: #07100c;
}

html.travelnet-dark body.page-trips .site-main,
html.travelnet-dark body.page-trips .my-trips-page::before {
    background:
        radial-gradient(circle at 12% 15%, rgba(46, 160, 87, 0.12), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.10), transparent 32%),
        linear-gradient(135deg, #07100c 0%, #0d1a12 50%, #0a160f 100%);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero {
    border-color: rgba(188, 214, 194, 0.14);
    background: rgba(18, 28, 24, 0.88);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
    background:
        linear-gradient(90deg, rgba(18, 28, 24, 0.82), rgba(18, 28, 24, 0.08)),
        url("../images/my-trips-hero.png") right center / auto 100% no-repeat;
    background-blend-mode: multiply;
    filter: brightness(0.82) contrast(1.06) saturate(0.90);
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-hero-badge {
    border-color: rgba(74, 222, 128, 0.18);
    background: rgba(46, 160, 87, 0.12);
    color: #86efac;
}

html.travelnet-dark body.page-trips .my-trips-title-accent {
    background: linear-gradient(135deg, #86efac, #22c55e);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

html.travelnet-dark body.page-trips .my-trips-summary-accent {
    color: #6ee7a0;
}

html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-next-focus,
html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-summary-grid,
html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trip-card,
html.travelnet-dark body.page-trips .my-trips-dashboard-shell .my-trips-empty {
    border-color: rgba(188, 214, 194, 0.14);
    box-shadow:
        0 22px 58px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

@media (max-width: 1100px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        padding-right: 350px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        width: 390px;
    }
}

@media (max-width: 920px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        min-height: 560px;
        padding: 42px 34px 260px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        width: 100%;
        height: 245px;
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000000 28%);
        mask-image: linear-gradient(180deg, transparent 0, #000000 28%);
    }
}

@media (max-width: 680px) {
    body.page-trips .my-trips-dashboard-shell .my-trips-hero {
        min-height: 510px;
        padding: 34px 24px 210px;
        border-radius: 28px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero::after {
        height: 195px;
    }

    body.page-trips .my-trips-dashboard-shell .my-trips-hero h1 {
        font-size: clamp(44px, 14vw, 60px);
    }
}

/* Customer-first My Trips filters: compact dropdowns handle the common jobs,
 * while exact dates and booking state remain available without crowding the rail. */
body.page-trips .my-trips-filter-side {
    max-height: calc(100vh - 116px);
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-color: rgba(59, 174, 90, 0.42) transparent;
    scrollbar-width: thin;
}

body.page-trips .my-trips-search-form {
    gap: 20px;
}

body.page-trips .my-trips-search-form > label,
body.page-trips .my-trips-compact-selects > label {
    gap: 8px;
}

body.page-trips .my-trips-search-input-wrap {
    position: relative;
    display: block;
}

body.page-trips .my-trips-search-input-wrap > .icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 13px;
    width: 17px;
    height: 17px;
    color: #21843c;
    transform: translateY(-50%);
    pointer-events: none;
}

body.page-trips .my-trips-filter-side .my-trips-search-input-wrap input {
    padding-left: 40px;
}

body.page-trips .my-trips-compact-selects {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.page-trips .my-trips-more-filters {
    overflow: hidden;
    border: 1px solid rgba(150, 255, 174, 0.14);
    border-radius: 16px;
    background: rgba(3, 13, 10, 0.30);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

body.page-trips .my-trips-more-filters > summary {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    padding: 10px 11px;
    color: rgba(248, 251, 255, 0.90);
    cursor: pointer;
    list-style: none;
}

body.page-trips .my-trips-more-filters > summary::-webkit-details-marker {
    display: none;
}

body.page-trips .my-trips-more-filter-title {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

body.page-trips .my-trips-more-filter-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(134, 239, 172, 0.16);
    border-radius: 12px;
    background: rgba(53, 212, 103, 0.11);
    color: #86efac;
}

body.page-trips .my-trips-more-filter-icon .icon {
    width: 17px;
    height: 17px;
}

body.page-trips .my-trips-more-filter-title > span:last-child {
    display: grid;
    gap: 2px;
}

body.page-trips .my-trips-more-filter-title strong {
    color: inherit;
    font-size: 12px;
    font-weight: 900;
}

body.page-trips .my-trips-more-filter-title small {
    color: rgba(203, 213, 225, 0.62);
    font-size: 10px;
    font-weight: 750;
}

body.page-trips .my-trips-more-filter-meta {
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

body.page-trips .my-trips-more-filter-meta strong {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 22px;
    border-radius: 999px;
    background: rgba(53, 212, 103, 0.15);
    color: #dcffe2;
    font-size: 11px;
}

body.page-trips .my-trips-more-filter-meta i {
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-2px, 2px);
    transition: transform 160ms ease;
}

body.page-trips .my-trips-more-filters[open] .my-trips-more-filter-meta i {
    transform: rotate(225deg) translate(-1px, -1px);
}

body.page-trips .my-trips-more-filter-fields {
    display: grid;
    gap: 9px;
    padding: 10px;
    border-top: 1px solid rgba(150, 255, 174, 0.10);
}

body.page-trips .my-trips-filter-detail-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(150, 255, 174, 0.10);
    border-radius: 13px;
    background: rgba(3, 13, 10, 0.38);
}

body.page-trips .my-trips-filter-detail-card header {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
}

body.page-trips .my-trips-filter-detail-card header > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: rgba(53, 212, 103, 0.12);
    color: #86efac;
}

body.page-trips .my-trips-filter-detail-card header .icon {
    width: 15px;
    height: 15px;
}

body.page-trips .my-trips-filter-detail-card header div {
    display: grid;
    gap: 2px;
}

body.page-trips .my-trips-filter-detail-card header strong {
    color: rgba(248, 251, 255, 0.94);
    font-size: 12px;
    font-weight: 900;
}

body.page-trips .my-trips-filter-detail-card header small {
    color: rgba(203, 213, 225, 0.62);
    font-size: 10px;
    font-weight: 720;
    line-height: 1.35;
}

body.page-trips .my-trips-more-filter-fields .my-trips-date-range-field > div {
    grid-template-columns: minmax(0, 1fr);
}

body.page-trips .my-trips-date-range-field label > span {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 800;
}

body.page-trips .my-trips-filter-actions {
    display: grid;
    gap: 10px;
    padding-top: 2px;
}

body.page-trips .my-trips-dashboard-shell .my-trips-filter-side .my-trips-filter-actions button,
body.page-trips .my-trips-dashboard-shell .my-trips-filter-side .my-trips-filter-actions a {
    width: 100%;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filters {
    border-color: #dbe7f2;
    background: #f8fcf9;
    box-shadow: inset 0 1px 0 #ffffff;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filters > summary {
    color: #405067;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filter-icon {
    border-color: #cbeed7;
    background: #edf9f1;
    color: #21843c;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filter-title small {
    color: #7a8798;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filter-meta strong {
    background: #edf9f1;
    color: #0b7f3b;
}

html:not(.travelnet-dark) body.page-trips .my-trips-more-filter-fields {
    border-top-color: #e6edf5;
}

html:not(.travelnet-dark) body.page-trips .my-trips-filter-detail-card {
    border-color: #e1ece4;
    background: #ffffff;
}

html:not(.travelnet-dark) body.page-trips .my-trips-filter-detail-card header > span {
    background: #edf9f1;
    color: #21843c;
}

html:not(.travelnet-dark) body.page-trips .my-trips-filter-detail-card header strong {
    color: #26364d;
}

html:not(.travelnet-dark) body.page-trips .my-trips-filter-detail-card header small {
    color: #7a8798;
}

@media (max-width: 920px) {
    body.page-trips .my-trips-filter-side {
        max-height: none;
    }
}

@media (max-width: 680px) {
    body.page-trips .my-trips-filter-side {
        max-height: calc(100vh - 32px);
    }
}

/* Premium admin family. Every admin route shares the same shell, so this
 * deliberately page-scoped layer gives dashboards, tables, traces, settings,
 * and analytics one visual language without changing their working controls. */
.admin-console-page {
    --admin-premium-green: #3bae5a;
    --admin-premium-green-dark: #21843c;
    --admin-premium-navy: #172b4d;
    --admin-premium-muted: #64748b;
    --admin-premium-border: rgba(59, 174, 90, 0.14);
    --admin-premium-surface: rgba(255, 255, 255, 0.94);
    background: #f7faf8;
}

.admin-console-page .admin-console-shell {
    background:
        radial-gradient(circle at 14% 4%, rgba(59, 174, 90, 0.11), transparent 29%),
        radial-gradient(circle at 90% 12%, rgba(134, 239, 172, 0.08), transparent 28%),
        linear-gradient(180deg, #f8fcf9 0%, #f4f8f5 100%);
}

.admin-console-page .admin-console-sidebar {
    border-right-color: rgba(134, 239, 172, 0.14);
    background:
        radial-gradient(circle at 18% 2%, rgba(59, 174, 90, 0.16), transparent 30%),
        linear-gradient(180deg, #0c2118 0%, #07150f 58%, #050f0b 100%);
    box-shadow:
        16px 0 46px rgba(16, 41, 29, 0.16),
        inset -1px 0 0 rgba(255, 255, 255, 0.025);
}

.admin-console-page .admin-console-brand-mark {
    border: 1px solid rgba(134, 239, 172, 0.18);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(59, 174, 90, 0.25), rgba(10, 59, 31, 0.55));
    color: #86efac;
    box-shadow: 0 16px 38px rgba(15, 118, 58, 0.18);
}

.admin-console-page .admin-console-brand strong {
    color: #f4fff4;
}

.admin-console-page .admin-console-brand small {
    color: rgba(226, 242, 231, 0.62);
}

.admin-console-page .admin-console-nav-label {
    color: rgba(226, 242, 231, 0.46);
    letter-spacing: 0.08em;
}

.admin-console-page .admin-console-nav a {
    min-height: 46px;
    border-radius: 13px;
    color: rgba(237, 246, 239, 0.78);
}

.admin-console-page .admin-console-nav a:hover,
.admin-console-page .admin-console-nav a:focus-visible,
.admin-console-page .admin-console-nav a.is-active {
    border-color: rgba(134, 239, 172, 0.20);
    background: linear-gradient(90deg, rgba(59, 174, 90, 0.22), rgba(59, 174, 90, 0.07));
    color: #ffffff;
}

.admin-console-page .admin-console-nav .icon {
    color: #86efac;
}

.admin-console-page .admin-console-promo {
    border-color: rgba(134, 239, 172, 0.18);
    border-radius: 20px;
    background:
        radial-gradient(circle at 82% 78%, rgba(74, 222, 128, 0.28), transparent 34%),
        linear-gradient(145deg, rgba(18, 70, 36, 0.80), rgba(5, 22, 14, 0.94));
}

.admin-console-page .admin-console-profile {
    border-top-color: rgba(134, 239, 172, 0.14);
}

.admin-console-page .admin-console-profile strong {
    color: #f4fff4;
}

.admin-console-page .admin-console-profile small {
    color: rgba(226, 242, 231, 0.62);
}

.admin-console-page .admin-console-topbar {
    border-bottom-color: rgba(59, 174, 90, 0.12);
    background: rgba(250, 253, 251, 0.86);
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.045);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.admin-console-page .admin-console-content {
    gap: clamp(18px, 2vw, 26px);
    padding: clamp(22px, 3vw, 38px);
    background:
        radial-gradient(circle at 82% 0%, rgba(214, 247, 224, 0.42), transparent 32%),
        linear-gradient(180deg, rgba(248, 253, 249, 0.76), rgba(244, 248, 245, 0.98) 48%);
}

.admin-console-page .admin-dashboard-hero,
.admin-console-page .visitor-analytics-hero,
.admin-console-page .admin-booking-hero,
.admin-console-page .admin-audit-hero,
.admin-console-page .admin-settings-hero,
.admin-console-page .admin-permissions-hero,
.admin-console-page .admin-viewlogger-hero,
.admin-console-page .admin-viewlogger-chooser,
.admin-console-page .admin-console-page-heading {
    position: relative;
    isolation: isolate;
    min-height: 190px;
    padding: clamp(28px, 4vw, 46px);
    overflow: hidden;
    border: 1px solid var(--admin-premium-border);
    border-radius: clamp(26px, 3vw, 34px);
    background:
        radial-gradient(circle at 91% 14%, rgba(59, 174, 90, 0.14), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 253, 249, 0.92));
    box-shadow:
        0 22px 62px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.90);
}

.admin-console-page .admin-dashboard-hero::before,
.admin-console-page .visitor-analytics-hero::before,
.admin-console-page .admin-booking-hero::before,
.admin-console-page .admin-audit-hero::before,
.admin-console-page .admin-settings-hero::before,
.admin-console-page .admin-permissions-hero::before,
.admin-console-page .admin-viewlogger-hero::before,
.admin-console-page .admin-viewlogger-chooser::before,
.admin-console-page .admin-console-page-heading::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -90px;
    right: -55px;
    width: 300px;
    height: 300px;
    border: 52px solid rgba(59, 174, 90, 0.075);
    border-radius: 999px;
    box-shadow: 0 0 0 34px rgba(59, 174, 90, 0.035);
    pointer-events: none;
}

.admin-console-page .admin-dashboard-hero h1,
.admin-console-page .visitor-analytics-hero h1,
.admin-console-page .admin-booking-hero h1,
.admin-console-page .admin-audit-hero h1,
.admin-console-page .admin-settings-hero h1,
.admin-console-page .admin-permissions-hero h1,
.admin-console-page .admin-viewlogger-hero h1,
.admin-console-page .admin-viewlogger-chooser h1,
.admin-console-page .admin-console-page-heading h1 {
    color: var(--admin-premium-navy);
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1;
}

.admin-console-page .admin-dashboard-hero p,
.admin-console-page .visitor-analytics-hero p,
.admin-console-page .admin-booking-hero p,
.admin-console-page .admin-audit-hero p,
.admin-console-page .admin-settings-hero p,
.admin-console-page .admin-permissions-hero p,
.admin-console-page .admin-viewlogger-hero p,
.admin-console-page .admin-viewlogger-chooser p,
.admin-console-page .admin-console-page-heading p {
    max-width: 760px;
    color: var(--admin-premium-muted);
    font-size: 16px;
    line-height: 1.65;
}

.admin-console-page .content-eyebrow {
    border-color: rgba(59, 174, 90, 0.16);
    background: rgba(59, 174, 90, 0.10);
    color: var(--admin-premium-green-dark);
    box-shadow: none;
}

.admin-console-page .admin-console-panel,
.admin-console-page .admin-console-stat-card {
    border-color: var(--admin-premium-border);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(59, 174, 90, 0.055), transparent 54%),
        linear-gradient(180deg, #ffffff, #fbfffc);
    box-shadow:
        0 18px 48px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.admin-console-page .admin-console-stat-card {
    min-height: 132px;
    transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.admin-console-page .admin-console-stat-card:hover {
    border-color: rgba(59, 174, 90, 0.24);
    transform: translateY(-3px);
    box-shadow:
        0 24px 58px rgba(15, 23, 42, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.admin-console-page .admin-console-stat-card > span {
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(59, 174, 90, 0.16), rgba(232, 249, 238, 0.88));
    color: var(--admin-premium-green-dark);
}

.admin-console-page .admin-console-stat-copy small,
.admin-console-page .admin-console-stat-copy em {
    color: var(--admin-premium-muted);
}

.admin-console-page .admin-console-stat-copy strong,
.admin-console-page .admin-console-panel h2,
.admin-console-page .admin-console-panel h3 {
    color: var(--admin-premium-navy);
}

.admin-console-page .admin-console-primary-button,
.admin-console-page .admin-console-approve-button {
    border-color: #2f9d4c;
    border-radius: 12px;
    background: linear-gradient(135deg, #3bae5a, #21843c);
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(33, 132, 60, 0.20);
}

.admin-console-page .admin-console-filter-button,
.admin-console-page .admin-console-small-action,
.admin-console-page .admin-console-icon-button,
.admin-console-page .admin-console-bot-button,
.admin-console-page .admin-console-pagination button {
    border-color: rgba(59, 174, 90, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.90);
    color: var(--admin-premium-green-dark);
}

.admin-console-page .admin-console-search,
.admin-console-page input[type="text"],
.admin-console-page input[type="search"],
.admin-console-page input[type="email"],
.admin-console-page input[type="url"],
.admin-console-page input[type="date"],
.admin-console-page input[type="time"],
.admin-console-page select,
.admin-console-page textarea {
    border-color: #d8e7dc;
    border-radius: 12px;
    background: #ffffff;
    color: #172b4d;
}

.admin-console-page input:focus,
.admin-console-page select:focus,
.admin-console-page textarea:focus {
    border-color: rgba(59, 174, 90, 0.66);
    box-shadow: 0 0 0 3px rgba(59, 174, 90, 0.12);
    outline: 0;
}

.admin-console-page .admin-console-table-wrap,
.admin-console-page .visitor-recent-table-wrap,
.admin-console-page .auth-table-scroll {
    overflow: auto;
    border: 1px solid var(--admin-premium-border);
    border-radius: 18px;
    background: #ffffff;
}

.admin-console-page .admin-console-table th,
.admin-console-page .visitor-recent-table-wrap th,
.admin-console-page .auth-table th {
    border-bottom-color: #e4eee7;
    background: #f5faf7;
    color: #64748b;
}

.admin-console-page .admin-console-table td,
.admin-console-page .visitor-recent-table-wrap td,
.admin-console-page .auth-table td {
    border-bottom-color: #e8f0ea;
    color: #334155;
}

.admin-console-page .admin-console-table tbody tr:hover td,
.admin-console-page .visitor-recent-table-wrap tbody tr:hover td,
.admin-console-page .auth-table tbody tr:hover td {
    background: #f6fbf8;
}

/* Light admin mode stays fully light. The sidebar deliberately mirrors the
 * white and soft-green content surfaces instead of borrowing dark-mode chrome. */
html:not(.travelnet-dark) .admin-console-page .admin-console-sidebar {
    border-right-color: #dce9df;
    background:
        radial-gradient(circle at 18% 2%, rgba(59, 174, 90, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f8fcf9 58%, #f3f8f5 100%);
    box-shadow:
        12px 0 38px rgba(15, 23, 42, 0.06),
        inset -1px 0 0 rgba(59, 174, 90, 0.05);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-brand-mark {
    border-color: #cbeed7;
    background: linear-gradient(145deg, #edf9f1, #ddf4e5);
    color: #21843c;
    box-shadow: 0 14px 30px rgba(33, 132, 60, 0.10);
}

html:not(.travelnet-dark) .admin-console-page .admin-console-brand strong {
    color: #172b4d;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-brand small {
    color: #718096;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav-label {
    color: #829087;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav a {
    color: #405067;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav .icon {
    color: #3bae5a;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-nav a:hover,
html:not(.travelnet-dark) .admin-console-page .admin-console-nav a:focus-visible,
html:not(.travelnet-dark) .admin-console-page .admin-console-nav a.is-active {
    border-color: #cbeed7;
    background: linear-gradient(90deg, #edf9f1, rgba(237, 249, 241, 0.42));
    color: #166d35;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-promo {
    border-color: #cbeed7;
    background:
        radial-gradient(circle at 82% 78%, rgba(59, 174, 90, 0.12), transparent 34%),
        linear-gradient(145deg, #f4fbf6, #eaf7ee);
    box-shadow: inset 0 1px 0 #ffffff;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-promo strong {
    color: #173326;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-promo small {
    color: #64748b;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-profile {
    border-top-color: #dce9df;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-profile strong {
    color: #26364d;
}

html:not(.travelnet-dark) .admin-console-page .admin-console-profile small {
    color: #718096;
}

/* Booking history light mode needs direct colour rules for child elements.
 * The booking table was inheriting white-on-dark colours from its original
 * theme even though the table surface itself had already become white. */
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-table-panel,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-table-wrap {
    border-color: #d8e7dc;
    background: #ffffff;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table th {
    border-bottom-color: #dce9df;
    background: #f1f8f3;
    color: #526273;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table td {
    border-bottom-color: #e2ece5;
    color: #26384d;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table tbody tr:nth-child(even) td {
    background: #fbfefc;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-history-table tbody tr:hover td {
    background: #eef9f1;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-customer strong {
    color: #172b4d;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-customer small {
    color: #5e7187;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-customer .icon,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-type .icon,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-channel .icon {
    color: #21843c;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-type,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-channel {
    color: #334a5f;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-id-pill {
    border: 1px solid #cce3d2;
    background: #eff8f1;
    color: #245035;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-supplier-failed,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-failed,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-cancelled {
    border-color: #e9b7b7;
    background: #fff0f0;
    color: #992727;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-confirmed,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-completed,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-payment-paid {
    border-color: #b9dec4;
    background: #eaf7ed;
    color: #166d35;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-status-pending,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-payment-not-paid,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-console-badge.is-payment-pending {
    border-color: #e7cf97;
    background: #fff7e5;
    color: #795000;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-row-actions > a.admin-console-small-action {
    border-color: #bcd9c4;
    background: #ffffff;
    color: #176b30;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-pay-button {
    border-color: #166d35;
    background: #166d35;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 109, 53, 0.16);
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-flag-paid-button {
    border-color: #a9d8b5;
    background: #e5f6ea;
    color: #145e2d;
    box-shadow: none;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-tell-upstream-button {
    border-color: #e4c477;
    background: #fff5d8;
    color: #704a00;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-row-actions > a.admin-console-small-action:hover,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-row-actions > a.admin-console-small-action:focus-visible,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-flag-paid-button:hover,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-flag-paid-button:focus-visible {
    border-color: #79bd8a;
    background: #d9f1df;
    color: #104f26;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-pay-button:hover,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-pay-button:focus-visible {
    border-color: #10552a;
    background: #10552a;
    color: #ffffff;
}

html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-tell-upstream-button:hover,
html:not(.travelnet-dark) .admin-console-page.admin-booking-console .admin-booking-tell-upstream-button:focus-visible {
    border-color: #d3aa47;
    background: #ffedb8;
    color: #5f3f00;
}

html.travelnet-dark .admin-console-page {
    --admin-premium-navy: #edf6ef;
    --admin-premium-muted: #b7c6ba;
    --admin-premium-border: rgba(188, 214, 194, 0.14);
    --admin-premium-surface: rgba(18, 28, 24, 0.90);
    background: #07100c;
}

html.travelnet-dark .admin-console-page .admin-console-shell,
html.travelnet-dark .admin-console-page .admin-console-content {
    background:
        radial-gradient(circle at 12% 8%, rgba(46, 160, 87, 0.11), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(21, 147, 15, 0.08), transparent 32%),
        linear-gradient(135deg, #07100c 0%, #0d1a12 50%, #0a160f 100%);
}

html.travelnet-dark .admin-console-page .admin-console-topbar {
    border-bottom-color: rgba(188, 214, 194, 0.12);
    background: rgba(7, 16, 12, 0.84);
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.18);
}

html.travelnet-dark .admin-console-page .admin-dashboard-hero,
html.travelnet-dark .admin-console-page .visitor-analytics-hero,
html.travelnet-dark .admin-console-page .admin-booking-hero,
html.travelnet-dark .admin-console-page .admin-audit-hero,
html.travelnet-dark .admin-console-page .admin-settings-hero,
html.travelnet-dark .admin-console-page .admin-permissions-hero,
html.travelnet-dark .admin-console-page .admin-viewlogger-hero,
html.travelnet-dark .admin-console-page .admin-viewlogger-chooser,
html.travelnet-dark .admin-console-page .admin-console-page-heading,
html.travelnet-dark .admin-console-page .admin-console-panel,
html.travelnet-dark .admin-console-page .admin-console-stat-card {
    border-color: var(--admin-premium-border);
    background:
        radial-gradient(circle at top right, rgba(74, 222, 128, 0.055), transparent 54%),
        linear-gradient(145deg, rgba(18, 28, 24, 0.94), rgba(9, 21, 14, 0.92));
    color: #edf6ef;
    box-shadow:
        0 24px 62px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html.travelnet-dark .admin-console-page .admin-console-stat-card:hover {
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: 0 28px 68px rgba(0, 0, 0, 0.30);
}

html.travelnet-dark .admin-console-page .admin-console-stat-card > span {
    background: rgba(46, 160, 87, 0.13);
    color: #86efac;
}

html.travelnet-dark .admin-console-page .admin-console-filter-button,
html.travelnet-dark .admin-console-page .admin-console-small-action,
html.travelnet-dark .admin-console-page .admin-console-icon-button,
html.travelnet-dark .admin-console-page .admin-console-bot-button,
html.travelnet-dark .admin-console-page .admin-console-pagination button {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(18, 28, 24, 0.82);
    color: #d9f8d8;
}

html.travelnet-dark .admin-console-page .admin-console-search,
html.travelnet-dark .admin-console-page input[type="text"],
html.travelnet-dark .admin-console-page input[type="search"],
html.travelnet-dark .admin-console-page input[type="email"],
html.travelnet-dark .admin-console-page input[type="url"],
html.travelnet-dark .admin-console-page input[type="date"],
html.travelnet-dark .admin-console-page input[type="time"],
html.travelnet-dark .admin-console-page select,
html.travelnet-dark .admin-console-page textarea {
    border-color: rgba(188, 214, 194, 0.16);
    background: rgba(6, 18, 12, 0.76);
    color: #edf6ef;
}

html.travelnet-dark .admin-console-page .admin-console-table-wrap,
html.travelnet-dark .admin-console-page .visitor-recent-table-wrap,
html.travelnet-dark .admin-console-page .auth-table-scroll {
    border-color: rgba(188, 214, 194, 0.14);
    background: rgba(9, 21, 14, 0.80);
}

html.travelnet-dark .admin-console-page .admin-console-table th,
html.travelnet-dark .admin-console-page .visitor-recent-table-wrap th,
html.travelnet-dark .admin-console-page .auth-table th {
    border-bottom-color: rgba(188, 214, 194, 0.12);
    background: rgba(46, 160, 87, 0.08);
    color: #aabbb0;
}

html.travelnet-dark .admin-console-page .admin-console-table td,
html.travelnet-dark .admin-console-page .visitor-recent-table-wrap td,
html.travelnet-dark .admin-console-page .auth-table td {
    border-bottom-color: rgba(188, 214, 194, 0.10);
    color: #d8e5db;
}

html.travelnet-dark .admin-console-page .admin-console-table tbody tr:hover td,
html.travelnet-dark .admin-console-page .visitor-recent-table-wrap tbody tr:hover td,
html.travelnet-dark .admin-console-page .auth-table tbody tr:hover td {
    background: rgba(46, 160, 87, 0.055);
}

@media (max-width: 920px) {
    .admin-console-page .admin-dashboard-hero,
    .admin-console-page .visitor-analytics-hero,
    .admin-console-page .admin-booking-hero,
    .admin-console-page .admin-audit-hero,
    .admin-console-page .admin-settings-hero,
    .admin-console-page .admin-permissions-hero,
    .admin-console-page .admin-viewlogger-hero,
    .admin-console-page .admin-viewlogger-chooser,
    .admin-console-page .admin-console-page-heading {
        min-height: 0;
        padding: 30px;
    }
}

@media (max-width: 680px) {
    .admin-console-page .admin-console-content {
        padding: 16px 12px 28px;
    }

    .admin-console-page .admin-dashboard-hero,
    .admin-console-page .visitor-analytics-hero,
    .admin-console-page .admin-booking-hero,
    .admin-console-page .admin-audit-hero,
    .admin-console-page .admin-settings-hero,
    .admin-console-page .admin-permissions-hero,
    .admin-console-page .admin-viewlogger-hero,
    .admin-console-page .admin-viewlogger-chooser,
    .admin-console-page .admin-console-page-heading {
        padding: 25px 20px;
        border-radius: 24px;
    }

    .admin-console-page .admin-dashboard-hero h1,
    .admin-console-page .visitor-analytics-hero h1,
    .admin-console-page .admin-booking-hero h1,
    .admin-console-page .admin-audit-hero h1,
    .admin-console-page .admin-settings-hero h1,
    .admin-console-page .admin-permissions-hero h1,
    .admin-console-page .admin-viewlogger-hero h1,
    .admin-console-page .admin-viewlogger-chooser h1,
    .admin-console-page .admin-console-page-heading h1 {
        font-size: clamp(32px, 10vw, 42px);
    }

    .admin-console-page .admin-console-panel,
    .admin-console-page .admin-console-stat-card {
        border-radius: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-console-page .admin-console-stat-card {
        transition: none;
    }
}

/* Flight result timing rows: calm, readable elapsed-time and connection summary. */
.flight-results-page .flight-timing-card {
    display: block;
    padding: 16px 18px;
    border: 1px solid rgba(223, 230, 239, 0.86);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 5px 14px rgba(42, 61, 92, 0.04);
}

.flight-results-page .flight-card-journeys,
.flight-results-page .flight-card-journeys.is-split {
    display: grid;
    gap: 0;
}

.flight-results-page .flight-card-journeys.is-split .journey-row {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.flight-results-page .journey-row {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 2px 0 4px;
}

.flight-results-page .journey-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.flight-results-page .journey-label small {
    margin-left: 6px;
    padding-left: 6px;
    border-left: 1px solid currentColor;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0;
    opacity: 0.78;
    text-transform: none;
}

.flight-results-page .journey-row--outbound .journey-label {
    border-color: rgba(85, 191, 13, 0.2);
    background: #eef9e9;
    color: #28720d;
}

.flight-results-page .journey-row--return .journey-label {
    border-color: rgba(56, 145, 216, 0.2);
    background: #edf7ff;
    color: #246da5;
}

.flight-results-page .journey-divider {
    width: 100%;
    margin: 15px 0;
    border-top: 1px dashed rgba(126, 142, 158, 0.38);
}

.flight-results-page .journey-timing-grid {
    display: grid;
    grid-template-columns: 76px minmax(210px, 1fr) 76px;
    gap: clamp(12px, 2vw, 22px);
    align-items: start;
    min-width: 0;
}

.flight-results-page .journey-time-point {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-top: 17px;
}

.flight-results-page .journey-arrival {
    justify-items: end;
    text-align: right;
}

.flight-results-page .journey-clock-time {
    color: var(--ink);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.flight-results-page .journey-airport-code {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.flight-results-page .journey-route {
    position: relative;
    display: grid;
    justify-items: center;
    min-width: 0;
    padding-top: 27px;
}

.flight-results-page .journey-route .duration-pill {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: calc(100% - 24px);
    padding: 4px 9px;
    transform: translateX(-50%);
    overflow: hidden;
    border: 1px solid rgba(205, 216, 227, 0.94);
    border-radius: 999px;
    background: #ffffff;
    color: var(--ink);
    box-shadow: 0 4px 10px rgba(42, 61, 92, 0.08);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-results-page .journey-route .duration-pill svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    color: #64748b;
}

.flight-results-page .journey-route-line {
    position: relative;
    width: calc(100% - 12px);
    height: 2px;
    margin-top: 1px;
    border-radius: 999px;
    background: rgba(126, 142, 158, 0.52);
}

.flight-results-page .journey-route-marker {
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #55bf0d;
    box-shadow: 0 0 0 1px rgba(62, 143, 9, 0.24);
}

.flight-results-page .journey-route-marker--start {
    left: -1px;
}

.flight-results-page .journey-route-marker--end {
    right: -1px;
}

.flight-results-page .journey-route-stops {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.flight-results-page .journey-route-stop {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #7d5bb7;
    box-shadow: 0 0 0 1px rgba(105, 73, 167, 0.26);
}

.flight-results-page .journey-stop-information {
    display: grid;
    justify-items: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin-top: 13px;
    text-align: center;
}

.flight-results-page .journey-connections {
    display: flex;
    align-items: start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px 18px;
    min-width: 0;
}

.flight-results-page .journey-connection {
    display: grid;
    justify-items: center;
    gap: 2px;
    min-width: 0;
}

.flight-results-page .journey-connection strong,
.flight-results-page .journey-direct-label {
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.flight-results-page .journey-connection small {
    color: #7755ad;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.flight-results-page .journey-stop-count {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.flight-results-page .route-estimated-total {
    box-shadow: 0 3px 8px rgba(105, 73, 167, 0.06);
}

.flight-results-page .route-estimated-total > span:first-child,
.flight-results-page .route-estimate-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.flight-results-page .route-estimate-info {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    cursor: help;
}

.flight-results-page .route-estimate-info svg {
    width: 13px;
    height: 13px;
}

.flight-results-page .segment-airport,
.flight-results-page .segment-meta {
    display: grid;
    gap: 3px;
}

.flight-results-page .segment-airport small,
.flight-results-page .segment-meta small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.flight-results-page .segment-meta strong {
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
}

.flight-results-page .flight-fare-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0 0;
}

.flight-results-page .flight-fare-facts div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid rgba(125, 94, 196, 0.14);
    border-radius: 11px;
    background: #faf8ff;
}

.flight-results-page .flight-fare-facts dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.flight-results-page .flight-fare-facts dd {
    margin: 0;
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;
}

.flight-results-page .flight-price-confirmation {
    max-width: 190px;
    font-size: 10px;
    line-height: 1.35;
}

html.travelnet-dark .flight-results-page .flight-timing-card {
    border-color: rgba(126, 230, 132, 0.16);
    background: rgba(10, 24, 16, 0.88);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12);
}

html.travelnet-dark .flight-results-page .journey-divider {
    border-top-color: rgba(180, 204, 189, 0.28);
}

html.travelnet-dark .flight-results-page .journey-clock-time,
html.travelnet-dark .flight-results-page .journey-connection strong,
html.travelnet-dark .flight-results-page .journey-direct-label {
    color: #edf6ef;
}

html.travelnet-dark .flight-results-page .journey-route .duration-pill {
    border-color: rgba(180, 204, 189, 0.22);
    background: #13271b;
    color: #edf6ef;
}

html.travelnet-dark .flight-results-page .journey-route-marker {
    border-color: #13271b;
}

html.travelnet-dark .flight-results-page .journey-route-stop {
    border-color: #13271b;
    background: #c7a9f2;
}

html.travelnet-dark .flight-results-page .journey-connection small {
    color: #d6bfff;
}

html.travelnet-dark .flight-results-page .flight-fare-facts div {
    border-color: rgba(198, 168, 255, 0.2);
    background: rgba(61, 39, 96, 0.38);
}

html.travelnet-dark .flight-results-page .flight-fare-facts dd,
html.travelnet-dark .flight-results-page .segment-meta strong {
    color: #edf6ef;
}

@media (min-width: 721px) and (max-width: 920px) {
    .flight-results-page .flight-timing-card {
        padding: 15px 16px;
    }

    .flight-results-page .journey-timing-grid {
        grid-template-columns: 68px minmax(180px, 1fr) 68px;
        gap: 12px;
    }

    .flight-results-page .journey-clock-time {
        font-size: 18px;
    }

    .flight-results-page .journey-route-line {
        width: calc(100% - 22px);
    }

    .flight-results-page .journey-connection strong {
        font-size: 10px;
    }

    .flight-results-page .journey-connection small {
        font-size: 9px;
    }
}

@media (max-width: 720px) {
    .flight-results-page .flight-timing-card {
        padding: 15px 14px;
        overflow: hidden;
    }

    .flight-results-page .journey-row {
        gap: 10px;
    }

    .flight-results-page .journey-divider {
        margin: 14px 0;
    }

    .flight-results-page .journey-timing-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "departure"
            "route"
            "arrival";
        gap: 13px;
        width: 100%;
    }

    .flight-results-page .journey-time-point {
        width: 100%;
        padding-top: 0;
    }

    .flight-results-page .journey-departure {
        grid-area: departure;
        justify-items: start;
        text-align: left;
    }

    .flight-results-page .journey-route {
        grid-area: route;
        width: 100%;
        padding-top: 28px;
    }

    .flight-results-page .journey-arrival {
        grid-area: arrival;
        justify-items: end;
        text-align: right;
    }

    .flight-results-page .journey-clock-time {
        font-size: 19px;
    }

    .flight-results-page .journey-route-line {
        width: calc(100% - 20px);
    }

    .flight-results-page .journey-stop-information {
        margin-top: 14px;
    }

    .flight-results-page .journey-connections {
        gap: 8px 14px;
    }

    .flight-results-page .route-estimated-total {
        grid-column: 1 / -1;
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }

    .flight-results-page .flight-fare-facts {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Expanded search-result flight details. */
.flight-results-page .flight-details {
    margin-top: 16px;
    padding-top: 0;
    border: 1px solid rgba(173, 195, 220, 0.7);
    border-radius: 16px;
    background: rgba(249, 252, 255, 0.82);
    overflow: hidden;
}

.flight-results-page .flight-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    box-sizing: border-box;
    list-style: none;
    background:
        radial-gradient(circle at 94% 12%, rgba(255, 144, 181, 0.2), transparent 34%),
        linear-gradient(135deg, #eef7ff, #fbf2ff);
    color: #315c88;
    font-size: 13px;
}

.flight-results-page .flight-details > summary::-webkit-details-marker {
    display: none;
}

.flight-results-page .flight-details > summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    background: #ffffff;
    color: #b33b71;
    box-shadow: 0 5px 14px rgba(71, 62, 107, 0.13);
    font-size: 18px;
    line-height: 1;
}

.flight-results-page .flight-details[open] > summary::after {
    content: "-";
}

.flight-results-page .flight-details-body {
    gap: 18px;
    padding: 16px;
    border-top: 1px solid rgba(173, 195, 220, 0.58);
}

.flight-results-page .segment-list {
    gap: 0;
}

.flight-results-page .flight-result-segment-card {
    overflow: hidden;
    border: 1px solid rgba(181, 202, 225, 0.78);
    border-radius: 15px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 12px 26px rgba(47, 69, 98, 0.08);
}

.flight-results-page .flight-result-segment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border-bottom: 1px solid rgba(187, 205, 225, 0.58);
    background: rgba(238, 246, 255, 0.78);
}

.flight-results-page .flight-result-segment-header > div {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 9px;
}

.flight-results-page .flight-result-segment-header span {
    color: #236198;
    font-size: 13px;
    font-weight: 900;
}

.flight-results-page .flight-result-segment-header strong {
    color: #536a82;
    font-size: 12px;
}

.flight-results-page .flight-result-segment-header > small {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #ffffff;
    color: #60758c;
    box-shadow: 0 4px 12px rgba(46, 75, 105, 0.08);
    font-size: 10px;
    font-weight: 850;
}

.flight-results-page .flight-result-segment-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(70px, 0.5fr) minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 20px 16px 16px;
}

.flight-results-page .flight-result-airport {
    display: grid;
    justify-items: start;
    min-width: 0;
}

.flight-results-page .flight-result-airport--arrive {
    justify-items: end;
    text-align: right;
}

.flight-results-page .flight-result-stop-label {
    color: #75889e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.flight-results-page .flight-result-stop-time {
    color: #213951;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1;
}

.flight-results-page .flight-result-airport > b {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    color: #ae386e;
    font-size: 18px;
}

.flight-results-page .flight-result-airport-name {
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: #354e68;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.3;
}

.flight-results-page .flight-result-airport > small,
.flight-results-page .flight-result-airport > time {
    color: #687d94;
    font-size: 10px;
    line-height: 1.4;
}

.flight-results-page .flight-result-airport > time {
    margin-top: 6px;
    font-weight: 800;
}

.flight-results-page .flight-result-terminal,
.flight-results-page .flight-result-day-label {
    display: inline-flex;
    margin-top: 5px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #e8f4ff;
    color: #285e90;
    font-size: 9px;
    font-weight: 850;
}

.flight-results-page .flight-result-day-label.is-next-day {
    background: #fff0f6;
    color: #a63068;
}

.flight-results-page .flight-result-route-line {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 5px;
    align-items: center;
    color: #5488b8;
}

.flight-results-page .flight-result-route-line > span {
    height: 1px;
    background: repeating-linear-gradient(90deg, #9cbad6 0 5px, transparent 5px 9px);
}

.flight-results-page .flight-result-route-line svg {
    width: 18px;
    height: 18px;
    transform: rotate(45deg);
}

.flight-results-page .flight-result-segment-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid rgba(187, 205, 225, 0.58);
    background: rgba(246, 250, 255, 0.86);
}

.flight-results-page .flight-result-segment-facts > div {
    min-width: 0;
    padding: 10px 12px;
    border-right: 1px solid rgba(187, 205, 225, 0.5);
}

.flight-results-page .flight-result-segment-facts > div:last-child {
    border-right: 0;
}

.flight-results-page .flight-result-segment-facts dt {
    margin-bottom: 3px;
    color: #788ba1;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flight-results-page .flight-result-segment-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #334d68;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.35;
}

.flight-results-page .flight-result-segment-facts dd small {
    display: block;
    color: #6d8198;
    font-size: 9px;
}

.flight-results-page .flight-result-local-time-note,
.flight-results-page .flight-result-operated-by {
    margin: 0;
    padding: 7px 12px;
    border-top: 1px solid rgba(187, 205, 225, 0.5);
    color: #6c8097;
    font-size: 9px;
    text-align: center;
}

.flight-results-page .flight-result-operated-by {
    background: #fff8ed;
    color: #7c5622;
    font-weight: 750;
}

.flight-results-page .flight-result-layover {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 6px 10px;
    align-items: center;
    margin: 10px 14px;
    padding: 9px 12px;
    border: 1px dashed rgba(196, 108, 151, 0.5);
    border-radius: 11px;
    background: #fff4fa;
    color: #70415a;
    font-size: 10px;
}

.flight-results-page .flight-result-layover span {
    color: #a13267;
    font-weight: 900;
    text-transform: uppercase;
}

.flight-results-page .flight-result-layover small {
    color: #82566e;
    font-weight: 750;
}

html.travelnet-dark .flight-results-page .flight-details,
html.travelnet-dark .flight-results-page .flight-result-segment-card {
    border-color: rgba(130, 160, 194, 0.32);
    background: linear-gradient(180deg, rgba(27, 42, 62, 0.98), rgba(20, 33, 51, 0.98));
}

html.travelnet-dark .flight-results-page .flight-details > summary {
    background:
        radial-gradient(circle at 94% 12%, rgba(255, 119, 174, 0.13), transparent 34%),
        linear-gradient(135deg, rgba(38, 59, 84, 0.98), rgba(48, 39, 70, 0.96));
    color: #b9dcff;
}

html.travelnet-dark .flight-results-page .flight-details > summary::after,
html.travelnet-dark .flight-results-page .flight-result-segment-header > small {
    background: rgba(15, 27, 43, 0.82);
    color: #ff9bc5;
}

html.travelnet-dark .flight-results-page .flight-details-body,
html.travelnet-dark .flight-results-page .flight-result-segment-header,
html.travelnet-dark .flight-results-page .flight-result-segment-facts,
html.travelnet-dark .flight-results-page .flight-result-local-time-note,
html.travelnet-dark .flight-results-page .flight-result-operated-by {
    border-color: rgba(130, 160, 194, 0.24);
    background: rgba(15, 28, 44, 0.54);
}

html.travelnet-dark .flight-results-page .flight-result-stop-time,
html.travelnet-dark .flight-results-page .flight-result-airport-name,
html.travelnet-dark .flight-results-page .flight-result-segment-facts dd {
    color: #eef6ff;
}

html.travelnet-dark .flight-results-page .flight-result-segment-header strong,
html.travelnet-dark .flight-results-page .flight-result-airport > small,
html.travelnet-dark .flight-results-page .flight-result-airport > time,
html.travelnet-dark .flight-results-page .flight-result-local-time-note {
    color: #afc1d6;
}

html.travelnet-dark .flight-results-page .flight-result-segment-facts > div {
    border-color: rgba(130, 160, 194, 0.24);
}

html.travelnet-dark .flight-results-page .flight-result-layover {
    border-color: rgba(255, 137, 187, 0.45);
    background: rgba(111, 35, 73, 0.22);
    color: #f0c5d8;
}

@media (max-width: 760px) {
    .flight-results-page .flight-details-body {
        padding: 10px;
    }

    .flight-results-page .flight-result-segment-header {
        align-items: flex-start;
        padding: 10px 11px;
    }

    .flight-results-page .flight-result-segment-route {
        grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
        gap: 6px;
        padding: 16px 10px 13px;
    }

    .flight-results-page .flight-result-stop-time {
        font-size: 23px;
    }

    .flight-results-page .flight-result-airport > b {
        font-size: 16px;
    }

    .flight-results-page .flight-result-route-line {
        gap: 2px;
    }

    .flight-results-page .flight-result-route-line svg {
        width: 14px;
        height: 14px;
    }

    .flight-results-page .flight-result-segment-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flight-results-page .flight-result-segment-facts > div {
        border-bottom: 1px solid rgba(187, 205, 225, 0.5);
    }

    .flight-results-page .flight-result-segment-facts > div:nth-child(2n) {
        border-right: 0;
    }

    .flight-results-page .flight-result-layover {
        grid-template-columns: 1fr auto;
        margin: 9px 4px;
    }

    .flight-results-page .flight-result-layover span {
        grid-column: 1 / -1;
    }
}

.flight-results-page .flight-details > summary .details-closed-text,
.flight-results-page .flight-details > summary .details-open-text {
    min-width: 0;
}

.flight-results-page .flight-details > summary .details-closed-text {
    display: grid;
    gap: 2px;
}

.flight-results-page .flight-details > summary .details-open-text {
    display: none;
}

.flight-results-page .flight-details[open] > summary .details-closed-text {
    display: none;
}

.flight-results-page .flight-details[open] > summary .details-open-text {
    display: grid;
    gap: 2px;
}

.flight-results-page .flight-details > summary strong {
    color: inherit;
    font-size: 13px;
    font-weight: 900;
}

.flight-results-page .flight-details > summary small {
    color: #687e96;
    font-size: 10px;
    font-weight: 700;
}

.flight-results-page .flight-result-journey-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(181, 202, 225, 0.68);
    border-radius: 13px;
    background:
        linear-gradient(135deg, rgba(235, 246, 255, 0.94), rgba(255, 243, 250, 0.9)),
        #ffffff;
}

.flight-results-page .flight-result-journey-heading > div:first-child {
    display: grid;
    gap: 2px;
}

.flight-results-page .flight-result-journey-heading > div:first-child span {
    color: #a33368;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flight-results-page .flight-result-journey-heading > div:first-child strong {
    color: #263e58;
    font-size: 15px;
}

.flight-results-page .flight-result-journey-facts {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.flight-results-page .flight-result-journey-facts span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #ffffff;
    color: #536a83;
    box-shadow: 0 4px 11px rgba(47, 70, 98, 0.08);
    font-size: 9px;
    font-weight: 850;
}

html.travelnet-dark .flight-results-page .flight-details > summary small {
    color: #afc1d6;
}

html.travelnet-dark .flight-results-page .flight-result-journey-heading {
    border-color: rgba(130, 160, 194, 0.3);
    background:
        linear-gradient(135deg, rgba(38, 59, 84, 0.92), rgba(56, 40, 73, 0.9)),
        #1b2b40;
}

html.travelnet-dark .flight-results-page .flight-result-journey-heading > div:first-child strong {
    color: #eef6ff;
}

html.travelnet-dark .flight-results-page .flight-result-journey-facts span {
    background: rgba(15, 27, 43, 0.78);
    color: #c3d4e7;
}

@media (max-width: 760px) {
    .flight-results-page .flight-details > summary {
        min-height: 54px;
        padding: 9px 12px;
    }

    .flight-results-page .flight-result-journey-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
        padding: 11px;
    }

    .flight-results-page .flight-result-journey-facts {
        justify-content: flex-start;
    }
}

.flight-results-page .flight-result-journey-panel {
    position: relative;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(151, 184, 215, 0.72);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 32px rgba(44, 69, 98, 0.09);
}

.flight-results-page .flight-result-journey-panel--outbound {
    border-top: 4px solid #4b9bdb;
}

.flight-results-page .flight-result-journey-panel--return {
    border-top: 4px solid #d55a91;
}

.flight-results-page .flight-result-journey-panel .flight-result-journey-heading {
    margin: -14px -14px 0;
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid rgba(181, 202, 225, 0.68);
    border-radius: 14px 14px 0 0;
    box-shadow: none;
}

.flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading {
    background:
        radial-gradient(circle at 88% 12%, rgba(117, 190, 247, 0.18), transparent 36%),
        linear-gradient(135deg, #eaf6ff, #f6faff);
}

.flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading {
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 135, 181, 0.2), transparent 36%),
        linear-gradient(135deg, #fff0f7, #fbf5ff);
}

.flight-results-page .flight-result-journey-heading > div:first-child span {
    font-size: 19px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-transform: none;
}

.flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading > div:first-child span {
    color: #1769a7;
}

.flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading > div:first-child span {
    color: #ad3269;
}

.flight-results-page .flight-result-journey-heading > div:first-child strong {
    font-size: 13px;
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel {
    border-color: rgba(130, 160, 194, 0.34);
    background: rgba(18, 31, 48, 0.76);
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--outbound {
    border-top-color: #65b8f5;
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--return {
    border-top-color: #f27caf;
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading {
    background:
        radial-gradient(circle at 88% 12%, rgba(83, 163, 224, 0.16), transparent 36%),
        linear-gradient(135deg, rgba(31, 60, 87, 0.96), rgba(28, 45, 67, 0.96));
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading {
    background:
        radial-gradient(circle at 88% 12%, rgba(238, 111, 166, 0.16), transparent 36%),
        linear-gradient(135deg, rgba(72, 40, 62, 0.96), rgba(49, 38, 67, 0.96));
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading > div:first-child span {
    color: #8bd0ff;
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading > div:first-child span {
    color: #ff9fc7;
}

@media (max-width: 760px) {
    .flight-results-page .flight-result-journey-panel {
        padding: 10px;
        border-radius: 15px;
    }

    .flight-results-page .flight-result-journey-panel .flight-result-journey-heading {
        margin: -10px -10px 0;
        padding: 14px;
        border-radius: 11px 11px 0 0;
    }

    .flight-results-page .flight-result-journey-heading > div:first-child span {
        font-size: 18px;
    }
}

/* Premium customer flight selection layout. */
.flight-results-page {
    --flight-page-bg: #f7f9fd;
    --flight-surface: #ffffff;
    --flight-surface-soft: #f5f8fc;
    --flight-text-primary: #10234a;
    --flight-text-secondary: #55657f;
    --flight-border: #d9e4f2;
    --flight-blue: #1769d2;
    --flight-red: #ed1b2f;
    --flight-green: #2ca44f;
    --flight-orange-bg: #fff8e8;
    --flight-orange-border: #f4bd4f;
    --flight-purple-bg: #f8f1ff;
    --flight-purple-border: #d8b8f4;
    --flight-connection-bg: #fff3f8;
    --flight-connection-border: #ef7daa;
    --flight-radius-small: 10px;
    --flight-radius-medium: 14px;
    --flight-radius-large: 18px;
    --flight-shadow-soft: 0 8px 24px rgba(16, 35, 74, 0.07);
    width: min(100%, 1440px);
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    padding: 22px clamp(14px, 2.5vw, 34px) 44px;
    box-sizing: border-box;
    background: var(--flight-page-bg);
    color: var(--flight-text-primary);
    font-size: 16px;
    line-height: 1.45;
}

.flight-results-page .results-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}

.flight-results-page .results-layout > .results-mobile-filter-toggle {
    display: none;
}

.flight-results-page .results-layout > .flight-filter-card {
    display: none;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    border: 1px solid var(--flight-border);
    border-radius: var(--flight-radius-large);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
}

.flight-results-page .results-layout > .flight-filter-card.is-mobile-open {
    display: block;
}

/* Style the compact message that compares visible flights with all available flights. */
.flight-results-page .flight-filter-result-count {
    display: grid; /* Stack the strong count above the smaller context sentence. */
    gap: 3px; /* Keep the two count lines close enough to read as one message. */
    margin: -4px 0 0; /* Pull the message slightly closer to the filter heading. */
    padding: 12px 14px; /* Give the text comfortable space inside its card. */
    border: 1px solid #cfe0f4; /* Separate the count card with a quiet blue border. */
    border-radius: var(--flight-radius-small); /* Reuse the flight page's small corner radius. */
    background: #eef6ff; /* Use a pale blue fill to distinguish information from actions. */
    color: var(--flight-text-secondary); /* Keep supporting wording visually quieter. */
    font-size: 12px; /* Make the context smaller than the main result count. */
} /* end flight result count card */

/* Emphasize the number of flight cards currently visible. */
.flight-results-page .flight-filter-result-count strong {
    color: var(--flight-text-primary); /* Use the primary text colour for the important count. */
    font-size: 15px; /* Make the visible result count easier to scan. */
} /* end emphasized flight result count */

/* Match native radio and checkbox marks to the Flights blue accent. */
.flight-results-page .flight-filter-card input {
    accent-color: var(--flight-blue); /* Colour supported native controls without custom JavaScript. */
} /* end flight filter input accent */

.flight-results-page .result-stack {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.flight-results-page .result-stack > .sort-bar {
    display: flex; /* Show the existing sorting controls above the filtered result cards. */
} /* end visible flight sort bar */

/* Use a persistent left sidebar only when both columns have comfortable reading space. */
@media (min-width: 1320px) {
    /* Split the page into a narrow filter rail and a flexible results column. */
    .flight-results-page .results-layout {
        grid-template-columns: minmax(250px, 280px) minmax(0, 1fr); /* Reserve 250-280px for filters and give the remaining width to results. */
        gap: 24px; /* Leave a clear gutter between the filter rail and result cards. */
        align-items: start; /* Prevent the sidebar from stretching to the results column height. */
    } /* end wide results grid */

    /* Keep the filter rail visible while the customer scrolls through long result lists. */
    .flight-results-page .results-layout > .flight-filter-card {
        position: sticky; /* Let the sidebar follow the viewport within its results container. */
        top: 20px; /* Keep a small breathing space above the sticky sidebar. */
        display: block; /* Override the premium layout rule that previously hid the filter card. */
        width: 100%; /* Fill the dedicated sidebar grid column. */
        max-width: none; /* Remove the centred panel width cap used on smaller screens. */
        margin: 0; /* Align the sidebar with the top-left edge of its grid column. */
    } /* end sticky wide filter sidebar */
} /* end wide flight results breakpoint */

/* Replace the fixed sidebar with a collapsible panel when horizontal room is limited. */
@media (max-width: 1319px) {
    /* Present one clear button that opens the filter controls above the results. */
    .flight-results-page .results-layout > .results-mobile-filter-toggle {
        display: inline-flex; /* Reveal the existing mobile filter toggle below the sidebar breakpoint. */
        align-items: center; /* Vertically centre the icon, label, count, and chevron. */
        justify-content: flex-start; /* Keep the filter label aligned to the left. */
        gap: 9px; /* Add consistent spacing between the button's visual parts. */
        width: 100%; /* Make the control easy to tap across the available page width. */
        min-height: 50px; /* Provide a comfortable touch target. */
        padding: 0 16px; /* Keep button content away from its border. */
        border: 1px solid #c7daf1; /* Use a light Flights-blue outline. */
        border-radius: var(--flight-radius-medium); /* Match the surrounding flight cards. */
        background: #eef6ff; /* Give the filter action a calm pale-blue surface. */
        color: var(--flight-blue); /* Apply the product colour to icon and label. */
        box-shadow: var(--flight-shadow-soft); /* Lift the control gently from the page background. */
        font-size: 14px; /* Keep the control readable without dominating the results. */
        font-weight: 900; /* Make the action label easy to identify. */
        cursor: pointer; /* Show pointer feedback on mouse-enabled devices. */
    } /* end collapsible filter toggle */

    /* Style the active-filter count as a compact pill at the button's right edge. */
    .flight-results-page .results-mobile-filter-toggle strong {
        display: inline-flex; /* Let the count text centre neatly inside its pill. */
        align-items: center; /* Vertically centre the active count. */
        min-height: 25px; /* Keep the count pill easy to read and tap around. */
        margin-left: auto; /* Push the count and chevron to the far right. */
        padding: 2px 9px; /* Add compact horizontal space around the count. */
        border-radius: 999px; /* Create a fully rounded pill shape. */
        background: var(--flight-blue); /* Use solid Flights blue for emphasis. */
        color: #ffffff; /* Keep the count readable against the blue background. */
        font-size: 11px; /* Keep the supporting count smaller than the action label. */
        white-space: nowrap; /* Prevent the active-count wording from wrapping. */
    } /* end active-filter count pill */

    /* Draw a small downward chevron without loading another image asset. */
    .flight-results-page .results-mobile-filter-chevron {
        display: inline-block; /* Give the CSS-drawn chevron its own box. */
        width: 9px; /* Set the horizontal size of the chevron. */
        height: 9px; /* Set the vertical size of the chevron. */
        margin: 0 3px 4px 0; /* Optically align the rotated shape with the text. */
        border-right: 2px solid currentColor; /* Draw the chevron's right stroke. */
        border-bottom: 2px solid currentColor; /* Draw the chevron's lower stroke. */
        transform: rotate(45deg); /* Rotate the two borders into a downward arrow. */
    } /* end filter toggle chevron */

    /* Let the opened filter panel occupy the full single-column results width. */
    .flight-results-page .results-layout > .flight-filter-card.is-mobile-open {
        position: static; /* Disable sticky positioning inside the collapsed layout. */
        width: 100%; /* Fill the available results column. */
        max-width: none; /* Remove the narrower centred-panel cap. */
        margin: 0; /* Align the open filters with the results edges. */
    } /* end open narrow filter panel */
} /* end narrow flight results breakpoint */

.flight-results-page .flight-result-card {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(290px, 1fr);
    align-items: start;
    width: 100%;
    min-width: 0;
    padding: 0;
    overflow: visible;
    border: 1px solid var(--flight-border);
    border-radius: 22px;
    background: var(--flight-surface);
    box-shadow: 0 14px 42px rgba(16, 35, 74, 0.09);
}

.flight-results-page .flight-result-card::before,
.flight-results-page .flight-result-card::after {
    display: none;
}

.flight-results-page .flight-result-card:hover {
    transform: none;
    border-color: #c9d8ea;
    box-shadow: 0 18px 48px rgba(16, 35, 74, 0.12);
}

.flight-results-page .flight-card-content {
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: clamp(20px, 2.2vw, 30px);
    overflow: visible;
}

.flight-results-page .journey-header {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) minmax(220px, 0.7fr);
    gap: 20px;
    align-items: center;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--flight-border);
}

.flight-results-page .journey-header-airline {
    display: block;
}

.flight-results-page .journey-header .airline-logo-circle {
    width: 126px;
    height: 78px;
    border: 1px solid var(--flight-border);
    border-radius: var(--flight-radius-medium);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
}

.flight-results-page .journey-header .airline-logo-circle img {
    width: 106px;
    max-width: 106px;
    max-height: 52px;
}

.flight-results-page .journey-header-route {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.flight-results-page .journey-header-route .airline-title-row {
    gap: 8px;
}

.flight-results-page .journey-header-route .airline-name {
    color: var(--flight-text-secondary);
    font-size: 15px;
}

.flight-results-page .journey-header-route .route-code-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.flight-results-page .journey-header-route .route-code-item {
    display: grid;
    gap: 4px;
}

.flight-results-page .journey-header-route .route-code-item:last-of-type {
    justify-items: end;
    text-align: right;
}

.flight-results-page .journey-header-route .route-code-main b {
    color: var(--flight-text-primary);
    font-size: clamp(32px, 3.2vw, 44px);
    line-height: 1;
}

.flight-results-page .journey-header-route .route-code-item small {
    color: var(--flight-text-secondary);
    font-size: 13px;
    font-weight: 700;
}

.flight-results-page .journey-header-route .route-code-arrow {
    position: relative;
    display: grid;
    width: 42px;
    height: 24px;
    place-items: center;
    color: var(--flight-blue);
    font-size: 0;
}

.flight-results-page .journey-header-route .route-code-arrow::before {
    content: "";
    width: 100%;
    border-top: 2px dotted #9ab3ce;
}

.flight-results-page .journey-header-route .route-code-arrow::after {
    content: "\2192";
    position: absolute;
    color: var(--flight-blue);
    font-size: 20px;
}

.flight-results-page .journey-header-route .route-estimated-total {
    grid-column: 1 / -1;
    justify-self: start;
    border-color: var(--flight-purple-border);
    background: var(--flight-purple-bg);
    color: #68449a;
    font-size: 12px;
}

.flight-results-page .journey-header-route .route-description {
    color: var(--flight-text-secondary);
    font-size: 14px;
}

.flight-results-page .journey-header-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--flight-border);
    border-radius: var(--flight-radius-medium);
    background: var(--flight-surface-soft);
}

.flight-results-page .journey-header-meta > div {
    display: grid;
    gap: 2px;
}

.flight-results-page .journey-header-meta span {
    color: var(--flight-text-secondary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.flight-results-page .journey-header-meta strong {
    color: var(--flight-text-primary);
    font-size: 13px;
    line-height: 1.35;
}

.flight-results-page .journey-header-change {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    grid-column: 1 / -1;
    border: 1px solid #b9cde3;
    border-radius: 999px;
    background: var(--flight-surface);
    color: var(--flight-blue);
    font-size: 13px;
    font-weight: 900;
}

.flight-results-page .flight-card-timeline {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.flight-results-page .flight-card-journeys {
    gap: 12px;
}

.flight-results-page .journey-divider {
    display: none;
}

.flight-results-page .journey-row {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--flight-border);
    border-radius: var(--flight-radius-medium);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
}

.flight-results-page .journey-row--outbound {
    border-left: 4px solid var(--flight-blue);
}

.flight-results-page .journey-row--return {
    border-left: 4px solid var(--flight-red);
}

.flight-results-page .journey-row .journey-label {
    display: grid;
    gap: 3px;
    padding: 7px 10px;
    border: 0;
    border-radius: 999px;
    background: #eaf3ff;
    color: var(--flight-blue);
    font-size: 11px;
    text-align: center;
}

.flight-results-page .journey-row--return .journey-label {
    background: #fff0f3;
    color: #ba2435;
}

.flight-results-page .journey-row .journey-label small {
    color: inherit;
    font-size: 10px;
    font-weight: 750;
    white-space: normal;
}

.flight-results-page .journey-timing-grid {
    display: grid;
    grid-template-columns: minmax(70px, 0.7fr) minmax(140px, 1.4fr) minmax(70px, 0.7fr);
    gap: 14px;
    align-items: center;
}

.flight-results-page .journey-time-point {
    display: grid;
    gap: 3px;
}

.flight-results-page .journey-arrival {
    justify-items: end;
    text-align: right;
}

.flight-results-page .journey-clock-time {
    color: var(--flight-text-primary);
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 900;
    line-height: 1;
}

.flight-results-page .journey-airport-code {
    color: var(--flight-text-primary);
    font-size: 17px;
    font-weight: 900;
}

.flight-results-page .journey-route {
    display: grid;
    gap: 8px;
    justify-items: stretch;
    padding-top: 0;
}

.flight-results-page .journey-route .duration-pill {
    position: static;
    justify-self: center;
    transform: none;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--flight-text-secondary);
    font-size: 13px;
}

.flight-results-page .journey-route-line {
    width: 100%;
}

.flight-results-page .journey-stop-information {
    margin-top: 0;
}

.flight-results-page .journey-direct-label,
.flight-results-page .journey-stop-count,
.flight-results-page .journey-connection strong,
.flight-results-page .journey-connection small {
    color: var(--flight-text-secondary);
    font-size: 12px;
}

.flight-results-page .benefit-chips {
    display: none;
}

.flight-results-page .flight-details {
    margin-top: 0;
    border-color: var(--flight-border);
    border-radius: var(--flight-radius-large);
    background: var(--flight-surface-soft);
}

.flight-results-page .flight-details > summary {
    min-height: 58px;
    padding: 11px 16px;
    background: var(--flight-surface);
    color: var(--flight-text-primary);
}

.flight-results-page .flight-details > summary::after {
    color: var(--flight-blue);
}

.flight-results-page .flight-details > summary strong {
    font-size: 15px;
}

.flight-results-page .flight-details > summary small {
    color: var(--flight-text-secondary);
    font-size: 12px;
}

.flight-results-page .flight-details-body {
    gap: 22px;
    padding: 18px;
    border-color: var(--flight-border);
}

.flight-results-page .flight-result-journey-panel {
    gap: 16px;
    padding: 18px;
    border-color: var(--flight-border);
    border-radius: var(--flight-radius-large);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
}

.flight-results-page .flight-result-journey-panel--outbound {
    border-top-color: var(--flight-blue);
}

.flight-results-page .flight-result-journey-panel--return {
    border-top-color: var(--flight-red);
}

.flight-results-page .flight-result-journey-panel .flight-result-journey-heading {
    margin: -18px -18px 0;
    padding: 18px 20px;
    border-color: var(--flight-border);
    background: var(--flight-surface-soft);
}

.flight-results-page .flight-result-journey-heading > div:first-child span {
    color: var(--flight-text-primary);
    font-size: 22px;
}

.flight-results-page .flight-result-journey-heading > div:first-child strong {
    color: var(--flight-text-secondary);
    font-size: 14px;
}

.flight-results-page .flight-result-journey-facts span {
    min-height: 30px;
    padding: 4px 10px;
    border: 1px solid var(--flight-border);
    background: var(--flight-surface);
    color: var(--flight-text-secondary);
    box-shadow: none;
    font-size: 12px;
}

.flight-results-page .info-banner {
    border-radius: var(--flight-radius-medium);
}

.flight-results-page .info-banner--stopover {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 62px;
    padding: 10px 14px;
    box-sizing: border-box;
    border: 1px solid var(--flight-orange-border);
    background: var(--flight-orange-bg);
    color: #704c0c;
}

.flight-results-page .info-banner-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 999px;
    background: rgba(115, 70, 160, 0.1);
    color: #7146a0;
}

.flight-results-page .info-banner--stopover .info-banner-icon {
    background: rgba(244, 189, 79, 0.2);
    color: #9b6700;
}

.flight-results-page .info-banner-icon svg {
    width: 18px;
    height: 18px;
}

.flight-results-page .info-banner--stopover > span:nth-child(2) {
    display: grid;
    gap: 2px;
}

.flight-results-page .info-banner strong {
    color: inherit;
    font-size: 15px;
}

.flight-results-page .info-banner small {
    color: inherit;
    font-size: 13px;
    line-height: 1.4;
}

.flight-results-page .segment-list {
    gap: 14px;
}

.flight-results-page .flight-result-segment-card {
    border-color: var(--flight-border);
    border-radius: var(--flight-radius-medium);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
}

.flight-results-page .flight-result-segment-header {
    min-height: 58px;
    padding: 10px 16px;
    border-color: var(--flight-border);
    background: var(--flight-surface-soft);
}

.flight-results-page .flight-result-segment-header > div {
    gap: 6px 10px;
}

.flight-results-page .flight-result-segment-order {
    padding: 5px 9px;
    border-radius: 999px;
    background: #e8f2ff;
    color: var(--flight-blue);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.flight-results-page .flight-result-segment-header strong {
    color: var(--flight-text-primary);
    font-size: 15px;
}

.flight-results-page .flight-result-segment-header > div > small {
    color: var(--flight-text-secondary);
    font-size: 13px;
    font-weight: 800;
}

.flight-results-page .flight-result-baggage-pill {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid #b9ddc4;
    border-radius: 999px;
    background: #effaf2;
    color: #247842;
    font-size: 12px;
    font-weight: 850;
}

.flight-results-page .flight-result-baggage-pill svg {
    width: 15px;
    height: 15px;
}

.flight-results-page .flight-result-segment-route {
    grid-template-columns: minmax(0, 1fr) minmax(130px, 0.65fr) minmax(0, 1fr);
    gap: 24px;
    padding: 24px 20px 20px;
}

.flight-results-page .flight-result-stop-label {
    color: var(--flight-text-secondary);
    font-size: 11px;
}

.flight-results-page .flight-result-stop-time {
    color: var(--flight-text-primary);
    font-size: clamp(28px, 3vw, 34px);
}

.flight-results-page .flight-result-airport > b {
    color: var(--flight-text-primary);
    font-size: 23px;
}

.flight-results-page .flight-result-airport-name {
    color: var(--flight-text-primary);
    font-size: 15px;
    line-height: 1.4;
}

.flight-results-page .flight-result-airport > small,
.flight-results-page .flight-result-airport > time {
    color: var(--flight-text-secondary);
    font-size: 13px;
}

.flight-results-page .flight-result-terminal,
.flight-results-page .flight-result-day-label {
    font-size: 11px;
}

.flight-results-page .flight-result-day-label.is-next-day {
    background: #eaf8ed;
    color: var(--flight-green);
}

.flight-results-page .flight-result-route-centre {
    display: grid;
    gap: 7px;
    justify-items: stretch;
    color: var(--flight-text-secondary);
    text-align: center;
}

.flight-results-page .flight-result-route-centre > strong {
    color: var(--flight-text-primary);
    font-size: 15px;
}

.flight-results-page .flight-result-route-centre > small {
    color: var(--flight-text-secondary);
    font-size: 12px;
}

.flight-results-page .flight-result-route-line {
    color: var(--flight-blue);
}

.flight-results-page .flight-result-route-line > span {
    background: repeating-linear-gradient(90deg, #92aecb 0 6px, transparent 6px 11px);
}

.flight-results-page .flight-result-segment-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-color: var(--flight-border);
    background: var(--flight-surface-soft);
}

.flight-results-page .flight-result-segment-facts > div {
    min-height: 66px;
    padding: 12px 14px;
    border-color: var(--flight-border);
    box-sizing: border-box;
}

.flight-results-page .flight-result-segment-facts dt {
    color: var(--flight-text-secondary);
    font-size: 10px;
}

.flight-results-page .flight-result-segment-facts dd {
    color: var(--flight-text-primary);
    font-size: 13px;
}

.flight-results-page .flight-result-segment-facts dd small {
    color: var(--flight-text-secondary);
    font-size: 11px;
}

.flight-results-page .flight-result-operated-by,
.flight-results-page .flight-result-local-time-note {
    border-color: var(--flight-border);
    color: var(--flight-text-secondary);
    font-size: 12px;
}

.flight-results-page .flight-result-layover {
    grid-template-columns: 42px auto minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 56px;
    margin: 12px 18px;
    padding: 9px 14px;
    border-color: var(--flight-connection-border);
    border-radius: var(--flight-radius-small);
    background: var(--flight-connection-bg);
    color: #77304f;
    font-size: 13px;
}

.flight-results-page .flight-result-layover::before {
    content: "\25F7";
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 999px;
    background: rgba(239, 125, 170, 0.14);
    color: #bb3c70;
    font-size: 20px;
}

.flight-results-page .flight-result-layover span,
.flight-results-page .flight-result-layover strong,
.flight-results-page .flight-result-layover small {
    font-size: 13px;
}

.flight-results-page .fare-details-row {
    overflow: hidden;
    border: 1px solid #b9ddc4;
    border-radius: var(--flight-radius-medium);
    background: #effaf2;
}

.flight-results-page .fare-details-row > summary {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    color: #247842;
    cursor: pointer;
    list-style: none;
}

.flight-results-page .fare-details-row > summary::-webkit-details-marker {
    display: none;
}

.flight-results-page .fare-details-row > summary span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 900;
}

.flight-results-page .fare-details-row > summary strong {
    font-size: 15px;
}

.flight-results-page .fare-details-row svg {
    width: 18px;
    height: 18px;
}

.flight-results-page .fare-details-row[open] > summary span:last-child svg {
    transform: rotate(180deg);
}

.flight-results-page .fare-details-row .flight-fare-facts {
    margin: 0;
    padding: 14px 16px;
    border-top: 1px solid #cfe6d5;
    background: var(--flight-surface);
}

.flight-results-page .price-sidebar {
    position: static;
    top: auto;
    display: grid;
    justify-items: stretch;
    align-content: start;
    gap: 10px;
    min-width: 290px;
    min-height: 0;
    margin: 16px 16px 16px 0;
    padding: 16px;
    border: 1px solid var(--flight-border);
    border-radius: var(--flight-radius-large);
    background: var(--flight-surface);
    box-shadow: var(--flight-shadow-soft);
    text-align: left;
}

.flight-results-page .price-sidebar .flight-destination-image-card {
    width: 100%;
    min-height: 190px;
    margin: 0 0 8px;
    overflow: hidden;
    border-radius: var(--flight-radius-medium);
}

.flight-results-page .price-sidebar .flight-destination-image-card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.flight-results-page .price-sidebar .flight-destination-image-card::after {
    content: "";
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(180deg, transparent, rgba(8, 20, 44, 0.86));
}

.flight-results-page .price-sidebar .flight-destination-image-card > div {
    z-index: 2;
}

.flight-results-page .price-sidebar .flight-destination-image-card span,
.flight-results-page .price-sidebar .flight-destination-image-card small,
.flight-results-page .price-sidebar .flight-destination-image-card strong {
    color: #ffffff;
}

.flight-results-page .price-sidebar .flight-price-label {
    margin-top: 4px;
    color: var(--flight-text-secondary);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flight-results-page .price-sidebar > strong {
    color: var(--flight-red);
    font-size: clamp(32px, 3.2vw, 40px);
}

.flight-results-page .price-sidebar > small {
    color: var(--flight-text-secondary);
    font-size: 13px;
    line-height: 1.4;
}

.flight-results-page .flight-select-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
    border-radius: var(--flight-radius-small);
    background: var(--flight-red);
    box-shadow: 0 10px 22px rgba(237, 27, 47, 0.22);
    font-size: 15px;
    font-weight: 900;
}

.flight-results-page .flight-select-button:hover,
.flight-results-page .flight-select-button:focus-visible {
    background: #c91426;
    box-shadow: 0 12px 26px rgba(237, 27, 47, 0.3);
}

.flight-results-page button:focus-visible,
.flight-results-page a:focus-visible,
.flight-results-page summary:focus-visible {
    outline: 3px solid rgba(23, 105, 210, 0.28);
    outline-offset: 3px;
}

@media (max-width: 1120px) {
    .flight-results-page .flight-result-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .flight-results-page .price-sidebar {
        position: static;
        grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1fr);
        min-width: 0;
        margin: 0 20px 20px;
    }

    .flight-results-page .price-sidebar .flight-destination-image-card {
        grid-row: 1 / 7;
        min-height: 220px;
    }

    .flight-results-page .price-sidebar .flight-destination-image-card img {
        height: 220px;
    }

    .flight-results-page .journey-header {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .flight-results-page .journey-header-meta {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .flight-results-page .journey-header-change {
        grid-column: auto;
    }
}

@media (max-width: 860px) {
    .flight-results-page {
        padding-right: 12px;
        padding-left: 12px;
    }

    .flight-results-page .journey-row {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .flight-results-page .flight-result-segment-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .flight-results-page {
        width: 100%;
        padding: 12px 10px 96px;
        overflow-x: clip;
        font-size: 15px;
    }

    .flight-results-page .flight-result-card {
        gap: 14px;
        padding: 15px;
        border-radius: 16px;
    }

    .flight-results-page .flight-card-content {
        display: contents;
    }

    .flight-results-page .journey-header {
        grid-row: 1;
    }

    .flight-results-page .price-sidebar {
        grid-row: 2;
    }

    .flight-results-page .flight-card-timeline {
        grid-row: 3;
    }

    .flight-results-page .flight-details {
        grid-row: 4;
    }

    .flight-results-page .journey-header {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 12px;
        padding-bottom: 16px;
    }

    .flight-results-page .journey-header .airline-logo-circle {
        width: 72px;
        height: 58px;
    }

    .flight-results-page .journey-header .airline-logo-circle img {
        width: 62px;
        max-width: 62px;
        max-height: 38px;
    }

    .flight-results-page .journey-header-route .route-code-main b {
        font-size: 30px;
    }

    .flight-results-page .journey-header-route .route-code-item small,
    .flight-results-page .journey-header-route .route-description,
    .flight-results-page .journey-header-route .route-estimated-total {
        display: none;
    }

    .flight-results-page .journey-header-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px;
    }

    .flight-results-page .journey-header-change {
        grid-column: 1 / -1;
    }

    .flight-results-page .journey-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 13px;
    }

    .flight-results-page .journey-row .journey-label {
        grid-column: 1;
        justify-self: start;
    }

    .flight-results-page .journey-timing-grid {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: minmax(70px, 0.8fr) minmax(90px, 1fr) minmax(70px, 0.8fr);
        gap: 8px;
    }

    .flight-results-page .journey-clock-time {
        font-size: 25px;
    }

    .flight-results-page .flight-details-body {
        padding: 10px;
    }

    .flight-results-page .flight-result-journey-panel {
        padding: 10px;
    }

    .flight-results-page .flight-result-journey-panel .flight-result-journey-heading {
        margin: -10px -10px 0;
    }

    .flight-results-page .flight-result-journey-heading > div:first-child span {
        font-size: 20px;
    }

    .flight-results-page .info-banner--stopover {
        grid-template-columns: 34px minmax(0, 1fr) 24px;
        gap: 9px;
        min-height: 58px;
        padding: 9px 10px;
    }

    .flight-results-page .info-banner--stopover {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .flight-results-page .info-banner-icon {
        width: 32px;
        height: 32px;
    }

    .flight-results-page .flight-result-segment-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .flight-results-page .flight-result-segment-route {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        padding: 18px 14px;
    }

    .flight-results-page .flight-result-airport,
    .flight-results-page .flight-result-airport--arrive {
        justify-items: start;
        text-align: left;
    }

    .flight-results-page .flight-result-route-centre {
        width: 75%;
        justify-self: center;
    }

    .flight-results-page .flight-result-segment-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flight-results-page .flight-result-layover {
        grid-template-columns: 34px minmax(0, 1fr);
        margin: 10px 2px;
    }

    .flight-results-page .flight-result-layover::before {
        grid-row: 1 / 3;
        width: 30px;
        height: 30px;
    }

    .flight-results-page .flight-result-layover span {
        grid-column: 2;
    }

    .flight-results-page .flight-result-layover small {
        grid-column: 2;
    }

    .flight-results-page .price-sidebar {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin: 0 12px 16px;
        padding: 14px;
    }

    .flight-results-page .price-sidebar .flight-destination-image-card {
        grid-row: auto;
        min-height: 165px;
    }

    .flight-results-page .price-sidebar .flight-destination-image-card img {
        height: 165px;
    }

    .flight-results-page .flight-select-button {
        position: sticky;
        bottom: 10px;
        z-index: 30;
        min-height: 54px;
    }

}

/*
 * The selection experience intentionally keeps the requested bright airline
 * palette even when the wider portal theme is dark. This prevents legacy dark
 * selectors from reducing contrast inside these customer-facing cards.
 */
html.travelnet-dark .flight-results-page {
    background: var(--flight-page-bg);
    color: var(--flight-text-primary);
}

/* Keep the bright customer-facing filter rail readable inside portal dark mode. */
html.travelnet-dark .flight-results-page .flight-filter-card,
html.travelnet-dark .flight-results-page .sort-bar {
    border-color: var(--flight-border); /* Reuse the bright flight-card border colour. */
    background: var(--flight-surface); /* Preserve the light customer-facing surface. */
    color: var(--flight-text-secondary); /* Use the intended supporting text colour. */
    box-shadow: var(--flight-shadow-soft); /* Match the elevation of the result cards. */
} /* end dark-shell bright filter surfaces */

/* Keep filter headings and the main result count at primary-text contrast. */
html.travelnet-dark .flight-results-page .flight-filter-card h2,
html.travelnet-dark .flight-results-page .flight-filter-card h3,
html.travelnet-dark .flight-results-page .flight-filter-card .filter-card-header span,
html.travelnet-dark .flight-results-page .flight-filter-result-count strong {
    color: var(--flight-text-primary); /* Preserve dark readable text on bright surfaces. */
} /* end dark-shell primary filter text */

/* Keep filter fields and sorting pills within the same bright surface system. */
html.travelnet-dark .flight-results-page .flight-filter-field,
html.travelnet-dark .flight-results-page .flight-filter-card .toggle-card,
html.travelnet-dark .flight-results-page .flight-filter-field select,
html.travelnet-dark .flight-results-page .sort-pill {
    border-color: var(--flight-border); /* Use the standard flight control border. */
    background: var(--flight-surface-soft); /* Distinguish controls from the main white card. */
    color: var(--flight-text-primary); /* Keep entered and selected values readable. */
} /* end dark-shell filter controls */

/* Preserve the divider between filter groups in the bright card. */
html.travelnet-dark .flight-results-page .flight-filter-card .filter-group {
    border-color: var(--flight-border); /* Use the same quiet divider as other flight controls. */
} /* end dark-shell filter group divider */

/* Keep supporting labels and actions quieter than filter headings. */
html.travelnet-dark .flight-results-page .flight-filter-card .filter-group label,
html.travelnet-dark .flight-results-page .filter-clear-link,
html.travelnet-dark .flight-results-page .flight-filter-result-count {
    color: var(--flight-text-secondary); /* Apply the secondary text tone consistently. */
} /* end dark-shell supporting filter text */

/* Preserve the informational pale-blue result count card in dark portal chrome. */
html.travelnet-dark .flight-results-page .flight-filter-result-count {
    border-color: #cfe0f4; /* Keep the count card's subtle blue outline. */
    background: #eef6ff; /* Keep its informational pale-blue fill. */
} /* end dark-shell result count card */

/* Use one clear selected and hover treatment for all sorting pills. */
html.travelnet-dark .flight-results-page .sort-pill:hover,
html.travelnet-dark .flight-results-page .sort-pill:focus-visible,
html.travelnet-dark .flight-results-page .sort-pill.is-active {
    border-color: #a9c9ee; /* Strengthen the outline for hover, focus, and selected states. */
    background: #e1efff; /* Add a visible pale-blue interaction fill. */
    color: var(--flight-blue); /* Use product blue for the active label. */
} /* end dark-shell sort pill interaction */

html.travelnet-dark .flight-results-page .flight-result-card,
html.travelnet-dark .flight-results-page .flight-timing-card,
html.travelnet-dark .flight-results-page .flight-details,
html.travelnet-dark .flight-results-page .flight-details-body,
html.travelnet-dark .flight-results-page .flight-result-journey-panel,
html.travelnet-dark .flight-results-page .flight-result-segment-card {
    border-color: var(--flight-border);
    background: var(--flight-surface);
    color: var(--flight-text-primary);
}

html.travelnet-dark .flight-results-page .airline-name,
html.travelnet-dark .flight-results-page .route-code-main b,
html.travelnet-dark .flight-results-page .journey-clock-time,
html.travelnet-dark .flight-results-page .journey-connection strong,
html.travelnet-dark .flight-results-page .journey-direct-label,
html.travelnet-dark .flight-results-page .flight-result-stop-time,
html.travelnet-dark .flight-results-page .flight-result-airport > b,
html.travelnet-dark .flight-results-page .flight-result-airport-name,
html.travelnet-dark .flight-results-page .flight-result-segment-facts dd {
    color: var(--flight-text-primary);
}

html.travelnet-dark .flight-results-page .route-description,
html.travelnet-dark .flight-results-page .journey-header-meta span,
html.travelnet-dark .flight-results-page .flight-result-airport > small,
html.travelnet-dark .flight-results-page .flight-result-airport > time,
html.travelnet-dark .flight-results-page .flight-result-local-time-note {
    color: var(--flight-text-secondary);
}

html.travelnet-dark .flight-results-page .flight-details > summary {
    background: linear-gradient(135deg, #eef6ff, #f8f1ff);
    color: var(--flight-text-primary);
}

html.travelnet-dark .flight-results-page .flight-details > summary small {
    color: var(--flight-text-secondary);
}

html.travelnet-dark .flight-results-page .flight-result-journey-heading,
html.travelnet-dark .flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading,
html.travelnet-dark .flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading,
html.travelnet-dark .flight-results-page .flight-result-segment-header,
html.travelnet-dark .flight-results-page .flight-result-segment-facts,
html.travelnet-dark .flight-results-page .flight-result-local-time-note,
html.travelnet-dark .flight-results-page .flight-result-operated-by {
    border-color: var(--flight-border);
    background: var(--flight-surface-soft);
}

html.travelnet-dark .flight-results-page .flight-result-journey-heading > div:first-child strong,
html.travelnet-dark .flight-results-page .flight-result-segment-header strong {
    color: var(--flight-text-primary);
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--outbound .flight-result-journey-heading > div:first-child span {
    color: var(--flight-blue);
}

html.travelnet-dark .flight-results-page .flight-result-journey-panel--return .flight-result-journey-heading > div:first-child span {
    color: #ad3269;
}

html.travelnet-dark .flight-results-page .flight-result-journey-facts span,
html.travelnet-dark .flight-results-page .journey-route .duration-pill {
    border-color: var(--flight-border);
    background: var(--flight-surface);
    color: var(--flight-text-secondary);
}

html.travelnet-dark .flight-results-page .info-banner--stopover {
    border-color: var(--flight-orange-border);
    background: var(--flight-orange-bg);
    color: #704c0c;
}

html.travelnet-dark .flight-results-page .flight-result-layover {
    border-color: var(--flight-connection-border);
    background: var(--flight-connection-bg);
    color: #77304f;
}

html.travelnet-dark .flight-results-page .fare-details-row {
    border-color: #b9ddc4;
    background: #effaf2;
}

html.travelnet-dark .flight-results-page .fare-details-row .flight-fare-facts {
    background: var(--flight-surface);
}

html.travelnet-dark .flight-results-page .journey-header-meta strong,
html.travelnet-dark .flight-results-page .journey-label,
html.travelnet-dark .flight-results-page .journey-time-point strong,
html.travelnet-dark .flight-results-page .price-sidebar > strong {
    color: var(--flight-text-primary);
}

html.travelnet-dark .flight-results-page .price-sidebar .flight-price-label,
html.travelnet-dark .flight-results-page .price-sidebar > small {
    color: var(--flight-text-secondary);
}

html.travelnet-dark .flight-results-page .price-sidebar > strong {
    color: var(--flight-red);
}

/* My Profile Passport - scoped customer profile and header identity layer. */
.account-menu-avatar,
.profile-passport-avatar {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    text-transform: uppercase;
}

.account-menu-avatar {
    width: 28px;
    height: 28px;
    border: 2px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 0 0 1px rgba(15, 35, 55, 0.13);
    font-size: 10px;
}

.account-menu-avatar--summary {
    width: 42px;
    height: 42px;
    font-size: 13px;
}

.account-menu-avatar--image,
.profile-passport-avatar--image {
    display: block;
    object-fit: cover;
    object-position: center;
    text-transform: none;
}

.account-menu-current--profile {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.profile-passport-avatar--green {
    background: linear-gradient(135deg, #15930f, #0b6f10);
}

.profile-passport-avatar--sky {
    background: linear-gradient(135deg, #169bd5, #0879c9);
}

.profile-passport-avatar--purple {
    background: linear-gradient(135deg, #9b79df, #6f4bb8);
}

.profile-passport-avatar--navy {
    background: linear-gradient(135deg, #315b83, #173957);
}

.profile-passport-page {
    --profile-passport-ink: var(--signed-in-navy, #172b4d);
    --profile-passport-muted: var(--signed-in-muted, #64748b);
    --profile-passport-border: rgba(23, 43, 77, 0.10);
    --profile-passport-surface: rgba(255, 255, 255, 0.94);
    --profile-passport-soft: #f8fafc;
    min-height: calc(100vh - 180px);
    padding: clamp(28px, 3vw, 46px) clamp(18px, 3vw, 40px) clamp(44px, 5vw, 72px);
    background:
        radial-gradient(circle at 9% 10%, rgba(47, 158, 68, 0.09), transparent 27%),
        radial-gradient(circle at 91% 8%, rgba(59, 130, 246, 0.08), transparent 30%),
        linear-gradient(135deg, #fbfdff, #f1faf6 51%, #f4faff 100%);
}

.profile-passport-shell {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.profile-passport-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    padding: clamp(26px, 3vw, 38px);
    overflow: hidden;
    border: 1px solid rgba(23, 43, 77, 0.09);
    border-radius: 22px;
    background:
        radial-gradient(circle at 94% 2%, rgba(47, 158, 68, 0.11), transparent 29%),
        radial-gradient(circle at 78% 115%, rgba(8, 121, 201, 0.07), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.94));
    box-shadow:
        0 16px 40px rgba(15, 23, 42, 0.07),
        0 4px 16px rgba(15, 23, 42, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.profile-passport-hero::after {
    position: absolute;
    right: -42px;
    top: -72px;
    width: 220px;
    height: 220px;
    border: 26px solid rgba(21, 147, 15, 0.055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.profile-passport-hero-copy {
    position: relative;
    z-index: 1;
}

.profile-passport-eyebrow,
.profile-passport-card-heading p {
    margin: 0;
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.profile-passport-hero h1 {
    position: relative;
    display: inline-block;
    margin: 6px 0 16px;
    color: var(--profile-passport-ink);
    font-size: clamp(36px, 4vw, 50px);
    letter-spacing: -0.04em;
    line-height: 1.02;
}

.profile-passport-hero h1::after {
    position: absolute;
    left: 0;
    bottom: -9px;
    width: 58px;
    height: 4px;
    border-radius: 999px;
    background: var(--green);
    content: "";
}

.profile-passport-hero-copy > p:last-child {
    max-width: 720px;
    margin: 0;
    color: var(--profile-passport-muted);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.6;
}

.profile-passport-status,
.profile-passport-status-inline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(21, 147, 15, 0.2);
    border-radius: 999px;
    background: rgba(233, 248, 231, 0.9);
    color: #0b6f10;
    font-size: 12px;
    font-weight: 900;
}

.profile-passport-status {
    align-self: start;
    min-height: 34px;
    padding: 7px 12px;
}

.profile-passport-status .icon {
    width: 15px;
    height: 15px;
}

.profile-passport-status-inline {
    padding: 4px 9px;
}

.profile-passport-identity {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 2px;
    padding: 18px 20px;
    border: 1px solid rgba(21, 147, 15, 0.12);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(241, 251, 243, 0.94), rgba(244, 250, 255, 0.91));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(14px);
}

.profile-passport-avatar-wrap {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: max-content;
}

.profile-passport-avatar--large {
    width: 82px;
    height: 82px;
    border: 4px solid #fff;
    box-shadow: 0 10px 24px rgba(20, 48, 69, 0.16);
    font-size: 24px;
}

.profile-passport-avatar-edit {
    position: absolute;
    right: -3px;
    bottom: 1px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    box-shadow: 0 5px 13px rgba(21, 147, 15, 0.22);
}

.profile-passport-avatar-edit .icon {
    width: 13px;
    height: 13px;
}

.profile-passport-identity > span:nth-child(2) {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.profile-passport-identity > span:nth-child(2) strong {
    overflow: hidden;
    color: var(--profile-passport-ink);
    font-size: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-passport-identity small,
.profile-passport-updated small {
    color: var(--profile-passport-muted);
    font-size: 12px;
    font-weight: 750;
}

.profile-passport-updated {
    display: grid;
    gap: 4px;
    min-width: 170px;
    text-align: right;
}

.profile-passport-updated strong {
    color: var(--profile-passport-ink);
    font-size: 13px;
}

.profile-passport-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 22px;
}

.profile-passport-form {
    margin: 0;
}

.profile-passport-notice {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(22, 51, 70, 0.06);
}

.profile-passport-notice > .icon {
    width: 22px;
    height: 22px;
}

.profile-passport-notice > span {
    display: grid;
    gap: 2px;
    color: var(--profile-passport-ink);
    font-size: 13px;
    line-height: 1.45;
}

.profile-passport-notice--success {
    border-color: rgba(21, 147, 15, 0.2);
    background: #effaef;
    color: #0b6f10;
}

.profile-passport-notice--error {
    border-color: rgba(196, 60, 76, 0.2);
    background: #fff3f5;
    color: #a62d3d;
}

.profile-passport-card {
    position: relative;
    min-width: 0;
    padding: clamp(22px, 2.5vw, 28px);
    border: 1px solid var(--profile-passport-border);
    border-radius: 20px;
    background: var(--profile-passport-surface);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.065);
    backdrop-filter: blur(18px);
}

.profile-passport-picture-card {
    border-color: rgba(8, 121, 201, 0.12);
    background: linear-gradient(135deg, rgba(249, 252, 255, 0.98), rgba(255, 255, 255, 0.94));
}

.profile-passport-security-card {
    overflow: hidden;
    border-color: rgba(21, 147, 15, 0.13);
    background: linear-gradient(135deg, rgba(248, 253, 248, 0.98), rgba(255, 255, 255, 0.94));
}

.profile-passport-card-heading {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
}

.profile-passport-card-heading > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: var(--green-soft);
    color: var(--green);
}

.profile-passport-card-heading .icon {
    width: 21px;
    height: 21px;
}

.profile-passport-card-heading h2 {
    margin: 3px 0 0;
    color: var(--profile-passport-ink);
    font-size: 19px;
    letter-spacing: -0.02em;
}

.profile-passport-picture-preview {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: clamp(24px, 3vw, 34px) 20px;
    border: 1px dashed rgba(21, 147, 15, 0.30);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(246, 252, 248, 0.85), rgba(247, 251, 255, 0.88));
    text-align: center;
}

.profile-passport-avatar--preview {
    width: 118px;
    height: 118px;
    border: 5px solid #fff;
    box-shadow: 0 14px 30px rgba(20, 48, 69, 0.18);
    font-size: 34px;
}

.profile-passport-picture-preview strong {
    color: var(--profile-passport-ink);
    font-size: 17px;
}

.profile-passport-picture-preview p,
.profile-passport-note {
    margin: 0;
    color: var(--profile-passport-muted);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
}

.profile-passport-picture-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 4px;
}

.profile-passport-picture-actions button,
.profile-avatar-picker-actions button {
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid rgba(21, 147, 15, 0.34);
    border-radius: 11px;
    background: #fff;
    color: var(--green-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.profile-passport-picture-actions button:hover,
.profile-passport-picture-actions button:focus-visible,
.profile-avatar-picker-actions button:hover,
.profile-avatar-picker-actions button:focus-visible {
    border-color: var(--green);
    background: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(21, 147, 15, 0.13);
    outline: none;
}

.profile-passport-picture-actions button:active,
.profile-avatar-picker-actions button:active,
.profile-passport-actions a:active,
.profile-passport-actions button:active {
    transform: translateY(1px);
}

.profile-passport-reset-button {
    border-color: rgba(196, 60, 76, 0.36) !important;
    color: #a62d3d !important;
}

.profile-passport-reset-button:hover,
.profile-passport-reset-button:focus-visible {
    border-color: #c43c4c !important;
    background: #fff3f5 !important;
    box-shadow: 0 0 0 3px rgba(196, 60, 76, 0.11) !important;
}

.profile-avatar-picker[hidden] {
    display: none !important;
}

.profile-avatar-picker {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

.profile-avatar-picker-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 27, 42, 0.68);
    backdrop-filter: blur(7px);
}

.profile-avatar-picker-panel {
    position: relative;
    width: min(820px, 100%);
    max-height: calc(100vh - 40px);
    padding: clamp(20px, 3vw, 30px);
    overflow: auto;
    border: 1px solid rgba(151, 132, 218, 0.23);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(11, 29, 46, 0.34);
}

.profile-avatar-picker-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 18px;
    align-items: start;
    margin-bottom: 20px;
}

.profile-avatar-picker-heading h2 {
    margin: 5px 0 6px;
    color: #17324d;
    font-size: clamp(23px, 3vw, 31px);
    letter-spacing: -0.03em;
}

.profile-avatar-picker-heading p:last-child {
    margin: 0;
    color: #617287;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
}

.profile-avatar-picker-close {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(22, 58, 83, 0.12);
    border-radius: 50%;
    background: #f3f7fb;
    color: #315b83;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.profile-avatar-picker-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin: 0;
    padding: 0;
    border: 0;
}

.profile-avatar-choice {
    position: relative;
    min-width: 0;
    cursor: pointer;
}

.profile-avatar-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.profile-avatar-choice-card {
    display: grid;
    justify-items: center;
    gap: 6px;
    height: 100%;
    padding: 12px 9px;
    border: 2px solid rgba(22, 58, 83, 0.09);
    border-radius: 18px;
    background: #f8fbfe;
    text-align: center;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.profile-avatar-choice-card img {
    display: block;
    width: min(118px, 100%);
    aspect-ratio: 1;
    border: 4px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 9px 24px rgba(35, 57, 76, 0.14);
}

.profile-avatar-choice-card strong {
    color: #17324d;
    font-size: 12px;
}

.profile-avatar-choice-card small {
    color: #6b7c8e;
    font-size: 10px;
    font-weight: 750;
}

.profile-avatar-choice:hover .profile-avatar-choice-card,
.profile-avatar-choice input:focus-visible + .profile-avatar-choice-card {
    border-color: rgba(8, 121, 201, 0.48);
    box-shadow: 0 0 0 3px rgba(8, 121, 201, 0.10);
    transform: translateY(-2px);
}

.profile-avatar-choice input:checked + .profile-avatar-choice-card {
    border-color: #8b67d1;
    background: #f8f4ff;
    box-shadow: 0 0 0 4px rgba(139, 103, 209, 0.13);
}

.profile-avatar-choice input:checked + .profile-avatar-choice-card small {
    color: #704caf;
}

.profile-avatar-picker-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

.profile-avatar-picker-actions button[type="submit"] {
    border-color: #8b67d1;
    background: linear-gradient(135deg, #9b79df, #7150ba);
    color: #fff;
    box-shadow: 0 10px 24px rgba(113, 80, 186, 0.22);
}

body.profile-avatar-picker-is-open {
    overflow: hidden;
}

.profile-passport-fields {
    display: grid;
    gap: 16px;
}

.profile-passport-fields label {
    display: grid;
    grid-template-columns: minmax(120px, 0.72fr) minmax(0, 1.28fr);
    gap: 16px;
    align-items: center;
    color: var(--profile-passport-muted);
    font-size: 12px;
    font-weight: 850;
}

.profile-passport-fields label > span {
    display: grid;
    gap: 2px;
}

.profile-passport-fields label small {
    color: var(--profile-passport-muted);
    font-size: 11px;
    font-weight: 650;
}

.profile-passport-fields input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid rgba(22, 58, 83, 0.16);
    border-radius: 11px;
    background: #fff;
    color: var(--profile-passport-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    outline: none;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.profile-passport-fields input:hover {
    border-color: rgba(21, 147, 15, 0.38);
}

.profile-passport-fields input:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(21, 147, 15, 0.14);
}

.profile-passport-fields input[aria-invalid="true"] {
    border-color: #c43c4c;
    box-shadow: 0 0 0 3px rgba(196, 60, 76, 0.1);
}

.profile-passport-field-error {
    margin: -8px 0 0 calc(36% + 14px);
    color: #a62d3d;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
}

.profile-passport-field-error--form {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff3f5;
}

.profile-passport-detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.profile-passport-detail-list > div {
    display: grid;
    grid-template-columns: minmax(120px, 0.72fr) minmax(0, 1.28fr);
    gap: 16px;
    align-items: center;
    min-height: 52px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(22, 58, 83, 0.08);
}

.profile-passport-detail-list > div:last-child {
    border-bottom: 0;
}

.profile-passport-detail-list dt {
    color: var(--profile-passport-muted);
    font-size: 12px;
    font-weight: 800;
}

.profile-passport-detail-list dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--profile-passport-ink);
    font-size: 14px;
    font-weight: 800;
}

.profile-passport-detail-list--account > div {
    grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.28fr);
    gap: 16px;
}

.profile-passport-detail-list--account dt {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.profile-passport-detail-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--green-soft);
    color: var(--green-dark);
}

.profile-passport-detail-icon .icon {
    width: 17px;
    height: 17px;
}

.profile-passport-note {
    position: relative;
    z-index: 1;
    margin-top: 16px;
    padding: 13px 82px 13px 14px;
    border-radius: 12px;
    background: rgba(233, 248, 231, 0.68);
}

.profile-passport-security-illustration {
    position: absolute;
    right: 18px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 72px;
    height: 82px;
    color: rgba(21, 147, 15, 0.13);
    pointer-events: none;
    transform: rotate(7deg);
}

.profile-passport-security-illustration .icon {
    width: 66px;
    height: 66px;
    stroke-width: 1.4;
}

.profile-passport-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.profile-passport-actions a,
.profile-passport-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 20px;
    border: 1px solid rgba(21, 147, 15, 0.24);
    border-radius: 12px;
    background: #fff;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.profile-passport-actions button {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(21, 147, 15, 0.18);
}

.profile-passport-actions button .icon {
    width: 17px;
    height: 17px;
}

.profile-passport-actions a:hover,
.profile-passport-actions a:focus-visible,
.profile-passport-actions button:hover,
.profile-passport-actions button:focus-visible {
    border-color: rgba(21, 147, 15, 0.42);
    background: var(--green-soft);
    outline: none;
}

.profile-passport-actions button:hover,
.profile-passport-actions button:focus-visible {
    background: var(--green-dark);
    color: #fff;
}

html.travelnet-dark .profile-passport-page {
    --profile-passport-ink: #edf7ef;
    --profile-passport-muted: rgba(237, 246, 239, 0.72);
    --profile-passport-border: rgba(164, 221, 176, 0.14);
    --profile-passport-surface: rgba(8, 22, 22, 0.92);
    --profile-passport-soft: rgba(255, 255, 255, 0.045);
    background:
        radial-gradient(circle at 12% 5%, rgba(8, 121, 201, 0.12), transparent 27%),
        radial-gradient(circle at 92% 14%, rgba(21, 147, 15, 0.12), transparent 28%),
        #071018;
}

html.travelnet-dark .profile-passport-hero {
    border-color: rgba(164, 221, 176, 0.14);
    background:
        radial-gradient(circle at 92% 8%, rgba(21, 147, 15, 0.08), transparent 32%),
        rgba(8, 22, 22, 0.92);
    box-shadow: var(--signed-in-card-shadow, 0 18px 38px rgba(0, 0, 0, 0.28));
}

html.travelnet-dark .profile-passport-identity,
html.travelnet-dark .profile-passport-picture-preview {
    border-color: rgba(164, 221, 176, 0.13);
    background: linear-gradient(135deg, rgba(27, 57, 43, 0.78), rgba(15, 38, 44, 0.80));
}

html.travelnet-dark .profile-passport-card {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(8, 22, 22, 0.92);
    box-shadow: var(--signed-in-card-shadow, 0 18px 38px rgba(0, 0, 0, 0.28));
}

html.travelnet-dark .profile-passport-card-heading > span,
html.travelnet-dark .profile-passport-detail-icon,
html.travelnet-dark .profile-passport-note {
    background: rgba(32, 74, 42, 0.62);
}

html.travelnet-dark .profile-passport-avatar-edit {
    border-color: #10261c;
}

html.travelnet-dark .profile-passport-detail-icon {
    color: #baf3b7;
}

html.travelnet-dark .profile-passport-security-illustration {
    color: rgba(142, 230, 138, 0.12);
}

html.travelnet-dark .profile-passport-status,
html.travelnet-dark .profile-passport-status-inline {
    border-color: rgba(126, 214, 126, 0.25);
    background: rgba(31, 69, 39, 0.78);
    color: #baf3b7;
}

html.travelnet-dark .profile-passport-notice--success {
    border-color: rgba(126, 214, 126, 0.24);
    background: rgba(31, 69, 39, 0.78);
}

html.travelnet-dark .profile-passport-notice--error,
html.travelnet-dark .profile-passport-field-error--form {
    border-color: rgba(255, 145, 158, 0.24);
    background: rgba(85, 28, 38, 0.72);
}

html.travelnet-dark .profile-passport-field-error {
    color: #ffb4bf;
}

html.travelnet-dark .profile-passport-fields input {
    border-color: rgba(170, 219, 183, 0.18);
    background: rgba(9, 26, 17, 0.82);
    color: var(--profile-passport-ink);
}

html.travelnet-dark .profile-passport-actions a {
    border-color: rgba(126, 214, 126, 0.25);
    background: rgba(20, 49, 27, 0.86);
    color: #dfffe0;
}

html.travelnet-dark .profile-avatar-picker-panel {
    border-color: rgba(189, 164, 235, 0.24);
    background: #12231a;
}

html.travelnet-dark .profile-avatar-picker-heading h2,
html.travelnet-dark .profile-avatar-choice-card strong {
    color: #edf7ef;
}

html.travelnet-dark .profile-avatar-picker-heading p:last-child,
html.travelnet-dark .profile-avatar-choice-card small {
    color: rgba(231, 242, 234, 0.68);
}

html.travelnet-dark .profile-avatar-choice-card {
    border-color: rgba(170, 219, 183, 0.14);
    background: #172d20;
}

html.travelnet-dark .profile-avatar-choice input:checked + .profile-avatar-choice-card {
    border-color: #b28ee8;
    background: #2a2140;
}

html.travelnet-dark .profile-passport-picture-actions button,
html.travelnet-dark .profile-avatar-picker-actions button,
html.travelnet-dark .profile-avatar-picker-close {
    border-color: rgba(170, 219, 183, 0.20);
    background: #1a3224;
    color: #dff0e3;
}

html.travelnet-dark .profile-passport-reset-button {
    border-color: rgba(255, 145, 158, 0.42) !important;
    color: #ffb4bf !important;
}

html.travelnet-dark .account-menu-avatar {
    border-color: rgba(237, 246, 239, 0.85);
    box-shadow: 0 0 0 1px rgba(126, 214, 126, 0.2);
}

@media (max-width: 940px) {
    .profile-passport-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .profile-passport-page {
        padding: 22px 12px 54px;
    }

    .profile-passport-hero {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 22px;
    }

    .profile-passport-status {
        justify-self: start;
    }

    .profile-passport-identity {
        grid-template-columns: 72px minmax(0, 1fr);
        padding: 13px;
    }

    .profile-passport-avatar--large {
        width: 68px;
        height: 68px;
        font-size: 20px;
    }

    .profile-passport-updated {
        grid-column: 1 / -1;
        min-width: 0;
        padding-top: 10px;
        border-top: 1px solid rgba(22, 58, 83, 0.09);
        text-align: left;
    }

    .profile-passport-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-passport-actions a {
        width: 100%;
    }

    .profile-passport-actions button {
        width: 100%;
    }

    .profile-avatar-picker {
        align-items: end;
        padding: 10px;
    }

    .profile-avatar-picker-panel {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 22px;
    }

    .profile-avatar-picker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 660px) {
    .profile-passport-fields label {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .profile-passport-field-error {
        margin-left: 0;
    }

    .profile-passport-detail-list--account > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .profile-passport-detail-list--account dd {
        padding-left: 48px;
    }

    .profile-passport-actions {
        flex-direction: column-reverse;
    }
}

@media (max-width: 430px) {
    .profile-passport-card,
    .profile-passport-hero {
        padding: 19px;
    }

    .profile-passport-detail-list--health > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .account-menu-toggle .account-menu-avatar + span {
        display: none;
    }
}

/* Compact Cars search page: preserve the existing search contract while
 * presenting the primary journey first and secondary controls on demand. */
body.page-cars .car-modern-hero {
    width: calc(100vw - 44px);
    min-height: 0;
    height: auto;
    margin-left: calc(50% - 50vw + 22px);
    margin-right: calc(50% - 50vw + 22px);
    padding: 36px 44px;
    overflow: visible;
    border-radius: 14px;
    background:
        linear-gradient(110deg, rgba(243, 249, 247, 0.72) 0%, rgba(243, 249, 247, 0.46) 45%, rgba(255, 255, 255, 0.24) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat;
    box-shadow: 0 24px 64px rgba(13, 50, 72, 0.16);
}

html:not(.travelnet-dark) body.page-cars .car-modern-hero,
html.travelnet-dark body.page-cars .car-modern-hero {
    padding: 36px 4px;
}

body.page-cars .car-modern-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(246, 251, 249, 0.3), rgba(224, 236, 235, 0.12));
    backdrop-filter: blur(1.5px) saturate(0.88);
    pointer-events: none;
}

body.page-cars .car-modern-hero .hero-grid,
html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1000px) minmax(350px, 370px);
    justify-content: center;
    align-items: start;
    gap: 28px;
    width: 100%;
    max-width: 1398px;
    margin: 0 auto;
}

body.page-cars .search-card-car,
html.travelnet-dark body.page-cars .search-card-car {
    position: relative;
    z-index: 2;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    max-width: 1000px;
    min-height: 496px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #14273a;
    box-shadow: none;
    backdrop-filter: none;
}

body.page-cars .search-card-car::before,
html:not(.travelnet-dark) body.page-cars .search-card-car::before,
html.travelnet-dark body.page-cars .search-card-car::before {
    content: "";
    position: absolute;
    inset: -20px -18px -24px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 248, 255, 0.88)),
        linear-gradient(135deg, rgba(8, 121, 201, 0.08), rgba(255, 68, 63, 0.05));
    opacity: 0.5;
    box-shadow:
        0 30px 78px rgba(13, 50, 92, 0.22),
        0 14px 34px rgba(21, 147, 15, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
}

body.page-cars .search-card-car::after,
html.travelnet-dark body.page-cars .search-card-car::after {
    content: none;
}

body.page-cars .search-card-car .search-heading,
html.travelnet-dark body.page-cars .search-card-car .search-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 2px;
}

body.page-cars .search-card-car .heading-icon,
html.travelnet-dark body.page-cars .search-card-car .heading-icon {
    display: inline-grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 13px;
    background: rgba(21, 147, 15, 0.11);
    color: #11810d;
}

body.page-cars .search-card-car .heading-icon .icon {
    width: 22px;
    height: 22px;
}

body.page-cars .search-card-car .search-heading h1,
html.travelnet-dark body.page-cars .search-card-car .search-heading h1 {
    margin: 0;
    color: #13293d;
    font-size: clamp(27px, 3vw, 34px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    text-shadow: none;
}

body.page-cars .search-card-car .car-heading-accent {
    color: #15930f;
}

body.page-cars .search-card-car .search-heading p,
html.travelnet-dark body.page-cars .search-card-car .search-heading p {
    margin: 4px 0 0;
    color: #617286;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-shadow: none;
}

body.page-cars .car-form-panel,
html.travelnet-dark body.page-cars .car-form-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
}

body.page-cars .car-main-panel,
html.travelnet-dark body.page-cars .car-main-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
}

body.page-cars .car-primary-grid {
    display: grid;
    gap: 14px;
    min-width: 0;
}

body.page-cars .car-top-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-cars .car-journey-fields {
    grid-template-columns: minmax(0, 1fr) minmax(146px, 0.54fr) minmax(118px, 0.46fr);
}

body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field,
body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field {
    grid-row: 1;
}

body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
body.page-cars .car-form-panel .car-journey-fields .car-return-date-field,
body.page-cars .car-form-panel .car-journey-fields .car-return-time-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-date-field,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-time-field {
    grid-row: 2;
}

body.page-cars .car-primary-grid .field-card {
    position: relative;
    display: grid;
    gap: 0;
    min-width: 0;
    color: #13293d;
}

body.page-cars .car-primary-grid .field-card > .field-label {
    position: absolute;
    top: 9px;
    left: 43px;
    z-index: 2;
    display: block;
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #718196;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.01em;
    box-shadow: none;
}

body.page-cars .car-primary-grid .field-card > .field-control,
html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-control {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 60px;
    height: 60px;
    padding: 17px 13px 5px;
    overflow: visible;
    border: 1px solid #d9e2ea;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    color: #1377b8;
    box-shadow: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

body.page-cars .car-primary-grid .field-card > .field-control:focus-within {
    border-color: rgba(8, 121, 201, 0.52);
    box-shadow: 0 0 0 3px rgba(8, 121, 201, 0.1);
}

body.page-cars .car-primary-grid .field-control > .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 8px;
    color: #1683c4;
}

body.page-cars .car-primary-grid .field-control input,
body.page-cars .car-primary-grid .field-control select,
html.travelnet-dark body.page-cars .car-primary-grid .field-control input,
html.travelnet-dark body.page-cars .car-primary-grid .field-control select {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    height: 30px;
    padding: 7px 22px 0 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #172c40;
    font: inherit;
    font-size: 14px;
    font-weight: 780;
    line-height: 1.1;
    box-shadow: none;
}

body.page-cars .car-primary-grid .field-control input::placeholder {
    color: #8290a1;
    opacity: 1;
}

body.page-cars .car-primary-grid .field-control input,
html.travelnet-dark body.page-cars .car-primary-grid .field-control input {
    padding-right: 0;
}

body.page-cars .car-dropoff-location-field .car-same-branch-value {
    position: absolute;
    right: 14px;
    bottom: 11px;
    left: 42px;
    display: none;
    overflow: hidden;
    color: #253d54;
    font-size: 14px;
    font-weight: 780;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.page-cars .car-dropoff-location-field.is-same-branch input {
    color: transparent !important;
    caret-color: transparent;
}

body.page-cars .car-dropoff-location-field.is-same-branch input::placeholder {
    color: transparent !important;
}

body.page-cars .car-dropoff-location-field.is-same-branch .car-same-branch-value {
    display: block;
}

body.page-cars .car-toggles,
html.travelnet-dark body.page-cars .car-toggles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: rgba(248, 251, 252, 0.92);
    color: #263b4f;
    box-shadow: none;
}

body.page-cars .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-toggles .toggle-card {
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 8px 14px;
    border: 0;
    border-right: 1px solid #dbe4eb;
    border-radius: 0;
    background: transparent;
    color: #263b4f;
    font-size: 13px;
    font-weight: 760;
}

body.page-cars .car-toggles .toggle-card:last-child {
    border-right: 0;
}

body.page-cars .toggle-card span {
    flex: 0 0 42px;
    width: 42px;
    height: 23px;
}

body.page-cars .toggle-card span::after {
    top: 3px;
    left: 3px;
    width: 17px;
    height: 17px;
}

body.page-cars .toggle-card input:checked + span::after {
    transform: translateX(19px);
}

body.page-cars .car-advanced-options,
html.travelnet-dark body.page-cars .car-advanced-options {
    display: block;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: rgba(250, 252, 253, 0.94);
    color: #253a4e;
    box-shadow: none;
}

body.page-cars .car-advanced-options summary,
html.travelnet-dark body.page-cars .car-advanced-options summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px 12px;
    min-height: 54px;
    margin: 0;
    padding: 10px 48px 10px 15px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #1f3549;
    cursor: pointer;
    list-style: none;
    box-shadow: none;
    text-shadow: none;
}

body.page-cars .car-advanced-options summary::-webkit-details-marker {
    display: none;
}

body.page-cars .car-form-panel .car-advanced-options summary::after,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options summary::after {
    display: none;
    content: none;
}

body.page-cars .car-advanced-options summary > span {
    grid-column: 1;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 14px;
    font-weight: 850;
    box-shadow: none;
}

body.page-cars .car-advanced-options summary small {
    grid-column: 1;
    color: #718196;
    font-size: 11px;
    font-weight: 650;
}

body.page-cars .car-advanced-options summary i {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #15930f;
    border-bottom: 2px solid #15930f;
    transform: translateY(-68%) rotate(45deg);
    transition: transform 210ms ease;
}

body.page-cars .car-advanced-options[open] summary i {
    transform: translateY(-28%) rotate(225deg);
}

body.page-cars .car-advanced-options > .car-more-options-content,
body.page-cars .car-advanced-options:not([open]) > .car-more-options-content {
    display: grid;
    max-height: 0;
    padding: 0 15px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px);
    transition:
        max-height 220ms ease,
        padding 220ms ease,
        opacity 180ms ease,
        transform 220ms ease,
        visibility 0s linear 220ms;
}

body.page-cars .car-advanced-options[open] > .car-more-options-content {
    max-height: 1400px;
    padding: 0 15px 16px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
        max-height 220ms ease,
        padding 220ms ease,
        opacity 180ms ease 25ms,
        transform 220ms ease,
        visibility 0s linear 0s;
}

body.page-cars .car-option-group {
    padding: 14px 0;
    border-top: 1px solid #e2e9ee;
}

body.page-cars .car-option-group h2 {
    margin: 0 0 10px;
    color: #2e465b;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

body.page-cars .car-option-grid {
    gap: 10px;
}

body.page-cars .car-option-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-cars .car-option-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-cars .car-option-group .field-card {
    gap: 5px;
    color: #344b60;
    font-size: 11px;
}

body.page-cars .car-option-group .field-card > .field-label {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #63758a;
    box-shadow: none;
}

body.page-cars .car-option-group .field-card > select,
body.page-cars .car-option-group .field-card > .field-control,
html.travelnet-dark body.page-cars .car-option-group .field-card > select,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-control {
    min-height: 43px;
    height: 43px;
    padding: 0 11px;
    border: 1px solid #d9e2ea;
    border-radius: 10px;
    background: #ffffff;
    color: #20384e;
    box-shadow: none;
}

body.page-cars .car-option-group .field-card > .field-control input {
    min-height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
}

body.page-cars .car-extra-grid,
html.travelnet-dark body.page-cars .car-extra-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-cars .car-extra-grid .toggle-card,
html.travelnet-dark body.page-cars .car-extra-grid .toggle-card {
    min-height: 42px;
    margin: 0;
    padding: 6px 8px;
    border: 1px solid #e0e7ed;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.72);
    color: #344b60;
    font-size: 11px;
    font-weight: 720;
}

body.page-cars .search-card-car .primary-cta,
html.travelnet-dark body.page-cars .search-card-car .primary-cta,
html body.page-cars:not(.has-admin-console) .search-card-car .primary-cta {
    position: relative;
    grid-column: auto;
    grid-row: auto;
    justify-self: stretch;
    width: 100%;
    min-height: 56px;
    height: 56px;
    margin: 0;
    border: 1px solid #11810d;
    border-radius: 12px;
    background: #15930f;
    color: #ffffff;
    font-size: 16px;
    font-weight: 850;
    box-shadow: 0 12px 24px rgba(21, 147, 15, 0.22);
    transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

body.page-cars .search-card-car .primary-cta:hover,
body.page-cars .search-card-car .primary-cta:focus-visible,
html.travelnet-dark body.page-cars .search-card-car .primary-cta:hover,
html.travelnet-dark body.page-cars .search-card-car .primary-cta:focus-visible {
    background: #0f7f0d;
    transform: translateY(-1px);
    box-shadow: 0 15px 28px rgba(21, 147, 15, 0.28);
}

body.page-cars .feature-card-car,
html.travelnet-dark body.page-cars .feature-card-car {
    display: block;
    width: 100%;
    max-width: 370px;
    min-height: 0;
    height: 496px;
    align-self: start;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(35, 74, 96, 0.14);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    color: #14273a;
    box-shadow: 0 22px 54px rgba(17, 45, 66, 0.16);
    backdrop-filter: blur(12px);
}

body.page-cars .car-promo-image {
    position: relative;
    height: 208px;
    overflow: hidden;
}

body.page-cars .car-promo-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(7, 29, 41, 0.2));
    pointer-events: none;
}

body.page-cars .car-promo-image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.92) contrast(0.98);
}

body.page-cars .car-promo-image .heart-button {
    top: 14px;
    right: 14px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.9);
    color: #15930f;
    box-shadow: 0 8px 20px rgba(15, 45, 62, 0.18);
    backdrop-filter: blur(8px);
}

body.page-cars .car-promo-content {
    display: grid;
    gap: 12px;
    padding: 20px 22px 18px;
}

body.page-cars .car-promo-content > .badge {
    position: static;
    justify-self: start;
    width: auto;
    padding: 6px 9px;
    border: 1px solid rgba(21, 147, 15, 0.18);
    border-radius: 999px;
    background: rgba(21, 147, 15, 0.1);
    color: #10760d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-cars .car-promo-content h2,
html.travelnet-dark body.page-cars .car-promo-content h2 {
    margin: 0;
    color: #172d42;
    font-size: 24px;
    line-height: 1.15;
}

body.page-cars .car-promo-content > p:not(.car-booking-disabled),
html.travelnet-dark body.page-cars .car-promo-content > p:not(.car-booking-disabled) {
    margin: -5px 0 0;
    color: #64758a;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
}

body.page-cars .car-promo-content .feature-list,
html.travelnet-dark body.page-cars .car-promo-content .feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0;
}

body.page-cars .car-promo-content .feature-list span,
html.travelnet-dark body.page-cars .car-promo-content .feature-list span {
    padding: 6px 8px;
    border: 1px solid #dfe7ed;
    border-radius: 999px;
    background: #f7fafb;
    color: #516579;
    font-size: 10px;
    font-weight: 800;
}

body.page-cars .car-status-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 72px;
    padding: 13px 15px;
    border: 1px solid #dce6eb;
    border-radius: 12px;
    background: rgba(247, 250, 251, 0.88);
}

body.page-cars .car-status-box > div {
    display: grid;
    gap: 3px;
}

body.page-cars .car-status-box span:first-child {
    color: #718196;
    font-size: 11px;
    font-weight: 750;
}

body.page-cars .car-status-box strong {
    color: #15930f;
    font-size: 22px;
    line-height: 1;
}

body.page-cars .car-status-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(21, 147, 15, 0.08);
    color: rgba(21, 147, 15, 0.45);
}

body.page-cars .car-status-icon .icon {
    width: 23px;
    height: 23px;
}

body.page-cars .car-booking-disabled,
html.travelnet-dark body.page-cars .car-booking-disabled {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: -2px 0 0;
    color: #7a8999;
    font-size: 11px;
}

body.page-cars .car-booking-disabled .icon {
    width: 14px;
    height: 14px;
}

html.travelnet-dark body.page-cars .car-modern-hero {
    background:
        linear-gradient(110deg, rgba(4, 13, 20, 0.86) 0%, rgba(6, 20, 28, 0.7) 50%, rgba(8, 24, 29, 0.54) 100%),
        var(--car-dark-hero-image) center / cover no-repeat;
    box-shadow: 0 26px 72px rgba(0, 0, 0, 0.4);
}

html.travelnet-dark body.page-cars .car-modern-hero::before {
    background: linear-gradient(90deg, rgba(4, 12, 19, 0.22), rgba(12, 29, 34, 0.08));
    backdrop-filter: blur(1.5px) saturate(0.82);
}

html.travelnet-dark body.page-cars .feature-card-car {
    border-color: rgba(169, 205, 195, 0.18);
    background: rgba(12, 25, 33, 0.94);
    color: #edf5f3;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
}

html.travelnet-dark body.page-cars .search-card-car {
    border: 0;
    background: transparent;
    color: #edf5f3;
    box-shadow: none;
    backdrop-filter: none;
}

html.travelnet-dark body.page-cars .search-card-car::before {
    border-color: rgba(164, 221, 176, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 36%),
        rgba(13, 25, 31, 0.82);
    opacity: 0.5;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

html.travelnet-dark body.page-cars .search-card-car .search-heading h1,
html.travelnet-dark body.page-cars .car-promo-content h2 {
    color: #f3f8f7;
}

html.travelnet-dark body.page-cars .search-card-car .search-heading p,
html.travelnet-dark body.page-cars .car-promo-content > p:not(.car-booking-disabled) {
    color: #9eb0bc;
}

html.travelnet-dark body.page-cars .search-card-car .heading-icon {
    background: rgba(84, 205, 78, 0.12);
    color: #72d96d;
}

html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-label {
    color: #8fa2ae;
}

html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-control,
html.travelnet-dark body.page-cars .car-option-group .field-card > select,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-control {
    border-color: rgba(169, 205, 195, 0.16);
    background: #142833;
    color: #7bc8f3;
}

html.travelnet-dark body.page-cars .car-primary-grid .field-control input,
html.travelnet-dark body.page-cars .car-primary-grid .field-control select,
html.travelnet-dark body.page-cars .car-option-group .field-card > select,
html.travelnet-dark body.page-cars .car-option-group .field-card input {
    color: #f1f6f5;
    color-scheme: dark;
}

html.travelnet-dark body.page-cars .car-primary-grid .field-control input::placeholder {
    color: #8295a2;
}

html.travelnet-dark body.page-cars .car-dropoff-location-field .car-same-branch-value {
    color: #e6efed;
}

html.travelnet-dark body.page-cars .car-toggles,
html.travelnet-dark body.page-cars .car-advanced-options {
    border-color: rgba(169, 205, 195, 0.16);
    background: rgba(17, 35, 44, 0.92);
    color: #e9f1ef;
}

html.travelnet-dark body.page-cars .car-toggles .toggle-card {
    border-right-color: rgba(169, 205, 195, 0.14);
    color: #d8e4e1;
}

html.travelnet-dark body.page-cars .car-advanced-options summary {
    color: #e9f1ef;
}

html.travelnet-dark body.page-cars .car-advanced-options summary small {
    color: #8fa2ae;
}

html.travelnet-dark body.page-cars .car-option-group {
    border-top-color: rgba(169, 205, 195, 0.13);
}

html.travelnet-dark body.page-cars .car-option-group h2,
html.travelnet-dark body.page-cars .car-option-group .field-card,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-label {
    color: #aebdc5;
}

html.travelnet-dark body.page-cars .car-extra-grid .toggle-card {
    border-color: rgba(169, 205, 195, 0.12);
    background: rgba(8, 20, 27, 0.58);
    color: #cbd8d5;
}

html.travelnet-dark body.page-cars .car-promo-image > img {
    /* Keep the South Africa-specific card image in both themes. */
    content: normal;
    filter: brightness(0.84) saturate(0.88) contrast(1.02);
}

html.travelnet-dark body.page-cars .car-promo-content > .badge {
    border-color: rgba(114, 217, 109, 0.22);
    background: rgba(84, 205, 78, 0.11);
    color: #8de687;
}

html.travelnet-dark body.page-cars .car-promo-content .feature-list span {
    border-color: rgba(169, 205, 195, 0.13);
    background: rgba(8, 20, 27, 0.62);
    color: #aebdc5;
}

html.travelnet-dark body.page-cars .car-status-box {
    border-color: rgba(169, 205, 195, 0.14);
    background: rgba(8, 20, 27, 0.66);
}

html.travelnet-dark body.page-cars .car-status-box span:first-child,
html.travelnet-dark body.page-cars .car-booking-disabled {
    color: #8fa2ae;
}

html.travelnet-dark body.page-cars .car-status-box strong {
    color: #72d96d;
}

html.travelnet-dark body.page-cars .car-status-icon {
    background: rgba(84, 205, 78, 0.1);
    color: rgba(114, 217, 109, 0.5);
}

html.travelnet-dark body.page-cars .car-promo-image .heart-button {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(7, 18, 24, 0.82);
    color: #8de687;
}

/* Keep older high-specificity light-theme rules from restoring the former
   raised controls and inline More options treatment. */
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-primary-grid .field-card > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-primary-grid .field-card select {
    border-color: #d5e0e8;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles {
    border-color: #dbe4eb;
    background: rgba(248, 251, 252, 0.92);
    box-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles .toggle-card {
    border: 0;
    border-right: 1px solid #dbe4eb;
    background: transparent;
    box-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles .toggle-card:last-child {
    border-right: 0;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-advanced-options {
    display: block;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: rgba(250, 252, 253, 0.94);
    color: #253a4e;
    box-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-advanced-options summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px 12px;
    min-height: 54px;
    margin: 0;
    padding: 10px 48px 10px 15px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #1f3549;
    box-shadow: none;
    text-shadow: none;
}

/* Stack before the two fixed-minimum hero columns can exceed the viewport.
   This protects small laptops and landscape tablets from left/right clipping. */
@media (max-width: 1280px) {
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        max-width: 1000px;
    }

    body.page-cars .feature-card-car,
    html.travelnet-dark body.page-cars .feature-card-car {
        max-width: 560px;
        height: auto;
        align-self: start;
    }

    body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    body.page-cars .car-modern-hero,
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        width: calc(100vw - 28px);
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        padding: 16px;
        overflow: hidden;
        border-radius: 14px;
    }

    body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        padding: 0;
        border-radius: 0;
    }

    body.page-cars .search-card-car .search-heading {
        align-items: flex-start;
    }

    body.page-cars .car-top-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-form-panel .car-top-fields .car-country-field,
    body.page-cars .car-form-panel .car-top-fields .car-vendor-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-country-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-vendor-field {
        grid-column: 1;
        grid-row: auto;
    }

    body.page-cars .car-journey-fields {
        grid-template-columns: minmax(0, 1fr) minmax(96px, 0.72fr);
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-field {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field {
        grid-column: 1;
        grid-row: 2;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field {
        grid-column: 2;
        grid-row: 2;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-return-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-date-field {
        grid-column: 1;
        grid-row: 4;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-return-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-time-field {
        grid-column: 2;
        grid-row: 4;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field input,
    body.page-cars .car-form-panel .car-journey-fields .car-return-date-field input,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field input,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-date-field input {
        font-size: 12px;
    }

    body.page-cars .car-toggles {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-toggles .toggle-card,
    html.travelnet-dark body.page-cars .car-toggles .toggle-card {
        border-right: 0;
        border-bottom: 1px solid #dbe4eb;
    }

    body.page-cars .car-toggles .toggle-card:last-child,
    html.travelnet-dark body.page-cars .car-toggles .toggle-card:last-child {
        border-bottom: 0;
    }

    html.travelnet-dark body.page-cars .car-toggles .toggle-card {
        border-bottom-color: rgba(169, 205, 195, 0.14);
    }

    body.page-cars .car-option-grid-three,
    body.page-cars .car-option-grid-two,
    body.page-cars .car-extra-grid,
    html.travelnet-dark body.page-cars .car-extra-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .feature-card-car,
    html.travelnet-dark body.page-cars .feature-card-car {
        max-width: none;
    }
}

@media (max-width: 430px) {
    body.page-cars .car-modern-hero,
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        width: calc(100vw - 20px);
        margin-left: calc(50% - 50vw + 10px);
        margin-right: calc(50% - 50vw + 10px);
        padding: 10px;
    }

    body.page-cars .search-card-car .heading-icon,
    html.travelnet-dark body.page-cars .search-card-car .heading-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    body.page-cars .search-card-car .search-heading h1,
    html.travelnet-dark body.page-cars .search-card-car .search-heading h1 {
        font-size: 26px;
    }

    body.page-cars .car-primary-grid {
        gap: 10px;
    }

    body.page-cars .car-journey-fields {
        gap: 10px;
    }

    body.page-cars .car-promo-image {
        height: 180px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-cars .car-advanced-options > .car-more-options-content,
    body.page-cars .car-advanced-options summary i,
    body.page-cars .search-card-car .primary-cta {
        transition: none;
    }
}

/* Cars common RTTC product styling. Keep Cars on the same hero, form and
   promotion-card language used by Flights and Hotels. */
body.page-cars .car-modern-hero,
html.travelnet-dark body.page-cars .car-modern-hero {
    width: calc(100vw - 44px);
    min-height: 600px;
    height: auto;
    margin-left: calc(50% - 50vw + 22px);
    margin-right: calc(50% - 50vw + 22px);
    padding: 36px 4px;
    overflow: visible;
    border: 0;
    border-radius: 12px;
    background:
        radial-gradient(circle at 78% 15%, rgba(21, 147, 15, 0.26) 0, rgba(21, 147, 15, 0.1) 24%, transparent 42%),
        radial-gradient(circle at 18% 10%, rgba(8, 121, 201, 0.18) 0, rgba(8, 121, 201, 0.08) 28%, transparent 48%),
        linear-gradient(105deg, rgba(3, 11, 18, 0.98) 0%, rgba(8, 21, 30, 0.94) 43%, rgba(10, 32, 42, 0.72) 72%, rgba(5, 14, 20, 0.88) 100%),
        var(--car-dark-hero-image) center / cover;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.page-cars .car-modern-hero::before,
html.travelnet-dark body.page-cars .car-modern-hero::before {
    background: linear-gradient(90deg, rgba(4, 12, 19, 0.1), rgba(12, 29, 34, 0.03));
    backdrop-filter: none;
}

body.page-cars .car-modern-hero .hero-grid,
html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
    grid-template-columns: minmax(690px, 0.60fr) minmax(470px, 0.40fr);
    align-items: start;
    gap: 44px;
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

body.page-cars .search-card-car,
html.travelnet-dark body.page-cars .search-card-car {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(252px, 286px);
    grid-template-rows: auto auto minmax(58px, 1fr);
    column-gap: 18px;
    row-gap: 8px;
    width: 100%;
    max-width: 100%;
    min-height: 507px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(18, 32, 25, 0.9);
    color: #edf6ef;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
    backdrop-filter: none;
}

body.page-cars .search-card-car::before,
html.travelnet-dark body.page-cars .search-card-car::before {
    inset: -20px -18px -24px;
    border: 1px solid rgba(164, 221, 176, 0.2);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 18% 0%, rgba(127, 214, 126, 0.16), transparent 36%),
        rgba(13, 25, 31, 0.82);
    opacity: 0.5;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

body.page-cars .search-card-car .search-heading,
html.travelnet-dark body.page-cars .search-card-car .search-heading {
    grid-column: 1 / -1;
    display: block;
    min-height: 74px;
    margin: 0 0 2px;
}

body.page-cars .search-card-car .heading-icon,
html.travelnet-dark body.page-cars .search-card-car .heading-icon {
    display: none;
}

body.page-cars .search-card-car .search-heading h1,
html.travelnet-dark body.page-cars .search-card-car .search-heading h1 {
    margin: 0;
    color: #f2f7f4;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.025em;
    text-shadow: none;
}

body.page-cars .search-card-car .search-heading p,
html.travelnet-dark body.page-cars .search-card-car .search-heading p {
    margin: 4px 0 0;
    color: #f2f7f4;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.45;
}

body.page-cars .search-card-car .car-heading-accent,
html.travelnet-dark body.page-cars .search-card-car .car-heading-accent {
    color: #8ee68a;
}

body.page-cars .car-form-panel,
html.travelnet-dark body.page-cars .car-form-panel {
    grid-column: 1 / -1;
    display: block;
    min-width: 0;
}

body.page-cars .car-main-panel,
html.travelnet-dark body.page-cars .car-main-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

body.page-cars .car-primary-grid,
html.travelnet-dark body.page-cars .car-primary-grid {
    gap: 8px 12px;
}

body.page-cars .car-form-panel .car-top-fields,
html.travelnet-dark body.page-cars .car-form-panel .car-top-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-cars .car-form-panel .car-top-fields .car-country-field,
html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-country-field {
    grid-column: 1;
}

body.page-cars .car-form-panel .car-top-fields .car-vendor-field,
html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-vendor-field {
    grid-column: 2;
}

body.page-cars .car-form-panel .car-journey-fields,
html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields {
    grid-template-columns: minmax(0, 2fr) minmax(132px, 1.08fr) minmax(112px, 0.92fr);
}

body.page-cars .car-primary-grid .field-card > .field-label,
html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-label {
    top: 8px;
    left: 14px;
    color: #aebcc3;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
}

body.page-cars .car-primary-grid .field-card > .field-control,
html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-control {
    min-height: 56px;
    height: 56px;
    gap: 9px;
    padding: 20px 14px 8px;
    border: 1px solid rgba(164, 221, 176, 0.18);
    border-radius: 8px;
    background: #13262e;
    color: #8ee68a;
    box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
}

body.page-cars .car-primary-grid .field-control > .icon,
html.travelnet-dark body.page-cars .car-primary-grid .field-control > .icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    margin-top: 7px;
    color: #8ee68a;
}

body.page-cars .car-primary-grid .field-control input,
body.page-cars .car-primary-grid .field-control select,
html.travelnet-dark body.page-cars .car-primary-grid .field-control input,
html.travelnet-dark body.page-cars .car-primary-grid .field-control select {
    min-height: 28px;
    height: 28px;
    padding-top: 6px;
    color: #f2f7f4;
    font-size: 14px;
    font-weight: 700;
}

body.page-cars .car-dropoff-location-field .car-same-branch-value,
html.travelnet-dark body.page-cars .car-dropoff-location-field .car-same-branch-value {
    bottom: 9px;
    left: 39px;
    color: #f2f7f4;
}

body.page-cars .car-form-panel .car-toggles,
html.travelnet-dark body.page-cars .car-form-panel .car-toggles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 64px;
    height: 64px;
    margin: 0;
    padding: 6px 18px;
    border: 1px solid rgba(164, 221, 176, 0.18);
    border-radius: 8px;
    background: rgba(6, 15, 21, 0.78);
    box-shadow:
        0 18px 36px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
}

body.page-cars .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-toggles .toggle-card {
    min-height: 50px;
    padding: 7px 12px 7px 0;
    border-right-color: rgba(164, 221, 176, 0.16);
    color: #edf6ef;
}

body.page-cars .car-advanced-options,
html.travelnet-dark body.page-cars .car-advanced-options {
    grid-column: 1;
    grid-row: auto;
    align-self: end;
    width: 100%;
    min-height: 36px;
    height: auto;
    margin: 0;
    padding: 5px 0 0;
    overflow: visible;
    border: 0;
    border-top: 1px solid rgba(127, 214, 126, 0.18);
    border-radius: 0;
    background: transparent;
    color: #edf6ef;
    box-shadow: none;
}

body.page-cars .car-advanced-options summary,
html.travelnet-dark body.page-cars .car-advanced-options summary {
    display: list-item;
    min-height: 24px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #8ee68a;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    list-style: disclosure-closed;
    box-shadow: none;
}

body.page-cars .car-advanced-options[open] summary,
html.travelnet-dark body.page-cars .car-advanced-options[open] summary {
    list-style: disclosure-open;
}

body.page-cars .car-advanced-options summary > span,
html.travelnet-dark body.page-cars .car-advanced-options summary > span {
    display: inline;
    color: inherit;
    font: inherit;
}

body.page-cars .car-advanced-options summary small,
body.page-cars .car-advanced-options summary i,
html.travelnet-dark body.page-cars .car-advanced-options summary small,
html.travelnet-dark body.page-cars .car-advanced-options summary i,
body.page-cars .car-form-panel .car-advanced-options summary::after,
html.travelnet-dark body.page-cars .car-form-panel .car-advanced-options summary::after {
    display: none;
}

body.page-cars .car-advanced-options > .car-more-options-content,
body.page-cars .car-advanced-options:not([open]) > .car-more-options-content,
html.travelnet-dark body.page-cars .car-advanced-options > .car-more-options-content,
html.travelnet-dark body.page-cars .car-advanced-options:not([open]) > .car-more-options-content {
    padding-right: 0;
    padding-left: 0;
}

body.page-cars .car-advanced-options[open] > .car-more-options-content,
html.travelnet-dark body.page-cars .car-advanced-options[open] > .car-more-options-content {
    padding: 10px 0 4px;
}

@media (min-width: 761px) {
    body.page-cars .search-card-car > .car-advanced-options[open],
    html.travelnet-dark body.page-cars .search-card-car > .car-advanced-options[open] {
        grid-column: 1 / -1;
    }

    body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta {
        grid-column: 2;
        justify-self: end;
    }
}

body.page-cars .car-option-group,
html.travelnet-dark body.page-cars .car-option-group {
    border-top-color: rgba(164, 221, 176, 0.14);
}

body.page-cars .car-option-group .field-card > select,
body.page-cars .car-option-group .field-card > .field-control,
html.travelnet-dark body.page-cars .car-option-group .field-card > select,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-control {
    border-color: rgba(164, 221, 176, 0.18);
    border-radius: 8px;
    background: #13262e;
    color: #f2f7f4;
}

body.page-cars .search-card-car .primary-cta,
html.travelnet-dark body.page-cars .search-card-car .primary-cta {
    grid-column: 2;
    align-self: end;
    width: 100%;
    min-height: 58px;
    height: 58px;
    margin: 0;
    padding: 0 28px;
    border: 2px solid #11810d;
    border-radius: 10px;
    background: #15930f;
    color: #ffffff;
    font-size: 21px;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(21, 147, 15, 0.24);
}

body.page-cars .feature-card-car,
html.travelnet-dark body.page-cars .feature-card-car {
    width: 100%;
    max-width: 100%;
    height: 507px;
    align-self: start;
    margin-top: -20px;
    border: 2px solid rgba(164, 221, 176, 0.11);
    border-radius: 18px;
    background: rgba(19, 33, 40, 0.5);
    color: #f2f7f4;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: none;
}

body.page-cars .car-promo-image,
html.travelnet-dark body.page-cars .car-promo-image {
    height: 232px;
}

body.page-cars .car-promo-content,
html.travelnet-dark body.page-cars .car-promo-content {
    gap: 8px;
    padding: 16px 22px 14px;
}

body.page-cars .car-promo-content > p:not(.car-booking-disabled),
html.travelnet-dark body.page-cars .car-promo-content > p:not(.car-booking-disabled) {
    margin-top: -2px;
}

body.page-cars .car-status-box,
html.travelnet-dark body.page-cars .car-status-box {
    min-height: 58px;
    padding: 10px 14px;
}

body.page-cars .car-booking-disabled,
html.travelnet-dark body.page-cars .car-booking-disabled {
    margin-top: 0;
}

html:not(.travelnet-dark) body.page-cars .car-modern-hero {
    border: 1px solid rgba(255, 255, 255, 0.86);
    background:
        linear-gradient(112deg, rgba(13, 39, 62, 0.82) 0%, rgba(8, 121, 201, 0.36) 44%, rgba(255, 255, 255, 0.18) 100%),
        linear-gradient(180deg, rgba(255, 247, 219, 0.36), transparent 46%),
        url("../images/car-coastal-road-hero.png") center / cover;
    box-shadow: 0 30px 86px rgba(13, 50, 92, 0.24);
}

html:not(.travelnet-dark) body.page-cars .search-card-car {
    background: rgba(255, 255, 255, 0.9);
    color: #13233a;
    box-shadow: 0 18px 48px rgba(13, 50, 92, 0.16);
}

html:not(.travelnet-dark) body.page-cars .search-card-car::before {
    border-color: rgba(255, 255, 255, 0.82);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 248, 255, 0.88)),
        linear-gradient(135deg, rgba(8, 121, 201, 0.08), rgba(255, 68, 63, 0.05));
    box-shadow:
        0 30px 78px rgba(13, 50, 92, 0.22),
        0 14px 34px rgba(21, 147, 15, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
}

html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading h1 {
    color: #0f223b;
}

html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading p {
    color: #075d9a;
}

html:not(.travelnet-dark) body.page-cars .search-card-car .car-heading-accent {
    color: #15930f;
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-card > .field-label {
    color: #52657c;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-primary-grid .field-card > .field-control,
html:not(.travelnet-dark) body.page-cars .car-form-panel .car-primary-grid .field-card select {
    border-color: rgba(8, 121, 201, 0.18);
    background: #ffffff;
    color: #0879c9;
    box-shadow:
        0 16px 34px rgba(13, 50, 92, 0.11),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-control input,
html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-control select,
html:not(.travelnet-dark) body.page-cars .car-dropoff-location-field .car-same-branch-value {
    color: #122239;
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-control > .icon {
    color: #0879c9;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles {
    border-color: rgba(8, 121, 201, 0.18);
    background: rgba(255, 255, 255, 0.92);
    color: #13233a;
    box-shadow: 0 16px 34px rgba(13, 50, 92, 0.11);
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles .toggle-card {
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options {
    border-top-color: rgba(21, 147, 15, 0.22);
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options summary {
    color: #11810d;
}

html:not(.travelnet-dark) body.page-cars .feature-card-car {
    border-color: rgba(255, 255, 255, 0.82);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    color: #13233a;
    box-shadow: 0 28px 70px rgba(13, 50, 92, 0.2);
}

@media (max-width: 1280px) {
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        max-width: 870px;
    }

    body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        min-height: 0;
    }

    body.page-cars .feature-card-car,
    html.travelnet-dark body.page-cars .feature-card-car {
        width: min(100%, 560px);
        height: auto;
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    body.page-cars .car-modern-hero,
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        width: calc(100vw - 28px);
        min-height: 0;
        margin-left: calc(50% - 50vw + 14px);
        margin-right: calc(50% - 50vw + 14px);
        padding: 18px;
    }

    body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        row-gap: 12px;
        min-height: 0;
        padding: 0;
    }

    body.page-cars .search-card-car .search-heading h1,
    html.travelnet-dark body.page-cars .search-card-car .search-heading h1 {
        font-size: 34px;
    }

    body.page-cars .search-card-car .search-heading p,
    html.travelnet-dark body.page-cars .search-card-car .search-heading p {
        font-size: 15px;
    }

    body.page-cars .car-form-panel .car-top-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-form-panel .car-top-fields .car-country-field,
    body.page-cars .car-form-panel .car-top-fields .car-vendor-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-country-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .car-vendor-field {
        grid-column: 1;
        grid-row: auto;
    }

    body.page-cars .car-form-panel .car-journey-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
    body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field {
        grid-column: 1 / -1;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-field {
        grid-row: 1;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field {
        grid-column: 1;
        grid-row: 2;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field {
        grid-column: 2;
        grid-row: 2;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field {
        grid-row: 3;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-return-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-date-field {
        grid-column: 1;
        grid-row: 4;
    }

    body.page-cars .car-form-panel .car-journey-fields .car-return-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-time-field {
        grid-column: 2;
        grid-row: 4;
    }

    body.page-cars .car-form-panel .car-toggles,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        min-height: 0;
    }

    body.page-cars .car-form-panel .car-toggles .toggle-card,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles .toggle-card {
        min-height: 48px;
        border-right: 0;
        border-bottom: 1px solid rgba(164, 221, 176, 0.16);
    }

    body.page-cars .car-form-panel .car-toggles .toggle-card:last-child,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles .toggle-card:last-child {
        border-bottom: 0;
    }

    body.page-cars .car-advanced-options,
    html.travelnet-dark body.page-cars .car-advanced-options,
    body.page-cars .search-card-car .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car .primary-cta {
        grid-column: 1;
    }

    body.page-cars .search-card-car .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car .primary-cta {
        width: 100%;
        font-size: 18px;
    }
}

/* The shared .field-card span rule predates Select2. Reset only Select2's
   generated structure so its nested spans do not become separate controls. */
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .selection,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection__rendered,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection__arrow {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-cars .car-select2-parent select[data-car-select2] + .select2-container {
    display: inline-block;
    width: 100% !important;
    min-width: 0;
    color: inherit;
    vertical-align: middle;
}

body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .selection,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection,
body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection__rendered {
    display: block;
}

body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .select2-selection__arrow {
    display: block;
    position: absolute;
}

body.page-cars .car-select2-parent select[data-car-select2] + .select2-container .dropdown-wrapper {
    display: none;
}

body.page-cars .car-primary-grid .field-control > select[data-car-select2] + .select2-container {
    flex: 1 1 auto;
    height: 28px;
}

body.page-cars .car-primary-grid select[data-car-select2] + .select2-container .select2-selection--single {
    height: 28px;
}

body.page-cars .car-primary-grid select[data-car-select2] + .select2-container .select2-selection__rendered {
    height: 28px;
    padding: 6px 24px 0 0;
    overflow: hidden;
    color: #f2f7f4;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.page-cars .car-primary-grid select[data-car-select2] + .select2-container .select2-selection__arrow {
    top: 0;
    right: 0;
    width: 18px;
    height: 28px;
}

body.page-cars .car-option-group .field-card > select[data-car-select2] + .select2-container {
    display: block;
    height: 44px;
}

body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection--single {
    height: 44px;
    border: 1px solid rgba(164, 221, 176, 0.18);
    border-radius: 8px;
    background: #13262e;
}

body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__rendered {
    height: 42px;
    padding: 0 34px 0 14px;
    color: #f2f7f4;
    font-size: 13px;
    font-weight: 700;
    line-height: 42px;
}

body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__arrow {
    top: 1px;
    right: 8px;
    width: 20px;
    height: 42px;
}

body.page-cars .car-select2-parent > .select2-container--open:not(.select2),
body.page-cars .car-select2-parent > .select2-container--open:not(.select2) .select2-dropdown,
body.page-cars .car-select2-parent > .select2-container--open:not(.select2) .select2-results {
    display: block;
    min-height: 0;
    padding: 0;
    background-clip: padding-box;
}

body.page-cars .car-select2-parent > .select2-container--open:not(.select2) {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-cars .car-select2-parent > .select2-container--open:not(.select2) .select2-search--dropdown {
    display: block;
    min-height: 0;
    padding: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-cars .car-select2-parent > .select2-container--open:not(.select2) .select2-search__field {
    display: block;
    width: 100%;
    min-height: 38px;
    height: 38px;
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid select[data-car-select2] + .select2-container .select2-selection__rendered,
html:not(.travelnet-dark) body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__rendered {
    color: #122239;
}

html:not(.travelnet-dark) body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection--single {
    border-color: rgba(8, 121, 201, 0.18);
    background: #ffffff;
}

/* Flight, Hotel, and Cars Select2 menus use one blue selection language. */
body.page-flights,
body.page-hotels,
body.page-cars {
    --travelnet-search-select2-accent: #0879c9;
    --travelnet-search-select2-accent-soft: rgba(8, 121, 201, 0.14);
    --travelnet-search-select2-border: rgba(8, 121, 201, 0.3);
}

body.page-flights .travelnet-select2-parent,
body.page-hotels .travelnet-select2-parent {
    position: relative;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container,
body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container span,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container span {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container {
    display: block;
    width: 100% !important;
    min-width: 0;
    height: 46px;
    color: inherit;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .selection,
body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection,
body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .selection,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered {
    display: block;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection--single,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection--single {
    height: 46px;
    border: 1px solid rgba(188, 214, 194, 0.16);
    border-radius: 8px;
    background: rgba(7, 16, 12, 0.76);
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered {
    height: 44px;
    padding: 0 38px 0 12px;
    overflow: hidden;
    color: #edf6ef;
    font-size: 14px;
    font-weight: 700;
    line-height: 44px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__arrow,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__arrow {
    position: absolute;
    top: 1px;
    right: 8px;
    display: block;
    width: 22px;
    height: 44px;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__arrow b,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__arrow b {
    border-color: var(--travelnet-search-select2-accent) transparent transparent;
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container.select2-container--open .select2-selection__arrow b,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container.select2-container--open .select2-selection__arrow b {
    border-color: transparent transparent var(--travelnet-search-select2-accent);
}

body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .dropdown-wrapper,
body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .dropdown-wrapper {
    display: none;
}

body.page-flights .travelnet-select2-parent > .select2-container--open:not(.select2),
body.page-hotels .travelnet-select2-parent > .select2-container--open:not(.select2) {
    z-index: 120;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-flights .travelnet-select2-parent > .select2-container--open:not(.select2) .select2-dropdown,
body.page-hotels .travelnet-select2-parent > .select2-container--open:not(.select2) .select2-dropdown {
    display: block;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--travelnet-search-select2-border);
    border-radius: 10px;
    background: #10232b;
    color: #edf6ef;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.42);
}

body.page-flights .travelnet-select2-parent .select2-dropdown--below,
body.page-hotels .travelnet-select2-parent .select2-dropdown--below {
    margin-top: 4px;
}

body.page-flights .travelnet-select2-parent .select2-dropdown--above,
body.page-hotels .travelnet-select2-parent .select2-dropdown--above {
    margin-top: -4px;
}

body.page-flights .travelnet-select2-parent .select2-results,
body.page-hotels .travelnet-select2-parent .select2-results {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.page-flights .travelnet-select2-parent .select2-results > .select2-results__options,
body.page-hotels .travelnet-select2-parent .select2-results > .select2-results__options {
    max-height: 220px;
}

body.page-flights .travelnet-select2-parent .select2-results__option,
body.page-hotels .travelnet-select2-parent .select2-results__option {
    padding: 9px 12px;
    color: #dce9e1;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

body.page-flights .travelnet-select2-parent .select2-results__option[aria-selected="true"],
body.page-hotels .travelnet-select2-parent .select2-results__option[aria-selected="true"] {
    background: var(--travelnet-search-select2-accent-soft);
    color: var(--travelnet-search-select2-accent);
}

body.page-flights .travelnet-select2-parent .select2-results__option--highlighted[aria-selected],
body.page-hotels .travelnet-select2-parent .select2-results__option--highlighted[aria-selected] {
    background: var(--travelnet-search-select2-accent);
    color: #ffffff;
}

body.page-flights .travelnet-select2-parent .select2-search--dropdown,
body.page-hotels .travelnet-select2-parent .select2-search--dropdown {
    display: block;
    min-height: 0;
    padding: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-flights .travelnet-select2-parent .select2-search--dropdown.select2-search--hide,
body.page-hotels .travelnet-select2-parent .select2-search--dropdown.select2-search--hide,
body.page-cars .car-select2-parent .select2-search--dropdown.select2-search--hide {
    display: none;
}

body.page-flights .travelnet-select2-parent .select2-search__field,
body.page-hotels .travelnet-select2-parent .select2-search__field {
    display: block;
    width: 100%;
    min-height: 38px;
    height: 38px;
    padding: 7px 10px;
    border: 1px solid var(--travelnet-search-select2-border);
    border-radius: 7px;
    outline: 0;
    background: #0a1b22;
    color: #f2f7f4;
    font: inherit;
}

body.page-flights .travelnet-select2-parent .select2-search__field:focus,
body.page-hotels .travelnet-select2-parent .select2-search__field:focus {
    border-color: var(--travelnet-search-select2-accent);
    box-shadow: 0 0 0 3px var(--travelnet-search-select2-accent-soft);
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection--single,
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection--single {
    border-color: rgba(8, 121, 201, 0.18);
    background: #ffffff;
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered,
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent select.travelnet-select2-source + .select2-container .select2-selection__rendered {
    color: #13233a;
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent > .select2-container--open:not(.select2) .select2-dropdown,
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent > .select2-container--open:not(.select2) .select2-dropdown {
    background: #ffffff;
    color: #13233a;
    box-shadow: 0 18px 38px rgba(13, 50, 92, 0.18);
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent .select2-results__option,
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent .select2-results__option {
    color: #263b54;
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent .select2-results__option--highlighted[aria-selected],
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent .select2-results__option--highlighted[aria-selected] {
    color: #ffffff;
}

html:not(.travelnet-dark) body.page-flights .travelnet-select2-parent .select2-search__field,
html:not(.travelnet-dark) body.page-hotels .travelnet-select2-parent .select2-search__field {
    background: #f7fbff;
    color: #13233a;
}

/* Keep the Cars hero grid explicitly inside the hero band. Its responsive
   hero padding supplies more than the requested one-to-two-pixel inset. */
body.page-cars .car-modern-hero .hero-grid,
html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

/* Flights-sized Hotels and Cars hero panels. Reuse the Flight page's exact
   horizontal padding, column ratio and gap instead of maintaining a third
   set of product widths. */
@media (min-width: 761px) {
    body.page-hotels .hotel-hero,
    html.travelnet-dark body.page-hotels .hotel-hero,
    body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        padding-right: 44px;
        padding-left: 44px;
    }

    body.page-hotels .hotel-hero .hero-grid,
    html.travelnet-dark body.page-hotels .hotel-hero .hero-grid,
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        width: 100%;
        max-width: none;
    }

    body.page-hotels .search-card-hotel,
    html.travelnet-dark body.page-hotels .search-card-hotel,
    body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }

    body.page-hotels .feature-card-hotel,
    html.travelnet-dark body.page-hotels .feature-card-hotel,
    body.page-cars .feature-card-car,
    html.travelnet-dark body.page-cars .feature-card-car {
        width: 100%;
        max-width: none;
        justify-self: stretch;
    }
}

@media (min-width: 1321px) {
    body.page-hotels .hotel-hero .hero-grid,
    html.travelnet-dark body.page-hotels .hotel-hero .hero-grid,
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1.72fr) minmax(360px, 0.78fr);
        gap: clamp(32px, 3vw, 52px);
    }
}

@media (min-width: 1181px) and (max-width: 1320px) {
    body.page-hotels .hotel-hero .hero-grid,
    html.travelnet-dark body.page-hotels .hotel-hero .hero-grid,
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
        gap: 28px;
    }
}

@media (min-width: 761px) and (max-width: 1180px) {
    body.page-hotels .hotel-hero .hero-grid,
    html.travelnet-dark body.page-hotels .hotel-hero .hero-grid,
    body.page-cars .car-modern-hero .hero-grid,
    html.travelnet-dark body.page-cars .car-modern-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}

@media (max-width: 760px) {
    body.page-cars .car-modern-hero,
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-right: 14px;
        padding-left: 14px;
    }
}

/* Match the Hotel search card's single glass surface. The Cars card already
   receives its visible panel from ::before, so an opaque light background on
   the card itself creates a distracting second white grid. */
html:not(.travelnet-dark) body.page-cars .search-card-car {
    background: transparent;
    box-shadow: none;
}

/* Keep the collapsed Cars form content-led like Hotels. This removes the
   unused flexible row that previously left a large blank area above Search. */
body.page-cars .search-card-car,
html.travelnet-dark body.page-cars .search-card-car {
    min-height: 0;
    grid-template-rows: auto auto auto;
}

body.page-cars .search-card-car .search-heading,
html.travelnet-dark body.page-cars .search-card-car .search-heading {
    margin-bottom: 10px;
}

html:not(.travelnet-dark) body.page-cars .feature-card-car {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 30px 72px rgba(13, 50, 92, 0.18), 0 12px 26px rgba(21, 147, 15, 0.08);
}

/* Hotel-measured Cars layout parity. Cars keeps its own controls, but the
   panel inset, two-column rhythm, field dimensions and responsive spacing now
   follow the approved Hotel search page exactly. */
@media (min-width: 761px) {
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        padding-right: 44px;
        padding-left: 44px;
    }

    html:not(.travelnet-dark) body.page-cars .car-primary-grid,
    html.travelnet-dark body.page-cars .car-primary-grid {
        gap: 8px 18px;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-top-fields,
    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-pickup-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-field {
        grid-column: 1;
        grid-row: 1;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-dropoff-location-field {
        grid-column: 2;
        grid-row: 1;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-date-field {
        grid-column: 1;
        grid-row: 2;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-return-date-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-date-field {
        grid-column: 2;
        grid-row: 2;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-pickup-time-field {
        grid-column: 1;
        grid-row: 3;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .car-return-time-field,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .car-return-time-field {
        grid-column: 2;
        grid-row: 3;
    }
}

html:not(.travelnet-dark) body.page-cars .search-card-car,
html.travelnet-dark body.page-cars .search-card-car {
    row-gap: 0;
}

html:not(.travelnet-dark) body.page-cars .car-main-panel,
html.travelnet-dark body.page-cars .car-main-panel {
    gap: 8px;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel,
html.travelnet-dark body.page-cars .car-form-panel {
    transform: translateY(2px);
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options,
html.travelnet-dark body.page-cars .car-advanced-options {
    align-self: start;
}

html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-card > .field-label,
html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-label {
    font-size: 13px;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles,
html.travelnet-dark body.page-cars .car-form-panel .car-toggles {
    min-height: 84px;
    height: auto;
    margin: 8px 0;
    padding: 10px 18px 8px;
}

html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-form-panel .car-toggles .toggle-card {
    min-height: 64px;
}

html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta,
html.travelnet-dark body.page-cars .search-card-car .primary-cta {
    min-height: 58px;
    height: 58px;
    margin-top: 42px;
}

html:not(.travelnet-dark) body.page-cars .feature-card-car,
html.travelnet-dark body.page-cars .feature-card-car {
    min-height: 478px;
    height: auto;
}

html:not(.travelnet-dark) body.page-cars .car-promo-image,
html.travelnet-dark body.page-cars .car-promo-image {
    height: 286px;
}

@media (max-width: 760px) {
    html:not(.travelnet-dark) body.page-cars .car-modern-hero,
    html.travelnet-dark body.page-cars .car-modern-hero {
        padding: 20px 14px 24px;
    }

    html:not(.travelnet-dark) body.page-cars .search-card-car,
    html.travelnet-dark body.page-cars .search-card-car {
        border: 1px solid rgba(142, 230, 138, 0.18);
    }

    html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading,
    html.travelnet-dark body.page-cars .search-card-car .search-heading {
        min-height: 65px;
    }

    html:not(.travelnet-dark) body.page-cars .search-card-car .search-heading h1,
    html.travelnet-dark body.page-cars .search-card-car .search-heading h1 {
        font-size: 30px;
    }

    html:not(.travelnet-dark) body.page-cars .car-main-panel,
    html:not(.travelnet-dark) body.page-cars .car-primary-grid,
    html.travelnet-dark body.page-cars .car-main-panel,
    html.travelnet-dark body.page-cars .car-primary-grid {
        gap: 10px;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-top-fields,
    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-top-fields .field-card,
    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-journey-fields .field-card,
    html.travelnet-dark body.page-cars .car-form-panel .car-top-fields .field-card,
    html.travelnet-dark body.page-cars .car-form-panel .car-journey-fields .field-card {
        grid-column: 1;
        grid-row: auto;
    }

    html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-card > .field-control,
    html.travelnet-dark body.page-cars .car-primary-grid .field-card > .field-control {
        min-height: 64px;
        height: 64px;
    }

    html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-control input,
    html:not(.travelnet-dark) body.page-cars .car-primary-grid .field-control select,
    html:not(.travelnet-dark) body.page-cars .car-primary-grid .select2-selection__rendered,
    html.travelnet-dark body.page-cars .car-primary-grid .field-control input,
    html.travelnet-dark body.page-cars .car-primary-grid .field-control select,
    html.travelnet-dark body.page-cars .car-primary-grid .select2-selection__rendered {
        font-size: 14px;
    }

    html:not(.travelnet-dark) body.page-cars .car-form-panel .car-toggles,
    html.travelnet-dark body.page-cars .car-form-panel .car-toggles {
        min-height: 0;
        margin: 8px 0;
        padding: 12px;
        gap: 10px;
    }

    html:not(.travelnet-dark) body.page-cars .search-card-car .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car .primary-cta {
        min-height: 52px;
        height: 52px;
        margin-top: 8px;
    }
}

/* Readable expanded Cars options. Keep the compact search untouched while
   presenting optional fields as a calm, grouped Hotel-style form panel. */
html:not(.travelnet-dark) body.page-cars .car-advanced-options summary,
html.travelnet-dark body.page-cars .car-advanced-options summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    min-height: 54px;
    padding: 9px 44px 9px 14px;
    border-radius: 10px;
    list-style: none;
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options summary > span,
html.travelnet-dark body.page-cars .car-advanced-options summary > span {
    display: block;
    font-size: 16px;
    font-weight: 850;
    line-height: 20px;
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options summary small,
html.travelnet-dark body.page-cars .car-advanced-options summary small {
    display: block;
    color: #52657c;
    font-size: 12px;
    font-weight: 650;
    line-height: 16px;
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options summary i,
html.travelnet-dark body.page-cars .car-advanced-options summary i {
    position: absolute;
    top: 50%;
    right: 17px;
    display: block;
    width: 9px;
    height: 9px;
    border-right: 2px solid #15930f;
    border-bottom: 2px solid #15930f;
    transform: translateY(-68%) rotate(45deg);
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options[open] summary i,
html.travelnet-dark body.page-cars .car-advanced-options[open] summary i {
    transform: translateY(-28%) rotate(225deg);
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options[open] > .car-more-options-content,
html.travelnet-dark body.page-cars .car-advanced-options[open] > .car-more-options-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-height: 2400px;
    margin-top: 8px;
    padding: 14px;
    overflow: visible;
    border: 1px solid rgba(8, 121, 201, 0.18);
    border-radius: 14px;
    background: rgba(248, 252, 255, 0.94);
    opacity: 1;
    visibility: visible;
    box-shadow: 0 18px 38px rgba(13, 50, 92, 0.13);
    pointer-events: auto;
    transform: translateY(0);
}

html:not(.travelnet-dark) body.page-cars .car-option-group,
html.travelnet-dark body.page-cars .car-option-group {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(8, 121, 201, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 8px 20px rgba(13, 50, 92, 0.07);
}

body.page-cars [data-car-avis-only][hidden] {
    display: none !important;
}

html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"],
html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-extras-heading"],
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"],
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-extras-heading"] {
    grid-column: 1 / -1;
}

html:not(.travelnet-dark) body.page-cars .car-option-group h2,
html.travelnet-dark body.page-cars .car-option-group h2 {
    margin: 0;
    padding: 0 0 9px;
    border-bottom: 1px solid rgba(8, 121, 201, 0.14);
    color: #1f3549;
    font-size: 14px;
    font-weight: 850;
    line-height: 18px;
    letter-spacing: 0.015em;
    text-transform: none;
}

html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-vehicle-heading"] .car-option-grid,
html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-preferences-heading"] .car-option-grid,
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-vehicle-heading"] .car-option-grid,
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-preferences-heading"] .car-option-grid {
    grid-template-columns: minmax(0, 1fr);
}

html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .car-option-grid,
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .car-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .field-card:last-child,
html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .field-card:last-child {
    grid-column: 1 / -1;
}

html:not(.travelnet-dark) body.page-cars .car-option-grid,
html.travelnet-dark body.page-cars .car-option-grid {
    gap: 12px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card,
html.travelnet-dark body.page-cars .car-option-group .field-card {
    gap: 6px;
    min-width: 0;
    color: #344b60;
    font-size: 13px;
    line-height: 18px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-label,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-label {
    color: #52657c;
    font-size: 13px;
    font-weight: 750;
    line-height: 18px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > select,
html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-control,
html.travelnet-dark body.page-cars .car-option-group .field-card > select,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-control {
    min-height: 52px;
    height: 52px;
    padding: 0 14px;
    border-radius: 9px;
    font-size: 14px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-control {
    border-color: rgba(8, 121, 201, 0.2);
    background: #ffffff;
    color: #0879c9;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-control input,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-control input {
    min-height: 36px;
    height: 36px;
    font-size: 14px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-control input {
    color: #122239;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > .field-control input::placeholder {
    color: #7a8ba0;
    opacity: 1;
}

html:not(.travelnet-dark) body.page-cars .car-option-group .field-card > select[data-car-select2] + .select2-container,
html.travelnet-dark body.page-cars .car-option-group .field-card > select[data-car-select2] + .select2-container,
html:not(.travelnet-dark) body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection--single,
html.travelnet-dark body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection--single {
    height: 52px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__rendered,
html.travelnet-dark body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__rendered {
    height: 50px;
    padding-right: 38px;
    padding-left: 14px;
    font-size: 14px;
    line-height: 50px;
}

html:not(.travelnet-dark) body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__arrow,
html.travelnet-dark body.page-cars .car-option-group select[data-car-select2] + .select2-container .select2-selection__arrow {
    height: 50px;
}

html:not(.travelnet-dark) body.page-cars .car-extra-grid,
html.travelnet-dark body.page-cars .car-extra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

html:not(.travelnet-dark) body.page-cars .car-extra-grid .toggle-card,
html.travelnet-dark body.page-cars .car-extra-grid .toggle-card {
    min-height: 50px;
    padding: 9px 11px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
    line-height: 17px;
}

html:not(.travelnet-dark) body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta,
html.travelnet-dark body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta {
    margin-top: 16px;
}

html.travelnet-dark body.page-cars .car-advanced-options summary small {
    color: #9eb0bc;
}

html.travelnet-dark body.page-cars .car-advanced-options[open] > .car-more-options-content {
    border-color: rgba(169, 205, 195, 0.17);
    background: rgba(8, 20, 27, 0.94);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.3);
}

html.travelnet-dark body.page-cars .car-option-group {
    border-color: rgba(169, 205, 195, 0.14);
    background: rgba(19, 40, 51, 0.9);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

html.travelnet-dark body.page-cars .car-option-group h2 {
    border-bottom-color: rgba(169, 205, 195, 0.14);
    color: #edf5f3;
}

html.travelnet-dark body.page-cars .car-option-group .field-card,
html.travelnet-dark body.page-cars .car-option-group .field-card > .field-label {
    color: #b8c8ce;
}

@media (max-width: 980px) {
    html:not(.travelnet-dark) body.page-cars .car-extra-grid,
    html.travelnet-dark body.page-cars .car-extra-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    html:not(.travelnet-dark) body.page-cars .car-advanced-options[open] > .car-more-options-content,
    html.travelnet-dark body.page-cars .car-advanced-options[open] > .car-more-options-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        max-height: 4000px;
        padding: 10px;
    }

    html:not(.travelnet-dark) body.page-cars .car-option-group,
    html.travelnet-dark body.page-cars .car-option-group,
    html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"],
    html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-extras-heading"],
    html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"],
    html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-extras-heading"] {
        grid-column: 1;
        padding: 13px;
    }

    html:not(.travelnet-dark) body.page-cars .car-option-group .car-option-grid,
    html:not(.travelnet-dark) body.page-cars .car-extra-grid,
    html.travelnet-dark body.page-cars .car-option-group .car-option-grid,
    html.travelnet-dark body.page-cars .car-extra-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .car-option-grid,
    html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .car-option-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    html:not(.travelnet-dark) body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .field-card:last-child,
    html.travelnet-dark body.page-cars .car-option-group[aria-labelledby="car-options-avis-heading"] .field-card:last-child {
        grid-column: 1;
    }

    html:not(.travelnet-dark) body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta,
    html.travelnet-dark body.page-cars .search-card-car > .car-advanced-options[open] + .primary-cta {
        margin-top: 12px;
    }
}

/* This is a deliberate checkout stop, not a passive information notice. */
.car-driver-details-page .car-development-blocker {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin: 22px 0;
    padding: 20px 22px;
    border: 3px solid #b42318;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff1f0, #fff8ed);
    color: #651b16;
    box-shadow: 0 14px 34px rgba(180, 35, 24, 0.2);
}

.car-driver-details-page .car-development-blocker-icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #b42318;
    color: #fff;
}

.car-driver-details-page .car-development-blocker-icon svg {
    width: 27px;
    height: 27px;
}

.car-driver-details-page .car-development-blocker-copy {
    display: grid;
    gap: 5px;
}

.car-driver-details-page .car-development-blocker-kicker {
    color: #9f1f17;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.car-driver-details-page .car-development-blocker strong {
    font-size: clamp(20px, 2.1vw, 27px);
    line-height: 1.15;
}

.car-driver-details-page .car-development-blocker p {
    margin: 0;
    color: #7a271a;
    font-weight: 650;
    line-height: 1.5;
}

.car-driver-details-page .car-booking-blocked-button,
.car-driver-details-page .car-booking-blocked-button:disabled {
    cursor: not-allowed;
    border-color: #8f9a94;
    background: #d8dedb;
    color: #435049;
    box-shadow: none;
    opacity: 1;
}

html.travelnet-dark .car-driver-details-page .car-development-blocker {
    border-color: #ff766d;
    background: linear-gradient(135deg, #421814, #352014);
    color: #fff4f2;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.34);
}

html.travelnet-dark .car-driver-details-page .car-development-blocker-icon {
    background: #ff766d;
    color: #2b0f0c;
}

html.travelnet-dark .car-driver-details-page .car-development-blocker-kicker {
    color: #ffaaa4;
}

html.travelnet-dark .car-driver-details-page .car-development-blocker p {
    color: #ffd6d2;
}

@media (max-width: 560px) {
    .car-driver-details-page .car-development-blocker {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
        padding: 17px;
    }

    .car-driver-details-page .car-development-blocker-icon {
        width: 44px;
        height: 44px;
    }
}

/* Car results refresh: match the established Flight and Hotel results language. */
body.page-cars .car-results-page {
    --car-results-navy: #10243e;
    --car-results-blue: #2563eb;
    --car-results-cyan: #0ea5e9;
    --car-results-green: #159447;
    --car-results-green-dark: #087532;
    --car-results-green-soft: #ecf8ef;
    --car-results-border: #e2e8f0;
    --car-results-muted: #64748b;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 24px 20px 50px;
    color: #14213d;
}

body.page-cars .car-results-page::before {
    top: 0;
    right: calc(50% - 50vw);
    bottom: 0;
    left: calc(50% - 50vw);
    background:
        linear-gradient(90deg, rgba(247, 251, 249, 0.985) 0%, rgba(247, 251, 249, 0.95) 55%, rgba(247, 251, 249, 0.8) 100%),
        url("../images/car-coastal-road-hero.png") center right / cover fixed no-repeat,
        #f7fbf9;
}

body.page-cars .car-results-page .car-search-hero {
    display: block;
    position: relative;
    overflow: hidden;
    min-height: 0;
    margin: 0 0 14px;
    padding: 30px 32px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 16px;
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.16) 0 1px, transparent 2px 100%),
        linear-gradient(112deg, rgba(7, 63, 112, 0.97) 0%, rgba(8, 121, 201, 0.91) 52%, rgba(21, 148, 71, 0.85) 100%);
    background-size: 22px 22px, auto;
    color: #fff;
    box-shadow: 0 24px 58px rgba(13, 50, 92, 0.18), 0 8px 20px rgba(21, 148, 71, 0.08);
}

body.page-cars .car-results-page .car-results-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
}

body.page-cars .car-results-page .car-results-hero-copy {
    min-width: 0;
    max-width: 830px;
}

body.page-cars .car-results-page .car-search-hero .eyebrow {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.14em;
}

body.page-cars .car-results-page .car-search-hero h1 {
    max-width: 760px;
    margin: 7px 0 14px;
    color: #fff;
    font-size: clamp(30px, 3.5vw, 34px);
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

body.page-cars .car-results-page .car-results-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 650;
}

body.page-cars .car-results-page .car-results-hero-meta span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

body.page-cars .car-results-page .car-results-hero-meta .icon {
    width: 16px;
    height: 16px;
}

body.page-cars .car-results-page .car-modify-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 17px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    backdrop-filter: blur(8px);
    transition: background 190ms ease, border-color 190ms ease, transform 190ms ease;
}

body.page-cars .car-results-page .car-modify-link:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
}

body.page-cars .car-results-page .car-status-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

body.page-cars .car-results-page .car-status-chip {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid #d8e6dd;
    border-radius: 999px;
    background: rgba(247, 251, 249, 0.94);
    color: #345146;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
    box-shadow: 0 5px 14px rgba(16, 36, 62, 0.035);
}

body.page-cars .car-results-page .car-status-chip .icon {
    width: 15px;
    height: 15px;
}

body.page-cars .car-results-page .car-status-chip-command {
    border-color: #cae2f2;
    background: rgba(239, 248, 255, 0.96);
    color: #145d83;
}

body.page-cars .car-results-page .car-status-chip-neutral {
    border-color: #e2e8f0;
    background: rgba(248, 250, 252, 0.96);
    color: #526174;
}

body.page-cars .car-results-page .car-prepared-card,
body.page-cars .car-results-page .car-results-panel,
body.page-cars .car-results-page .car-results-trust-strip {
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(255, 255, 255, 0.965);
    box-shadow: 0 16px 42px rgba(20, 42, 68, 0.075);
}

body.page-cars .car-results-page .car-prepared-card {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, 0.82fr);
    gap: 30px;
    align-items: center;
    margin: 0 0 16px;
    padding: 23px 24px;
    border-radius: 16px;
}

body.page-cars .car-results-page .car-prepared-copy {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

body.page-cars .car-results-page .car-prepared-icon,
body.page-cars .car-results-page .car-results-panel-icon,
body.page-cars .car-results-page .car-trust-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--car-results-green-soft);
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-prepared-icon {
    width: 46px;
    height: 46px;
}

body.page-cars .car-results-page .car-prepared-icon .icon {
    width: 21px;
    height: 21px;
}

body.page-cars .car-results-page .car-prepared-copy .eyebrow {
    color: var(--car-results-green-dark);
    font-size: 11px;
    letter-spacing: 0.13em;
}

body.page-cars .car-results-page .car-prepared-copy h2 {
    margin: 4px 0 7px;
    color: var(--car-results-navy);
    font-size: 20px;
    line-height: 1.25;
}

body.page-cars .car-results-page .car-prepared-copy p {
    max-width: 600px;
    margin: 0;
    color: var(--car-results-muted);
    font-size: 13px;
    line-height: 1.55;
}

body.page-cars .car-results-page .car-prepared-facts {
    display: grid;
    gap: 0;
    min-width: 0;
    margin: 0;
}

body.page-cars .car-results-page .car-prepared-facts div {
    display: grid;
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 39px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid #edf1f5;
}

body.page-cars .car-results-page .car-prepared-facts div:last-child {
    border-bottom: 0;
}

body.page-cars .car-results-page .car-prepared-facts dt {
    color: var(--car-results-muted);
    font-size: 12px;
    font-weight: 700;
}

body.page-cars .car-results-page .car-prepared-facts dd {
    min-width: 0;
    margin: 0;
    color: #26364c;
    font-size: 12px;
    font-weight: 780;
    text-align: right;
    overflow-wrap: anywhere;
}

body.page-cars .car-results-page .car-state-pill {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
}

body.page-cars .car-results-page .car-state-pill.is-disabled {
    border-color: #ffd0d5;
    background: #fff0f1;
    color: #b42335;
}

body.page-cars .car-results-page .car-state-pill.is-enabled {
    border-color: #bee3c8;
    background: #ecf8ef;
    color: #087532;
}

body.page-cars .car-results-page .car-results-panel {
    margin: 0;
    padding: 23px 24px 24px;
    border-radius: 16px;
}

body.page-cars .car-results-page .car-results-panel-header {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

body.page-cars .car-results-page .car-results-panel-title {
    display: flex;
    min-width: 0;
    gap: 13px;
    align-items: flex-start;
}

body.page-cars .car-results-page .car-results-panel-icon {
    width: 40px;
    height: 40px;
}

body.page-cars .car-results-page .car-results-panel-icon .icon {
    width: 20px;
    height: 20px;
}

body.page-cars .car-results-page .car-results-panel-title h2 {
    margin: 0 0 4px;
    color: var(--car-results-navy);
    font-size: 20px;
    line-height: 1.25;
}

body.page-cars .car-results-page .car-results-panel-title p {
    max-width: 640px;
    margin: 0;
    color: var(--car-results-muted);
    font-size: 13px;
    line-height: 1.45;
}

body.page-cars .car-results-page .car-results-tools {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    align-items: center;
}

body.page-cars .car-results-page .car-tool-pill {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 6px;
    padding: 8px 11px;
    border: 1px solid var(--car-results-border);
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: 12px;
    white-space: nowrap;
}

body.page-cars .car-results-page .car-tool-pill .icon {
    width: 14px;
    height: 14px;
}

body.page-cars .car-results-page .car-tool-pill.is-disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

body.page-cars .car-results-page .car-result-list {
    display: grid;
    gap: 14px;
}

body.page-cars .car-results-page .car-results-failure-notice {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid #fecaca;
    border-left: 5px solid #dc2626;
    border-radius: 14px;
    background: #fff7f7;
    color: #7f1d1d;
}

body.page-cars .car-results-page .car-results-failure-message {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
}

body.page-cars .car-results-page .car-results-failure-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fee2e2;
    color: #b91c1c;
}

body.page-cars .car-results-page .car-results-failure-icon .icon {
    width: 21px;
    height: 21px;
}

body.page-cars .car-results-page .car-results-failure-message h3 {
    margin: 1px 0 5px;
    color: #991b1b;
    font-size: 18px;
    line-height: 1.3;
}

body.page-cars .car-results-page .car-results-failure-message p {
    margin: 0;
    color: #7f1d1d;
    line-height: 1.55;
}

body.page-cars .car-results-page .car-results-warning-notice {
    display: grid;
    gap: 16px;
    margin-bottom: 14px;
    padding: 18px 20px;
    border: 1px solid #bae6fd;
    border-left: 5px solid #0284c7;
    border-radius: 14px;
    background: #f0f9ff;
}

body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-icon {
    background: #e0f2fe;
    color: #0369a1;
}

body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-message h3 {
    color: #075985;
}

body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-message p {
    color: #0c4a6e;
}

body.page-cars .car-results-page .car-failure-log-action {
    min-width: 0;
    margin: 0;
}

body.page-cars .car-results-page .car-failure-log-restricted-note {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #ddd6fe;
    border-radius: 10px;
    background: #f5f3ff;
    color: #5b21b6;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
}

body.page-cars .car-results-page .car-failure-log-link {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 28px;
    gap: 12px;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #c4b5fd;
    border-radius: 12px;
    background: linear-gradient(135deg, #f5f3ff, #faf5ff);
    color: #5b21b6;
    box-shadow: 0 7px 18px rgba(109, 40, 217, 0.1);
    text-decoration: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-cars .car-results-page .car-failure-log-link:hover {
    border-color: #8b5cf6;
    box-shadow: 0 10px 24px rgba(109, 40, 217, 0.18);
    transform: translateY(-1px);
}

body.page-cars .car-results-page .car-failure-log-link:focus-visible {
    outline: 3px solid rgba(124, 58, 237, 0.3);
    outline-offset: 3px;
}

body.page-cars .car-results-page .car-failure-log-link-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #7c3aed;
    color: #fff;
}

body.page-cars .car-results-page .car-failure-log-link-icon .icon {
    width: 20px;
    height: 20px;
}

body.page-cars .car-results-page .car-failure-log-link-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

body.page-cars .car-results-page .car-failure-log-link-copy strong {
    color: #5b21b6;
    font-size: 13px;
    font-weight: 850;
}

body.page-cars .car-results-page .car-failure-log-link-copy small {
    overflow: hidden;
    color: #6d5d82;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 10px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.page-cars .car-results-page .car-failure-log-link-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #7c3aed;
}

body.page-cars .car-results-page .car-failure-log-link-arrow .icon {
    width: 18px;
    height: 18px;
}

html.travelnet-dark body.page-cars .car-results-page .car-results-failure-notice {
    border-color: rgba(248, 113, 113, 0.48);
    border-left-color: #f87171;
    background: rgba(69, 10, 10, 0.76);
}

html.travelnet-dark body.page-cars .car-results-page .car-results-failure-icon {
    background: rgba(248, 113, 113, 0.16);
    color: #fca5a5;
}

html.travelnet-dark body.page-cars .car-results-page .car-results-failure-message h3,
html.travelnet-dark body.page-cars .car-results-page .car-results-failure-message p {
    color: #fecaca;
}

html.travelnet-dark body.page-cars .car-results-page .car-results-warning-notice {
    border-color: rgba(56, 189, 248, 0.42);
    border-left-color: #38bdf8;
    background: rgba(7, 89, 133, 0.28);
}

html.travelnet-dark body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-icon {
    background: rgba(56, 189, 248, 0.16);
    color: #7dd3fc;
}

html.travelnet-dark body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-message h3,
html.travelnet-dark body.page-cars .car-results-page .car-results-warning-notice .car-results-failure-message p {
    color: #bae6fd;
}

html.travelnet-dark body.page-cars .car-results-page .car-failure-log-link {
    border-color: rgba(196, 181, 253, 0.45);
    background: linear-gradient(135deg, rgba(76, 29, 149, 0.44), rgba(88, 28, 135, 0.36));
    color: #ede9fe;
}

html.travelnet-dark body.page-cars .car-results-page .car-failure-log-restricted-note {
    border-color: rgba(196, 181, 253, 0.36);
    background: rgba(76, 29, 149, 0.28);
    color: #ede9fe;
}

html.travelnet-dark body.page-cars .car-results-page .car-failure-log-link-copy strong {
    color: #ede9fe;
}

html.travelnet-dark body.page-cars .car-results-page .car-failure-log-link-copy small {
    color: #d8b4fe;
}

html.travelnet-dark body.page-cars .car-results-page .car-failure-log-link-arrow {
    color: #c4b5fd;
}

body.page-cars .car-results-page .car-result-card {
    display: grid;
    grid-template-columns: minmax(240px, 270px) minmax(0, 1fr) minmax(190px, 215px);
    gap: 0;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--car-results-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 39, 64, 0.065);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

body.page-cars .car-results-page .car-result-card:hover {
    border-color: rgba(14, 165, 233, 0.42);
    box-shadow: 0 15px 34px rgba(15, 39, 64, 0.12), 0 4px 12px rgba(21, 148, 71, 0.07);
    transform: translateY(-2px);
}

body.page-cars .car-results-page .car-result-media {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 250px;
    align-items: center;
    justify-content: center;
    padding: 40px 18px 44px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 56%, rgba(21, 148, 71, 0.12), transparent 58%),
        linear-gradient(145deg, #f2f8fb, #eef8f1);
}

body.page-cars .car-results-page .car-result-media img {
    display: block;
    width: 100%;
    max-width: 235px;
    height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 16px 18px rgba(15, 39, 64, 0.18));
}

body.page-cars .car-results-page .car-top-match-badge,
body.page-cars .car-results-page .car-vendor-badge,
body.page-cars .car-results-page .car-image-example-note {
    position: absolute;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
}

body.page-cars .car-results-page .car-top-match-badge {
    top: 13px;
    left: 13px;
    padding: 7px 9px;
    background: #fff;
    color: #805b0b;
    box-shadow: 0 5px 14px rgba(16, 36, 62, 0.1);
}

body.page-cars .car-results-page .car-image-example-note {
    top: 13px;
    right: 13px;
    padding: 6px 8px;
    border: 1px solid rgba(14, 116, 144, 0.18);
    background: rgba(236, 254, 255, 0.94);
    color: #155e75;
    box-shadow: 0 5px 14px rgba(16, 36, 62, 0.08);
}

body.page-cars .car-results-page .car-vendor-badge {
    bottom: 13px;
    left: 13px;
    padding: 7px 10px;
    border: 1px solid rgba(21, 148, 71, 0.17);
    background: rgba(255, 255, 255, 0.92);
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-result-content {
    min-width: 0;
    padding: 22px 22px 21px;
    border-right: 1px solid #edf1f5;
}

body.page-cars .car-results-page .car-result-content > .eyebrow {
    color: #16814b;
    font-size: 10px;
    letter-spacing: 0.12em;
}

body.page-cars .car-results-page .car-result-content h3 {
    margin: 4px 0 3px;
    color: var(--car-results-navy);
    font-size: 18px;
    font-weight: 780;
    line-height: 1.28;
}

body.page-cars .car-results-page .car-result-type-note {
    margin: 0;
    color: var(--car-results-muted);
    font-size: 12px;
    line-height: 1.4;
}

body.page-cars .car-results-page .car-feature-row,
body.page-cars .car-results-page .car-benefit-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.page-cars .car-results-page .car-feature-row {
    margin-top: 13px;
}

body.page-cars .car-results-page .car-feature-row span,
body.page-cars .car-results-page .car-benefit-chips span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
}

body.page-cars .car-results-page .car-feature-row span {
    padding: 6px 8px;
    border: 1px solid #e0e8ef;
    background: #f8fafc;
    color: #435268;
}

body.page-cars .car-results-page .car-feature-row .icon,
body.page-cars .car-results-page .car-benefit-chips .icon {
    width: 13px;
    height: 13px;
}

body.page-cars .car-results-page .car-result-location {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 16px;
    color: #25364d;
    font-size: 13px;
    line-height: 1.4;
}

body.page-cars .car-results-page .car-result-location .icon {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    color: var(--car-results-green);
}

body.page-cars .car-results-page .car-rental-period {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    margin-top: 11px;
    color: #58677a;
    font-size: 12px;
    font-weight: 650;
}

body.page-cars .car-results-page .car-rental-period > span:not(.car-period-arrow) {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    min-width: 0;
}

body.page-cars .car-results-page .car-rental-period .icon {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    margin-top: 1px;
}

body.page-cars .car-results-page .car-period-arrow {
    display: inline-flex;
    color: #8b99a9;
}

body.page-cars .car-results-page .car-benefit-chips {
    margin-top: 14px;
}

body.page-cars .car-results-page .car-benefit-chips span {
    padding: 6px 9px;
    background: var(--car-results-green-soft);
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-result-price-actions {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 23px 18px 20px;
    background: linear-gradient(180deg, #fbfdfc, #f7fbf9);
}

body.page-cars .car-results-page .car-result-price-state {
    display: grid;
    gap: 5px;
    justify-items: end;
    text-align: right;
}

body.page-cars .car-results-page .car-availability-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--car-results-green-dark);
    font-size: 17px;
    font-weight: 820;
}

body.page-cars .car-results-page .car-availability-label i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--car-results-green);
    box-shadow: 0 0 0 4px rgba(21, 148, 71, 0.1);
}

body.page-cars .car-results-page .car-result-price-state small {
    color: var(--car-results-muted);
    font-size: 11px;
    line-height: 1.4;
}

body.page-cars .car-results-page .car-result-price-state strong {
    color: var(--car-results-navy);
    font-size: 20px;
    line-height: 1.2;
}

body.page-cars .car-results-page .car-result-actions {
    display: grid;
    gap: 8px;
    margin: 0;
}

body.page-cars .car-results-page .car-result-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 11px;
    border: 1px solid var(--car-results-green);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 820;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background 190ms ease, border-color 190ms ease, color 190ms ease, transform 190ms ease, box-shadow 190ms ease;
}

body.page-cars .car-results-page .car-result-action .icon {
    width: 14px;
    height: 14px;
}

body.page-cars .car-results-page .car-result-action-secondary {
    background: #fff;
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-result-action-primary {
    background: var(--car-results-green);
    color: #fff;
    box-shadow: 0 7px 15px rgba(21, 148, 71, 0.18);
}

body.page-cars .car-results-page .car-result-action:hover {
    transform: translateY(-1px);
}

body.page-cars .car-results-page .car-result-action-secondary:hover {
    background: var(--car-results-green-soft);
}

body.page-cars .car-results-page .car-result-action-primary:hover {
    border-color: var(--car-results-green-dark);
    background: var(--car-results-green-dark);
    box-shadow: 0 9px 19px rgba(8, 117, 50, 0.23);
}

body.page-cars .car-results-page .car-modify-link:focus-visible,
body.page-cars .car-results-page .car-result-action:focus-visible {
    outline: 3px solid rgba(14, 165, 233, 0.42);
    outline-offset: 3px;
}

body.page-cars .car-results-page .car-consultant-assistance {
    display: grid;
    gap: 18px;
    margin-top: 22px;
    padding: 22px;
    border: 1px solid var(--car-results-border);
    border-radius: 16px;
    background: linear-gradient(145deg, #f9fcff, #f5fbf7);
}

body.page-cars .car-results-page .car-consultant-search-summary {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

body.page-cars .car-results-page .car-consultant-summary-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--car-results-green-soft);
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-consultant-summary-icon .icon {
    width: 20px;
    height: 20px;
}

body.page-cars .car-results-page .car-consultant-search-summary h3,
body.page-cars .car-results-page .car-consultant-form-copy h3 {
    margin: 0 0 7px;
    color: var(--car-results-navy);
    font-size: 18px;
    line-height: 1.3;
}

body.page-cars .car-results-page .car-consultant-search-summary p {
    margin: 3px 0 0;
    color: #435268;
    font-size: 13px;
    line-height: 1.5;
}

body.page-cars .car-results-page .car-consultant-divider {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: #7b8999;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

body.page-cars .car-results-page .car-consultant-divider::before,
body.page-cars .car-results-page .car-consultant-divider::after {
    height: 1px;
    background: #dbe4eb;
    content: "";
}

body.page-cars .car-results-page .car-consultant-divider span {
    display: inline-flex;
    min-width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe4eb;
    border-radius: 50%;
    background: #fff;
}

body.page-cars .car-results-page .car-consultant-form-shell {
    display: grid;
    grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr);
    gap: 24px;
    align-items: start;
}

body.page-cars .car-results-page .car-consultant-form-copy .eyebrow {
    color: var(--car-results-green-dark);
}

body.page-cars .car-results-page .car-consultant-form-copy p {
    margin: 0;
    color: var(--car-results-muted);
    font-size: 13px;
    line-height: 1.55;
}

body.page-cars .car-results-page .car-consultant-form,
body.page-cars .car-results-page .car-consultant-form-grid {
    display: grid;
    gap: 13px;
}

body.page-cars .car-results-page .car-consultant-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-cars .car-results-page .car-consultant-form label {
    display: grid;
    gap: 6px;
    color: #314158;
    font-size: 12px;
    font-weight: 800;
}

body.page-cars .car-results-page .car-consultant-message-field {
    grid-column: 1 / -1;
}

body.page-cars .car-results-page .car-consultant-form input,
body.page-cars .car-results-page .car-consultant-form textarea {
    width: 100%;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #cad7e1;
    border-radius: 10px;
    background: #fff;
    color: #203047;
    font: inherit;
    font-size: 14px;
}

body.page-cars .car-results-page .car-consultant-form textarea {
    min-height: 118px;
    resize: vertical;
}

body.page-cars .car-results-page .car-consultant-form input:focus,
body.page-cars .car-results-page .car-consultant-form textarea:focus {
    border-color: var(--car-results-green);
    outline: 3px solid rgba(21, 148, 71, 0.13);
}

body.page-cars .car-results-page .car-consultant-form-actions {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
}

body.page-cars .car-results-page .car-consultant-form-actions p {
    display: flex;
    max-width: 390px;
    gap: 7px;
    align-items: flex-start;
    margin: 0;
    color: var(--car-results-muted);
    font-size: 11px;
    line-height: 1.45;
}

body.page-cars .car-results-page .car-consultant-form-actions p .icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin-top: 1px;
}

body.page-cars .car-results-page .car-consultant-form-actions button {
    flex: 0 0 auto;
    cursor: pointer;
}

body.page-cars .car-results-page .car-results-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 14px;
}

body.page-cars .car-results-page .car-results-trust-strip > div {
    display: flex;
    min-width: 0;
    gap: 10px;
    align-items: center;
    padding: 0 16px;
    border-right: 1px solid #e9eef3;
}

body.page-cars .car-results-page .car-results-trust-strip > div:first-child {
    padding-left: 0;
}

body.page-cars .car-results-page .car-results-trust-strip > div:last-child {
    padding-right: 0;
    border-right: 0;
}

body.page-cars .car-results-page .car-trust-icon {
    width: 34px;
    height: 34px;
}

body.page-cars .car-results-page .car-trust-icon .icon {
    width: 16px;
    height: 16px;
}

body.page-cars .car-results-page .car-results-trust-strip p {
    display: grid;
    gap: 2px;
    min-width: 0;
    margin: 0;
}

body.page-cars .car-results-page .car-results-trust-strip strong {
    color: #25364d;
    font-size: 12px;
    line-height: 1.25;
}

body.page-cars .car-results-page .car-results-trust-strip small {
    color: var(--car-results-muted);
    font-size: 11px;
    line-height: 1.3;
}

html.travelnet-dark body.page-cars .car-results-page {
    color: #eaf2f8;
}

html.travelnet-dark body.page-cars .car-results-page::before {
    background:
        linear-gradient(90deg, rgba(8, 18, 29, 0.985) 0%, rgba(8, 18, 29, 0.95) 58%, rgba(8, 18, 29, 0.82) 100%),
        url("../images/car-coastal-road-hero.png") center right / cover fixed no-repeat,
        #08121d;
}

html.travelnet-dark body.page-cars .car-results-page .car-prepared-card,
html.travelnet-dark body.page-cars .car-results-page .car-results-panel,
html.travelnet-dark body.page-cars .car-results-page .car-results-trust-strip,
html.travelnet-dark body.page-cars .car-results-page .car-result-card,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-assistance {
    border-color: rgba(148, 180, 202, 0.18);
    background: rgba(14, 29, 42, 0.97);
}

html.travelnet-dark body.page-cars .car-results-page .car-status-chip,
html.travelnet-dark body.page-cars .car-results-page .car-tool-pill {
    border-color: rgba(148, 180, 202, 0.2);
    background: #122638;
    color: #c1d2df;
}

html.travelnet-dark body.page-cars .car-results-page .car-prepared-copy h2,
html.travelnet-dark body.page-cars .car-results-page .car-results-panel-title h2,
html.travelnet-dark body.page-cars .car-results-page .car-result-content h3,
html.travelnet-dark body.page-cars .car-results-page .car-result-price-state strong,
html.travelnet-dark body.page-cars .car-results-page .car-results-trust-strip strong,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-search-summary h3,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form-copy h3 {
    color: #f4f8fb;
}

html.travelnet-dark body.page-cars .car-results-page .car-prepared-copy p,
html.travelnet-dark body.page-cars .car-results-page .car-results-panel-title p,
html.travelnet-dark body.page-cars .car-results-page .car-result-type-note,
html.travelnet-dark body.page-cars .car-results-page .car-result-price-state small,
html.travelnet-dark body.page-cars .car-results-page .car-results-trust-strip small {
    color: #9eb2c2;
}

html.travelnet-dark body.page-cars .car-results-page .car-prepared-facts div,
html.travelnet-dark body.page-cars .car-results-page .car-result-content,
html.travelnet-dark body.page-cars .car-results-page .car-results-trust-strip > div {
    border-color: rgba(148, 180, 202, 0.14);
}

html.travelnet-dark body.page-cars .car-results-page .car-prepared-facts dt,
html.travelnet-dark body.page-cars .car-results-page .car-prepared-facts dd,
html.travelnet-dark body.page-cars .car-results-page .car-result-location,
html.travelnet-dark body.page-cars .car-results-page .car-rental-period {
    color: #b7c8d5;
}

html.travelnet-dark body.page-cars .car-results-page .car-result-media {
    background:
        radial-gradient(circle at 50% 56%, rgba(74, 193, 112, 0.14), transparent 58%),
        linear-gradient(145deg, #122735, #10251b);
}

html.travelnet-dark body.page-cars .car-results-page .car-top-match-badge,
html.travelnet-dark body.page-cars .car-results-page .car-vendor-badge,
html.travelnet-dark body.page-cars .car-results-page .car-feature-row span {
    border-color: rgba(148, 180, 202, 0.17);
    background: #172c3c;
    color: #c9d8e3;
}

html.travelnet-dark body.page-cars .car-results-page .car-result-price-actions {
    background: linear-gradient(180deg, #10231f, #0e1e20);
}

html.travelnet-dark body.page-cars .car-results-page .car-result-action-secondary {
    background: #12291e;
    color: #8ee0a8;
}

html.travelnet-dark body.page-cars .car-results-page .car-consultant-search-summary p,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form-copy p,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form-actions p,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form label {
    color: #b7c8d5;
}

html.travelnet-dark body.page-cars .car-results-page .car-consultant-divider::before,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-divider::after {
    background: rgba(148, 180, 202, 0.2);
}

html.travelnet-dark body.page-cars .car-results-page .car-consultant-divider span,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form input,
html.travelnet-dark body.page-cars .car-results-page .car-consultant-form textarea {
    border-color: rgba(148, 180, 202, 0.26);
    background: #122638;
    color: #eef5f9;
}

@media (max-width: 1050px) {
    body.page-cars .car-results-page .car-prepared-card {
        grid-template-columns: minmax(0, 1fr) minmax(290px, 0.8fr);
        gap: 22px;
    }

    body.page-cars .car-results-page .car-results-panel-header {
        align-items: flex-start;
    }

    body.page-cars .car-results-page .car-result-card {
        grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-result-price-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(170px, 1fr) minmax(360px, auto);
        align-items: center;
        padding: 16px 18px;
        border-top: 1px solid #edf1f5;
    }

    body.page-cars .car-results-page .car-result-price-state {
        justify-items: start;
        text-align: left;
    }

    body.page-cars .car-results-page .car-result-actions {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }
}

@media (max-width: 980px) {
    body.page-cars .car-results-page .car-results-hero-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    body.page-cars .car-results-page .car-modify-link {
        width: fit-content;
    }
}

@media (max-width: 820px) {
    body.page-cars .car-results-page {
        padding: 20px 16px 44px;
    }

    body.page-cars .car-results-page .car-search-hero {
        padding: 26px;
    }

    body.page-cars .car-results-page .car-results-hero-inner,
    body.page-cars .car-results-page .car-prepared-card {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-modify-link {
        width: fit-content;
    }

    body.page-cars .car-results-page .car-results-panel-header {
        flex-direction: column;
    }

    body.page-cars .car-results-page .car-consultant-form-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-results-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px 0;
    }

    body.page-cars .car-results-page .car-results-trust-strip > div:nth-child(2) {
        border-right: 0;
    }

    body.page-cars .car-results-page .car-results-trust-strip > div:nth-child(3) {
        padding-left: 0;
    }
}

@media (max-width: 700px) {
    body.page-cars .car-results-page .car-results-panel {
        padding: 20px 16px;
    }

    body.page-cars .car-results-page .car-results-tools {
        width: 100%;
    }

    body.page-cars .car-results-page .car-tool-pill {
        justify-content: center;
    }

    body.page-cars .car-results-page .car-sort-pill {
        flex: 1 1 auto;
    }

    body.page-cars .car-results-page .car-result-card {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-result-media {
        min-height: 200px;
        padding: 35px 18px 42px;
    }

    body.page-cars .car-results-page .car-result-media img {
        height: 130px;
    }

    body.page-cars .car-results-page .car-result-content {
        padding: 20px 18px;
        border-right: 0;
        border-bottom: 1px solid #edf1f5;
    }

    body.page-cars .car-results-page .car-result-price-actions {
        grid-column: auto;
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-result-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 540px) {
    body.page-cars .car-results-page {
        padding-right: 12px;
        padding-left: 12px;
    }

    body.page-cars .car-results-page .car-search-hero {
        padding: 22px 18px;
    }

    body.page-cars .car-results-page .car-search-hero h1 {
        font-size: 27px;
    }

    body.page-cars .car-results-page .car-results-hero-meta {
        display: grid;
    }

    body.page-cars .car-results-page .car-modify-link,
    body.page-cars .car-results-page .car-status-chip {
        width: 100%;
    }

    body.page-cars .car-results-page .car-status-chip {
        justify-content: flex-start;
    }

    body.page-cars .car-results-page .car-prepared-card {
        padding: 20px 17px;
    }

    body.page-cars .car-results-page .car-consultant-assistance {
        padding: 18px 15px;
    }

    body.page-cars .car-results-page .car-consultant-search-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-consultant-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-consultant-message-field {
        grid-column: auto;
    }

    body.page-cars .car-results-page .car-consultant-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.page-cars .car-results-page .car-consultant-form-actions button {
        width: 100%;
    }

    body.page-cars .car-results-page .car-prepared-copy {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
    }

    body.page-cars .car-results-page .car-prepared-icon {
        width: 40px;
        height: 40px;
    }

    body.page-cars .car-results-page .car-prepared-facts div {
        grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
        gap: 10px;
    }

    body.page-cars .car-results-page .car-rental-period {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-cars .car-results-page .car-period-arrow {
        padding-left: 20px;
        transform: rotate(90deg);
        transform-origin: 27px center;
    }

    body.page-cars .car-results-page .car-results-trust-strip {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    body.page-cars .car-results-page .car-results-trust-strip > div,
    body.page-cars .car-results-page .car-results-trust-strip > div:nth-child(3) {
        padding: 11px 0;
        border-right: 0;
        border-bottom: 1px solid #e9eef3;
    }

    body.page-cars .car-results-page .car-results-trust-strip > div:first-child {
        padding-top: 0;
    }

    body.page-cars .car-results-page .car-results-trust-strip > div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-cars .car-results-page .car-result-card,
    body.page-cars .car-results-page .car-result-action,
    body.page-cars .car-results-page .car-modify-link {
        transition: none;
    }
}

/* Cars now uses the shared Flight/Hotel reassurance strip. Neutralise the
   legacy 72px Cars-only hero gap and match Flight's compact placement. */
body.page-cars .car-modern-hero {
    margin-bottom: 0;
}

body.page-cars .car-modern-hero + .trust-strip {
    margin-top: 18px;
    margin-bottom: 16px;
}

/* Use the same plain disclosure summary as Flight and Hotel advanced search
   options, with an explicit leading solid arrow that remains visible
   after the retired Cars More options marker rules above have been reset. */
body.page-cars .car-advanced-options > summary,
html.travelnet-dark body.page-cars .car-advanced-options > summary {
    position: relative;
    display: block;
    min-height: 24px;
    margin: 0 0 6px;
    padding: 0 0 0 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #8ee68a;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    list-style: none;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    box-shadow: none;
}

body.page-cars .car-advanced-options > summary::-webkit-details-marker,
html.travelnet-dark body.page-cars .car-advanced-options > summary::-webkit-details-marker {
    display: none;
}

body.page-cars .car-advanced-options > summary::before,
html.travelnet-dark body.page-cars .car-advanced-options > summary::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2px;
    width: 0;
    height: 0;
    border-top: 6px solid currentColor;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transform: translateY(-30%);
    transform-origin: 50% 35%;
    transition: transform 180ms ease;
}

body.page-cars .car-advanced-options[open] > summary::before,
html.travelnet-dark body.page-cars .car-advanced-options[open] > summary::before {
    transform: translateY(-30%) rotate(180deg);
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options > summary {
    color: #064f12;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

@media (prefers-reduced-motion: reduce) {
    body.page-cars .car-advanced-options > summary::before,
    html.travelnet-dark body.page-cars .car-advanced-options > summary::before {
        transition: none;
    }
}

/* Match the expanded Cars fields to the readable Flight and Hotel type and
   colour system. Keep the Cars grouping and layout, but remove its older
   muted label palette and unusually heavy custom font weights. */
body.page-cars .car-more-options-content,
body.page-cars .car-more-options-content button,
body.page-cars .car-more-options-content input,
body.page-cars .car-more-options-content select,
body.page-cars .car-more-options-content .select2-container {
    font-family: var(--travelnet-font-sans);
}

html:not(.travelnet-dark) body.page-cars .car-advanced-options[open] > .car-more-options-content {
    border-color: transparent;
    background: transparent;
    color: #13233a;
    box-shadow: none;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .car-option-group {
    border-color: rgba(8, 121, 201, 0.14);
    background: #ffffff;
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .car-option-group h2,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card > .field-label,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .toggle-card {
    color: #13233a;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .car-option-group h2,
html.travelnet-dark body.page-cars .car-more-options-content .car-option-group h2 {
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card,
html.travelnet-dark body.page-cars .car-more-options-content .field-card,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card > .field-label,
html.travelnet-dark body.page-cars .car-more-options-content .field-card > .field-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card input,
html.travelnet-dark body.page-cars .car-more-options-content .field-card input,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card select,
html.travelnet-dark body.page-cars .car-more-options-content .field-card select,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .select2-selection__rendered,
html.travelnet-dark body.page-cars .car-more-options-content .select2-selection__rendered,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .toggle-card,
html.travelnet-dark body.page-cars .car-more-options-content .toggle-card {
    font-size: 14px;
    font-weight: 700;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card > select,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card > .field-control,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .select2-selection--single {
    border-color: rgba(8, 121, 201, 0.18);
    background: #ffffff;
    color: #122239;
}

html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card input,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .field-card select,
html:not(.travelnet-dark) body.page-cars .car-more-options-content .select2-selection__rendered {
    color: #122239;
}

html.travelnet-dark body.page-cars .car-advanced-options[open] > .car-more-options-content {
    border-color: transparent;
    background: transparent;
    color: var(--hotel-dark-text);
    box-shadow: none;
}

html.travelnet-dark body.page-cars .car-more-options-content .car-option-group {
    border-color: var(--hotel-dark-border);
    background: rgba(19, 40, 51, 0.9);
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-more-options-content .car-option-group h2,
html.travelnet-dark body.page-cars .car-more-options-content .field-card,
html.travelnet-dark body.page-cars .car-more-options-content .field-card > .field-label,
html.travelnet-dark body.page-cars .car-more-options-content .toggle-card {
    color: rgba(242, 247, 244, 0.88);
}

html.travelnet-dark body.page-cars .car-more-options-content .field-card > select,
html.travelnet-dark body.page-cars .car-more-options-content .field-card > .field-control,
html.travelnet-dark body.page-cars .car-more-options-content .select2-selection--single {
    border-color: var(--hotel-dark-border);
    background: var(--hotel-dark-control);
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-more-options-content .field-card input,
html.travelnet-dark body.page-cars .car-more-options-content .field-card select,
html.travelnet-dark body.page-cars .car-more-options-content .select2-selection__rendered {
    color: var(--hotel-dark-text);
}

html.travelnet-dark body.page-cars .car-more-options-content .field-card input::placeholder {
    color: rgba(242, 247, 244, 0.46);
    opacity: 1;
}

/* Car searching is available while payment and booking stay disabled. Reuse
   the accessible shared popup at the payment-intent boundary. */
.travelnet-popup-panel.travelnet-popup-panel-car-development {
    width: min(92vw, 540px);
    min-height: 0;
    border-color: rgba(7, 143, 186, 0.24);
    background: linear-gradient(180deg, #ffffff, #f4fbff);
    box-shadow: 0 24px 70px rgba(7, 63, 82, 0.24), 0 0 0 1px rgba(88, 201, 232, 0.08);
}

.travelnet-popup-panel-car-development .travelnet-popup-header {
    border-bottom-color: rgba(7, 143, 186, 0.16);
    background: linear-gradient(90deg, #eafaff, #f5f1ff 62%, #ffffff);
}

.travelnet-popup-panel-car-development .travelnet-popup-header-icon {
    border-color: rgba(7, 143, 186, 0.18);
    background: linear-gradient(145deg, #e8f9ff, #f3efff);
    color: #078fba;
}

.travelnet-popup-panel-car-development .travelnet-popup-title {
    color: #073f52;
}

.travelnet-popup-panel-car-development .travelnet-popup-content {
    background: linear-gradient(180deg, #ffffff, #f4fbff);
}

.travelnet-car-development-message {
    display: grid;
    gap: 14px;
}

.travelnet-car-development-kicker {
    width: max-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(7, 143, 186, 0.10);
    color: #06769a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.travelnet-car-development-message p {
    margin: 0;
    color: #264858;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
}

.travelnet-car-development-ok {
    justify-self: end;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #078fba;
    border-radius: 10px;
    background: linear-gradient(180deg, #13a7d4, #078fba);
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(7, 143, 186, 0.20);
}

.travelnet-car-development-ok:hover,
.travelnet-car-development-ok:focus-visible {
    border-color: #066d8d;
    background: linear-gradient(180deg, #0b96c0, #067ca1);
    outline: 2px solid rgba(88, 201, 232, 0.34);
    outline-offset: 2px;
}

html.travelnet-dark .travelnet-popup-panel:not(.travelnet-popup-panel-validation):not(.travelnet-popup-panel-search-wait).travelnet-popup-panel-car-development {
    border-color: rgba(88, 201, 232, 0.24);
    background: linear-gradient(180deg, #102d3a, #091b25);
    box-shadow: 0 28px 76px rgba(0, 0, 0, 0.54), 0 0 28px rgba(88, 201, 232, 0.10);
}

html.travelnet-dark .travelnet-popup-panel-car-development .travelnet-popup-header {
    border-bottom-color: rgba(88, 201, 232, 0.18);
    background: linear-gradient(90deg, #123747, #1a2d48 64%, #10242f);
}

html.travelnet-dark .travelnet-popup-panel-car-development .travelnet-popup-header-icon {
    border-color: rgba(88, 201, 232, 0.20);
    background: linear-gradient(145deg, #164355, #2a315b);
    color: #6bd4ee;
}

html.travelnet-dark .travelnet-popup-panel-car-development .travelnet-popup-content {
    background: linear-gradient(180deg, #0d2835, #091b25);
}

html.travelnet-dark .travelnet-car-development-kicker {
    background: rgba(88, 201, 232, 0.14);
    color: #8cdef1;
}

html.travelnet-dark .travelnet-car-development-message p {
    color: rgba(235, 248, 252, 0.84);
}
body.page-admin .admin-car-failure-log-content {
    display: grid;
    gap: 18px;
}

body.page-admin .admin-car-failure-log-title {
    display: grid;
    gap: 2px;
}

body.page-admin .admin-car-failure-log-title small {
    color: var(--muted, #64748b);
}

body.page-admin .car-failure-log-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

body.page-admin .car-failure-log-error-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    border: 2px solid #dc2626;
    background: #fff1f2;
    color: #7f1d1d;
    box-shadow: 0 12px 30px rgba(220, 38, 38, 0.16);
}

body.page-admin .car-failure-log-error-banner > span {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: #dc2626;
    color: #fff;
}

body.page-admin .car-failure-log-error-banner strong {
    display: block;
    margin-bottom: 7px;
    font-size: 1.15rem;
}

body.page-admin .car-failure-log-error-banner p {
    margin: 4px 0 0;
    font-weight: 650;
}

body.page-admin .car-failure-log-table-wrap {
    overflow-x: auto;
}

body.page-admin .car-failure-log-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

body.page-admin .car-failure-log-table-wrap th,
body.page-admin .car-failure-log-table-wrap td {
    padding: 10px 12px;
    border: 1px solid rgba(100, 116, 139, 0.24);
    text-align: left;
    white-space: nowrap;
}

body.page-admin .car-failure-log-table-wrap th {
    background: #e0f2fe;
    color: #0c4a6e;
}

body.page-admin .car-failure-log-host-panel {
    border-left: 5px solid #0284c7;
}

body.page-admin .car-failure-log-host-panel p {
    margin: 7px 0 0;
}

body.page-admin .car-failure-log-details {
    padding: 0;
    overflow: hidden;
}

body.page-admin .car-failure-log-details summary {
    padding: 18px 22px;
    cursor: pointer;
    color: #0f172a;
    font-weight: 800;
}

body.page-admin .car-failure-log-xml-details summary span,
body.page-admin .car-failure-log-xml-details summary small {
    display: block;
}

body.page-admin .car-failure-log-xml-details summary small {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 650;
}

body.page-admin .car-failure-log-detail-body {
    padding: 0 22px 22px;
}

body.page-admin .car-failure-log-detail-body .is-warning {
    padding: 10px 12px;
    border-left: 4px solid #f59e0b;
    background: #fffbeb;
    color: #78350f;
}

body.page-admin .car-failure-log-detail-body pre {
    max-height: 560px;
    overflow: auto;
    padding: 16px;
    border-radius: 10px;
    background: #0f172a;
    color: #e2e8f0;
    white-space: pre-wrap;
    word-break: break-word;
}

body.page-admin .car-failure-log-xml {
    min-height: 280px;
    max-height: min(720px, 68vh);
    margin: 0;
    padding: 22px 24px;
    border: 1px solid #cbd5e1;
    border-radius: 0 0 12px 12px;
    background: #f8fafc;
    color: #0f172a;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: clamp(0.9rem, 0.86rem + 0.18vw, 1rem);
    font-weight: 600;
    line-height: 1.78;
    tab-size: 4;
    white-space: pre-wrap;
    word-break: normal;
    overflow-wrap: anywhere;
}

body.page-admin .car-failure-log-xml code {
    font: inherit;
}

body.page-admin .car-failure-log-xml:focus-visible {
    border-color: #2563eb;
    outline: 3px solid rgba(37, 99, 235, 0.2);
    outline-offset: 2px;
}

body.page-admin .car-failure-log-xml-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid #cbd5e1;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #eef2f7;
}

body.page-admin .car-failure-log-xml-toolbar > div:first-child {
    display: grid;
    gap: 3px;
}

body.page-admin .car-failure-log-xml-toolbar strong {
    color: #0f172a;
    font-size: 0.88rem;
}

body.page-admin .car-failure-log-xml-toolbar > div:first-child span {
    color: #475569;
    font-size: 0.76rem;
    font-weight: 650;
}

body.page-admin .car-failure-log-xml-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

body.page-admin .car-failure-log-xml-legend span {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: #fff;
    font-size: 0.7rem;
    font-weight: 850;
}

body.page-admin .car-failure-log-xml-legend .is-tag {
    color: #0759b5;
}

body.page-admin .car-failure-log-xml-legend .is-attribute {
    color: #6d28d9;
}

body.page-admin .car-failure-log-xml-legend .is-value {
    color: #047857;
}

body.page-admin .car-failure-log-xml-legend .is-text {
    color: #334155;
}

body.page-admin .car-failure-log-xml-legend .is-error {
    background: #fee2e2;
    color: #991b1b;
}

body.page-admin .car-xml-punctuation {
    color: #64748b;
    font-weight: 750;
}

body.page-admin .car-xml-tag-name {
    color: #0759b5;
    font-weight: 850;
}

body.page-admin .car-xml-attribute-name {
    color: #6d28d9;
    font-weight: 800;
}

body.page-admin .car-xml-attribute-value {
    color: #047857;
    font-weight: 750;
}

body.page-admin .car-xml-text {
    color: #0f172a;
}

body.page-admin .car-xml-declaration,
body.page-admin .car-xml-comment {
    color: #92400e;
}

body.page-admin .car-xml-cdata {
    color: #0f766e;
}

body.page-admin .car-xml-error-token,
body.page-admin .car-xml-error-text {
    border: 1px solid #fca5a5;
    border-radius: 4px;
    background: #fee2e2;
    color: #991b1b;
    font-weight: 850;
    box-decoration-break: clone;
}

html.travelnet-dark body.page-admin .car-failure-log-error-banner {
    background: #450a0a;
    color: #fecaca;
}

html.travelnet-dark body.page-admin .car-failure-log-table-wrap th {
    background: #0c4a6e;
    color: #e0f2fe;
}

html.travelnet-dark body.page-admin .car-failure-log-xml {
    border-color: #475569;
    background: #0b1220;
    color: #f8fafc;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-details summary small {
    color: #cbd5e1;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-toolbar {
    border-color: #475569;
    background: #182235;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-toolbar strong {
    color: #f8fafc;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-toolbar > div:first-child span {
    color: #cbd5e1;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-legend span {
    background: #0f172a;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-legend .is-tag,
html.travelnet-dark body.page-admin .car-xml-tag-name {
    color: #7dd3fc;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-legend .is-attribute,
html.travelnet-dark body.page-admin .car-xml-attribute-name {
    color: #c4b5fd;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-legend .is-value,
html.travelnet-dark body.page-admin .car-xml-attribute-value,
html.travelnet-dark body.page-admin .car-xml-cdata {
    color: #86efac;
}

html.travelnet-dark body.page-admin .car-failure-log-xml-legend .is-text {
    color: #e2e8f0;
}

html.travelnet-dark body.page-admin .car-xml-punctuation {
    color: #94a3b8;
}

html.travelnet-dark body.page-admin .car-xml-text {
    color: #f8fafc;
}

html.travelnet-dark body.page-admin .car-xml-declaration,
html.travelnet-dark body.page-admin .car-xml-comment {
    color: #fbbf24;
}

html.travelnet-dark body.page-admin .car-xml-error-token,
html.travelnet-dark body.page-admin .car-xml-error-text,
html.travelnet-dark body.page-admin .car-failure-log-xml-legend .is-error {
    border-color: #f87171;
    background: #7f1d1d;
    color: #fecaca;
}

@media (max-width: 760px) {
    body.page-admin .car-failure-log-heading {
        display: grid;
    }

    body.page-admin .car-failure-log-xml-toolbar {
        display: grid;
    }

    body.page-admin .car-failure-log-xml-legend {
        justify-content: flex-start;
    }

    body.page-admin .car-failure-log-xml {
        min-height: 220px;
        padding: 16px;
        font-size: 0.88rem;
        line-height: 1.72;
    }
}

/* Cars review now follows the same review-page hierarchy as Flights and
   Hotels while keeping vehicle-specific itinerary and rate information. */
.car-detail-page.narrow-band {
    max-width: 1280px;
}

.flight-journey-summary-page.car-detail-page::before {
    background:
        linear-gradient(90deg, rgba(248, 253, 249, 0.96) 0%, rgba(248, 253, 249, 0.8) 48%, rgba(248, 253, 249, 0.3) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(245, 252, 247, 0.66) 42%, rgba(240, 249, 243, 0.96) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        #f4fbf6;
}

html.travelnet-dark .flight-journey-summary-page.car-detail-page::before {
    background:
        radial-gradient(circle at 16% 7%, rgba(21, 147, 15, 0.2), transparent 30%),
        radial-gradient(circle at 84% 14%, rgba(8, 121, 201, 0.14), transparent 30%),
        linear-gradient(90deg, rgba(4, 12, 18, 0.96) 0%, rgba(8, 20, 25, 0.88) 48%, rgba(7, 22, 18, 0.62) 100%),
        var(--car-dark-hero-image) center / cover no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 45%, #07100f 100%);
}

.car-detail-page .car-review-card {
    padding-bottom: 22px;
}

.car-detail-page .car-review-selection {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin: 0 20px 18px;
    padding: 20px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(23, 42, 64, 0.06);
}

.car-detail-page .car-review-vehicle-image {
    position: relative;
    display: grid;
    min-height: 180px;
    place-items: center;
    padding: 20px;
    overflow: hidden;
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 60%, rgba(8, 121, 201, 0.11), transparent 60%),
        linear-gradient(145deg, #f4faff, #f2faf4);
}

.car-detail-page .car-review-vehicle-image img {
    display: block;
    width: 100%;
    max-width: 235px;
    height: 145px;
    object-fit: contain;
    filter: drop-shadow(0 13px 16px rgba(15, 39, 64, 0.16));
}

.car-detail-page .car-review-image-note {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    border: 1px solid rgba(8, 121, 201, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #075d9a;
    font-size: 10px;
    font-weight: 850;
}

.car-detail-page .car-review-selection-copy {
    min-width: 0;
}

.car-detail-page .car-review-selection-copy .content-eyebrow {
    color: var(--green);
    font-size: 10px;
    letter-spacing: 0.12em;
}

.car-detail-page .car-review-selection-copy h2 {
    margin: 5px 0 5px;
    color: #172635;
    font-size: clamp(22px, 2.3vw, 30px);
    line-height: 1.15;
}

.car-detail-page .car-review-selection-copy > p {
    margin: 0;
    color: #647184;
    font-size: 13px;
    font-weight: 750;
}

.car-detail-page .car-review-feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 16px;
}

.car-detail-page .car-review-feature-list span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid rgba(8, 121, 201, 0.14);
    border-radius: 999px;
    background: #f5faff;
    color: #3f5369;
    font-size: 11px;
    font-weight: 800;
}

.car-detail-page .car-review-feature-list .icon {
    width: 14px;
    height: 14px;
    color: var(--green);
}

.car-detail-page .car-review-itinerary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0 20px 18px;
}

.car-detail-page .car-review-itinerary-stop {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    min-height: 118px;
    padding: 16px;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #f8fcff);
}

.car-detail-page .car-review-itinerary-icon,
.car-detail-page .car-review-section-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(21, 147, 15, 0.1);
    color: var(--green);
}

.car-detail-page .car-review-itinerary-icon .icon,
.car-detail-page .car-review-section-icon .icon {
    width: 18px;
    height: 18px;
}

.car-detail-page .car-review-itinerary-stop div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.car-detail-page .car-review-itinerary-stop small,
.car-detail-page .car-review-rate-grid dt,
.car-detail-page .car-review-information-grid span,
.car-detail-page .car-review-side-facts b {
    color: #68788c;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.car-detail-page .car-review-itinerary-stop strong {
    color: #24364b;
    font-size: 14px;
    line-height: 1.3;
}

.car-detail-page .car-review-itinerary-stop span,
.car-detail-page .car-review-itinerary-stop p {
    color: #647184;
    font-size: 12px;
    line-height: 1.4;
}

.car-detail-page .car-review-itinerary-stop p {
    margin: 2px 0 0;
}

.car-detail-page .car-review-itinerary-arrow {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #44bf31, var(--green));
    color: #fff;
    box-shadow: 0 8px 18px rgba(21, 147, 15, 0.2);
}

.car-detail-page .car-review-itinerary-arrow .icon {
    width: 17px;
    height: 17px;
}

.car-detail-page .car-review-rate-panel {
    margin: 0 20px 18px;
    overflow: hidden;
    border: 1px solid rgba(214, 225, 238, 0.78);
    border-radius: 16px;
    background: #fff;
}

.car-detail-page .car-review-section-heading {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(214, 225, 238, 0.72);
    background: linear-gradient(90deg, rgba(233, 248, 231, 0.72), rgba(244, 250, 255, 0.92));
}

.car-detail-page .car-review-section-heading .content-eyebrow {
    color: var(--green);
    font-size: 9px;
}

.car-detail-page .car-review-section-heading h2 {
    margin: 2px 0 0;
    color: #25384d;
    font-size: 17px;
}

.car-detail-page .car-review-rate-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.car-detail-page .car-review-rate-grid div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 15px 16px;
    border-right: 1px solid rgba(214, 225, 238, 0.65);
    border-bottom: 1px solid rgba(214, 225, 238, 0.65);
}

.car-detail-page .car-review-rate-grid div:nth-child(3n) {
    border-right: 0;
}

.car-detail-page .car-review-rate-grid div:nth-last-child(-n + 3) {
    border-bottom: 0;
}

.car-detail-page .car-review-rate-grid dd {
    min-width: 0;
    margin: 0;
    color: #31455b;
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.car-detail-page .car-review-rate-grid .car-review-rate-price {
    color: var(--green-dark);
    font-size: 17px;
}

.car-detail-page .car-review-information-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 20px 18px;
}

.car-detail-page .car-review-information-grid section {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(214, 225, 238, 0.7);
    border-radius: 13px;
    background: #f9fcff;
}

.car-detail-page .car-review-information-grid section > .icon {
    width: 18px;
    height: 18px;
    color: var(--green);
}

.car-detail-page .car-review-information-grid section div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.car-detail-page .car-review-information-grid strong {
    color: #3b4f65;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.car-detail-page .car-review-safety-note {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    margin: 0 20px;
    padding: 14px 16px;
    border: 1px solid rgba(21, 147, 15, 0.2);
    border-radius: 13px;
    background: linear-gradient(135deg, #f0fbef, #f5faff);
}

.car-detail-page .car-review-safety-note > .icon {
    width: 22px;
    height: 22px;
    color: var(--green);
}

.car-detail-page .car-review-safety-note strong {
    color: #1e5130;
    font-size: 13px;
}

.car-detail-page .car-review-safety-note p {
    margin: 3px 0 0;
    color: #597064;
    font-size: 12px;
    line-height: 1.45;
}

.car-detail-page .car-review-side-facts {
    display: grid;
    padding: 0 16px 14px;
}

.car-detail-page .car-review-side-facts span {
    display: grid;
    gap: 3px;
    padding: 10px 0;
    border-top: 1px dashed rgba(214, 225, 238, 0.82);
    color: #455b72;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.car-detail-page .flight-review-call-card > .icon {
    width: 24px;
    height: 24px;
    margin-bottom: 5px;
    color: var(--green);
}

html.travelnet-dark .car-detail-page .car-review-selection,
html.travelnet-dark .car-detail-page .car-review-itinerary-stop,
html.travelnet-dark .car-detail-page .car-review-rate-panel,
html.travelnet-dark .car-detail-page .car-review-information-grid section,
html.travelnet-dark .car-detail-page .car-review-safety-note {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(4, 12, 18, 0.58);
}

html.travelnet-dark .car-detail-page .car-review-vehicle-image {
    background:
        radial-gradient(circle at 50% 60%, rgba(8, 121, 201, 0.18), transparent 60%),
        linear-gradient(145deg, #0b171f, #102019);
}

html.travelnet-dark .car-detail-page .car-review-image-note,
html.travelnet-dark .car-detail-page .car-review-feature-list span {
    border-color: rgba(164, 221, 176, 0.16);
    background: rgba(7, 20, 27, 0.88);
    color: #dff9e0;
}

html.travelnet-dark .car-detail-page .car-review-selection-copy h2,
html.travelnet-dark .car-detail-page .car-review-itinerary-stop strong,
html.travelnet-dark .car-detail-page .car-review-section-heading h2,
html.travelnet-dark .car-detail-page .car-review-rate-grid dd,
html.travelnet-dark .car-detail-page .car-review-information-grid strong,
html.travelnet-dark .car-detail-page .car-review-safety-note strong,
html.travelnet-dark .car-detail-page .car-review-side-facts span {
    color: #f2f7f4;
}

html.travelnet-dark .car-detail-page .car-review-selection-copy > p,
html.travelnet-dark .car-detail-page .car-review-itinerary-stop span,
html.travelnet-dark .car-detail-page .car-review-itinerary-stop p,
html.travelnet-dark .car-detail-page .car-review-rate-grid dt,
html.travelnet-dark .car-detail-page .car-review-information-grid span,
html.travelnet-dark .car-detail-page .car-review-safety-note p,
html.travelnet-dark .car-detail-page .car-review-side-facts b {
    color: rgba(223, 249, 224, 0.67);
}

html.travelnet-dark .car-detail-page .car-review-section-heading {
    border-color: rgba(164, 221, 176, 0.14);
    background: linear-gradient(90deg, rgba(21, 147, 15, 0.14), rgba(8, 121, 201, 0.08));
}

html.travelnet-dark .car-detail-page .car-review-rate-grid div,
html.travelnet-dark .car-detail-page .car-review-side-facts span {
    border-color: rgba(164, 221, 176, 0.12);
}

html.travelnet-dark .car-detail-page .car-review-rate-grid .car-review-rate-price {
    color: #8ee68a;
}

@media (max-width: 800px) {
    .car-detail-page .car-review-selection {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-detail-page .car-review-itinerary {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-detail-page .car-review-itinerary-arrow {
        margin: -2px auto;
        transform: rotate(90deg);
    }

    .car-detail-page .car-review-rate-grid,
    .car-detail-page .car-review-information-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-detail-page .car-review-rate-grid div:nth-child(3n),
    .car-detail-page .car-review-rate-grid div:nth-last-child(-n + 3) {
        border-right: 1px solid rgba(214, 225, 238, 0.65);
        border-bottom: 1px solid rgba(214, 225, 238, 0.65);
    }

    .car-detail-page .car-review-rate-grid div:nth-child(2n) {
        border-right: 0;
    }

    .car-detail-page .car-review-rate-grid div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 560px) {
    .car-detail-page .car-review-selection,
    .car-detail-page .car-review-itinerary,
    .car-detail-page .car-review-rate-panel,
    .car-detail-page .car-review-information-grid,
    .car-detail-page .car-review-safety-note {
        margin-right: 10px;
        margin-left: 10px;
    }

    .car-detail-page .car-review-selection {
        gap: 16px;
        padding: 14px;
    }

    .car-detail-page .car-review-vehicle-image {
        min-height: 160px;
    }

    .car-detail-page .car-review-rate-grid,
    .car-detail-page .car-review-information-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-detail-page .car-review-rate-grid div,
    .car-detail-page .car-review-rate-grid div:nth-child(2n),
    .car-detail-page .car-review-rate-grid div:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid rgba(214, 225, 238, 0.65);
    }

    .car-detail-page .car-review-rate-grid div:last-child {
        border-bottom: 0;
    }
}

/* Cars checkout parity: use the same dimensions, colour hierarchy and
   responsive behaviour as the Flight and Hotel booking families. */
.car-booking-details-page.narrow-band {
    max-width: 1280px;
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.car-booking-details-page.car-driver-details-page::before,
.flight-journey-summary-page.car-booking-details-page::before {
    top: -22px;
    bottom: -54px;
    background:
        linear-gradient(90deg, rgba(248, 253, 249, 0.96) 0%, rgba(248, 253, 249, 0.8) 48%, rgba(248, 253, 249, 0.3) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(245, 252, 247, 0.66) 42%, rgba(240, 249, 243, 0.96) 100%),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat,
        #f4fbf6;
}

.car-booking-details-page .flight-review-shell {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 24px;
}

.car-booking-details-page .flight-review-main h1 {
    margin: 0 0 14px;
    font-size: 27px;
    line-height: 1.2;
}

.car-booking-details-page .car-booking-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 205px);
    gap: 26px;
    margin-bottom: 18px;
    padding: 20px;
    border-color: rgba(21, 147, 15, 0.18);
    border-radius: 20px;
    background:
        radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(90deg, rgba(13, 127, 120, 0.96), rgba(21, 147, 15, 0.9)),
        url("../images/car-coastal-road-hero.png") center / cover no-repeat;
    box-shadow: 0 22px 54px rgba(15, 118, 110, 0.2);
}

.car-booking-details-page .car-booking-hero .flight-review-hero-copy {
    max-width: none;
}

.car-booking-details-page .car-booking-card {
    display: grid;
    gap: 14px;
    padding: 0 20px 22px;
}

.car-booking-details-page .flight-review-steps {
    width: 100%;
    max-width: 860px;
    margin: 24px auto 26px;
    padding: 0 18px;
    gap: 1px;
}

.car-booking-details-page .car-booking-card .flight-review-steps {
    margin-bottom: 0;
}

.car-booking-details-page .selected-summary {
    margin-bottom: 0;
    padding: 16px 18px;
    border-color: rgba(214, 225, 238, 0.86);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(240, 251, 255, 0.78)),
        #fff;
    box-shadow: 0 12px 28px rgba(23, 42, 64, 0.07);
}

.car-booking-details-page .car-driver-form .booking-form-panel {
    gap: 12px;
    padding: 16px 18px 18px;
    border-color: rgba(214, 225, 238, 0.82);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.9)),
        #fff;
    box-shadow: 0 8px 22px rgba(23, 42, 64, 0.06);
}

.car-booking-details-page .car-section-strip {
    margin: 0;
    padding: 0 0 8px;
    border-bottom: 1px dashed rgba(184, 199, 214, 0.85);
    background: transparent;
}

.car-booking-details-page .car-section-strip h2 {
    font-size: 18px;
}

.car-booking-details-page .car-section-strip > span {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
}

.car-booking-details-page .car-driver-form .field-card {
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #536579;
    font-size: 12px;
    font-weight: 800;
}

.car-booking-details-page .car-driver-form .field-card input,
.car-booking-details-page .car-driver-form .field-card select {
    min-height: 38px;
    padding: 0 10px;
    border-color: rgba(214, 225, 238, 0.92);
    border-radius: 9px;
    background: #fff;
    color: #25364a;
    font-size: 13px;
    font-weight: 700;
    box-shadow: inset 0 1px 2px rgba(23, 42, 64, 0.04);
}

.car-booking-details-page .car-driver-form .field-card input:focus,
.car-booking-details-page .car-driver-form .field-card select:focus {
    border-color: rgba(21, 147, 15, 0.45);
    outline: 3px solid rgba(21, 147, 15, 0.1);
}

.car-booking-details-page .flight-payment-card,
.car-booking-details-page .flight-confirmation-card {
    gap: 18px;
    padding: 0 22px 24px;
}

.car-booking-details-page .flight-review-actions .ghost-button,
.car-booking-details-page .flight-review-actions .primary-cta {
    min-height: 44px;
}

html.travelnet-dark .car-booking-details-page.car-driver-details-page::before,
html.travelnet-dark .flight-journey-summary-page.car-booking-details-page::before {
    background:
        radial-gradient(circle at 16% 7%, rgba(21, 147, 15, 0.2), transparent 30%),
        radial-gradient(circle at 84% 14%, rgba(8, 121, 201, 0.14), transparent 30%),
        linear-gradient(90deg, rgba(4, 12, 18, 0.96) 0%, rgba(8, 20, 25, 0.88) 48%, rgba(7, 22, 18, 0.62) 100%),
        var(--car-dark-hero-image) center / cover no-repeat,
        linear-gradient(180deg, #061018 0%, #0a141b 45%, #07100f 100%);
}

html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .booking-form-panel,
html.travelnet-dark body.page-cars .car-booking-details-page .selected-summary {
    border-color: rgba(164, 221, 176, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
        rgba(4, 12, 18, 0.72);
}

html.travelnet-dark body.page-cars .car-booking-details-page .car-section-strip {
    border-color: rgba(164, 221, 176, 0.14);
    background: transparent;
}

@media (max-width: 980px) {
    .car-booking-details-page .flight-review-shell {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .car-booking-details-page .flight-review-side {
        position: static;
        top: auto;
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    .car-booking-details-page.narrow-band {
        width: calc(100vw - 20px);
        margin-right: calc(50% - 50vw + 10px);
        margin-left: calc(50% - 50vw + 10px);
        padding-top: 14px;
    }

    .car-booking-details-page .car-booking-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        padding: 18px;
    }

    .car-booking-details-page .flight-review-hero h2 {
        overflow: visible;
        font-size: clamp(24px, 7vw, 32px);
        white-space: normal;
    }

    .car-booking-details-page .flight-review-hero-price {
        padding: 14px;
    }

    .car-booking-details-page .car-booking-card,
    .car-booking-details-page .flight-payment-card,
    .car-booking-details-page .flight-confirmation-card {
        padding-right: 14px;
        padding-left: 14px;
    }

    .car-booking-details-page .flight-review-actions .ghost-button,
    .car-booking-details-page .flight-review-actions .primary-cta {
        width: 100%;
    }
}

/* Supplier charge notes are returned as a compact colon-delimited record.
   Present recognized records as customer-readable facts on the car review. */
.car-detail-page .car-review-information-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.car-detail-page .car-review-important-notes {
    grid-column: 1 / -1;
}

.car-detail-page .car-review-note-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
    margin: 10px 0 0;
}

.car-detail-page .car-review-note-grid div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(214, 225, 238, 0.72);
    border-radius: 9px;
    background: #fff;
}

.car-detail-page .car-review-note-grid dt,
.car-detail-page .car-review-note-grid dd {
    margin: 0;
}

.car-detail-page .car-review-note-grid dt {
    color: #68788c;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.car-detail-page .car-review-note-grid dd {
    color: #31455b;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

html.travelnet-dark .car-detail-page .car-review-note-grid div {
    border-color: rgba(164, 221, 176, 0.14);
    background: rgba(4, 12, 18, 0.52);
}

html.travelnet-dark .car-detail-page .car-review-note-grid dt {
    color: rgba(223, 249, 224, 0.62);
}

html.travelnet-dark .car-detail-page .car-review-note-grid dd {
    color: #f2f7f4;
}

@media (max-width: 560px) {
    .car-detail-page .car-review-information-grid,
    .car-detail-page .car-review-note-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Cars dark forms use one control palette across Search, Advanced Options,
   Driver Details, Payment, and Confirmation. This final scoped layer avoids
   the mixed Flight, Hotel, and older Cars surfaces in the cascade. */
html.travelnet-dark body.page-cars {
    --car-dark-form-panel: #0e1d26;
    --car-dark-form-panel-raised: #11232d;
    --car-dark-form-control: #142a36;
    --car-dark-form-control-hover: #183340;
    --car-dark-form-border: rgba(148, 184, 201, 0.28);
    --car-dark-form-border-strong: rgba(125, 211, 252, 0.58);
    --car-dark-form-text: #f4f8fa;
    --car-dark-form-muted: #afc0ca;
    --car-dark-form-accent: #8ee68a;
    --car-dark-form-sky: #7dd3fc;
}

html.travelnet-dark body.page-cars .search-card-car .car-primary-grid .field-card > .field-label,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card > .field-label,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card {
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .search-card-car .car-primary-grid .field-card > .field-control,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card > .field-control,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card > select,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .select2-selection--single,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card input,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card select {
    border-color: var(--car-dark-form-border);
    background: var(--car-dark-form-control);
    color: var(--car-dark-form-text);
    color-scheme: dark;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 20px rgba(0, 0, 0, 0.14);
}

html.travelnet-dark body.page-cars .search-card-car .field-control input,
html.travelnet-dark body.page-cars .search-card-car .field-control select,
html.travelnet-dark body.page-cars .search-card-car .select2-selection__rendered,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card input,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card select {
    color: var(--car-dark-form-text);
    -webkit-text-fill-color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .search-card-car .field-control input::placeholder,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card input::placeholder {
    color: var(--car-dark-form-muted);
    opacity: 0.72;
    -webkit-text-fill-color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .search-card-car .field-control .icon,
html.travelnet-dark body.page-cars .search-card-car .select2-selection__arrow b {
    color: var(--car-dark-form-sky);
}

html.travelnet-dark body.page-cars .search-card-car .select2-selection__arrow b {
    border-color: var(--car-dark-form-sky) transparent transparent;
}

html.travelnet-dark body.page-cars .search-card-car .select2-container--open .select2-selection__arrow b {
    border-color: transparent transparent var(--car-dark-form-sky);
}

html.travelnet-dark body.page-cars .search-card-car option,
html.travelnet-dark body.page-cars .car-booking-details-page option {
    background: var(--car-dark-form-control);
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .search-card-car .car-primary-grid .field-card > .field-control:focus-within,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card > .field-control:focus-within,
html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .field-card:focus-within > select,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card input:focus,
html.travelnet-dark body.page-cars .car-booking-details-page .car-driver-form .field-card select:focus {
    border-color: var(--car-dark-form-border-strong);
    background: var(--car-dark-form-control-hover);
    outline: 3px solid rgba(56, 189, 248, 0.16);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 1px rgba(56, 189, 248, 0.08);
}

html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .car-option-group,
html.travelnet-dark body.page-cars .search-card-car .car-toggles,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-review-card,
html.travelnet-dark body.page-cars .car-booking-details-page .booking-form-panel,
html.travelnet-dark body.page-cars .car-booking-details-page .selected-summary,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-payment-panel,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-confirmation-next,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-confirmation-reference-card,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-review-price-panel,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-review-call-card {
    border-color: var(--car-dark-form-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
        var(--car-dark-form-panel);
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .car-option-group h2,
html.travelnet-dark body.page-cars .car-booking-details-page .booking-form-panel-heading h2,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-payment-panel-heading h2,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-confirmation-next h2,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-confirmation-reference-card strong {
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .toggle-card,
html.travelnet-dark body.page-cars .search-card-car .car-toggles .toggle-card,
html.travelnet-dark body.page-cars .car-booking-details-page .hotel-guest-hint-row,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-payment-safe-note,
html.travelnet-dark body.page-cars .car-booking-details-page .flight-confirmation-next p {
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .search-card-car .car-more-options-content .toggle-card,
html.travelnet-dark body.page-cars .search-card-car .car-toggles .toggle-card {
    border-color: var(--car-dark-form-border);
    background: var(--car-dark-form-panel-raised);
}

html.travelnet-dark body.page-cars .select2-container--default .select2-dropdown,
html.travelnet-dark body.page-cars .select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: var(--car-dark-form-border);
    background: var(--car-dark-form-panel-raised);
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .select2-container--default .select2-results__option {
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(56, 189, 248, 0.14);
    color: var(--car-dark-form-sky);
}

html.travelnet-dark body.page-cars .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #0879c9;
    color: #fff;
}

html.travelnet-dark body.page-cars .search-card-car input:-webkit-autofill,
html.travelnet-dark body.page-cars .car-booking-details-page input:-webkit-autofill {
    box-shadow: 0 0 0 1000px var(--car-dark-form-control) inset;
    -webkit-text-fill-color: var(--car-dark-form-text);
    caret-color: var(--car-dark-form-text);
}

/* Keep the active Cars picker above neighbouring form sections. The main
   panel's small alignment transform creates a stacking context, so a large
   z-index on its nested location list cannot overtake the later Advanced
   Options sibling unless the owning section is raised as well. */
body.page-cars .search-card-car > .car-form-panel,
body.page-cars .search-card-car > .car-advanced-options {
    position: relative;
    z-index: 1;
}

body.page-cars .search-card-car > .car-form-panel:not(.is-select2-open):focus-within,
body.page-cars .search-card-car > .car-advanced-options:focus-within {
    z-index: 360;
}

/* This open-state selector must remain after the base sibling layer above.
   It restores the higher Select2 ancestor context for Vendor, Pick-up Time,
   Return Time, and the dropdowns inside Advanced Options. */
body.page-cars .search-card-car > .car-form-panel.is-select2-open {
    z-index: 400;
}

/* Driver Details readability pass. Keep every legacy field contract while
   presenting progress, rental context, required fields, and form groups in a
   calmer order that can be scanned before any future booking step. */
.car-driver-details-page .car-driver-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
    margin: 20px 0 4px;
    padding: 0;
    overflow: visible;
}

.car-driver-details-page .car-driver-progress .flight-review-step {
    justify-content: flex-start;
    min-width: 0;
    min-height: 58px;
    padding: 9px 12px;
    border: 1px solid rgba(184, 199, 214, 0.76);
    border-radius: 11px;
    background: #f7fafc;
    color: #536579;
    clip-path: none;
    text-align: left;
}

.car-driver-details-page .car-driver-progress .flight-review-step.is-complete {
    border-color: rgba(21, 147, 15, 0.25);
    background: #f1faf2;
    color: #16651f;
}

.car-driver-details-page .car-driver-progress .flight-review-step.is-current {
    border-color: rgba(8, 121, 201, 0.36);
    background: #eef8ff;
    color: #075d9b;
    box-shadow: 0 10px 22px rgba(8, 121, 201, 0.12);
}

.car-driver-details-page .car-driver-progress .flight-review-step b {
    width: 28px;
    height: 28px;
    margin-right: 9px;
    background: rgba(83, 101, 121, 0.13);
    color: #536579;
}

.car-driver-details-page .car-driver-progress .flight-review-step.is-complete b {
    background: #15930f;
    color: #fff;
}

.car-driver-details-page .car-driver-progress .flight-review-step.is-current b {
    background: #0879c9;
    color: #fff;
}

.car-driver-details-page .car-progress-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.car-driver-details-page .car-progress-copy strong {
    color: inherit;
    font-size: 13px;
    line-height: 1.15;
}

.car-driver-details-page .car-progress-copy small {
    color: inherit;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.15;
    opacity: 0.72;
}

.car-driver-details-page .car-driver-trip-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.car-driver-details-page .car-driver-trip-summary > div {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    padding: 14px 16px;
    border-right: 1px solid rgba(184, 199, 214, 0.64);
}

.car-driver-details-page .car-driver-trip-summary > div:last-child {
    border-right: 0;
}

.car-driver-details-page .car-driver-trip-summary span {
    color: #65768a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.car-driver-details-page .car-driver-trip-summary strong {
    overflow-wrap: anywhere;
    color: #203447;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.35;
}

.car-driver-details-page .car-driver-form-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 2px 2px;
}

.car-driver-details-page .car-driver-form-intro h2 {
    margin: 5px 0 4px;
    color: #203447;
    font-size: 21px;
    line-height: 1.2;
}

.car-driver-details-page .car-driver-form-intro p {
    max-width: 680px;
    margin: 0;
    color: #65768a;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
}

.car-driver-details-page .car-required-key {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(223, 48, 45, 0.2);
    border-radius: 999px;
    background: rgba(255, 68, 63, 0.06);
    color: #8d3532;
    font-size: 11px;
    font-weight: 850;
}

.car-driver-details-page .car-required-key b,
.car-driver-details-page .car-field-name > b {
    color: #d73631;
    font-size: 15px;
    line-height: 1;
}

.car-driver-details-page .car-driver-dev-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px dashed rgba(121, 84, 194, 0.3);
    border-radius: 12px;
    background: rgba(121, 84, 194, 0.055);
}

.car-driver-details-page .car-driver-dev-tools > div {
    display: grid;
    gap: 2px;
}

.car-driver-details-page .car-driver-dev-tools strong {
    color: #4e3780;
    font-size: 12px;
}

.car-driver-details-page .car-driver-dev-tools span {
    color: #6b6680;
    font-size: 11px;
    font-weight: 650;
}

.car-driver-details-page .car-driver-dev-tools .member-dev-autofill-button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 7px 12px;
    border-color: rgba(121, 84, 194, 0.28);
    color: #573b8e;
    font-size: 11px;
}

.car-driver-details-page .car-driver-hint-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
}

.car-driver-details-page .car-driver-hint-row > span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(184, 199, 214, 0.56);
    border-radius: 10px;
    background: rgba(247, 251, 255, 0.78);
    color: #65768a;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.4;
}

.car-driver-details-page .car-driver-hint-row b {
    color: #29445b;
    font-size: 11px;
    font-weight: 850;
}

.car-driver-details-page .car-driver-form .booking-form-panel {
    gap: 18px;
    padding: 20px;
}

.car-driver-details-page .car-driver-form .car-section-strip {
    padding-bottom: 12px;
}

.car-driver-details-page .car-driver-form .field-card > .car-field-name {
    display: flex;
    align-items: baseline;
    gap: 4px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #43586d;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.3;
    box-shadow: none;
}

.car-driver-details-page .car-driver-form .field-card > .car-field-name small {
    color: #7a8999;
    font-size: 10px;
    font-weight: 700;
}

.car-driver-details-page .car-driver-form .field-card input,
.car-driver-details-page .car-driver-form .field-card select,
.car-driver-details-page .car-driver-form .field-card textarea {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(184, 199, 214, 0.82);
    border-radius: 9px;
    background: #fff;
    color: #203447;
    font-size: 14px;
    font-weight: 650;
}

.car-driver-details-page .car-driver-form .field-card textarea {
    min-height: 86px;
    padding-top: 11px;
    padding-bottom: 11px;
    line-height: 1.45;
    resize: vertical;
}

.car-driver-details-page .car-driver-form .field-card input:focus,
.car-driver-details-page .car-driver-form .field-card select:focus,
.car-driver-details-page .car-driver-form .field-card textarea:focus {
    border-color: rgba(8, 121, 201, 0.52);
    outline: 3px solid rgba(8, 121, 201, 0.1);
}

.car-driver-details-page .car-driver-grid,
.car-driver-details-page .car-licence-grid,
.car-driver-details-page .car-booked-by-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.car-driver-details-page .car-driver-grid .field-card,
.car-driver-details-page .car-licence-grid .field-card,
.car-driver-details-page .car-booked-by-grid .field-card {
    grid-column: span 4;
}

.car-driver-details-page .car-driver-grid .car-driver-title-field,
.car-driver-details-page .car-booked-by-grid .car-booker-title-field {
    grid-column: span 2;
}

.car-driver-details-page .car-driver-grid .car-driver-first-name-field,
.car-driver-details-page .car-driver-grid .car-driver-surname-field,
.car-driver-details-page .car-booked-by-grid .car-booker-first-name-field,
.car-driver-details-page .car-booked-by-grid .car-booker-surname-field {
    grid-column: span 5;
}

.car-driver-details-page .car-driver-grid .car-driver-id-field,
.car-driver-details-page .car-driver-grid .car-driver-dob-field,
.car-driver-details-page .car-driver-grid .car-driver-email-field,
.car-driver-details-page .car-driver-grid .car-driver-phone-field,
.car-driver-details-page .car-booked-by-grid .car-booker-email-field {
    grid-column: span 6;
}

.car-driver-details-page .car-booked-by-grid .car-booker-work-field,
.car-driver-details-page .car-booked-by-grid .car-booker-cell-field {
    grid-column: span 3;
}

.car-driver-details-page .car-booked-by-grid .car-notes-field {
    grid-column: 1 / -1;
}

.car-driver-details-page .booking-date-selects {
    grid-template-columns: minmax(74px, 0.7fr) minmax(130px, 1.3fr) minmax(92px, 0.9fr);
    gap: 8px;
}

.car-driver-details-page .hotel-booking-actions > small {
    color: #65768a;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-progress .flight-review-step {
    border-color: var(--car-dark-form-border);
    background: var(--car-dark-form-panel-raised);
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-progress .flight-review-step.is-complete {
    border-color: rgba(142, 230, 138, 0.32);
    background: rgba(21, 147, 15, 0.13);
    color: #b9f3b6;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-progress .flight-review-step.is-current {
    border-color: var(--car-dark-form-border-strong);
    background: rgba(8, 121, 201, 0.18);
    color: #b9e7ff;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-trip-summary > div {
    border-color: var(--car-dark-form-border);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-trip-summary span,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form-intro p,
html.travelnet-dark body.page-cars .car-driver-details-page .hotel-booking-actions > small {
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-trip-summary strong,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form-intro h2,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-hint-row b {
    color: var(--car-dark-form-text);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-required-key {
    border-color: rgba(255, 116, 112, 0.3);
    background: rgba(255, 68, 63, 0.09);
    color: #ffc3c1;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-dev-tools {
    border-color: rgba(185, 153, 255, 0.34);
    background: rgba(121, 84, 194, 0.12);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-dev-tools strong,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-dev-tools .member-dev-autofill-button {
    color: #d5c2ff;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-dev-tools span {
    color: #b9accf;
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-hint-row > span {
    border-color: var(--car-dark-form-border);
    background: rgba(255, 255, 255, 0.025);
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form .field-card > .car-field-name {
    color: var(--car-dark-form-muted);
}

html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form .field-card input,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form .field-card select,
html.travelnet-dark body.page-cars .car-driver-details-page .car-driver-form .field-card textarea {
    border-color: var(--car-dark-form-border);
    background: var(--car-dark-form-control);
    color: var(--car-dark-form-text);
    color-scheme: dark;
}

@media (max-width: 760px) {
    .car-driver-details-page .car-driver-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-driver-details-page .car-driver-trip-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-driver-details-page .car-driver-trip-summary > div {
        border-right: 0;
        border-bottom: 1px solid rgba(184, 199, 214, 0.64);
    }

    .car-driver-details-page .car-driver-trip-summary > div:last-child {
        border-bottom: 0;
    }

    .car-driver-details-page .car-driver-form-intro,
    .car-driver-details-page .car-driver-dev-tools {
        align-items: flex-start;
        flex-direction: column;
    }

    .car-driver-details-page .car-driver-hint-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-driver-details-page .car-driver-grid .field-card,
    .car-driver-details-page .car-licence-grid .field-card,
    .car-driver-details-page .car-booked-by-grid .field-card,
    .car-driver-details-page .car-driver-grid .car-driver-title-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-title-field,
    .car-driver-details-page .car-driver-grid .car-driver-first-name-field,
    .car-driver-details-page .car-driver-grid .car-driver-surname-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-first-name-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-surname-field,
    .car-driver-details-page .car-driver-grid .car-driver-id-field,
    .car-driver-details-page .car-driver-grid .car-driver-dob-field,
    .car-driver-details-page .car-driver-grid .car-driver-email-field,
    .car-driver-details-page .car-driver-grid .car-driver-phone-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-email-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-work-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-cell-field {
        grid-column: span 6;
    }
}

@media (max-width: 560px) {
    .car-driver-details-page .car-driver-progress {
        grid-template-columns: minmax(0, 1fr);
    }

    .car-driver-details-page .car-driver-grid .field-card,
    .car-driver-details-page .car-licence-grid .field-card,
    .car-driver-details-page .car-booked-by-grid .field-card,
    .car-driver-details-page .car-driver-grid .car-driver-title-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-title-field,
    .car-driver-details-page .car-driver-grid .car-driver-first-name-field,
    .car-driver-details-page .car-driver-grid .car-driver-surname-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-first-name-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-surname-field,
    .car-driver-details-page .car-driver-grid .car-driver-id-field,
    .car-driver-details-page .car-driver-grid .car-driver-dob-field,
    .car-driver-details-page .car-driver-grid .car-driver-email-field,
    .car-driver-details-page .car-driver-grid .car-driver-phone-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-email-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-work-field,
    .car-driver-details-page .car-booked-by-grid .car-booker-cell-field {
        grid-column: 1 / -1;
    }

    .car-driver-details-page .booking-date-selects {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Murex coastal footer: full-width canvas with open columns and shell artwork. */
body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer {
    max-width: none;
    overflow: visible;
    padding: 0 0 22px;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band {
    width: calc(100% - (2 * clamp(16px, 4vw, 58px)));
    max-width: calc(var(--travelnet-site-max-width) - (2 * clamp(16px, 4vw, 58px)));
    margin: 8px auto 18px;
    padding: 16px 18px;
    background: linear-gradient(105deg, #075b9a 0%, #0879bd 56%, #0565a7 100%) !important;
    box-shadow: 0 20px 44px rgba(5, 91, 154, 0.22) !important;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band-icon {
    width: 44px;
    height: 44px;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-action {
    min-height: 42px;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion.footer-grid-no-social {
    width: calc(100% - (2 * clamp(16px, 4vw, 58px)));
    max-width: calc(var(--travelnet-site-max-width) - (2 * clamp(16px, 4vw, 58px)));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(30px, 7vw, 110px);
    margin: 0 auto;
    padding: 30px clamp(28px, 5vw, 76px) 92px;
    border: 1.5px solid rgba(73, 171, 211, 0.52);
    border-radius: 28px;
    background:
        radial-gradient(circle at 8% 0%, rgba(255, 255, 255, 0.94), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(106, 207, 231, 0.16), transparent 28%),
        linear-gradient(180deg, #f4fcff 0%, #e8f7fc 56%, #dff2f8 100%);
    box-shadow:
        0 24px 58px rgba(18, 89, 127, 0.14),
        0 6px 16px rgba(18, 89, 127, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        inset 0 0 0 5px rgba(255, 255, 255, 0.26);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion .footer-section {
    align-self: start;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion summary {
    margin-bottom: 14px;
    color: #10365d;
    font-size: 16px;
    font-weight: 850;
    letter-spacing: -0.01em;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion a,
body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion p {
    color: #486985;
    font-size: 14px;
    line-height: 1.55;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion a {
    margin: 7px 0;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion a .icon,
body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion .footer-contact-line > .icon {
    display: none;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion .footer-contact-line {
    display: block;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion::before {
    z-index: 0;
    right: auto;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 126px;
    border-radius: 0;
    background:
        radial-gradient(100% 150% at -10% 135%, transparent 61%, rgba(88, 190, 221, 0.25) 61.5% 63.5%, transparent 64%),
        radial-gradient(92% 135% at -7% 140%, transparent 63%, rgba(88, 190, 221, 0.17) 63.5% 65.5%, transparent 66%),
        radial-gradient(72% 118% at 90% 143%, transparent 61%, rgba(88, 190, 221, 0.20) 61.5% 63.5%, transparent 64%),
        radial-gradient(62% 105% at 93% 143%, transparent 64%, rgba(23, 115, 185, 0.11) 64.5% 66.5%, transparent 67%);
    filter: none;
    opacity: 1;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion::after {
    content: none;
}

.murex-footer-shells {
    display: none;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shells {
    position: absolute;
    z-index: 1;
    right: clamp(34px, 5vw, 76px);
    bottom: 10px;
    display: block;
    width: clamp(176px, 17vw, 236px);
    height: 84px;
    pointer-events: none;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shell {
    position: absolute;
    display: block;
    aspect-ratio: 1.18;
    border-radius: 52% 52% 16% 16% / 84% 84% 16% 16%;
    background:
        radial-gradient(circle at 50% 96%, rgba(255, 255, 255, 0.96) 0 4%, rgba(43, 151, 197, 0.42) 4.5% 6%, transparent 6.5%),
        repeating-radial-gradient(ellipse at 50% 105%, transparent 0 10%, rgba(35, 149, 197, 0.22) 10.5% 12%, transparent 12.5% 20%),
        repeating-conic-gradient(from 219deg at 50% 100%, transparent 0deg 3.5deg, rgba(16, 112, 170, 0.42) 3.5deg 5deg, rgba(255, 255, 255, 0.70) 5deg 5.8deg, transparent 5.8deg 10.5deg),
        radial-gradient(circle at 34% 22%, rgba(255, 255, 255, 0.78), transparent 27%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(105, 200, 224, 0.30) 58%, rgba(23, 115, 185, 0.20));
    clip-path: polygon(50% 100%, 2% 56%, 4% 40%, 11% 26%, 21% 14%, 35% 6%, 50% 2%, 65% 6%, 79% 14%, 89% 26%, 96% 40%, 98% 56%);
    filter:
        drop-shadow(0 9px 13px rgba(20, 105, 152, 0.14))
        drop-shadow(0 0 1px rgba(20, 105, 152, 0.55));
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shell-main {
    right: 0;
    bottom: 0;
    width: 104px;
    opacity: 0.78;
    transform: rotate(8deg);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shell-small {
    right: 91px;
    bottom: 3px;
    width: 70px;
    opacity: 0.66;
    transform: rotate(-12deg);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shell-pearl {
    right: 154px;
    bottom: 1px;
    width: 47px;
    opacity: 0.54;
    transform: rotate(16deg);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .copyright {
    position: absolute;
    z-index: 3;
    bottom: 37px;
    left: 50%;
    width: min(80%, 720px);
    margin: 0;
    padding: 0;
    background: transparent;
    color: #4d6f88;
    font-size: 13px;
    transform: translateX(-50%);
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band {
    border-color: rgba(105, 204, 235, 0.18) !important;
    background: linear-gradient(105deg, #073454 0%, #07517d 56%, #063a5e 100%) !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32) !important;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band,
html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band-icon,
html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band-copy span,
html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-action {
    color: #f3fbff !important;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band-icon,
html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-action {
    border-color: rgba(213, 243, 255, 0.24) !important;
    background: rgba(220, 245, 255, 0.09) !important;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-action.is-primary {
    border-color: #f3fbff !important;
    background: #f3fbff !important;
    color: #07446c !important;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion.footer-grid-no-social {
    border-color: rgba(105, 204, 235, 0.46);
    background:
        radial-gradient(circle at 8% 0%, rgba(89, 177, 211, 0.13), transparent 34%),
        radial-gradient(circle at 92% 12%, rgba(38, 137, 181, 0.13), transparent 28%),
        linear-gradient(180deg, #102a3d 0%, #0c2334 62%, #091e2e 100%);
    box-shadow:
        0 26px 62px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(142, 216, 239, 0.12),
        inset 0 0 0 5px rgba(139, 216, 239, 0.025);
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion summary {
    color: #ecf9ff;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion a,
html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion p {
    color: #b6d2e1;
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion::before {
    background:
        radial-gradient(100% 150% at -10% 135%, transparent 61%, rgba(87, 189, 221, 0.17) 61.5% 63.5%, transparent 64%),
        radial-gradient(92% 135% at -7% 140%, transparent 63%, rgba(87, 189, 221, 0.10) 63.5% 65.5%, transparent 66%),
        radial-gradient(72% 118% at 90% 143%, transparent 61%, rgba(87, 189, 221, 0.14) 61.5% 63.5%, transparent 64%),
        radial-gradient(62% 105% at 93% 143%, transparent 64%, rgba(142, 216, 239, 0.08) 64.5% 66.5%, transparent 67%);
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shell {
    background:
        radial-gradient(circle at 50% 96%, rgba(214, 244, 255, 0.88) 0 4%, rgba(95, 199, 233, 0.50) 4.5% 6%, transparent 6.5%),
        repeating-radial-gradient(ellipse at 50% 105%, transparent 0 10%, rgba(93, 195, 229, 0.25) 10.5% 12%, transparent 12.5% 20%),
        repeating-conic-gradient(from 219deg at 50% 100%, transparent 0deg 3.5deg, rgba(113, 211, 240, 0.42) 3.5deg 5deg, rgba(226, 247, 255, 0.36) 5deg 5.8deg, transparent 5.8deg 10.5deg),
        radial-gradient(circle at 34% 22%, rgba(214, 244, 255, 0.24), transparent 27%),
        linear-gradient(145deg, rgba(109, 199, 229, 0.30), rgba(34, 109, 145, 0.20) 58%, rgba(5, 45, 69, 0.28));
    filter:
        drop-shadow(0 9px 13px rgba(0, 0, 0, 0.26))
        drop-shadow(0 0 1px rgba(139, 221, 246, 0.58));
}

html.travelnet-dark body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .copyright {
    background: transparent;
    color: #9bbdcc;
}

@media (max-width: 760px) {
    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .site-footer .planning-band {
        width: calc(100% - 32px);
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion.footer-grid-no-social {
        width: calc(100% - 32px);
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        padding: 18px 16px 106px;
        border-radius: 22px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion summary {
        min-height: 42px;
        margin-bottom: 6px;
        padding: 0 8px;
        font-size: 15px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion .footer-section-body {
        padding: 0 8px 8px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .footer-grid-accordion a {
        margin: 4px 0;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .murex-footer-shells {
        right: 8px;
        bottom: 24px;
        width: 164px;
        height: 72px;
        transform: scale(0.82);
        transform-origin: right bottom;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel):not(.has-admin-console) .copyright {
        bottom: 10px;
        font-size: 12px;
    }
}

/* Compact Murex My Trips hero: preserve the coastal art without taking over the page. */
body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero {
    min-height: 280px;
    padding: 34px clamp(360px, 35vw, 470px) 34px clamp(32px, 4vw, 54px);
    border-radius: clamp(24px, 2.5vw, 30px);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero::after {
    width: clamp(370px, 38vw, 510px);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero-badge {
    display: none;
}

body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(44px, 4.5vw, 56px);
}

body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero p {
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.55;
}

@media (max-width: 920px) {
    body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero {
        min-height: 390px;
        padding: 28px 26px 176px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero::after {
        width: 100%;
        height: 170px;
    }
}

@media (max-width: 680px) {
    body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero {
        min-height: 350px;
        padding: 24px 20px 150px;
        border-radius: 22px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero::after {
        height: 145px;
    }

    body:is(.tenant-murextravel, .tenant-brand-murextravel).page-trips:not(.has-admin-console) .my-trips-dashboard-shell .my-trips-hero h1 {
        font-size: clamp(36px, 12vw, 46px);
    }
}

/* Unified admin hero geometry: one stable frame across every dashboard route. */
.admin-console-page {
    --admin-unified-hero-height: 250px;
}

.admin-console-page :is(
    .admin-dashboard-hero,
    .visitor-analytics-hero,
    .admin-booking-hero,
    .admin-audit-hero,
    .admin-settings-hero,
    .admin-permissions-hero,
    .admin-viewlogger-hero,
    .admin-console-page-heading,
    .admin-packages-hero,
    .admin-bus-stops-hero,
    .car-failure-log-heading
) {
    display: grid;
    width: 100%;
    height: var(--admin-unified-hero-height);
    min-height: var(--admin-unified-hero-height);
    max-height: var(--admin-unified-hero-height);
    grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
    align-items: center;
    gap: 24px;
    box-sizing: border-box;
    padding: 28px 30px;
    overflow: hidden;
}

.admin-console-page :is(
    .admin-dashboard-hero,
    .visitor-analytics-hero,
    .admin-booking-hero,
    .admin-audit-hero,
    .admin-settings-hero,
    .admin-permissions-hero,
    .admin-viewlogger-hero,
    .admin-console-page-heading,
    .admin-packages-hero,
    .admin-bus-stops-hero,
    .car-failure-log-heading
) > :first-child {
    min-width: 0;
}

.admin-console-page :is(
    .admin-dashboard-hero,
    .visitor-analytics-hero,
    .admin-booking-hero,
    .admin-audit-hero,
    .admin-settings-hero,
    .admin-permissions-hero,
    .admin-viewlogger-hero,
    .admin-console-page-heading,
    .admin-packages-hero,
    .admin-bus-stops-hero,
    .car-failure-log-heading
) h1 {
    margin: 8px 0 10px;
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.05;
}

.admin-console-page :is(
    .admin-dashboard-hero,
    .visitor-analytics-hero,
    .admin-booking-hero,
    .admin-audit-hero,
    .admin-settings-hero,
    .admin-permissions-hero,
    .admin-viewlogger-hero,
    .admin-console-page-heading,
    .admin-packages-hero,
    .admin-bus-stops-hero,
    .car-failure-log-heading
) p {
    max-width: 720px;
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
}

.admin-console-page :is(
    .admin-dashboard-hero,
    .visitor-analytics-hero,
    .admin-booking-hero,
    .admin-audit-hero,
    .admin-settings-hero,
    .admin-permissions-hero,
    .admin-viewlogger-hero,
    .admin-console-page-heading,
    .admin-packages-hero,
    .admin-bus-stops-hero,
    .car-failure-log-heading
) :is(.admin-dashboard-hero-actions, .admin-booking-live-row, .auth-status-row) {
    gap: 8px;
    margin-top: 14px;
}

@media (max-width: 920px) {
    .admin-console-page :is(
        .admin-dashboard-hero,
        .visitor-analytics-hero,
        .admin-booking-hero,
        .admin-audit-hero,
        .admin-settings-hero,
        .admin-permissions-hero,
        .admin-viewlogger-hero,
        .admin-console-page-heading,
        .admin-packages-hero,
        .admin-bus-stops-hero,
        .car-failure-log-heading
    ) {
        height: auto;
        min-height: 240px;
        max-height: none;
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        padding: 26px;
    }
}

@media (max-width: 680px) {
    .admin-console-page :is(
        .admin-dashboard-hero,
        .visitor-analytics-hero,
        .admin-booking-hero,
        .admin-audit-hero,
        .admin-settings-hero,
        .admin-permissions-hero,
        .admin-viewlogger-hero,
        .admin-console-page-heading,
        .admin-packages-hero,
        .admin-bus-stops-hero,
        .car-failure-log-heading
    ) {
        min-height: 220px;
        gap: 16px;
        padding: 22px 20px;
    }

    .admin-console-page :is(
        .admin-dashboard-hero,
        .visitor-analytics-hero,
        .admin-booking-hero,
        .admin-audit-hero,
        .admin-settings-hero,
        .admin-permissions-hero,
        .admin-viewlogger-hero,
        .admin-console-page-heading,
        .admin-packages-hero,
        .admin-bus-stops-hero,
        .car-failure-log-heading
    ) h1 {
        font-size: clamp(28px, 9vw, 36px);
    }
}

/* Roomier sign-in form card: wider desktop column with a real padded surface. */
body.page-signin:not(.has-admin-console) .site-main {
    padding-right: 24px;
    padding-left: 24px;
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-login-shell {
    max-width: 1200px;
    grid-template-columns: minmax(0, 1.05fr) minmax(500px, 0.95fr);
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-login-form-column {
    padding: clamp(30px, 3.4vw, 46px);
}

.auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-card.auth-form-card.auth-login-form-card {
    justify-self: center;
    width: min(100%, 540px);
    gap: 26px;
    box-sizing: border-box;
    padding: clamp(26px, 2.5vw, 34px);
    border: 1px solid rgba(18, 102, 153, 0.14);
    border-radius: 26px !important;
    box-shadow:
        0 22px 52px rgba(17, 62, 98, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

@media (max-width: 980px) {
    .auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-login-shell {
        max-width: 760px;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    body.page-signin:not(.has-admin-console) .site-main {
        padding-right: 0;
        padding-left: 0;
    }

    .auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-login-form-column {
        padding: 24px 18px 28px;
    }

    .auth-page[data-auth-page="sign-in"]:not(.auth-page--signed-in) .auth-card.auth-form-card.auth-login-form-card {
        width: 100%;
        gap: 20px;
        padding: 20px 18px;
        border-radius: 20px;
    }
}

/* Compact signed-in welcome dashboard: calmer hierarchy with denser panels. */
.auth-page.auth-page--signed-in {
    padding: clamp(24px, 3vw, 38px) clamp(16px, 2.5vw, 34px) clamp(38px, 4vw, 56px);
}

.signed-in-dashboard {
    gap: clamp(16px, 1.5vw, 20px);
}

.signed-in-hero {
    min-height: 310px;
    border-radius: 27px;
}

.signed-in-hero-copy {
    padding: clamp(26px, 3vw, 38px) clamp(26px, 3.4vw, 46px);
}

.signed-in-eyebrow {
    min-height: 32px;
    padding: 6px 13px;
}

.signed-in-hero h1 {
    margin: 11px 0 8px;
    font-size: clamp(38px, 4vw, 52px);
}

.signed-in-hero-subtitle {
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.5;
}

.signed-in-session-row {
    gap: 7px;
    margin-top: 12px;
}

.signed-in-status-pill {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 11px;
}

.signed-in-signout-form {
    margin-top: 7px;
}

.signed-in-hero-art {
    min-height: 310px;
}

.signed-in-travel-illustration {
    right: 42px;
    bottom: -12px;
    width: min(390px, 82%);
}

.signed-in-success-card {
    top: 16px;
    right: 20px;
    width: min(260px, 52%);
    gap: 11px;
    padding: 14px;
    border-radius: 18px;
}

.signed-in-success-icon {
    width: 34px;
    height: 34px;
}

.signed-in-success-card h2 {
    margin-bottom: 4px;
    font-size: 16px;
}

.signed-in-success-card p {
    font-size: 12px;
    line-height: 1.4;
}

.signed-in-section {
    padding: 22px;
}

.signed-in-quick-section {
    padding: 0;
}

.signed-in-section-heading {
    gap: 16px;
    margin-bottom: 13px;
}

.signed-in-section-heading--compact {
    margin-bottom: 12px;
}

.signed-in-section-heading h2,
.signed-in-support-card h2 {
    font-size: clamp(20px, 1.7vw, 24px);
}

.signed-in-quick-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 13px;
}

.signed-in-action-card {
    min-height: 104px;
    gap: 12px;
    padding: 17px 18px;
    border-radius: 20px;
}

.signed-in-card-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
}

.signed-in-card-icon .icon {
    width: 22px;
    height: 22px;
}

.signed-in-card-arrow {
    width: 30px;
    height: 30px;
}

.signed-in-lower-grid {
    gap: 16px;
}

.signed-in-account-grid {
    gap: 10px;
}

.signed-in-account-card {
    min-height: 76px;
    gap: 10px;
    padding: 11px;
}

.signed-in-account-card .signed-in-card-icon {
    width: 40px;
    height: 40px;
}

.signed-in-support-card {
    min-height: 200px;
    gap: 14px;
    padding: 22px;
}

.signed-in-support-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
}

.signed-in-support-icon .icon {
    width: 24px;
    height: 24px;
}

.signed-in-support-card > div > p:not(.signed-in-section-kicker) {
    margin: 6px 0 13px;
}

.signed-in-support-button {
    min-height: 38px;
}

@media (max-width: 1180px) {
    .signed-in-hero {
        grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    }

    .signed-in-hero-art {
        min-height: 310px;
        margin-top: 0;
    }

    .signed-in-travel-illustration {
        right: 24px;
        left: auto;
        width: min(330px, 82%);
    }

    .signed-in-success-card {
        top: 14px;
        right: 16px;
        width: min(230px, 54%);
    }
}

@media (max-width: 900px) {
    .signed-in-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .signed-in-hero-art {
        min-height: 220px;
        margin-top: -28px;
    }

    .signed-in-travel-illustration {
        right: auto;
        left: 5%;
        width: min(360px, 48%);
    }

    .signed-in-success-card {
        top: 8px;
        right: 4%;
        width: min(240px, 36%);
    }
}

@media (max-width: 660px) {
    .auth-page.auth-page--signed-in {
        padding: 14px 12px 26px;
    }

    .signed-in-dashboard {
        gap: 16px;
    }

    .signed-in-hero,
    .signed-in-section,
    .signed-in-support-card {
        border-radius: 22px;
    }

    .signed-in-hero-copy {
        padding: 18px 18px 0;
    }

    .signed-in-hero h1 {
        font-size: clamp(30px, 9.5vw, 38px);
    }

    .signed-in-hero-art {
        min-height: auto;
        margin-top: 0;
        padding: 0 14px 11px;
    }

    .signed-in-travel-illustration {
        width: 66%;
        margin: -34px auto 0;
    }

    .signed-in-success-card {
        width: 100%;
        padding: 12px;
    }

    .signed-in-section {
        padding: 18px 15px;
    }

    .signed-in-quick-section {
        padding: 0;
    }

    .signed-in-section-heading {
        margin-bottom: 11px;
    }

    .signed-in-action-card {
        min-height: 88px;
        padding: 14px;
        border-radius: 18px;
    }

    .signed-in-account-card {
        min-height: 70px;
    }

    .signed-in-support-card {
        min-height: 0;
        padding: 18px;
    }
}

/* Readable password reset experience: strong photo contrast and a compact form panel. */
.auth-page[data-auth-page="forgot-password"] {
    padding: clamp(26px, 4vw, 48px) 24px clamp(44px, 5vw, 64px);
}

.auth-page[data-auth-page="forgot-password"] .auth-shell {
    max-width: 980px;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: stretch;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 300px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: clamp(34px, 4vw, 52px);
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 28px !important;
    background-color: #075487 !important;
    background-image:
        linear-gradient(112deg, rgba(4, 44, 78, 0.96) 0%, rgba(5, 76, 117, 0.90) 54%, rgba(4, 105, 137, 0.72) 100%),
        var(--tn-image-auth) !important;
    background-position: center !important;
    background-size: cover !important;
    color: #ffffff !important;
    box-shadow:
        0 24px 54px rgba(7, 63, 100, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero::before,
.auth-page[data-auth-page="forgot-password"] .auth-reset-hero::after {
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    content: "";
    pointer-events: none;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero::before {
    right: -92px;
    bottom: -116px;
    width: 280px;
    height: 280px;
    border: 42px solid rgba(255, 255, 255, 0.09);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero::after {
    top: 38px;
    right: 34px;
    width: 12px;
    height: 12px;
    background: #ffd34e;
    box-shadow:
        22px 34px 0 2px rgba(255, 255, 255, 0.22),
        -28px 62px 0 -2px rgba(255, 255, 255, 0.18);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero .content-eyebrow {
    align-self: flex-start;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero h1 {
    max-width: 640px;
    margin: 16px 0 13px;
    color: #ffffff !important;
    font-size: clamp(38px, 4.2vw, 54px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-wrap: balance;
    text-shadow: 0 2px 18px rgba(1, 25, 45, 0.34);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero > p {
    max-width: 590px;
    color: rgba(255, 255, 255, 0.90) !important;
    font-size: 17px;
    line-height: 1.55;
    text-shadow: 0 1px 12px rgba(1, 25, 45, 0.34);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero .auth-status-row {
    margin-top: 24px;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-hero .auth-status-row span {
    min-height: 36px;
    padding: 7px 12px;
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card {
    align-content: center;
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
    gap: 24px;
    min-height: 0;
    padding: clamp(26px, 3vw, 34px);
    border: 1px solid rgba(18, 102, 153, 0.18) !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow:
        0 24px 54px rgba(17, 62, 98, 0.13),
        inset 0 1px 0 #ffffff;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading {
    gap: 16px;
    align-items: center;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading > span {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(18, 119, 181, 0.12);
    border-radius: 16px;
    background: linear-gradient(145deg, #e8f8ff, #d9f2fb);
    color: #0879bd;
    box-shadow: 0 10px 22px rgba(8, 121, 189, 0.10);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading > span .icon {
    width: 23px;
    height: 23px;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card h2 {
    color: #142f46 !important;
    font-size: clamp(22px, 2vw, 26px);
    letter-spacing: -0.02em;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading p {
    color: #567083 !important;
    font-size: 14px;
    line-height: 1.5;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form {
    gap: 16px;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form label > span {
    color: #18374f !important;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form input {
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(18, 102, 153, 0.20);
    border-radius: 15px;
    background: #f9fcfe;
    color: #142f46;
    box-shadow: inset 0 1px 2px rgba(17, 62, 98, 0.04);
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-form input:focus {
    border-color: #0879bd;
    outline: 3px solid rgba(8, 121, 189, 0.14);
    outline-offset: 1px;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-links {
    gap: 12px;
    justify-content: space-between;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-links a {
    color: #075d91 !important;
    font-size: 14px;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.auth-page[data-auth-page="forgot-password"] .auth-reset-submit {
    width: 100%;
    min-height: 54px;
    justify-content: center;
    border-radius: 15px;
    box-shadow: 0 12px 24px rgba(8, 121, 189, 0.20);
}

.auth-page[data-auth-page="forgot-password"] .auth-result-card {
    grid-column: 1 / -1;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-hero {
    border-color: rgba(113, 208, 234, 0.22) !important;
    background-color: #06293f !important;
    background-image:
        linear-gradient(112deg, rgba(2, 23, 39, 0.97) 0%, rgba(4, 48, 74, 0.93) 58%, rgba(4, 76, 94, 0.80) 100%),
        var(--tn-image-auth) !important;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card {
    border-color: rgba(113, 208, 234, 0.18) !important;
    background: rgba(6, 24, 36, 0.97) !important;
    box-shadow:
        0 24px 54px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading > span {
    border-color: rgba(113, 208, 234, 0.18);
    background: rgba(10, 65, 91, 0.78);
    color: #8edff7;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card h2,
html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form label > span {
    color: #f1fbff !important;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card .auth-card-heading p {
    color: rgba(223, 244, 251, 0.72) !important;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form input {
    border-color: rgba(113, 208, 234, 0.18);
    background: rgba(2, 13, 22, 0.70);
    color: #f1fbff;
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-form input::placeholder {
    color: rgba(223, 244, 251, 0.46);
}

html.travelnet-dark .auth-page[data-auth-page="forgot-password"] .auth-reset-links a {
    color: #8edff7 !important;
}

@media (max-width: 980px) {
    .auth-page[data-auth-page="forgot-password"] .auth-shell {
        max-width: 760px;
        grid-template-columns: minmax(0, 1fr);
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-hero,
    .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .auth-page[data-auth-page="forgot-password"] {
        padding: 16px 12px 38px;
    }

    .auth-page[data-auth-page="forgot-password"] .auth-shell {
        gap: 14px;
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-hero,
    .auth-page[data-auth-page="forgot-password"] .auth-reset-form-card {
        padding: 24px 20px;
        border-radius: 22px !important;
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-hero h1 {
        margin-top: 13px;
        font-size: clamp(32px, 10vw, 40px);
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-hero > p {
        font-size: 15px;
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-hero .auth-status-row {
        margin-top: 18px;
    }

    .auth-page[data-auth-page="forgot-password"] .auth-reset-links {
        align-items: center;
        justify-content: space-between;
    }
}
.onegate-live-environment-warning {
    position: sticky;
    top: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    width: 100%;
    box-sizing: border-box;
    padding: .72rem 1rem;
    border-bottom: 3px solid #151000;
    background: #ffd400;
    color: #151000;
    font-size: .9rem;
    line-height: 1.35;
    text-align: center;
}

.onegate-live-environment-warning strong {
    color: #151000;
    letter-spacing: .025em;
}

.onegate-live-environment-warning span {
    color: #151000;
}

@media (max-width: 760px) {
    .onegate-live-environment-warning {
        align-items: flex-start;
        flex-direction: column;
        gap: .18rem;
        text-align: left;
    }
}
