:root {
    --zt-primary: #1877F2;
    --zt-primary-dark: #1264D8;
    --zt-navy: #0B1F3A;
    --zt-navy-deep: #07182D;
    --zt-white: #FFFFFF;
    --zt-bg: #F5F7FA;
    --zt-blue-soft: #EAF3FF;
    --zt-border: #E4E9F0;
    --zt-text: #17233C;
    --zt-muted: #6B7280;
    --zt-success: #16A34A;
    --zt-warning: #F59E0B;
    --zt-danger: #DC2626;
    --zt-shadow: 0 24px 80px rgba(11, 31, 58, .13);
    --zt-shadow-sm: 0 12px 30px rgba(11, 31, 58, .09);
    --zt-radius: 8px;
    --zt-radius-lg: 18px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--zt-bg);
    color: var(--zt-text);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

a {
    color: var(--zt-primary);
    text-decoration: none;
}

a:hover {
    color: var(--zt-primary-dark);
}

img {
    max-width: 100%;
}

.skip-link {
    position: absolute;
    top: -120px;
    left: 16px;
    z-index: 2000;
    padding: 10px 14px;
    border-radius: var(--zt-radius);
    background: var(--zt-primary);
    color: #fff;
}

.skip-link:focus {
    top: 16px;
}

.zt-container {
    max-width: 1440px;
    padding-left: clamp(16px, 4vw, 48px);
    padding-right: clamp(16px, 4vw, 48px);
}

.zt-navbar {
    min-height: 76px;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(228, 233, 240, .8);
    backdrop-filter: blur(18px);
    transition: box-shadow .2s ease, min-height .2s ease;
}

.zt-navbar.is-scrolled {
    min-height: 66px;
    box-shadow: 0 10px 34px rgba(11, 31, 58, .1);
}

.zt-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zt-navy);
}

.zt-brand:hover {
    color: var(--zt-navy);
}

.zt-brand-mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--zt-primary), #48A1FF);
    color: #fff;
    box-shadow: 0 12px 26px rgba(24, 119, 242, .28);
}

.zt-brand-copy {
    display: grid;
    line-height: 1.05;
}

.zt-brand-copy strong {
    font-size: 18px;
    letter-spacing: 0;
}

.zt-brand-copy small {
    margin-top: 3px;
    color: var(--zt-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.zt-main-nav {
    gap: 2px;
}

.zt-main-nav .nav-link {
    color: #2B3B55;
    font-size: 13px;
    font-weight: 800;
    padding: 12px 9px;
    white-space: nowrap;
}

.zt-main-nav .nav-link:hover {
    color: var(--zt-primary);
}

.zt-nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.zt-select {
    width: auto;
    max-width: 120px;
    border-color: var(--zt-border);
    border-radius: 999px;
    color: var(--zt-text);
    font-weight: 700;
}

.zt-currency {
    max-width: 88px;
}

.zt-toggler {
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
}

.zt-offcanvas {
    border-left: 1px solid var(--zt-border);
}

.zt-mobile-links {
    display: grid;
    gap: 8px;
}

.zt-mobile-links a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 12px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    color: var(--zt-text);
    font-weight: 800;
    background: #fff;
}

.zt-mobile-links i {
    color: var(--zt-primary);
}

.zt-mobile-selector {
    margin-top: 22px;
    padding: 14px;
    border-radius: var(--zt-radius);
    background: var(--zt-bg);
}

.zt-mobile-selector .form-label {
    margin-top: 12px;
    color: var(--zt-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.btn {
    border-radius: var(--zt-radius);
    font-weight: 800;
}

.btn-primary {
    border-color: var(--zt-primary);
    background: var(--zt-primary);
    box-shadow: 0 10px 20px rgba(24, 119, 242, .18);
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: var(--zt-primary-dark);
    background: var(--zt-primary-dark);
}

.btn-outline-primary {
    border-color: rgba(24, 119, 242, .38);
    color: var(--zt-primary);
}

.btn-outline-primary:hover {
    border-color: var(--zt-primary);
    background: var(--zt-primary);
}

.btn-ghost {
    color: var(--zt-text);
    background: transparent;
}

.btn-ghost:hover {
    background: var(--zt-blue-soft);
    color: var(--zt-primary);
}

.form-control,
.form-select {
    min-height: 48px;
    border-color: var(--zt-border);
    border-radius: var(--zt-radius);
    color: var(--zt-text);
    font-weight: 650;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(24, 119, 242, .55);
    box-shadow: 0 0 0 .2rem rgba(24, 119, 242, .12);
}

.form-label {
    color: #394963;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.zt-flash {
    position: fixed;
    top: 88px;
    left: 50%;
    z-index: 1100;
    transform: translateX(-50%);
}

.zt-hero {
    position: relative;
    min-height: 760px;
    padding: 150px 0 150px;
    overflow: hidden;
    color: #fff;
    background: var(--zt-navy-deep);
}

.zt-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(7, 24, 45, .9) 0%, rgba(7, 24, 45, .7) 42%, rgba(7, 24, 45, .25) 100%), var(--zt-hero-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: scale(1.02);
}

.zt-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 160px;
    background: linear-gradient(180deg, rgba(245, 247, 250, 0), var(--zt-bg));
}

.zt-hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.zt-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-hero h1 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .98;
}

.zt-hero p {
    max-width: 650px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(16px, 2vw, 20px);
}

.zt-hero-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-width: 760px;
    margin-top: 34px;
}

.zt-hero-stat {
    min-height: 96px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--zt-radius);
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(14px);
}

.zt-hero-stat strong {
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.zt-hero-stat span {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 750;
}

.zt-booking-shell {
    position: relative;
    z-index: 5;
    margin-top: -92px;
}

.zt-booking-panel {
    border: 1px solid rgba(228, 233, 240, .95);
    border-radius: var(--zt-radius-lg);
    background: #fff;
    box-shadow: var(--zt-shadow);
    overflow: hidden;
}

.zt-booking-tabs {
    display: flex;
    gap: 8px;
    padding: 14px;
    border-bottom: 1px solid var(--zt-border);
    background: linear-gradient(180deg, #fff, #F8FBFF);
    overflow-x: auto;
}

.zt-booking-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: max-content;
    border: 0;
    border-radius: 999px;
    color: #44546A;
    font-weight: 900;
    padding: 11px 16px;
}

.zt-booking-tabs .nav-link.active {
    background: var(--zt-primary);
    color: #fff;
    box-shadow: 0 12px 22px rgba(24, 119, 242, .2);
}

.zt-booking-body {
    padding: clamp(18px, 3vw, 28px);
}

.zt-trip-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 5px;
    border: 1px solid var(--zt-border);
    border-radius: 999px;
    background: var(--zt-bg);
}

.zt-trip-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.zt-trip-toggle label {
    cursor: pointer;
    padding: 8px 14px;
    border-radius: 999px;
    color: #43536A;
    font-size: 13px;
    font-weight: 900;
}

.zt-trip-toggle input:checked + label {
    background: #fff;
    color: var(--zt-primary);
    box-shadow: 0 7px 20px rgba(11, 31, 58, .09);
}

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

.zt-booking-body .zt-grid {
    gap: 10px;
}

.zt-field {
    position: relative;
}

.zt-field i {
    position: absolute;
    top: 43px;
    left: 14px;
    color: var(--zt-primary);
    pointer-events: none;
}

.zt-field .form-control,
.zt-field .form-select {
    padding-left: 40px;
}

.zt-col-2 { grid-column: span 2; }
.zt-col-3 { grid-column: span 3; }
.zt-col-4 { grid-column: span 4; }
.zt-col-5 { grid-column: span 5; }
.zt-col-6 { grid-column: span 6; }
.zt-col-8 { grid-column: span 8; }
.zt-col-12 { grid-column: span 12; }

.zt-swap-btn {
    position: absolute;
    top: 38px;
    right: -24px;
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 1px solid var(--zt-border);
    border-radius: 50%;
    background: #fff;
    color: var(--zt-primary);
    box-shadow: var(--zt-shadow-sm);
}

.zt-section {
    padding: clamp(56px, 8vw, 104px) 0;
}

.zt-section-tight {
    padding: clamp(42px, 6vw, 78px) 0;
}

.zt-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.zt-section-kicker {
    color: var(--zt-primary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-section-title {
    margin: 6px 0 0;
    color: var(--zt-navy);
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
}

.zt-section-copy {
    max-width: 620px;
    margin: 10px 0 0;
    color: var(--zt-muted);
    font-size: 15px;
}

.zt-card {
    height: 100%;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
    box-shadow: 0 8px 22px rgba(11, 31, 58, .045);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    overflow: hidden;
}

.zt-card:hover {
    transform: translateY(-4px);
    border-color: rgba(24, 119, 242, .3);
    box-shadow: var(--zt-shadow-sm);
}

.zt-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    background: var(--zt-blue-soft);
}

.zt-card-body {
    padding: 20px;
}

.zt-card h3,
.zt-card h4 {
    margin: 0;
    color: var(--zt-navy);
    font-size: 18px;
    font-weight: 900;
}

.zt-card p {
    margin: 10px 0 0;
    color: var(--zt-muted);
}

.zt-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.zt-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    border-radius: 999px;
    background: var(--zt-blue-soft);
    color: #24588F;
    font-size: 12px;
    font-weight: 850;
}

.zt-route-card {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: center;
    padding: 20px;
}

.zt-route-city span {
    color: var(--zt-muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.zt-route-city strong {
    display: block;
    margin-top: 4px;
    color: var(--zt-navy);
    font-size: 18px;
    font-weight: 900;
}

.zt-route-line {
    display: grid;
    place-items: center;
    color: var(--zt-primary);
}

.zt-route-line::before,
.zt-route-line::after {
    content: "";
    display: block;
    width: 44px;
    height: 1px;
    background: var(--zt-border);
}

.zt-price {
    color: var(--zt-primary);
    font-size: 20px;
    font-weight: 900;
}

.zt-feature-band {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, var(--zt-navy-deep), var(--zt-navy));
}

.zt-feature-band::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .26;
    background-image: var(--zt-band-image);
    background-position: center;
    background-size: cover;
}

.zt-feature-band .zt-container {
    position: relative;
    z-index: 2;
}

.zt-feature-band .zt-section-title,
.zt-feature-band .zt-section-copy {
    color: #fff;
}

.zt-feature-panel {
    padding: clamp(24px, 5vw, 54px);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: var(--zt-radius-lg);
    background: rgba(7, 24, 45, .62);
    backdrop-filter: blur(16px);
}

.zt-check-list {
    display: grid;
    gap: 12px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.zt-check-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(255, 255, 255, .88);
    font-weight: 700;
}

.zt-check-list i {
    color: #74C0FC;
}

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

.zt-trust-item {
    padding: 22px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
}

.zt-trust-item i {
    color: var(--zt-primary);
    font-size: 24px;
}

.zt-trust-item strong {
    display: block;
    margin-top: 12px;
    color: var(--zt-navy);
    font-size: 16px;
    font-weight: 900;
}

.zt-trust-item span {
    display: block;
    margin-top: 6px;
    color: var(--zt-muted);
    font-size: 13px;
}

.zt-app-band {
    overflow: hidden;
    border-top: 1px solid var(--zt-border);
    border-bottom: 1px solid var(--zt-border);
    background: #fff;
}

.zt-phone {
    position: relative;
    max-width: 360px;
    min-height: 600px;
    margin: 0 auto;
    padding: 16px;
    border: 10px solid var(--zt-navy);
    border-radius: 42px;
    background: var(--zt-bg);
    box-shadow: var(--zt-shadow);
}

.zt-phone-screen {
    min-height: 548px;
    border-radius: 28px;
    background: #fff;
    overflow: hidden;
}

.zt-phone-hero {
    height: 190px;
    background-image: linear-gradient(180deg, rgba(7,24,45,.1), rgba(7,24,45,.78)), var(--zt-phone-image);
    background-position: center;
    background-size: cover;
}

.zt-phone-content {
    padding: 18px;
}

.zt-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 10px;
    border-top: 1px solid var(--zt-border);
    background: #fff;
}

.zt-bottom-nav span {
    display: grid;
    place-items: center;
    gap: 3px;
    color: var(--zt-muted);
    font-size: 10px;
    font-weight: 800;
}

.zt-bottom-nav span:first-child {
    color: var(--zt-primary);
}

.zt-cta {
    padding: clamp(36px, 6vw, 72px);
    border-radius: var(--zt-radius-lg);
    color: #fff;
    background: linear-gradient(135deg, var(--zt-primary), var(--zt-primary-dark) 45%, var(--zt-navy));
    box-shadow: var(--zt-shadow);
}

.zt-cta h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 900;
    line-height: 1.05;
}

.zt-cta p {
    max-width: 660px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 17px;
}

.zt-footer {
    padding: 62px 0 24px;
    background: var(--zt-navy-deep);
    color: rgba(255, 255, 255, .78);
}

.zt-footer h6 {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-footer a {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, .72);
    font-weight: 650;
}

.zt-footer a:hover {
    color: #fff;
}

.zt-footer-copy {
    max-width: 430px;
}

.zt-footer-note {
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
}

.zt-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
}

.zt-page-hero {
    padding: 140px 0 70px;
    color: #fff;
    background: linear-gradient(135deg, var(--zt-navy-deep), var(--zt-navy));
}

.zt-page-hero h1 {
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 900;
}

.zt-page-hero p {
    max-width: 760px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .78);
    font-size: 17px;
}

.zt-panel {
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius-lg);
    background: #fff;
    box-shadow: var(--zt-shadow-sm);
}

.zt-panel-body {
    padding: clamp(18px, 3vw, 28px);
}

.zt-result-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 22px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
}

.zt-flight-leg {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
}

.zt-flight-code {
    color: var(--zt-navy);
    font-size: 26px;
    font-weight: 900;
}

.zt-flight-time {
    color: var(--zt-muted);
    font-size: 13px;
    font-weight: 800;
}

.zt-empty {
    padding: 38px;
    border: 1px dashed #B8C5D8;
    border-radius: var(--zt-radius);
    background: #fff;
    text-align: center;
}

.zt-empty i {
    color: var(--zt-primary);
    font-size: 36px;
}

.zt-skeleton {
    position: relative;
    overflow: hidden;
    min-height: 84px;
    border-radius: var(--zt-radius);
    background: #EAF0F8;
}

.zt-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    animation: zt-shimmer 1.25s infinite;
}

@keyframes zt-shimmer {
    100% {
        transform: translateX(100%);
    }
}

.zt-admin-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 100vh;
    background: var(--zt-bg);
}

.zt-admin-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 22px;
    overflow-y: auto;
    background: var(--zt-navy-deep);
    color: #fff;
}

.zt-admin-sidebar a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--zt-radius);
    color: rgba(255,255,255,.72);
    font-weight: 750;
}

.zt-admin-sidebar a:hover,
.zt-admin-sidebar a.active {
    background: rgba(255,255,255,.1);
    color: #fff;
}

.zt-admin-main {
    padding: 28px;
}

.zt-admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

@media (max-width: 1199.98px) {
    .zt-navbar {
        min-height: 68px;
    }

    .zt-hero {
        min-height: 720px;
        padding-top: 120px;
    }

    .zt-booking-shell {
        margin-top: -70px;
    }

    .zt-col-2,
    .zt-col-3,
    .zt-col-4,
    .zt-col-5,
    .zt-col-6,
    .zt-col-8 {
        grid-column: span 6;
    }

    .zt-admin-layout {
        grid-template-columns: 1fr;
    }

    .zt-admin-sidebar {
        position: relative;
        height: auto;
    }
}

@media (max-width: 767.98px) {
    body {
        background: #fff;
        font-size: 14px;
    }

    .zt-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .zt-brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .zt-brand-copy small {
        display: none;
    }

    .zt-hero {
        min-height: 690px;
        padding: 112px 0 118px;
    }

    .zt-hero::before {
        background-image: linear-gradient(180deg, rgba(7, 24, 45, .9), rgba(7, 24, 45, .42)), var(--zt-hero-image);
    }

    .zt-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zt-hero-stat {
        min-height: 86px;
    }

    .zt-booking-shell {
        margin-top: -78px;
    }

    .zt-booking-panel {
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -12px 32px rgba(11,31,58,.12);
    }

    .zt-booking-tabs {
        padding: 10px;
    }

    .zt-booking-tabs .nav-link {
        padding: 10px 13px;
        font-size: 13px;
    }

    .zt-grid {
        gap: 12px;
    }

    .zt-col-2,
    .zt-col-3,
    .zt-col-4,
    .zt-col-5,
    .zt-col-6,
    .zt-col-8,
    .zt-col-12 {
        grid-column: span 12;
    }

    .zt-swap-btn {
        top: auto;
        right: 12px;
        bottom: -22px;
    }

    .zt-section {
        padding: 54px 0;
    }

    .zt-section-head {
        display: block;
    }

    .zt-card-img {
        height: 190px;
    }

    .zt-route-card {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .zt-route-line {
        display: none;
    }

    .zt-trust-grid {
        grid-template-columns: 1fr;
    }

    .zt-result-card,
    .zt-flight-leg {
        grid-template-columns: 1fr;
    }

    .zt-page-hero {
        padding-top: 112px;
    }

    .zt-phone {
        max-width: 310px;
        min-height: 540px;
    }

    .zt-phone-screen {
        min-height: 486px;
    }

    .zt-admin-main {
        padding: 16px;
    }
}

@media (max-width: 420px) {
    .zt-trip-toggle {
        width: 100%;
        border-radius: var(--zt-radius);
    }

    .zt-trip-toggle label {
        flex: 1;
        text-align: center;
    }

    .zt-hero h1 {
        font-size: 38px;
    }

    .zt-hero-stats {
        gap: 8px;
    }

    .zt-hero-stat {
        padding: 12px;
    }

    .zt-hero-stat strong {
        font-size: 19px;
    }
}


/* Refined company navbar */
.zt-navbar {
    min-height: 82px;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(198, 211, 228, .72);
    box-shadow: 0 6px 30px rgba(11, 31, 58, .06);
}

.zt-navbar.is-scrolled {
    min-height: 72px;
    box-shadow: 0 16px 42px rgba(11, 31, 58, .12);
}

.zt-brand {
    gap: 12px;
    min-width: 216px;
}

.zt-brand-mark {
    position: relative;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 16px;
    background: radial-gradient(circle at 28% 22%, #78B8FF 0, #1877F2 42%, #0B1F3A 100%);
    box-shadow: 0 16px 34px rgba(24, 119, 242, .28), inset 0 1px 0 rgba(255,255,255,.35);
    overflow: hidden;
}

.zt-brand-mark::after {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -12px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
}

.zt-brand-orbit {
    position: absolute;
    inset: 9px 7px 7px 9px;
    border: 1px solid rgba(255,255,255,.44);
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-radius: 50%;
    transform: rotate(-26deg);
}

.zt-brand-mark i {
    position: relative;
    z-index: 2;
    font-size: 21px;
    transform: rotate(-28deg) translateX(1px);
}

.zt-brand-copy strong {
    color: var(--zt-navy);
    font-size: 21px;
    font-weight: 900;
}

.zt-brand-copy small {
    color: #4B5D77;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.zt-main-nav {
    align-items: center;
    gap: 4px;
    padding: 6px;
    border: 1px solid rgba(228, 233, 240, .92);
    border-radius: 999px;
    background: rgba(245, 247, 250, .82);
}

.zt-main-nav .nav-link {
    position: relative;
    border-radius: 999px;
    color: #24344D;
    font-size: 13px;
    font-weight: 850;
    padding: 10px 14px;
}

.zt-main-nav .nav-link:hover,
.zt-main-nav .nav-link:focus,
.zt-main-nav .nav-item.show .nav-link {
    background: #fff;
    color: var(--zt-primary);
    box-shadow: 0 8px 20px rgba(11, 31, 58, .08);
}

.zt-nav-dropdown {
    margin-top: 14px;
    padding: 8px;
    border: 1px solid var(--zt-border);
    border-radius: 14px;
    box-shadow: var(--zt-shadow-sm);
}

.zt-nav-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: var(--zt-text);
    font-weight: 800;
    padding: 11px 12px;
}

.zt-nav-dropdown .dropdown-item:hover,
.zt-nav-dropdown .dropdown-item:focus {
    background: var(--zt-blue-soft);
    color: var(--zt-primary);
}

.zt-nav-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding-left: 14px;
    padding-right: 14px;
}

.zt-help-link {
    border: 1px solid transparent;
}

.zt-help-link:hover {
    border-color: var(--zt-border);
    background: #fff;
}

.zt-offcanvas .zt-brand {
    min-width: 0;
}

.zt-mobile-links a {
    min-height: 56px;
    border-color: rgba(228, 233, 240, .9);
    box-shadow: 0 8px 18px rgba(11, 31, 58, .045);
}

.zt-mobile-links a:hover {
    border-color: rgba(24,119,242,.3);
    background: var(--zt-blue-soft);
}

.fw-black {
    font-weight: 900;
}

@media (max-width: 1320px) {
    .zt-brand {
        min-width: 190px;
    }

    .zt-main-nav .nav-link {
        padding-left: 11px;
        padding-right: 11px;
    }
}

@media (max-width: 767.98px) {
    .zt-navbar {
        min-height: 70px;
    }

    .zt-brand {
        min-width: 0;
    }

    .zt-brand-copy strong {
        font-size: 19px;
    }

    .zt-brand-copy small {
        display: block;
        max-width: 170px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.zt-main-nav .nav-link.is-active {
    background: #fff;
    color: var(--zt-primary);
    box-shadow: 0 8px 20px rgba(11, 31, 58, .08);
}

.zt-main-nav .nav-link.is-active::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: var(--zt-primary);
}

.zt-mobile-links a.is-active {
    border-color: rgba(24,119,242,.38);
    background: var(--zt-blue-soft);
    color: var(--zt-primary);
}

.zt-toggler {
    width: 44px;
    height: 44px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(11,31,58,.06);
}
.zt-ride-hero,
.zt-book-ride-hero {
    position: relative;
    overflow: hidden;
    background: #0B1F3A;
    color: #fff;
}

.zt-ride-hero::before,
.zt-book-ride-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 24, 45, .9), rgba(7, 24, 45, .58)), var(--zt-ride-image) center/cover no-repeat;
    opacity: .96;
}

.zt-ride-hero .zt-container,
.zt-book-ride-hero .zt-container {
    position: relative;
    z-index: 1;
}

.zt-ride-hero .zt-eyebrow,
.zt-book-ride-hero .zt-eyebrow,
.zt-ride-hero p,
.zt-book-ride-hero p {
    color: rgba(255, 255, 255, .84);
}

.zt-ride-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.zt-ride-hero-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    background: rgba(255, 255, 255, .11);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(12px);
}

.zt-ride-visual,
.zt-ride-summary-image {
    min-height: 330px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: var(--zt-radius);
    background: var(--zt-ride-image) center/cover no-repeat;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .24);
}

.zt-ride-search {
    margin-top: -34px;
    position: relative;
    z-index: 3;
}

.zt-zone-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.zt-zone-card {
    display: grid;
    gap: 8px;
    min-height: 170px;
    padding: 18px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
    color: var(--zt-text);
    box-shadow: var(--zt-shadow-sm);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zt-zone-card:hover,
.zt-zone-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(24, 119, 242, .55);
    box-shadow: 0 18px 46px rgba(24, 119, 242, .14);
}

.zt-zone-card span {
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: #EAF3FF;
    color: var(--zt-primary-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-zone-card strong {
    color: var(--zt-navy);
    font-size: 17px;
    line-height: 1.25;
}

.zt-zone-card small,
.zt-zone-card b {
    color: var(--zt-muted);
    font-weight: 800;
}

.zt-zone-card b {
    color: var(--zt-navy);
    font-size: 18px;
}

.zt-vehicle-card {
    height: 100%;
    overflow: hidden;
}

.zt-vehicle-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #DDE7F2;
}

.zt-vehicle-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.zt-vehicle-media span {
    position: absolute;
    left: 14px;
    bottom: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(7, 24, 45, .78);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(10px);
}

.zt-vehicle-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--zt-navy);
    font-size: 18px;
    font-weight: 900;
}

.zt-vehicle-price small {
    color: var(--zt-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-vehicle-note {
    min-height: 58px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #F8FAFC;
    color: #4B5563;
    font-size: 13px;
    font-weight: 700;
}

.zt-vehicle-card-compact .zt-vehicle-note {
    display: none;
}

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

.zt-market-method {
    min-height: 245px;
    padding: 20px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
    box-shadow: var(--zt-shadow-sm);
}

.zt-market-method i {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: var(--zt-radius);
    background: #EAF3FF;
    color: var(--zt-primary);
    font-size: 20px;
}

.zt-market-method span {
    display: block;
    color: var(--zt-success);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-market-method h3 {
    margin: 7px 0 9px;
    color: var(--zt-navy);
    font-size: 18px;
}

.zt-market-method p {
    margin: 0;
    color: var(--zt-muted);
    font-size: 14px;
    font-weight: 650;
}

.zt-ride-summary {
    position: sticky;
    top: 92px;
    overflow: hidden;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #fff;
    box-shadow: var(--zt-shadow-sm);
}

.zt-ride-summary-image {
    min-height: 230px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.zt-ride-summary-body {
    padding: 22px;
}

.zt-ride-summary-body > span {
    color: var(--zt-primary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-ride-summary-body h2 {
    margin: 8px 0 10px;
    color: var(--zt-navy);
    font-size: 24px;
    line-height: 1.2;
}

.zt-ride-summary-body p {
    margin: 0;
    color: var(--zt-muted);
    font-weight: 650;
}

.zt-ride-summary-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0;
    padding: 14px;
    border-radius: var(--zt-radius);
    background: #F0FDF4;
    color: #14532D;
}

.zt-ride-summary-meta b {
    font-size: 20px;
}

.zt-ride-summary-meta small {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-ride-summary-route {
    display: flex;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--zt-border);
    border-radius: var(--zt-radius);
    background: #F8FAFC;
}

.zt-ride-summary-route i {
    color: var(--zt-primary);
    font-size: 20px;
}

.zt-ride-summary-route strong,
.zt-ride-summary-route small {
    display: block;
}

.zt-ride-summary-route small {
    margin-top: 3px;
    color: var(--zt-muted);
    font-weight: 800;
}

@media (max-width: 1199px) {
    .zt-market-method-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .zt-zone-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zt-ride-summary {
        position: static;
    }
}

@media (max-width: 767px) {
    .zt-ride-hero,
    .zt-book-ride-hero {
        padding-bottom: 34px;
    }

    .zt-ride-visual {
        min-height: 220px;
    }

    .zt-ride-search {
        margin-top: -18px;
    }

    .zt-ride-hero-pills {
        display: grid;
        grid-template-columns: 1fr;
    }

    .zt-zone-strip,
    .zt-market-method-grid {
        grid-template-columns: 1fr;
    }

    .zt-zone-card,
    .zt-market-method {
        min-height: auto;
    }

    .zt-vehicle-note {
        min-height: auto;
    }

    .zt-ride-summary-body {
        padding: 18px;
    }
}
/* Final navbar polish */
.zt-navbar .zt-container {
    gap: 18px;
}

.zt-main-nav {
    gap: 5px;
    padding: 7px;
    background: rgba(245, 247, 250, .9);
    border-color: rgba(210, 221, 235, .95);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

.zt-main-nav .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 10px 13px;
    line-height: 1;
    letter-spacing: 0;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-main-nav .nav-link i {
    color: #66758C;
    font-size: 15px;
    line-height: 1;
    transition: color .18s ease;
}

.zt-main-nav .nav-link:hover,
.zt-main-nav .nav-link:focus,
.zt-main-nav .nav-item.show .nav-link:not(.is-active) {
    background: #fff;
    color: var(--zt-primary);
    box-shadow: 0 8px 20px rgba(11, 31, 58, .07);
}

.zt-main-nav .nav-link:hover i,
.zt-main-nav .nav-link:focus i,
.zt-main-nav .nav-item.show .nav-link:not(.is-active) i {
    color: var(--zt-primary);
}

.zt-main-nav .nav-link.is-active {
    background: linear-gradient(135deg, var(--zt-navy), var(--zt-primary));
    color: #fff;
    box-shadow: 0 12px 26px rgba(24, 119, 242, .24);
}

.zt-main-nav .nav-link.is-active i {
    color: #fff;
}

.zt-main-nav .nav-link.is-active::after {
    display: none;
}

.zt-main-nav .dropdown-toggle::after {
    margin-left: 2px;
    transform: translateY(1px);
}

.zt-nav-actions {
    gap: 9px;
}

.zt-nav-actions .btn.zt-auth-btn,
.zt-mobile-auth .zt-auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 999px;
    padding: 0 15px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
    white-space: nowrap;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.zt-auth-btn i {
    font-size: 15px;
    line-height: 1;
}

.zt-auth-login,
.zt-support-btn {
    border: 1px solid rgba(210, 221, 235, .98);
    background: #fff;
    color: var(--zt-navy);
    box-shadow: 0 8px 20px rgba(11, 31, 58, .06);
}

.zt-auth-login:hover,
.zt-auth-login:focus,
.zt-support-btn:hover,
.zt-support-btn:focus,
.zt-auth-login.is-active,
.zt-support-btn.is-active {
    border-color: rgba(24, 119, 242, .36);
    background: var(--zt-blue-soft);
    color: var(--zt-primary-dark);
    box-shadow: 0 12px 26px rgba(24, 119, 242, .12);
}

.zt-auth-primary {
    border: 1px solid transparent;
    background: linear-gradient(135deg, var(--zt-primary), #0B58C6);
    color: #fff;
    box-shadow: 0 14px 30px rgba(24, 119, 242, .28);
}

.zt-auth-primary:hover,
.zt-auth-primary:focus,
.zt-auth-primary.is-active {
    background: linear-gradient(135deg, #0B58C6, var(--zt-navy));
    color: #fff;
    box-shadow: 0 18px 38px rgba(11, 31, 58, .22);
    transform: translateY(-1px);
}

.zt-mobile-links a {
    position: relative;
    border-radius: 14px;
}

.zt-mobile-links a.is-active {
    border-color: rgba(24, 119, 242, .44);
    background: linear-gradient(135deg, #F7FBFF, #EAF3FF);
    color: var(--zt-primary-dark);
    box-shadow: 0 12px 28px rgba(24, 119, 242, .12);
}

.zt-mobile-links a.is-active::before {
    content: "";
    width: 4px;
    align-self: stretch;
    border-radius: 999px;
    background: var(--zt-primary);
}

.zt-mobile-auth .zt-auth-btn {
    min-height: 48px;
}

@media (max-width: 1320px) {
    .zt-main-nav .nav-link {
        gap: 6px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }

    .zt-nav-actions .btn.zt-auth-btn {
        padding-left: 12px;
        padding-right: 12px;
    }
}
/* Bold visible icon system */
.zt-navbar .bi,
.zt-footer .bi,
.zt-mobile-links .bi,
.zt-auth-btn .bi,
.zt-main-nav .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    -webkit-text-stroke: .42px currentColor;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .38), 0 2px 8px rgba(11, 31, 58, .12);
}

.zt-main-nav .nav-link i {
    min-width: 18px;
    color: #31445F;
    font-size: 17px;
}

.zt-auth-btn i {
    min-width: 18px;
    font-size: 17px;
}

.zt-mobile-links i {
    min-width: 22px;
    font-size: 20px;
    color: var(--zt-primary-dark);
}

.zt-brand-mark i {
    font-size: 24px;
    -webkit-text-stroke: .55px currentColor;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .2);
}

.bi-airplane,
.bi-airplane-fill,
.bi-airplane-engines,
.bi-airplane-engines-fill {
    display: inline-flex;
    transform: rotate(34deg);
    transform-origin: 50% 50%;
}

.zt-brand-mark .bi-airplane,
.zt-brand-mark .bi-airplane-fill,
.zt-brand-mark .bi-airplane-engines,
.zt-brand-mark .bi-airplane-engines-fill {
    transform: rotate(34deg) translate(1px, -1px);
}

.zt-main-nav .nav-link.is-active i,
.zt-auth-primary i {
    text-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
/* Borderless compact navbar */
.zt-main-nav {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.zt-main-nav .nav-link {
    border: 0 !important;
}

.zt-nav-dropdown .dropdown-item {
    border: 0;
}

.zt-mobile-group-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 14px 12px;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: var(--zt-text);
    font-weight: 900;
    text-align: left;
    box-shadow: 0 8px 18px rgba(11, 31, 58, .045);
}

.zt-mobile-group-toggle .bi-chevron-down {
    margin-left: auto;
    font-size: 15px;
    transition: transform .18s ease;
}

.zt-mobile-group-toggle[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}

.zt-mobile-group-toggle.is-active {
    background: linear-gradient(135deg, #F7FBFF, #EAF3FF);
    color: var(--zt-primary-dark);
    box-shadow: 0 12px 28px rgba(24, 119, 242, .12);
}

.zt-mobile-subnav {
    display: grid;
    gap: 7px;
    margin: -2px 0 4px 18px;
    padding-left: 14px;
    border-left: 3px solid rgba(24, 119, 242, .18);
}

.zt-mobile-subnav a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: var(--zt-text);
    font-weight: 850;
}

.zt-mobile-subnav a.is-active {
    background: var(--zt-blue-soft);
    color: var(--zt-primary-dark);
}

.zt-mobile-links > a {
    border: 0;
}
/* Enterprise navbar v2 */
.zt-navbar {
    min-height: 76px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 251, 255, .97));
    border-bottom: 1px solid rgba(214, 225, 239, .92);
    box-shadow: 0 16px 42px rgba(11, 31, 58, .075);
}

.zt-navbar.is-scrolled {
    min-height: 68px;
    box-shadow: 0 18px 46px rgba(11, 31, 58, .12);
}

.zt-navbar .zt-container {
    gap: 14px;
}

.zt-brand {
    min-width: 178px;
}

.zt-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    box-shadow: 0 16px 28px rgba(24, 119, 242, .22), inset 0 1px 0 rgba(255, 255, 255, .35);
}

.zt-brand-copy strong {
    font-size: 18px;
    line-height: 1;
}

.zt-brand-copy small {
    font-size: 9px;
    letter-spacing: .09em;
    color: #607086;
}

.zt-main-nav {
    gap: 2px !important;
}

.zt-main-nav .nav-link {
    min-height: 38px;
    gap: 6px;
    padding: 9px 9px;
    color: #26364E;
    font-size: 11px;
    font-weight: 900;
    text-transform: none;
    letter-spacing: 0;
    border-radius: 7px;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-main-nav .nav-link i {
    min-width: 16px;
    font-size: 15px;
    color: #475A73;
}

.zt-main-nav .nav-link:hover,
.zt-main-nav .nav-link:focus,
.zt-main-nav .nav-item.show .nav-link:not(.is-active) {
    background: #F8FBFF;
    color: var(--zt-primary-dark);
    box-shadow: 0 8px 18px rgba(11, 31, 58, .06);
    transform: translateY(-1px);
}

.zt-main-nav .nav-link.is-active {
    background: linear-gradient(180deg, #112D52, #0B1F3A);
    color: #fff;
    box-shadow: 0 12px 24px rgba(11, 31, 58, .18);
}

.zt-nav-dropdown {
    width: 238px;
    margin-top: 14px;
    padding: 7px;
    border: 1px solid rgba(207, 219, 234, .98);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 250, 254, .99));
    box-shadow: 0 26px 64px rgba(11, 31, 58, .19), 0 1px 0 rgba(255, 255, 255, .92) inset;
    backdrop-filter: blur(16px);
}

.zt-nav-dropdown::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 28px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    border-left: 1px solid rgba(218, 226, 237, .95);
    border-top: 1px solid rgba(218, 226, 237, .95);
    background: #fff;
}

.zt-nav-dropdown li + li {
    margin-top: 3px;
}

.zt-nav-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 6px 8px;
    border-radius: 7px;
    color: #26364E;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: 0;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.zt-nav-dropdown .dropdown-item i {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 7px;
    background: #EEF6FF;
    color: var(--zt-primary-dark);
    font-size: 15px;
    box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .08);
}

.zt-nav-dropdown .dropdown-item span {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.zt-nav-dropdown .dropdown-item:hover,
.zt-nav-dropdown .dropdown-item:focus {
    background: #F4F8FD;
    color: var(--zt-primary-dark);
    transform: translateX(2px);
}

.zt-nav-dropdown .dropdown-item:hover i,
.zt-nav-dropdown .dropdown-item:focus i {
    background: var(--zt-primary);
    color: #fff;
}

.zt-nav-dropdown .dropdown-item.is-active {
    background: linear-gradient(180deg, #112D52, #0B1F3A);
    color: #fff;
    box-shadow: 0 10px 20px rgba(11, 31, 58, .14);
}

.zt-nav-dropdown .dropdown-item.is-active i {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.zt-nav-actions {
    gap: 7px;
}

.zt-nav-actions .btn.zt-auth-btn {
    min-height: 38px;
    padding: 0 11px;
    font-size: 11.5px;
}

.zt-nav-actions .zt-auth-btn i {
    min-width: 15px;
    font-size: 15px;
}

.zt-auth-login {
    border-color: rgba(218, 226, 237, .95);
    box-shadow: none;
}

.zt-auth-primary {
    box-shadow: 0 12px 26px rgba(24, 119, 242, .22);
}

@media (max-width: 1320px) {
    .zt-brand {
        min-width: 170px;
    }

    .zt-main-nav .nav-link {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 11px;
    }

    .zt-main-nav .nav-link i {
        min-width: 15px;
        font-size: 14px;
    }

    .zt-nav-actions .btn.zt-auth-btn {
        padding-left: 10px;
        padding-right: 10px;
    }
}
/* Homepage hero and booking v3 */
.zt-hero {
    min-height: 720px;
    padding: 138px 0 250px;
}

.zt-hero::before {
    background-image: linear-gradient(90deg, rgba(5, 18, 35, .94) 0%, rgba(8, 31, 58, .76) 45%, rgba(8, 31, 58, .28) 100%), var(--zt-hero-image);
    transform: scale(1.03);
}

.zt-hero::after {
    height: 250px;
    background: linear-gradient(180deg, rgba(245, 247, 250, 0), rgba(245, 247, 250, .72) 58%, var(--zt-bg));
}

.zt-hero-content {
    max-width: 820px;
    padding-top: 18px;
}

.zt-hero .zt-eyebrow {
    gap: 9px;
    margin-bottom: 20px;
    padding: 9px 13px;
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}

.zt-hero .zt-eyebrow i {
    font-size: 15px;
    color: #A8D4FF;
}

.zt-hero h1 {
    max-width: 760px;
    font-size: 64px;
    line-height: 1.02;
    text-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.zt-hero p {
    max-width: 720px;
    margin-top: 20px;
    color: rgba(255, 255, 255, .88);
    font-size: 19px;
    line-height: 1.55;
}

.zt-hero-services {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    max-width: 720px;
    margin-top: 24px;
}

.zt-hero-services span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .11);
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    font-weight: 850;
    backdrop-filter: blur(14px);
}

.zt-hero-services i {
    color: #B9DDFF;
    font-size: 15px;
}

.zt-booking-shell {
    z-index: 10;
    margin-top: -245px;
    padding-bottom: 22px;
}

.zt-booking-panel {
    position: relative;
    border: 1px solid rgba(207, 219, 234, .98);
    border-radius: 16px;
    background: rgba(255, 255, 255, .99);
    box-shadow: 0 34px 88px rgba(11, 31, 58, .2), 0 1px 0 rgba(255, 255, 255, .9) inset;
}

.zt-booking-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--zt-primary), #16A34A, #F59E0B);
}

.zt-booking-tabs {
    gap: 6px;
    padding: 11px 12px;
    border-bottom-color: rgba(226, 232, 240, .95);
    background: linear-gradient(180deg, #FFFFFF, #F6F9FD);
}

.zt-booking-tabs .nav-link {
    min-height: 40px;
    gap: 7px;
    padding: 9px 13px;
    border-radius: 8px;
    color: #31445F;
    font-size: 12px;
    font-weight: 850;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-booking-tabs .nav-link i {
    font-size: 15px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-booking-tabs .nav-link:hover,
.zt-booking-tabs .nav-link:focus {
    background: #EEF6FF;
    color: var(--zt-primary-dark);
    transform: translateY(-1px);
}

.zt-booking-tabs .nav-link.active {
    background: linear-gradient(180deg, #112D52, #0B1F3A);
    color: #fff;
    box-shadow: 0 14px 28px rgba(11, 31, 58, .18);
}

.zt-booking-body {
    padding: 24px;
}

.zt-trip-toggle {
    gap: 4px;
    padding: 4px;
    border-color: rgba(214, 225, 239, .95);
    border-radius: 8px;
    background: #F4F7FB;
}

.zt-trip-toggle label {
    padding: 8px 12px;
    border-radius: 7px;
    font-size: 12px;
    letter-spacing: 0;
}

.zt-trip-toggle input:checked + label {
    color: var(--zt-navy);
    box-shadow: 0 8px 18px rgba(11, 31, 58, .1);
}

.zt-search-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 560px;
    color: #53647A;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-search-note i {
    flex: 0 0 auto;
    color: var(--zt-success);
    font-size: 15px;
}

.zt-field .form-label {
    margin-bottom: 6px;
    color: #53647A;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.zt-field i {
    top: 41px;
    color: var(--zt-primary-dark);
    font-size: 16px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-field .form-control,
.zt-field .form-select {
    min-height: 50px;
    border-color: rgba(207, 219, 234, .98);
    border-radius: 8px;
    color: #17233C;
    font-size: 13px;
    font-weight: 750;
    box-shadow: none;
}

.zt-field .form-control:focus,
.zt-field .form-select:focus {
    border-color: rgba(24, 119, 242, .62);
    box-shadow: 0 0 0 .2rem rgba(24, 119, 242, .12);
}

.zt-booking-body .btn.btn-primary.btn-lg {
    min-height: 50px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 16px 32px rgba(24, 119, 242, .22);
}

@media (max-width: 1199.98px) {
    .zt-hero {
        min-height: 690px;
        padding: 120px 0 230px;
    }

    .zt-hero h1 {
        font-size: 54px;
    }

    .zt-hero p {
        font-size: 17px;
    }

    .zt-booking-shell {
        margin-top: -210px;
    }
}

@media (max-width: 767.98px) {
    .zt-hero {
        min-height: 620px;
        padding: 104px 0 190px;
    }

    .zt-hero::before {
        background-image: linear-gradient(180deg, rgba(5, 18, 35, .92), rgba(8, 31, 58, .58)), var(--zt-hero-image);
    }

    .zt-hero-content {
        padding-top: 0;
    }

    .zt-hero .zt-eyebrow {
        margin-bottom: 16px;
        padding: 8px 10px;
        font-size: 10px;
    }

    .zt-hero h1 {
        font-size: 38px;
        line-height: 1.06;
    }

    .zt-hero p {
        margin-top: 16px;
        font-size: 15px;
    }

    .zt-hero-services {
        gap: 7px;
        margin-top: 18px;
    }

    .zt-hero-services span {
        min-height: 34px;
        padding: 8px 9px;
        font-size: 11px;
    }

    .zt-booking-shell {
        margin-top: -156px;
        padding-bottom: 0;
    }

    .zt-booking-panel {
        border-radius: 18px 18px 0 0;
        box-shadow: 0 -12px 34px rgba(11, 31, 58, .16);
    }

    .zt-booking-tabs {
        gap: 5px;
        padding: 9px;
    }

    .zt-booking-tabs .nav-link {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 11.5px;
    }

    .zt-booking-body {
        padding: 16px;
    }

    .zt-trip-toggle {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zt-trip-toggle label {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 7px 6px;
        font-size: 11px;
        text-align: center;
    }

    .zt-search-note {
        width: 100%;
        max-width: none;
        font-size: 11.5px;
    }

    .zt-field .form-control,
    .zt-field .form-select {
        min-height: 48px;
        font-size: 13px;
    }
}
/* Homepage hero animation v4 */
.zt-hero::before {
    z-index: 0;
    background-image: linear-gradient(90deg, rgba(4, 16, 32, .96) 0%, rgba(8, 31, 58, .8) 42%, rgba(8, 31, 58, .28) 100%), var(--zt-hero-image);
}

.zt-hero::after {
    z-index: 1;
    pointer-events: none;
}

.zt-hero .zt-container,
.zt-hero-content {
    position: relative;
    z-index: 3;
}

.zt-hero-content {
    max-width: 840px;
}

.zt-hero .zt-eyebrow {
    gap: 10px;
    padding: 10px 14px;
    border-color: rgba(168, 212, 255, .38);
    background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .07));
    color: #F7FBFF;
    font-size: 11px;
    letter-spacing: .08em;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.zt-hero .zt-eyebrow i {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(168, 212, 255, .14);
    color: #A8D4FF;
}

.zt-hero h1 {
    max-width: 790px;
    font-size: clamp(48px, 5.8vw, 78px);
    line-height: 1;
    color: #fff;
    background: linear-gradient(90deg, #FFFFFF 0%, #F1F8FF 52%, #B9DDFF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-wrap: balance;
    text-shadow: none;
}

.zt-hero h1::after {
    content: "";
    display: block;
    width: clamp(96px, 14vw, 180px);
    height: 4px;
    margin-top: 20px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2, #16A34A, #F59E0B);
    box-shadow: 0 12px 28px rgba(24, 119, 242, .28);
}

.zt-hero p {
    max-width: 700px;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.62;
    text-wrap: pretty;
}

.zt-hero-services {
    gap: 10px;
    margin-top: 28px;
}

.zt-hero-services span {
    min-height: 42px;
    padding: 10px 13px;
    border-color: rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08));
    color: #F8FBFF;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, .2);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.zt-hero-services span:hover {
    transform: translateY(-2px);
    border-color: rgba(168, 212, 255, .48);
    background: linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .1));
}

.zt-hero-services span:nth-child(2) i {
    color: #B8F5D0;
}

.zt-hero-services span:nth-child(3) i {
    color: #FFE1A6;
}

.zt-hero-services span:nth-child(4) i {
    color: #D7C7FF;
}

.zt-hero-flight-layer {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
}

.zt-hero-plane {
    position: absolute;
    left: 50%;
    top: 68%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--zt-plane-color, #B9DDFF);
    font-size: clamp(42px, 5.8vw, 86px);
    line-height: 1;
    opacity: 0;
    background: transparent;
    filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .26));
    animation: ztHeroPlaneFlight 13.5s cubic-bezier(.22, .75, .18, 1) infinite;
    will-change: transform, opacity;
}

.zt-hero-plane i {
    background: transparent;
    transform: rotate(34deg);
    -webkit-text-stroke: .45px currentColor;
}

.zt-hero-plane-blue {
    --zt-plane-color: #A8D4FF;
    --zt-plane-x: clamp(330px, 44vw, 780px);
    --zt-plane-y: clamp(-560px, -54vh, -360px);
    animation-delay: 0s;
}

.zt-hero-plane-gold {
    --zt-plane-color: #FFD37A;
    --zt-plane-x: clamp(300px, 40vw, 720px);
    --zt-plane-y: clamp(-520px, -50vh, -330px);
    animation-delay: 3.4s;
    font-size: clamp(36px, 5vw, 76px);
}

.zt-hero-plane-green {
    --zt-plane-color: #7CE7A4;
    --zt-plane-x: clamp(360px, 48vw, 820px);
    --zt-plane-y: clamp(-590px, -58vh, -380px);
    animation-delay: 6.8s;
    font-size: clamp(40px, 5.4vw, 80px);
}

@keyframes ztHeroPlaneFlight {
    0% {
        opacity: 0;
        transform: translate3d(0, 0, 0) scale(.62);
    }

    8% {
        opacity: .92;
    }

    48% {
        opacity: .96;
    }

    78% {
        opacity: .58;
    }

    100% {
        opacity: 0;
        transform: translate3d(var(--zt-plane-x), var(--zt-plane-y), 0) scale(1.08);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero h1 {
        font-size: clamp(42px, 6vw, 60px);
    }

    .zt-hero-plane {
        left: 48%;
        top: 72%;
    }
}

@media (max-width: 767.98px) {
    .zt-hero .zt-eyebrow {
        max-width: 100%;
        font-size: 9.5px;
        line-height: 1.25;
    }

    .zt-hero h1 {
        font-size: clamp(34px, 10vw, 44px);
    }

    .zt-hero h1::after {
        height: 3px;
        margin-top: 16px;
    }

    .zt-hero p {
        font-size: 15px;
        line-height: 1.5;
    }

    .zt-hero-services {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 22px;
    }

    .zt-hero-services span {
        justify-content: flex-start;
        min-height: 38px;
        padding: 9px 10px;
        font-size: 11px;
    }

    .zt-hero-plane {
        left: 36%;
        top: 76%;
        font-size: 42px;
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-plane-x: 76vw;
        --zt-plane-y: -46vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero-plane {
        animation: none;
        opacity: .22;
        transform: translate3d(42vw, -32vh, 0) scale(.92);
    }
}
/* Real transparent plane image assets */
.zt-hero-plane {
    width: clamp(240px, 31vw, 520px);
    height: auto;
    color: transparent;
    font-size: 0;
    background: transparent !important;
    filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .3));
}

.zt-hero-plane img {
    display: block;
    width: 100%;
    height: auto;
    background: transparent;
    pointer-events: none;
    user-select: none;
}

.zt-hero-plane-blue {
    width: clamp(260px, 34vw, 560px);
}

.zt-hero-plane-gold {
    width: clamp(220px, 29vw, 500px);
}

.zt-hero-plane-green {
    width: clamp(230px, 30vw, 520px);
}

@media (max-width: 767.98px) {
    .zt-hero-plane,
    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        width: clamp(170px, 58vw, 300px);
    }
}
/* Sequential real-plane takeoff path */
.zt-hero-plane {
    left: -34vw;
    top: 88%;
    opacity: 0;
    transform-origin: 62% 46%;
    animation: ztHeroPlaneTakeoff 18s cubic-bezier(.18, .72, .2, 1) infinite;
    filter: drop-shadow(0 24px 26px rgba(0, 0, 0, .32));
}

.zt-hero-plane img {
    transform: rotate(-1deg);
    transform-origin: 62% 46%;
}

.zt-hero-plane-blue {
    --zt-takeoff-start-x: 0vw;
    --zt-takeoff-start-y: 5vh;
    --zt-takeoff-mid-x: 70vw;
    --zt-takeoff-mid-y: -34vh;
    --zt-takeoff-end-x: 132vw;
    --zt-takeoff-end-y: -82vh;
    animation-delay: 0s;
}

.zt-hero-plane-gold {
    --zt-takeoff-start-x: -4vw;
    --zt-takeoff-start-y: 8vh;
    --zt-takeoff-mid-x: 68vw;
    --zt-takeoff-mid-y: -30vh;
    --zt-takeoff-end-x: 130vw;
    --zt-takeoff-end-y: -78vh;
    animation-delay: 6s;
}

.zt-hero-plane-green {
    --zt-takeoff-start-x: -2vw;
    --zt-takeoff-start-y: 6vh;
    --zt-takeoff-mid-x: 72vw;
    --zt-takeoff-mid-y: -36vh;
    --zt-takeoff-end-x: 136vw;
    --zt-takeoff-end-y: -86vh;
    animation-delay: 12s;
}

@keyframes ztHeroPlaneTakeoff {
    0% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-2deg) scale(.54);
    }

    4% {
        opacity: 1;
    }

    18% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-mid-x), var(--zt-takeoff-mid-y), 0) rotate(-3deg) scale(.86);
    }

    29% {
        opacity: .95;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-4deg) scale(1.08);
    }

    33%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-4deg) scale(1.08);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-plane {
        left: -42vw;
        top: 90%;
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-mid-x: 76vw;
        --zt-takeoff-mid-y: -34vh;
        --zt-takeoff-end-x: 142vw;
        --zt-takeoff-end-y: -78vh;
    }
}

@media (max-width: 767.98px) {
    .zt-hero-plane {
        left: -64vw;
        top: 90%;
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-start-x: 0vw;
        --zt-takeoff-start-y: 3vh;
        --zt-takeoff-mid-x: 86vw;
        --zt-takeoff-mid-y: -28vh;
        --zt-takeoff-end-x: 164vw;
        --zt-takeoff-end-y: -68vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero-plane {
        animation: none;
        opacity: .24;
        transform: translate3d(102vw, -62vh, 0) rotate(-4deg) scale(.92);
    }
}
/* Precise hero-copy takeoff path */
.zt-hero-plane {
    left: clamp(18px, 4vw, 58px);
    top: clamp(392px, 58%, 508px);
    width: clamp(320px, 42vw, 700px);
    opacity: 0;
    transform-origin: 64% 45%;
    animation: ztHeroPlaneTakeoff 12s cubic-bezier(.16, .72, .18, 1) infinite;
    filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .34));
}

.zt-hero-plane img {
    transform: rotate(-4deg);
    transform-origin: 64% 45%;
}

.zt-hero-plane-blue {
    width: clamp(350px, 46vw, 760px);
    --zt-takeoff-start-x: 0vw;
    --zt-takeoff-start-y: 0vh;
    --zt-takeoff-mid-x: 46vw;
    --zt-takeoff-mid-y: -25vh;
    --zt-takeoff-top-x: 72vw;
    --zt-takeoff-top-y: -42vh;
    --zt-takeoff-end-x: 94vw;
    --zt-takeoff-end-y: -52vh;
    animation-delay: 0s;
}

.zt-hero-plane-gold {
    width: clamp(310px, 40vw, 660px);
    --zt-takeoff-start-x: 0vw;
    --zt-takeoff-start-y: 1vh;
    --zt-takeoff-mid-x: 44vw;
    --zt-takeoff-mid-y: -23vh;
    --zt-takeoff-top-x: 70vw;
    --zt-takeoff-top-y: -40vh;
    --zt-takeoff-end-x: 92vw;
    --zt-takeoff-end-y: -50vh;
    animation-delay: 4s;
}

.zt-hero-plane-green {
    width: clamp(330px, 43vw, 710px);
    --zt-takeoff-start-x: 0vw;
    --zt-takeoff-start-y: 0vh;
    --zt-takeoff-mid-x: 48vw;
    --zt-takeoff-mid-y: -27vh;
    --zt-takeoff-top-x: 74vw;
    --zt-takeoff-top-y: -44vh;
    --zt-takeoff-end-x: 96vw;
    --zt-takeoff-end-y: -54vh;
    animation-delay: 8s;
}

@keyframes ztHeroPlaneTakeoff {
    0% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-7deg) scale(.7);
    }

    3% {
        opacity: 1;
    }

    18% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-mid-x), var(--zt-takeoff-mid-y), 0) rotate(-10deg) scale(.95);
    }

    29% {
        opacity: .98;
        transform: translate3d(var(--zt-takeoff-top-x), var(--zt-takeoff-top-y), 0) rotate(-12deg) scale(1.08);
    }

    32% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-13deg) scale(1.16);
    }

    33%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-13deg) scale(1.16);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-plane {
        left: clamp(14px, 4vw, 42px);
        top: clamp(360px, 62%, 500px);
        width: clamp(300px, 52vw, 650px);
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-mid-x: 52vw;
        --zt-takeoff-mid-y: -24vh;
        --zt-takeoff-top-x: 76vw;
        --zt-takeoff-top-y: -41vh;
        --zt-takeoff-end-x: 104vw;
        --zt-takeoff-end-y: -52vh;
    }
}

@media (max-width: 767.98px) {
    .zt-hero-plane {
        left: 10px;
        top: clamp(380px, 64%, 470px);
        width: clamp(235px, 78vw, 410px);
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-start-x: 0vw;
        --zt-takeoff-start-y: 0vh;
        --zt-takeoff-mid-x: 48vw;
        --zt-takeoff-mid-y: -22vh;
        --zt-takeoff-top-x: 78vw;
        --zt-takeoff-top-y: -39vh;
        --zt-takeoff-end-x: 116vw;
        --zt-takeoff-end-y: -49vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero-plane {
        animation: none;
        opacity: .24;
        transform: translate3d(74vw, -42vh, 0) rotate(-12deg) scale(1.02);
    }
}
/* Continuous no-stop plane takeoff */
.zt-hero-plane {
    animation: ztHeroPlaneTakeoff 12s linear infinite;
}

.zt-hero-plane img {
    transform: rotate(-9deg);
}

.zt-hero-plane-blue {
    --zt-takeoff-end-x: 98vw;
    --zt-takeoff-end-y: -60vh;
}

.zt-hero-plane-gold {
    --zt-takeoff-end-x: 96vw;
    --zt-takeoff-end-y: -58vh;
}

.zt-hero-plane-green {
    --zt-takeoff-end-x: 100vw;
    --zt-takeoff-end-y: -62vh;
}

@keyframes ztHeroPlaneTakeoff {
    0% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-10deg) scale(.7);
    }

    3% {
        opacity: 1;
    }

    29% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.16);
    }

    32%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.16);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-end-x: 108vw;
        --zt-takeoff-end-y: -58vh;
    }
}

@media (max-width: 767.98px) {
    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-end-x: 122vw;
        --zt-takeoff-end-y: -54vh;
    }
}
/* Hard sequenced real-plane flights */
.zt-hero-plane {
    animation-duration: 10.8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 0s !important;
}

.zt-hero-plane-blue {
    animation-name: ztHeroPlaneTakeoffBlue;
}

.zt-hero-plane-gold {
    animation-name: ztHeroPlaneTakeoffGold;
}

.zt-hero-plane-green {
    animation-name: ztHeroPlaneTakeoffGreen;
}

@keyframes ztHeroPlaneTakeoffBlue {
    0% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-10deg) scale(.72);
    }

    2% {
        opacity: 1;
    }

    27% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }

    31%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }
}

@keyframes ztHeroPlaneTakeoffGold {
    0%,
    32% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-10deg) scale(.72);
    }

    34% {
        opacity: 1;
    }

    60% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }

    64%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }
}

@keyframes ztHeroPlaneTakeoffGreen {
    0%,
    66% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-start-x), var(--zt-takeoff-start-y), 0) rotate(-10deg) scale(.72);
    }

    68% {
        opacity: 1;
    }

    94% {
        opacity: 1;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }

    98%,
    100% {
        opacity: 0;
        transform: translate3d(var(--zt-takeoff-end-x), var(--zt-takeoff-end-y), 0) rotate(-18deg) scale(1.18);
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        animation-name: none;
    }
}
/* Clean animated hero copy */
.zt-hero-content {
    max-width: 780px;
}

.zt-hero .zt-eyebrow {
    gap: 9px;
    margin-bottom: 18px;
    padding: 9px 12px;
    border-color: rgba(185, 221, 255, .32);
    background: rgba(7, 24, 45, .36);
    color: rgba(255, 255, 255, .9);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .07em;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, .14);
    backdrop-filter: blur(16px);
}

.zt-hero .zt-eyebrow i {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    background: rgba(185, 221, 255, .12);
    color: #B9DDFF;
    font-size: 13px;
}

.zt-hero h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(48px, 5.25vw, 72px);
    line-height: 1.02;
    letter-spacing: 0;
    background: linear-gradient(92deg, #FFFFFF 0%, #FFFFFF 28%, #B9DDFF 48%, #FFFFFF 68%, #EAF3FF 100%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: ztHeroHeadlineSheen 6.5s ease-in-out infinite, ztHeroHeadlineLift .75s ease-out both;
}

.zt-hero h1::after {
    width: 138px;
    height: 3px;
    margin-top: 18px;
    background: linear-gradient(90deg, #1877F2, #16A34A, #F59E0B);
    box-shadow: 0 10px 24px rgba(24, 119, 242, .24);
    transform-origin: left center;
    animation: ztHeroRuleGrow .75s ease-out .18s both;
}

.zt-hero p {
    max-width: 660px;
    margin-top: 18px;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.62;
    font-weight: 600;
    animation: ztHeroCopyFade .85s ease-out .12s both;
}

@keyframes ztHeroHeadlineSheen {
    0%,
    38% {
        background-position: 0% 50%;
    }

    62%,
    100% {
        background-position: 100% 50%;
    }
}

@keyframes ztHeroHeadlineLift {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

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

@keyframes ztHeroRuleGrow {
    from {
        opacity: 0;
        transform: scaleX(.18);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes ztHeroCopyFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

@media (max-width: 767.98px) {
    .zt-hero .zt-eyebrow {
        align-items: flex-start;
        padding: 8px 10px;
        font-size: 9.5px;
        line-height: 1.25;
    }

    .zt-hero h1 {
        font-size: clamp(34px, 10vw, 44px);
    }

    .zt-hero h1::after {
        width: 104px;
        margin-top: 14px;
    }

    .zt-hero p {
        max-width: 100%;
        margin-top: 14px;
        font-size: 14.5px;
        line-height: 1.5;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero h1,
    .zt-hero h1::after,
    .zt-hero p {
        animation: none;
    }
}
/* Further-left plane takeoff origin */
.zt-hero-plane {
    left: clamp(-360px, -28vw, -150px);
}

.zt-hero-plane-blue,
.zt-hero-plane-gold,
.zt-hero-plane-green {
    --zt-takeoff-start-x: -18vw;
}

@media (max-width: 1199.98px) {
    .zt-hero-plane {
        left: clamp(-340px, -36vw, -170px);
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-start-x: -24vw;
    }
}

@media (max-width: 767.98px) {
    .zt-hero-plane {
        left: -72vw;
    }

    .zt-hero-plane-blue,
    .zt-hero-plane-gold,
    .zt-hero-plane-green {
        --zt-takeoff-start-x: -20vw;
    }
}
/* Single continuous green plane */
.zt-hero-plane-blue,
.zt-hero-plane-gold {
    display: none !important;
}

.zt-hero-flight-layer .zt-hero-plane-green {
    display: inline-flex !important;
    left: clamp(-360px, -28vw, -150px);
    top: clamp(392px, 58%, 508px);
    width: clamp(350px, 46vw, 760px);
    opacity: 0;
    animation: ztHeroSinglePlaneFlyaway 5.2s linear infinite !important;
    animation-delay: 0s !important;
    transform-origin: 64% 45%;
    filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .34));
}

.zt-hero-flight-layer .zt-hero-plane-green img {
    transform: rotate(-10deg);
    transform-origin: 64% 45%;
}

@keyframes ztHeroSinglePlaneFlyaway {
    0% {
        opacity: 0;
        transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.72);
    }

    4% {
        opacity: 1;
    }

    92% {
        opacity: 1;
        transform: translate3d(100vw, -62vh, 0) rotate(-18deg) scale(1.18);
    }

    100% {
        opacity: 0;
        transform: translate3d(118vw, -72vh, 0) rotate(-20deg) scale(1.22);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-340px, -36vw, -170px);
        top: clamp(360px, 62%, 500px);
        width: clamp(320px, 54vw, 700px);
    }

    @keyframes ztHeroSinglePlaneFlyaway {
        0% {
            opacity: 0;
            transform: translate3d(-24vw, 0vh, 0) rotate(-10deg) scale(.72);
        }

        4% {
            opacity: 1;
        }

        92% {
            opacity: 1;
            transform: translate3d(108vw, -60vh, 0) rotate(-18deg) scale(1.18);
        }

        100% {
            opacity: 0;
            transform: translate3d(126vw, -70vh, 0) rotate(-20deg) scale(1.22);
        }
    }
}

@media (max-width: 767.98px) {
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: -72vw;
        top: clamp(380px, 64%, 470px);
        width: clamp(250px, 82vw, 430px);
    }

    @keyframes ztHeroSinglePlaneFlyaway {
        0% {
            opacity: 0;
            transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.72);
        }

        4% {
            opacity: 1;
        }

        92% {
            opacity: 1;
            transform: translate3d(122vw, -54vh, 0) rotate(-18deg) scale(1.18);
        }

        100% {
            opacity: 0;
            transform: translate3d(144vw, -64vh, 0) rotate(-20deg) scale(1.22);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hero-flight-layer .zt-hero-plane-green {
        animation: none !important;
        opacity: .24;
        transform: translate3d(82vw, -52vh, 0) rotate(-18deg) scale(1.04);
    }
}
/* Two-plane blue-green continuous sequence */
.zt-hero-plane-gold {
    display: none !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue,
.zt-hero-flight-layer .zt-hero-plane-green {
    display: inline-flex !important;
    left: clamp(-360px, -28vw, -150px);
    top: clamp(392px, 58%, 508px);
    opacity: 0;
    transform-origin: 64% 45%;
    filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .34));
    animation-duration: 10.4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 0s !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue {
    width: clamp(350px, 46vw, 760px);
    animation-name: ztHeroBluePlaneFlyaway;
}

.zt-hero-flight-layer .zt-hero-plane-green {
    width: clamp(350px, 46vw, 760px);
    animation-name: ztHeroGreenPlaneFlyaway;
}

.zt-hero-flight-layer .zt-hero-plane-blue img,
.zt-hero-flight-layer .zt-hero-plane-green img {
    transform: rotate(-10deg);
    transform-origin: 64% 45%;
}

@keyframes ztHeroBluePlaneFlyaway {
    0% {
        opacity: 0;
        transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.72);
    }

    3% {
        opacity: 1;
    }

    43% {
        opacity: 1;
        transform: translate3d(100vw, -62vh, 0) rotate(-18deg) scale(1.18);
    }

    50%,
    100% {
        opacity: 0;
        transform: translate3d(118vw, -72vh, 0) rotate(-20deg) scale(1.22);
    }
}

@keyframes ztHeroGreenPlaneFlyaway {
    0%,
    50% {
        opacity: 0;
        transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.72);
    }

    53% {
        opacity: 1;
    }

    93% {
        opacity: 1;
        transform: translate3d(100vw, -62vh, 0) rotate(-18deg) scale(1.18);
    }

    100% {
        opacity: 0;
        transform: translate3d(118vw, -72vh, 0) rotate(-20deg) scale(1.22);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-340px, -36vw, -170px);
        top: clamp(360px, 62%, 500px);
        width: clamp(320px, 54vw, 700px);
    }

    @keyframes ztHeroBluePlaneFlyaway {
        0% { opacity: 0; transform: translate3d(-24vw, 0vh, 0) rotate(-10deg) scale(.72); }
        3% { opacity: 1; }
        43% { opacity: 1; transform: translate3d(108vw, -60vh, 0) rotate(-18deg) scale(1.18); }
        50%, 100% { opacity: 0; transform: translate3d(126vw, -70vh, 0) rotate(-20deg) scale(1.22); }
    }

    @keyframes ztHeroGreenPlaneFlyaway {
        0%, 50% { opacity: 0; transform: translate3d(-24vw, 0vh, 0) rotate(-10deg) scale(.72); }
        53% { opacity: 1; }
        93% { opacity: 1; transform: translate3d(108vw, -60vh, 0) rotate(-18deg) scale(1.18); }
        100% { opacity: 0; transform: translate3d(126vw, -70vh, 0) rotate(-20deg) scale(1.22); }
    }
}

@media (max-width: 767.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: -72vw;
        top: clamp(380px, 64%, 470px);
        width: clamp(250px, 82vw, 430px);
    }

    @keyframes ztHeroBluePlaneFlyaway {
        0% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.72); }
        3% { opacity: 1; }
        43% { opacity: 1; transform: translate3d(122vw, -54vh, 0) rotate(-18deg) scale(1.18); }
        50%, 100% { opacity: 0; transform: translate3d(144vw, -64vh, 0) rotate(-20deg) scale(1.22); }
    }

    @keyframes ztHeroGreenPlaneFlyaway {
        0%, 50% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.72); }
        53% { opacity: 1; }
        93% { opacity: 1; transform: translate3d(122vw, -54vh, 0) rotate(-18deg) scale(1.18); }
        100% { opacity: 0; transform: translate3d(144vw, -64vh, 0) rotate(-20deg) scale(1.22); }
    }
}
/* Blue plane only final */
.zt-hero-plane-gold,
.zt-hero-plane-green {
    display: none !important;
    animation: none !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue {
    display: inline-flex !important;
    left: clamp(-360px, -28vw, -150px);
    top: clamp(392px, 58%, 508px);
    width: clamp(350px, 46vw, 760px);
    opacity: 0;
    animation: ztHeroBlueOnlyFlyaway 5.2s linear infinite !important;
    animation-delay: 0s !important;
    transform-origin: 64% 45%;
    filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .34));
}

.zt-hero-flight-layer .zt-hero-plane-blue img {
    transform: rotate(-10deg);
    transform-origin: 64% 45%;
}

@keyframes ztHeroBlueOnlyFlyaway {
    0% {
        opacity: 0;
        transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.72);
    }

    4% {
        opacity: 1;
    }

    92% {
        opacity: 1;
        transform: translate3d(100vw, -62vh, 0) rotate(-18deg) scale(1.18);
    }

    100% {
        opacity: 0;
        transform: translate3d(118vw, -72vh, 0) rotate(-20deg) scale(1.22);
    }
}

@media (max-width: 1199.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue {
        left: clamp(-340px, -36vw, -170px);
        top: clamp(360px, 62%, 500px);
        width: clamp(320px, 54vw, 700px);
    }

    @keyframes ztHeroBlueOnlyFlyaway {
        0% { opacity: 0; transform: translate3d(-24vw, 0vh, 0) rotate(-10deg) scale(.72); }
        4% { opacity: 1; }
        92% { opacity: 1; transform: translate3d(108vw, -60vh, 0) rotate(-18deg) scale(1.18); }
        100% { opacity: 0; transform: translate3d(126vw, -70vh, 0) rotate(-20deg) scale(1.22); }
    }
}

@media (max-width: 767.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue {
        left: -72vw;
        top: clamp(380px, 64%, 470px);
        width: clamp(250px, 82vw, 430px);
    }

    @keyframes ztHeroBlueOnlyFlyaway {
        0% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.72); }
        4% { opacity: 1; }
        92% { opacity: 1; transform: translate3d(122vw, -54vh, 0) rotate(-18deg) scale(1.18); }
        100% { opacity: 0; transform: translate3d(144vw, -64vh, 0) rotate(-20deg) scale(1.22); }
    }
}
/* Final two smaller planes */
.zt-hero-plane-gold {
    display: none !important;
    animation: none !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue,
.zt-hero-flight-layer .zt-hero-plane-green {
    display: inline-flex !important;
    left: clamp(-300px, -24vw, -130px);
    top: clamp(404px, 59%, 508px);
    width: clamp(250px, 34vw, 560px);
    opacity: 0;
    transform-origin: 64% 45%;
    filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .3));
    animation-duration: 10.4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 0s !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue {
    animation-name: ztHeroBluePlaneFlyawaySmall;
}

.zt-hero-flight-layer .zt-hero-plane-green {
    animation-name: ztHeroGreenPlaneFlyawaySmall;
}

.zt-hero-flight-layer .zt-hero-plane-blue img,
.zt-hero-flight-layer .zt-hero-plane-green img {
    transform: rotate(-10deg);
    transform-origin: 64% 45%;
}

@keyframes ztHeroBluePlaneFlyawaySmall {
    0% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
    3% { opacity: 1; }
    43% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-18deg) scale(1.1); }
    50%, 100% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-20deg) scale(1.14); }
}

@keyframes ztHeroGreenPlaneFlyawaySmall {
    0%, 50% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
    53% { opacity: 1; }
    93% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-18deg) scale(1.1); }
    100% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-20deg) scale(1.14); }
}

@media (max-width: 1199.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-280px, -32vw, -150px);
        top: clamp(370px, 62%, 500px);
        width: clamp(230px, 42vw, 500px);
    }

    @keyframes ztHeroBluePlaneFlyawaySmall {
        0% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
        3% { opacity: 1; }
        43% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-18deg) scale(1.1); }
        50%, 100% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-20deg) scale(1.14); }
    }

    @keyframes ztHeroGreenPlaneFlyawaySmall {
        0%, 50% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
        53% { opacity: 1; }
        93% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-18deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-20deg) scale(1.14); }
    }
}

@media (max-width: 767.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: -62vw;
        top: clamp(388px, 64%, 470px);
        width: clamp(180px, 64vw, 330px);
    }

    @keyframes ztHeroBluePlaneFlyawaySmall {
        0% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
        3% { opacity: 1; }
        43% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-18deg) scale(1.1); }
        50%, 100% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-20deg) scale(1.14); }
    }

    @keyframes ztHeroGreenPlaneFlyawaySmall {
        0%, 50% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
        53% { opacity: 1; }
        93% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-18deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-20deg) scale(1.14); }
    }
}
/* Strict alternating blue green planes */
.zt-hero-plane-gold {
    display: none !important;
    animation: none !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue,
.zt-hero-flight-layer .zt-hero-plane-green {
    display: inline-flex !important;
    left: clamp(-300px, -24vw, -130px);
    top: clamp(404px, 59%, 508px);
    width: clamp(250px, 34vw, 560px);
    opacity: 0;
    transform-origin: 64% 45%;
    filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .3));
}

.zt-hero-flight-layer .zt-hero-plane-blue {
    animation: ztHeroBlueStrictFlyaway 10.4s linear 0s infinite !important;
}

.zt-hero-flight-layer .zt-hero-plane-green {
    animation: ztHeroGreenStrictFlyaway 10.4s linear 0s infinite !important;
}

.zt-hero-flight-layer .zt-hero-plane-blue img,
.zt-hero-flight-layer .zt-hero-plane-green img {
    transform: rotate(-10deg);
    transform-origin: 64% 45%;
}

@keyframes ztHeroBlueStrictFlyaway {
    0% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
    3% { opacity: 1; transform: translate3d(-6vw, -4vh, 0) rotate(-11deg) scale(.76); }
    42% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-18deg) scale(1.1); }
    48% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-20deg) scale(1.14); }
    48.01%, 100% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
}

@keyframes ztHeroGreenStrictFlyaway {
    0%, 51.99% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
    52% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-10deg) scale(.7); }
    55% { opacity: 1; transform: translate3d(-6vw, -4vh, 0) rotate(-11deg) scale(.76); }
    94% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-18deg) scale(1.1); }
    100% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-20deg) scale(1.14); }
}

@media (max-width: 1199.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-280px, -32vw, -150px);
        top: clamp(370px, 62%, 500px);
        width: clamp(230px, 42vw, 500px);
    }

    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-8vw, -4vh, 0) rotate(-11deg) scale(.76); }
        42% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-18deg) scale(1.1); }
        48% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-20deg) scale(1.14); }
        48.01%, 100% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-10deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-8vw, -4vh, 0) rotate(-11deg) scale(.76); }
        94% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-18deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-20deg) scale(1.14); }
    }
}

@media (max-width: 767.98px) {
    .zt-hero-flight-layer .zt-hero-plane-blue,
    .zt-hero-flight-layer .zt-hero-plane-green {
        left: -62vw;
        top: clamp(388px, 64%, 470px);
        width: clamp(180px, 64vw, 330px);
    }

    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-7vw, -3vh, 0) rotate(-11deg) scale(.76); }
        42% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-18deg) scale(1.1); }
        48% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-20deg) scale(1.14); }
        48.01%, 100% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-10deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-7vw, -3vh, 0) rotate(-11deg) scale(.76); }
        94% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-18deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-20deg) scale(1.14); }
    }
}
/* Softer plane takeoff angle */
.zt-hero-flight-layer .zt-hero-plane-blue img,
.zt-hero-flight-layer .zt-hero-plane-green img {
    transform: rotate(-6deg);
}

@keyframes ztHeroBlueStrictFlyaway {
    0% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-6deg) scale(.7); }
    3% { opacity: 1; transform: translate3d(-6vw, -4vh, 0) rotate(-7deg) scale(.76); }
    42% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-12deg) scale(1.1); }
    48% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-13deg) scale(1.14); }
    48.01%, 100% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-6deg) scale(.7); }
}

@keyframes ztHeroGreenStrictFlyaway {
    0%, 51.99% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-6deg) scale(.7); }
    52% { opacity: 0; transform: translate3d(-14vw, 0vh, 0) rotate(-6deg) scale(.7); }
    55% { opacity: 1; transform: translate3d(-6vw, -4vh, 0) rotate(-7deg) scale(.76); }
    94% { opacity: 1; transform: translate3d(96vw, -58vh, 0) rotate(-12deg) scale(1.1); }
    100% { opacity: 0; transform: translate3d(112vw, -68vh, 0) rotate(-13deg) scale(1.14); }
}

@media (max-width: 1199.98px) {
    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-8vw, -4vh, 0) rotate(-7deg) scale(.76); }
        42% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-12deg) scale(1.1); }
        48% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-13deg) scale(1.14); }
        48.01%, 100% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-20vw, 0vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-8vw, -4vh, 0) rotate(-7deg) scale(.76); }
        94% { opacity: 1; transform: translate3d(104vw, -56vh, 0) rotate(-12deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(120vw, -66vh, 0) rotate(-13deg) scale(1.14); }
    }
}

@media (max-width: 767.98px) {
    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-7vw, -3vh, 0) rotate(-7deg) scale(.76); }
        42% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-12deg) scale(1.1); }
        48% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-13deg) scale(1.14); }
        48.01%, 100% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-18vw, 0vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-7vw, -3vh, 0) rotate(-7deg) scale(.76); }
        94% { opacity: 1; transform: translate3d(116vw, -50vh, 0) rotate(-12deg) scale(1.1); }
        100% { opacity: 0; transform: translate3d(136vw, -60vh, 0) rotate(-13deg) scale(1.14); }
    }
}
/* Smoother blue green plane motion */
.zt-hero-flight-layer .zt-hero-plane-blue,
.zt-hero-flight-layer .zt-hero-plane-green {
    animation-duration: 12s !important;
    animation-timing-function: linear !important;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

@keyframes ztHeroBlueStrictFlyaway {
    0% { opacity: 0; transform: translate3d(-14vw, 1vh, 0) rotate(-6deg) scale(.7); }
    3% { opacity: 1; transform: translate3d(-6vw, -3vh, 0) rotate(-7deg) scale(.75); }
    18% { opacity: 1; transform: translate3d(30vw, -20vh, 0) rotate(-9deg) scale(.9); }
    34% { opacity: 1; transform: translate3d(70vw, -43vh, 0) rotate(-11deg) scale(1.03); }
    45% { opacity: .92; transform: translate3d(104vw, -62vh, 0) rotate(-12deg) scale(1.12); }
    49% { opacity: 0; transform: translate3d(118vw, -70vh, 0) rotate(-13deg) scale(1.16); }
    49.01%, 100% { opacity: 0; transform: translate3d(-14vw, 1vh, 0) rotate(-6deg) scale(.7); }
}

@keyframes ztHeroGreenStrictFlyaway {
    0%, 51.99% { opacity: 0; transform: translate3d(-14vw, 1vh, 0) rotate(-6deg) scale(.7); }
    52% { opacity: 0; transform: translate3d(-14vw, 1vh, 0) rotate(-6deg) scale(.7); }
    55% { opacity: 1; transform: translate3d(-6vw, -3vh, 0) rotate(-7deg) scale(.75); }
    70% { opacity: 1; transform: translate3d(30vw, -20vh, 0) rotate(-9deg) scale(.9); }
    86% { opacity: 1; transform: translate3d(70vw, -43vh, 0) rotate(-11deg) scale(1.03); }
    96% { opacity: .92; transform: translate3d(104vw, -62vh, 0) rotate(-12deg) scale(1.12); }
    100% { opacity: 0; transform: translate3d(118vw, -70vh, 0) rotate(-13deg) scale(1.16); }
}

@media (max-width: 1199.98px) {
    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-20vw, 1vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-8vw, -3vh, 0) rotate(-7deg) scale(.75); }
        18% { opacity: 1; transform: translate3d(34vw, -20vh, 0) rotate(-9deg) scale(.9); }
        34% { opacity: 1; transform: translate3d(78vw, -42vh, 0) rotate(-11deg) scale(1.03); }
        45% { opacity: .92; transform: translate3d(112vw, -60vh, 0) rotate(-12deg) scale(1.12); }
        49% { opacity: 0; transform: translate3d(128vw, -68vh, 0) rotate(-13deg) scale(1.16); }
        49.01%, 100% { opacity: 0; transform: translate3d(-20vw, 1vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-20vw, 1vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-20vw, 1vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-8vw, -3vh, 0) rotate(-7deg) scale(.75); }
        70% { opacity: 1; transform: translate3d(34vw, -20vh, 0) rotate(-9deg) scale(.9); }
        86% { opacity: 1; transform: translate3d(78vw, -42vh, 0) rotate(-11deg) scale(1.03); }
        96% { opacity: .92; transform: translate3d(112vw, -60vh, 0) rotate(-12deg) scale(1.12); }
        100% { opacity: 0; transform: translate3d(128vw, -68vh, 0) rotate(-13deg) scale(1.16); }
    }
}

@media (max-width: 767.98px) {
    @keyframes ztHeroBlueStrictFlyaway {
        0% { opacity: 0; transform: translate3d(-18vw, 1vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-7vw, -2vh, 0) rotate(-7deg) scale(.75); }
        18% { opacity: 1; transform: translate3d(38vw, -18vh, 0) rotate(-9deg) scale(.9); }
        34% { opacity: 1; transform: translate3d(86vw, -37vh, 0) rotate(-11deg) scale(1.03); }
        45% { opacity: .92; transform: translate3d(124vw, -53vh, 0) rotate(-12deg) scale(1.12); }
        49% { opacity: 0; transform: translate3d(142vw, -62vh, 0) rotate(-13deg) scale(1.16); }
        49.01%, 100% { opacity: 0; transform: translate3d(-18vw, 1vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenStrictFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-18vw, 1vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-18vw, 1vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-7vw, -2vh, 0) rotate(-7deg) scale(.75); }
        70% { opacity: 1; transform: translate3d(38vw, -18vh, 0) rotate(-9deg) scale(.9); }
        86% { opacity: 1; transform: translate3d(86vw, -37vh, 0) rotate(-11deg) scale(1.03); }
        96% { opacity: .92; transform: translate3d(124vw, -53vh, 0) rotate(-12deg) scale(1.12); }
        100% { opacity: 0; transform: translate3d(142vw, -62vh, 0) rotate(-13deg) scale(1.16); }
    }
}
/* Enterprise booking search upgrade */
.zt-booking-panel {
    overflow: visible;
    border: 1px solid rgba(202, 215, 232, .92);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 250, 253, .98));
    box-shadow: 0 26px 70px rgba(11, 31, 58, .18);
}

.zt-booking-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px;
    border-bottom: 1px solid rgba(214, 225, 239, .9);
    border-radius: 22px 22px 0 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F3F7FC 100%);
}

.zt-booking-tabs .nav-item {
    display: flex;
}

.zt-booking-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    gap: 9px;
    padding: 10px 15px;
    border: 0;
    border-radius: 12px;
    color: #263A56;
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    background: transparent;
    box-shadow: none;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-booking-tabs .nav-link i {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 9px;
    background: #EAF2FC;
    color: var(--zt-primary-dark);
    font-size: 16px;
    -webkit-text-stroke: .5px currentColor;
}

.zt-booking-tabs .nav-link:hover,
.zt-booking-tabs .nav-link:focus {
    background: #EDF6FF;
    color: var(--zt-primary-dark);
    transform: translateY(-1px);
}

.zt-booking-tabs .nav-link.active {
    background: linear-gradient(135deg, #071E3A 0%, #123E73 58%, #1877F2 100%);
    color: #fff;
    box-shadow: 0 16px 34px rgba(18, 62, 115, .28);
}

.zt-booking-tabs .nav-link.active i {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.zt-booking-body {
    padding: clamp(18px, 2.2vw, 30px);
}

.zt-booking-body form > .d-flex:first-child {
    align-items: center !important;
    padding: 8px 8px 16px;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(224, 232, 242, .86);
}

.zt-trip-toggle {
    gap: 5px;
    padding: 5px;
    border: 1px solid rgba(203, 216, 233, .95);
    border-radius: 13px;
    background: #EEF4FA;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-trip-toggle label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 10px;
    color: #3F536D;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.zt-trip-toggle input:checked + label {
    background: #fff;
    color: #071E3A;
    box-shadow: 0 10px 22px rgba(11, 31, 58, .12);
}

.zt-search-note {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: 640px;
    padding: 10px 12px;
    border: 1px solid rgba(192, 223, 208, .82);
    border-radius: 12px;
    background: linear-gradient(180deg, #F7FFF9, #F2FBF6);
    color: #334863;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
}

.zt-search-note i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    background: #DCFCE7;
    color: #15803D;
    font-size: 15px;
    -webkit-text-stroke: .45px currentColor;
}

.zt-booking-body .zt-grid {
    align-items: end;
    gap: 13px;
}

.zt-col-1 { grid-column: span 1; }

.zt-route-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    min-width: 0;
}

.zt-route-pair .zt-field {
    min-width: 0;
}

.zt-route-swap-wrap {
    display: flex;
    align-items: end;
    justify-content: center;
    height: 54px;
}

.zt-swap-btn {
    position: static !important;
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .74);
    border-radius: 50%;
    background: linear-gradient(135deg, #071E3A 0%, #1877F2 100%);
    color: #fff;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .3), inset 0 1px 0 rgba(255, 255, 255, .26);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.zt-swap-btn i {
    position: static;
    color: inherit;
    font-size: 20px;
    line-height: 1;
    pointer-events: none;
    -webkit-text-stroke: .65px currentColor;
}

.zt-swap-btn:hover,
.zt-swap-btn:focus {
    filter: saturate(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(24, 119, 242, .36), inset 0 1px 0 rgba(255, 255, 255, .3);
}

.zt-field .form-label {
    margin-bottom: 7px;
    color: #4F627A;
    font-size: 10.5px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.zt-field > i {
    top: 43px;
    left: 16px;
    color: #123E73;
    font-size: 17px;
    -webkit-text-stroke: .4px currentColor;
}

.zt-field .form-control,
.zt-field .form-select {
    min-height: 54px;
    padding-left: 44px;
    border: 1px solid rgba(198, 211, 229, .96);
    border-radius: 12px;
    background-color: #fff;
    color: #13243B;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 22px rgba(11, 31, 58, .045);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-field .form-control:focus,
.zt-field .form-select:focus {
    border-color: rgba(24, 119, 242, .72);
    background-color: #fff;
    box-shadow: 0 0 0 .22rem rgba(24, 119, 242, .13), 0 12px 28px rgba(11, 31, 58, .08);
}

.zt-booking-body .btn.btn-primary.btn-lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    gap: 8px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 18px 36px rgba(24, 119, 242, .26);
}

.zt-booking-body .btn.btn-primary.btn-lg i {
    margin-right: 0 !important;
    font-size: 16px;
    -webkit-text-stroke: .55px currentColor;
}

@media (max-width: 991.98px) {
    .zt-route-pair {
        grid-column: span 12;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-panel {
        border-radius: 20px 20px 0 0;
    }

    .zt-booking-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding: 10px;
        border-radius: 20px 20px 0 0;
    }

    .zt-booking-tabs .nav-item,
    .zt-booking-tabs .nav-link {
        width: 100%;
    }

    .zt-booking-tabs .nav-link {
        min-height: 44px;
        padding: 9px 10px;
        font-size: 11.5px;
    }

    .zt-booking-tabs .nav-link i {
        width: 24px;
        height: 24px;
        font-size: 15px;
    }

    .zt-booking-body form > .d-flex:first-child {
        padding: 2px 0 14px;
    }

    .zt-search-note {
        width: 100%;
        max-width: none;
        font-size: 11.5px;
    }

    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .zt-route-swap-wrap {
        height: 42px;
        align-items: center;
        margin: -2px 0;
    }

    .zt-route-pair .zt-swap-btn {
        width: 42px;
        height: 42px;
    }

    .zt-route-pair .zt-swap-btn i {
        transform: rotate(90deg);
        font-size: 18px;
    }

    .zt-swap-btn:hover,
    .zt-swap-btn:focus {
        transform: translateY(-1px);
    }

    .zt-field > i {
        top: 40px;
    }

    .zt-field .form-control,
    .zt-field .form-select,
    .zt-booking-body .btn.btn-primary.btn-lg {
        min-height: 50px;
        border-radius: 11px;
    }
}
/* Booking flag picker selects */
.zt-route-pair {
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 4px;
}

.zt-route-swap-wrap {
    height: 54px;
}

.zt-route-pair .zt-swap-btn {
    width: 42px;
    height: 42px;
}

.zt-route-pair .zt-swap-btn i {
    font-size: 18px;
}

.zt-field.has-flag-select > i {
    display: none;
}

.zt-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zt-flag-select {
    position: relative;
    width: 100%;
}

.zt-flag-select-button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 54px;
    gap: 10px;
    padding: 8px 42px 8px 12px;
    border: 1px solid rgba(198, 211, 229, .96);
    border-radius: 12px;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    color: #13243B;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: left;
    box-shadow: 0 8px 22px rgba(11, 31, 58, .045);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-flag-select-button:hover,
.zt-flag-select-button:focus,
.zt-flag-select.is-open .zt-flag-select-button {
    border-color: rgba(24, 119, 242, .72);
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(24, 119, 242, .13), 0 12px 28px rgba(11, 31, 58, .08);
    outline: 0;
}

.zt-flag-badge {
    display: inline-grid;
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 1px solid rgba(202, 215, 232, .86);
    border-radius: 50%;
    background: #FFFFFF;
    color: #123E73;
    font-size: 17px;
    font-weight: 950;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 6px 14px rgba(11, 31, 58, .06);
}

.zt-flag-value,
.zt-flag-option-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-flag-value {
    display: block;
    flex: 1 1 auto;
}

.zt-flag-caret {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #526985;
    border-bottom: 2px solid #526985;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .18s ease, border-color .18s ease;
}

.zt-flag-select.is-open .zt-flag-caret {
    border-color: var(--zt-primary-dark);
    transform: translateY(-35%) rotate(225deg);
}

.zt-flag-select-menu {
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    z-index: 60;
    display: none;
    max-height: 272px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 7px;
    border: 1px solid rgba(198, 211, 229, .96);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 24px 54px rgba(11, 31, 58, .18);
}

.zt-flag-select.is-open .zt-flag-select-menu {
    display: block;
}

.zt-flag-select-option {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    gap: 10px;
    padding: 6px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #233954;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-align: left;
}

.zt-flag-select-option:hover,
.zt-flag-select-option:focus {
    background: #EDF6FF;
    color: #0B3A70;
    outline: 0;
}

.zt-flag-select-option.is-selected {
    background: linear-gradient(135deg, #071E3A 0%, #123E73 100%);
    color: #fff;
}

.zt-flag-select-option.is-selected .zt-flag-badge {
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .15);
    color: #fff;
    box-shadow: none;
}

.zt-flag-select-option:disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 1199.98px) {
    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
        gap: 3px;
    }

    .zt-route-pair .zt-swap-btn {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 767.98px) {
    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .zt-route-swap-wrap {
        height: 40px;
        margin: -2px 0;
    }

    .zt-flag-select-button {
        min-height: 50px;
        padding: 7px 38px 7px 11px;
        border-radius: 11px;
        font-size: 12.5px;
    }

    .zt-flag-badge {
        flex-basis: 29px;
        width: 29px;
        height: 29px;
        font-size: 16px;
    }

    .zt-flag-select-menu {
        max-height: 230px;
        border-radius: 12px;
    }

    .zt-flag-select-option {
        min-height: 40px;
        font-size: 12px;
    }
}
/* Compact route picker and button sizing refinement */
@media (min-width: 1200px) {
    .zt-booking-body .zt-route-pair.zt-col-6 {
        grid-column: span 5;
    }
}

.zt-route-pair {
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    align-items: end;
    gap: 2px;
}

.zt-route-swap-wrap {
    align-self: end;
    align-items: center;
    justify-content: center;
    height: 52px;
    margin-inline: -1px;
}

.zt-route-pair .zt-swap-btn {
    width: 34px;
    height: 34px;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(24, 119, 242, .26), inset 0 1px 0 rgba(255, 255, 255, .24);
}

.zt-route-pair .zt-swap-btn i {
    font-size: 16px;
}

.zt-route-pair .zt-swap-btn:hover,
.zt-route-pair .zt-swap-btn:focus {
    transform: translateY(-2px);
}

.zt-flag-select-button {
    min-height: 52px;
    gap: 8px;
    padding: 7px 34px 7px 9px;
}

.zt-flag-badge {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 16px;
}

.zt-flag-caret {
    right: 13px;
    width: 8px;
    height: 8px;
}

.zt-flag-select-option {
    gap: 8px;
    min-height: 40px;
    padding: 6px 7px;
}

.zt-flag-select-option.is-route-blocked,
.zt-flag-select-option:disabled {
    background: #F5F7FA;
    color: #7A899B;
    opacity: .72;
}

.zt-flag-select-option.is-route-blocked .zt-flag-badge,
.zt-flag-select-option:disabled .zt-flag-badge {
    filter: grayscale(1);
    opacity: .72;
}

.zt-booking-tabs {
    gap: 6px;
}

.zt-booking-tabs .nav-link {
    min-height: 39px;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 10px;
    font-size: 11.5px;
}

.zt-booking-tabs .nav-link i {
    width: 22px;
    height: 22px;
    border-radius: 8px;
    font-size: 14px;
}

.zt-booking-body .btn.btn-primary.btn-lg {
    min-height: 50px;
    padding-inline: 18px;
}

.zt-booking-body .d-grid > .btn.btn-primary.btn-lg {
    justify-self: end;
    width: auto;
    min-width: 162px;
}

@media (max-width: 1199.98px) {
    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
        gap: 2px;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-tabs {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .zt-booking-tabs::-webkit-scrollbar {
        display: none;
    }

    .zt-booking-tabs .nav-item,
    .zt-booking-tabs .nav-link {
        flex: 0 0 auto;
        width: auto;
    }

    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .zt-route-swap-wrap {
        height: 38px;
        margin: -3px 0;
    }

    .zt-route-pair .zt-swap-btn {
        width: 38px;
        height: 38px;
        transform: none;
    }

    .zt-route-pair .zt-swap-btn:hover,
    .zt-route-pair .zt-swap-btn:focus {
        transform: translateY(-1px);
    }

    .zt-route-pair .zt-swap-btn i {
        font-size: 17px;
    }

    .zt-flag-select-button {
        min-height: 49px;
        padding: 7px 34px 7px 9px;
    }

    .zt-booking-body .d-grid > .btn.btn-primary.btn-lg {
        justify-self: stretch;
        width: 100%;
        min-width: 0;
    }
}
/* Cabin width and currency sync layout refinement */
.zt-cabin-field .zt-flag-value {
    max-width: none;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .zt-booking-body .zt-route-pair.zt-col-6 {
        grid-column: span 5;
    }

    .zt-cabin-field.zt-col-3 {
        grid-column: span 3;
    }
}

@media (min-width: 1200px) {
    .zt-cabin-field.zt-col-3 {
        grid-column: span 3;
    }
}

@media (max-width: 767.98px) {
    .zt-cabin-field.zt-col-3 {
        grid-column: span 12;
    }
}
/* Typed select picker badges */
.zt-flag-badge[data-picker-badge="flag"] {
    flex-basis: 28px;
    width: 28px;
    min-width: 28px;
    padding: 0;
    border-radius: 50%;
    font-size: 16px;
}

.zt-flag-badge[data-picker-badge="code"] {
    flex-basis: auto;
    width: auto;
    min-width: 30px;
    padding: 0 7px;
    border-radius: 999px;
    color: #123E73;
    font-size: 10.5px;
    font-weight: 950;
}

.zt-flag-select-option.is-selected .zt-flag-badge[data-picker-badge="code"] {
    color: #fff;
}

@media (max-width: 767.98px) {
    .zt-flag-badge[data-picker-badge="flag"] {
        flex-basis: 27px;
        width: 27px;
        min-width: 27px;
        font-size: 15px;
    }

    .zt-flag-badge[data-picker-badge="code"] {
        min-width: 28px;
        padding: 0 6px;
        font-size: 10px;
    }
}
/* Real flag images and currency badges */
.zt-flag-badge[data-picker-badge="flag"] {
    overflow: hidden;
    background: #fff;
}

.zt-flag-badge[data-picker-badge="flag"] img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.zt-flag-badge[data-picker-badge="currency"] {
    flex-basis: auto;
    width: auto;
    min-width: 34px;
    padding: 0 7px;
    border-radius: 999px;
    border-color: rgba(209, 161, 48, .42);
    background: linear-gradient(180deg, #FFF9E8, #FFE9A8);
    color: #7A4A00;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-flag-select-option.is-selected .zt-flag-badge[data-picker-badge="currency"] {
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

@media (max-width: 767.98px) {
    .zt-flag-badge[data-picker-badge="currency"] {
        min-width: 32px;
        padding: 0 6px;
        font-size: 10px;
    }
}
/* Cabin image picker badges */
.zt-flag-badge[data-picker-badge="cabin"] {
    overflow: hidden;
    flex-basis: 30px;
    width: 30px;
    min-width: 30px;
    padding: 0;
    border-radius: 10px;
    border-color: rgba(24, 119, 242, .2);
    background: #F8FBFF;
}

.zt-flag-badge[data-picker-badge="cabin"] img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.zt-flag-select-option.is-selected .zt-flag-badge[data-picker-badge="cabin"] {
    border-color: rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .16);
}

@media (max-width: 767.98px) {
    .zt-flag-badge[data-picker-badge="cabin"] {
        flex-basis: 29px;
        width: 29px;
        min-width: 29px;
    }
}
/* Currency image picker badges */
.zt-flag-badge[data-picker-badge="currency"] {
    overflow: hidden;
    flex-basis: 31px;
    width: 31px;
    min-width: 31px;
    padding: 0;
    border-radius: 10px;
    border-color: rgba(209, 161, 48, .34);
    background: #FFF9E8;
}

.zt-flag-badge[data-picker-badge="currency"] img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.zt-flag-select-option.is-selected .zt-flag-badge[data-picker-badge="currency"] {
    border-color: rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .16);
}

@media (max-width: 767.98px) {
    .zt-flag-badge[data-picker-badge="currency"] {
        flex-basis: 29px;
        width: 29px;
        min-width: 29px;
    }
}
/* Plane cabin artwork badge sizing */
.zt-flag-badge[data-picker-badge="cabin"] {
    flex-basis: 38px;
    width: 38px;
    min-width: 38px;
    border-radius: 11px;
}

@media (max-width: 767.98px) {
    .zt-flag-badge[data-picker-badge="cabin"] {
        flex-basis: 36px;
        width: 36px;
        min-width: 36px;
    }
}
/* Currency picker without avatar */
.zt-flag-badge[data-picker-badge="none"] {
    display: none !important;
}
/* Flight search vertical alignment refinement */
.zt-booking-body {
    padding-top: clamp(12px, 1.35vw, 18px);
}

.zt-booking-body form > .d-flex:first-child {
    align-items: center !important;
    margin-top: -8px;
    margin-bottom: 8px !important;
    padding: 0 4px 12px;
}

.zt-trip-toggle {
    min-height: 46px;
}

.zt-trip-toggle label {
    min-height: 40px;
    padding-block: 9px;
}

.zt-search-note {
    min-height: 44px;
    padding-block: 9px;
    transform: translateY(-1px);
}

.zt-booking-body .zt-grid {
    row-gap: 15px;
}

.zt-flag-select-button,
.zt-field .form-control,
.zt-field .form-select {
    min-height: 62px;
}

.zt-field > i {
    top: 48px;
}

.zt-route-swap-wrap {
    height: 62px;
}

.zt-route-pair .zt-swap-btn {
    width: 38px;
    height: 38px;
    transform: translateY(-1px);
}

.zt-route-pair .zt-swap-btn i {
    font-size: 17px;
}

.zt-booking-body .btn.btn-primary.btn-lg {
    min-height: 62px;
}

.zt-flag-select-option {
    min-height: 44px;
}

@media (max-width: 767.98px) {
    .zt-booking-body {
        padding-top: 12px;
    }

    .zt-booking-body form > .d-flex:first-child {
        margin-top: -4px;
        margin-bottom: 10px !important;
        padding-bottom: 12px;
    }

    .zt-search-note {
        transform: none;
    }

    .zt-flag-select-button,
    .zt-field .form-control,
    .zt-field .form-select,
    .zt-booking-body .btn.btn-primary.btn-lg {
        min-height: 56px;
    }

    .zt-field > i {
        top: 44px;
    }

    .zt-route-swap-wrap {
        height: 42px;
    }
}
/* Route swap breathing room refinement */
.zt-route-pair {
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
    gap: 8px;
}

.zt-route-swap-wrap {
    margin-inline: 0;
    height: 62px;
}

.zt-route-pair .zt-swap-btn {
    width: 42px;
    height: 42px;
    transform: translateY(-1px);
}

.zt-route-pair .zt-swap-btn i {
    font-size: 18px;
}

@media (min-width: 1200px) {
    #flights-pane .zt-grid {
        grid-template-columns: repeat(24, minmax(0, 1fr));
    }

    #flights-pane .zt-route-pair.zt-col-6 {
        grid-column: span 11;
    }

    #flights-pane .zt-field.zt-col-2 {
        grid-column: span 4;
    }

    #flights-pane .zt-cabin-field.zt-col-3 {
        grid-column: span 5;
    }

    #flights-pane .zt-col-4.d-grid {
        grid-column: span 8;
    }
}

@media (max-width: 767.98px) {
    .zt-route-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .zt-route-swap-wrap {
        height: 42px;
        margin: -2px 0;
    }
}
/* Enterprise Popular Routes board */
.zt-routes-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 52%, #F6FAF7 100%);
}

.zt-routes-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(24, 119, 242, .32), rgba(22, 163, 74, .24), transparent);
}

.zt-routes-section .zt-container {
    position: relative;
    z-index: 1;
}

.zt-routes-head {
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(213, 225, 240, .82);
}

.zt-routes-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 999px;
    background: #EEF6FF;
    color: #0B4F91;
    letter-spacing: 0;
}

.zt-routes-head .zt-section-kicker::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16A34A;
    box-shadow: 0 0 0 5px rgba(22, 163, 74, .1);
}

.zt-routes-head .zt-section-title {
    max-width: 760px;
    font-size: clamp(27px, 2.7vw, 38px);
}

.zt-routes-head .zt-section-copy {
    max-width: 760px;
    color: #52657B;
}

.zt-routes-head .btn.btn-outline-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.zt-routes-grid {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
}

.zt-routes-grid > [class*="col-"] {
    display: flex;
}

.zt-routes-grid .zt-route-card {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 248px;
    grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: center;
    gap: 18px 12px;
    padding: 22px;
    border: 1px solid rgba(200, 214, 232, .9);
    border-radius: 16px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    box-shadow: 0 16px 38px rgba(11, 31, 58, .08);
}

.zt-routes-grid .zt-route-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(24, 119, 242, .11), transparent 36%, rgba(22, 163, 74, .08));
    opacity: 0;
    transition: opacity .18s ease;
}

.zt-routes-grid .zt-route-card:hover {
    transform: translateY(-3px);
    border-color: rgba(24, 119, 242, .32);
    box-shadow: 0 22px 48px rgba(11, 31, 58, .12);
}

.zt-routes-grid .zt-route-card:hover::before {
    opacity: 1;
}

.zt-route-city {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.zt-route-city span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 12px;
    background: #EEF6FF;
    color: #0B4F91;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-route-city strong {
    display: block;
    max-width: 100%;
    margin-top: 10px;
    overflow: hidden;
    color: #0B1F3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-route-city-end {
    text-align: right;
}

.zt-route-city-end span {
    background: #F0FDF4;
    border-color: rgba(22, 163, 74, .18);
    color: #13703B;
}

.zt-route-line {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 34px 1fr;
    align-items: center;
    gap: 6px;
    color: #1877F2;
}

.zt-route-line::before,
.zt-route-line::after {
    content: none;
}

.zt-route-line span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(24, 119, 242, .14), rgba(24, 119, 242, .7));
}

.zt-route-line span:last-child {
    background: linear-gradient(90deg, rgba(22, 163, 74, .7), rgba(22, 163, 74, .14));
}

.zt-route-line i {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #0B1F3A, #1877F2);
    color: #fff;
    font-size: 16px;
    transform: rotate(24deg);
    box-shadow: 0 10px 22px rgba(24, 119, 242, .28);
}

.zt-route-footer {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    align-self: end;
    padding-top: 16px;
    border-top: 1px solid rgba(213, 225, 240, .82);
}

.zt-route-footer p {
    min-height: 40px;
    margin: 0 0 14px;
    color: #53647A;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-route-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.zt-route-actions .zt-price {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 10px;
    border-radius: 12px;
    background: #FFF7ED;
    color: #A35B00;
    font-size: 16px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.zt-route-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    gap: 7px;
    padding: 8px 12px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .2);
}

.zt-route-search i {
    margin: 0;
    font-size: 13px;
    -webkit-text-stroke: .45px currentColor;
}

@media (min-width: 1200px) {
    #flights-pane .zt-col-4.d-grid {
        grid-column: 17 / -1;
        justify-self: stretch;
    }

    #flights-pane .zt-col-4.d-grid .btn {
        justify-self: end;
        min-width: 190px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    #flights-pane .zt-col-4.d-grid {
        grid-column: 9 / -1;
        justify-self: stretch;
    }

    #flights-pane .zt-col-4.d-grid .btn {
        justify-self: end;
        min-width: 180px;
    }
}

@media (max-width: 767.98px) {
    .zt-routes-head {
        display: block;
        padding-bottom: 14px;
    }

    .zt-routes-head .btn.btn-outline-primary {
        width: 100%;
        margin-top: 14px;
    }

    .zt-routes-grid .zt-route-card {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
    }

    .zt-route-city,
    .zt-route-city-end {
        text-align: left;
    }

    .zt-route-city strong {
        white-space: normal;
    }

    .zt-route-line {
        grid-template-columns: 1fr 34px 1fr;
    }

    .zt-route-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-route-search,
    .zt-route-actions .zt-price {
        width: 100%;
        justify-content: center;
    }
}
/* Hero and booking upward alignment without market eyebrow */
.zt-hero .zt-eyebrow {
    display: none !important;
}

.zt-hero {
    min-height: 660px;
    padding: 112px 0 226px;
}

.zt-hero-content {
    padding-top: 0;
    transform: translateY(-28px);
}

.zt-hero h1 {
    margin-top: 0;
}

.zt-hero p {
    margin-top: 16px;
}

.zt-hero-services {
    margin-top: 20px;
}

.zt-booking-shell {
    margin-top: -270px;
}

@media (max-width: 1199.98px) {
    .zt-hero {
        min-height: 640px;
        padding: 104px 0 212px;
    }

    .zt-hero-content {
        transform: translateY(-22px);
    }

    .zt-booking-shell {
        margin-top: -238px;
    }
}

@media (max-width: 767.98px) {
    .zt-hero {
        min-height: 580px;
        padding: 92px 0 174px;
    }

    .zt-hero-content {
        transform: translateY(-14px);
    }

    .zt-hero p {
        margin-top: 14px;
    }

    .zt-hero-services {
        margin-top: 16px;
    }

    .zt-booking-shell {
        margin-top: -174px;
    }
}
/* Slightly lower hero and booking alignment */
.zt-hero {
    min-height: 682px;
    padding-top: 124px;
    padding-bottom: 232px;
}

.zt-hero-content {
    transform: translateY(-12px);
}

.zt-booking-shell {
    margin-top: -252px;
}

@media (max-width: 1199.98px) {
    .zt-hero {
        min-height: 660px;
        padding-top: 114px;
        padding-bottom: 218px;
    }

    .zt-hero-content {
        transform: translateY(-10px);
    }

    .zt-booking-shell {
        margin-top: -220px;
    }
}

@media (max-width: 767.98px) {
    .zt-hero {
        min-height: 600px;
        padding-top: 100px;
        padding-bottom: 182px;
    }

    .zt-hero-content {
        transform: translateY(-6px);
    }

    .zt-booking-shell {
        margin-top: -160px;
    }
}
/* Second slight downward hero and booking adjustment */
.zt-hero {
    min-height: 704px;
    padding-top: 138px;
    padding-bottom: 238px;
}

.zt-hero-content {
    transform: translateY(0);
}

.zt-booking-shell {
    margin-top: -234px;
}

@media (max-width: 1199.98px) {
    .zt-hero {
        min-height: 680px;
        padding-top: 124px;
        padding-bottom: 224px;
    }

    .zt-hero-content {
        transform: translateY(0);
    }

    .zt-booking-shell {
        margin-top: -204px;
    }
}

@media (max-width: 767.98px) {
    .zt-hero {
        min-height: 616px;
        padding-top: 108px;
        padding-bottom: 188px;
    }

    .zt-hero-content {
        transform: translateY(0);
    }

    .zt-booking-shell {
        margin-top: -148px;
    }
}
/* Cleaner hero headline color treatment */
.zt-hero h1 {
    max-width: 740px;
    color: #F8FBFF;
    background: linear-gradient(90deg, #FFFFFF 0%, #F8FBFF 46%, #CFE8FF 100%);
    background-size: 100% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 18px 42px rgba(0, 0, 0, .22);
    animation: ztHeroHeadlineLift .75s ease-out both;
}

.zt-hero h1::after {
    width: clamp(88px, 9vw, 132px);
    height: 3px;
    margin-top: 17px;
    background: linear-gradient(90deg, #7CC7FF 0%, #A7F3D0 100%);
    box-shadow: 0 10px 24px rgba(124, 199, 255, .22);
    opacity: .92;
}

@media (max-width: 767.98px) {
    .zt-hero h1 {
        background: linear-gradient(90deg, #FFFFFF 0%, #DDEEFF 100%);
        -webkit-background-clip: text;
        background-clip: text;
    }

    .zt-hero h1::after {
        margin-top: 14px;
    }
}
/* Animated booking panel top accent */
.zt-booking-panel::before {
    left: 18px;
    right: 18px;
    top: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 42%, #F59E0B 68%, #7CC7FF 100%);
    background-size: 220% 100%;
    opacity: .7;
    transform: scaleX(.14);
    transform-origin: left center;
    transition: transform .42s ease, opacity .24s ease, background-position .42s ease;
    pointer-events: none;
    z-index: 3;
}

.zt-booking-panel:hover::before,
.zt-booking-panel:focus-within::before {
    opacity: 1;
    transform: scaleX(1);
    background-position: 100% 50%;
    animation: ztBookingAccentFlow 1.25s ease-in-out infinite alternate;
}

@keyframes ztBookingAccentFlow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 100% 50%;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-panel::before {
        left: 14px;
        right: 14px;
        transform: scaleX(.22);
    }
}
/* Featured destinations enterprise cards */
.zt-destinations-section {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(228, 233, 240, .82);
    border-bottom: 1px solid rgba(228, 233, 240, .82);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 52%, #FFFFFF 100%);
}

.zt-destinations-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(24, 119, 242, .055), rgba(255, 255, 255, 0) 36%, rgba(22, 163, 74, .045) 68%, rgba(245, 158, 11, .045));
    pointer-events: none;
}

.zt-destinations-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-destinations-head {
    align-items: center;
    margin-bottom: clamp(24px, 4vw, 38px);
}

.zt-destinations-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 24px rgba(11, 31, 58, .055);
}

.zt-destinations-head .zt-section-kicker i {
    color: var(--zt-success);
    font-size: 15px;
}

.zt-destinations-head .zt-section-title {
    max-width: 680px;
    font-size: clamp(30px, 3.4vw, 46px);
}

.zt-destinations-head .zt-section-copy {
    max-width: 710px;
    font-size: 16px;
}

.zt-destination-view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding-inline: 16px;
    border-radius: 8px;
    font-weight: 900;
    white-space: nowrap;
}

.zt-destination-view-all i {
    font-size: 16px;
}

.zt-destinations-grid {
    align-items: stretch;
}

.zt-destination-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(214, 224, 236, .92);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(11, 31, 58, .07);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.zt-destination-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    z-index: 3;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 48%, #F59E0B 100%);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .34s ease;
}

.zt-destination-card:hover,
.zt-destination-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(24, 119, 242, .28);
    box-shadow: 0 24px 54px rgba(11, 31, 58, .12);
}

.zt-destination-card:hover::before,
.zt-destination-card:focus-within::before {
    transform: scaleX(1);
}

.zt-destination-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #EAF3FF;
}

.zt-destination-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 24, 45, 0) 38%, rgba(7, 24, 45, .52) 100%);
    pointer-events: none;
}

.zt-destination-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.015);
    transition: transform .55s ease, filter .24s ease;
}

.zt-destination-card:hover .zt-destination-media img,
.zt-destination-card:focus-within .zt-destination-media img {
    transform: scale(1.065);
    filter: saturate(1.08) contrast(1.03);
}

.zt-destination-market {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: calc(100% - 28px);
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    color: var(--zt-navy);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(7, 24, 45, .18);
    backdrop-filter: blur(12px);
}

.zt-destination-market i {
    color: var(--zt-success);
    font-size: 13px;
}

.zt-destination-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
}

.zt-destination-label {
    display: inline-flex;
    align-items: center;
    margin-bottom: 6px;
    color: #4A6078;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.zt-destination-body h3 {
    margin: 0;
    color: var(--zt-navy);
    font-size: clamp(19px, 1.7vw, 23px);
    font-weight: 950;
    line-height: 1.12;
}

.zt-destination-body p {
    flex: 1;
    margin: 0;
    color: #526175;
    font-size: 14px;
    line-height: 1.58;
}

.zt-destination-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(228, 233, 240, .95);
}

.zt-destination-footer > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #53657B;
    font-size: 12px;
    font-weight: 850;
}

.zt-destination-footer > span i {
    color: var(--zt-success);
    font-size: 15px;
}

.zt-destination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 96px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--zt-navy);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zt-destination-link:hover,
.zt-destination-link:focus-visible {
    background: var(--zt-primary);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(24, 119, 242, .22);
}

.zt-destination-link i {
    font-size: 14px;
}

@media (max-width: 991.98px) {
    .zt-destinations-head {
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .zt-destinations-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-destination-view-all {
        width: 100%;
    }

    .zt-destination-body {
        padding: 18px;
    }

    .zt-destination-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-destination-link {
        width: 100%;
    }
}
/* Pull booking search closer to hero service chips */
.zt-booking-shell {
    margin-top: -286px;
}

@media (max-width: 1199.98px) {
    .zt-booking-shell {
        margin-top: -228px;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-shell {
        margin-top: -174px;
    }
}

@media (max-width: 575.98px) {
    .zt-booking-shell {
        margin-top: -164px;
    }
}
/* Homepage hotel and airport ride enterprise sections */
.zt-section-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding-inline: 16px;
    border-radius: 8px;
    font-weight: 900;
    white-space: nowrap;
}

.zt-section-action i {
    font-size: 16px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-hotels-section,
.zt-rides-section {
    position: relative;
    overflow: hidden;
}

.zt-hotels-section {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 58%, #FFFFFF 100%);
}

.zt-rides-section {
    border-top: 1px solid rgba(219, 228, 240, .9);
    border-bottom: 1px solid rgba(219, 228, 240, .9);
    background: linear-gradient(180deg, #F7FAFE 0%, #FFFFFF 54%, #F7FBF8 100%);
}

.zt-hotels-section::before,
.zt-rides-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.zt-hotels-section::before {
    background: linear-gradient(105deg, rgba(24, 119, 242, .055), rgba(255, 255, 255, 0) 46%, rgba(124, 199, 255, .075));
}

.zt-rides-section::before {
    background: linear-gradient(105deg, rgba(7, 24, 45, .045), rgba(255, 255, 255, 0) 44%, rgba(22, 163, 74, .06));
}

.zt-hotels-section > .zt-container,
.zt-rides-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-hotels-head,
.zt-rides-head {
    align-items: center;
    margin-bottom: clamp(24px, 4vw, 38px);
}

.zt-hotels-head .zt-section-kicker,
.zt-rides-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 10px 24px rgba(11, 31, 58, .05);
}

.zt-hotels-head .zt-section-kicker i,
.zt-rides-head .zt-section-kicker i {
    color: var(--zt-success);
    font-size: 15px;
}

.zt-hotels-head .zt-section-title,
.zt-rides-head .zt-section-title {
    max-width: 760px;
    font-size: clamp(30px, 3.15vw, 44px);
}

.zt-hotels-head .zt-section-copy,
.zt-rides-head .zt-section-copy {
    max-width: 760px;
    font-size: 16px;
}

.zt-hotels-grid,
.zt-rides-grid {
    align-items: stretch;
}

.zt-hotel-card,
.zt-ride-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(207, 219, 234, .94);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 38px rgba(11, 31, 58, .075);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.zt-hotel-card::before,
.zt-ride-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    z-index: 3;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 55%, #F59E0B 100%);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .34s ease;
}

.zt-hotel-card:hover,
.zt-hotel-card:focus-within,
.zt-ride-card:hover,
.zt-ride-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(24, 119, 242, .3);
    box-shadow: 0 26px 60px rgba(11, 31, 58, .13);
}

.zt-hotel-card:hover::before,
.zt-hotel-card:focus-within::before,
.zt-ride-card:hover::before,
.zt-ride-card:focus-within::before {
    transform: scaleX(1);
}

.zt-hotel-media,
.zt-ride-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #EAF3FF;
}

.zt-hotel-media::after,
.zt-ride-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 24, 45, 0) 30%, rgba(7, 24, 45, .62) 100%);
    pointer-events: none;
}

.zt-hotel-media img,
.zt-ride-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.015);
    transition: transform .55s ease, filter .24s ease;
}

.zt-hotel-card:hover .zt-hotel-media img,
.zt-hotel-card:focus-within .zt-hotel-media img,
.zt-ride-card:hover .zt-ride-media img,
.zt-ride-card:focus-within .zt-ride-media img {
    transform: scale(1.065);
    filter: saturate(1.08) contrast(1.03);
}

.zt-hotel-airport,
.zt-hotel-rating,
.zt-ride-market {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(7, 24, 45, .18);
    backdrop-filter: blur(12px);
}

.zt-hotel-airport,
.zt-ride-market {
    left: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    border: 1px solid rgba(255, 255, 255, .64);
    background: rgba(255, 255, 255, .93);
    color: var(--zt-navy);
}

.zt-hotel-rating {
    top: 14px;
    right: 14px;
    border: 1px solid rgba(255, 255, 255, .32);
    background: rgba(7, 24, 45, .76);
    color: #FFFFFF;
}

.zt-hotel-airport i,
.zt-ride-market i {
    color: var(--zt-success);
    font-size: 13px;
}

.zt-hotel-rating i {
    color: #FBBF24;
    font-size: 12px;
}

.zt-hotel-body,
.zt-ride-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 13px;
    padding: 20px;
}

.zt-hotel-location {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #52647A;
    font-size: 12px;
    font-weight: 850;
}

.zt-hotel-location i {
    color: var(--zt-primary-dark);
    font-size: 13px;
}

.zt-hotel-body h3,
.zt-ride-body h3 {
    margin: 0;
    color: var(--zt-navy);
    font-size: clamp(18px, 1.45vw, 21px);
    font-weight: 950;
    line-height: 1.16;
}

.zt-hotel-body p,
.zt-ride-body p {
    flex: 1;
    margin: 0;
    color: #536175;
    font-size: 13.5px;
    line-height: 1.55;
}

.zt-hotel-footer,
.zt-ride-price {
    border: 1px solid rgba(224, 232, 242, .95);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF, #F7FAFD);
}

.zt-hotel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 2px;
    padding: 12px;
}

.zt-hotel-footer small,
.zt-ride-price small {
    display: block;
    color: #617086;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.zt-hotel-footer strong,
.zt-ride-price strong {
    display: block;
    margin-top: 5px;
    color: var(--zt-navy);
    font-size: 17px;
    font-weight: 950;
    line-height: 1;
}

.zt-hotel-link,
.zt-ride-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 9px 12px;
    border-radius: 8px;
    background: var(--zt-navy);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zt-hotel-link:hover,
.zt-hotel-link:focus-visible,
.zt-ride-link:hover,
.zt-ride-link:focus-visible {
    background: var(--zt-primary);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(24, 119, 242, .22);
}

.zt-rides-grid .col-md-6:nth-child(even) .zt-ride-card::before {
    background: linear-gradient(90deg, #16A34A 0%, #1877F2 54%, #F59E0B 100%);
}

.zt-ride-price {
    display: grid;
    gap: 2px;
    padding: 12px;
}

.zt-ride-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.zt-ride-specs span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 8px 7px;
    border: 1px solid rgba(213, 224, 238, .95);
    border-radius: 8px;
    background: #F7FAFE;
    color: #334863;
    font-size: 11.5px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.zt-ride-specs i {
    color: var(--zt-primary-dark);
    font-size: 14px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-ride-link {
    width: 100%;
    margin-top: auto;
    background: linear-gradient(135deg, #071E3A 0%, #123E73 58%, #1877F2 100%);
}

@media (max-width: 991.98px) {
    .zt-hotels-head,
    .zt-rides-head {
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .zt-section-action {
        width: 100%;
    }

    .zt-hotels-section,
    .zt-rides-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-hotel-body,
    .zt-ride-body {
        padding: 18px;
    }

    .zt-hotel-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-hotel-link {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .zt-ride-specs {
        grid-template-columns: 1fr;
    }

    .zt-ride-specs span {
        justify-content: flex-start;
    }
}
/* Slightly lower booking search from hero service chips */
.zt-booking-shell {
    margin-top: -264px;
}

@media (max-width: 1199.98px) {
    .zt-booking-shell {
        margin-top: -212px;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-shell {
        margin-top: -160px;
    }
}

@media (max-width: 575.98px) {
    .zt-booking-shell {
        margin-top: -150px;
    }
}
/* Small upward correction for booking search placement */
.zt-booking-shell {
    margin-top: -272px;
}

@media (max-width: 1199.98px) {
    .zt-booking-shell {
        margin-top: -218px;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-shell {
        margin-top: -166px;
    }
}

@media (max-width: 575.98px) {
    .zt-booking-shell {
        margin-top: -156px;
    }
}
/* Keep hotel card action text on one line */
.zt-hotel-link {
    flex: 0 0 auto;
    min-width: 112px;
    white-space: nowrap;
}

.zt-hotel-link i {
    flex: 0 0 auto;
}

.zt-hotel-footer > div {
    min-width: 0;
}

@media (min-width: 1200px) {
    .zt-hotel-footer {
        gap: 10px;
        padding: 11px;
    }

    .zt-hotel-footer strong {
        font-size: 16px;
    }
}
/* Enterprise Why Choose Us section */
.zt-why-section {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(219, 228, 240, .92);
    border-bottom: 1px solid rgba(219, 228, 240, .92);
    background:
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 50%, #FFFFFF 100%);
}

.zt-why-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgba(24, 119, 242, .055), rgba(255, 255, 255, 0) 42%, rgba(22, 163, 74, .052));
    pointer-events: none;
}

.zt-why-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-why-copy {
    position: sticky;
    top: 104px;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(207, 219, 234, .92);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(246, 250, 254, .98));
    box-shadow: 0 18px 44px rgba(11, 31, 58, .08);
}

.zt-why-copy .zt-section-kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 10px 24px rgba(11, 31, 58, .05);
}

.zt-why-copy .zt-section-kicker i {
    color: var(--zt-success);
    font-size: 15px;
}

.zt-why-copy .zt-section-title {
    max-width: 620px;
    font-size: clamp(31px, 3.25vw, 46px);
}

.zt-why-copy .zt-section-copy {
    max-width: 620px;
    font-size: 16px;
    line-height: 1.65;
}

.zt-why-proof {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
}

.zt-why-proof span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(211, 222, 236, .95);
    border-radius: 8px;
    background: #FFFFFF;
    color: #243A56;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(11, 31, 58, .045);
}

.zt-why-proof i {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border-radius: 8px;
    background: #EAF3FF;
    color: var(--zt-primary-dark);
    font-size: 15px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    height: 100%;
}

.zt-why-grid .zt-trust-item {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 16px;
    min-height: 178px;
    padding: 22px;
    overflow: hidden;
    border: 1px solid rgba(207, 219, 234, .94);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 16px 38px rgba(11, 31, 58, .075);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.zt-why-grid .zt-trust-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 55%, #F59E0B 100%);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .32s ease;
}

.zt-why-grid .zt-trust-item::after {
    content: attr(data-step);
    position: absolute;
    right: 18px;
    bottom: 12px;
    color: rgba(11, 31, 58, .055);
    font-size: 48px;
    font-weight: 950;
    line-height: 1;
    pointer-events: none;
}

.zt-why-grid .zt-trust-item:hover,
.zt-why-grid .zt-trust-item:focus-within {
    transform: translateY(-5px);
    border-color: rgba(24, 119, 242, .28);
    box-shadow: 0 26px 58px rgba(11, 31, 58, .12);
}

.zt-why-grid .zt-trust-item:hover::before,
.zt-why-grid .zt-trust-item:focus-within::before {
    transform: scaleX(1);
}

.zt-trust-icon {
    display: inline-grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: linear-gradient(145deg, #EAF3FF, #FFFFFF);
    color: var(--zt-primary-dark);
    box-shadow: 0 12px 26px rgba(24, 119, 242, .12);
}

.zt-why-grid .zt-trust-item:nth-child(2) .zt-trust-icon {
    background: linear-gradient(145deg, #ECFDF5, #FFFFFF);
    color: #15803D;
}

.zt-why-grid .zt-trust-item:nth-child(3) .zt-trust-icon {
    background: linear-gradient(145deg, #FFF7ED, #FFFFFF);
    color: #B45309;
}

.zt-why-grid .zt-trust-item:nth-child(4) .zt-trust-icon {
    background: linear-gradient(145deg, #EEF4FF, #FFFFFF);
    color: #123E73;
}

.zt-trust-icon i,
.zt-why-grid .zt-trust-item > i {
    color: inherit;
    font-size: 24px;
    -webkit-text-stroke: .45px currentColor;
}

.zt-why-grid .zt-trust-item strong {
    display: block;
    margin-top: 1px;
    color: var(--zt-navy);
    font-size: 17px;
    font-weight: 950;
    line-height: 1.18;
}

.zt-why-grid .zt-trust-item span {
    display: block;
    margin-top: 9px;
    color: #536175;
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.55;
}

@media (max-width: 1199.98px) {
    .zt-why-copy {
        position: static;
    }

    .zt-why-grid .zt-trust-item {
        min-height: 188px;
    }
}

@media (max-width: 767.98px) {
    .zt-why-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-why-copy {
        padding: 22px;
    }

    .zt-why-grid {
        grid-template-columns: 1fr;
    }

    .zt-why-grid .zt-trust-item {
        min-height: auto;
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 20px;
    }

    .zt-trust-icon {
        width: 48px;
        height: 48px;
    }
}
/* Larger Why Choose Us card text */
.zt-why-grid .zt-trust-item {
    min-height: 196px;
    padding: 24px;
}

.zt-why-grid .zt-trust-item strong {
    font-size: 19px;
    line-height: 1.18;
}

.zt-why-grid .zt-trust-item span {
    margin-top: 11px;
    font-size: 15px;
    line-height: 1.58;
    font-weight: 780;
}

@media (max-width: 1199.98px) {
    .zt-why-grid .zt-trust-item {
        min-height: 210px;
    }
}

@media (max-width: 767.98px) {
    .zt-why-grid .zt-trust-item {
        min-height: auto;
        padding: 22px;
    }

    .zt-why-grid .zt-trust-item strong {
        font-size: 18px;
    }

    .zt-why-grid .zt-trust-item span {
        font-size: 14.5px;
    }
}
/* Homepage Travel Deals enterprise cards */
.zt-deals-section {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(219, 228, 240, .92);
    border-bottom: 1px solid rgba(219, 228, 240, .92);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 52%, #FFFFFF 100%);
}

.zt-deals-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(245, 158, 11, .055), rgba(255, 255, 255, 0) 40%, rgba(24, 119, 242, .06));
    pointer-events: none;
}

.zt-deals-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-deals-head {
    align-items: center;
    margin-bottom: clamp(24px, 4vw, 38px);
}

.zt-deals-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(245, 158, 11, .22);
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 10px 24px rgba(11, 31, 58, .05);
}

.zt-deals-head .zt-section-kicker i {
    color: #D97706;
    font-size: 15px;
}

.zt-deals-head .zt-section-title {
    max-width: 820px;
    font-size: clamp(30px, 3.15vw, 44px);
}

.zt-deals-head .zt-section-copy {
    max-width: 800px;
    font-size: 16px;
}

.zt-deals-grid {
    align-items: stretch;
}

.zt-deal-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(207, 219, 234, .94);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 38px rgba(11, 31, 58, .075);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.zt-deal-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    z-index: 3;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #F59E0B 0%, #1877F2 52%, #16A34A 100%);
    transform: scaleX(.2);
    transform-origin: left center;
    transition: transform .34s ease;
}

.zt-deal-card:hover,
.zt-deal-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(245, 158, 11, .34);
    box-shadow: 0 26px 60px rgba(11, 31, 58, .13);
}

.zt-deal-card:hover::before,
.zt-deal-card:focus-within::before {
    transform: scaleX(1);
}

.zt-deal-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #FFF7ED;
}

.zt-deal-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 24, 45, 0) 34%, rgba(7, 24, 45, .58) 100%);
    pointer-events: none;
}

.zt-deal-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.015);
    transition: transform .55s ease, filter .24s ease;
}

.zt-deal-card:hover .zt-deal-media img,
.zt-deal-card:focus-within .zt-deal-media img {
    transform: scale(1.065);
    filter: saturate(1.08) contrast(1.03);
}

.zt-deal-market {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: calc(100% - 28px);
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 8px;
    background: rgba(255, 255, 255, .93);
    color: var(--zt-navy);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(7, 24, 45, .18);
    backdrop-filter: blur(12px);
}

.zt-deal-market i {
    color: #D97706;
    font-size: 13px;
}

.zt-deal-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 13px;
    padding: 22px;
}

.zt-deal-label {
    display: inline-flex;
    width: fit-content;
    padding: 6px 9px;
    border: 1px solid rgba(245, 158, 11, .18);
    border-radius: 8px;
    background: #FFF7ED;
    color: #9A5A00;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.zt-deal-body h3 {
    margin: 0;
    color: var(--zt-navy);
    font-size: clamp(20px, 1.8vw, 25px);
    font-weight: 950;
    line-height: 1.12;
}

.zt-deal-body p {
    flex: 1;
    margin: 0;
    color: #536175;
    font-size: 14.5px;
    line-height: 1.6;
}

.zt-deal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    padding: 13px;
    border: 1px solid rgba(224, 232, 242, .95);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF, #F7FAFD);
}

.zt-deal-footer small {
    display: block;
    color: #617086;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.zt-deal-footer strong {
    display: block;
    margin-top: 5px;
    color: var(--zt-navy);
    font-size: 18px;
    font-weight: 950;
    line-height: 1;
}

.zt-deal-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 116px;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 8px;
    background: var(--zt-navy);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zt-deal-link:hover,
.zt-deal-link:focus-visible {
    background: var(--zt-primary);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(24, 119, 242, .22);
}

@media (max-width: 991.98px) {
    .zt-deals-head {
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .zt-deals-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-deal-body {
        padding: 18px;
    }

    .zt-deal-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-deal-link {
        width: 100%;
    }
}
/* Homepage mobile experience upgrade */
.zt-mobile-section {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(219, 228, 240, .92);
    border-bottom: 1px solid rgba(219, 228, 240, .92);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 58%, #FFFFFF 100%);
}

.zt-mobile-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(24, 119, 242, .06), rgba(255, 255, 255, 0) 42%, rgba(22, 163, 74, .052));
    pointer-events: none;
}

.zt-mobile-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-mobile-copy .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 24px rgba(11, 31, 58, .05);
}

.zt-mobile-copy .zt-section-kicker i {
    color: var(--zt-primary-dark);
    font-size: 15px;
}

.zt-mobile-copy .zt-section-title {
    max-width: 740px;
    font-size: clamp(31px, 3.25vw, 46px);
}

.zt-mobile-copy .zt-section-copy {
    max-width: 720px;
    font-size: 16px;
    line-height: 1.65;
}

.zt-mobile-feature-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(207, 219, 234, .94);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 16px 38px rgba(11, 31, 58, .075);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.zt-mobile-feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 58%, #F59E0B 100%);
    transform: scaleX(.2);
    transform-origin: left center;
    transition: transform .32s ease;
}

.zt-mobile-feature-card:hover {
    transform: translateY(-5px);
    border-color: rgba(24, 119, 242, .28);
    box-shadow: 0 26px 58px rgba(11, 31, 58, .12);
}

.zt-mobile-feature-card:hover::before {
    transform: scaleX(1);
}

.zt-mobile-feature-icon {
    display: inline-grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: linear-gradient(145deg, #EAF3FF, #FFFFFF);
    color: var(--zt-primary-dark);
    box-shadow: 0 12px 26px rgba(24, 119, 242, .12);
}

.zt-mobile-feature-card:nth-child(2n) .zt-mobile-feature-icon,
.zt-mobile-feature-grid .col-sm-6:nth-child(2) .zt-mobile-feature-icon {
    background: linear-gradient(145deg, #ECFDF5, #FFFFFF);
    color: #15803D;
}

.zt-mobile-feature-icon i {
    font-size: 23px;
    -webkit-text-stroke: .45px currentColor;
}

.zt-mobile-feature-card strong {
    display: block;
    margin-top: 15px;
    color: var(--zt-navy);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.18;
}

.zt-mobile-feature-card span {
    display: block;
    margin-top: 9px;
    color: #536175;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.58;
}

.zt-mobile-phone {
    max-width: 390px;
    padding: 12px;
    border: 10px solid #07182D;
    background: linear-gradient(180deg, #0B1F3A, #07182D);
    box-shadow: 0 34px 90px rgba(11, 31, 58, .25);
}

.zt-mobile-phone .zt-phone-screen {
    min-height: 610px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: #F6F8FB;
}

.zt-mobile-phone .zt-phone-hero {
    position: relative;
    height: 210px;
    background-image: linear-gradient(180deg, rgba(7, 24, 45, .1), rgba(7, 24, 45, .78)), var(--zt-phone-image);
}

.zt-phone-hero-copy {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    color: #FFFFFF;
}

.zt-phone-hero-copy span {
    display: inline-flex;
    padding: 6px 8px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.zt-phone-hero-copy strong {
    display: block;
    margin-top: 10px;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.05;
}

.zt-mobile-preview-content {
    padding: 18px 18px 16px;
}

.zt-mobile-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.zt-mobile-preview-head span {
    color: var(--zt-primary-dark);
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.zt-mobile-preview-head strong {
    padding: 7px 9px;
    border-radius: 8px;
    background: #EAF3FF;
    color: #123E73;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
}

.zt-mobile-preview-content p {
    margin: 10px 0 0;
    color: #536175;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.55;
}

.zt-mobile-itinerary-card {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.zt-mobile-itinerary-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 11px;
    border: 1px solid rgba(213, 224, 238, .94);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 10px 22px rgba(11, 31, 58, .045);
}

.zt-mobile-itinerary-row > i {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 8px;
    background: #EAF3FF;
    color: var(--zt-primary-dark);
    font-size: 18px;
    -webkit-text-stroke: .4px currentColor;
}

.zt-mobile-itinerary-row:nth-child(2) > i {
    background: #ECFDF5;
    color: #15803D;
}

.zt-mobile-itinerary-row:nth-child(3) > i {
    background: #FFF7ED;
    color: #B45309;
}

.zt-mobile-itinerary-row strong {
    display: block;
    color: var(--zt-navy);
    font-size: 13px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-mobile-itinerary-row span {
    display: block;
    margin-top: 3px;
    color: #65748A;
    font-size: 11px;
    font-weight: 760;
    line-height: 1.25;
}

.zt-mobile-itinerary-row b {
    padding: 7px 8px;
    border-radius: 8px;
    background: #F2F6FB;
    color: #334863;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
}

.zt-mobile-phone .zt-bottom-nav {
    gap: 4px;
    padding: 10px 8px 12px;
    border-top: 1px solid rgba(213, 224, 238, .95);
    background: #FFFFFF;
}

.zt-mobile-phone .zt-bottom-nav span {
    min-height: 44px;
    border-radius: 8px;
    color: #64748B;
    font-size: 10.5px;
}

.zt-mobile-phone .zt-bottom-nav span:first-child {
    background: #EAF3FF;
    color: var(--zt-primary-dark);
}

.zt-mobile-phone .zt-bottom-nav i {
    font-size: 16px;
    -webkit-text-stroke: .35px currentColor;
}

@media (max-width: 991.98px) {
    .zt-mobile-phone {
        margin-top: 6px;
    }
}

@media (max-width: 767.98px) {
    .zt-mobile-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-mobile-phone {
        max-width: 340px;
    }

    .zt-mobile-phone .zt-phone-screen {
        min-height: 570px;
    }

    .zt-mobile-phone .zt-phone-hero {
        height: 190px;
    }

    .zt-phone-hero-copy strong {
        font-size: 22px;
    }
}
/* Homepage testimonials and closing CTA upgrade */
.zt-testimonials-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 56%, #FFFFFF 100%);
}

.zt-testimonials-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(24, 119, 242, .052), rgba(255, 255, 255, 0) 42%, rgba(22, 163, 74, .046));
    pointer-events: none;
}

.zt-testimonials-section > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-testimonials-head {
    align-items: center;
    margin-bottom: clamp(24px, 4vw, 38px);
}

.zt-testimonials-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 24px rgba(11, 31, 58, .05);
}

.zt-testimonials-head .zt-section-kicker i {
    color: #D97706;
    font-size: 15px;
}

.zt-testimonials-head .zt-section-title {
    max-width: 780px;
    font-size: clamp(30px, 3.15vw, 44px);
}

.zt-testimonials-head .zt-section-copy {
    max-width: 780px;
    font-size: 16px;
}

.zt-testimonials-grid {
    align-items: stretch;
}

.zt-testimonial-card {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 292px;
    flex-direction: column;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(207, 219, 234, .94);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 16px 38px rgba(11, 31, 58, .075);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.zt-testimonial-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 54%, #F59E0B 100%);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .34s ease;
}

.zt-testimonial-card::after {
    content: "\201C";
    position: absolute;
    top: 22px;
    right: 22px;
    color: rgba(24, 119, 242, .08);
    font-size: 82px;
    font-weight: 950;
    line-height: 1;
    pointer-events: none;
}

.zt-testimonial-card:hover,
.zt-testimonial-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(24, 119, 242, .28);
    box-shadow: 0 26px 60px rgba(11, 31, 58, .13);
}

.zt-testimonial-card:hover::before,
.zt-testimonial-card:focus-within::before {
    transform: scaleX(1);
}

.zt-testimonial-rating {
    display: inline-flex;
    gap: 4px;
    color: #F59E0B;
    font-size: 15px;
}

.zt-testimonial-card blockquote {
    position: relative;
    z-index: 1;
    flex: 1;
    margin: 18px 0 22px;
    color: #21334D;
    font-size: 16px;
    font-weight: 780;
    line-height: 1.65;
}

.zt-testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(224, 232, 242, .95);
}

.zt-testimonial-author > span {
    display: inline-grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(145deg, #EAF3FF, #FFFFFF);
    color: var(--zt-primary-dark);
    font-size: 16px;
    font-weight: 950;
    box-shadow: 0 10px 22px rgba(24, 119, 242, .12);
}

.zt-testimonial-author strong,
.zt-testimonial-author small {
    display: block;
}

.zt-testimonial-author strong {
    color: var(--zt-navy);
    font-size: 15px;
    font-weight: 950;
    line-height: 1.2;
}

.zt-testimonial-author small {
    margin-top: 3px;
    color: #64748B;
    font-size: 12px;
    font-weight: 850;
}

.zt-cta-section {
    position: relative;
    overflow: hidden;
    background: #FFFFFF;
}

.zt-cta-upgraded {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(7, 24, 45, .96), rgba(18, 62, 115, .96) 54%, rgba(24, 119, 242, .94)),
        linear-gradient(90deg, rgba(22, 163, 74, .22), rgba(245, 158, 11, .2));
    box-shadow: 0 34px 90px rgba(11, 31, 58, .2);
}

.zt-cta-upgraded::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 46%, rgba(255, 255, 255, .08));
    pointer-events: none;
}

.zt-cta-upgraded > .row {
    position: relative;
    z-index: 1;
}

.zt-cta-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.zt-cta-kicker i {
    color: #A7F3D0;
    font-size: 15px;
}

.zt-cta-upgraded h2 {
    max-width: 760px;
}

.zt-cta-upgraded p {
    max-width: 780px;
    font-size: 18px;
    line-height: 1.6;
}

.zt-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.zt-cta-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-cta-actions .btn i {
    font-size: 17px;
    -webkit-text-stroke: .35px currentColor;
}

@media (max-width: 991.98px) {
    .zt-cta-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .zt-testimonials-section {
        padding-top: 48px;
        padding-bottom: 52px;
    }

    .zt-testimonial-card {
        min-height: auto;
        padding: 22px;
    }

    .zt-cta-actions {
        flex-direction: column;
    }

    .zt-cta-actions .btn {
        width: 100%;
    }
}
/* Closing CTA and global footer enterprise polish */
.zt-cta-upgraded {
    padding: clamp(34px, 5.5vw, 70px);
    border: 1px solid rgba(255, 255, 255, .16);
}

.zt-cta-upgraded h2 {
    font-size: clamp(32px, 4vw, 54px);
    letter-spacing: 0;
}

.zt-cta-upgraded p {
    color: rgba(255, 255, 255, .88);
}

.zt-cta-actions .btn-light {
    color: #071E3A;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
}

.zt-cta-actions .btn-outline-light {
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .08);
    color: #FFFFFF;
    backdrop-filter: blur(12px);
}

.zt-footer-upgraded {
    position: relative;
    overflow: hidden;
    padding: clamp(44px, 6vw, 72px) 0 24px;
    background:
        radial-gradient(circle at 12% 0%, rgba(34, 197, 94, .18), transparent 30%),
        linear-gradient(135deg, #07182D 0%, #102A43 52%, #123B3B 100%);
}

.zt-footer-upgraded::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(24, 119, 242, .16), rgba(255, 255, 255, 0) 42%, rgba(22, 163, 74, .1));
    pointer-events: none;
}

.zt-footer-upgraded > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-footer-main {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.8fr);
    gap: clamp(30px, 5vw, 72px);
    align-items: start;
}

.zt-footer-brand-panel {
    max-width: 540px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.zt-footer-upgraded .zt-brand-mark {
    box-shadow: 0 16px 34px rgba(24, 119, 242, .24);
}

.zt-footer-upgraded .zt-brand-copy strong {
    color: #FFFFFF;
}

.zt-footer-upgraded .zt-brand-copy small {
    color: rgba(255, 255, 255, .72);
}

.zt-footer-upgraded .zt-footer-copy {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
}

.zt-footer-service-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.zt-footer-service-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .86);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.zt-footer-service-row i {
    color: #A7D8FF;
    font-size: 14px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-footer-upgraded .zt-footer-note {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    line-height: 1.65;
}

.zt-footer-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 42px);
    padding-top: 4px;
}

.zt-footer-column {
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.zt-footer-upgraded h6 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.zt-footer-upgraded h6 i {
    color: #A7F3D0;
    font-size: 14px;
}

.zt-footer-upgraded a {
    display: flex;
    align-items: center;
    gap: 9px;
    width: max-content;
    max-width: 100%;
    min-height: 30px;
    margin-top: 7px;
    padding: 2px 0;
    border-radius: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    transition: color .18s ease, transform .18s ease;
}

.zt-footer-upgraded a i {
    width: 16px;
    flex: 0 0 16px;
    color: rgba(167, 216, 255, .86);
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-footer-upgraded a:hover,
.zt-footer-upgraded a:focus-visible {
    background: transparent;
    color: #FFFFFF;
    transform: translateX(3px);
}

.zt-footer-upgraded a:hover i,
.zt-footer-upgraded a:focus-visible i {
    color: #A7F3D0;
}

.zt-footer-upgraded .zt-footer-bottom {
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: clamp(30px, 4vw, 50px);
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .64);
    font-size: 13px;
    font-weight: 700;
}

.zt-footer-upgraded .zt-footer-bottom span:last-child {
    color: rgba(255, 255, 255, .72);
}

@media (max-width: 1199.98px) {
    .zt-footer-main {
        grid-template-columns: 1fr;
    }

    .zt-footer-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* iPad public footer four-column layout */
@media (min-width: 768px) and (max-width: 1199.98px),
       (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-footer-upgraded .zt-footer-links {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(16px, 2vw, 26px);
    }
}

@media (max-width: 767.98px) {
    .zt-cta-upgraded {
        padding: 30px 22px;
    }

    .zt-footer-links {
        grid-template-columns: 1fr;
    }

    .zt-footer-column {
        padding: 0;
    }

    .zt-footer-upgraded .zt-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* Footer service chips single-row refinement */
.zt-footer-upgraded .zt-footer-service-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.zt-footer-upgraded .zt-footer-service-row span {
    justify-content: center;
    min-width: 0;
    padding-inline: 8px;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .zt-footer-upgraded .zt-footer-service-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* Fast image paint and scroll placeholders */
.zt-card-img,
.zt-destination-media,
.zt-hotel-media,
.zt-ride-media,
.zt-deal-media,
.zt-vehicle-media,
.zt-phone-hero {
    background-color: #EAF3FF;
    background-image: linear-gradient(110deg, #EAF3FF 0%, #F8FBFF 46%, #EAF3FF 100%);
    background-size: cover;
}

.zt-card-img,
.zt-destination-media img,
.zt-hotel-media img,
.zt-ride-media img,
.zt-deal-media img,
.zt-vehicle-media img,
.zt-feature-band img,
.zt-panel img.w-100 {
    display: block;
    background-color: #EAF3FF;
    backface-visibility: hidden;
}

.zt-panel img.w-100.rounded-3 {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* Standalone flight search page booking panel */
.zt-flight-search-page {
    padding-top: clamp(118px, 10vw, 148px);
    padding-bottom: clamp(46px, 6vw, 82px);
    background:
        radial-gradient(circle at 10% 0%, rgba(24, 119, 242, .09), transparent 34%),
        linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 52%, #F8FBFF 100%);
}

.zt-flight-search-panel {
    max-width: 1500px;
    margin-inline: auto;
}

.zt-flight-search-page .zt-booking-body {
    padding: clamp(20px, 2.4vw, 34px);
}

.zt-flight-search-page .zt-booking-body form > .d-flex:first-child {
    margin-top: 0;
    margin-bottom: 14px !important;
    padding: 0 4px 16px;
}

.zt-flight-search-page .zt-search-note {
    max-width: 740px;
}

.zt-flight-search-page .zt-booking-body .btn.btn-primary.btn-lg {
    width: 100%;
}

@media (max-width: 1199.98px) {
    .zt-flight-search-page {
        padding-top: 112px;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-search-page {
        padding-top: 98px;
        padding-bottom: 40px;
    }

    .zt-flight-search-page .zt-booking-body {
        padding: 16px;
    }

    .zt-flight-search-page .zt-booking-body form > .d-flex:first-child {
        padding-inline: 0;
    }
}

@media (max-width: 575.98px) {
    .zt-flight-search-page {
        padding-top: 92px;
    }

    .zt-flight-search-panel {
        margin-inline: -8px;
        border-radius: 18px 18px 0 0;
    }
}
/* Enterprise flight search results */
.zt-flight-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 26px 0 16px;
    padding: 18px 20px;
    border: 1px solid rgba(202, 215, 232, .92);
    border-radius: 18px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 58%, #F1F8F4 100%);
    box-shadow: 0 16px 44px rgba(11, 31, 58, .08);
}

.zt-flight-results-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.zt-flight-results-head .zt-section-kicker i,
.zt-provider-note i {
    color: #1877F2;
    font-size: 15px;
    -webkit-text-stroke: .45px currentColor;
}

.zt-flight-results-head .zt-section-title {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #071E3A;
}

.zt-flight-results-head .zt-section-title i {
    color: #1877F2;
    font-size: 30px;
    line-height: 1;
}

.zt-provider-note {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: 420px;
    padding: 11px 13px;
    border: 1px solid rgba(191, 219, 254, .9);
    border-radius: 999px;
    background: #F0F7FF;
    color: #29415F;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
}

.zt-flight-results-list {
    display: grid;
    gap: 16px;
}

.zt-flight-offer-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 292px);
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(200, 214, 232, .92);
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    box-shadow: 0 18px 48px rgba(11, 31, 58, .08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zt-flight-offer-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #1877F2, #16A34A);
}

.zt-flight-offer-card:hover {
    transform: translateY(-3px);
    border-color: rgba(24, 119, 242, .38);
    box-shadow: 0 24px 62px rgba(11, 31, 58, .12);
}

.zt-flight-offer-main {
    min-width: 0;
    padding: 22px 24px 22px 26px;
}

.zt-flight-offer-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.zt-airline-block {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    gap: 12px;
}

.zt-airline-icon {
    display: inline-grid;
    width: 46px;
    height: 46px;
    min-width: 46px;
    place-items: center;
    border: 1px solid rgba(191, 219, 254, .92);
    border-radius: 14px;
    background: linear-gradient(135deg, #EAF3FF, #FFFFFF);
    color: #123E73;
    box-shadow: 0 10px 22px rgba(11, 31, 58, .08);
}

.zt-airline-icon i {
    font-size: 22px;
    transform: rotate(34deg);
    -webkit-text-stroke: .45px currentColor;
}

.zt-airline-name {
    display: block;
    color: #071E3A;
    font-size: 16px;
    font-weight: 950;
    line-height: 1.2;
}

.zt-flight-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.zt-flight-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 5px 8px;
    border: 1px solid rgba(218, 226, 238, .9);
    border-radius: 999px;
    background: #FFFFFF;
    color: #52667F;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
}

.zt-flight-meta i {
    color: #1877F2;
    font-size: 12px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-stop-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 32px;
    padding: 7px 11px;
    border: 1px solid rgba(187, 247, 208, .95);
    border-radius: 999px;
    background: #ECFDF5;
    color: #166534;
    font-size: 11.5px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-stop-badge i {
    font-size: 13px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-flight-offer-card .zt-flight-leg {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 235px) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.zt-flight-node {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid rgba(222, 230, 241, .92);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-flight-node-arrival {
    text-align: right;
}

.zt-flight-code {
    color: #071E3A;
    font-size: clamp(25px, 2.5vw, 33px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.zt-flight-time {
    margin-top: 8px;
    color: #263A56;
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.2;
}

.zt-flight-node small {
    display: block;
    margin-top: 6px;
    color: #68788F;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-flight-path {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    min-width: 0;
    padding: 12px 0;
    text-align: center;
}

.zt-flight-path-line {
    position: absolute;
    top: 28px;
    left: 6px;
    right: 6px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(24, 119, 242, .2), rgba(24, 119, 242, .92), rgba(22, 163, 74, .3));
}

.zt-flight-path-line::before,
.zt-flight-path-line::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1877F2;
    transform: translateY(-50%);
}

.zt-flight-path-line::before {
    left: 0;
}

.zt-flight-path-line::after {
    right: 0;
    background: #16A34A;
}

.zt-flight-path-plane {
    position: relative;
    z-index: 1;
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    background: linear-gradient(135deg, #071E3A, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .25);
}

.zt-flight-path-plane i {
    font-size: 19px;
    transform: rotate(34deg);
    -webkit-text-stroke: .55px currentColor;
}

.zt-flight-duration {
    margin-top: 8px;
    color: #071E3A;
    font-size: 12px;
    font-weight: 950;
}

.zt-flight-layover {
    margin-top: 2px;
    color: #68788F;
    font-size: 11.5px;
    font-weight: 800;
}

.zt-flight-price-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    padding: 24px;
    border-left: 1px solid rgba(218, 226, 238, .9);
    background:
        radial-gradient(circle at 100% 0%, rgba(24, 119, 242, .12), transparent 38%),
        linear-gradient(180deg, #F9FCFF, #F2F7FC);
    text-align: right;
}

.zt-price-label {
    color: #6B7B91;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-flight-price-panel .zt-price {
    margin-top: 8px;
    color: #071E3A;
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 950;
    line-height: 1.05;
}

.zt-fare-breakdown {
    max-width: 230px;
    margin-top: 8px;
    color: #60728B;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-select-flight-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 136px;
    min-height: 46px;
    gap: 8px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 16px 32px rgba(24, 119, 242, .26);
}

.zt-select-flight-btn i {
    margin-right: 0 !important;
    font-size: 16px;
    -webkit-text-stroke: .55px currentColor;
}

@media (max-width: 991.98px) {
    .zt-flight-offer-card {
        grid-template-columns: 1fr;
    }

    .zt-flight-price-panel {
        align-items: flex-start;
        border-left: 0;
        border-top: 1px solid rgba(218, 226, 238, .9);
        text-align: left;
    }

    .zt-fare-breakdown {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-results-head {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
        border-radius: 16px;
    }

    .zt-provider-note {
        width: 100%;
        max-width: none;
        border-radius: 12px;
    }

    .zt-flight-offer-main,
    .zt-flight-price-panel {
        padding: 18px;
    }

    .zt-flight-offer-top {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-flight-offer-card .zt-flight-leg {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .zt-flight-node-arrival {
        text-align: left;
    }

    .zt-flight-path {
        min-height: 72px;
        padding: 8px 0 12px;
    }

    .zt-flight-path-line {
        top: 28px;
        left: 15%;
        right: 15%;
    }

    .zt-select-flight-btn {
        width: 100%;
    }
}
/* Flight results route detail line */
.zt-results-route-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    color: #566A83;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-results-route-detail i {
    color: #1877F2;
    font-size: 13px;
    -webkit-text-stroke: .35px currentColor;
}

@media (max-width: 575.98px) {
    .zt-results-route-detail {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .zt-results-route-detail i {
        transform: rotate(90deg);
    }
}
/* Polished flight result summary and dynamic fare display */
.zt-flight-results-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
    align-items: stretch;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(199, 214, 232, .86);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(247, 251, 255, .94)),
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .12), transparent 34%);
    box-shadow: 0 18px 46px rgba(11, 31, 58, .08);
}

.zt-results-summary-block {
    min-width: 0;
}

.zt-results-market-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.zt-market-pill,
.zt-route-arrow,
.zt-results-selected-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.zt-market-pill {
    min-height: 42px;
    padding: 9px 13px;
    border: 1px solid rgba(191, 219, 254, .95);
    border-radius: 999px;
    background: #FFFFFF;
    color: #0B1F3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(11, 31, 58, .06);
}

.zt-market-pill i {
    color: #1877F2;
    font-size: 15px;
    -webkit-text-stroke: .45px currentColor;
}

.zt-market-pill-destination i {
    color: #16A34A;
}

.zt-route-arrow {
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #071E3A, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .24);
}

.zt-route-arrow i {
    font-size: 16px;
    transform: rotate(28deg);
    -webkit-text-stroke: .55px currentColor;
}

.zt-results-airports {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.zt-results-airports > span {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(221, 231, 243, .9);
    border-radius: 12px;
    background: #FFFFFF;
    color: #344966;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
}

.zt-results-airports strong {
    display: block;
    margin-bottom: 4px;
    color: #6B7B91;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-results-airports > i {
    color: #1877F2;
    text-align: center;
    -webkit-text-stroke: .45px currentColor;
}

.zt-results-status-stack {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

.zt-results-status-stack .zt-provider-note {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
    border-radius: 12px;
}

.zt-results-selected-meta {
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid rgba(218, 226, 238, .9);
    border-radius: 999px;
    background: #FFFFFF;
    color: #415673;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.zt-results-selected-meta i {
    color: #1877F2;
    font-size: 12px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-price-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 10px;
}

.zt-price-cabin {
    padding: 6px 9px;
    border: 1px solid rgba(187, 247, 208, .95);
    border-radius: 999px;
    background: #ECFDF5;
    color: #166534;
    font-size: 10.5px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.zt-price-display {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    color: #071E3A;
    line-height: 1;
}

.zt-price-currency {
    color: #1877F2;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-price-amount {
    font-size: clamp(28px, 2.7vw, 38px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-price-subline {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
    width: 100%;
    margin-top: 10px;
}

.zt-price-subline span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 1px solid rgba(218, 226, 238, .9);
    border-radius: 999px;
    background: #FFFFFF;
    color: #4B607A;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.zt-price-subline i {
    color: #1877F2;
    font-size: 12px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-fare-breakdown-grid {
    display: grid;
    gap: 8px;
    width: 100%;
    max-width: 260px;
    margin-top: 12px;
}

.zt-fare-breakdown-grid div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid rgba(218, 226, 238, .9);
    border-radius: 10px;
    background: rgba(255,255,255,.78);
}

.zt-fare-breakdown-grid span {
    color: #6B7B91;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
}

.zt-fare-breakdown-grid strong {
    color: #0B1F3A;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.15;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .zt-flight-results-head {
        grid-template-columns: 1fr;
    }

    .zt-results-status-stack {
        justify-content: flex-start;
    }

    .zt-price-display,
    .zt-price-subline {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .zt-results-market-row {
        display: grid;
        grid-template-columns: 1fr 42px 1fr;
    }

    .zt-market-pill {
        justify-content: center;
        width: 100%;
        min-width: 0;
        padding-inline: 10px;
        font-size: 14px;
        text-align: center;
    }

    .zt-results-airports {
        grid-template-columns: 1fr;
    }

    .zt-results-airports > i {
        transform: rotate(90deg);
    }

    .zt-price-card-head,
    .zt-fare-breakdown-grid div {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-price-amount {
        font-size: 31px;
    }
}
/* Scroll-aware booking picker placement */
.zt-flag-select.is-menu-up .zt-flag-select-menu {
    top: auto;
    bottom: calc(100% + 7px);
    box-shadow: 0 -18px 48px rgba(11, 31, 58, .16);
}

.zt-flag-select.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px);
    bottom: auto;
}

.zt-flag-select.is-menu-up .zt-flag-caret {
    transform: translateY(-35%) rotate(45deg);
}
/* Enterprise flight leg result cards */
.zt-flight-offer-top {
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(220, 229, 241, .86);
}

.zt-stop-badge {
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    min-width: 122px;
    border-radius: 12px;
}

.zt-stop-badge small {
    color: inherit;
    font-size: 10px;
    font-weight: 850;
    opacity: .78;
}

.zt-flight-leg-stack {
    display: grid;
    gap: 12px;
}

.zt-flight-leg-item {
    display: grid;
    grid-template-columns: minmax(86px, .42fr) minmax(0, .82fr) minmax(170px, 1fr) minmax(0, .82fr);
    align-items: stretch;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(218, 226, 238, .9);
    border-radius: 14px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-leg-label {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    padding: 10px;
    border-radius: 11px;
    background: #EDF6FF;
    color: #123E73;
}

.zt-leg-label span {
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-leg-label strong {
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-leg-node {
    display: grid;
    align-content: center;
    gap: 6px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(223, 232, 244, .9);
    border-radius: 12px;
    background: #FFFFFF;
}

.zt-leg-node-arrival {
    text-align: right;
}

.zt-leg-node small {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #61748D;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.3;
    text-overflow: ellipsis;
}

.zt-leg-route-mid {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    min-width: 0;
    padding: 8px 4px;
    text-align: center;
}

.zt-leg-route-line {
    position: absolute;
    top: 30px;
    left: 7px;
    right: 7px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(24,119,242,.2), rgba(24,119,242,.92), rgba(22,163,74,.28));
}

.zt-leg-route-mid .zt-flight-path-plane {
    width: 38px;
    height: 38px;
}

.zt-leg-route-mid strong {
    position: relative;
    z-index: 1;
    color: #0B1F3A;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.2;
}

.zt-leg-route-mid em {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    max-width: 260px;
    overflow: hidden;
    color: #65778E;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.zt-flight-price-panel {
    justify-content: flex-start;
}

.zt-price-display {
    padding: 12px 0 4px;
    border-bottom: 1px solid rgba(218, 226, 238, .9);
}

.zt-fare-breakdown-grid {
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .zt-flight-leg-item {
        grid-template-columns: 1fr;
    }

    .zt-leg-node-arrival,
    .zt-stop-badge {
        align-items: flex-start;
        text-align: left;
    }

    .zt-leg-route-mid {
        min-height: 74px;
    }

    .zt-leg-route-line {
        left: 18%;
        right: 18%;
    }
}
/* Polished route result header and ticket review page */
.zt-flight-results-head {
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.99), rgba(247,251,255,.96) 58%, rgba(241,248,244,.9)),
        radial-gradient(circle at 9% 4%, rgba(24,119,242,.15), transparent 34%);
}

.zt-results-airports > span {
    display: grid;
    gap: 4px;
    min-height: 68px;
    align-content: center;
}

.zt-results-airports strong {
    margin-bottom: 0;
}

.zt-results-airports > span > span {
    display: block;
    overflow: hidden;
    color: #263D5A;
    text-overflow: ellipsis;
}

.zt-results-airports > i {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #EEF6FF;
}

.zt-provider-note {
    white-space: normal;
}

.zt-ticket-panel,
.zt-ticket-payment-card {
    border-color: rgba(199, 214, 232, .9);
    box-shadow: 0 20px 58px rgba(11, 31, 58, .08);
}

.zt-ticket-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(218, 226, 238, .92);
}

.zt-ticket-head h2 {
    margin: 7px 0 5px;
    color: #071E3A;
    font-size: clamp(24px, 2.2vw, 34px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
}

.zt-ticket-head p {
    margin: 0;
    color: #52667F;
    font-weight: 850;
}

.zt-ticket-label,
.zt-ticket-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1877F2;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-ticket-label i,
.zt-ticket-status-chip i {
    -webkit-text-stroke: .45px currentColor;
}

.zt-ticket-status-chip {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 9px 12px;
    border: 1px solid rgba(187, 247, 208, .95);
    border-radius: 999px;
    background: #ECFDF5;
    color: #166534;
    letter-spacing: 0;
}

.zt-ticket-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.zt-ticket-summary-grid > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(221, 231, 243, .9);
    border-radius: 14px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-ticket-summary-grid span,
.zt-ticket-price-box span {
    display: block;
    color: #6B7B91;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-ticket-summary-grid strong {
    display: block;
    margin-top: 7px;
    overflow: hidden;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-ticket-leg-item {
    border-color: rgba(203, 218, 236, .94);
    box-shadow: 0 14px 32px rgba(11, 31, 58, .055);
}

.zt-ticket-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.zt-ticket-rule-grid > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(221, 231, 243, .9);
    border-radius: 14px;
    background: #FFFFFF;
}

.zt-ticket-rule-grid strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
}

.zt-ticket-rule-grid strong i {
    color: #1877F2;
    -webkit-text-stroke: .35px currentColor;
}

.zt-ticket-rule-grid p {
    margin: 8px 0 0;
    color: #5D718B;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
}

.zt-ticket-price-box {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(191, 219, 254, .96);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(239, 247, 255, .98), rgba(255,255,255,.98)),
        radial-gradient(circle at 100% 0%, rgba(22,163,74,.14), transparent 38%);
}

.zt-ticket-price-box strong {
    display: block;
    margin-top: 8px;
    color: #071E3A;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.zt-ticket-price-box small {
    display: block;
    margin-top: 9px;
    color: #52667F;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.4;
}

@media (max-width: 991.98px) {
    .zt-flight-results-head,
    .zt-ticket-head {
        grid-template-columns: 1fr;
    }

    .zt-ticket-head {
        flex-direction: column;
    }

    .zt-results-status-stack {
        justify-content: flex-start;
    }

    .zt-ticket-summary-grid,
    .zt-ticket-rule-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .zt-results-airports {
        grid-template-columns: 1fr;
    }

    .zt-results-airports > i {
        margin: 0 auto;
        transform: rotate(90deg);
    }

    .zt-ticket-summary-grid,
    .zt-ticket-rule-grid {
        grid-template-columns: 1fr;
    }
}
/* Flight search dropdown safe area under fixed navbar */
.zt-flight-search-page .zt-booking-panel,
.zt-flight-search-page .zt-booking-body,
.zt-flight-search-page .zt-flight-search-pane,
.zt-flight-search-page .zt-grid,
.zt-flight-search-page .zt-field,
.zt-flight-search-page .zt-route-pair {
    overflow: visible;
}

.zt-flight-search-page .zt-booking-panel {
    position: relative;
    z-index: 20;
}

.zt-flight-search-page .zt-flag-select.is-open {
    z-index: 80;
}

.zt-flight-search-page .zt-flag-select.is-menu-up .zt-flag-select-menu {
    scroll-padding-top: 8px;
}
/* Premium flight booking form layout, travellers picker and wider airport menus */
.zt-col-7 {
    grid-column: span 7;
}

#flights-pane .zt-route-pair.zt-col-7 {
    min-width: 0;
}

#flights-pane .zt-route-pair .zt-flag-select-button {
    min-height: 56px;
    padding-left: 12px;
}

#flights-pane .zt-route-pair .zt-flag-value {
    white-space: nowrap;
}

#flights-pane .zt-route-pair .zt-flag-select-menu {
    width: clamp(360px, 35vw, 560px);
    max-width: calc(100vw - 32px);
    right: auto;
}

#flights-pane .zt-route-pair .zt-field:last-child .zt-flag-select-menu {
    right: 0;
    left: auto;
}

.zt-date-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 10px;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(199, 214, 232, .94);
    border-radius: 16px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 28px rgba(11,31,58,.045);
}

.zt-date-pair.is-one-way {
    grid-template-columns: 1fr;
}

.zt-date-pair .zt-field .form-label {
    margin-bottom: 6px;
}

.zt-date-pair .zt-field > i {
    top: 36px;
}

.zt-date-pair .form-control {
    min-height: 50px;
    box-shadow: none;
}

.zt-passenger-field {
    z-index: 25;
}

.zt-passenger-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    gap: 12px;
    padding: 8px 12px 8px 44px;
    border: 1px solid rgba(198, 211, 229, .96);
    border-radius: 12px;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    color: #13243B;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
    box-shadow: 0 8px 22px rgba(11, 31, 58, .045);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-passenger-toggle:hover,
.zt-passenger-toggle:focus,
.zt-passenger-field.is-open .zt-passenger-toggle {
    border-color: rgba(24,119,242,.72);
    background: #FFFFFF;
    box-shadow: 0 0 0 .22rem rgba(24,119,242,.13), 0 12px 28px rgba(11,31,58,.08);
    outline: 0;
}

.zt-passenger-toggle span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-passenger-toggle strong {
    flex: 0 0 auto;
    padding: 7px 9px;
    border-radius: 999px;
    background: #EEF6FF;
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    line-height: 1;
}

.zt-passenger-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 100;
    display: none;
    width: min(380px, calc(100vw - 32px));
    padding: 12px;
    border: 1px solid rgba(198, 211, 229, .96);
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 26px 62px rgba(11,31,58,.18);
}

.zt-passenger-field.is-open .zt-passenger-menu {
    display: grid;
    gap: 10px;
}

.zt-passenger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px;
    border: 1px solid rgba(221, 231, 243, .9);
    border-radius: 13px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-passenger-row strong {
    display: block;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-passenger-row span:not([data-passenger-count]) {
    display: block;
    margin-top: 4px;
    color: #667A92;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.zt-passenger-stepper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.zt-passenger-stepper button {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(191, 219, 254, .95);
    border-radius: 50%;
    background: #EEF6FF;
    color: #0B3A70;
    font-size: 20px;
    font-weight: 950;
    line-height: 1;
    transition: transform .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
}

.zt-passenger-stepper button:hover,
.zt-passenger-stepper button:focus {
    background: #1877F2;
    color: #FFFFFF;
    transform: translateY(-1px);
    outline: 0;
}

.zt-passenger-stepper button:disabled {
    cursor: not-allowed;
    opacity: .42;
    transform: none;
}

.zt-passenger-stepper [data-passenger-count] {
    display: inline-grid;
    min-width: 28px;
    place-items: center;
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
}

.zt-passenger-done {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    width: 100%;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #071E3A 0%, #123E73 58%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(24,119,242,.24);
}

#flights-pane .zt-col-4.d-grid .btn.btn-primary.btn-lg {
    min-height: 56px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #071E3A 0%, #123E73 42%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 20px 42px rgba(24,119,242,.28), inset 0 1px 0 rgba(255,255,255,.22);
}

#flights-pane .zt-col-4.d-grid .btn.btn-primary.btn-lg:hover,
#flights-pane .zt-col-4.d-grid .btn.btn-primary.btn-lg:focus {
    transform: translateY(-2px);
    box-shadow: 0 24px 48px rgba(24,119,242,.34), inset 0 1px 0 rgba(255,255,255,.26);
}

@media (min-width: 1200px) {
    #flights-pane .zt-route-pair.zt-col-7 {
        grid-column: span 13;
    }

    #flights-pane .zt-date-pair.zt-col-5 {
        grid-column: span 7;
    }

    #flights-pane .zt-cabin-field.zt-col-3 {
        grid-column: span 5;
    }

    #flights-pane .zt-passenger-field.zt-col-3 {
        grid-column: span 6;
    }

    #flights-pane .zt-field.zt-col-2 {
        grid-column: span 4;
    }

    #flights-pane .zt-col-4.d-grid {
        grid-column: 17 / -1;
    }
}

@media (max-width: 1199.98px) {
    .zt-col-7,
    .zt-date-pair {
        grid-column: span 6;
    }
}

@media (max-width: 767.98px) {
    .zt-col-7,
    .zt-date-pair,
    .zt-passenger-field {
        grid-column: span 12;
    }

    .zt-date-pair {
        grid-template-columns: 1fr;
        padding: 9px;
    }

    #flights-pane .zt-route-pair .zt-flag-select-menu,
    .zt-passenger-menu {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
    }
}
/* Flight date pair width and height refinement */
#flights-pane .zt-date-pair {
    align-self: end;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #FFFFFF;
}

#flights-pane .zt-date-pair .zt-field {
    min-width: 0;
    padding: 10px 12px;
}

#flights-pane .zt-date-pair .zt-field + .zt-field {
    border-left: 1px solid rgba(218, 226, 238, .92);
}

#flights-pane .zt-date-pair .zt-field > i {
    top: 43px;
    left: 16px;
}

#flights-pane .zt-date-pair .form-control {
    min-height: 56px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    box-shadow: none;
}

#flights-pane .zt-date-pair .form-control:focus {
    box-shadow: 0 0 0 .2rem rgba(24,119,242,.12);
}

@media (min-width: 1200px) {
    #flights-pane .zt-route-pair.zt-col-7 {
        grid-column: span 12;
    }

    #flights-pane .zt-date-pair.zt-col-5 {
        grid-column: span 12;
    }
}

@media (min-width: 1400px) {
    #flights-pane .zt-route-pair.zt-col-7 {
        grid-column: span 11;
    }

    #flights-pane .zt-date-pair.zt-col-5 {
        grid-column: span 13;
    }
}

@media (max-width: 767.98px) {
    #flights-pane .zt-date-pair {
        gap: 0;
    }

    #flights-pane .zt-date-pair .zt-field + .zt-field {
        border-top: 1px solid rgba(218, 226, 238, .92);
        border-left: 0;
    }
}
/* Homepage booking panel upward refinement after hero chip removal */
.zt-booking-shell {
    margin-top: -318px;
}

@media (max-width: 1199.98px) {
    .zt-booking-shell {
        margin-top: -252px;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-shell {
        margin-top: -198px;
    }
}

@media (max-width: 575.98px) {
    .zt-booking-shell {
        margin-top: -184px;
    }
}
/* Enterprise compact flight search engine redesign */
.zt-booking-panel {
    border: 1px solid #DFE8F2;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 12px 35px rgba(13, 45, 80, .08);
}

.zt-booking-tabs,
.zt-flight-service-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px;
    border-bottom: 1px solid #D8E2EF;
    border-radius: 20px 20px 0 0;
    background: #FFFFFF;
}

.zt-booking-tabs .nav-link,
.zt-flight-service-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: #F5F7FA;
    color: #334B68;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    box-shadow: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.zt-booking-tabs .nav-link i,
.zt-flight-service-tab i {
    display: inline-grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 7px;
    background: transparent;
    color: currentColor;
    font-size: 14px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-booking-tabs .nav-link:hover,
.zt-booking-tabs .nav-link:focus,
.zt-flight-service-tab:hover,
.zt-flight-service-tab:focus {
    border-color: #D8E2EF;
    background: #EAF3FF;
    color: #1264D8;
    transform: translateY(-1px);
}

.zt-booking-tabs .nav-link.active,
.zt-flight-service-tab.is-active {
    border-color: #1877F2;
    background: #1877F2;
    color: #FFFFFF;
    box-shadow: 0 10px 22px rgba(24, 119, 242, .18);
}

.zt-booking-body {
    padding: clamp(18px, 2vw, 26px);
}

.zt-flight-engine {
    min-width: 0;
}

.zt-flight-engine-results .zt-flight-service-tabs {
    margin: -8px -8px 14px;
    border: 0;
    border-bottom: 1px solid #D8E2EF;
    border-radius: 14px 14px 0 0;
    background: #FFFFFF;
}

.zt-flight-search-form {
    display: grid;
    gap: 14px;
}

.zt-flight-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.zt-trip-switch,
.zt-trip-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-height: 56px;
    padding: 5px;
    border: 1px solid #D8E2EF;
    border-radius: 30px;
    background: #EEF4FA;
    box-shadow: none;
}

.zt-trip-toggle label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 999px;
    color: #334B68;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.zt-trip-toggle input:checked + label {
    background: #1877F2;
    color: #FFFFFF;
    box-shadow: 0 8px 18px rgba(24, 119, 242, .18);
}

.zt-flight-helper,
.zt-search-note.zt-flight-helper {
    flex: 0 1 420px;
    min-height: 34px;
    max-width: 480px;
    padding: 8px 10px;
    border-color: rgba(187, 247, 208, .9);
    border-radius: 10px;
    background: #F0FDF4;
    color: #35506C;
    font-size: 12.5px;
    font-weight: 750;
    line-height: 1.3;
}

.zt-flight-helper i {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: #DCFCE7;
    color: #15803D;
    font-size: 13px;
}

.zt-flight-search-grid {
    display: grid;
    grid-template-columns: repeat(30, minmax(0, 1fr));
    align-items: end;
    gap: 12px;
}

.zt-flight-route-pair {
    grid-column: span 10;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    min-width: 0;
}

.zt-flight-date-pair {
    grid-column: span 6;
}

.zt-flight-search-grid .zt-passenger-field {
    grid-column: span 4;
}

.zt-flight-search-grid .zt-cabin-field {
    grid-column: span 3;
}

.zt-flight-search-grid .zt-currency-field {
    grid-column: span 3;
}

.zt-flight-submit-wrap {
    grid-column: span 4;
    display: grid;
    align-self: end;
}

.zt-flight-field {
    min-width: 0;
}

.zt-flight-field .form-label {
    margin-bottom: 6px;
    color: #657B96;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-flight-field > i {
    top: 41px;
    left: 15px;
    color: #1877F2;
    font-size: 15px;
    -webkit-text-stroke: .28px currentColor;
}

.zt-flight-field .form-control,
.zt-flight-field .form-select,
.zt-flight-field .zt-flag-select-button,
.zt-flight-field .zt-passenger-toggle {
    min-height: 62px;
    border: 1px solid #C9D8EA;
    border-radius: 14px;
    background: #FFFFFF;
    color: #17233C;
    box-shadow: none;
}

.zt-flight-field .form-control,
.zt-flight-field .form-select {
    padding-left: 42px;
    font-size: 13px;
    font-weight: 800;
}

.zt-flight-field .zt-flag-select-button {
    gap: 9px;
    padding: 8px 34px 8px 12px;
}

.zt-flight-field .form-control:hover,
.zt-flight-field .form-select:hover,
.zt-flight-field .zt-flag-select-button:hover,
.zt-flight-field .zt-passenger-toggle:hover {
    border-color: #1877F2;
}

.zt-flight-field .form-control:focus,
.zt-flight-field .form-select:focus,
.zt-flight-field .zt-flag-select-button:focus,
.zt-flight-field .zt-passenger-toggle:focus,
.zt-flight-field .zt-flag-select.is-open .zt-flag-select-button,
.zt-passenger-field.is-open .zt-passenger-toggle {
    border-color: #1877F2;
    box-shadow: 0 0 0 3px rgba(24, 119, 242, .10);
    outline: 0;
}

.zt-airport-field .zt-flag-badge {
    display: inline-grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    overflow: hidden;
}

.zt-airport-field .zt-flag-value {
    display: grid;
    gap: 2px;
    min-width: 0;
    line-height: 1.1;
}

.zt-picker-airport-code {
    color: #17233C;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .02em;
}

.zt-picker-airport-name {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #667892;
    font-size: 11.5px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-flight-swap-btn,
.zt-route-pair .zt-flight-swap-btn {
    width: 48px;
    height: 48px;
    border: 1px solid #C9D8EA;
    border-radius: 50%;
    background: #FFFFFF;
    color: #1877F2;
    box-shadow: 0 8px 18px rgba(13, 45, 80, .08);
    transition: transform .25s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.zt-flight-swap-btn:hover,
.zt-flight-swap-btn:focus {
    border-color: #1877F2;
    background: #1877F2;
    color: #FFFFFF;
    transform: rotate(180deg);
}

.zt-flight-date-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.zt-flight-date-pair.is-one-way {
    grid-template-columns: minmax(0, 1fr);
}

.zt-flight-date-pair .zt-field {
    padding: 0;
}

.zt-flight-date-pair .zt-field + .zt-field {
    border: 0;
}

.zt-flight-date-pair .form-control {
    min-height: 62px;
    border: 1px solid #C9D8EA;
    box-shadow: none;
}

.zt-passenger-toggle {
    padding-left: 42px;
}

.zt-passenger-toggle strong {
    padding: 5px 7px;
    background: transparent;
    color: #1877F2;
    font-size: 11px;
    font-weight: 850;
}

.zt-passenger-menu {
    width: min(360px, calc(100vw - 32px));
    border-color: #C9D8EA;
    box-shadow: 0 18px 42px rgba(13, 45, 80, .14);
}

.zt-flight-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    gap: 9px;
    padding: 0 24px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #0B4D91, #1877F2);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .22);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.zt-flight-search-submit i {
    font-size: 15px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-flight-search-submit:hover,
.zt-flight-search-submit:focus {
    filter: saturate(1.05);
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(24, 119, 242, .28);
}

.zt-airport-picker .zt-flag-select-menu {
    width: min(520px, calc(100vw - 32px));
    max-height: 360px;
    padding: 8px;
    border: 1px solid #C9D8EA;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 22px 48px rgba(13, 45, 80, .16);
}

.zt-airport-search-wrap {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
    padding: 8px 10px;
    border: 1px solid #D8E2EF;
    border-radius: 11px;
    background: #F8FBFF;
}

.zt-airport-search-wrap i {
    color: #1877F2;
    font-size: 14px;
}

.zt-airport-search-input {
    width: 100%;
    border: 0;
    background: transparent;
    color: #17233C;
    font-size: 13px;
    font-weight: 750;
    outline: 0;
}

.zt-airport-group-heading {
    padding: 10px 8px 6px;
    color: #657B96;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-airport-option {
    display: grid;
    grid-template-columns: 32px 54px minmax(0, 1fr);
    gap: 10px;
    min-height: 58px;
    padding: 9px 10px;
}

.zt-airport-option-icon {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    background: #EAF3FF;
    color: #1877F2;
}

.zt-airport-code {
    align-self: center;
    color: #17233C;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-airport-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.zt-airport-name {
    overflow: hidden;
    color: #17233C;
    font-size: 13px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-airport-location {
    overflow: hidden;
    color: #667892;
    font-size: 11.5px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-airport-option.is-selected {
    background: #EAF3FF;
    color: #17233C;
}

.zt-airport-no-results {
    padding: 14px 10px;
    color: #667892;
    font-size: 12px;
    font-weight: 750;
    text-align: center;
}

.zt-multicity-panel {
    display: none;
    gap: 10px;
    padding-top: 4px;
}

.zt-flight-search-form.is-multicity .zt-multicity-panel,
.zt-multicity-panel.is-active {
    display: grid;
}

.zt-multicity-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #D8E2EF;
    border-radius: 12px;
    background: #F8FBFF;
}

.zt-multicity-head strong {
    color: #17233C;
    font-size: 13px;
    font-weight: 900;
}

.zt-multicity-head span {
    color: #667892;
    font-size: 12px;
    font-weight: 750;
}

.zt-multicity-segment {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) minmax(0, 1fr) minmax(150px, .7fr) 38px;
    align-items: end;
    gap: 10px;
    padding: 10px;
    border: 1px solid #D8E2EF;
    border-radius: 14px;
    background: #FFFFFF;
}

.zt-segment-number {
    align-self: center;
    color: #1264D8;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-segment-remove,
.zt-add-segment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #D8E2EF;
    background: #FFFFFF;
    color: #334B68;
}

.zt-segment-remove {
    width: 38px;
    height: 38px;
    border-radius: 50%;
}

.zt-add-segment {
    justify-self: start;
    min-height: 38px;
    gap: 8px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
}

.zt-segment-remove:hover,
.zt-segment-remove:focus,
.zt-add-segment:hover,
.zt-add-segment:focus {
    border-color: #1877F2;
    background: #EAF3FF;
    color: #1264D8;
}

@media (max-width: 1320px) {
    .zt-flight-search-grid {
        grid-template-columns: repeat(24, minmax(0, 1fr));
    }

    .zt-flight-route-pair {
        grid-column: span 12;
    }

    .zt-flight-date-pair {
        grid-column: span 8;
    }

    .zt-flight-search-grid .zt-passenger-field {
        grid-column: span 4;
    }

    .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-search-grid .zt-currency-field,
    .zt-flight-submit-wrap {
        grid-column: span 8;
    }
}

@media (max-width: 991.98px) {
    .zt-flight-search-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-flight-helper,
    .zt-search-note.zt-flight-helper {
        flex-basis: auto;
        max-width: 100%;
    }

    .zt-flight-route-pair,
    .zt-flight-date-pair,
    .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-search-grid .zt-currency-field,
    .zt-flight-submit-wrap {
        grid-column: span 12;
    }

    .zt-multicity-segment {
        grid-template-columns: 1fr 1fr;
    }

    .zt-segment-number,
    .zt-segment-remove {
        grid-column: span 2;
    }
}

@media (max-width: 767.98px) {
    .zt-booking-body {
        padding: 14px;
    }

    .zt-booking-tabs,
    .zt-flight-service-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .zt-booking-tabs::-webkit-scrollbar,
    .zt-flight-service-tabs::-webkit-scrollbar {
        display: none;
    }

    .zt-booking-tabs .nav-link,
    .zt-flight-service-tab {
        flex: 0 0 auto;
    }

    .zt-trip-switch,
    .zt-trip-toggle {
        width: 100%;
        overflow-x: auto;
        border-radius: 16px;
    }

    .zt-trip-toggle label {
        flex: 1 0 auto;
    }

    .zt-flight-search-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .zt-flight-route-pair,
    .zt-flight-date-pair,
    .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-search-grid .zt-currency-field,
    .zt-flight-submit-wrap {
        grid-column: 1 / -1;
    }

    .zt-flight-route-pair {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .zt-route-swap-wrap {
        height: 38px;
        margin: -1px 0;
        justify-content: flex-end;
    }

    .zt-flight-swap-btn,
    .zt-route-pair .zt-flight-swap-btn {
        width: 40px;
        height: 40px;
    }

    .zt-flight-date-pair {
        grid-template-columns: 1fr;
    }

    .zt-airport-picker .zt-flag-select-menu,
    .zt-passenger-menu {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
    }

    .zt-multicity-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-multicity-segment {
        grid-template-columns: 1fr;
    }

    .zt-segment-number,
    .zt-segment-remove {
        grid-column: auto;
    }
}
/* Final compact flight search polish */
.zt-flight-engine .zt-flight-search-form {
    gap: 12px;
}

.zt-flight-engine .zt-flight-search-head {
    align-items: flex-start;
    gap: 10px;
}

.zt-flight-engine .zt-trip-switch,
.zt-flight-engine .zt-trip-toggle {
    max-height: none;
    padding: 4px;
    border-radius: 24px;
    background: #F2F6FB;
}

.zt-flight-engine .zt-trip-toggle label {
    min-height: 31px;
    padding: 7px 12px;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-flight-engine .zt-trip-toggle input:checked + label {
    background: #0F5FC5;
    box-shadow: 0 7px 16px rgba(15, 95, 197, .18);
}

.zt-flight-engine .zt-flight-helper,
.zt-flight-engine .zt-search-note.zt-flight-helper {
    min-height: 32px;
    max-width: 430px;
    padding: 7px 10px;
    border-radius: 11px;
    color: #405A78;
    font-size: 12px;
    line-height: 1.25;
}

.zt-flight-engine .zt-flight-search-grid {
    grid-template-columns: repeat(24, minmax(0, 1fr));
    gap: 10px;
}

.zt-flight-engine .zt-flight-route-pair {
    grid-column: span 10;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 7px;
}

.zt-flight-engine .zt-flight-date-pair {
    grid-column: span 7;
    gap: 7px;
}

.zt-flight-engine .zt-flight-search-grid .zt-passenger-field {
    grid-column: span 7;
}

.zt-flight-engine .zt-flight-search-grid .zt-cabin-field {
    grid-column: span 7;
}

.zt-flight-engine .zt-flight-search-grid .zt-currency-field {
    grid-column: span 5;
}

.zt-flight-engine .zt-flight-submit-wrap {
    grid-column: 18 / -1;
    align-self: end;
}

.zt-flight-engine .zt-flight-field .form-label {
    margin-bottom: 5px;
    font-size: 10.5px;
    letter-spacing: .055em;
}

.zt-flight-engine .zt-flight-field > i {
    top: 35px;
    left: 14px;
    font-size: 14px;
}

.zt-flight-engine .zt-flight-field .form-control,
.zt-flight-engine .zt-flight-field .form-select,
.zt-flight-engine .zt-flight-field .zt-flag-select-button,
.zt-flight-engine .zt-flight-field .zt-passenger-toggle {
    min-height: 56px;
    height: 56px;
    border-radius: 12px;
    border-color: #C8D7E8;
    font-size: 12.5px;
}

.zt-flight-engine .zt-flight-field .form-control,
.zt-flight-engine .zt-flight-field .form-select {
    padding-left: 40px;
    padding-right: 13px;
    font-weight: 850;
}

.zt-flight-engine .zt-flight-field .zt-flag-select-button {
    padding: 7px 31px 7px 11px;
}

.zt-flight-engine .zt-airport-field .zt-flag-badge {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
}

.zt-flight-engine .zt-picker-airport-code {
    font-size: 13.5px;
}

.zt-flight-engine .zt-picker-airport-name {
    font-size: 11px;
}

.zt-flight-engine .zt-flight-swap-btn,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn {
    width: 42px;
    height: 42px;
    box-shadow: 0 7px 16px rgba(13, 45, 80, .09);
}

.zt-flight-engine .zt-flight-date-pair.is-one-way {
    grid-template-columns: minmax(0, 1fr);
}

.zt-flight-engine .zt-flight-date-pair .form-control {
    min-height: 56px;
    height: 56px;
    padding: 15px 38px 9px 40px;
    color: #17233C;
    line-height: 1;
    appearance: none;
    -webkit-appearance: none;
}

.zt-flight-engine .zt-flight-date-pair input[type="date"]::-webkit-calendar-picker-indicator {
    width: 18px;
    height: 18px;
    margin-right: -2px;
    opacity: .78;
    cursor: pointer;
    filter: invert(41%) sepia(83%) saturate(2341%) hue-rotate(199deg) brightness(96%) contrast(96%);
}

.zt-flight-engine .zt-passenger-toggle {
    gap: 8px;
    padding: 7px 10px 7px 40px;
}

.zt-flight-engine .zt-passenger-toggle span {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-flight-engine .zt-passenger-toggle strong {
    flex: 0 0 auto;
    min-width: 54px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #EAF3FF;
    color: #0F5FC5;
    font-size: 10.5px;
    line-height: 1;
    text-align: center;
}

.zt-flight-engine .zt-flight-search-submit {
    min-height: 56px;
    height: 56px;
    width: 100%;
    border-radius: 12px;
    font-size: 12.5px;
    box-shadow: 0 12px 24px rgba(15, 95, 197, .22);
}

.zt-flight-engine .zt-multicity-panel {
    margin-top: 2px;
}

.zt-flight-engine .zt-multicity-segment {
    gap: 9px;
    padding: 9px;
    border-radius: 13px;
}

.zt-flight-engine .zt-multicity-segment .zt-flight-field .form-control,
.zt-flight-engine .zt-multicity-segment .zt-flight-field .form-select,
.zt-flight-engine .zt-multicity-segment .zt-flight-field .zt-flag-select-button {
    min-height: 54px;
    height: 54px;
}

@media (max-width: 1320px) {
    .zt-flight-engine .zt-flight-search-grid {
        grid-template-columns: repeat(24, minmax(0, 1fr));
    }

    .zt-flight-engine .zt-flight-route-pair {
        grid-column: span 12;
    }

    .zt-flight-engine .zt-flight-date-pair {
        grid-column: span 12;
    }

    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-grid .zt-currency-field {
        grid-column: span 8;
    }

    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: 17 / -1;
    }
}

@media (max-width: 991.98px) {
    .zt-flight-engine .zt-flight-search-head {
        align-items: stretch;
    }

    .zt-flight-engine .zt-flight-helper,
    .zt-flight-engine .zt-search-note.zt-flight-helper {
        max-width: 100%;
    }

    .zt-flight-engine .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-grid .zt-currency-field,
    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: span 12;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-flight-search-head {
        gap: 9px;
    }

    .zt-flight-engine .zt-trip-switch,
    .zt-flight-engine .zt-trip-toggle {
        border-radius: 16px;
    }

    .zt-flight-engine .zt-flight-search-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .zt-flight-engine .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-grid .zt-currency-field,
    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: 1 / -1;
    }

    .zt-flight-engine .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-date-pair {
        grid-template-columns: 1fr;
    }

    .zt-flight-engine .zt-flight-field .form-control,
    .zt-flight-engine .zt-flight-field .form-select,
    .zt-flight-engine .zt-flight-field .zt-flag-select-button,
    .zt-flight-engine .zt-flight-field .zt-passenger-toggle,
    .zt-flight-engine .zt-flight-search-submit {
        min-height: 54px;
        height: 54px;
    }
}

/* Route picker and date row correction */
.zt-flight-engine .zt-airport-picker .zt-flag-select-menu {
    width: min(660px, calc(100vw - 32px));
    max-height: 390px;
    padding: 8px;
}

.zt-flight-engine .zt-route-pair .zt-field:first-child .zt-airport-picker .zt-flag-select-menu {
    left: 0;
    right: auto;
}

.zt-flight-engine .zt-route-pair .zt-field:last-child .zt-airport-picker .zt-flag-select-menu {
    left: auto;
    right: 0;
}

.zt-flight-engine .zt-airport-search-wrap {
    display: none !important;
}

.zt-flight-engine .zt-airport-option {
    grid-template-columns: 36px 58px minmax(0, 1fr);
    gap: 11px;
    min-height: 62px;
    padding: 10px;
    border-radius: 12px;
}

.zt-flight-engine .zt-airport-option-flag {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    overflow: hidden;
    border: 1px solid #C9D8EA;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 8px 18px rgba(13, 45, 80, .08);
}

.zt-flight-engine .zt-airport-option-flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zt-flight-engine .zt-airport-option .zt-airport-code {
    font-size: 15px;
    letter-spacing: .035em;
}

.zt-flight-engine .zt-airport-option .zt-airport-name {
    font-size: 13px;
}

.zt-flight-engine .zt-airport-option .zt-airport-location {
    font-size: 11.5px;
}

.zt-flight-engine .zt-airport-option.is-selected .zt-airport-option-flag {
    border-color: rgba(255, 255, 255, .58);
    box-shadow: none;
}

.zt-flight-engine .zt-date-field {
    cursor: pointer;
}

.zt-flight-engine .zt-date-field > i {
    top: auto;
    bottom: 20px;
    transform: none;
    pointer-events: none;
}

.zt-flight-engine .zt-date-field .form-control {
    cursor: pointer;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    font-size: 13px;
    letter-spacing: .01em;
}

.zt-flight-engine .zt-date-field .form-control::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

@media (min-width: 1200px) {
    .zt-flight-engine .zt-flight-route-pair {
        grid-column: span 14;
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    }

    .zt-flight-engine .zt-flight-date-pair {
        grid-column: span 10;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field {
        grid-column: span 6;
    }

    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field {
        grid-column: span 5;
    }

    .zt-flight-engine .zt-flight-search-grid .zt-currency-field {
        grid-column: span 4;
    }

    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: 16 / -1;
    }
}

@media (max-width: 1199.98px) {
    .zt-flight-engine .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-date-pair {
        grid-column: span 24;
    }

    .zt-flight-engine .zt-flight-date-pair {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-grid .zt-currency-field {
        grid-column: span 8;
    }

    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: 17 / -1;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-grid .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-grid .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-grid .zt-currency-field,
    .zt-flight-engine .zt-flight-submit-wrap {
        grid-column: 1 / -1;
    }

    .zt-flight-engine .zt-flight-date-pair {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px;
    }

    .zt-flight-engine .zt-flight-date-pair.is-one-way {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .zt-flight-engine .zt-airport-picker .zt-flag-select-menu {
        width: 100%;
    }
}

/* Fast compact picker correction */
.zt-flight-engine .zt-airport-picker .zt-flag-select-menu {
    width: min(500px, calc(100vw - 28px));
    max-height: 330px;
    padding: 6px;
    border-radius: 13px;
}

.zt-flight-engine .zt-airport-option {
    grid-template-columns: 32px 52px minmax(0, 1fr);
    min-height: 56px;
    gap: 10px;
    padding: 8px;
}

.zt-flight-engine .zt-airport-option-flag {
    width: 32px;
    height: 32px;
}

.zt-flight-engine .zt-airport-option .zt-airport-code {
    font-size: 14px;
}

.zt-flight-engine .zt-airport-option .zt-airport-name {
    font-size: 12.5px;
}

.zt-flight-engine .zt-airport-option .zt-airport-location {
    font-size: 11px;
}

.zt-flight-engine .zt-passenger-menu {
    left: 0;
    right: auto;
    width: min(320px, calc(100vw - 24px));
    padding: 10px;
    border-radius: 14px;
}

.zt-flight-engine .zt-passenger-row {
    gap: 10px;
    padding: 9px;
    border-radius: 12px;
}

.zt-flight-engine .zt-date-field > i {
    top: calc(100% - 28px) !important;
    bottom: auto !important;
    left: 14px;
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    transform: translateY(-50%) !important;
}

.zt-flight-engine .zt-date-field .form-control {
    display: flex;
    align-items: center;
    padding-left: 42px;
    padding-right: 14px;
}

.zt-flight-engine .zt-flight-date-pair {
    align-items: end;
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-airport-picker .zt-flag-select-menu,
    .zt-flight-engine .zt-passenger-menu {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
    }

    .zt-flight-engine .zt-date-field > i {
        top: calc(100% - 27px) !important;
    }
}

/* Date field duplicate icon removal */
.zt-flight-engine .zt-date-field > i {
    display: none !important;
}

.zt-flight-engine .zt-date-field .form-control {
    padding-left: 14px !important;
    padding-right: 42px !important;
}

.zt-flight-engine .zt-date-field .form-control::-webkit-calendar-picker-indicator {
    position: relative !important;
    inset: auto !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 6px !important;
    opacity: .78 !important;
    cursor: pointer;
}

/* Travellers menu field-width lock */
.zt-flight-engine .zt-passenger-menu {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Homepage hero search headline refinement */
.zt-hero .zt-hero-content h1 {
    font-size: clamp(34px, 4.2vw, 58px) !important;
    line-height: 1.02;
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-content h1 {
        font-size: clamp(30px, 10vw, 42px) !important;
    }
}

/* Travellers scroll-aware menu placement */
.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu {
    top: auto !important;
    bottom: calc(100% + 8px) !important;
    overflow-y: auto;
    box-shadow: 0 -18px 48px rgba(11, 31, 58, .16);
}

.zt-flight-engine .zt-passenger-field.is-menu-down .zt-passenger-menu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    overflow-y: auto;
}

/* Homepage compact hero-to-search alignment */
.zt-hero .zt-hero-content p {
    max-width: 560px;
    margin-top: 10px !important;
    font-size: clamp(14px, 1.55vw, 17px) !important;
    line-height: 1.35 !important;
}

.zt-hero + .zt-booking-shell {
    margin-top: -350px !important;
}

@media (min-width: 992px) {
    .zt-flight-engine .zt-flight-search-head {
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .zt-flight-engine .zt-search-note.zt-flight-helper {
        flex: 0 0 auto !important;
        max-width: none !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 1199.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -282px !important;
    }
}

@media (max-width: 991.98px) {
    .zt-flight-engine .zt-search-note.zt-flight-helper {
        white-space: normal !important;
    }
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-content p {
        max-width: 360px;
        font-size: 14px !important;
    }

    .zt-hero + .zt-booking-shell {
        margin-top: -214px !important;
    }
}

@media (max-width: 575.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -198px !important;
    }
}

/* Homepage search block lift and button clarity */
.zt-hero + .zt-booking-shell {
    margin-top: -382px !important;
}

.zt-flight-engine .zt-flight-search-submit {
    background: linear-gradient(135deg, #073D7D 0%, #1264D8 48%, #1877F2 100%) !important;
    color: #FFFFFF !important;
}

.zt-flight-engine .zt-flight-search-submit span {
    display: inline-flex;
    align-items: center;
    color: #FFFFFF !important;
    font-size: 13.75px;
    font-weight: 950;
    letter-spacing: .015em;
    line-height: 1;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
}

.zt-flight-engine .zt-flight-search-submit i {
    color: #FFFFFF !important;
    font-size: 16px;
    -webkit-text-stroke: .55px currentColor;
}

@media (max-width: 1199.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -308px !important;
    }
}

@media (max-width: 767.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -228px !important;
    }

    .zt-flight-engine .zt-flight-search-submit span {
        font-size: 13.25px;
    }
}

@media (max-width: 575.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -210px !important;
    }
}

/* Homepage search block extra lift */
.zt-hero + .zt-booking-shell {
    margin-top: -420px !important;
}

@media (max-width: 1199.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -340px !important;
    }
}

@media (max-width: 767.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -252px !important;
    }
}

@media (max-width: 575.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -232px !important;
    }
}

/* Homepage hero support text smaller */
.zt-hero .zt-hero-content p {
    max-width: 440px !important;
    font-size: clamp(12.5px, 1.2vw, 14.5px) !important;
    line-height: 1.28 !important;
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-content p {
        max-width: 320px !important;
        font-size: 12.5px !important;
    }
}

/* Homepage hero headline smaller final */
.zt-hero .zt-hero-content h1 {
    font-size: clamp(28px, 3.45vw, 48px) !important;
    line-height: 1.04 !important;
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-content h1 {
        font-size: clamp(26px, 8vw, 36px) !important;
    }
}

/* Homepage search panel final lift and button emphasis */
.zt-hero + .zt-booking-shell {
    margin-top: -455px !important;
}

.zt-flight-engine .zt-flight-search-submit {
    background: linear-gradient(135deg, #052F66 0%, #0F5FC5 46%, #1877F2 100%) !important;
    box-shadow: 0 16px 30px rgba(15, 95, 197, .3) !important;
}

.zt-flight-engine .zt-flight-search-submit span {
    color: #FFFFFF !important;
    font-size: 14.5px !important;
    font-weight: 1000 !important;
    letter-spacing: .025em !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .28) !important;
}

.zt-flight-engine .zt-flight-search-submit i {
    color: #FFFFFF !important;
    font-size: 17px !important;
    -webkit-text-stroke: .7px currentColor !important;
}

@media (max-width: 1199.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -368px !important;
    }
}

@media (max-width: 767.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -272px !important;
    }

    .zt-flight-engine .zt-flight-search-submit span {
        font-size: 13.75px !important;
    }
}

@media (max-width: 575.98px) {
    .zt-hero + .zt-booking-shell {
        margin-top: -250px !important;
    }
}

/* Travellers upward menu gap tightening */
.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu {
    bottom: calc(100% + 3px) !important;
}

/* One-way and multi-city compact date layout */
@media (min-width: 1200px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        grid-column: span 18 !important;
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        grid-column: span 6 !important;
        justify-self: end;
        width: 100%;
        max-width: 292px;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair .zt-date-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair .zt-date-field {
        min-width: 0;
    }

    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment {
        grid-template-columns: 76px minmax(0, 1.35fr) minmax(0, 1.35fr) minmax(118px, .55fr) 36px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        grid-column: span 16 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        grid-column: span 8 !important;
        justify-self: end;
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        max-width: 100%;
    }
}

/* Homepage typewriter hero headline */
.zt-hero .zt-hero-typewriter {
    display: block;
    width: fit-content;
    max-width: min(100%, 620px) !important;
    background: none !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    text-shadow: 0 14px 34px rgba(0, 0, 0, .24);
}

.zt-hero .zt-hero-typewriter span {
    -webkit-text-fill-color: currentColor !important;
}

.zt-hero .zt-hero-search-word {
    display: inline-block;
    min-width: 3.9em;
    color: #9FD4FF !important;
}

.zt-hero .zt-hero-type-caret {
    display: inline-block;
    width: .08em;
    height: .78em;
    margin-left: .08em;
    border-radius: 999px;
    background: #A7F3D0;
    vertical-align: -.08em;
    animation: ztHeroCaretBlink .9s steps(2, start) infinite;
}

.zt-hero .zt-hero-typewriter::after {
    width: clamp(82px, 8vw, 118px) !important;
    height: 3px !important;
    margin-top: 7px !important;
    border-radius: 999px;
    background: linear-gradient(90deg, #7CC7FF 0%, #16A34A 34%, #1877F2 68%, #7CC7FF 100%) !important;
    background-size: 220% 100% !important;
    box-shadow: 0 8px 18px rgba(24, 119, 242, .22) !important;
    animation: ztHeroRuleGrow .65s ease-out .12s both, ztHeroRuleFlow 2.8s linear infinite !important;
}

@keyframes ztHeroCaretBlink {
    50% {
        opacity: 0;
    }
}

@keyframes ztHeroRuleFlow {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 220% 50%;
    }
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-search-word {
        min-width: 3.75em;
    }

    .zt-hero .zt-hero-typewriter::after {
        margin-top: 6px !important;
        width: 78px !important;
    }
}

/* Hero typewriter slower caret refinement */
.zt-hero .zt-hero-search-word {
    min-width: 3.35em !important;
}

.zt-hero .zt-hero-type-caret {
    width: .055em !important;
    height: .74em !important;
    margin-left: .025em !important;
    vertical-align: -.06em !important;
}

@media (max-width: 767.98px) {
    .zt-hero .zt-hero-search-word {
        min-width: 3.28em !important;
    }
}

/* Hero typewriter character caret */
.zt-hero .zt-hero-search-word {
    min-width: 0 !important;
}

.zt-hero .zt-hero-type-caret {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin-left: 1px !important;
    background: transparent !important;
    color: #A7F3D0 !important;
    font: inherit !important;
    line-height: inherit !important;
    vertical-align: baseline !important;
}

/* Hero typewriter soft caret and slower rhythm */
.zt-hero .zt-hero-type-caret {
    color: rgba(167, 243, 208, .86) !important;
    font-size: .82em !important;
    font-weight: 500 !important;
    margin-left: 0 !important;
    text-shadow: none !important;
}

/* Exact one-way multi-city right date and field-width airport menus */
.zt-flight-engine .zt-airport-field .zt-airport-picker .zt-flag-select-menu {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

@media (min-width: 1200px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        grid-column: 1 / 20 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        grid-column: 20 / -1 !important;
        grid-row: 1 !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair .zt-date-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair .zt-date-field {
        width: 100% !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment {
        grid-template-columns: 74px minmax(0, 1.55fr) minmax(0, 1.55fr) minmax(112px, .42fr) 36px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        grid-column: 1 / 17 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        grid-column: 17 / -1 !important;
        grid-row: 1 !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-airport-field .zt-airport-picker .zt-flag-select-menu {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* Multi-city segment full-width date refinement */
.zt-flight-engine .zt-multicity-head {
    padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-flight-engine .zt-multicity-head strong {
    font-size: 13.5px;
    letter-spacing: .01em;
}

.zt-flight-engine .zt-multicity-head span {
    max-width: 760px;
    color: #526985;
    font-size: 12.25px;
    line-height: 1.35;
}

.zt-flight-engine .zt-multicity-segment {
    position: relative;
    border-color: #D7E3F1;
    background: linear-gradient(180deg, #FFFFFF 0%, #FAFCFF 100%);
}

.zt-flight-engine .zt-multicity-segment .zt-date-field {
    width: 100%;
    justify-self: stretch;
}

.zt-flight-engine .zt-segment-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    width: 30px;
    height: 30px;
    border-radius: 999px;
}

.zt-flight-engine .zt-segment-remove[hidden] {
    display: none !important;
}

@media (min-width: 1200px) {
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment,
    .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 74px minmax(0, 1.42fr) minmax(0, 1.42fr) minmax(190px, .78fr) !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 70px minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(180px, .78fr) !important;
    }
}

@media (max-width: 991.98px) {
    .zt-flight-engine .zt-multicity-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .zt-flight-engine .zt-multicity-segment .zt-date-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 1fr !important;
    }

    .zt-flight-engine .zt-multicity-segment .zt-date-field,
    .zt-flight-engine .zt-segment-number {
        grid-column: auto;
    }
}

/* Enterprise public flight results */
.flight-results-layout {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 28px;
}

.flight-results-layout > .flight-results-main:first-child {
    grid-column: 1 / -1;
}

.flight-results-filter {
    position: sticky;
    top: 110px;
}

.flight-filter-card,
.flight-results-toolbar,
.flight-result-card {
    background: #fff;
    border: 1px solid #d8e2ef;
    box-shadow: 0 8px 26px rgba(12, 44, 85, 0.08);
}

.flight-filter-card {
    border-radius: 18px;
    padding: 18px;
}

.flight-filter-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #0b1f3a;
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.flight-filter-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 12px;
    color: #667892;
    text-decoration: none;
    font-weight: 700;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.flight-filter-option span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flight-filter-option strong {
    color: #1264d8;
    font-size: 0.82rem;
}

.flight-filter-option:hover,
.flight-filter-option.is-active {
    background: #eaf3ff;
    color: #1264d8;
    transform: translateX(1px);
}

.flight-results-main {
    min-width: 0;
}

.flight-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border-radius: 18px;
}

.flight-results-toolbar strong {
    display: block;
    color: #17233c;
    font-size: 1.05rem;
    font-weight: 800;
}

.flight-results-toolbar span {
    color: #667892;
    font-size: 0.9rem;
    font-weight: 650;
}

.flight-sort-tabs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px;
    border: 1px solid #d8e2ef;
    border-radius: 14px;
    background: #f5f7fa;
}

.flight-sort-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    color: #667892;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.flight-sort-tabs a:hover,
.flight-sort-tabs a.is-active {
    background: #fff;
    color: #1264d8;
    box-shadow: 0 5px 16px rgba(18, 100, 216, 0.12);
}

.flight-results-list {
    display: grid;
    gap: 22px;
}

.flight-result-card {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 28px 30px;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.flight-result-card:hover {
    border-color: rgba(24, 119, 242, 0.35);
    box-shadow: 0 12px 34px rgba(12, 44, 85, 0.12);
    transform: translateY(-1px);
}

.flight-result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e8eef5;
}

.airline-identity {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 15px;
}

.airline-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border: 1px solid #e0e8f2;
    border-radius: 14px;
    background: #fff;
    color: #1264d8;
    font-size: 1.6rem;
    box-shadow: 0 8px 18px rgba(12, 44, 85, 0.07);
}

.airline-logo img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.airline-info {
    min-width: 0;
}

.airline-name {
    margin: 0;
    color: #17233c;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.flight-number {
    display: block;
    margin-top: 4px;
    color: #667892;
    font-size: 0.9rem;
    font-weight: 700;
}

.flight-select-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 54px;
    padding: 0 26px;
    border-radius: 13px;
    background: linear-gradient(135deg, #1264d8, #1877f2);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 12px 24px rgba(24, 119, 242, 0.24);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.flight-select-btn:hover,
.flight-select-btn:focus {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(24, 119, 242, 0.3);
}

.flight-price-section {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 0 22px;
    border-bottom: 1px solid #e8eef5;
}

.flight-price-label {
    display: block;
    margin-bottom: 4px;
    color: #667892;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flight-price {
    display: block;
    color: #0b1f3a;
    font-size: clamp(1.75rem, 3vw, 2.2rem);
    font-weight: 850;
    line-height: 1.05;
}

.flight-price-meta {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.flight-price-meta span,
.journey-carrier-line,
.fare-condition,
.flight-details-link {
    border: 1px solid #d8e2ef;
    background: #f5f7fa;
}

.flight-price-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    color: #1264d8;
    font-size: 0.82rem;
    font-weight: 800;
}

.flight-journeys {
    display: grid;
    gap: 18px;
    padding: 24px 0;
    border-bottom: 1px solid #e8eef5;
}

.flight-journeys-round-trip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flight-journeys-one-way,
.flight-journeys-multi-city {
    grid-template-columns: minmax(0, 1fr);
}

.flight-journey {
    min-width: 0;
    border: 1px solid #e8eef5;
    border-radius: 18px;
    padding: 18px;
    background: linear-gradient(180deg, #fff, #f8fbff);
}

.journey-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.journey-heading span,
.journey-heading small {
    color: #667892;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.journey-heading strong {
    display: block;
    margin-top: 3px;
    color: #17233c;
    font-size: 1rem;
    font-weight: 850;
}

.journey-carrier-line {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 15px;
    padding: 5px 10px;
    border-radius: 999px;
    color: #17233c;
    font-size: 0.82rem;
    font-weight: 800;
}

.journey-carrier-line img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.journey-carrier-line em {
    color: #667892;
    font-style: normal;
    font-weight: 750;
}

.route-timeline {
    display: grid;
    grid-template-columns: minmax(92px, 132px) minmax(120px, 1fr) minmax(92px, 132px);
    align-items: start;
    gap: 14px;
}

.timeline-point {
    min-width: 0;
}

.timeline-arrival {
    text-align: right;
}

.flight-time {
    display: block;
    color: #17233c;
    font-size: clamp(1.55rem, 2.6vw, 2rem);
    font-weight: 850;
    line-height: 1;
}

.airport-code {
    display: block;
    margin-top: 8px;
    color: #1264d8;
    font-size: 0.95rem;
    font-weight: 850;
}

.airport-name {
    display: block;
    margin-top: 3px;
    color: #667892;
    font-size: 0.8rem;
    line-height: 1.35;
}

.timeline-middle {
    min-width: 0;
    padding-top: 14px;
    text-align: center;
}

.route-line {
    position: relative;
    display: block;
    height: 18px;
    margin-bottom: 2px;
}

.route-line::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 8px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, #c9d8eb, #1877f2, #c9d8eb);
}

.route-line::after,
.route-line i {
    content: "";
    position: absolute;
    top: 4px;
    width: 10px;
    height: 10px;
    border: 2px solid #1877f2;
    border-radius: 999px;
    background: #fff;
}

.route-line::after {
    left: 0;
}

.route-line i {
    right: 0;
}

.flight-duration,
.flight-stop-text {
    display: block;
    font-size: 0.83rem;
    line-height: 1.35;
}

.flight-duration {
    color: #17233c;
    font-weight: 850;
}

.flight-stop-text {
    color: #667892;
    font-weight: 700;
}

.baggage-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid #e8eef5;
}

.baggage-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #e8eef5;
    border-radius: 14px;
    background: #fff;
}

.baggage-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #eaf3ff;
    color: #1264d8;
    font-size: 1.05rem;
}

.baggage-item div {
    min-width: 0;
}

.baggage-item span {
    display: block;
    color: #667892;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.baggage-item strong {
    display: block;
    color: #17233c;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.35;
}

.flight-card-footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
}

.fare-condition {
    display: inline-flex;
    align-items: flex-start;
    gap: 9px;
    max-width: 620px;
    padding: 10px 12px;
    border-radius: 12px;
    color: #667892;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
}

.fare-condition i {
    color: #16a34a;
    font-size: 1rem;
}

.flight-details-panel {
    position: relative;
    flex: 0 0 auto;
    min-width: min(280px, 100%);
}

.flight-details-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    width: 100%;
    padding: 0 14px;
    border-radius: 12px;
    color: #1264d8;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 850;
    list-style: none;
}

.flight-details-link::-webkit-details-marker {
    display: none;
}

.flight-details-panel[open] .flight-details-link i {
    transform: rotate(180deg);
}

.flight-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #d8e2ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(12, 44, 85, 0.1);
}

.flight-details-grid div {
    min-width: 0;
    padding: 10px;
    border-radius: 11px;
    background: #f5f7fa;
}

.flight-details-grid span {
    display: block;
    color: #667892;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.flight-details-grid strong {
    display: block;
    margin-top: 3px;
    color: #17233c;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.flight-results-empty {
    border: 1px solid #d8e2ef;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(12, 44, 85, 0.08);
}

@media (max-width: 991.98px) {
    .flight-results-layout {
        grid-template-columns: 1fr;
    }

    .flight-results-filter {
        position: static;
    }

    .flight-filter-card {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .flight-filter-title {
        grid-column: 1 / -1;
        margin-bottom: 2px;
    }

    .flight-results-toolbar,
    .flight-result-header,
    .flight-price-section,
    .flight-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .flight-sort-tabs {
        width: 100%;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .flight-journeys-round-trip {
        grid-template-columns: 1fr;
    }

    .flight-select-btn {
        width: 100%;
    }

    .flight-price-meta {
        justify-content: flex-start;
    }

    .flight-details-panel {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .flight-result-card {
        border-radius: 18px;
        padding: 20px;
    }

    .flight-results-toolbar {
        padding: 14px;
    }

    .airline-logo {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
        border-radius: 12px;
    }

    .airline-name {
        font-size: 1.08rem;
    }

    .route-timeline {
        grid-template-columns: minmax(68px, 88px) minmax(84px, 1fr) minmax(68px, 88px);
        gap: 8px;
    }

    .flight-time {
        font-size: 1.35rem;
    }

    .airport-name {
        font-size: 0.72rem;
    }

    .timeline-middle {
        padding-top: 10px;
    }

    .baggage-row,
    .flight-details-grid,
    .flight-filter-card {
        grid-template-columns: 1fr;
    }

    .journey-heading {
        flex-direction: column;
        gap: 4px;
    }
}
/* Flight result schedule and details polish */
.flight-result-card .flight-card-footer {
    display: block;
    padding-top: 18px;
    border-top: 1px solid rgba(218, 226, 238, .9);
}

.flight-result-card .flight-details-panel {
    width: 100%;
    min-width: 0;
}

.flight-result-card .flight-details-link {
    width: fit-content;
    min-width: 196px;
    margin-left: auto;
    border: 1px solid rgba(191, 219, 254, .95);
    background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
    box-shadow: 0 10px 22px rgba(11, 31, 58, .07);
    transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.flight-result-card .flight-details-link:hover,
.flight-result-card .flight-details-panel[open] .flight-details-link {
    border-color: rgba(24, 119, 242, .35);
    background: #EAF3FF;
    color: #0B4FD8;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .12);
}

.flight-result-card .flight-details-panel[open] .flight-details-link {
    margin-left: 0;
}

.flight-result-card .flight-details-grid {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
    border-color: rgba(191, 219, 254, .92);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
    box-shadow: 0 18px 40px rgba(11, 31, 58, .1);
}

.flight-result-card .flight-details-grid > div {
    border: 1px solid rgba(222, 230, 241, .88);
    background: #FFFFFF;
}

.flight-result-card .flight-details-leg-list {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
}

.flight-result-card .flight-details-grid .flight-details-leg-item {
    padding: 13px 14px;
    border: 1px solid rgba(187, 247, 208, .9);
    border-radius: 13px;
    background: linear-gradient(135deg, #F0FDF4 0%, #FFFFFF 100%);
}

.flight-result-card .flight-details-leg-item em {
    display: block;
    margin-top: 4px;
    color: #53677F;
    font-size: .8rem;
    font-style: normal;
    font-weight: 780;
    line-height: 1.35;
}

.flight-result-card .flight-time {
    letter-spacing: 0;
}

.flight-result-card .timeline-arrival .flight-time,
.flight-result-card .timeline-arrival .airport-code,
.flight-result-card .timeline-arrival .airport-name {
    margin-left: auto;
}

.flight-result-card .timeline-middle {
    padding-top: 18px;
}

@media (max-width: 767.98px) {
    .flight-result-card .flight-details-link {
        width: 100%;
        min-width: 0;
    }

    .flight-result-card .flight-details-grid {
        grid-template-columns: 1fr;
    }
}
.flight-result-card .flight-details-grid > .flight-details-leg-list {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.zt-ticket-service-note {
    margin-top: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(191, 219, 254, .92);
    border-radius: 16px;
    background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
    color: #29415F;
}

.zt-ticket-service-note strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #071E3A;
    font-size: .98rem;
    font-weight: 900;
}

.zt-ticket-service-note strong i {
    color: #1877F2;
    -webkit-text-stroke: .35px currentColor;
}

.zt-ticket-service-note p {
    margin: 8px 0 0;
    color: #53677F;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.55;
}
/* Final homepage-only hero/search lift */
.zt-home-hero {
    padding-top: 118px !important;
}

.zt-home-hero .zt-hero-content {
    transform: translateY(-30px) !important;
}

.zt-home-hero + .zt-booking-shell {
    margin-top: -482px !important;
}

.zt-home-hero + .zt-booking-shell + .zt-section,
.zt-home-hero + .zt-booking-shell + section {
    margin-top: -10px;
}

@media (max-width: 1199.98px) {
    .zt-home-hero {
        padding-top: 108px !important;
    }

    .zt-home-hero .zt-hero-content {
        transform: translateY(-24px) !important;
    }

    .zt-home-hero + .zt-booking-shell {
        margin-top: -390px !important;
    }
}

@media (max-width: 767.98px) {
    .zt-home-hero {
        padding-top: 78px !important;
    }

    .zt-home-hero .zt-hero-content {
        transform: translateY(-16px) !important;
    }

    .zt-home-hero + .zt-booking-shell {
        margin-top: -292px !important;
    }
}

@media (max-width: 575.98px) {
    .zt-home-hero + .zt-booking-shell {
        margin-top: -268px !important;
    }
}
/* Flight result enterprise timeline polish */
.flight-results-main .flight-results-toolbar {
    display: none !important;
}

.flight-results-layout {
    margin-top: 20px;
}

.airline-logo.has-brand-icon {
    position: relative;
    overflow: hidden;
    border-color: rgba(185, 221, 255, .45);
    background: linear-gradient(135deg, #052F66 0%, #1264D8 52%, #16A34A 100%);
    color: #FFFFFF;
    box-shadow: 0 14px 28px rgba(18, 100, 216, .22), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.airline-logo.has-brand-icon::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1.7px solid rgba(255, 255, 255, .38);
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-radius: 999px;
    transform: rotate(-22deg);
}

.airline-logo.has-brand-icon i {
    position: relative;
    z-index: 1;
    color: #FFFFFF;
    transform: rotate(26deg);
    -webkit-text-stroke: .55px currentColor;
}

.airline-logo.has-logo-image {
    background: linear-gradient(135deg, #FFFFFF 0%, #F0F7FF 100%);
}

.flight-result-card .route-timeline {
    grid-template-columns: minmax(92px, 138px) minmax(132px, 1fr) minmax(92px, 138px);
    align-items: start;
}

.flight-result-card .flight-airport-code-main {
    color: #071E3A;
    font-size: clamp(1.75rem, 2.75vw, 2.15rem);
    font-weight: 950;
    letter-spacing: .01em;
}

.flight-result-card .flight-time-sub {
    margin-top: 7px;
    color: #1264D8;
    font-size: .98rem;
    font-weight: 900;
    line-height: 1;
}

.flight-result-card .timeline-middle {
    padding-top: 5px;
}

.flight-result-card .timeline-middle .flight-duration {
    display: block;
    margin-bottom: 7px;
    color: #071E3A;
    font-size: .95rem;
    font-weight: 950;
    line-height: 1.15;
}

.flight-result-card .timeline-middle .route-line {
    margin-bottom: 7px;
}

.flight-result-card .flight-stop-text {
    color: #53677F;
    font-size: .8rem;
    font-weight: 800;
}

.flight-select-btn span {
    font-weight: 950;
}
[data-flight-results-anchor] {
    scroll-margin-top: 112px;
}

@media (max-width: 767.98px) {
    [data-flight-results-anchor] {
        scroll-margin-top: 92px;
    }
}
/* Homepage hero copy lowered closer to the booking engine */
.zt-home-hero .zt-hero-content {
    transform: translateY(16px) !important;
}

@media (max-width: 1199.98px) {
    .zt-home-hero .zt-hero-content {
        transform: translateY(12px) !important;
    }
}

@media (max-width: 767.98px) {
    .zt-home-hero .zt-hero-content {
        transform: translateY(6px) !important;
    }
}
/* Travellers upward dropdown sits closer to its field */
.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu {
    bottom: calc(100% - 24px) !important;
}
/* Enterprise hotel search form and airport picker */
.zt-hotel-search-panel {
    border-color: rgba(200, 215, 232, .96);
    border-radius: 20px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    box-shadow: 0 16px 38px rgba(13, 45, 80, .08);
}

.zt-hotel-search-panel .zt-panel-body {
    padding: clamp(18px, 2.1vw, 26px);
}

.zt-hotel-search-form .zt-grid {
    align-items: end;
    gap: 12px;
}

.zt-hotel-field {
    min-width: 0;
}

.zt-hotel-field .form-label {
    margin-bottom: 6px;
    color: #53677F;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.zt-hotel-field > i {
    top: 38px;
    left: 14px;
    color: #1877F2;
    font-size: 14px;
    -webkit-text-stroke: .35px currentColor;
}

.zt-hotel-field .form-control,
.zt-hotel-field .form-select,
.zt-hotel-field .zt-flag-select-button {
    min-height: 58px;
    height: 58px;
    border: 1px solid #C8D7E8;
    border-radius: 13px;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    color: #17233C;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 8px 22px rgba(11, 31, 58, .045);
}

.zt-hotel-field .form-control,
.zt-hotel-field .form-select {
    padding-left: 40px;
    padding-right: 14px;
}

.zt-hotel-field .zt-flag-select-button {
    padding: 7px 32px 7px 11px;
}

.zt-hotel-field .form-control:focus,
.zt-hotel-field .form-select:focus,
.zt-hotel-field .zt-flag-select-button:focus,
.zt-hotel-field .zt-flag-select.is-open .zt-flag-select-button {
    border-color: rgba(24, 119, 242, .72);
    background: #FFFFFF;
    box-shadow: 0 0 0 .22rem rgba(24, 119, 242, .13), 0 12px 28px rgba(11, 31, 58, .08);
    outline: 0;
}

.zt-hotel-search-panel .zt-airport-picker .zt-flag-select-menu {
    width: min(500px, calc(100vw - 28px));
    max-height: 330px;
    padding: 6px;
    border-radius: 13px;
}

.zt-hotel-search-panel .zt-airport-search-wrap {
    display: none !important;
}

.zt-hotel-search-panel .zt-airport-option {
    grid-template-columns: 32px 52px minmax(0, 1fr);
    min-height: 56px;
    gap: 10px;
    padding: 8px;
    border-radius: 12px;
}

.zt-hotel-search-panel .zt-airport-option-flag {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    overflow: hidden;
    border: 1px solid #C9D8EA;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 8px 18px rgba(13, 45, 80, .08);
}

.zt-hotel-search-panel .zt-airport-option-flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zt-hotel-search-panel .zt-airport-option .zt-airport-code {
    font-size: 14px;
}

.zt-hotel-search-panel .zt-airport-option .zt-airport-name {
    font-size: 12.5px;
}

.zt-hotel-search-panel .zt-airport-option .zt-airport-location {
    font-size: 11px;
}

.zt-hotel-search-panel .zt-flag-badge {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
}

.zt-hotel-search-panel .zt-picker-airport-code {
    font-size: 13.5px;
}

.zt-hotel-search-panel .zt-picker-airport-name {
    font-size: 11px;
}

.zt-hotel-field.zt-date-field {
    cursor: pointer;
}

.zt-hotel-field.zt-date-field > i {
    top: calc(100% - 29px) !important;
    bottom: auto !important;
    pointer-events: none;
}

.zt-hotel-field.zt-date-field .form-control {
    padding: 16px 38px 9px 40px;
    cursor: pointer;
    line-height: 1;
}

.zt-hotel-field.zt-date-field .form-control::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.zt-hotel-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 58px;
    width: 100%;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #052F66 0%, #0F5FC5 48%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 12.5px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(15, 95, 197, .24);
}

.zt-hotel-search-submit i {
    color: #FFFFFF;
    -webkit-text-stroke: .45px currentColor;
}

.zt-hotel-search-submit:hover,
.zt-hotel-search-submit:focus {
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 95, 197, .3);
}

@media (max-width: 1199.98px) {
    .zt-hotel-search-form .zt-col-3,
    .zt-hotel-search-form .zt-col-4,
    .zt-hotel-search-form .zt-col-2 {
        grid-column: span 6;
    }

    .zt-hotel-search-form .zt-hotel-submit-wrap {
        grid-column: span 6;
    }
}

@media (max-width: 767.98px) {
    .zt-hotel-search-form .zt-col-3,
    .zt-hotel-search-form .zt-col-4,
    .zt-hotel-search-form .zt-col-2,
    .zt-hotel-search-form .zt-hotel-submit-wrap {
        grid-column: 1 / -1;
    }

    .zt-hotel-search-panel .zt-airport-picker .zt-flag-select-menu {
        width: 100%;
    }
}
/* Final hotel airport picker polish */
.zt-hotel-search-panel .zt-airport-picker {
    width: 100%;
}

.zt-hotel-search-panel .zt-airport-picker .zt-flag-select-menu {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.zt-hotel-search-panel .zt-airport-picker .zt-flag-select-button {
    overflow: hidden;
}

.zt-hotel-search-panel .zt-airport-option-all-flags,
.zt-flag-badge[data-picker-badge="all-flags"] {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 2px;
    border: 1px solid #C9D8EA;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 8px 18px rgba(13, 45, 80, .08);
}

.zt-hotel-search-panel .zt-airport-option-all-flags img,
.zt-all-flags-badge img {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    border-radius: 50%;
    object-fit: cover;
}

.zt-all-flags-badge {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
}

.zt-hotel-search-panel .zt-airport-option:first-of-type {
    background: linear-gradient(180deg, #F8FBFF 0%, #EEF6FF 100%);
}

.zt-hotel-search-panel .zt-airport-option:first-of-type:hover,
.zt-hotel-search-panel .zt-airport-option:first-of-type:focus,
.zt-hotel-search-panel .zt-airport-option:first-of-type.is-selected {
    background: linear-gradient(135deg, #071E3A 0%, #123E73 100%);
    color: #FFFFFF;
}

.zt-hotel-search-panel .zt-airport-option:first-of-type.is-selected .zt-airport-code,
.zt-hotel-search-panel .zt-airport-option:first-of-type.is-selected .zt-airport-name,
.zt-hotel-search-panel .zt-airport-option:first-of-type.is-selected .zt-airport-location,
.zt-hotel-search-panel .zt-airport-option:first-of-type:hover .zt-airport-code,
.zt-hotel-search-panel .zt-airport-option:first-of-type:hover .zt-airport-name,
.zt-hotel-search-panel .zt-airport-option:first-of-type:hover .zt-airport-location,
.zt-hotel-search-panel .zt-airport-option:first-of-type:focus .zt-airport-code,
.zt-hotel-search-panel .zt-airport-option:first-of-type:focus .zt-airport-name,
.zt-hotel-search-panel .zt-airport-option:first-of-type:focus .zt-airport-location {
    color: #FFFFFF;
}

.zt-hotel-field.zt-date-field > i {
    display: none !important;
}

.zt-hotel-field.zt-date-field .form-control {
    display: flex;
    align-items: center;
    padding: 0 14px !important;
    line-height: normal;
}

.zt-hotel-field.zt-date-field .form-control::-webkit-calendar-picker-indicator {
    position: relative !important;
    inset: auto !important;
    width: 20px !important;
    height: 20px !important;
    margin-left: auto !important;
    opacity: .78 !important;
    cursor: pointer;
}

.zt-hotel-search-submit,
.zt-hotel-search-submit:hover,
.zt-hotel-search-submit:focus {
    background: linear-gradient(135deg, #052F66 0%, #0F5FC5 48%, #1877F2 100%) !important;
    color: #FFFFFF !important;
    animation: none !important;
    filter: none !important;
}

.zt-hotel-search-submit:hover,
.zt-hotel-search-submit:focus {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 95, 197, .3);
}
/* Center the all-airports image inside the closed hotel select */
.zt-hotel-search-panel .zt-flag-select-button .zt-flag-badge[data-picker-badge="all-flags"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    min-width: 28px;
    height: 28px;
    padding: 2px;
    overflow: hidden;
    place-self: center;
}

.zt-hotel-search-panel .zt-flag-select-button .zt-flag-badge[data-picker-badge="all-flags"] .zt-all-flags-badge {
    width: 21px;
    height: 21px;
    margin: auto;
    place-self: center;
}
/* Hotels page hero upgrade */
.zt-hotels-hero {
    position: relative;
    overflow: hidden;
    padding: 132px 0 62px;
    background:
        linear-gradient(115deg, rgba(6, 24, 48, .96) 0%, rgba(9, 50, 92, .96) 48%, rgba(13, 82, 120, .94) 100%);
    isolation: isolate;
}

.zt-hotels-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.42));
    animation: ztHotelHeroGrid 18s linear infinite;
}

.zt-hotels-hero::after {
    content: "";
    position: absolute;
    inset: auto -18% 0 -18%;
    z-index: -1;
    height: 46%;
    background: linear-gradient(100deg, rgba(24, 119, 242, .18), rgba(20, 184, 166, .12), rgba(255, 255, 255, 0));
    transform: skewY(-3deg) translateY(32%);
    animation: ztHotelHeroBand 7s ease-in-out infinite alternate;
}

.zt-hotels-hero-inner {
    position: relative;
}

.zt-hotels-hero-copy {
    max-width: 850px;
}

.zt-hotels-hero-eyebrow {
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .88);
    backdrop-filter: blur(14px);
    animation: ztHotelHeroFadeUp .7s ease-out both;
}

.zt-hotels-hero-eyebrow i {
    color: #7DD3FC;
    -webkit-text-stroke: .35px currentColor;
}

.zt-hotels-hero h1 {
    max-width: 760px;
    margin-top: 18px;
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.02;
    letter-spacing: 0;
    animation: ztHotelHeroFadeUp .78s ease-out .08s both;
}

.zt-hotels-hero h1 span {
    display: inline;
    background: linear-gradient(92deg, #FFFFFF 0%, #D9F3FF 38%, #BFE8FF 52%, #FFFFFF 72%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: ztHotelHeroTitleFlow 5.8s ease-in-out infinite;
}

.zt-hotels-hero p {
    max-width: 780px;
    margin-top: 16px;
    color: rgba(235, 245, 255, .84);
    font-size: clamp(14.5px, 1.2vw, 17px);
    line-height: 1.72;
    animation: ztHotelHeroFadeUp .82s ease-out .16s both;
}

.zt-hotels-hero-markets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
    animation: ztHotelHeroFadeUp .82s ease-out .24s both;
}

.zt-hotels-hero-markets span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(203, 232, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .095);
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    font-weight: 850;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
    backdrop-filter: blur(10px);
}

@keyframes ztHotelHeroFadeUp {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ztHotelHeroTitleFlow {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes ztHotelHeroGrid {
    to {
        background-position: 72px 72px;
    }
}

@keyframes ztHotelHeroBand {
    from {
        opacity: .72;
        transform: skewY(-3deg) translateY(34%) translateX(-2%);
    }
    to {
        opacity: 1;
        transform: skewY(-3deg) translateY(28%) translateX(2%);
    }
}

@media (max-width: 767.98px) {
    .zt-hotels-hero {
        padding: 110px 0 44px;
    }

    .zt-hotels-hero h1 {
        margin-top: 14px;
        font-size: clamp(30px, 9vw, 42px);
    }

    .zt-hotels-hero p {
        line-height: 1.58;
    }

    .zt-hotels-hero-markets {
        gap: 7px;
        margin-top: 18px;
    }

    .zt-hotels-hero-markets span {
        min-height: 31px;
        padding: 7px 10px;
        font-size: 11.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hotels-hero::before,
    .zt-hotels-hero::after,
    .zt-hotels-hero-eyebrow,
    .zt-hotels-hero h1,
    .zt-hotels-hero h1 span,
    .zt-hotels-hero p,
    .zt-hotels-hero-markets {
        animation: none !important;
    }
}
/* Remove visible hotel hero grid pattern */
.zt-hotels-hero::before {
    display: none !important;
    animation: none !important;
    background: none !important;
}
/* Hotel search inside hero */
.zt-hotels-hero {
    padding: 118px 0 34px !important;
}

.zt-hotels-hero-inner {
    display: block;
}

.zt-hotels-hero .zt-hotel-hero-search-panel {
    width: min(1120px, 100%);
    margin: 0 auto;
    border: 1px solid rgba(218, 230, 244, .88);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 22px 50px rgba(3, 19, 42, .24);
    backdrop-filter: blur(18px);
    animation: ztHotelHeroFormIn .58s ease-out both;
}

.zt-hotels-hero .zt-hotel-hero-search-panel .zt-panel-body {
    padding: 15px;
}

.zt-hotels-hero .zt-hotel-search-form .zt-grid {
    display: grid;
    grid-template-columns: minmax(170px, 1.05fr) minmax(260px, 1.42fr) minmax(210px, 1.02fr) minmax(210px, 1.02fr) minmax(108px, .56fr);
    gap: 10px;
    align-items: end;
}

.zt-hotels-hero .zt-hotel-search-form .zt-field,
.zt-hotels-hero .zt-hotel-search-form .zt-hotel-submit-wrap {
    grid-column: auto !important;
    min-width: 0;
}

.zt-hotels-hero .zt-hotel-field .form-label {
    margin-bottom: 5px;
    font-size: 9.8px;
    letter-spacing: .05em;
}

.zt-hotels-hero .zt-hotel-field > i {
    top: 35px;
    left: 13px;
    font-size: 13px;
}

.zt-hotels-hero .zt-hotel-field .form-control,
.zt-hotels-hero .zt-hotel-field .form-select,
.zt-hotels-hero .zt-hotel-field .zt-flag-select-button,
.zt-hotels-hero .zt-hotel-search-submit {
    min-height: 52px;
    height: 52px;
    border-radius: 12px;
    font-size: 12.5px;
}

.zt-hotels-hero .zt-hotel-field .form-control,
.zt-hotels-hero .zt-hotel-field .form-select {
    padding-left: 38px;
}

.zt-hotels-hero .zt-hotel-field.zt-date-field .form-control {
    width: 100%;
    min-width: 0;
    padding-inline: 13px !important;
    font-size: 12.5px;
}

.zt-hotels-hero .zt-hotel-field.zt-date-field .form-control::-webkit-calendar-picker-indicator {
    flex: 0 0 19px;
    width: 19px !important;
    height: 19px !important;
}

.zt-hotels-hero .zt-airport-picker .zt-flag-select-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.zt-hotels-hero .zt-hotel-search-submit {
    gap: 6px;
    font-size: 12px;
    box-shadow: 0 13px 26px rgba(15, 95, 197, .25);
}

.zt-hotels-hero + .zt-section-tight {
    padding-top: 32px;
}

@keyframes ztHotelHeroFormIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1199.98px) {
    .zt-hotels-hero .zt-hotel-search-form .zt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zt-hotels-hero .zt-hotel-search-form .zt-airport-field,
    .zt-hotels-hero .zt-hotel-search-form .zt-hotel-submit-wrap {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 767.98px) {
    .zt-hotels-hero {
        padding: 96px 0 24px !important;
    }

    .zt-hotels-hero .zt-hotel-hero-search-panel {
        border-radius: 16px;
    }

    .zt-hotels-hero .zt-hotel-hero-search-panel .zt-panel-body {
        padding: 12px;
    }

    .zt-hotels-hero .zt-hotel-search-form .zt-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    .zt-hotels-hero .zt-hotel-search-form .zt-field,
    .zt-hotels-hero .zt-hotel-search-form .zt-hotel-submit-wrap {
        grid-column: 1 / -1 !important;
    }

    .zt-hotels-hero .zt-hotel-field .form-control,
    .zt-hotels-hero .zt-hotel-field .form-select,
    .zt-hotels-hero .zt-hotel-field .zt-flag-select-button,
    .zt-hotels-hero .zt-hotel-search-submit {
        min-height: 50px;
        height: 50px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-hotels-hero .zt-hotel-hero-search-panel {
        animation: none !important;
    }
}
/* Hotel hero picker stacking and field width refinement */
.zt-hotels-hero {
    overflow: visible !important;
    z-index: 20;
}

.zt-hotels-hero::after {
    pointer-events: none;
}

.zt-hotels-hero .zt-hotels-hero-inner,
.zt-hotels-hero .zt-hotel-hero-search-panel,
.zt-hotels-hero .zt-hotel-search-form,
.zt-hotels-hero .zt-airport-field,
.zt-hotels-hero .zt-airport-picker {
    position: relative;
    z-index: 30;
}

.zt-hotels-hero .zt-airport-picker.is-open {
    z-index: 5000;
}

.zt-hotels-hero .zt-airport-picker .zt-flag-select-menu {
    z-index: 6000 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-shadow: 0 28px 58px rgba(3, 19, 42, .24);
}

.zt-hotels-hero + .zt-section-tight {
    position: relative;
    z-index: 1;
}

@media (min-width: 1200px) {
    .zt-hotels-hero .zt-hotel-hero-search-panel {
        width: min(1180px, 100%);
    }

    .zt-hotels-hero .zt-hotel-search-form .zt-grid {
        grid-template-columns: minmax(155px, .86fr) minmax(380px, 1.9fr) minmax(152px, .68fr) minmax(152px, .68fr) minmax(98px, .48fr) !important;
        gap: 9px;
    }
}

.zt-hotels-hero .zt-hotel-field.zt-date-field .form-control {
    padding-left: 12px !important;
    padding-right: 7px !important;
}

.zt-hotels-hero .zt-hotel-field.zt-date-field .form-control::-webkit-calendar-picker-indicator {
    width: 18px !important;
    height: 18px !important;
    margin-left: auto !important;
    margin-right: -1px !important;
    padding: 0 !important;
}
/* Small hotel search context note */
.zt-hotels-hero .zt-hotel-search-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: min(1180px, 100%);
    margin: 0 auto 10px;
    color: rgba(235, 245, 255, .9);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
    animation: ztHotelHeroFormIn .52s ease-out both;
}

.zt-hotels-hero .zt-hotel-search-note i {
    color: #7DD3FC;
    font-size: 15px;
    -webkit-text-stroke: .3px currentColor;
}

@media (max-width: 767.98px) {
    .zt-hotels-hero .zt-hotel-search-note {
        margin-bottom: 2px;
        font-size: 12px;
    }
}
/* Slightly stronger hotel search note readability */
.zt-hotels-hero .zt-hotel-search-note {
    font-size: 14.5px !important;
}

.zt-hotels-hero .zt-hotel-search-note i {
    font-size: 16px !important;
}

@media (max-width: 767.98px) {
    .zt-hotels-hero .zt-hotel-search-note {
        font-size: 13px !important;
    }
}
/* Hotels results enterprise cards */
.zt-hotel-results-grid {
    align-items: stretch;
}

.zt-hotel-result-card {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(207, 219, 235, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 34px rgba(13, 45, 80, .075);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.zt-hotel-result-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    height: 3px;
    background: linear-gradient(90deg, #1877F2, #14B8A6, #7DD3FC);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .28s ease;
}

.zt-hotel-result-card:hover,
.zt-hotel-result-card:focus-within {
    transform: translateY(-5px);
    border-color: rgba(24, 119, 242, .36);
    box-shadow: 0 24px 48px rgba(13, 45, 80, .13);
}

.zt-hotel-result-card:hover::before,
.zt-hotel-result-card:focus-within::before {
    transform: scaleX(1);
}

.zt-hotel-result-media {
    position: relative;
    display: block;
    height: 206px;
    overflow: hidden;
    background: #EAF3FF;
    color: inherit;
    text-decoration: none;
}

.zt-hotel-result-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .08), rgba(5, 18, 36, .58));
    pointer-events: none;
}

.zt-hotel-result-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .45s ease;
}

.zt-hotel-result-card:hover .zt-hotel-result-media img,
.zt-hotel-result-card:focus-within .zt-hotel-result-media img {
    transform: scale(1.07);
}

.zt-hotel-result-market,
.zt-hotel-result-rating {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .62);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    backdrop-filter: blur(12px);
}

.zt-hotel-result-market {
    left: 12px;
    bottom: 12px;
}

.zt-hotel-result-rating {
    top: 12px;
    right: 12px;
}

.zt-hotel-result-market i {
    color: #7DD3FC;
    font-size: 12px;
}

.zt-hotel-result-rating i {
    color: #FBBF24;
    font-size: 12px;
}

.zt-hotel-result-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
}

.zt-hotel-result-top {
    display: grid;
    gap: 8px;
}

.zt-hotel-result-location {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    color: #5C708A;
    font-size: 12px;
    font-weight: 850;
}

.zt-hotel-result-location i {
    color: #1877F2;
    font-size: 13px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-result-location small {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #EEF6FF;
    color: #0B4D91;
    font-size: 10.5px;
    font-weight: 950;
}

.zt-hotel-result-card h3 {
    margin: 0;
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.2;
    letter-spacing: 0;
}

.zt-hotel-result-meta {
    display: grid;
    gap: 8px;
    margin-top: auto;
}

.zt-hotel-result-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #5D718A;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-hotel-result-meta i {
    color: #14B8A6;
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-result-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 2px;
    padding: 12px;
    border: 1px solid rgba(222, 232, 244, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-hotel-result-price small {
    display: block;
    color: #6A7E96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-hotel-result-price strong {
    display: block;
    margin-top: 5px;
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.zt-hotel-result-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    min-height: 38px;
    padding: 9px 13px;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66 0%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 22px rgba(24, 119, 242, .2);
    transition: transform .18s ease, box-shadow .18s ease;
}

.zt-hotel-result-link i {
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
    transition: transform .18s ease;
}

.zt-hotel-result-link:hover,
.zt-hotel-result-link:focus-visible {
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(24, 119, 242, .28);
    outline: 0;
}

.zt-hotel-result-link:hover i,
.zt-hotel-result-link:focus-visible i {
    transform: translateX(2px);
}

@media (max-width: 767.98px) {
    .zt-hotel-result-media {
        height: 190px;
    }

    .zt-hotel-result-body {
        padding: 16px;
    }

    .zt-hotel-result-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-hotel-result-link {
        width: 100%;
    }
}
/* Prevent hotels page horizontal overflow */
.zt-hotels-hero::after {
    display: none !important;
    inset: auto 0 0 0 !important;
    width: auto !important;
    transform: none !important;
    animation: none !important;
}

.zt-hotels-hero,
.zt-hotels-hero-inner,
.zt-hotel-results-grid,
.zt-hotel-result-card,
.zt-hotel-result-body,
.zt-hotel-result-footer {
    max-width: 100%;
}

.zt-hotel-result-card,
.zt-hotel-result-body,
.zt-hotel-result-footer,
.zt-hotel-result-price {
    min-width: 0;
}

@media (max-width: 575.98px) {
    .zt-hotel-result-price strong {
        white-space: normal;
        line-height: 1.15;
    }
}
/* Hotel details page upgraded summary */
.zt-hotel-detail-page {
    padding-top: 118px;
}

.zt-hotel-detail-shell {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.14fr);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: stretch;
    max-width: 100%;
}

.zt-hotel-detail-media,
.zt-hotel-detail-summary {
    min-width: 0;
    border: 1px solid rgba(207, 219, 235, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 18px 40px rgba(13, 45, 80, .09);
}

.zt-hotel-detail-media {
    position: relative;
    overflow: hidden;
    min-height: 430px;
}

.zt-hotel-detail-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .08), rgba(5, 18, 36, .56));
    pointer-events: none;
}

.zt-hotel-detail-media img {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
}

.zt-hotel-detail-market,
.zt-hotel-detail-rating {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .62);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.zt-hotel-detail-market {
    left: 16px;
    bottom: 16px;
}

.zt-hotel-detail-rating {
    top: 16px;
    right: 16px;
}

.zt-hotel-detail-market i {
    color: #7DD3FC;
}

.zt-hotel-detail-rating i {
    color: #FBBF24;
}

.zt-hotel-detail-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(22px, 3vw, 36px);
}

.zt-hotel-detail-summary .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-bottom: 14px;
}

.zt-hotel-detail-summary .zt-section-kicker i {
    color: #1877F2;
    font-size: 15px;
}

.zt-hotel-detail-summary h1 {
    max-width: 100%;
    margin: 0;
    color: #071E3A;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: 0;
}

.zt-hotel-detail-summary p {
    width: 100%;
    max-width: none;
    margin: 18px 0 0;
    color: #52667F;
    font-size: clamp(15px, 1.18vw, 17px);
    font-weight: 650;
    line-height: 1.78;
}

.zt-hotel-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}

.zt-hotel-detail-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 11px;
    border: 1px solid rgba(207, 219, 235, .95);
    border-radius: 999px;
    background: #F8FBFF;
    color: #17233C;
    font-size: 12px;
    font-weight: 900;
}

.zt-hotel-detail-meta i {
    color: #1877F2;
    font-size: 13px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-detail-page .zt-section-head {
    align-items: end;
    padding-top: 4px;
    border-top: 1px solid rgba(222, 232, 244, .9);
}

@media (max-width: 991.98px) {
    .zt-hotel-detail-page {
        padding-top: 102px;
    }

    .zt-hotel-detail-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-hotel-detail-media,
    .zt-hotel-detail-media img {
        min-height: 320px;
    }
}

@media (max-width: 575.98px) {
    .zt-hotel-detail-page {
        padding-top: 92px;
    }

    .zt-hotel-detail-media,
    .zt-hotel-detail-media img {
        min-height: 250px;
    }

    .zt-hotel-detail-summary {
        padding: 20px;
    }

    .zt-hotel-detail-meta span {
        width: 100%;
        justify-content: flex-start;
    }
}
/* Hotel room offer cards */
.zt-room-section-head {
    align-items: end;
    gap: 14px;
}

.zt-room-section-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.zt-room-section-head .zt-section-kicker i {
    color: #1877F2;
}

.zt-room-section-head p {
    margin: 0;
    color: #5D718A;
    font-size: 13px;
    font-weight: 850;
}

.zt-room-grid {
    align-items: stretch;
}

.zt-room-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(170px, .84fr) minmax(0, 1.16fr);
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(207, 219, 235, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 34px rgba(13, 45, 80, .075);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.zt-room-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    height: 3px;
    background: linear-gradient(90deg, #1877F2, #14B8A6, #7DD3FC);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .28s ease;
}

.zt-room-card:hover,
.zt-room-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(24, 119, 242, .34);
    box-shadow: 0 24px 48px rgba(13, 45, 80, .12);
}

.zt-room-card:hover::before,
.zt-room-card:focus-within::before {
    transform: scaleX(1);
}

.zt-room-media {
    position: relative;
    min-height: 244px;
    overflow: hidden;
    background: #EAF3FF;
}

.zt-room-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .05), rgba(5, 18, 36, .5));
    pointer-events: none;
}

.zt-room-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .42s ease;
}

.zt-room-card:hover .zt-room-media img,
.zt-room-card:focus-within .zt-room-media img {
    transform: scale(1.07);
}

.zt-room-media span {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .62);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.zt-room-media span i {
    color: #7DD3FC;
}

.zt-room-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
}

.zt-room-label {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 2px;
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-room-card h3 {
    margin: 0;
    color: #071E3A;
    font-size: 19px;
    font-weight: 950;
    line-height: 1.18;
    letter-spacing: 0;
}

.zt-room-meta {
    display: grid;
    gap: 8px;
    margin-top: auto;
}

.zt-room-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #5D718A;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-room-meta i {
    color: #14B8A6;
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-room-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 2px;
    padding: 12px;
    border: 1px solid rgba(222, 232, 244, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-room-price small {
    display: block;
    color: #6A7E96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-room-price strong {
    display: block;
    margin-top: 5px;
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.05;
    white-space: nowrap;
}

.zt-room-footer form {
    flex: 0 0 auto;
}

.zt-room-book-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 9px 13px;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66 0%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 12px 22px rgba(24, 119, 242, .2);
    transition: transform .18s ease, box-shadow .18s ease;
}

.zt-room-book-btn i {
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
    transition: transform .18s ease;
}

.zt-room-book-btn:hover,
.zt-room-book-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(24, 119, 242, .28);
    outline: 0;
}

.zt-room-book-btn:hover i,
.zt-room-book-btn:focus-visible i {
    transform: translateX(2px);
}

@media (max-width: 1199.98px) {
    .zt-room-card {
        grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr);
    }
}

@media (max-width: 767.98px) {
    .zt-room-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-room-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-room-media {
        min-height: 210px;
    }

    .zt-room-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-room-footer form,
    .zt-room-book-btn {
        width: 100%;
    }

    .zt-room-price strong {
        white-space: normal;
    }
}
/* Hotel room booking checkout */
.zt-hotel-book-page {
    position: relative;
    padding-top: clamp(104px, 11vw, 132px);
    padding-bottom: 72px;
    background:
        linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 58%, #F8FBFF 100%);
}

.zt-hotel-book-page::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 300px;
    background:
        linear-gradient(135deg, rgba(24, 119, 242, .10), rgba(20, 184, 166, .08) 54%, rgba(255, 255, 255, 0));
    pointer-events: none;
}

.zt-hotel-book-page > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-hotel-book-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
    gap: 22px;
    align-items: start;
}

.zt-hotel-book-summary-card,
.zt-hotel-guest-card {
    overflow: hidden;
    border: 1px solid rgba(204, 218, 235, .92);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 24px 60px rgba(15, 45, 80, .11);
}

.zt-hotel-book-summary-card {
    display: grid;
    grid-template-columns: minmax(260px, .48fr) minmax(0, .52fr);
    min-height: 560px;
}

.zt-hotel-book-media {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: #EAF3FF;
}

.zt-hotel-book-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .02), rgba(5, 18, 36, .56));
    pointer-events: none;
}

.zt-hotel-book-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
}

.zt-hotel-book-market,
.zt-hotel-book-rating {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .66);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    backdrop-filter: blur(14px);
}

.zt-hotel-book-market {
    left: 16px;
    top: 16px;
}

.zt-hotel-book-rating {
    right: 16px;
    top: 16px;
}

.zt-hotel-book-market i {
    color: #7DD3FC;
}

.zt-hotel-book-rating i {
    color: #FBBF24;
}

.zt-hotel-book-summary-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 18px;
    padding: clamp(22px, 3vw, 34px);
}

.zt-hotel-book-heading span,
.zt-hotel-guest-head span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 12px;
    padding: 7px 11px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 999px;
    background: rgba(24, 119, 242, .08);
    color: #125DB9;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-hotel-book-heading span i,
.zt-hotel-guest-head span i {
    color: #14B8A6;
    font-size: 15px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-book-heading h1 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: 0;
}

.zt-hotel-book-heading p {
    margin: 12px 0 0;
    color: #5D718A;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.55;
}

.zt-hotel-book-trip-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(216, 228, 242, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-hotel-book-trip-strip div {
    min-width: 0;
}

.zt-hotel-book-trip-strip small,
.zt-hotel-book-price-panel small,
.zt-hotel-book-meta-grid span {
    display: block;
    color: #6A7E96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-hotel-book-trip-strip strong {
    display: block;
    margin-top: 7px;
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.1;
    white-space: nowrap;
}

.zt-hotel-book-trip-strip > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 16px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-book-trip-strip > span {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #E9F8F6;
    color: #08786E;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-hotel-book-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.zt-hotel-book-meta-grid > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "icon label" "icon value";
    column-gap: 10px;
    row-gap: 5px;
    min-width: 0;
    padding: 13px;
    border: 1px solid rgba(222, 232, 244, .95);
    border-radius: 8px;
    background: #FFFFFF;
}

.zt-hotel-book-meta-grid i {
    grid-area: icon;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #F0F7FF;
    color: #1877F2;
    font-size: 16px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-book-meta-grid span {
    grid-area: label;
}

.zt-hotel-book-meta-grid strong {
    grid-area: value;
    min-width: 0;
    overflow-wrap: anywhere;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.24;
}

.zt-hotel-book-price-panel {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    margin-top: auto;
    padding: 14px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66 0%, #0C4FA3 58%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 32px rgba(24, 119, 242, .22);
}

.zt-hotel-book-price-panel small {
    color: rgba(255, 255, 255, .72);
}

.zt-hotel-book-price-panel strong {
    display: block;
    margin-top: 8px;
    color: #FFFFFF;
    font-size: clamp(19px, 2vw, 27px);
    font-weight: 950;
    line-height: 1.05;
    white-space: nowrap;
}

.zt-hotel-book-price-panel span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-hotel-guest-card {
    position: sticky;
    top: 104px;
    padding: clamp(22px, 2.7vw, 30px);
}

.zt-hotel-guest-head h2 {
    margin: 0;
    color: #071E3A;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-hotel-guest-head p {
    margin: 10px 0 0;
    color: #5D718A;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.zt-hotel-guest-form {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.zt-hotel-input-field {
    position: relative;
}

.zt-hotel-input-field .form-label {
    margin-bottom: 7px;
    color: #263D57;
    font-size: 12px;
    font-weight: 950;
}

.zt-hotel-input-field > i {
    position: absolute;
    left: 14px;
    bottom: 16px;
    z-index: 2;
    color: #1877F2;
    font-size: 17px;
    -webkit-text-stroke: .2px currentColor;
    pointer-events: none;
}

.zt-hotel-input-field .form-control {
    width: 100%;
    min-height: 54px;
    padding: 14px 15px 14px 44px;
    border: 1px solid rgba(207, 219, 235, .96);
    border-radius: 8px;
    background: #F8FBFF;
    color: #071E3A;
    font-size: 14px;
    font-weight: 800;
    box-shadow: none;
}

.zt-hotel-input-field .form-control:focus {
    border-color: rgba(24, 119, 242, .55);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .10);
}

.zt-hotel-checkout-btn,
.zt-hotel-change-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.zt-hotel-checkout-btn {
    width: 100%;
    margin-top: 4px;
    border: 1px solid rgba(24, 119, 242, .2);
    background: linear-gradient(135deg, #052F66 0%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .24);
    transition: transform .18s ease, box-shadow .18s ease;
}

.zt-hotel-checkout-btn i,
.zt-hotel-change-link i {
    font-size: 16px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-checkout-btn:hover,
.zt-hotel-checkout-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 20px 36px rgba(24, 119, 242, .32);
    outline: 0;
}

.zt-hotel-change-link {
    min-height: 46px;
    border: 1px solid rgba(207, 219, 235, .95);
    background: #FFFFFF;
    color: #263D57;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.zt-hotel-change-link:hover,
.zt-hotel-change-link:focus-visible {
    border-color: rgba(24, 119, 242, .35);
    background: #F4F9FF;
    color: #125DB9;
    outline: 0;
}

@media (max-width: 1199.98px) {
    .zt-hotel-book-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-hotel-guest-card {
        position: static;
    }
}

@media (max-width: 899.98px) {
    .zt-hotel-book-summary-card {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .zt-hotel-book-media {
        min-height: 300px;
    }
}

@media (max-width: 575.98px) {
    .zt-hotel-book-page {
        padding-top: 92px;
        padding-bottom: 44px;
    }

    .zt-hotel-book-shell {
        gap: 14px;
    }

    .zt-hotel-book-summary-card,
    .zt-hotel-guest-card {
        margin-right: -2px;
        margin-left: -2px;
    }

    .zt-hotel-book-media {
        min-height: 230px;
    }

    .zt-hotel-book-summary-body,
    .zt-hotel-guest-card {
        padding: 18px;
    }

    .zt-hotel-book-heading h1 {
        font-size: 24px;
    }

    .zt-hotel-book-trip-strip,
    .zt-hotel-book-price-panel,
    .zt-hotel-book-meta-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-hotel-book-trip-strip > i {
        transform: rotate(90deg);
        justify-self: start;
    }

    .zt-hotel-book-trip-strip > span {
        justify-self: start;
    }

    .zt-hotel-book-price-panel strong {
        white-space: normal;
    }
}
/* Hotel booking review spacing refinements */
.zt-hotel-book-shell {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    gap: 28px;
}

.zt-hotel-book-summary-card {
    grid-template-columns: minmax(250px, .42fr) minmax(420px, .58fr);
    min-height: 0;
}

.zt-hotel-book-summary-body {
    gap: 22px;
    padding: clamp(26px, 3vw, 38px);
}

.zt-hotel-book-heading h1 {
    max-width: 760px;
    font-size: clamp(25px, 2.35vw, 36px);
    line-height: 1.12;
}

.zt-hotel-book-heading p {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(222, 232, 244, .95);
    border-radius: 8px;
    background: #F8FBFF;
    color: #36516E;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.45;
}

.zt-hotel-book-trip-strip {
    grid-template-columns: minmax(160px, 1fr) 38px minmax(160px, 1fr) auto;
    gap: 16px;
    padding: 16px;
}

.zt-hotel-book-trip-strip div {
    padding: 2px 0;
}

.zt-hotel-book-trip-strip strong {
    font-size: 16px;
}

.zt-hotel-book-trip-strip > span {
    padding-inline: 13px;
}

.zt-hotel-book-meta-grid {
    gap: 14px;
}

.zt-hotel-book-meta-grid > div {
    min-height: 98px;
    padding: 16px;
    align-content: start;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FCFF 100%);
}

.zt-hotel-book-meta-grid strong {
    font-size: 14px;
    line-height: 1.32;
}

.zt-hotel-book-price-panel {
    gap: 16px;
    margin-top: 0;
    padding: 18px;
}

.zt-hotel-book-price-panel strong {
    font-size: clamp(20px, 2vw, 28px);
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
    .zt-hotel-book-summary-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-hotel-book-media {
        min-height: 310px;
    }
}

@media (max-width: 991.98px) {
    .zt-hotel-book-shell {
        gap: 18px;
    }

    .zt-hotel-book-trip-strip {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    }

    .zt-hotel-book-trip-strip > span {
        grid-column: 1 / -1;
        justify-self: start;
        width: fit-content;
    }
}

@media (max-width: 575.98px) {
    .zt-hotel-book-heading p {
        display: flex;
        width: 100%;
    }

    .zt-hotel-book-meta-grid > div {
        min-height: auto;
    }
}
/* Hotel booking guest details refinement */
.zt-hotel-guest-card {
    position: sticky;
    isolation: isolate;
    overflow: hidden;
    border-color: rgba(187, 207, 232, .98);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 251, 255, .98) 100%);
}

.zt-hotel-guest-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    height: 5px;
    background: linear-gradient(90deg, #1877F2 0%, #14B8A6 52%, #7DD3FC 100%);
}

.zt-hotel-guest-head {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(222, 232, 244, .95);
}

.zt-hotel-guest-head span {
    background: linear-gradient(135deg, rgba(24, 119, 242, .10), rgba(20, 184, 166, .10));
}

.zt-hotel-guest-head h2 {
    font-size: clamp(23px, 2vw, 28px);
}

.zt-hotel-guest-head p {
    max-width: 34rem;
    color: #506983;
}

.zt-hotel-guest-assurance {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.zt-hotel-guest-assurance span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid rgba(207, 219, 235, .95);
    border-radius: 999px;
    background: #FFFFFF;
    color: #263D57;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: none;
}

.zt-hotel-guest-assurance i {
    color: #14B8A6;
    font-size: 14px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-hotel-guest-form {
    gap: 16px;
    margin-top: 20px;
}

.zt-hotel-input-field {
    display: grid;
    gap: 7px;
}

.zt-hotel-input-field .form-label {
    margin: 0;
    color: #18314F;
    font-size: 12.5px;
}

.zt-hotel-input-field > i {
    bottom: 18px;
    width: 22px;
    text-align: center;
}

.zt-hotel-input-field .form-control {
    min-height: 58px;
    padding-left: 48px;
    background: #FFFFFF;
    font-size: 14.5px;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}

.zt-hotel-input-field .form-control::placeholder {
    color: #8DA0B4;
    font-weight: 750;
}

.zt-hotel-input-field .form-control:hover {
    border-color: rgba(24, 119, 242, .32);
    background: #FBFDFF;
}

.zt-hotel-input-field .form-control:focus {
    transform: translateY(-1px);
}

.zt-hotel-checkout-btn {
    min-height: 56px;
    margin-top: 8px;
    background: linear-gradient(135deg, #05366F 0%, #1877F2 58%, #14B8A6 100%);
    font-size: 14.5px;
}

.zt-hotel-change-link {
    min-height: 48px;
    font-size: 13.5px;
}

@media (max-width: 575.98px) {
    .zt-hotel-guest-head {
        padding-bottom: 16px;
    }

    .zt-hotel-guest-assurance {
        gap: 7px;
    }

    .zt-hotel-guest-assurance span {
        flex: 1 1 130px;
        justify-content: center;
    }

    .zt-hotel-input-field .form-control {
        min-height: 56px;
    }
}
/* Global placeholder typography refinement */
body input::placeholder,
body textarea::placeholder,
body .form-control::placeholder,
body .form-select::placeholder,
.zt-hotel-input-field .form-control::placeholder,
.zt-field .form-control::placeholder,
.zt-booking-body .form-control::placeholder,
.zt-hotel-field .form-control::placeholder {
    color: #8FA0B3;
    font-size: 12.25px;
    font-weight: 650;
    letter-spacing: 0;
    opacity: 1;
}

@media (max-width: 575.98px) {
    body input::placeholder,
    body textarea::placeholder,
    body .form-control::placeholder,
    body .form-select::placeholder,
    .zt-hotel-input-field .form-control::placeholder,
    .zt-field .form-control::placeholder,
    .zt-booking-body .form-control::placeholder,
    .zt-hotel-field .form-control::placeholder {
        font-size: 12px;
    }
}
/* Hotels page destination placeholder refinement */
.zt-hotels-hero #destination::placeholder,
.zt-hotels-hero input[name="destination"]::placeholder {
    font-size: 11px;
    font-weight: 650;
    color: #92A3B6;
}

@media (max-width: 575.98px) {
    .zt-hotels-hero #destination::placeholder,
    .zt-hotels-hero input[name="destination"]::placeholder {
        font-size: 10.75px;
    }
}
/* Private aviation listing upgrade */
.zt-private-aviation-hero {
    padding-top: clamp(118px, 12vw, 158px);
    padding-bottom: clamp(54px, 7vw, 82px);
    background:
        linear-gradient(135deg, rgba(5, 47, 102, .96) 0%, rgba(12, 79, 163, .92) 50%, rgba(20, 184, 166, .72) 100%),
        url("../images/zaratick-plane-in-the-sky-4.png") center right / cover no-repeat;
}

.zt-private-aviation-hero::before {
    background: linear-gradient(90deg, rgba(5, 18, 36, .62), rgba(5, 18, 36, .18));
}

.zt-private-aviation-hero .zt-eyebrow {
    min-height: 32px;
    padding: 7px 12px;
    font-size: 11px;
}

.zt-private-aviation-hero h1 {
    max-width: 720px;
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.04;
    letter-spacing: 0;
}

.zt-private-aviation-hero p {
    max-width: 650px;
    font-size: clamp(14px, 1.35vw, 17px);
    line-height: 1.55;
}

.zt-private-aviation-section {
    background: linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 58%, #F8FBFF 100%);
}

.zt-private-aircraft-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.zt-private-aircraft-card {
    position: relative;
    display: flex;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(203, 217, 235, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(13, 45, 80, .09);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.zt-private-aircraft-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 3;
    height: 4px;
    background: linear-gradient(90deg, #1877F2, #14B8A6, #7DD3FC);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .28s ease;
}

.zt-private-aircraft-card:hover,
.zt-private-aircraft-card:focus-within {
    transform: translateY(-5px);
    border-color: rgba(24, 119, 242, .32);
    box-shadow: 0 26px 58px rgba(13, 45, 80, .14);
}

.zt-private-aircraft-card:hover::before,
.zt-private-aircraft-card:focus-within::before {
    transform: scaleX(1);
}

.zt-private-aircraft-media {
    position: relative;
    display: block;
    min-height: 228px;
    overflow: hidden;
    background: linear-gradient(135deg, #EAF3FF 0%, #F7FBFF 100%);
}

.zt-private-aircraft-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .02), rgba(5, 18, 36, .54));
    pointer-events: none;
}

.zt-private-aircraft-media img {
    width: 100%;
    height: 100%;
    min-height: 228px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .42s ease;
}

.zt-private-aircraft-card:hover .zt-private-aircraft-media img,
.zt-private-aircraft-card:focus-within .zt-private-aircraft-media img {
    transform: scale(1.08);
}

.zt-private-aircraft-badge,
.zt-private-aircraft-base {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .66);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    backdrop-filter: blur(14px);
}

.zt-private-aircraft-badge {
    left: 14px;
    top: 14px;
}

.zt-private-aircraft-base {
    right: 14px;
    top: 14px;
}

.zt-private-aircraft-badge i,
.zt-private-aircraft-base i {
    color: #7DD3FC;
    font-size: 14px;
    -webkit-text-stroke: .2px currentColor;
}

.zt-private-aircraft-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 16px;
    padding: 18px;
}

.zt-private-aircraft-copy span {
    display: inline-flex;
    margin-bottom: 2px;
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-private-aircraft-copy h2 {
    margin: 0;
    color: #071E3A;
    font-size: 21px;
    font-weight: 950;
    line-height: 1.14;
    letter-spacing: 0;
}

.zt-private-aircraft-copy p {
    margin: 10px 0 0;
    color: #5D718A;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.zt-private-aircraft-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: auto;
}

.zt-private-aircraft-specs > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 11px 10px;
    border: 1px solid rgba(222, 232, 244, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-private-aircraft-specs i {
    color: #14B8A6;
    font-size: 16px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-private-aircraft-specs small {
    color: #6A7E96;
    font-size: 9.75px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-private-aircraft-specs strong {
    min-width: 0;
    color: #071E3A;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.zt-private-aircraft-actions {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: 10px;
    padding-top: 2px;
}

.zt-private-aircraft-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 950;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.zt-private-aircraft-btn i {
    font-size: 15px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-private-aircraft-btn-secondary {
    border: 1px solid rgba(207, 219, 235, .95);
    background: #FFFFFF;
    color: #263D57;
}

.zt-private-aircraft-btn-primary {
    border: 1px solid rgba(24, 119, 242, .22);
    background: linear-gradient(135deg, #052F66 0%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .22);
}

.zt-private-aircraft-btn:hover,
.zt-private-aircraft-btn:focus-visible {
    transform: translateY(-1px);
    outline: 0;
}

.zt-private-aircraft-btn-secondary:hover,
.zt-private-aircraft-btn-secondary:focus-visible {
    border-color: rgba(24, 119, 242, .34);
    background: #F4F9FF;
    color: #125DB9;
}

.zt-private-aircraft-btn-primary:hover,
.zt-private-aircraft-btn-primary:focus-visible {
    box-shadow: 0 18px 32px rgba(24, 119, 242, .30);
}

@media (max-width: 1399.98px) {
    .zt-private-aircraft-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-private-aviation-hero {
        padding-top: 104px;
        padding-bottom: 46px;
    }

    .zt-private-aircraft-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-aircraft-media,
    .zt-private-aircraft-media img {
        min-height: 218px;
    }
}

@media (max-width: 575.98px) {
    .zt-private-aviation-hero h1 {
        font-size: 30px;
    }

    .zt-private-aviation-hero p {
        font-size: 13.5px;
    }

    .zt-private-aircraft-body {
        padding: 16px;
    }

    .zt-private-aircraft-specs,
    .zt-private-aircraft-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-aircraft-btn {
        width: 100%;
    }
}
/* Private aviation request button hover polish */
.zt-private-aircraft-btn-primary {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    justify-content: space-between;
    padding-inline: 14px 12px;
}

.zt-private-aircraft-btn-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, #031F47 0%, #0B65D8 48%, #14B8A6 100%);
    opacity: 0;
    transition: opacity .22s ease;
}

.zt-private-aircraft-btn-primary i {
    margin-left: 2px;
    font-size: 16px;
    transition: transform .2s ease, color .2s ease;
}

.zt-private-aircraft-btn-primary:hover,
.zt-private-aircraft-btn-primary:focus-visible {
    color: #FFFFFF;
    border-color: rgba(125, 211, 252, .55);
    box-shadow: 0 20px 36px rgba(24, 119, 242, .34), 0 0 0 4px rgba(20, 184, 166, .12);
}

.zt-private-aircraft-btn-primary:hover::before,
.zt-private-aircraft-btn-primary:focus-visible::before {
    opacity: 1;
}

.zt-private-aircraft-btn-primary:hover i,
.zt-private-aircraft-btn-primary:focus-visible i {
    transform: translate(3px, -3px) scale(1.04);
    color: #DFF9FF;
}

@media (max-width: 575.98px) {
    .zt-private-aircraft-btn-primary {
        justify-content: center;
    }
}
/* Private aviation plane-envelope request icon */
.zt-private-request-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    color: #FFFFFF;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.zt-private-request-icon .bi-envelope-paper-fill {
    font-size: 17px;
    line-height: 1;
    -webkit-text-stroke: .35px currentColor;
}

.zt-private-request-icon .bi-airplane-fill {
    position: absolute;
    right: 3px;
    bottom: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    border-radius: 999px;
    background: #7DD3FC;
    color: #052F66;
    font-size: 8px;
    line-height: 1;
    transform: rotate(20deg);
    -webkit-text-stroke: .15px currentColor;
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon {
    transform: translate(3px, -3px) scale(1.04);
    background: rgba(255, 255, 255, .26);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34), 0 8px 18px rgba(5, 18, 36, .20);
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon .bi-airplane-fill,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon .bi-airplane-fill {
    background: #FFFFFF;
    color: #0B65D8;
}
/* Single local Font Awesome request icon */
.zt-private-aircraft-btn-primary .zt-private-request-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    background: rgba(255, 255, 255, .22);
    border: 1px solid rgba(255, 255, 255, .34);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .10), 0 8px 16px rgba(5, 18, 36, .12);
}

.zt-private-aircraft-btn-primary .zt-private-request-icon img {
    display: block;
    width: 15px;
    height: 15px;
    object-fit: contain;
    transform: translateX(-1px) rotate(-8deg);
    filter: drop-shadow(0 1px 2px rgba(5, 18, 36, .22));
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon img,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon img {
    transform: translate(1px, -1px) rotate(-8deg) scale(1.08);
}
/* Local Font Awesome icons for private aviation cards */
.zt-private-aviation-section .zt-fa,
.zt-private-aviation-hero .zt-fa {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.zt-fa-plane-up {
    mask-image: url("../images/icons/fa-plane-up.svg");
    -webkit-mask-image: url("../images/icons/fa-plane-up.svg");
}

.zt-fa-location-dot {
    mask-image: url("../images/icons/fa-location-dot.svg");
    -webkit-mask-image: url("../images/icons/fa-location-dot.svg");
}

.zt-fa-layer-group {
    mask-image: url("../images/icons/fa-layer-group.svg");
    -webkit-mask-image: url("../images/icons/fa-layer-group.svg");
}

.zt-fa-users {
    mask-image: url("../images/icons/fa-users.svg");
    -webkit-mask-image: url("../images/icons/fa-users.svg");
}

.zt-fa-circle-info {
    mask-image: url("../images/icons/fa-circle-info.svg");
    -webkit-mask-image: url("../images/icons/fa-circle-info.svg");
}

.zt-fa-paper-plane {
    mask-image: url("../images/icons/fa-paper-plane.svg");
    -webkit-mask-image: url("../images/icons/fa-paper-plane.svg");
}

.zt-private-aviation-eyebrow .zt-fa {
    width: 14px;
    height: 14px;
    color: #7DD3FC;
    transform: rotate(-10deg);
}

.zt-private-aircraft-badge .zt-fa,
.zt-private-aircraft-base .zt-fa {
    width: 13px;
    height: 13px;
    color: #7DD3FC;
}

.zt-private-aircraft-badge .zt-fa-plane-up {
    transform: rotate(-12deg);
}

.zt-private-aircraft-specs .zt-fa {
    width: 18px;
    height: 18px;
    color: #14B8A6;
}

.zt-private-aircraft-specs > div {
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.zt-private-aircraft-specs > div::after {
    content: "";
    position: absolute;
    inset: auto 10px 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(24, 119, 242, .16), rgba(20, 184, 166, .42));
}

.zt-private-aircraft-btn-secondary .zt-fa {
    width: 15px;
    height: 15px;
    color: #1877F2;
}

.zt-private-aircraft-btn-secondary:hover .zt-fa,
.zt-private-aircraft-btn-secondary:focus-visible .zt-fa {
    color: #0B65D8;
}

.zt-private-aircraft-btn-primary .zt-private-request-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    transform: none;
    transition: background .2s ease, box-shadow .2s ease;
}

.zt-private-aircraft-btn-primary .zt-private-request-icon .zt-fa-paper-plane {
    width: 15px;
    height: 15px;
    color: #FFFFFF;
    transform: rotate(-8deg);
    filter: drop-shadow(0 1px 2px rgba(5, 18, 36, .22));
    transition: color .2s ease;
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon,
.zt-private-aircraft-btn-primary:hover .zt-private-request-icon .zt-fa-paper-plane,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon .zt-fa-paper-plane {
    transform: none;
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon {
    background: rgba(255, 255, 255, .30);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .38), 0 8px 18px rgba(5, 18, 36, .18);
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon .zt-fa-paper-plane,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon .zt-fa-paper-plane {
    color: #F8FCFF;
}

.zt-private-aircraft-card:hover .zt-private-aircraft-specs .zt-fa,
.zt-private-aircraft-card:focus-within .zt-private-aircraft-specs .zt-fa {
    color: #1877F2;
}

@media (max-width: 575.98px) {
    .zt-private-aircraft-btn-primary .zt-private-request-icon {
        margin-left: 2px;
    }
}
/* Keep private aviation request button icon fully still on hover */
.zt-private-aircraft-btn-primary:hover,
.zt-private-aircraft-btn-primary:focus-visible {
    transform: none;
}

.zt-private-aircraft-btn-primary:hover .zt-private-request-icon,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon,
.zt-private-aircraft-btn-primary:hover .zt-private-request-icon .zt-fa,
.zt-private-aircraft-btn-primary:focus-visible .zt-private-request-icon .zt-fa {
    transform: none;
}
/* Private aviation request page upgrade */
.zt-private-request-page {
    position: relative;
    padding-top: clamp(104px, 11vw, 132px);
    padding-bottom: 76px;
    background: linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 58%, #F8FBFF 100%);
}

.zt-private-request-page::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 310px;
    background: linear-gradient(135deg, rgba(5, 47, 102, .10), rgba(20, 184, 166, .09) 56%, rgba(255, 255, 255, 0));
    pointer-events: none;
}

.zt-private-request-page > .zt-container {
    position: relative;
    z-index: 1;
}

.zt-private-request-page .zt-fa,
.zt-private-request-success .zt-fa,
.zt-private-request-form-card .zt-fa,
.zt-private-request-summary-card .zt-fa {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.zt-fa-calendar-days {
    mask-image: url("../images/icons/fa-calendar-days.svg");
    -webkit-mask-image: url("../images/icons/fa-calendar-days.svg");
}

.zt-fa-route {
    mask-image: url("../images/icons/fa-route.svg");
    -webkit-mask-image: url("../images/icons/fa-route.svg");
}

.zt-fa-user {
    mask-image: url("../images/icons/fa-user.svg");
    -webkit-mask-image: url("../images/icons/fa-user.svg");
}

.zt-fa-envelope {
    mask-image: url("../images/icons/fa-envelope.svg");
    -webkit-mask-image: url("../images/icons/fa-envelope.svg");
}

.zt-fa-note-sticky {
    mask-image: url("../images/icons/fa-note-sticky.svg");
    -webkit-mask-image: url("../images/icons/fa-note-sticky.svg");
}

.zt-fa-lock {
    mask-image: url("../images/icons/fa-lock.svg");
    -webkit-mask-image: url("../images/icons/fa-lock.svg");
}

.zt-fa-circle-check {
    mask-image: url("../images/icons/fa-circle-check.svg");
    -webkit-mask-image: url("../images/icons/fa-circle-check.svg");
}

.zt-fa-arrow-left {
    mask-image: url("../images/icons/fa-arrow-left.svg");
    -webkit-mask-image: url("../images/icons/fa-arrow-left.svg");
}
.zt-fa-arrow-right {
    mask-image: url("../images/icons/fa-arrow-right.svg");
    -webkit-mask-image: url("../images/icons/fa-arrow-right.svg");
}

.zt-private-request-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
    gap: 28px;
    align-items: start;
}

.zt-private-request-summary-card,
.zt-private-request-form-card,
.zt-private-request-success {
    overflow: hidden;
    border: 1px solid rgba(187, 207, 232, .98);
    border-radius: 8px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 24px 60px rgba(15, 45, 80, .11);
}

.zt-private-request-summary-card {
    display: grid;
    grid-template-columns: minmax(250px, .42fr) minmax(420px, .58fr);
    min-height: 610px;
}

.zt-private-request-visual {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background: #EAF3FF;
}

.zt-private-request-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .02), rgba(5, 18, 36, .58));
    pointer-events: none;
}

.zt-private-request-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
}

.zt-private-request-visual > span {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    background: rgba(5, 18, 36, .66);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    backdrop-filter: blur(14px);
}

.zt-private-request-visual .zt-fa {
    color: #7DD3FC;
    width: 14px;
    height: 14px;
    transform: rotate(-10deg);
}

.zt-private-request-summary-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 20px;
    padding: clamp(26px, 3vw, 38px);
}

.zt-private-request-heading > span,
.zt-private-request-form-head > span,
.zt-private-request-success .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 12px;
    padding: 7px 11px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .10), rgba(20, 184, 166, .10));
    color: #125DB9;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-private-request-heading > span .zt-fa,
.zt-private-request-form-head > span .zt-fa,
.zt-private-request-success .zt-section-kicker .zt-fa {
    color: #14B8A6;
    width: 14px;
    height: 14px;
}

.zt-private-request-heading h1 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: 0;
}

.zt-private-request-heading p {
    margin: 13px 0 0;
    color: #506983;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.58;
}

.zt-private-request-route-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(216, 228, 242, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-private-request-route-card small,
.zt-private-request-meta-grid small {
    display: block;
    color: #6A7E96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-private-request-route-card strong {
    display: block;
    margin-top: 8px;
    color: #071E3A;
    font-size: 22px;
    font-weight: 950;
    line-height: 1;
}

.zt-private-request-route-card div > span {
    display: block;
    margin-top: 7px;
    color: #5D718A;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-private-request-route-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: linear-gradient(135deg, #052F66, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 14px 24px rgba(24, 119, 242, .22);
}

.zt-private-request-route-icon .zt-fa {
    width: 17px;
    height: 17px;
    transform: rotate(-10deg);
}

.zt-private-request-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.zt-private-request-meta-grid > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "icon label" "icon value";
    column-gap: 11px;
    row-gap: 6px;
    min-height: 96px;
    padding: 15px;
    border: 1px solid rgba(222, 232, 244, .95);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FCFF 100%);
}

.zt-private-request-meta-grid .zt-fa {
    grid-area: icon;
    display: inline-flex;
    align-self: start;
    width: 18px;
    height: 18px;
    color: #14B8A6;
}

.zt-private-request-meta-grid small {
    grid-area: label;
}

.zt-private-request-meta-grid strong {
    grid-area: value;
    min-width: 0;
    color: #071E3A;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.zt-private-request-form-card {
    position: sticky;
    top: 104px;
    padding: clamp(22px, 2.7vw, 30px);
    isolation: isolate;
}

.zt-private-request-form-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    height: 5px;
    background: linear-gradient(90deg, #1877F2 0%, #14B8A6 52%, #7DD3FC 100%);
}

.zt-private-request-form-head {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(222, 232, 244, .95);
}

.zt-private-request-form-head h2 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(23px, 2vw, 28px);
    font-weight: 950;
    line-height: 1.1;
}

.zt-private-request-form-head p {
    margin: 10px 0 0;
    color: #506983;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.zt-private-request-alert {
    display: grid;
    gap: 7px;
    margin: 16px 0 0;
    padding: 12px;
    border: 1px solid rgba(220, 53, 69, .24);
    border-radius: 8px;
    background: rgba(220, 53, 69, .07);
}

.zt-private-request-alert p {
    margin: 0;
    color: #9F2130;
    font-size: 12.5px;
    font-weight: 850;
}

.zt-private-request-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.zt-private-request-field {
    position: relative;
    display: grid;
    gap: 7px;
    min-width: 0;
}

.zt-private-request-field-wide,
.zt-private-request-field-full,
.zt-private-request-actions {
    grid-column: 1 / -1;
}

.zt-private-request-field .form-label {
    margin: 0;
    color: #18314F;
    font-size: 12.5px;
    font-weight: 950;
}

.zt-private-request-field > .zt-fa {
    position: absolute;
    left: 14px;
    bottom: 18px;
    z-index: 2;
    width: 17px;
    height: 17px;
    color: #1877F2;
    pointer-events: none;
}

.zt-private-request-field .form-control,
.zt-private-request-field .form-select {
    width: 100%;
    min-height: 58px;
    padding: 14px 15px 14px 46px;
    border: 1px solid rgba(207, 219, 235, .96);
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #071E3A;
    font-size: 13.5px;
    font-weight: 800;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-private-request-field textarea.form-control {
    min-height: 122px;
    resize: vertical;
    line-height: 1.5;
}

.zt-private-request-field .form-control::placeholder,
.zt-private-request-field textarea::placeholder {
    color: #8FA0B3;
    font-size: 12px;
    font-weight: 650;
}

.zt-private-request-field .form-control:hover,
.zt-private-request-field .form-select:hover {
    border-color: rgba(24, 119, 242, .32);
    background-color: #FBFDFF;
}

.zt-private-request-field .form-control:focus,
.zt-private-request-field .form-select:focus {
    border-color: rgba(24, 119, 242, .55);
    background-color: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .10);
}

.zt-private-request-field small {
    color: #6A7E96;
    font-size: 11px;
    font-weight: 750;
}

.zt-private-swap-btn {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 999px;
    background: #F2F8FF;
    color: #1877F2;
}

.zt-private-swap-btn .zt-fa {
    width: 15px;
    height: 15px;
}

.zt-private-request-field:has(.zt-private-swap-btn) .form-select {
    padding-right: 56px;
}

.zt-private-request-submit,
.zt-private-request-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.zt-private-request-submit {
    width: 100%;
    border: 1px solid rgba(24, 119, 242, .20);
    background: linear-gradient(135deg, #05366F 0%, #1877F2 58%, #14B8A6 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 34px rgba(24, 119, 242, .26);
    transition: box-shadow .18s ease, border-color .18s ease;
}

.zt-private-request-submit:hover,
.zt-private-request-submit:focus-visible {
    border-color: rgba(125, 211, 252, .55);
    box-shadow: 0 22px 40px rgba(24, 119, 242, .34), 0 0 0 4px rgba(20, 184, 166, .12);
    outline: 0;
}

.zt-private-request-submit .zt-private-request-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    background: rgba(255, 255, 255, .24);
    border: 1px solid rgba(255, 255, 255, .34);
}

.zt-private-request-submit .zt-fa-paper-plane {
    width: 15px;
    height: 15px;
    color: #FFFFFF;
    transform: rotate(-8deg);
}

.zt-private-request-submit:hover .zt-private-request-icon,
.zt-private-request-submit:focus-visible .zt-private-request-icon,
.zt-private-request-submit:hover .zt-fa-paper-plane,
.zt-private-request-submit:focus-visible .zt-fa-paper-plane {
    transform: none;
}

.zt-private-request-success {
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 52px);
    text-align: center;
}

.zt-private-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #E9F8F6, #F2F8FF);
    color: #14B8A6;
}

.zt-private-success-icon .zt-fa {
    width: 32px;
    height: 32px;
}

.zt-private-request-success h1 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 950;
    line-height: 1.08;
}

.zt-private-request-success p {
    max-width: 620px;
    margin: 14px auto 24px;
    color: #506983;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.6;
}

.zt-private-request-secondary-action {
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid rgba(207, 219, 235, .95);
    background: #FFFFFF;
    color: #263D57;
}

.zt-private-request-secondary-action .zt-fa {
    width: 14px;
    height: 14px;
    color: #1877F2;
}

.zt-private-request-secondary-action:hover,
.zt-private-request-secondary-action:focus-visible {
    border-color: rgba(24, 119, 242, .35);
    background: #F4F9FF;
    color: #125DB9;
    outline: 0;
}

@media (max-width: 1199.98px) {
    .zt-private-request-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-request-form-card {
        position: static;
    }
}

@media (max-width: 899.98px) {
    .zt-private-request-summary-card {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .zt-private-request-visual {
        min-height: 300px;
    }
}

@media (max-width: 575.98px) {
    .zt-private-request-page {
        padding-top: 92px;
        padding-bottom: 46px;
    }

    .zt-private-request-shell {
        gap: 16px;
    }

    .zt-private-request-summary-body,
    .zt-private-request-form-card {
        padding: 18px;
    }

    .zt-private-request-visual {
        min-height: 230px;
    }

    .zt-private-request-route-card,
    .zt-private-request-meta-grid,
    .zt-private-request-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-request-route-icon {
        transform: rotate(90deg);
        justify-self: start;
    }

    .zt-private-request-submit {
        white-space: normal;
    }
}
/* Private jet request: full image above left-side summary */
.zt-private-request-summary-card {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    min-height: 0;
}

.zt-private-request-visual {
    min-height: clamp(250px, 28vw, 360px);
    background:
        radial-gradient(circle at 78% 18%, rgba(125, 211, 252, .28), transparent 34%),
        linear-gradient(135deg, #061B36 0%, #0C4FA3 58%, #EAF3FF 100%);
}

.zt-private-request-visual::after {
    background: linear-gradient(180deg, rgba(5, 18, 36, .08), rgba(5, 18, 36, .18));
}

.zt-private-request-visual img {
    width: 100%;
    height: 100%;
    min-height: clamp(250px, 28vw, 360px);
    padding: clamp(10px, 1.6vw, 18px);
    object-fit: contain;
    object-position: center;
    transform: none;
}

.zt-private-request-summary-body {
    padding-top: clamp(24px, 2.8vw, 34px);
}

.zt-private-request-heading h1 {
    max-width: 760px;
}

.zt-private-request-heading p {
    max-width: 780px;
}

.zt-private-request-route-card,
.zt-private-request-meta-grid {
    max-width: 820px;
}

@media (max-width: 899.98px) {
    .zt-private-request-visual,
    .zt-private-request-visual img {
        min-height: 260px;
    }
}

@media (max-width: 575.98px) {
    .zt-private-request-visual,
    .zt-private-request-visual img {
        min-height: 220px;
    }

    .zt-private-request-visual img {
        padding: 8px;
    }
}
/* Private jet request image fit correction */
.zt-private-request-visual {
    min-height: clamp(280px, 30vw, 390px);
}

.zt-private-request-visual img {
    min-height: clamp(280px, 30vw, 390px);
    padding: 0;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
}

@media (max-width: 899.98px) {
    .zt-private-request-visual,
    .zt-private-request-visual img {
        min-height: 280px;
    }
}

@media (max-width: 575.98px) {
    .zt-private-request-visual,
    .zt-private-request-visual img {
        min-height: 230px;
    }

    .zt-private-request-visual img {
        padding: 0;
    }
}
/* Dynamic private aircraft selection and larger listing actions */
.zt-private-selected-aircraft {
    display: grid;
    gap: 10px;
    max-width: 820px;
    padding: 16px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66 0%, #0C4FA3 58%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 32px rgba(24, 119, 242, .18);
}

.zt-private-selected-aircraft > span {
    color: rgba(255, 255, 255, .72);
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-private-selected-aircraft > strong {
    color: #FFFFFF;
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 950;
    line-height: 1.1;
}

.zt-private-selected-aircraft div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.zt-private-selected-aircraft small {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .92);
    font-size: 11px;
    font-weight: 900;
}

.zt-private-request-meta-grid strong {
    font-size: 14.5px;
}

.zt-private-aircraft-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr);
    gap: 11px;
}

.zt-private-aircraft-btn {
    min-height: 48px;
    padding: 12px 14px;
    font-size: 14px;
    letter-spacing: 0;
}

.zt-private-aircraft-btn span:not(.zt-fa):not(.zt-private-request-icon) {
    font-weight: 950;
}

.zt-private-aircraft-btn-secondary .zt-fa,
.zt-private-aircraft-btn-primary .zt-private-request-icon {
    flex-shrink: 0;
}

.zt-private-aircraft-btn-primary .zt-private-request-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}

@media (max-width: 575.98px) {
    .zt-private-selected-aircraft div {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-aircraft-btn {
        font-size: 14px;
    }
}
/* Private aviation booking rate and picker polish */
.zt-private-aircraft-rate {
    display: grid;
    gap: 5px;
    padding: 14px 15px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: linear-gradient(135deg, #F5FAFF 0%, #FFFFFF 52%, rgba(20, 184, 166, .08) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}

.zt-private-aircraft-rate span,
.zt-private-form-rate-strip span,
.zt-private-request-visual-rate span {
    color: #5D718A;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-private-aircraft-rate strong,
.zt-private-form-rate-strip strong,
.zt-private-request-visual-rate strong {
    color: #071E3A;
    font-size: clamp(17px, 1.6vw, 22px);
    font-weight: 950;
    line-height: 1.12;
}

.zt-private-aircraft-rate small,
.zt-private-form-rate-strip small {
    color: #61758D;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-private-request-visual-rate {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    display: grid;
    gap: 6px;
    padding: 14px 15px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(5, 18, 36, .74);
    color: #FFFFFF;
    backdrop-filter: blur(15px);
}

.zt-private-request-visual-rate span,
.zt-private-request-visual-rate strong {
    color: #FFFFFF;
}

.zt-private-form-rate-strip {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 14px 15px;
    border: 1px solid rgba(20, 184, 166, .20);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(20, 184, 166, .10));
}

.zt-private-request-route-pair {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    gap: 10px;
    align-items: end;
}

.zt-private-route-swap-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
}

.zt-private-route-swap-wrap .zt-private-swap-btn {
    position: static;
    width: 42px;
    height: 42px;
    box-shadow: 0 12px 22px rgba(24, 119, 242, .16);
}

.zt-private-request-field.has-flag-select > .zt-fa {
    display: none;
}

.zt-private-request-form .zt-flag-select {
    position: relative;
    width: 100%;
}

.zt-private-request-form .zt-flag-select-button,
.zt-private-request-field .form-control,
.zt-private-request-field .form-select {
    min-height: 58px;
    height: 58px;
}

.zt-private-request-form .zt-flag-select-button {
    gap: 9px;
    width: 100%;
    padding: 8px 34px 8px 12px;
    border: 1px solid rgba(207, 219, 235, .96);
    border-radius: 8px;
    background: #FFFFFF;
    color: #071E3A;
    box-shadow: none;
}

.zt-private-request-form .zt-flag-select-button:hover,
.zt-private-request-form .zt-flag-select-button:focus,
.zt-private-request-form .zt-flag-select.is-open .zt-flag-select-button {
    border-color: rgba(24, 119, 242, .58);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .10);
}

.zt-private-request-form .zt-airport-picker .zt-flag-select-menu,
.zt-private-request-form .zt-flag-select-menu {
    z-index: 7000;
    width: 100% !important;
    min-width: 100% !important;
    max-width: min(100%, calc(100vw - 28px));
    border-radius: 8px;
    border-color: rgba(188, 207, 231, .98);
    box-shadow: 0 22px 42px rgba(15, 45, 80, .18);
}

.zt-private-request-form .zt-airport-option {
    display: grid;
    grid-template-columns: 34px minmax(44px, .34fr) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px;
}

.zt-private-request-form .zt-airport-option-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    overflow: hidden;
    border-radius: 999px;
    background: #EEF6FF;
    box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .12);
}

.zt-private-request-form .zt-airport-option-flag img,
.zt-private-request-form .zt-flag-badge img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zt-private-request-form .zt-airport-code,
.zt-private-request-form .zt-picker-airport-code {
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
}

.zt-private-request-form .zt-airport-name,
.zt-private-request-form .zt-picker-airport-name {
    color: #243B56;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.22;
}

.zt-private-request-form .zt-airport-location {
    color: #70859E;
    font-size: 11px;
    font-weight: 750;
}

.zt-private-request-form .zt-flag-badge {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 999px;
    overflow: hidden;
}

.zt-private-request-form .zt-flag-badge[data-picker-badge="code"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(24, 119, 242, .16);
    background: #EEF6FF;
    color: #125DB9;
    font-size: 10.5px;
    font-weight: 950;
}

.zt-private-request-form .zt-flag-value {
    min-width: 0;
}

.zt-private-request-field:has(input[type="date"]) > .zt-fa {
    right: 14px;
    left: auto;
}

.zt-private-request-field:has(input[type="date"]) .form-control {
    padding-right: 46px;
    padding-left: 15px;
}

.zt-private-request-field .form-control::placeholder,
.zt-private-request-field textarea::placeholder {
    color: #94A5B8;
    font-size: 11.5px;
    font-weight: 650;
}

.zt-private-aircraft-btn {
    font-size: 14.75px;
}

.zt-private-aircraft-btn span:not(.zt-fa):not(.zt-private-request-icon) {
    font-size: 14.75px;
    font-weight: 950;
}

@media (max-width: 991.98px) {
    .zt-private-request-route-pair {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-private-route-swap-wrap {
        padding: 0;
    }

    .zt-private-route-swap-wrap .zt-private-swap-btn {
        transform: rotate(90deg);
    }
}

@media (max-width: 575.98px) {
    .zt-private-request-form .zt-airport-option {
        grid-template-columns: 32px 48px minmax(0, 1fr);
    }

    .zt-private-aircraft-rate strong,
    .zt-private-form-rate-strip strong,
    .zt-private-request-visual-rate strong {
        font-size: 17px;
    }
}

/* Private aviation form final field corrections */
.zt-private-request-summary-card,
.zt-private-request-form-card,
.zt-private-request-shell,
.zt-private-request-form,
.zt-private-request-route-pair,
.zt-private-request-field,
.zt-private-request-form .zt-flag-select {
    overflow: visible !important;
}

.zt-private-request-form-card {
    z-index: 40;
}

.zt-private-request-form .zt-flag-select.is-open {
    z-index: 9500 !important;
}

.zt-private-request-route-pair .zt-airport-picker .zt-flag-select-menu {
    z-index: 9800 !important;
    width: min(580px, calc(100vw - 32px)) !important;
    min-width: min(520px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: 390px !important;
}

.zt-private-request-route-pair .zt-private-request-field:first-child .zt-airport-picker .zt-flag-select-menu {
    left: 0 !important;
    right: auto !important;
}

.zt-private-request-route-pair .zt-private-request-field:last-child .zt-airport-picker .zt-flag-select-menu {
    left: auto !important;
    right: 0 !important;
}

.zt-private-request-route-pair .zt-airport-option {
    grid-template-columns: 36px minmax(52px, .26fr) minmax(260px, 1fr);
    min-height: 62px;
    padding: 11px 12px;
}

.zt-private-request-route-pair .zt-airport-option .zt-airport-name {
    white-space: normal;
    overflow-wrap: anywhere;
}

.zt-private-request-route-pair .zt-airport-option .zt-airport-location {
    white-space: normal;
}

.zt-private-request-route-pair .zt-flag-select-button {
    min-height: 60px;
    height: 60px;
    border-radius: 12px;
    padding-inline: 12px 34px;
}

.zt-private-request-route-pair .zt-picker-airport-name {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.zt-private-date-field .form-label,
.zt-aircraft-category-field .form-label,
.zt-private-request-route-pair .form-label {
    margin-bottom: 5px;
    font-size: 11.5px;
    letter-spacing: .04em;
}

.zt-private-date-field {
    gap: 6px;
}

.zt-private-date-field > .zt-fa {
    left: auto !important;
    right: 14px !important;
    bottom: auto !important;
    top: 39px !important;
    width: 18px !important;
    height: 18px !important;
    color: #1877F2;
}

.zt-private-date-field .form-control {
    min-height: 60px;
    height: 60px;
    padding: 13px 48px 13px 14px !important;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
}

.zt-private-date-field .form-control::-webkit-calendar-picker-indicator {
    position: absolute;
    right: 10px;
    width: 28px !important;
    height: 28px !important;
    margin: 0;
    cursor: pointer;
    opacity: 0;
}

.zt-private-date-field small {
    margin-top: 1px;
    color: #647891;
    font-size: 10.75px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-aircraft-category-field .zt-flag-select-button {
    min-height: 60px;
    height: 60px;
    border-radius: 12px;
    padding-left: 12px;
}

.zt-aircraft-category-field .zt-flag-select-menu {
    z-index: 9700 !important;
    width: 100% !important;
    min-width: 100% !important;
}

.zt-aircraft-category-field .zt-flag-select-option {
    min-height: 60px;
    padding: 10px 12px;
}

.zt-aircraft-category-field .zt-flag-option-text {
    color: #071E3A;
    font-size: 13px;
    font-weight: 900;
}

.zt-aircraft-category-field .zt-flag-badge[data-picker-badge="aircraft"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 32px;
    flex: 0 0 44px;
    padding: 3px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 10px;
    background: linear-gradient(135deg, #EEF6FF, #FFFFFF);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

.zt-aircraft-category-field .zt-flag-badge[data-picker-badge="aircraft"] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: rotate(-8deg);
}

.zt-aircraft-category-field .zt-flag-select-button .zt-flag-badge[data-picker-badge="aircraft"] {
    width: 46px;
    height: 34px;
    flex-basis: 46px;
}

@media (max-width: 991.98px) {
    .zt-private-request-route-pair .zt-airport-picker .zt-flag-select-menu {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        right: auto !important;
    }
}

@media (max-width: 575.98px) {
    .zt-private-date-field .form-control,
    .zt-aircraft-category-field .zt-flag-select-button,
    .zt-private-request-route-pair .zt-flag-select-button {
        min-height: 56px;
        height: 56px;
    }

    .zt-private-date-field > .zt-fa {
        top: 37px !important;
    }
}

/* Private aviation booking form overflow and control alignment fixes */
.zt-private-request-page {
    overflow-x: clip;
}

.zt-private-request-form-card,
.zt-private-request-form,
.zt-private-request-route-pair {
    max-width: 100%;
}

.zt-private-request-route-pair {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 11px !important;
}

.zt-private-route-swap-wrap {
    padding: 0 !important;
}

.zt-private-route-swap-wrap .zt-private-swap-btn {
    transform: rotate(90deg);
}

.zt-private-request-route-pair .zt-airport-picker .zt-flag-select-menu {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    z-index: 12000 !important;
}

.zt-private-request-route-pair .zt-flag-select-button {
    min-height: 60px !important;
    height: 60px !important;
    overflow: hidden;
}

.zt-private-request-route-pair .zt-flag-select-button .zt-flag-value {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.zt-private-request-route-pair .zt-flag-select-button .zt-picker-airport-code {
    flex: 0 0 auto;
    font-size: 13px;
}

.zt-private-request-route-pair .zt-flag-select-button .zt-picker-airport-name {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    color: #28415F;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-private-request-route-pair .zt-airport-option {
    grid-template-columns: 34px 52px minmax(0, 1fr) !important;
    min-height: 60px;
}

.zt-private-request-route-pair .zt-airport-option .zt-airport-name,
.zt-private-request-route-pair .zt-airport-option .zt-airport-location {
    white-space: normal;
    overflow-wrap: anywhere;
}

.zt-private-date-field {
    position: relative;
}

.zt-private-date-field > .zt-fa {
    top: auto !important;
    bottom: 21px !important;
    right: 14px !important;
    left: auto !important;
    transform: none !important;
}

.zt-private-date-field .form-control {
    display: block;
    min-height: 58px !important;
    height: 58px !important;
    padding: 0 48px 0 14px !important;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    line-height: 58px;
}

.zt-private-date-field .form-control::-webkit-datetime-edit,
.zt-private-date-field .form-control::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
    line-height: 58px;
}

.zt-private-date-field .form-control::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 36px !important;
    height: 36px !important;
    margin: 0;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%);
}

.zt-aircraft-category-field .zt-flag-select-button {
    overflow: hidden;
    background: #FFFFFF;
    color: #071E3A;
}

.zt-aircraft-category-field .zt-flag-select-button .zt-flag-value,
.zt-aircraft-category-field .zt-flag-option-text {
    color: #071E3A !important;
}

.zt-aircraft-category-field .zt-flag-select-option.is-selected {
    background: linear-gradient(135deg, #EAF5FF 0%, #F8FCFF 100%) !important;
    color: #071E3A !important;
}

.zt-aircraft-category-field .zt-flag-select-option.is-selected .zt-flag-option-text {
    color: #071E3A !important;
}

.zt-aircraft-category-field .zt-flag-select-option.is-selected .zt-flag-badge[data-picker-badge="aircraft"] {
    border-color: rgba(24, 119, 242, .24);
    background: #FFFFFF;
}

.zt-private-request-submit {
    min-height: 58px;
    border-radius: 12px;
    font-size: 15px;
    letter-spacing: .01em;
}

.zt-private-request-submit .zt-private-request-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24);
}

.zt-private-request-submit .zt-private-request-icon .zt-fa-paper-plane {
    width: 16px;
    height: 16px;
    color: #FFFFFF;
    transform: rotate(-8deg);
}

.zt-private-request-submit:hover .zt-private-request-icon,
.zt-private-request-submit:focus-visible .zt-private-request-icon,
.zt-private-request-submit:hover .zt-private-request-icon .zt-fa,
.zt-private-request-submit:focus-visible .zt-private-request-icon .zt-fa {
    transform: none;
}

.zt-fa-arrow-right-arrow-left {
    mask-image: url("../images/icons/fa-arrow-right-arrow-left.svg");
    -webkit-mask-image: url("../images/icons/fa-arrow-right-arrow-left.svg");
}

.zt-private-route-swap-wrap .zt-fa-arrow-right-arrow-left {
    width: 17px;
    height: 17px;
}

/* Private aviation arrival field micro-alignment */
.zt-private-request-route-pair > .zt-airport-field:last-child {
    margin-top: -7px;
}

@media (max-width: 575.98px) {
    .zt-private-request-route-pair > .zt-airport-field:last-child {
        margin-top: -5px;
    }
}

/* Private aviation date row exact alignment */
.zt-private-date-field {
    align-self: start;
}

.zt-private-date-field > .zt-fa {
    top: 39px !important;
    right: 15px !important;
    bottom: auto !important;
    left: auto !important;
    width: 18px !important;
    height: 18px !important;
    transform: none !important;
}

.zt-private-date-field .form-control {
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    height: 58px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 14px !important;
    padding-right: 48px !important;
    line-height: normal !important;
}

.zt-private-date-field .form-control::-webkit-datetime-edit,
.zt-private-date-field .form-control::-webkit-datetime-edit-fields-wrapper,
.zt-private-date-field .form-control::-webkit-datetime-edit-text,
.zt-private-date-field .form-control::-webkit-datetime-edit-month-field,
.zt-private-date-field .form-control::-webkit-datetime-edit-day-field,
.zt-private-date-field .form-control::-webkit-datetime-edit-year-field {
    line-height: normal !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.zt-private-date-field .form-control::-webkit-calendar-picker-indicator {
    position: absolute !important;
    top: 28px !important;
    right: 5px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    transform: none !important;
    cursor: pointer;
    opacity: 0;
}

@media (max-width: 575.98px) {
    .zt-private-date-field > .zt-fa {
        top: 38px !important;
    }

    .zt-private-date-field .form-control::-webkit-calendar-picker-indicator {
        top: 26px !important;
    }
}

/* Private jet rental page polish */
.zt-private-aviation-hero {
    position: relative;
    overflow: hidden;
    padding-top: clamp(118px, 11vw, 158px);
    padding-bottom: clamp(42px, 6vw, 74px);
    background:
        linear-gradient(115deg, rgba(4, 22, 45, .94) 0%, rgba(6, 63, 108, .92) 48%, rgba(231, 250, 255, .94) 100%),
        url("../images/zaratick-plane-in-the-sky-4.webp") center 40% / cover no-repeat;
    color: #FFFFFF;
}

.zt-private-aviation-hero::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, .72), rgba(20, 184, 166, .58), transparent);
}

.zt-private-aviation-hero .zt-container {
    position: relative;
    z-index: 1;
}

.zt-private-aviation-hero .zt-eyebrow {
    border-color: rgba(255, 255, 255, .24);
    background: rgba(255, 255, 255, .12);
    color: #E9FBFF;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
    backdrop-filter: blur(14px);
}

.zt-private-aviation-hero h1 {
    max-width: 700px;
    margin-top: 14px;
    margin-bottom: 12px;
    color: #FFFFFF;
    font-size: clamp(38px, 5vw, 64px);
    line-height: .98;
}

.zt-private-aviation-hero p {
    max-width: 610px;
    color: rgba(239, 250, 255, .9);
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 750;
}

.zt-private-aviation-section {
    padding-top: clamp(28px, 4vw, 52px);
}

.zt-private-aircraft-card {
    border-color: rgba(190, 207, 228, .95);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    box-shadow: 0 20px 48px rgba(9, 35, 68, .1);
}

.zt-private-aircraft-media {
    min-height: 210px;
    background: #EAF3FF;
}

.zt-private-aircraft-media img {
    min-height: 210px;
}

.zt-private-aircraft-body {
    gap: 13px;
    padding: 17px;
}

.zt-private-aircraft-copy span {
    margin-bottom: 7px;
    color: #0F8E7E;
}

.zt-private-aircraft-copy h2 {
    font-size: clamp(18px, 1.45vw, 21px);
}

.zt-private-aircraft-copy p {
    min-height: 58px;
    margin-top: 9px;
    color: #526A84;
    font-size: 12.6px;
}

.zt-private-rental-status {
    display: grid;
    gap: 6px;
    padding: 11px 12px;
    border: 1px solid rgba(20, 184, 166, .22);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(20, 184, 166, .1), rgba(255, 255, 255, .96));
}

.zt-private-rental-status span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #073B36;
    font-size: 12.5px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-private-rental-status .zt-fa {
    width: 16px;
    height: 16px;
    color: #0F8E7E;
}

.zt-private-rental-status small {
    color: #5B7189;
    font-size: 11.2px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-private-aircraft-rate {
    gap: 6px;
    padding: 13px 14px;
    border-color: rgba(24, 119, 242, .2);
    background: linear-gradient(135deg, #F3F9FF 0%, #FFFFFF 54%, rgba(125, 211, 252, .16) 100%);
}

.zt-private-aircraft-rate strong {
    font-size: clamp(17px, 1.35vw, 20px);
}

.zt-private-aircraft-specs {
    gap: 7px;
}

.zt-private-aircraft-specs > div {
    padding: 10px 9px;
    border-color: rgba(211, 224, 239, .98);
    background: #FFFFFF;
}

.zt-private-aircraft-specs .zt-fa {
    width: 15px;
    height: 15px;
    color: #1877F2;
}

.zt-private-aircraft-actions {
    gap: 9px;
    padding-top: 3px;
}

.zt-private-aircraft-btn {
    min-height: 44px;
    font-size: 12.8px;
}

.zt-private-aircraft-btn-primary {
    background: linear-gradient(135deg, #073B36 0%, #0F8E7E 48%, #1877F2 100%);
    box-shadow: 0 15px 28px rgba(15, 142, 126, .22);
}

.zt-private-aircraft-btn-primary:hover,
.zt-private-aircraft-btn-primary:focus-visible {
    box-shadow: 0 18px 34px rgba(15, 142, 126, .28);
}

@media (max-width: 1399.98px) {
    .zt-private-aircraft-copy p {
        min-height: auto;
    }
}

@media (max-width: 767.98px) {
    .zt-private-aviation-hero {
        padding-top: 104px;
        padding-bottom: 42px;
    }

    .zt-private-aviation-hero h1 {
        font-size: 34px;
        line-height: 1.04;
    }
}
/* Private jet request route icon alignment */
.zt-private-request-route-card {
    align-items: center;
}

.zt-private-request-route-card > div {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 74px;
}

.zt-private-request-route-icon {
    place-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: auto;
    line-height: 0;
}

.zt-private-request-route-icon .zt-fa {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    transform-origin: center;
}

@media (max-width: 767.98px) {
    .zt-private-request-route-card {
        justify-items: stretch;
        text-align: center;
    }

    .zt-private-request-route-card > div {
        min-height: auto;
    }

    .zt-private-request-route-icon {
        justify-self: center !important;
        align-self: center !important;
        margin: 2px auto;
    }
}
/* Private jet request route icon visual center correction */
@media (min-width: 768px) {
    .zt-private-request-route-card {
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
        column-gap: 12px;
    }

    .zt-private-request-route-icon {
        justify-self: center !important;
        transform: none !important;
    }

    .zt-private-request-route-icon .zt-fa {
        transform: translateX(-2px) rotate(-10deg) !important;
    }
}

@media (max-width: 767.98px) {
    .zt-private-request-route-icon .zt-fa {
        transform: translateX(-2px) rotate(-10deg) !important;
    }
}
/* Private jet request route divider strong left adjustment */
.zt-private-request-route-card .zt-private-request-route-icon {
    transform: translateX(-46px) !important;
}

.zt-private-request-route-card .zt-private-request-route-icon .zt-fa,
.zt-private-request-route-card .zt-private-request-route-icon .zt-fa-route,
.zt-private-request-route-card .zt-private-request-route-icon .zt-fa-arrow-right-arrow-left,
.zt-private-request-route-card .zt-private-request-route-icon .zt-fa-arrow-right {
    width: 18px !important;
    height: 18px !important;
    transform: none !important;
}

@media (max-width: 767.98px) {
    .zt-private-request-route-card .zt-private-request-route-icon {
        transform: translateX(-30px) !important;
    }
}
/* Private jets compact rental hero */
.zt-private-aviation-hero {
    padding-top: clamp(92px, 8vw, 118px) !important;
    padding-bottom: clamp(24px, 3.2vw, 38px) !important;
    min-height: 0 !important;
}

.zt-private-aviation-hero .zt-eyebrow {
    min-height: 28px !important;
    padding: 5px 10px !important;
    font-size: 10.5px !important;
}

.zt-private-aviation-hero h1 {
    max-width: 560px !important;
    margin-top: 9px !important;
    margin-bottom: 6px !important;
    font-size: clamp(28px, 3.4vw, 44px) !important;
    line-height: 1.04 !important;
}

.zt-private-aviation-hero p {
    max-width: 520px !important;
    margin-bottom: 0 !important;
    font-size: clamp(12.5px, 1vw, 14px) !important;
    line-height: 1.4 !important;
}

@media (max-width: 767.98px) {
    .zt-private-aviation-hero {
        padding-top: 78px !important;
        padding-bottom: 26px !important;
    }

    .zt-private-aviation-hero h1 {
        font-size: 29px !important;
    }

    .zt-private-aviation-hero p {
        font-size: 12.75px !important;
    }
}
/* Aircraft charter premium page */
.zt-charter-hero {
    background:
        linear-gradient(112deg, rgba(4, 22, 45, .95) 0%, rgba(7, 59, 54, .9) 48%, rgba(232, 248, 255, .92) 100%),
        url("../images/zaratick-plane-in-the-sky-4.webp") center right / cover no-repeat !important;
}

.zt-charter-page {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 54%, #F8FBFF 100%);
}

.zt-charter-page .zt-fa,
.zt-charter-hero .zt-fa {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.zt-charter-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .84fr);
    gap: 22px;
    align-items: start;
}

.zt-charter-summary-card,
.zt-charter-form-card {
    overflow: hidden;
    border: 1px solid rgba(190, 207, 228, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 22px 54px rgba(9, 35, 68, .1);
}

.zt-charter-summary-card {
    display: grid;
    grid-template-columns: minmax(280px, .86fr) minmax(0, 1fr);
    min-height: 100%;
}

.zt-charter-visual {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #EAF3FF;
}

.zt-charter-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 18, 36, .04), rgba(5, 18, 36, .62));
    pointer-events: none;
}

.zt-charter-visual img {
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    transform: scale(1.02);
}

.zt-charter-visual > span {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    background: rgba(5, 18, 36, .66);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
}

.zt-charter-summary-body {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: clamp(20px, 3vw, 30px);
}

.zt-charter-heading h1 {
    max-width: 660px;
    font-size: clamp(28px, 3vw, 42px);
}

.zt-charter-heading p {
    max-width: 680px;
}

.zt-charter-status {
    max-width: 760px;
}

.zt-charter-route-card,
.zt-charter-meta-grid {
    max-width: 820px;
}

.zt-charter-route-card .zt-private-request-route-icon {
    transform: none !important;
}

.zt-charter-route-card .zt-private-request-route-icon .zt-fa {
    transform: none !important;
}

.zt-charter-form-card {
    position: sticky;
    top: 92px;
    overflow: visible;
}

.zt-charter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zt-charter-route-pair {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 10px;
    align-items: end;
    min-width: 0;
}

.zt-charter-route-swap-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding-bottom: 0;
}

.zt-charter-route-swap-wrap .zt-private-swap-btn {
    margin: 0;
    transform: none;
}

.zt-charter-form .zt-airport-picker .zt-flag-select-menu,
.zt-charter-form .zt-flag-select-menu {
    z-index: 13000;
}

.zt-charter-form .zt-airport-picker .zt-flag-select-menu {
    width: 100%;
    min-width: 100%;
    max-width: min(520px, calc(100vw - 32px));
}

.zt-charter-type-field .zt-flag-select-menu {
    width: 100%;
    min-width: 100%;
}

.zt-charter-form textarea.form-control {
    min-height: 132px;
}

.zt-charter-form .zt-private-request-submit {
    justify-self: end;
    width: min(100%, 320px);
}

@media (max-width: 1199.98px) {
    .zt-charter-shell,
    .zt-charter-summary-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-charter-form-card {
        position: relative;
        top: auto;
    }

    .zt-charter-visual img {
        min-height: 310px;
    }
}

@media (max-width: 767.98px) {
    .zt-charter-form,
    .zt-charter-route-pair {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-charter-route-swap-wrap {
        min-height: 42px;
    }

    .zt-charter-route-swap-wrap .zt-private-swap-btn {
        transform: rotate(90deg);
    }

    .zt-charter-form .zt-private-request-submit {
        width: 100%;
    }
}
/* Aircraft charter selected-aircraft upgrade */
.zt-charter-booking-form {
    display: block;
    margin: 0;
}

.zt-charter-shell-upgraded {
    grid-template-columns: minmax(0, 1.1fr) minmax(410px, .74fr) !important;
    gap: 24px;
}

.zt-charter-summary-card-upgraded {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden;
}

.zt-charter-selected-visual {
    min-height: clamp(260px, 28vw, 390px) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 72% 18%, rgba(125, 211, 252, .34), transparent 34%),
        linear-gradient(135deg, #EAF3FF 0%, #F8FBFF 48%, #E7FFF9 100%) !important;
}

.zt-charter-selected-visual::after {
    background: linear-gradient(180deg, rgba(5, 18, 36, .02), rgba(5, 18, 36, .12)) !important;
}

.zt-charter-selected-visual img {
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(260px, 28vw, 390px) !important;
    padding: clamp(12px, 2vw, 24px);
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    filter: drop-shadow(0 24px 32px rgba(6, 35, 68, .16));
}

.zt-charter-summary-body {
    gap: 18px !important;
    padding: clamp(20px, 2.5vw, 28px) !important;
}

.zt-charter-heading h1 {
    margin-top: 10px !important;
    font-size: clamp(27px, 2.7vw, 38px) !important;
    line-height: 1.06 !important;
}

.zt-charter-heading p {
    max-width: 760px;
    margin-top: 10px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.zt-charter-selected-aircraft-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.zt-charter-selected-aircraft-strip > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(205, 220, 238, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
}

.zt-charter-selected-aircraft-strip small,
.zt-charter-aircraft-selector-head span {
    color: #6A7E96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-charter-selected-aircraft-strip strong {
    min-width: 0;
    color: #071E3A;
    font-size: clamp(14px, 1.35vw, 18px);
    font-weight: 950;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.zt-charter-aircraft-selector {
    display: grid;
    gap: 13px;
    padding: 16px;
    border: 1px solid rgba(205, 220, 238, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-charter-aircraft-selector-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}

.zt-charter-aircraft-selector-head strong {
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-charter-aircraft-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.zt-charter-aircraft-option {
    position: relative;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}

.zt-charter-aircraft-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.zt-charter-aircraft-choice {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 116px;
    padding: 10px;
    border: 1px solid rgba(213, 226, 241, .98);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 10px 24px rgba(9, 35, 68, .06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.zt-charter-aircraft-choice-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 82px;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, #EAF3FF, #F6FFFC);
}

.zt-charter-aircraft-choice-media img {
    width: 100%;
    height: 100%;
    padding: 7px;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(6, 35, 68, .14));
}

.zt-charter-aircraft-choice-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.zt-charter-aircraft-choice-copy strong {
    color: #071E3A;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.18;
}

.zt-charter-aircraft-choice-copy small {
    color: #5F738C;
    font-size: 11.2px;
    font-weight: 800;
    line-height: 1.35;
}

.zt-charter-aircraft-choice-copy em {
    color: #0F8E7E;
    font-size: 11.5px;
    font-style: normal;
    font-weight: 950;
    line-height: 1.2;
}

.zt-charter-aircraft-option:hover .zt-charter-aircraft-choice,
.zt-charter-aircraft-option:focus-within .zt-charter-aircraft-choice {
    transform: translateY(-2px);
    border-color: rgba(24, 119, 242, .34);
    box-shadow: 0 16px 32px rgba(9, 35, 68, .1);
}

.zt-charter-aircraft-option input:checked + .zt-charter-aircraft-choice {
    border-color: rgba(15, 142, 126, .72);
    background: linear-gradient(135deg, rgba(20, 184, 166, .1), #FFFFFF 56%, rgba(24, 119, 242, .08));
    box-shadow: 0 18px 34px rgba(15, 142, 126, .15);
}

.zt-charter-aircraft-option input:checked + .zt-charter-aircraft-choice::after {
    content: "Selected";
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #073B36;
    color: #FFFFFF;
    font-size: 9.5px;
    font-weight: 950;
    letter-spacing: .05em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-charter-form-card-upgraded {
    overflow: visible !important;
    border-color: rgba(190, 207, 228, .95) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
    box-shadow: 0 22px 54px rgba(9, 35, 68, .1) !important;
}

.zt-charter-form-card-upgraded .zt-private-request-form-head {
    padding-bottom: 4px;
}

.zt-charter-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px !important;
}

.zt-charter-fields .zt-private-request-field {
    min-width: 0;
}

.zt-charter-route-pair {
    grid-column: 1 / -1;
}

.zt-charter-form .zt-airport-picker .zt-flag-select-menu,
.zt-charter-form .zt-flag-select-menu {
    z-index: 15000 !important;
}

.zt-charter-fields .zt-private-request-actions {
    grid-column: 1 / -1;
    justify-content: end;
}

.zt-charter-fields .zt-private-request-submit {
    width: min(100%, 330px) !important;
}

.zt-charter-page-alert {
    margin-bottom: 16px;
}

@media (max-width: 1199.98px) {
    .zt-charter-shell-upgraded {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .zt-charter-form-card-upgraded {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 767.98px) {
    .zt-charter-selected-aircraft-strip,
    .zt-charter-aircraft-options,
    .zt-charter-fields,
    .zt-charter-route-pair {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .zt-charter-aircraft-choice {
        grid-template-columns: 86px minmax(0, 1fr);
        min-height: 106px;
    }

    .zt-charter-aircraft-choice-media {
        width: 86px;
        height: 74px;
    }

    .zt-charter-fields .zt-private-request-submit {
        width: 100% !important;
    }
}
/* Aircraft charter split listing and selected-aircraft flow */
.zt-charter-listing-hero {
    padding-top: clamp(96px, 9vw, 118px) !important;
    padding-bottom: clamp(24px, 3.2vw, 38px) !important;
}

.zt-charter-listing-hero h1 {
    max-width: 760px;
    font-size: clamp(34px, 4.8vw, 58px) !important;
}

.zt-charter-listing-hero p {
    max-width: 720px;
    font-size: clamp(13.5px, 1.22vw, 16px) !important;
}

.zt-charter-listing-section {
    position: relative;
    overflow: hidden;
}

.zt-charter-listing-head {
    display: grid;
    gap: 8px;
    max-width: 760px;
    margin: 0 0 22px;
}

.zt-charter-listing-head > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #125DB9;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(15, 47, 92, .06);
}

.zt-charter-listing-head h2 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 950;
    line-height: 1.08;
}

.zt-charter-listing-head p {
    margin: 0;
    color: #5D718A;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.zt-charter-aircraft-media {
    min-height: 220px;
    background:
        radial-gradient(circle at 74% 12%, rgba(125, 211, 252, .34), transparent 35%),
        linear-gradient(135deg, #EAF3FF 0%, #F8FBFF 50%, #E9FFF9 100%);
}

.zt-charter-aircraft-media::after {
    background: linear-gradient(180deg, rgba(5, 18, 36, .02), rgba(5, 18, 36, .28));
}

.zt-charter-aircraft-media img {
    min-height: 220px;
    padding: 0;
    object-fit: cover !important;
    object-position: center;
    transform: scale(1.01) !important;
    filter: saturate(1.04) contrast(1.02);
}

.zt-charter-aircraft-card:hover .zt-charter-aircraft-media img,
.zt-charter-aircraft-card:focus-within .zt-charter-aircraft-media img {
    transform: scale(1.06) !important;
}

.zt-charter-company-line {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px;
    border: 1px solid rgba(205, 220, 238, .96);
    border-radius: 8px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F5FBFF 100%);
}

.zt-charter-company-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66 0%, #14B8A6 100%);
    color: #FFFFFF;
    box-shadow: 0 12px 22px rgba(20, 184, 166, .22);
}

.zt-charter-company-icon .zt-fa {
    width: 15px;
    height: 15px;
}

.zt-charter-company-line div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-charter-company-line small {
    color: #6A7E96;
    font-size: 9.75px;
    font-weight: 950;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-charter-company-line strong {
    min-width: 0;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.zt-charter-aircraft-actions {
    grid-template-columns: minmax(0, 1fr) !important;
}

.zt-charter-aircraft-actions .zt-private-aircraft-btn-primary {
    justify-content: center;
    min-height: 46px;
    font-size: 13px;
}

.zt-charter-detail-page {
    background: linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 52%, #F8FBFF 100%);
}

.zt-charter-detail-shell {
    grid-template-columns: minmax(0, 1.05fr) minmax(400px, .72fr);
    gap: 24px;
}

.zt-charter-detail-summary-card {
    overflow: hidden;
}

.zt-charter-detail-visual {
    min-height: clamp(250px, 29vw, 390px) !important;
}

.zt-charter-detail-summary-body {
    gap: 16px;
}

.zt-charter-detail-selected-aircraft {
    border-color: rgba(20, 184, 166, .22);
    background: linear-gradient(135deg, rgba(20, 184, 166, .08), #FFFFFF 58%, rgba(24, 119, 242, .07));
}

.zt-charter-detail-note {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(20, 184, 166, .22);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(20, 184, 166, .08), rgba(24, 119, 242, .05));
}

.zt-charter-detail-note > .zt-fa {
    display: inline-block;
    width: 38px;
    height: 38px;
    padding: 10px;
    border-radius: 8px;
    background-color: #0F8E7E;
    color: #0F8E7E;
    box-shadow: 0 12px 24px rgba(20, 184, 166, .18);
}

.zt-charter-detail-note p {
    margin: 0;
    color: #4E627A;
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.55;
}

.zt-charter-detail-form-card {
    position: sticky;
    top: 92px;
}

.zt-charter-detail-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zt-charter-detail-form .zt-private-request-route-pair {
    grid-column: 1 / -1;
}

.zt-charter-detail-form .zt-airport-picker .zt-flag-select-menu {
    width: 100%;
    min-width: min(520px, calc(100vw - 32px));
    max-width: min(520px, calc(100vw - 32px));
}

.zt-charter-detail-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    align-items: center;
}

.zt-charter-change-aircraft {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    margin: 0;
}

.zt-charter-detail-actions .zt-private-request-submit {
    width: 100%;
}

@media (max-width: 1199.98px) {
    .zt-charter-detail-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-charter-detail-form-card {
        position: relative;
        top: auto;
    }
}

@media (max-width: 767.98px) {
    .zt-charter-listing-hero {
        padding-top: 78px !important;
        padding-bottom: 22px !important;
    }

    .zt-charter-detail-form,
    .zt-charter-detail-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-charter-detail-form .zt-airport-picker .zt-flag-select-menu {
        min-width: 100%;
        max-width: 100%;
    }

    .zt-charter-detail-note {
        grid-template-columns: minmax(0, 1fr);
    }
}
.zt-charter-hero-copy {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: fit-content;
    max-width: min(760px, 100%) !important;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08));
    color: rgba(255, 255, 255, .9);
    box-shadow: 0 18px 34px rgba(4, 22, 45, .18);
    backdrop-filter: blur(16px);
}

.zt-charter-hero-copy span {
    color: rgba(255, 255, 255, .9);
    font-size: clamp(12.5px, 1.05vw, 14.5px);
    font-weight: 760;
    line-height: 1.35;
}

.zt-charter-hero-copy strong {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 6px 9px;
    border: 1px solid rgba(125, 211, 252, .34);
    border-radius: 999px;
    background: rgba(6, 35, 68, .28);
    color: #FFFFFF;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-charter-hero-copy strong:nth-of-type(2),
.zt-charter-hero-copy strong:nth-of-type(4) {
    border-color: rgba(20, 184, 166, .36);
    background: rgba(20, 184, 166, .2);
}

@media (max-width: 575.98px) {
    .zt-charter-hero-copy {
        gap: 6px;
        padding: 9px;
    }

    .zt-charter-hero-copy strong {
        min-height: 24px;
        padding: 5px 8px;
        font-size: 9.75px;
    }
}
/* Charter details light cleanup: keep private aviation request layout */
.zt-charter-detail-page .zt-charter-detail-summary-card,
.zt-charter-detail-page .zt-charter-detail-form-card {
    border-color: rgba(187, 207, 232, .98);
}

.zt-charter-detail-page .zt-charter-detail-visual {
    min-height: clamp(320px, 34vw, 470px) !important;
}

.zt-charter-detail-page .zt-charter-detail-visual img {
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(320px, 34vw, 470px) !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.08) !important;
    filter: drop-shadow(0 20px 28px rgba(6, 35, 68, .16));
}

.zt-charter-detail-page .zt-charter-route-card .zt-private-request-route-icon {
    align-self: center;
    justify-self: center;
    margin: 0;
}

.zt-charter-detail-page .zt-private-route-swap-wrap {
    align-self: end;
    min-height: 58px;
    padding-bottom: 0 !important;
}

.zt-charter-detail-page .zt-private-route-swap-wrap .zt-private-swap-btn {
    margin: 0;
    transform: none;
}

@media (max-width: 767.98px) {
    .zt-charter-detail-page .zt-charter-detail-visual,
    .zt-charter-detail-page .zt-charter-detail-visual img {
        min-height: 300px !important;
    }

    .zt-charter-detail-page .zt-private-route-swap-wrap {
        min-height: 42px;
        align-self: center;
    }

    .zt-charter-detail-page .zt-private-route-swap-wrap .zt-private-swap-btn {
        transform: rotate(90deg);
    }
}
/* Charter selected-aircraft visibility fix */
.zt-charter-detail-page .zt-charter-detail-selected-aircraft {
    border-color: rgba(20, 184, 166, .24) !important;
    background: linear-gradient(135deg, #052F66 0%, #0C4FA3 54%, #0F8E7E 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 18px 32px rgba(24, 119, 242, .18) !important;
}

.zt-charter-detail-page .zt-charter-detail-selected-aircraft > span {
    color: rgba(255, 255, 255, .76) !important;
}

.zt-charter-detail-page .zt-charter-detail-selected-aircraft > strong {
    color: #FFFFFF !important;
}

.zt-charter-detail-page .zt-charter-detail-selected-aircraft small {
    border-color: rgba(255, 255, 255, .24) !important;
    background: rgba(255, 255, 255, .14) !important;
    color: rgba(255, 255, 255, .94) !important;
}
/* Charter route summary icon alignment */
@media (min-width: 768px) {
    .zt-charter-detail-page .zt-charter-route-card .zt-private-request-route-icon {
        transform: translateX(-48px) !important;
    }
}
/* Charter image booking-rate badge */
.zt-charter-detail-page .zt-charter-detail-visual .zt-private-request-visual-rate {
    left: 18px;
    right: 18px;
    bottom: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(125, 211, 252, .32);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(5, 18, 36, .82), rgba(7, 59, 54, .76));
    box-shadow: 0 18px 36px rgba(5, 18, 36, .22), inset 0 1px 0 rgba(255, 255, 255, .14);
    backdrop-filter: blur(18px);
}

.zt-charter-detail-page .zt-charter-detail-visual .zt-private-request-visual-rate span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .82) !important;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.zt-charter-detail-page .zt-charter-detail-visual .zt-private-request-visual-rate strong {
    color: #FFFFFF !important;
    font-size: clamp(16px, 1.55vw, 21px);
    font-weight: 950;
    line-height: 1.12;
    text-align: right;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .22);
}

@media (max-width: 575.98px) {
    .zt-charter-detail-page .zt-charter-detail-visual .zt-private-request-visual-rate {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .zt-charter-detail-page .zt-charter-detail-visual .zt-private-request-visual-rate strong {
        text-align: left;
    }
}
/* Private jet image booking-rate badge */
.zt-private-request-page:not(.zt-charter-detail-page) .zt-private-request-visual .zt-private-request-visual-rate {
    left: 18px;
    right: 18px;
    bottom: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(125, 211, 252, .32);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(5, 18, 36, .82), rgba(7, 59, 54, .76));
    box-shadow: 0 18px 36px rgba(5, 18, 36, .22), inset 0 1px 0 rgba(255, 255, 255, .14);
    backdrop-filter: blur(18px);
}

.zt-private-request-page:not(.zt-charter-detail-page) .zt-private-request-visual .zt-private-request-visual-rate span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .82) !important;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.zt-private-request-page:not(.zt-charter-detail-page) .zt-private-request-visual .zt-private-request-visual-rate strong {
    color: #FFFFFF !important;
    font-size: clamp(16px, 1.55vw, 21px);
    font-weight: 950;
    line-height: 1.12;
    text-align: right;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .22);
}

@media (max-width: 575.98px) {
    .zt-private-request-page:not(.zt-charter-detail-page) .zt-private-request-visual .zt-private-request-visual-rate {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .zt-private-request-page:not(.zt-charter-detail-page) .zt-private-request-visual .zt-private-request-visual-rate strong {
        text-align: left;
    }
}
/* Charter detail aircraft image full fit */
.zt-charter-detail-page .zt-charter-detail-visual img {
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.08) !important;
}
/* Compact travel deals hero */
.zt-deals-hero {
    padding: clamp(82px, 7.2vw, 98px) 0 clamp(20px, 2.4vw, 30px) !important;
    background:
        radial-gradient(circle at 82% 22%, rgba(20, 184, 166, .32), transparent 30%),
        linear-gradient(135deg, #04162D 0%, #073B66 52%, #0F8E7E 100%) !important;
}

.zt-deals-hero .zt-eyebrow {
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .88);
    backdrop-filter: blur(14px);
}

.zt-deals-hero h1 {
    margin-top: 8px;
    font-size: clamp(30px, 3.8vw, 46px) !important;
    line-height: 1.05;
}

.zt-deals-hero p {
    display: inline-flex;
    width: fit-content;
    max-width: min(720px, 100%) !important;
    margin-top: 8px !important;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .86) !important;
    font-size: clamp(13px, 1.05vw, 15px) !important;
    font-weight: 750;
    line-height: 1.35;
    backdrop-filter: blur(14px);
}

@media (max-width: 575.98px) {
    .zt-deals-hero {
        padding-top: 78px !important;
        padding-bottom: 22px !important;
    }
}
/* Deals page upgraded offer cards */
.zt-deals-page-section {
    padding-top: clamp(34px, 4vw, 54px) !important;
    padding-bottom: clamp(54px, 6vw, 78px) !important;
}

.zt-deals-page-card {
    border-color: rgba(199, 214, 233, .96);
    box-shadow: 0 18px 42px rgba(11, 31, 58, .08);
}

.zt-deals-page-card .zt-deal-media {
    aspect-ratio: 16 / 8.8;
}

.zt-deals-page-card .zt-deal-market {
    min-height: 32px;
    border-radius: 999px;
    font-size: 11.5px;
}

.zt-deals-page-card .zt-deal-body {
    gap: 12px;
    padding: 20px;
}

.zt-deals-page-card .zt-deal-label {
    border-color: rgba(24, 119, 242, .16);
    background: linear-gradient(135deg, #EFF6FF, #F0FDFA);
    color: #125DB9;
}

.zt-deals-page-card .zt-deal-body h3 {
    font-size: clamp(20px, 1.65vw, 24px);
}

.zt-deals-page-card .zt-deal-body p {
    color: #52677F;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.zt-deals-page-card .zt-deal-footer {
    margin-top: auto;
    padding: 12px;
    border-color: rgba(207, 219, 234, .96);
    background: linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 58%, rgba(20, 184, 166, .07) 100%);
}

.zt-deals-page-card .zt-deal-footer small {
    color: #697B91;
    letter-spacing: .06em;
}

.zt-deals-page-card .zt-deal-footer strong {
    color: #071E3A;
    font-size: 19px;
}

.zt-deals-page-card .zt-deal-link {
    background: linear-gradient(135deg, #052F66, #1877F2);
    box-shadow: 0 12px 22px rgba(24, 119, 242, .18);
}

.zt-deals-page-card .zt-deal-link i {
    font-size: 14px;
    -webkit-text-stroke: .35px currentColor;
}

@media (max-width: 575.98px) {
    .zt-deals-page-card .zt-deal-body {
        padding: 18px;
    }

    .zt-deals-page-card .zt-deal-footer strong {
        font-size: 18px;
    }
}
/* Travel support page upgrade */
.zt-support-hero {
    padding: clamp(88px, 8vw, 112px) 0 clamp(26px, 3.2vw, 40px) !important;
    background:
        radial-gradient(circle at 82% 20%, rgba(125, 211, 252, .28), transparent 30%),
        linear-gradient(135deg, #04162D 0%, #073B66 54%, #0F8E7E 100%) !important;
}

.zt-support-hero .zt-eyebrow {
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .9);
    backdrop-filter: blur(14px);
}

.zt-support-hero h1 {
    margin-top: 10px;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.05;
}

.zt-support-hero p {
    display: inline-flex;
    width: fit-content;
    max-width: min(820px, 100%) !important;
    margin-top: 10px !important;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .86) !important;
    font-size: clamp(13px, 1.05vw, 15px) !important;
    font-weight: 750;
    line-height: 1.4;
    backdrop-filter: blur(14px);
}

.zt-support-page-section {
    background: linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 54%, #F8FBFF 100%);
}

.zt-support-shell {
    display: grid;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.zt-support-coverage-card,
.zt-support-form-card {
    border: 1px solid rgba(193, 211, 233, .96);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 20px 48px rgba(11, 31, 58, .09);
}

.zt-support-coverage-card {
    padding: clamp(20px, 2.4vw, 28px);
}

.zt-support-section-head,
.zt-support-form-head {
    display: grid;
    gap: 9px;
    margin-bottom: 16px;
}

.zt-support-section-head > span,
.zt-support-form-head > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 30px;
    padding: 7px 10px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(20, 184, 166, .08));
    color: #125DB9;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-support-section-head h2,
.zt-support-form-head h2,
.zt-support-success h2 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(24px, 2.35vw, 34px);
    font-weight: 950;
    line-height: 1.08;
}

.zt-support-section-head p,
.zt-support-form-head p,
.zt-support-success p {
    margin: 0;
    color: #566B84;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.zt-support-coverage-grid {
    display: grid;
    gap: 11px;
}

.zt-support-coverage-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid rgba(215, 226, 241, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zt-support-coverage-item:hover {
    transform: translateY(-2px);
    border-color: rgba(24, 119, 242, .24);
    box-shadow: 0 14px 28px rgba(11, 31, 58, .08);
}

.zt-support-coverage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: linear-gradient(135deg, #052F66, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 12px 22px rgba(24, 119, 242, .18);
}

.zt-support-coverage-icon i {
    font-size: 18px;
    -webkit-text-stroke: .3px currentColor;
}

.zt-support-coverage-item strong {
    display: block;
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.18;
}

.zt-support-coverage-item p {
    margin: 6px 0 0;
    color: #5C7089;
    font-size: 12.8px;
    font-weight: 720;
    line-height: 1.45;
}

.zt-support-form-card {
    padding: clamp(20px, 2.5vw, 30px);
}

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

.zt-support-field {
    position: relative;
    min-width: 0;
}

.zt-support-field-full,
.zt-support-actions {
    grid-column: 1 / -1;
}

.zt-support-field .form-label {
    margin: 0 0 7px;
    color: #263D57;
    font-size: 12px;
    font-weight: 950;
}

.zt-support-field > i {
    position: absolute;
    left: 13px;
    top: 40px;
    z-index: 2;
    color: #1877F2;
    font-size: 15px;
    -webkit-text-stroke: .25px currentColor;
}

.zt-support-field .form-control {
    min-height: 52px;
    padding-left: 42px;
    border: 1px solid rgba(207, 219, 235, .98);
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #071E3A;
    font-size: 14px;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.zt-support-field textarea.form-control {
    min-height: 154px;
    padding-top: 14px;
    resize: vertical;
}

.zt-support-field .form-control::placeholder {
    color: #8A9AB0;
    font-size: 12.5px;
    font-weight: 650;
}

.zt-support-field .form-control:focus {
    border-color: rgba(24, 119, 242, .46);
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .11);
}

.zt-support-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

.zt-support-submit,
.zt-support-secondary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 12px 16px;
    border: 0;
    border-radius: 8px;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 950;
    line-height: 1;
}

.zt-support-submit {
    min-width: 230px;
    background: linear-gradient(135deg, #052F66, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .22);
}

.zt-support-submit:hover,
.zt-support-submit:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(24, 119, 242, .28);
}

.zt-support-alert {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(220, 38, 38, .2);
    border-radius: 8px;
    background: #FEF2F2;
    color: #991B1B;
    font-size: 13px;
    font-weight: 800;
}

.zt-support-alert p {
    margin: 0;
}

.zt-support-success {
    display: grid;
    justify-items: center;
    gap: 13px;
    padding: clamp(20px, 4vw, 42px);
    text-align: center;
}

.zt-support-success > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0F8E7E, #14B8A6);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(20, 184, 166, .22);
}

.zt-support-success > span i {
    font-size: 30px;
}

.zt-support-secondary-link {
    border: 1px solid rgba(207, 219, 235, .98);
    background: #FFFFFF;
    color: #263D57;
}

@media (max-width: 991.98px) {
    .zt-support-shell {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575.98px) {
    .zt-support-hero {
        padding-top: 82px !important;
        padding-bottom: 28px !important;
    }

    .zt-support-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-support-actions,
    .zt-support-submit {
        width: 100%;
    }
}
/* Support page final spacing and polish */
.zt-support-page-section {
    padding-top: clamp(112px, 9vw, 132px) !important;
    padding-bottom: clamp(58px, 6vw, 84px) !important;
    background:
        radial-gradient(circle at 12% 12%, rgba(24, 119, 242, .08), transparent 28%),
        linear-gradient(180deg, #F6FAFF 0%, #FFFFFF 54%, #F8FBFF 100%) !important;
}

.zt-support-shell {
    gap: 24px !important;
}

.zt-support-coverage-card,
.zt-support-form-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(184, 204, 230, .98) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
    box-shadow: 0 24px 58px rgba(11, 31, 58, .1) !important;
}

.zt-support-coverage-card::before,
.zt-support-form-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #1877F2, #14B8A6, #7DD3FC);
}

.zt-support-coverage-card,
.zt-support-form-card {
    padding-top: clamp(24px, 2.8vw, 32px) !important;
}

.zt-support-section-head > span,
.zt-support-form-head > span {
    min-height: 32px;
    border-color: rgba(20, 184, 166, .2) !important;
    background: linear-gradient(135deg, rgba(20, 184, 166, .1), rgba(24, 119, 242, .08)) !important;
    color: #0B6F86 !important;
}

.zt-support-section-head h2,
.zt-support-form-head h2 {
    font-size: clamp(25px, 2.25vw, 32px) !important;
}

.zt-support-section-head p,
.zt-support-form-head p {
    max-width: 680px;
    color: #4E637C !important;
    font-size: 14.2px !important;
    font-weight: 760 !important;
}

.zt-support-coverage-grid {
    gap: 12px !important;
}

.zt-support-coverage-item {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 13px !important;
    min-height: 112px;
    padding: 14px !important;
    border-color: rgba(207, 221, 238, .96) !important;
    background: linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 62%, rgba(20, 184, 166, .06) 100%) !important;
}

.zt-support-coverage-icon {
    width: 46px !important;
    height: 46px !important;
    background: linear-gradient(135deg, #052F66 0%, #1877F2 58%, #14B8A6 100%) !important;
}

.zt-support-coverage-item strong {
    color: #071E3A !important;
    font-size: 15.5px !important;
}

.zt-support-coverage-item p {
    color: #52677F !important;
    font-size: 13px !important;
    font-weight: 760 !important;
}

.zt-support-form {
    gap: 14px !important;
}

.zt-support-field .form-control {
    border-color: rgba(199, 214, 233, .98) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FCFF 100%) !important;
}

.zt-support-field .form-control:hover {
    border-color: rgba(24, 119, 242, .28) !important;
}

.zt-support-submit {
    background: linear-gradient(135deg, #052F66 0%, #1877F2 70%, #14B8A6 100%) !important;
}

@media (max-width: 575.98px) {
    .zt-support-page-section {
        padding-top: 96px !important;
        padding-bottom: 58px !important;
    }

    .zt-support-coverage-item {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        min-height: auto;
    }
}
/* Compact darker flight search surface for home and results pages */
.zt-flight-search-panel {
    border-color: #AFC1D5 !important;
    background: linear-gradient(180deg, #EEF4FA 0%, #E8F0F8 100%) !important;
    box-shadow: 0 22px 54px rgba(10, 31, 58, .16) !important;
}

.zt-flight-search-panel .zt-booking-tabs,
.zt-flight-search-panel .zt-flight-service-tabs {
    gap: 5px !important;
    padding: 8px 9px !important;
    background: linear-gradient(180deg, #E7EFF8, #DDE8F3) !important;
    border-bottom-color: rgba(160, 178, 201, .72) !important;
}

.zt-flight-search-panel .zt-booking-tabs .nav-link,
.zt-flight-search-panel .zt-flight-service-tab {
    min-height: 34px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
}

.zt-flight-search-panel .zt-booking-tabs .nav-link i,
.zt-flight-search-panel .zt-flight-service-tab i {
    width: 19px !important;
    height: 19px !important;
    font-size: 13px !important;
}

.zt-flight-search-panel .zt-booking-body,
.zt-flight-search-page .zt-flight-search-panel .zt-booking-body {
    padding: clamp(13px, 1.55vw, 19px) !important;
}

.zt-flight-engine .zt-flight-search-form {
    gap: 8px !important;
}

.zt-flight-engine .zt-flight-search-head {
    gap: 7px !important;
    margin-bottom: 0 !important;
}

.zt-flight-engine .zt-trip-switch,
.zt-flight-engine .zt-trip-toggle {
    padding: 3px !important;
    border-color: #B8C9DC !important;
    background: #DDE8F4 !important;
}

.zt-flight-engine .zt-trip-toggle label {
    min-height: 29px !important;
    padding: 5px 10px !important;
    font-size: 11.25px !important;
}

.zt-flight-engine .zt-flight-helper,
.zt-flight-engine .zt-search-note.zt-flight-helper {
    min-height: 29px !important;
    max-width: none !important;
    padding: 5px 9px !important;
    border-color: rgba(172, 190, 212, .82) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: #314A66 !important;
    font-size: 11.75px !important;
    line-height: 1.18 !important;
}

.zt-flight-engine .zt-flight-search-grid {
    gap: 8px 9px !important;
}

.zt-flight-engine .zt-flight-field .form-label {
    margin-bottom: 3px !important;
    font-size: 10.25px !important;
}

.zt-flight-engine .zt-flight-field > i {
    top: 31px !important;
    left: 13px !important;
    font-size: 13px !important;
}

.zt-flight-engine .zt-flight-field .form-control,
.zt-flight-engine .zt-flight-field .form-select,
.zt-flight-engine .zt-flight-field .zt-flag-select-button,
.zt-flight-engine .zt-flight-field .zt-passenger-toggle,
.zt-flight-engine .zt-flight-search-submit {
    min-height: 51px !important;
    height: 51px !important;
    border-color: #B7C8DA !important;
    border-radius: 11px !important;
}

.zt-flight-engine .zt-flight-field .form-control,
.zt-flight-engine .zt-flight-field .form-select {
    padding-left: 38px !important;
    font-size: 12.25px !important;
}

.zt-flight-engine .zt-flight-date-pair .form-control {
    padding: 13px 36px 8px 38px !important;
}

.zt-flight-engine .zt-flight-field .zt-flag-select-button {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.zt-flight-engine .zt-passenger-toggle {
    padding: 6px 9px 6px 38px !important;
}

.zt-flight-engine .zt-passenger-toggle strong {
    min-width: 50px !important;
    padding: 5px 8px !important;
}

.zt-flight-engine .zt-airport-field .zt-flag-badge {
    flex-basis: 26px !important;
    width: 26px !important;
    height: 26px !important;
}

.zt-flight-engine .zt-picker-airport-code {
    font-size: 13px !important;
}

.zt-flight-engine .zt-picker-airport-name {
    font-size: 10.75px !important;
}

.zt-flight-engine .zt-flight-swap-btn,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn {
    width: 39px !important;
    height: 39px !important;
}

.zt-flight-engine .zt-flight-search-submit {
    box-shadow: 0 12px 24px rgba(8, 74, 156, .28) !important;
}

.zt-flight-engine-results .zt-flight-service-tabs {
    margin: -5px -5px 10px !important;
    border-radius: 14px 14px 0 0 !important;
}

@media (min-width: 992px) {
    .zt-flight-engine .zt-flight-helper,
    .zt-flight-engine .zt-search-note.zt-flight-helper {
        white-space: nowrap;
    }
}

@media (max-width: 767.98px) {
    .zt-flight-search-panel .zt-booking-body,
    .zt-flight-search-page .zt-flight-search-panel .zt-booking-body {
        padding: 12px !important;
    }

    .zt-flight-engine .zt-flight-search-grid {
        gap: 8px !important;
    }

    .zt-flight-engine .zt-flight-field .form-control,
    .zt-flight-engine .zt-flight-field .form-select,
    .zt-flight-engine .zt-flight-field .zt-flag-select-button,
    .zt-flight-engine .zt-flight-field .zt-passenger-toggle,
    .zt-flight-engine .zt-flight-search-submit {
        min-height: 50px !important;
        height: 50px !important;
    }
}
/* Flight date labels outside the visual date container */
.zt-flight-engine .zt-flight-date-pair,
#flights-pane .zt-date-pair {
    align-items: end !important;
    gap: 8px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.zt-flight-engine .zt-flight-date-pair .zt-field,
#flights-pane .zt-date-pair .zt-field {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.zt-flight-engine .zt-flight-date-pair .zt-field + .zt-field,
#flights-pane .zt-date-pair .zt-field + .zt-field {
    border-left: 0 !important;
    border-top: 0 !important;
}

.zt-flight-engine .zt-date-field {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
}

.zt-flight-engine .zt-date-field .form-label {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

.zt-flight-engine .zt-date-field > i {
    display: none !important;
}

.zt-flight-engine .zt-date-input-shell {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 51px !important;
    min-height: 51px !important;
    border: 1px solid #B7C8DA !important;
    border-radius: 11px !important;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF) !important;
    overflow: hidden !important;
}

.zt-flight-engine .zt-date-input-shell .form-control,
.zt-flight-engine .zt-date-field .zt-date-input-shell .form-control,
#flights-pane .zt-date-pair .zt-date-input-shell .form-control {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 49px !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: normal !important;
}

.zt-flight-engine .zt-date-input-shell .form-control:focus {
    box-shadow: none !important;
}

.zt-flight-engine .zt-date-input-shell:focus-within {
    border-color: rgba(24, 119, 242, .72) !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 .2rem rgba(24, 119, 242, .12) !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-datetime-edit {
    display: flex;
    align-items: center;
    min-height: 100%;
    padding: 0;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-calendar-picker-indicator {
    align-self: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-date-input-shell {
        height: 50px !important;
        min-height: 50px !important;
    }

    .zt-flight-engine .zt-date-input-shell .form-control {
        min-height: 48px !important;
        height: 48px !important;
    }
}
/* Flight From/To swap icon vertical-only shift */
.zt-flight-engine .zt-flight-swap-btn,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn {
    transform: translateY(5px) !important;
}

.zt-flight-engine .zt-flight-swap-btn:hover,
.zt-flight-engine .zt-flight-swap-btn:focus,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn:hover,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn:focus {
    transform: translateY(5px) rotate(180deg) !important;
}
/* Flight date text and calendar spacing refinement */
.zt-flight-engine .zt-date-input-shell .form-control,
.zt-flight-engine .zt-date-field .zt-date-input-shell .form-control,
#flights-pane .zt-date-pair .zt-date-input-shell .form-control {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 8px !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-datetime-edit {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-calendar-picker-indicator {
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    margin-left: 6px !important;
    margin-right: 0 !important;
}
/* Flight date picker right-edge alignment */
.zt-flight-engine .zt-date-input-shell .form-control,
.zt-flight-engine .zt-date-field .zt-date-input-shell .form-control,
#flights-pane .zt-date-pair .zt-date-input-shell .form-control {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 3px !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-datetime-edit {
    flex: 0 1 auto !important;
    min-width: 0 !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-calendar-picker-indicator {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: auto !important;
    margin-right: -1px !important;
}
/* Flight date pair compact right alignment */
@media (min-width: 768px) {
    .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-flight-date-pair {
        justify-self: end !important;
        width: min(100%, 310px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        justify-self: end !important;
        width: min(100%, 148px) !important;
    }

    .zt-flight-engine .zt-flight-date-pair .zt-date-field {
        min-width: 0 !important;
    }
}

.zt-flight-engine .zt-date-input-shell {
    width: 100% !important;
}

.zt-flight-engine .zt-date-input-shell .form-control,
.zt-flight-engine .zt-date-field .zt-date-input-shell .form-control,
#flights-pane .zt-date-pair .zt-date-input-shell .form-control {
    padding-left: 10px !important;
    padding-right: 2px !important;
}

.zt-flight-engine .zt-date-input-shell .form-control::-webkit-calendar-picker-indicator {
    margin-left: 3px !important;
    margin-right: -2px !important;
}

@media (max-width: 767.98px) {
    .zt-flight-engine .zt-flight-date-pair {
        justify-self: stretch !important;
        width: 100% !important;
    }
}
/* Flight route visual expansion without row changes */
@media (min-width: 992px) {
    .zt-flight-engine .zt-flight-route-pair {
        justify-self: start !important;
        width: calc(100% + clamp(142px, 11vw, 220px)) !important;
        max-width: calc(100% + clamp(142px, 11vw, 220px)) !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        position: relative !important;
        z-index: 8 !important;
    }

    .zt-flight-engine .zt-flight-route-pair .zt-airport-field,
    .zt-flight-engine .zt-flight-route-pair .zt-airport-picker,
    .zt-flight-engine .zt-flight-route-pair .zt-flag-select-button {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .zt-flight-engine .zt-flight-route-pair .zt-route-swap-wrap {
        justify-content: center !important;
        align-items: end !important;
    }
}

.zt-flight-engine .zt-flight-route-pair .zt-airport-picker .zt-flag-select-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-up .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}

@media (max-width: 991.98px) {
    .zt-flight-engine .zt-flight-route-pair {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Flight airport dropdown top-layer refinement */
.zt-flight-engine .zt-flight-route-pair {
    z-index: 90 !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-airport-field,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker,
.zt-flight-engine .zt-flight-route-pair .zt-flag-select {
    overflow: visible !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-open {
    z-index: 18000 !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-airport-picker .zt-flag-select-menu {
    z-index: 18050 !important;
    box-shadow: 0 24px 62px rgba(7, 30, 58, .24) !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-up .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}
/* Flight dropdown global top-layer refinement */
.zt-flight-search-panel,
.zt-flight-search-panel .zt-booking-body,
.zt-flight-engine,
.zt-flight-engine .zt-flight-search-form,
.zt-flight-engine .zt-flight-search-grid,
.zt-flight-engine .zt-flight-field,
.zt-flight-engine .zt-flight-route-pair,
.zt-flight-engine .zt-flight-date-pair,
.zt-flight-engine .zt-airport-field,
.zt-flight-engine .zt-airport-picker,
.zt-flight-engine .zt-passenger-field,
.zt-flight-engine .zt-cabin-field,
.zt-flight-engine .zt-currency-field {
    overflow: visible !important;
}

.zt-flight-engine .zt-flag-select,
.zt-flight-engine .zt-passenger-field {
    position: relative !important;
}

.zt-flight-engine .zt-flag-select.is-open,
.zt-flight-engine .zt-passenger-field.is-open {
    z-index: 22000 !important;
}

.zt-flight-engine .zt-flag-select-menu,
.zt-flight-engine .zt-passenger-menu {
    z-index: 22100 !important;
    box-shadow: 0 24px 62px rgba(7, 30, 58, 0.24) !important;
}

.zt-flight-engine .zt-flight-field .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker .zt-flag-select-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.zt-flight-engine .zt-flag-select.is-menu-up .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-up .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-flag-select.is-menu-down .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-flag-select.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}

.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu {
    top: auto !important;
    bottom: calc(100% - 24px) !important;
}

.zt-flight-engine .zt-passenger-field.is-menu-down .zt-passenger-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}
/* Flight dropdown no-jump upward placement */
.zt-flight-engine .zt-flag-select.is-open .zt-flag-select-menu,
.zt-flight-engine .zt-flag-select.is-menu-up .zt-flag-select-menu,
.zt-flight-engine .zt-flag-select.is-menu-down .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-passenger-field.is-open .zt-passenger-menu,
.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu,
.zt-flight-engine .zt-passenger-field.is-menu-down .zt-passenger-menu {
    top: auto !important;
    bottom: calc(100% - 24px) !important;
}

.zt-flight-engine .zt-cabin-field .zt-flag-select-menu,
.zt-flight-engine .zt-currency-field .zt-flag-select-menu,
.zt-flight-engine .zt-passenger-menu {
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
}

.zt-flight-engine .zt-cabin-field .zt-flag-select-option,
.zt-flight-engine .zt-currency-field .zt-flag-select-option {
    min-height: 40px !important;
}

.zt-flight-engine .zt-passenger-field.is-open,
.zt-flight-engine .zt-cabin-field .zt-flag-select.is-open,
.zt-flight-engine .zt-currency-field .zt-flag-select.is-open,
.zt-flight-engine .zt-airport-field .zt-flag-select.is-open {
    z-index: 26000 !important;
}

.zt-flight-engine .zt-passenger-menu,
.zt-flight-engine .zt-flag-select-menu {
    z-index: 26100 !important;
}
/* Flight airport picker navbar-safe correction */
.zt-flight-engine .zt-flight-swap-btn,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn {
    transform: translateY(-3px) !important;
}

.zt-flight-engine .zt-flight-swap-btn:hover,
.zt-flight-engine .zt-flight-swap-btn:focus,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn:hover,
.zt-flight-engine .zt-route-pair .zt-flight-swap-btn:focus {
    transform: translateY(-3px) rotate(180deg) !important;
}

.zt-flight-engine .zt-airport-picker.is-open,
.zt-flight-engine .zt-airport-field .zt-airport-picker.is-open,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker.is-open {
    z-index: 32000 !important;
}

.zt-flight-engine .zt-airport-picker .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker .zt-flag-select-menu {
    z-index: 32100 !important;
    max-height: min(360px, calc(100vh - 132px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

.zt-flight-engine .zt-airport-picker.is-menu-up .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker.is-menu-up .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-airport-picker.is-menu-down .zt-flag-select-menu,
.zt-flight-engine .zt-flight-route-pair .zt-airport-picker.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}
/* Charter detail image picker and email width */
.zt-charter-detail-form .zt-charter-email-field {
    grid-column: 1 / -1;
}

.zt-charter-detail-form .zt-charter-type-field .zt-flag-badge[data-picker-badge="aircraft"] {
    overflow: hidden;
    background: #F3F8FF;
}

.zt-charter-detail-form .zt-charter-type-field .zt-flag-badge[data-picker-badge="aircraft"] img,
.zt-charter-detail-form .zt-charter-type-field .zt-flag-select-option .zt-flag-badge[data-picker-badge="aircraft"] img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: rotate(-8deg) scale(1.12);
}

.zt-charter-detail-form .zt-charter-type-field .zt-flag-select-option {
    min-height: 44px;
}

.zt-charter-detail-form .zt-charter-type-field .zt-flag-select-option .zt-flag-badge[data-picker-badge="aircraft"] {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 10px;
}
/* Charter detail full-name placeholder refinement */
.zt-charter-detail-form #name::placeholder {
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
}
/* Enterprise transfer page upgrade */
.zt-transfer-hero {
    min-height: auto;
    padding-top: 112px;
    padding-bottom: 86px;
}

.zt-transfer-hero::before {
    background:
        linear-gradient(90deg, rgba(5, 18, 35, .95) 0%, rgba(8, 31, 58, .82) 48%, rgba(8, 31, 58, .45) 100%),
        var(--zt-ride-image) center/cover no-repeat;
}

.zt-transfer-hero h1 {
    max-width: 740px;
    margin: 12px 0 12px;
    color: #FFFFFF;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.02;
    letter-spacing: 0;
}

.zt-transfer-hero p {
    max-width: 720px;
    font-size: 16px;
    line-height: 1.6;
}

.zt-transfer-hero-pills span {
    min-height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.zt-transfer-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 640px;
    margin-top: 18px;
}

.zt-transfer-hero-metrics span {
    display: grid;
    gap: 3px;
    min-height: 70px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(14px);
}

.zt-transfer-hero-metrics strong {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-transfer-hero-metrics small {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.zt-transfer-visual {
    display: flex;
    align-items: flex-end;
    min-height: 360px;
    padding: 18px;
    border-radius: 8px;
    background-position: center;
}

.zt-transfer-visual-card {
    width: min(100%, 420px);
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    background: rgba(5, 18, 35, .74);
    color: #FFFFFF;
    box-shadow: 0 24px 54px rgba(0, 0, 0, .28);
    backdrop-filter: blur(18px);
}

.zt-transfer-visual-card > span {
    display: block;
    color: #9FD4FF;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-transfer-visual-card > strong {
    display: block;
    margin: 7px 0 12px;
    font-size: 20px;
    line-height: 1.2;
}

.zt-transfer-visual-route {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.zt-transfer-visual-route b,
.zt-transfer-visual-route i {
    display: inline-grid;
    min-height: 34px;
    align-items: center;
    padding: 7px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    color: #FFFFFF;
}

.zt-transfer-visual-card small {
    color: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 800;
}

.zt-transfer-page-body {
    background: #F4F7FB;
}

.zt-transfer-search {
    margin-top: -48px;
    overflow: visible;
    border: 1px solid rgba(188, 205, 226, .86);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 28px 70px rgba(7, 30, 58, .16);
}

.zt-transfer-search .zt-panel-body,
.zt-transfer-search .zt-grid,
.zt-transfer-search .zt-field {
    overflow: visible;
}

.zt-transfer-search-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(210, 221, 235, .86);
}

.zt-transfer-search-head span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #1877F2;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-transfer-search-head h2 {
    margin: 4px 0 0;
    color: #071E3A;
    font-size: 22px;
    line-height: 1.12;
}

.zt-transfer-search-head p {
    max-width: 560px;
    margin: 0;
    color: #5C6F86;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
}

.zt-transfer-search .zt-field {
    min-height: 76px;
    border-radius: 8px;
    background: #F9FBFE;
}

.zt-transfer-search .zt-field .form-label {
    font-size: 11px;
    font-weight: 950;
}

.zt-transfer-search .form-control,
.zt-transfer-search .form-select,
.zt-transfer-search .zt-flag-select-button {
    min-height: 45px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 850;
}

.zt-transfer-search .zt-flag-select,
.zt-transfer-search .zt-airport-picker {
    width: 100%;
}

.zt-transfer-search .zt-flag-select-menu {
    z-index: 24000 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    border-radius: 8px;
}

.zt-transfer-search .zt-airport-picker .zt-flag-select-menu {
    max-height: 360px;
}

.zt-transfer-search .zt-date-field > i {
    top: auto;
    bottom: 15px;
}

.zt-transfer-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 950;
}

.zt-transfer-section-head {
    align-items: end;
    padding-top: 8px;
}

.zt-transfer-section-head .zt-section-kicker {
    color: #1877F2;
}

.zt-transfer-zone-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.zt-transfer-zone-card {
    min-height: 210px;
    padding: 15px;
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFF 100%);
}

.zt-transfer-zone-card::after {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #1877F2;
    opacity: 0;
    transform: scaleX(.45);
    transform-origin: left center;
    transition: opacity .2s ease, transform .2s ease;
}

.zt-transfer-zone-card:hover::after,
.zt-transfer-zone-card.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.zt-transfer-zone-card .zt-zone-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 8px;
    background: #EAF3FF;
}

.zt-transfer-zone-card strong {
    font-size: 15.5px;
}

.zt-transfer-zone-card p {
    margin: 0;
    color: #5C6F86;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.zt-zone-card-foot {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
}

.zt-zone-card-foot small {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #496177;
}

.zt-zone-card-foot b {
    color: #071E3A;
    white-space: nowrap;
}

.zt-transfer-vehicle-card {
    border-radius: 8px;
    border-color: rgba(202, 215, 231, .92);
    background: #FFFFFF;
    box-shadow: 0 18px 48px rgba(7, 30, 58, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.zt-transfer-vehicle-card:hover,
.zt-transfer-vehicle-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(24, 119, 242, .38);
    box-shadow: 0 26px 62px rgba(7, 30, 58, .13);
}

.zt-transfer-vehicle-card .zt-vehicle-media {
    aspect-ratio: 16 / 9;
    border-radius: 8px 8px 0 0;
}

.zt-transfer-vehicle-card .zt-vehicle-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 30, 58, 0) 45%, rgba(7, 30, 58, .62) 100%);
}

.zt-transfer-vehicle-card .zt-vehicle-media span {
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
}

.zt-transfer-vehicle-card .zt-card-body {
    padding: 18px;
}

.zt-transfer-vehicle-price-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.zt-transfer-vehicle-card .zt-vehicle-price {
    display: grid;
    gap: 2px;
    margin: 0;
}

.zt-transfer-vehicle-card .zt-vehicle-price small {
    color: #64748B;
    font-size: 10.5px;
    letter-spacing: 0;
}

.zt-transfer-vehicle-card .zt-vehicle-price strong {
    color: #071E3A;
    font-size: 20px;
    line-height: 1.05;
}

.zt-transfer-vehicle-class {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 8px;
    background: #ECFDF5;
    color: #116B45;
    font-size: 11px;
    font-weight: 950;
}

.zt-transfer-vehicle-card h3 {
    margin-bottom: 8px;
    color: #071E3A;
    font-size: 19px;
    line-height: 1.2;
}

.zt-transfer-vehicle-models {
    min-height: 42px;
    margin-bottom: 14px;
    color: #5C6F86;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
}

.zt-transfer-spec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.zt-transfer-spec-grid span {
    display: grid;
    gap: 4px;
    min-height: 78px;
    padding: 10px;
    border: 1px solid rgba(210, 221, 235, .88);
    border-radius: 8px;
    background: #F8FBFF;
}

.zt-transfer-spec-grid i {
    color: #1877F2;
    font-size: 16px;
}

.zt-transfer-spec-grid b {
    color: #071E3A;
    font-size: 12px;
    font-weight: 950;
}

.zt-transfer-spec-grid small {
    color: #6B7F96;
    font-size: 10.5px;
    font-weight: 850;
    text-transform: uppercase;
}

.zt-transfer-vehicle-card .zt-vehicle-note {
    display: flex;
    gap: 8px;
    min-height: 74px;
    border-radius: 8px;
    background: #F5F8FC;
    font-size: 12.5px;
    line-height: 1.45;
}

.zt-transfer-vehicle-card .zt-vehicle-note i {
    color: #16A34A;
    font-size: 16px;
    margin-top: 1px;
}

.zt-transfer-book-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    border-radius: 8px;
    font-weight: 950;
}

.zt-transfer-method-grid {
    gap: 14px;
}

.zt-transfer-market-method {
    min-height: 232px;
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-transfer-market-method i {
    border-radius: 8px;
    color: #0B3A70;
}

.zt-transfer-market-method h3 {
    font-size: 17px;
}

.zt-transfer-market-method p {
    line-height: 1.55;
}

@media (max-width: 1399.98px) {
    .zt-transfer-zone-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .zt-transfer-hero {
        padding-top: 96px;
        padding-bottom: 58px;
    }

    .zt-transfer-search-head {
        display: grid;
        align-items: start;
    }

    .zt-transfer-zone-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-transfer-hero {
        padding-top: 88px;
        padding-bottom: 38px;
    }

    .zt-transfer-hero h1 {
        font-size: 32px;
    }

    .zt-transfer-hero-metrics,
    .zt-transfer-zone-strip,
    .zt-transfer-spec-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zt-transfer-visual {
        min-height: 260px;
        padding: 12px;
    }

    .zt-transfer-search {
        margin-top: -24px;
        border-radius: 8px;
    }

    .zt-transfer-search .zt-panel-body {
        padding: 14px;
    }

    .zt-transfer-search .zt-grid {
        gap: 8px;
    }

    .zt-transfer-zone-card {
        min-height: auto;
    }

    .zt-transfer-vehicle-models,
    .zt-transfer-vehicle-card .zt-vehicle-note {
        min-height: auto;
    }
}
/* Transfer image picker inline alignment */
.zt-transfer-search .zt-field.has-flag-select > i {
    display: none !important;
}

.zt-transfer-search .zt-flag-select-button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 8px 36px 8px 10px !important;
    text-align: left !important;
}

.zt-transfer-search .zt-flag-select-button .zt-flag-badge {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
}

.zt-transfer-search .zt-flag-select-button .zt-flag-value {
    display: inline-flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #071E3A !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
}

.zt-transfer-search .zt-flag-badge[data-picker-badge="transfer"] {
    overflow: hidden !important;
    border: 1px solid rgba(188, 205, 226, .9) !important;
    background: #EEF6FF !important;
    box-shadow: 0 6px 14px rgba(7, 30, 58, .08) !important;
}

.zt-transfer-search .zt-flag-badge[data-picker-badge="transfer"] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.zt-transfer-search .zt-flag-select-option {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 46px !important;
}

.zt-transfer-search .zt-flag-select-option .zt-flag-badge {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
}

.zt-transfer-search .zt-flag-select-option .zt-flag-option-text {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.zt-transfer-search .zt-airport-option .zt-flag-option-text,
.zt-transfer-search .zt-airport-option .zt-airport-option-name {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
/* Transfer lower input field alignment */
.zt-transfer-search .zt-field:not(.has-flag-select) {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-height: 76px !important;
    padding: 0 !important;
    background: transparent !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) .form-label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #31465F !important;
    line-height: 1 !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) > i {
    top: auto !important;
    bottom: 7px !important;
    left: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border: 1px solid rgba(188, 205, 226, .9) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #EAF3FF 100%) !important;
    color: #0B3A70 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    -webkit-text-stroke: .2px currentColor !important;
    box-shadow: 0 6px 14px rgba(7, 30, 58, .08) !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) .form-control {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 9px 12px 9px 50px !important;
    border-radius: 8px !important;
    background-color: #FFFFFF !important;
    color: #071E3A !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) .form-control::placeholder {
    color: #8AA0B7 !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) input[type="date"],
.zt-transfer-search .zt-field:not(.has-flag-select) input[type="time"] {
    padding-right: 8px !important;
}

.zt-transfer-search .zt-field:not(.has-flag-select) input[type="date"]::-webkit-calendar-picker-indicator {
    margin-left: 4px !important;
    margin-right: 0 !important;
    opacity: .68 !important;
}

.zt-transfer-time-field input[type="time"]::-webkit-calendar-picker-indicator {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zt-transfer-time-field input[type="time"]::-webkit-clear-button,
.zt-transfer-time-field input[type="time"]::-webkit-inner-spin-button {
    display: none !important;
}

.zt-transfer-search .zt-col-2.d-grid.align-self-end {
    align-self: end !important;
}

@media (max-width: 767.98px) {
    .zt-transfer-search .zt-field:not(.has-flag-select) {
        min-height: 72px !important;
    }
}
/* Transfer flight number icon rotation fix */
.zt-transfer-search .zt-transfer-flight-number-field > i,
.zt-transfer-search .zt-transfer-flight-number-field > i.bi-airplane {
    transform: none !important;
}

/* Airport selected value spacing */
.zt-transfer-search .zt-airport-picker .zt-flag-select-button .zt-flag-value,
.zt-transfer-book-form .zt-airport-picker .zt-flag-select-button .zt-flag-value {
    gap: 6px !important;
}

.zt-transfer-search .zt-airport-picker .zt-picker-airport-code,
.zt-transfer-book-form .zt-airport-picker .zt-picker-airport-code {
    flex: 0 0 auto !important;
}
/* Transfer destination cards with market vehicles */
.zt-transfer-zone-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

@media (max-width: 991.98px) {
    .zt-transfer-zone-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575.98px) {
    .zt-transfer-zone-strip {
        grid-template-columns: 1fr !important;
    }
}

.zt-transfer-zone-card {
    position: relative !important;
    min-height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(198, 214, 232, .9) !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 46px rgba(7, 30, 58, .08) !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.zt-transfer-zone-card:hover,
.zt-transfer-zone-card.is-active {
    transform: translateY(-4px) !important;
    border-color: rgba(24, 119, 242, .42) !important;
    box-shadow: 0 26px 66px rgba(7, 30, 58, .13) !important;
}

.zt-transfer-zone-card::after {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    height: 3px !important;
    background: linear-gradient(90deg, #1877F2, #16A34A, #F59E0B) !important;
    transform-origin: left center !important;
}

.zt-zone-card-media {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 138px;
    overflow: hidden;
    background: linear-gradient(135deg, #EAF3FF, #F8FBFF);
}

.zt-zone-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .35s ease;
}

.zt-transfer-zone-card:hover .zt-zone-card-media img,
.zt-transfer-zone-card.is-active .zt-zone-card-media img {
    transform: scale(1.055);
}

.zt-zone-card-media span {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(7, 30, 58, .78);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    box-shadow: 0 14px 26px rgba(7, 30, 58, .22);
}

.zt-zone-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
}

.zt-transfer-zone-card .zt-zone-type {
    width: max-content;
    max-width: 100%;
    color: #1763C7 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.1;
}

.zt-transfer-zone-card strong {
    color: #071E3A !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

.zt-transfer-zone-card p {
    color: #5B6E83 !important;
    font-size: 12.2px !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
}

.zt-zone-vehicle-pill {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding: 9px 10px;
    border: 1px solid rgba(202, 215, 231, .92);
    border-radius: 8px;
    background: linear-gradient(180deg, #F8FBFF, #EFF6FF);
}

.zt-zone-vehicle-pill i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #071E3A;
    color: #FFFFFF;
    font-size: 14px;
}

.zt-zone-vehicle-pill span {
    display: grid;
    min-width: 0;
    color: #071E3A;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
}

.zt-zone-vehicle-pill span b {
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-zone-vehicle-models {
    display: block;
    min-height: 30px;
    color: #6A7C90 !important;
    font-size: 11.3px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.zt-zone-card-foot {
    align-items: center !important;
    padding-top: 10px;
    border-top: 1px solid rgba(224, 232, 242, .95);
}

.zt-zone-card-foot small {
    padding: 6px 8px;
    border-radius: 999px;
    background: #F3F7FC;
    color: #465D74 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.zt-zone-card-foot b {
    color: #071E3A !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

@media (max-width: 575.98px) {
    .zt-zone-card-media {
        min-height: 150px;
    }

    .zt-zone-card-body {
        padding: 13px;
    }
}
/* Recommended fleet card alignment upgrade */
.zt-transfer-fleet-grid > [class*="col-"] {
    display: flex;
}

.zt-transfer-vehicle-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
    border: 1px solid rgba(193, 209, 228, .94) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
}

.zt-transfer-vehicle-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #1877F2, #16A34A, #F59E0B);
    opacity: .92;
}

.zt-transfer-vehicle-card .zt-vehicle-media {
    flex: 0 0 auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 190px !important;
    background: #E8F1FB !important;
}

.zt-transfer-vehicle-card .zt-vehicle-media img {
    transform: scale(1.01);
    transition: transform .35s ease, filter .35s ease;
}

.zt-transfer-vehicle-card:hover .zt-vehicle-media img,
.zt-transfer-vehicle-card:focus-within .zt-vehicle-media img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.02);
}

.zt-transfer-vehicle-card .zt-vehicle-media span {
    left: 14px !important;
    bottom: 14px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(255, 255, 255, .68) !important;
    background: rgba(7, 30, 58, .82) !important;
    box-shadow: 0 14px 26px rgba(7, 30, 58, .22) !important;
}

.zt-transfer-vehicle-card .zt-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 18px !important;
}

.zt-transfer-vehicle-price-row {
    align-items: center !important;
    padding: 11px 12px !important;
    border: 1px solid rgba(210, 221, 235, .92) !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(7, 30, 58, .055) !important;
}

.zt-transfer-vehicle-card .zt-vehicle-price strong {
    font-size: clamp(18px, 1.35vw, 21px) !important;
}

.zt-transfer-vehicle-class {
    min-width: 70px !important;
    text-align: center !important;
}

.zt-transfer-vehicle-card h3 {
    min-height: 46px !important;
    margin-top: 14px !important;
    margin-bottom: 8px !important;
}

.zt-transfer-vehicle-models {
    min-height: 40px !important;
}

.zt-transfer-spec-grid {
    margin-top: 2px !important;
}

.zt-transfer-spec-grid span {
    align-content: center !important;
    min-height: 82px !important;
    text-align: left !important;
}

.zt-transfer-vehicle-card .zt-vehicle-note {
    display: flex !important;
    align-items: flex-start !important;
    min-height: 78px !important;
    margin-top: 14px !important;
    padding: 12px !important;
    border-color: rgba(205, 218, 234, .95) !important;
    background: linear-gradient(180deg, #F8FBFF 0%, #F2F7FC 100%) !important;
    color: #4E6177 !important;
}

.zt-transfer-book-button {
    margin-top: auto !important;
    width: 100% !important;
    min-height: 48px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%) !important;
    box-shadow: 0 16px 34px rgba(24, 119, 242, .24) !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.zt-transfer-book-button:hover,
.zt-transfer-book-button:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 20px 42px rgba(24, 119, 242, .32) !important;
    filter: brightness(1.02) !important;
}

.zt-transfer-book-button i {
    flex: 0 0 auto !important;
    transform: none !important;
}

@media (max-width: 575.98px) {
    .zt-transfer-vehicle-card .zt-vehicle-media {
        min-height: 170px !important;
    }

    .zt-transfer-vehicle-card h3,
    .zt-transfer-vehicle-models,
    .zt-transfer-vehicle-card .zt-vehicle-note {
        min-height: auto !important;
    }
}
/* Recommended fleet button spacing */
.zt-transfer-vehicle-card .zt-vehicle-note {
    margin-bottom: 16px !important;
}

.zt-transfer-book-button {
    margin-top: auto !important;
}
/* Popular destination booking buttons */
.zt-zone-book-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 4px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(24, 119, 242, .23) !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.zt-zone-book-button:hover,
.zt-zone-book-button:focus {
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 38px rgba(24, 119, 242, .32) !important;
    filter: brightness(1.02) !important;
}

.zt-zone-book-button i {
    flex: 0 0 auto !important;
    transform: none !important;
}
/* Clean Popular Destination Book ride buttons */
.zt-zone-book-button.btn,
.zt-zone-book-button.btn-primary {
    min-height: 42px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(24, 119, 242, .22) !important;
    border-radius: 7px !important;
    background: #1877F2 !important;
    box-shadow: 0 10px 24px rgba(24, 119, 242, .18) !important;
}

.zt-zone-book-button.btn:hover,
.zt-zone-book-button.btn:focus,
.zt-zone-book-button.btn:focus-visible {
    border-color: rgba(14, 94, 201, .35) !important;
    background: #0E5EC9 !important;
    box-shadow: 0 14px 30px rgba(24, 119, 242, .25) !important;
    outline: 0 !important;
}

.zt-zone-book-button i,
.zt-zone-book-button .bi {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
/* Transfer hero subtle background motion */
.zt-transfer-hero {
    overflow: hidden;
}

.zt-transfer-hero::before {
    background-size: auto, 108% auto !important;
    background-position: center, 50% center !important;
    animation: ztTransferHeroImagePan 16s ease-in-out infinite alternate;
    will-change: background-position, background-size;
}

@keyframes ztTransferHeroImagePan {
    0% {
        background-position: center, 47% center;
        background-size: auto, 108% auto;
    }
    50% {
        background-position: center, 53% center;
        background-size: auto, 110% auto;
    }
    100% {
        background-position: center, 49% center;
        background-size: auto, 108% auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-transfer-hero::before {
        animation: none !important;
        background-position: center, 50% center !important;
    }
}
/* Stronger transfer hero image drift */
.zt-transfer-hero::before {
    inset: -4% -8% !important;
    background-size: auto, cover !important;
    background-position: center, center !important;
    animation: ztTransferHeroLayerDrift 7.5s ease-in-out infinite alternate !important;
    transform-origin: center center !important;
    will-change: transform !important;
}

@keyframes ztTransferHeroLayerDrift {
    0% {
        transform: translate3d(-3.5%, 0, 0) scale(1.04);
    }
    100% {
        transform: translate3d(3.5%, 0, 0) scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-transfer-hero::before {
        animation: none !important;
        transform: scale(1.04) !important;
    }
}
/* Transfer checkout enterprise upgrade */
.zt-book-ride-hero {
    min-height: auto !important;
    padding-top: 108px !important;
    padding-bottom: 64px !important;
    isolation: isolate;
}

.zt-book-ride-hero::before {
    background:
        linear-gradient(90deg, rgba(5, 18, 35, .96) 0%, rgba(8, 31, 58, .84) 48%, rgba(8, 31, 58, .42) 100%),
        var(--zt-ride-image) center/cover no-repeat !important;
}

.zt-book-ride-hero .zt-container {
    max-width: 1180px;
}

.zt-book-ride-hero .zt-eyebrow {
    gap: 10px;
    padding: 9px 13px;
    border-color: rgba(168, 212, 255, .34);
    background: rgba(255, 255, 255, .12);
    color: #F7FBFF;
    border-radius: 999px;
}

.zt-book-ride-hero h1 {
    max-width: 760px;
    margin: 12px 0 10px;
    color: #FFFFFF;
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.02;
    letter-spacing: 0;
}

.zt-book-ride-hero p {
    max-width: 760px;
    color: rgba(255, 255, 255, .86) !important;
    font-size: 16px;
    line-height: 1.6;
}

.zt-transfer-book-section {
    padding-top: 34px !important;
    background:
        radial-gradient(circle at 9% 10%, rgba(24, 119, 242, .08), transparent 28%),
        linear-gradient(180deg, #F6F9FC 0%, #FFFFFF 58%);
}

.zt-transfer-book-section .row.g-4 {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
}

.zt-transfer-book-section .zt-ride-summary {
    top: 104px;
    border: 1px solid rgba(192, 208, 229, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(7, 30, 58, .11);
}

.zt-transfer-book-section .zt-ride-summary-image {
    position: relative;
    min-height: 245px;
    background:
        linear-gradient(180deg, rgba(7, 30, 58, .04), rgba(7, 30, 58, .22)),
        var(--zt-ride-image) center/cover no-repeat;
}

.zt-transfer-book-section .zt-ride-summary-image span {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .68);
    border-radius: 999px;
    background: rgba(7, 30, 58, .82);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 14px 28px rgba(7, 30, 58, .24);
}

.zt-transfer-book-section .zt-ride-summary-body {
    padding: 20px;
}

.zt-transfer-book-section .zt-ride-summary-body > span {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 7px 9px;
    border-radius: 999px;
    background: #EAF3FF;
    color: #1763C7;
    font-size: 10.5px;
    line-height: 1.2;
    text-transform: none;
}

.zt-transfer-book-section .zt-ride-summary-body h2 {
    margin-top: 12px;
    color: #071E3A;
    font-size: 23px;
    line-height: 1.15;
}

.zt-transfer-book-section .zt-ride-summary-body p {
    color: #566A80;
    font-size: 13px;
    line-height: 1.5;
}

.zt-transfer-book-section .zt-ride-summary-meta {
    align-items: center;
    margin: 18px 0 14px;
    padding: 15px;
    border: 1px solid rgba(20, 83, 45, .14);
    border-radius: 8px;
    background: linear-gradient(135deg, #ECFDF5 0%, #F8FFFB 100%);
}

.zt-transfer-book-section .zt-ride-summary-meta b {
    color: #0F5132;
    font-size: 21px;
    line-height: 1;
}

.zt-transfer-book-section .zt-ride-summary-route {
    border-radius: 8px;
    border-color: rgba(202, 215, 231, .95);
    background: linear-gradient(180deg, #F8FBFF 0%, #F3F7FC 100%);
}

.zt-transfer-book-section .zt-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.zt-transfer-book-section .zt-meta span {
    display: grid;
    place-items: center;
    min-height: 48px;
    padding: 8px;
    border: 1px solid rgba(202, 215, 231, .92);
    border-radius: 8px;
    background: #F8FBFF;
    color: #071E3A;
    font-size: 11.5px;
    font-weight: 900;
    text-align: center;
}

.zt-transfer-checkout-panel {
    overflow: visible;
    border: 1px solid rgba(192, 208, 229, .95);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(7, 30, 58, .09);
}

.zt-transfer-checkout-panel .zt-panel-body {
    padding: clamp(18px, 2.2vw, 28px);
}

.zt-transfer-book-form-head {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(202, 215, 231, .92);
    border-radius: 8px;
    background: linear-gradient(135deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-transfer-book-form-head span {
    display: inline-flex;
    margin-bottom: 6px;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-transfer-book-form-head h2 {
    margin: 0 0 5px;
    color: #071E3A;
    font-size: 22px;
    line-height: 1.15;
}

.zt-transfer-book-form-head p {
    max-width: 760px;
    margin: 0;
    color: #5D7086;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.zt-transfer-book-form .zt-grid {
    gap: 14px;
}

.zt-transfer-book-form .zt-field {
    min-height: 78px;
}

.zt-transfer-book-form .form-label {
    margin-bottom: 7px;
    color: #33465D;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-transfer-book-form .zt-field > i {
    top: 39px;
    left: 13px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #F0F6FF;
    color: #1877F2;
    font-size: 14px;
    box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .08);
}

.zt-transfer-book-form .form-control,
.zt-transfer-book-form .form-select,
.zt-transfer-book-form .zt-flag-select-button {
    min-height: 52px;
    border-radius: 8px;
    border-color: rgba(198, 211, 229, .96);
    background: #FFFFFF;
    color: #071E3A;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 8px 20px rgba(7, 30, 58, .045);
}

.zt-transfer-book-form .form-control,
.zt-transfer-book-form textarea.form-control {
    padding-left: 50px;
}

.zt-transfer-book-form textarea.form-control {
    min-height: 112px;
    padding-top: 14px;
}

.zt-transfer-book-form #pickup_address,
.zt-transfer-book-form #dropoff_address,
.zt-transfer-book-form #special_requests {
    padding-left: 14px;
}

.zt-transfer-book-form .zt-flag-select-button .zt-flag-badge {
    border-radius: 8px;
}

.zt-transfer-book-form .zt-flag-select-menu {
    z-index: 33000;
}

.zt-transfer-checkout-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: min(100%, 260px);
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%) !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 18px 38px rgba(24, 119, 242, .26) !important;
}

.zt-transfer-checkout-submit i {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 991.98px) {
    .zt-transfer-book-section .zt-ride-summary {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .zt-transfer-book-section {
        padding-top: 22px !important;
    }

    .zt-transfer-book-form .zt-field {
        min-height: auto;
    }

    .zt-transfer-book-section .zt-meta {
        grid-template-columns: 1fr;
    }

    .zt-transfer-checkout-submit {
        width: 100%;
    }
}
/* Transfer checkout final polish */
.zt-transfer-book-section .zt-container {
    max-width: 1180px;
}

.zt-book-ride-hero {
    padding-top: 96px !important;
    padding-bottom: 50px !important;
}

.zt-book-ride-hero .zt-eyebrow {
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.zt-book-ride-hero h1 {
    max-width: 700px;
    font-size: clamp(31px, 3.2vw, 48px) !important;
}

.zt-book-ride-hero p {
    max-width: 690px;
    font-size: 15px !important;
}

.zt-transfer-book-section .zt-ride-summary {
    overflow: hidden;
}

.zt-transfer-book-section .zt-ride-summary-image {
    height: 252px;
    min-height: 252px;
    background-size: cover !important;
    background-position: center !important;
}

.zt-transfer-book-section .zt-ride-summary-image::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, transparent 0%, rgba(5, 18, 35, .52) 100%);
    pointer-events: none;
}

.zt-transfer-book-section .zt-ride-summary-image span {
    z-index: 1;
}

.zt-transfer-book-section .zt-ride-summary-body > span {
    font-weight: 950;
}

.zt-transfer-book-section .zt-ride-summary-meta {
    display: grid;
    gap: 4px;
}

.zt-transfer-book-section .zt-ride-summary-meta small {
    color: #27735A;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-transfer-book-section .zt-ride-summary-route {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 12px;
}

.zt-transfer-book-section .zt-ride-summary-route i {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 8px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 17px;
}

.zt-transfer-book-section .zt-ride-summary-route strong,
.zt-transfer-book-section .zt-ride-summary-route small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-transfer-checkout-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 251, 255, .98) 100%);
}

.zt-transfer-book-form-head {
    display: grid;
    gap: 4px;
    margin-bottom: 16px !important;
    padding: 15px 16px !important;
}

.zt-transfer-book-form-head span {
    margin-bottom: 0 !important;
}

.zt-transfer-book-form-head h2 {
    font-size: 20px !important;
}

.zt-transfer-book-form-head p {
    font-size: 12.5px !important;
}

.zt-transfer-book-form .zt-grid {
    align-items: end;
    gap: 13px !important;
}

.zt-transfer-book-form .zt-field {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 76px !important;
}

.zt-transfer-book-form .form-label {
    margin-bottom: 7px !important;
    line-height: 1 !important;
}

.zt-transfer-book-form .zt-field > i {
    top: auto !important;
    bottom: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.zt-transfer-book-form .form-control,
.zt-transfer-book-form .form-select,
.zt-transfer-book-form .zt-flag-select-button {
    min-height: 50px !important;
    border-radius: 8px !important;
}

.zt-transfer-book-form .form-control,
.zt-transfer-book-form textarea.form-control {
    padding: 10px 12px 10px 50px !important;
}

.zt-transfer-book-form input[type='date'],
.zt-transfer-book-form input[type='time'] {
    padding-right: 9px !important;
}

.zt-transfer-book-form input[type='date']::-webkit-calendar-picker-indicator {
    margin-left: 4px !important;
    margin-right: 0 !important;
    opacity: .72 !important;
}

.zt-transfer-book-form input[type='time']::-webkit-calendar-picker-indicator {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zt-transfer-book-form .zt-flag-select {
    width: 100%;
}

.zt-transfer-book-form .zt-flag-select-button {
    padding: 8px 38px 8px 10px !important;
    gap: 9px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
}

.zt-transfer-book-form .zt-flag-select-button .zt-flag-value {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.zt-transfer-book-form .zt-flag-badge[data-picker-badge='transfer'],
.zt-transfer-book-form .zt-flag-select-option .zt-flag-badge[data-picker-badge='transfer'] {
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #EEF6FF !important;
}

.zt-transfer-book-form .zt-flag-badge[data-picker-badge='transfer'] img,
.zt-transfer-book-form .zt-flag-select-option .zt-flag-badge[data-picker-badge='transfer'] img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.zt-transfer-book-form .zt-flag-select-option {
    min-height: 46px !important;
    border-radius: 8px !important;
}

.zt-transfer-book-form .zt-flag-select-menu {
    width: 100% !important;
    min-width: 100% !important;
    border-radius: 8px !important;
    z-index: 36000 !important;
}

.zt-transfer-book-form #pickup_address,
.zt-transfer-book-form #dropoff_address,
.zt-transfer-book-form #special_requests {
    padding-left: 14px !important;
}

.zt-transfer-book-form textarea.form-control {
    min-height: 104px !important;
}

.zt-transfer-checkout-submit {
    white-space: nowrap !important;
    letter-spacing: 0 !important;
}

.zt-transfer-checkout-submit:hover,
.zt-transfer-checkout-submit:focus {
    background: linear-gradient(135deg, #0E5EC9 0%, #083B86 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 20px 42px rgba(14, 94, 201, .32) !important;
}

@media (max-width: 767.98px) {
    .zt-book-ride-hero {
        padding-top: 88px !important;
        padding-bottom: 38px !important;
    }

    .zt-transfer-book-section .zt-ride-summary-image {
        height: 220px;
        min-height: 220px;
    }

    .zt-transfer-book-form .zt-field {
        min-height: auto !important;
    }
}
/* Transfer checkout summary metric chips */
.zt-transfer-book-section .zt-transfer-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 10px !important;
    border: 1px solid rgba(184, 204, 226, .96) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FD 100%) !important;
    color: #071E3A !important;
    box-shadow: 0 12px 26px rgba(7, 30, 58, .06) !important;
    text-align: left !important;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip.is-wide {
    grid-column: 1 / -1;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip > i {
    display: inline-grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: linear-gradient(180deg, #EAF3FF 0%, #FFFFFF 100%);
    color: #1877F2;
    font-size: 15px;
    line-height: 1;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip > span {
    display: grid !important;
    min-width: 0;
    gap: 2px;
    place-items: initial !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip small {
    display: block;
    color: #6B7F96;
    font-size: 9.8px;
    font-weight: 950;
    letter-spacing: .07em;
    line-height: 1.1;
    text-transform: uppercase;
}

.zt-transfer-book-section .zt-transfer-summary-metrics .zt-summary-chip strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #071E3A;
    font-size: 12.5px;
    font-weight: 950;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .zt-transfer-book-section .zt-transfer-summary-metrics {
        grid-template-columns: 1fr !important;
    }
}
/* Transfer checkout flight number icon straightener */
.zt-transfer-book-form .zt-transfer-flight-number-field > i,
.zt-transfer-book-form .zt-transfer-flight-number-field > i.bi-airplane {
    transform: none !important;
}

.zt-transfer-book-form .zt-transfer-flight-number-field > i::before,
.zt-transfer-book-form .zt-transfer-flight-number-field > i.bi-airplane::before {
    transform: none !important;
}
/* Ride checkout hero moving background */
.zt-book-ride-hero {
    overflow: hidden !important;
}

.zt-book-ride-hero::before {
    inset: -4% -8% !important;
    background:
        linear-gradient(90deg, rgba(5, 18, 35, .96) 0%, rgba(8, 31, 58, .84) 48%, rgba(8, 31, 58, .42) 100%),
        var(--zt-ride-image) center/cover no-repeat !important;
    transform-origin: center center !important;
    animation: ztRideCheckoutHeroDrift 7.2s ease-in-out infinite alternate !important;
    will-change: transform !important;
}

@keyframes ztRideCheckoutHeroDrift {
    0% {
        transform: translate3d(-3.8%, 0, 0) scale(1.045);
    }
    100% {
        transform: translate3d(3.8%, 0, 0) scale(1.045);
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-book-ride-hero::before {
        animation: none !important;
        transform: scale(1.045) !important;
    }
}
/* Enterprise shared checkout workspace */
.zt-checkout-page {
    padding-top: 118px !important;
    background:
        radial-gradient(circle at 9% 0%, rgba(24, 119, 242, .09), transparent 29%),
        radial-gradient(circle at 92% 18%, rgba(38, 161, 123, .09), transparent 27%),
        linear-gradient(180deg, #F4F8FC 0%, #FFFFFF 62%);
}

.zt-checkout-page .zt-container {
    max-width: 1180px;
}

.zt-checkout-head {
    display: grid;
    gap: 8px;
    max-width: 820px;
    margin-bottom: 22px;
}

.zt-checkout-head > span,
.zt-checkout-card-head > span,
.zt-modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-checkout-head > span {
    padding: 8px 10px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 999px;
    background: #EAF3FF;
}

.zt-checkout-head h1 {
    margin: 0;
    color: #071E3A;
    font-size: clamp(30px, 3.1vw, 46px);
    font-weight: 950;
    line-height: 1.04;
    letter-spacing: 0;
}

.zt-checkout-head p {
    max-width: 760px;
    margin: 0;
    color: #5C7087;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.zt-checkout-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    border: 1px solid rgba(191, 208, 228, .96);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 24px 70px rgba(7, 30, 58, .1);
}

.zt-checkout-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #1877F2 0%, #26A17B 52%, #F7B731 100%);
}

.zt-checkout-summary-card,
.zt-payment-card {
    padding: clamp(18px, 2.3vw, 28px);
}

.zt-checkout-card-head {
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
}

.zt-checkout-card-head h2 {
    margin: 0;
    color: #071E3A;
    font-size: 22px;
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: 0;
}

.zt-checkout-card-head p {
    max-width: 680px;
    margin: 0;
    color: #61768E;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.45;
}

.zt-checkout-reference {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: linear-gradient(135deg, #EAF3FF 0%, #FFFFFF 100%);
}

.zt-checkout-reference small,
.zt-checkout-detail-grid small,
.zt-payment-total small {
    color: #6B7F96;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.zt-checkout-reference strong {
    color: #071E3A;
    font-size: clamp(18px, 2.2vw, 26px);
    font-weight: 950;
    line-height: 1;
    word-break: break-word;
}

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

.zt-checkout-detail-grid > div {
    display: grid;
    gap: 7px;
    min-height: 82px;
    padding: 14px;
    border: 1px solid rgba(202, 215, 231, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-checkout-detail-grid > div.is-wide {
    grid-column: 1 / -1;
}

.zt-checkout-detail-grid strong {
    min-width: 0;
    overflow: hidden;
    color: #071E3A;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;
    text-overflow: ellipsis;
}

.zt-status-pill {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 28px;
    padding: 6px 10px;
    border: 1px solid rgba(247, 183, 49, .35);
    border-radius: 999px;
    background: #FFF8E6;
    color: #916009;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-payment-total {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
    padding: 18px;
    border: 1px solid rgba(38, 161, 123, .18);
    border-radius: 8px;
    background: linear-gradient(135deg, #ECFDF5 0%, #FFFFFF 100%);
}

.zt-payment-total strong {
    color: #0F5132;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 950;
    line-height: 1;
}

.zt-payment-methods {
    display: grid;
    gap: 10px;
}

.zt-payment-method-btn {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 72px;
    padding: 12px;
    border: 1px solid rgba(193, 209, 228, .96);
    border-radius: 8px;
    background: #FFFFFF;
    color: #071E3A;
    text-align: left;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(7, 30, 58, .065);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.zt-payment-method-btn:hover,
.zt-payment-method-btn:focus-visible {
    border-color: rgba(24, 119, 242, .45);
    color: #071E3A;
    transform: translateY(-2px);
    box-shadow: 0 22px 44px rgba(7, 30, 58, .11);
    outline: 0;
}

.zt-payment-method-btn > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 20px;
}

.zt-payment-method-btn.is-crypto > i {
    background: #FFF4DE;
    color: #B96B00;
}

.zt-payment-method-btn strong,
.zt-payment-method-btn small {
    display: block;
}

.zt-payment-method-btn strong {
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
}

.zt-payment-method-btn small {
    margin-top: 3px;
    color: #637890;
    font-size: 12px;
    font-weight: 750;
}

.zt-payment-note {
    margin: 14px 0 0;
    color: #667B92;
    font-size: 12px;
    font-weight: 720;
    line-height: 1.45;
}

.zt-payment-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(191, 208, 228, .96);
    border-radius: 8px;
    box-shadow: 0 34px 90px rgba(5, 18, 35, .24);
}

.zt-payment-modal .modal-header,
.zt-payment-modal .modal-footer {
    border-color: rgba(202, 215, 231, .86);
}

.zt-payment-modal .modal-header {
    align-items: flex-start;
    padding: 20px 22px 16px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
}

.zt-payment-modal .modal-title {
    margin-top: 7px;
    color: #071E3A;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-modal-kicker.is-warning {
    color: #B76A00;
}

.zt-payment-modal .modal-body {
    padding: 20px 22px;
}

.zt-modal-copy {
    margin: 0 0 16px;
    color: #5E728A;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.5;
}

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

.zt-card-form-grid label,
.zt-proof-reference {
    display: grid;
    gap: 7px;
    color: #33465D;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-card-form-grid label:nth-child(1),
.zt-card-form-grid label:nth-child(2) {
    grid-column: 1 / -1;
}

.zt-card-form-grid .form-control,
.zt-proof-reference .form-control {
    min-height: 50px;
    border-color: rgba(198, 211, 229, .96);
    border-radius: 8px;
    color: #071E3A;
    font-size: 13px;
    font-weight: 850;
}

.zt-modal-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%) !important;
    color: #FFFFFF !important;
    font-weight: 950 !important;
}

.zt-payment-support-box {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(247, 183, 49, .25);
    border-radius: 8px;
    background: #FFF8E6;
    color: #4E3A0A;
    font-size: 13px;
    font-weight: 760;
}

.zt-payment-support-box > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: #FFFFFF;
    color: #B76A00;
    font-size: 20px;
}

.zt-crypto-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.zt-crypto-choice {
    display: grid;
    gap: 10px;
    min-height: 170px;
    padding: 14px;
    border: 1px solid rgba(193, 209, 228, .96);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    text-align: left;
    box-shadow: 0 14px 30px rgba(7, 30, 58, .065);
}

.zt-crypto-choice:hover,
.zt-crypto-choice:focus-visible {
    border-color: var(--coin-accent, #1877F2);
    outline: 0;
}

.zt-crypto-choice > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 14%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
    font-size: 20px;
}

.zt-crypto-choice strong,
.zt-crypto-choice small,
.zt-crypto-choice b {
    display: block;
}

.zt-crypto-choice strong {
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
}

.zt-crypto-choice small {
    color: #637890;
    font-size: 12px;
    font-weight: 760;
    line-height: 1.35;
}

.zt-crypto-choice b {
    align-self: end;
    color: #0F5132;
    font-size: 13px;
    font-weight: 950;
}

.zt-crypto-pay-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.zt-crypto-qr-wrap {
    display: grid;
    place-items: center;
    padding: 16px;
    border: 1px solid rgba(202, 215, 231, .96);
    border-radius: 8px;
    background: #FFFFFF;
}

.zt-crypto-qr-wrap img {
    width: 100%;
    max-width: 190px;
    aspect-ratio: 1;
    object-fit: contain;
}

.zt-crypto-pay-copy > span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
}

.zt-crypto-pay-copy h3 {
    margin: 10px 0 8px;
    color: #071E3A;
    font-size: 24px;
    font-weight: 950;
}

.zt-crypto-pay-copy p {
    color: #5E728A;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.5;
}

.zt-wallet-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 8px;
    background: #F7FAFE;
}

.zt-wallet-box small,
.zt-wallet-box code {
    grid-column: 1;
}

.zt-wallet-box small {
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-wallet-box code {
    min-width: 0;
    overflow: hidden;
    color: #071E3A;
    font-size: 12.5px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-wallet-box button {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: center;
    min-height: 38px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    background: #071E3A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
}

.zt-copy-feedback {
    margin-top: 8px;
    color: #0F5132;
    font-size: 12px;
    font-weight: 850;
}

.zt-proof-upload {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px dashed rgba(24, 119, 242, .42);
    border-radius: 8px;
    background: #F7FAFE;
    cursor: pointer;
}

.zt-proof-upload > i {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 8px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 22px;
}

.zt-proof-upload strong,
.zt-proof-upload small {
    display: block;
}

.zt-proof-upload strong {
    color: #071E3A;
    font-size: 14px;
    font-weight: 950;
}

.zt-proof-upload small {
    color: #637890;
    font-size: 12px;
    font-weight: 720;
}

.zt-proof-upload input {
    grid-column: 1 / -1;
    width: 100%;
    color: #40556E;
    font-size: 12px;
    font-weight: 760;
}

@media (max-width: 991.98px) {
    .zt-checkout-page {
        padding-top: 96px !important;
    }

    .zt-crypto-choice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .zt-checkout-head h1 {
        font-size: 30px;
    }

    .zt-checkout-detail-grid,
    .zt-card-form-grid,
    .zt-crypto-pay-layout {
        grid-template-columns: 1fr;
    }

    .zt-checkout-reference {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-payment-modal .modal-footer {
        display: grid;
        gap: 8px;
    }

    .zt-payment-modal .modal-footer > * {
        width: 100%;
    }
}
/* Checkout final visual refinement */
.zt-checkout-page {
    padding-top: 108px !important;
    padding-bottom: 54px !important;
    background:
        radial-gradient(circle at 8% 7%, rgba(24, 119, 242, .10), transparent 30%),
        radial-gradient(circle at 88% 14%, rgba(38, 161, 123, .10), transparent 28%),
        linear-gradient(180deg, #EEF4FA 0%, #F8FBFF 42%, #FFFFFF 100%) !important;
}

.zt-checkout-page .row.g-4 {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 20px;
}

.zt-checkout-head {
    position: relative;
    max-width: none !important;
    margin-bottom: 20px !important;
    padding: 20px 22px;
    overflow: hidden;
    border: 1px solid rgba(190, 207, 228, .92);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98) 0%, rgba(241, 247, 254, .96) 100%);
    box-shadow: 0 18px 48px rgba(7, 30, 58, .075);
}

.zt-checkout-head::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #1877F2 0%, #26A17B 100%);
}

.zt-checkout-head > span {
    min-height: 32px;
    padding: 8px 11px !important;
    background: #EAF3FF !important;
    color: #0E5EC9 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
}

.zt-checkout-head h1 {
    max-width: 760px;
    font-size: clamp(29px, 2.9vw, 42px) !important;
}

.zt-checkout-head p {
    max-width: 820px !important;
    color: #4F647D !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.zt-checkout-assurance-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.zt-checkout-assurance-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 10px;
    border: 1px solid rgba(202, 215, 231, .95);
    border-radius: 999px;
    background: #FFFFFF;
    color: #233954;
    font-size: 11.5px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .045);
}

.zt-checkout-assurance-row i {
    color: #1877F2;
    font-size: 14px;
}

.zt-checkout-card {
    border-color: rgba(183, 202, 224, .98) !important;
    background: rgba(255, 255, 255, .985) !important;
    box-shadow: 0 22px 64px rgba(7, 30, 58, .095) !important;
}

.zt-checkout-card::before {
    height: 3px !important;
    background: linear-gradient(90deg, #1877F2 0%, #26A17B 48%, #071E3A 100%) !important;
}

.zt-checkout-summary-card,
.zt-payment-card {
    padding: clamp(18px, 2vw, 24px) !important;
}

.zt-checkout-card-head {
    margin-bottom: 16px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(222, 231, 242, .92);
}

.zt-checkout-card-head > span {
    color: #0E5EC9 !important;
}

.zt-checkout-card-head h2 {
    font-size: 20px !important;
}

.zt-checkout-card-head p {
    max-width: 620px !important;
    color: #5A6F87 !important;
    font-size: 12.8px !important;
}

.zt-checkout-reference {
    margin-bottom: 14px !important;
    padding: 18px !important;
    border: 0 !important;
    background:
        linear-gradient(135deg, #071E3A 0%, #0E376B 58%, #1877F2 100%) !important;
    box-shadow: 0 18px 38px rgba(7, 30, 58, .18);
}

.zt-checkout-reference small {
    color: rgba(255, 255, 255, .74) !important;
}

.zt-checkout-reference strong {
    color: #FFFFFF !important;
    font-size: clamp(19px, 2.1vw, 25px) !important;
}

.zt-checkout-detail-grid {
    gap: 10px !important;
}

.zt-checkout-detail-grid > div {
    min-height: 76px !important;
    padding: 13px 14px !important;
    border-color: rgba(205, 218, 233, .95) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

.zt-checkout-detail-grid strong {
    color: #0A223F !important;
    font-size: 13.5px !important;
}

.zt-status-pill {
    min-height: 27px !important;
    padding: 6px 10px !important;
    border-color: rgba(247, 183, 49, .42) !important;
    background: linear-gradient(180deg, #FFF9EA 0%, #FFF4D6 100%) !important;
    color: #875A07 !important;
    letter-spacing: .05em;
}

.zt-payment-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99) 0%, rgba(247, 251, 255, .99) 100%) !important;
}

.zt-payment-total {
    gap: 10px !important;
    margin-bottom: 14px !important;
    padding: 18px !important;
    border: 0 !important;
    background:
        linear-gradient(135deg, #0F5132 0%, #187A52 52%, #26A17B 100%) !important;
    box-shadow: 0 18px 38px rgba(15, 81, 50, .18);
}

.zt-payment-total small {
    color: rgba(255, 255, 255, .76) !important;
}

.zt-payment-total strong {
    color: #FFFFFF !important;
    font-size: clamp(26px, 2.7vw, 34px) !important;
}

.zt-payment-methods {
    gap: 9px !important;
}

.zt-payment-method-btn {
    position: relative;
    grid-template-columns: 44px minmax(0, 1fr) 18px !important;
    min-height: 70px !important;
    padding: 12px 14px 12px 12px !important;
    overflow: hidden;
    border-color: rgba(194, 210, 229, .96) !important;
    background: #FFFFFF !important;
}

.zt-payment-method-btn::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #1877F2;
}

.zt-payment-method-btn.is-crypto::before {
    background: #F7931A;
}

.zt-payment-method-btn::after {
    content: '\F285';
    grid-column: 3;
    font-family: 'bootstrap-icons';
    color: #7E91A7;
    font-size: 14px;
    transition: transform .18s ease, color .18s ease;
}

.zt-payment-method-btn:hover::after,
.zt-payment-method-btn:focus-visible::after {
    color: #1877F2;
    transform: translateX(2px);
}

.zt-payment-method-btn > i {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(24, 119, 242, .14);
    background: linear-gradient(180deg, #EAF3FF 0%, #FFFFFF 100%) !important;
}

.zt-payment-method-btn.is-crypto > i {
    border-color: rgba(247, 147, 26, .2);
    background: linear-gradient(180deg, #FFF4DE 0%, #FFFFFF 100%) !important;
}

.zt-payment-method-btn strong {
    font-size: 14.5px !important;
}

.zt-payment-method-btn small {
    color: #62778E !important;
    font-size: 11.8px !important;
}

.zt-payment-note {
    padding: 12px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 8px;
    background: #F8FBFF;
    color: #566B84 !important;
}

@media (max-width: 575.98px) {
    .zt-checkout-page {
        padding-top: 92px !important;
        padding-bottom: 34px !important;
    }

    .zt-checkout-head {
        padding: 18px 16px;
    }

    .zt-checkout-assurance-row span {
        width: 100%;
    }
}
.zt-payment-note.is-success {
    display: flex;
    align-items: center;
    gap: 8px;
    border-color: rgba(22, 138, 82, .24) !important;
    background: #F0FFF7 !important;
    color: #1F6B45 !important;
}

.zt-payment-note.is-success i {
    color: #168A52;
    flex: 0 0 auto;
}

/* Checkout card payment modal upgrade */
.zt-fa-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background: currentColor;
    -webkit-mask: var(--zt-fa-url) center / contain no-repeat;
    mask: var(--zt-fa-url) center / contain no-repeat;
}

.zt-fa-credit-card { --zt-fa-url: url("../images/icons/fa-credit-card.svg"); }
.zt-fa-shield-halved { --zt-fa-url: url("../images/icons/fa-shield-halved.svg"); }
.zt-fa-lock { --zt-fa-url: url("../images/icons/fa-lock.svg"); }
.zt-fa-user { --zt-fa-url: url("../images/icons/fa-user.svg"); }
.zt-fa-calendar-days { --zt-fa-url: url("../images/icons/fa-calendar-days.svg"); }

.zt-card-entry-modal {
    border: 0 !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.zt-card-entry-modal .modal-header {
    align-items: center;
    padding: 18px 20px 15px;
    background: linear-gradient(135deg, #F8FBFF 0%, #FFFFFF 58%, #EEF6FF 100%) !important;
}

.zt-card-modal-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.zt-card-modal-emblem {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #071E3A 0%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .22);
}

.zt-card-modal-emblem .zt-fa-icon {
    width: 22px;
    height: 22px;
}

.zt-card-entry-modal .zt-modal-kicker {
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-card-entry-modal .modal-title {
    margin-top: 4px !important;
    font-size: clamp(21px, 2.2vw, 27px) !important;
}

.zt-card-modal-copy {
    margin-bottom: 12px !important;
    padding: 12px 14px;
    border: 1px solid rgba(186, 206, 231, .9);
    border-radius: 10px;
    background: #FFFFFF;
    color: #435A73 !important;
}

.zt-card-security-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.zt-card-security-row span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 10px;
    background: #F4F9FF;
    color: #13395F;
    font-size: 12px;
    font-weight: 900;
}

.zt-card-security-row .zt-fa-icon {
    width: 15px;
    height: 15px;
    color: #1877F2;
}

.zt-card-form-grid.is-upgraded {
    gap: 13px;
}

.zt-card-field {
    display: grid;
    gap: 7px;
}

.zt-card-field.is-wide {
    grid-column: 1 / -1;
}

.zt-card-field-label {
    color: #2D4157;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-card-input-control {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 13px;
    border: 1px solid rgba(188, 205, 226, .96);
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 10px 24px rgba(7, 30, 58, .055);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-card-input-control:focus-within {
    border-color: rgba(24, 119, 242, .72);
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1), 0 14px 30px rgba(7, 30, 58, .08);
    transform: translateY(-1px);
}

.zt-card-input-control > .zt-fa-icon {
    width: 17px;
    height: 17px;
    color: #1877F2;
}

.zt-card-input-control .form-control {
    min-height: 50px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #071E3A;
    font-size: 13px;
    font-weight: 850;
}

.zt-card-entry-modal .zt-modal-primary .zt-fa-icon {
    width: 14px;
    height: 14px;
}

@media (max-width: 575.98px) {
    .zt-card-security-row,
    .zt-card-form-grid {
        grid-template-columns: 1fr;
    }
}
/* Checkout browser autofill polish */
.zt-card-input-control input:-webkit-autofill,
.zt-card-input-control input:-webkit-autofill:hover,
.zt-card-input-control input:-webkit-autofill:focus {
    -webkit-text-fill-color: #071E3A !important;
    -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    caret-color: #071E3A;
}
/* Checkout card validation upgrade */
.zt-fa-circle-info { --zt-fa-url: url("../images/icons/fa-circle-info.svg"); }

.zt-card-entry-modal .modal-body {
    padding-top: 18px !important;
}

.zt-card-security-row {
    margin-bottom: 12px !important;
}

.zt-card-security-row span {
    min-height: 44px !important;
    border-color: rgba(24, 119, 242, .18) !important;
    background: linear-gradient(180deg, #F5FAFF 0%, #FFFFFF 100%) !important;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .045);
}

.zt-card-error-panel[hidden] {
    display: none !important;
}

.zt-card-error-panel {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 0 0 13px;
    padding: 12px;
    border: 1px solid rgba(214, 64, 69, .28);
    border-radius: 10px;
    background: linear-gradient(180deg, #FFF7F7 0%, #FFFFFF 100%);
    color: #7E2228;
    box-shadow: 0 14px 30px rgba(126, 34, 40, .08);
}

.zt-card-error-panel > .zt-fa-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 10px;
    border-radius: 9px;
    background: #FFE8E9;
    color: #C92A35;
}

.zt-card-error-panel strong {
    display: block;
    color: #641B20;
    font-size: 12.5px;
    font-weight: 950;
}

.zt-card-error-panel small {
    display: block;
    margin-top: 2px;
    color: #8A3A40;
    font-size: 11.5px;
    font-weight: 780;
}

.zt-card-field.has-error .zt-card-field-label {
    color: #B4232D !important;
}

.zt-card-field.has-error .zt-card-input-control {
    border-color: rgba(201, 42, 53, .74) !important;
    background: #FFFDFD !important;
    box-shadow: 0 0 0 4px rgba(201, 42, 53, .1), 0 14px 30px rgba(126, 34, 40, .08) !important;
}

.zt-card-field.has-error .zt-card-input-control > .zt-fa-icon {
    color: #C92A35 !important;
}

.zt-card-input-control .form-control[aria-invalid="true"]::placeholder {
    color: #A35B62 !important;
}
/* Checkout card support loader and modal upgrade */
.zt-fa-headset { --zt-fa-url: url("../images/icons/fa-headset.svg"); }

.zt-card-loader-modal .modal-content {
    border: 1px solid rgba(188, 205, 226, .95);
    border-radius: 14px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F9FF 100%);
    box-shadow: 0 34px 90px rgba(5, 18, 35, .24);
}

.zt-card-loader-modal .modal-body {
    display: grid;
    justify-items: center;
    gap: 9px;
    padding: 28px 24px 26px;
    text-align: center;
}

.zt-card-loader-ring {
    width: 58px;
    height: 58px;
    border-radius: 999px;
    background: conic-gradient(from 90deg, #1877F2, #26A17B, #F7B731, #1877F2);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 8px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 8px), #000 0);
    animation: ztCardLoaderSpin .85s linear infinite;
}

@keyframes ztCardLoaderSpin {
    to { transform: rotate(360deg); }
}

.zt-card-loader-modal h2 {
    margin: 3px 0 0;
    color: #071E3A;
    font-size: 20px;
    font-weight: 950;
}

.zt-card-loader-modal p {
    margin: 0;
    max-width: 260px;
    color: #5B718A;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-card-modal-emblem.is-support {
    background: linear-gradient(135deg, #0F5132 0%, #26A17B 100%);
    box-shadow: 0 16px 30px rgba(38, 161, 123, .22);
}

.zt-card-support-modal {
    border: 0 !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
}

.zt-card-support-modal .modal-header {
    align-items: center;
    padding: 18px 20px 15px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F5FAFF 58%, #ECFFF7 100%) !important;
}

.zt-support-modal-copy {
    margin-bottom: 13px !important;
    color: #445B74 !important;
    font-size: 13px !important;
    font-weight: 760 !important;
}

.zt-payment-support-box.is-upgraded {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border-color: rgba(38, 161, 123, .22);
    background: linear-gradient(180deg, #F2FFF9 0%, #FFFFFF 100%);
    color: #123B2A;
}

.zt-payment-support-box.is-upgraded > i {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    padding: 13px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0F5132 0%, #26A17B 100%);
    color: #FFFFFF;
}

.zt-payment-support-box.is-upgraded small {
    display: block;
    margin-bottom: 2px;
    color: #5B7D6C;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-payment-support-box.is-upgraded strong {
    display: block;
    color: #071E3A;
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-support-next-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.zt-support-next-steps span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 9px;
    border: 1px solid rgba(202, 215, 231, .86);
    border-radius: 10px;
    background: #FFFFFF;
    color: #465F79;
    font-size: 11.2px;
    font-weight: 850;
}

.zt-support-next-steps .zt-fa-icon {
    width: 13px;
    height: 13px;
    color: #26A17B;
}

.zt-card-support-modal .modal-footer {
    gap: 9px;
    padding: 15px 20px 18px;
}

.zt-card-support-modal .zt-modal-primary .zt-fa-icon {
    width: 15px;
    height: 15px;
}

@media (max-width: 575.98px) {
    .zt-support-next-steps {
        grid-template-columns: 1fr;
    }
}
/* Checkout card brand detection */
.zt-card-input-control {
    position: relative;
}

.zt-card-input-control .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.zt-card-input-control .form-control[data-card-number] {
    padding-right: 112px !important;
    font-variant-numeric: tabular-nums;
}

.zt-card-brand-badge[hidden] {
    display: none !important;
}

.zt-card-brand-badge {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    max-width: 104px;
    height: 30px;
    padding: 0 11px;
    overflow: hidden;
    border: 1px solid rgba(24, 119, 242, .2);
    border-radius: 9px;
    background: linear-gradient(180deg, #F4F8FF 0%, #FFFFFF 100%);
    color: #0E5EC9;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: inset 4px 0 0 currentColor, 0 10px 20px rgba(7, 30, 58, .08);
    pointer-events: none;
    transform: translateY(-50%);
}

.zt-card-brand-badge::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, 0) 46%);
    pointer-events: none;
}

.zt-card-brand-badge[data-brand="visa"] {
    border-color: rgba(20, 52, 203, .28);
    background: linear-gradient(180deg, #F3F6FF 0%, #FFFFFF 100%);
    color: #1434CB;
}

.zt-card-brand-badge[data-brand="mastercard"] {
    border-color: rgba(235, 0, 27, .25);
    background: linear-gradient(180deg, #FFF3EF 0%, #FFFFFF 100%);
    color: #C5232F;
}

.zt-card-brand-badge[data-brand="amex"] {
    border-color: rgba(0, 111, 207, .28);
    background: linear-gradient(180deg, #EFF8FF 0%, #FFFFFF 100%);
    color: #006FCF;
}

.zt-card-brand-badge[data-brand="discover"] {
    border-color: rgba(247, 147, 26, .3);
    background: linear-gradient(180deg, #FFF7E8 0%, #FFFFFF 100%);
    color: #B76500;
}

.zt-card-brand-badge[data-brand="diners"] {
    border-color: rgba(0, 111, 155, .28);
    background: linear-gradient(180deg, #EFFBFF 0%, #FFFFFF 100%);
    color: #006F9B;
}

.zt-card-brand-badge[data-brand="jcb"] {
    border-color: rgba(38, 161, 123, .28);
    background: linear-gradient(180deg, #EFFFF8 0%, #FFFFFF 100%);
    color: #0E7858;
}

.zt-card-brand-badge[data-brand="unionpay"] {
    border-color: rgba(191, 42, 49, .26);
    background: linear-gradient(180deg, #FFF3F4 0%, #FFFFFF 100%);
    color: #A11F28;
}

.zt-card-brand-badge[data-brand="maestro"] {
    border-color: rgba(103, 80, 164, .26);
    background: linear-gradient(180deg, #F7F3FF 0%, #FFFFFF 100%);
    color: #5E45A5;
}

@media (max-width: 420px) {
    .zt-card-input-control .form-control[data-card-number] {
        padding-right: 86px !important;
    }

    .zt-card-brand-badge {
        min-width: 64px;
        max-width: 76px;
        height: 28px;
        padding-inline: 8px;
        font-size: 9px;
    }
}/* Checkout modal close button polish */
.zt-payment-modal .modal-content {
    position: relative;
}

.zt-payment-modal .modal-header {
    padding-right: 68px;
}

.zt-payment-modal .btn-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(191, 208, 228, .95);
    border-radius: 10px;
    background-color: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 26px rgba(7, 30, 58, .12);
    opacity: 1;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.zt-payment-modal .btn-close:hover,
.zt-payment-modal .btn-close:focus-visible {
    border-color: rgba(24, 119, 242, .38);
    background-color: #fff;
    box-shadow: 0 16px 34px rgba(7, 30, 58, .16);
    transform: translateY(-1px);
    opacity: 1;
}

.zt-payment-modal .btn-close:focus-visible {
    outline: 3px solid rgba(24, 119, 242, .18);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .zt-payment-modal .modal-header {
        padding-right: 58px;
    }

    .zt-payment-modal .btn-close {
        top: 10px;
        right: 10px;
        width: 36px;
        height: 36px;
    }
}
/* Checkout card support logo modal polish */
.zt-card-support-modal {
    overflow: hidden;
    border: 1px solid rgba(190, 207, 226, .94) !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .12), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(38, 161, 123, .14), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
    box-shadow: 0 34px 90px rgba(5, 18, 35, .24);
}

.zt-card-support-modal .modal-header {
    min-height: 86px;
    padding: 20px 68px 17px 22px !important;
    border-bottom: 1px solid rgba(202, 215, 231, .78);
    background: rgba(255, 255, 255, .72) !important;
    backdrop-filter: blur(14px);
}

.zt-card-modal-emblem.is-brand-logo {
    width: 54px;
    height: 54px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(11, 79, 216, .12), rgba(22, 163, 74, .14));
    box-shadow: 0 18px 34px rgba(7, 30, 58, .16);
}

.zt-card-modal-emblem.is-brand-logo img,
.zt-support-brand-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.zt-card-support-modal .modal-title {
    margin-top: 4px;
    font-size: clamp(20px, 2.6vw, 27px);
    line-height: 1.08;
}

.zt-card-support-modal .modal-body {
    padding: 22px !important;
}

.zt-support-modal-copy {
    margin: 0 0 15px !important;
    padding: 13px 14px;
    border: 1px solid rgba(190, 207, 226, .86);
    border-left: 4px solid #1877F2;
    border-radius: 12px;
    background: rgba(255, 255, 255, .78);
    color: #314961 !important;
    font-size: 13.2px !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
}

.zt-payment-support-box.is-upgraded {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 15px;
    overflow: hidden;
    border: 1px solid rgba(24, 119, 242, .2);
    border-radius: 16px;
    background: linear-gradient(135deg, #F4F8FF 0%, #FFFFFF 48%, #F2FFF8 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .94), 0 18px 38px rgba(7, 30, 58, .08);
}

.zt-payment-support-box.is-upgraded::after {
    content: '';
    position: absolute;
    top: -38px;
    right: -42px;
    width: 120px;
    height: 120px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .1), rgba(38, 161, 123, .12));
    pointer-events: none;
}

.zt-support-brand-mark {
    position: relative;
    z-index: 1;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(11, 79, 216, .14), rgba(22, 163, 74, .16));
    box-shadow: 0 15px 30px rgba(7, 30, 58, .13);
}

.zt-payment-support-box.is-upgraded > span:last-child {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.zt-payment-support-box.is-upgraded small {
    margin-bottom: 4px;
    color: #45647F;
    font-size: 10.5px;
    letter-spacing: .09em;
}

.zt-payment-support-box.is-upgraded strong {
    overflow-wrap: anywhere;
    color: #071E3A;
    font-size: clamp(18px, 2.25vw, 25px);
    letter-spacing: .04em;
}

.zt-support-next-steps {
    gap: 10px;
    margin-top: 14px;
}

.zt-support-next-steps span {
    min-height: 48px;
    padding: 10px 11px;
    border-color: rgba(190, 207, 226, .9);
    border-radius: 12px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    color: #243B55;
    font-size: 11.5px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .055);
}

.zt-support-next-steps .zt-fa-icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: #16A34A;
}

.zt-card-support-modal .modal-footer {
    padding: 16px 22px 22px !important;
    border-top: 1px solid rgba(202, 215, 231, .72);
    background: rgba(255, 255, 255, .62);
}

.zt-card-support-modal .btn-light {
    border-color: rgba(190, 207, 226, .92);
    background: #FFFFFF;
    color: #314961;
    font-weight: 850;
}

@media (max-width: 575.98px) {
    .zt-card-support-modal .modal-header {
        min-height: 78px;
        padding: 17px 58px 15px 17px !important;
    }

    .zt-card-modal-emblem.is-brand-logo {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    .zt-card-support-modal .modal-body {
        padding: 18px !important;
    }

    .zt-payment-support-box.is-upgraded {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 13px;
    }

    .zt-support-brand-mark {
        width: 50px;
        height: 50px;
        border-radius: 14px;
    }
}
/* Checkout support reference copy polish */
.zt-fa-copy { --zt-fa-url: url("../images/icons/fa-copy.svg"); }

.zt-payment-support-box.is-upgraded.has-copy-action {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 12px;
    padding: 14px 14px 14px 16px;
}

.zt-payment-support-box.is-upgraded.has-copy-action::after {
    width: 96px;
    height: 96px;
    opacity: .72;
}

.zt-reference-copy-content {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
    gap: 3px;
}

.zt-reference-copy-content strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-reference-copy-btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 86px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 10px;
    background: #FFFFFF;
    color: #0E5EC9;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(7, 30, 58, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}

.zt-reference-copy-btn .zt-fa-icon {
    width: 13px;
    height: 13px;
}

.zt-reference-copy-btn:hover,
.zt-reference-copy-btn:focus-visible,
.zt-reference-copy-btn.is-copied {
    border-color: rgba(22, 163, 74, .36);
    color: #0F7A3A;
    box-shadow: 0 15px 30px rgba(7, 30, 58, .11);
    transform: translateY(-1px);
}

.zt-reference-copy-btn:focus-visible {
    outline: 3px solid rgba(24, 119, 242, .16);
    outline-offset: 2px;
}

.zt-reference-copy-feedback {
    margin: 9px 0 0;
    color: #0F7A3A;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-card-support-modal .modal-footer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
}

.zt-card-support-modal .modal-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding-inline: 12px;
    white-space: nowrap;
}

.zt-card-support-modal .modal-footer .btn-light {
    border-color: rgba(24, 119, 242, .18);
    color: #0E5EC9;
}

@media (max-width: 420px) {
    .zt-payment-support-box.is-upgraded.has-copy-action {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .zt-reference-copy-btn {
        width: 100%;
    }

    .zt-card-support-modal .modal-footer {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .zt-card-support-modal .modal-footer .btn {
        min-height: 44px;
        padding-inline: 8px;
        font-size: 12px;
    }
}
/* Checkout support step and copy stability */
.zt-card-support-modal .zt-support-next-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.zt-card-support-modal .zt-support-next-steps span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid rgba(190, 207, 226, .9);
    border-radius: 11px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
    color: #243B55;
    font-size: 11.4px;
    font-weight: 900;
    line-height: 1.15;
    box-shadow: 0 9px 20px rgba(7, 30, 58, .05);
}

.zt-card-support-modal .zt-support-next-steps span b {
    display: inline-grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .1), rgba(38, 161, 123, .12));
    color: #0E5EC9;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
}

.zt-reference-copy-btn {
    width: 96px;
    min-width: 96px;
    transform: none !important;
}

.zt-reference-copy-btn:hover,
.zt-reference-copy-btn:focus-visible,
.zt-reference-copy-btn.is-copied {
    transform: none !important;
}

.zt-reference-copy-btn span {
    display: inline-block;
    min-width: 42px;
    text-align: left;
}

.zt-reference-copy-feedback {
    min-height: 18px;
    margin-top: 8px;
    visibility: visible;
}

.zt-reference-copy-feedback[hidden] {
    display: block !important;
    visibility: hidden;
}

@media (max-width: 575.98px) {
    .zt-card-support-modal .zt-support-next-steps {
        grid-template-columns: 1fr;
    }

    .zt-card-support-modal .zt-support-next-steps span {
        min-height: 42px;
    }
}
/* Zaratick live chat widget */
.zt-live-chat {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 34000;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.zt-chat-launcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 184px;
    min-height: 58px;
    padding: 9px 14px 9px 9px;
    border: 1px solid rgba(189, 207, 228, .92);
    border-radius: 16px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FF 58%, #F0FFF7 100%);
    color: #071E3A;
    box-shadow: 0 20px 50px rgba(5, 18, 35, .18);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zt-chat-launcher:hover,
.zt-chat-launcher:focus-visible {
    border-color: rgba(24, 119, 242, .34);
    box-shadow: 0 24px 60px rgba(5, 18, 35, .22);
    transform: translateY(-2px);
}

.zt-chat-launcher:focus-visible,
.zt-chat-close:focus-visible,
.zt-chat-composer button:focus-visible {
    outline: 3px solid rgba(24, 119, 242, .18);
    outline-offset: 2px;
}

.zt-chat-launcher-mark,
.zt-chat-agent-mark {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .9);
    background: linear-gradient(135deg, rgba(11, 79, 216, .16), rgba(22, 163, 74, .16));
    box-shadow: 0 14px 28px rgba(7, 30, 58, .14);
}

.zt-chat-launcher-mark {
    width: 42px;
    height: 42px;
    padding: 6px;
    border-radius: 14px;
}

.zt-chat-launcher-mark img,
.zt-chat-agent-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.zt-chat-launcher-text {
    display: grid;
    gap: 1px;
    text-align: left;
}

.zt-chat-launcher-text strong {
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-chat-launcher-text small {
    color: #55708D;
    font-size: 11px;
    font-weight: 800;
}

.zt-chat-unread-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    min-width: 24px;
    height: 24px;
    place-items: center;
    padding: 0 7px;
    border: 2px solid #FFFFFF;
    border-radius: 999px;
    background: #E5484D;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
}

.zt-chat-panel {
    position: absolute;
    right: 0;
    bottom: 74px;
    display: grid;
    width: min(384px, calc(100vw - 28px));
    max-height: min(660px, calc(100vh - 110px));
    overflow: hidden;
    border: 1px solid rgba(188, 205, 226, .94);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 30px 90px rgba(5, 18, 35, .28);
    transform: translateY(12px) scale(.98);
    transform-origin: bottom right;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}

.zt-chat-panel[hidden] {
    display: none !important;
}

.zt-live-chat.is-open .zt-chat-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.zt-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 14px 13px;
    border-bottom: 1px solid rgba(202, 215, 231, .82);
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FF 56%, #F0FFF7 100%);
}

.zt-chat-agent {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
}

.zt-chat-agent-mark {
    width: 42px;
    height: 42px;
    padding: 6px;
    border-radius: 14px;
}

.zt-chat-agent small {
    display: block;
    color: #5D748D;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-chat-agent strong {
    display: block;
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
}

.zt-chat-close {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(190, 207, 226, .92);
    border-radius: 11px;
    background: #FFFFFF;
    color: #314961;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .08);
}

.zt-chat-body {
    display: grid;
    min-height: 360px;
    max-height: 500px;
    grid-template-rows: auto auto auto 1fr;
    gap: 9px;
    padding: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(24, 119, 242, .07), transparent 30%),
        linear-gradient(180deg, #FBFDFF 0%, #F5F8FC 100%);
}

.zt-chat-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    padding: 6px 9px;
    border: 1px solid rgba(38, 161, 123, .16);
    border-radius: 999px;
    background: #F0FFF7;
    color: #0F7A3A;
    font-size: 11px;
    font-weight: 900;
}

.zt-chat-status span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #16A34A;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .13);
}

.zt-chat-intro {
    margin: 0;
    color: #526981;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-chat-reference {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    gap: 5px;
    padding: 7px 9px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 10px;
    background: #FFFFFF;
    color: #38516A;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-chat-reference strong {
    overflow: hidden;
    color: #0E5EC9;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-chat-messages {
    display: flex;
    min-height: 180px;
    max-height: 320px;
    flex-direction: column;
    gap: 9px;
    overflow-y: auto;
    padding: 4px 2px 4px 0;
    scrollbar-width: thin;
}

.zt-chat-message {
    display: grid;
    max-width: 84%;
    gap: 4px;
}

.zt-chat-message p {
    margin: 0;
    padding: 10px 12px;
    border-radius: 14px;
    color: #071E3A;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.4;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .06);
}

.zt-chat-message small {
    color: #768AA0;
    font-size: 10.5px;
    font-weight: 800;
}

.zt-chat-message.is-admin {
    align-self: flex-start;
}

.zt-chat-message.is-admin p {
    border: 1px solid rgba(190, 207, 226, .92);
    border-bottom-left-radius: 6px;
    background: #FFFFFF;
}

.zt-chat-message.is-visitor {
    align-self: flex-end;
    text-align: right;
}

.zt-chat-message.is-visitor p {
    border-bottom-right-radius: 6px;
    background: linear-gradient(135deg, #1877F2 0%, #0B4FD8 100%);
    color: #FFFFFF;
}

.zt-chat-message.is-pending {
    opacity: .68;
}

.zt-chat-composer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 9px;
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(202, 215, 231, .82);
    background: #FFFFFF;
}

.zt-chat-composer textarea {
    width: 100%;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    resize: none;
    overflow-y: auto;
    padding: 12px 13px;
    border: 1px solid rgba(190, 207, 226, .95);
    border-radius: 13px;
    background: #F8FBFF;
    color: #071E3A;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.35;
    outline: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.zt-chat-composer textarea::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.zt-chat-composer textarea:focus {
    border-color: rgba(24, 119, 242, .58);
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1);
}

.zt-chat-composer button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #1877F2 0%, #16A34A 100%);
    color: #FFFFFF;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .22);
}

.zt-chat-composer button:disabled {
    opacity: .62;
}

@media (max-width: 575.98px) {
    .zt-live-chat {
        right: 12px;
        bottom: 12px;
        left: 12px;
    }

    .zt-chat-launcher {
        width: 100%;
        justify-content: flex-start;
    }

    .zt-chat-panel {
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: min(690px, calc(100vh - 24px));
        border-radius: 18px;
        transform-origin: bottom center;
    }

    .zt-live-chat:not(.is-on-demand) .zt-chat-panel {
        bottom: 72px;
    }

    .zt-chat-body {
        min-height: min(460px, calc(100vh - 220px));
    }

    .zt-chat-messages {
        max-height: min(360px, calc(100vh - 320px));
    }
}
/* Zaratick admin live chat */
.zt-admin-live-chat-link {
    position: relative;
}

.zt-admin-chat-sidebar-badge {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    margin-left: auto;
    padding: 0 7px;
    border-radius: 999px;
    background: #E5484D;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
}

.zt-admin-chat {
    display: grid;
    gap: 18px;
}

.zt-admin-chat-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(188, 205, 226, .9);
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 0%, rgba(24, 119, 242, .12), transparent 32%),
        radial-gradient(circle at 92% 10%, rgba(22, 163, 74, .13), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 100%);
    box-shadow: 0 24px 60px rgba(5, 18, 35, .08);
}

.zt-admin-chat-hero h2 {
    margin: 6px 0 5px;
    color: #071E3A;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-chat-hero p {
    margin: 0;
    max-width: 620px;
    color: #526981;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.5;
}

.zt-admin-chat-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(96px, 1fr));
    gap: 10px;
}

.zt-admin-chat-metrics span {
    display: grid;
    gap: 2px;
    min-height: 78px;
    align-content: center;
    padding: 12px 14px;
    border: 1px solid rgba(190, 207, 226, .9);
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 14px 30px rgba(7, 30, 58, .06);
}

.zt-admin-chat-metrics strong {
    color: #0E5EC9;
    font-size: 26px;
    font-weight: 950;
    line-height: 1;
}

.zt-admin-chat-metrics small {
    color: #5E728A;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-admin-chat-shell {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 16px;
    min-height: 620px;
}

.zt-admin-chat-list-panel,
.zt-admin-chat-thread-panel {
    overflow: hidden;
    border: 1px solid rgba(188, 205, 226, .9);
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 22px 54px rgba(5, 18, 35, .07);
}

.zt-admin-chat-list-panel {
    display: grid;
    grid-template-rows: auto 1fr;
}

.zt-admin-chat-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 15px;
    border-bottom: 1px solid rgba(202, 215, 231, .82);
    background: #F8FBFF;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-chat-list-head button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(190, 207, 226, .9);
    border-radius: 10px;
    background: #FFFFFF;
    color: #0E5EC9;
}

.zt-admin-chat-list {
    display: grid;
    align-content: start;
    max-height: 560px;
    overflow-y: auto;
    padding: 10px;
    gap: 8px;
}

.zt-admin-chat-conversation {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(190, 207, 226, .78);
    border-radius: 13px;
    background: #FFFFFF;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-admin-chat-conversation:hover,
.zt-admin-chat-conversation.is-active {
    border-color: rgba(24, 119, 242, .28);
    background: linear-gradient(135deg, #F5F9FF 0%, #FFFFFF 100%);
    box-shadow: 0 14px 28px rgba(7, 30, 58, .07);
    transform: translateY(-1px);
}

.zt-admin-chat-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #1877F2 0%, #16A34A 100%);
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 950;
}

.zt-admin-chat-conversation-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.zt-admin-chat-conversation-copy strong,
.zt-admin-chat-conversation-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-chat-conversation-copy strong {
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-chat-conversation-copy small {
    color: #60758C;
    font-size: 11.5px;
    font-weight: 760;
}

.zt-admin-chat-conversation-meta {
    display: grid;
    justify-items: end;
    gap: 5px;
}

.zt-admin-chat-conversation-meta small {
    color: #7C8DA1;
    font-size: 10.5px;
    font-weight: 850;
}

.zt-admin-chat-conversation-meta b {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 7px;
    border-radius: 999px;
    background: #E5484D;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
}

.zt-admin-chat-thread-panel {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-width: 0;
}

.zt-admin-chat-thread-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(202, 215, 231, .82);
    background: linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 100%);
}

.zt-admin-chat-thread-head span {
    display: inline-flex;
    margin-bottom: 5px;
    color: #0E5EC9;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-admin-chat-thread-head h3 {
    margin: 0 0 4px;
    color: #071E3A;
    font-size: 20px;
    font-weight: 950;
}

.zt-admin-chat-thread-head small {
    color: #60758C;
    font-size: 12px;
    font-weight: 800;
}

.zt-admin-chat-thread {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    padding: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(24, 119, 242, .06), transparent 32%),
        linear-gradient(180deg, #FBFDFF 0%, #F5F8FC 100%);
}

.zt-admin-chat-message {
    display: grid;
    max-width: 78%;
    gap: 5px;
}

.zt-admin-chat-message span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #60758C;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-admin-chat-message span small {
    color: #8A9BAD;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.zt-admin-chat-message p {
    margin: 0;
    padding: 11px 13px;
    border-radius: 14px;
    color: #071E3A;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.45;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .055);
}

.zt-admin-chat-message.is-visitor,
.zt-admin-chat-message.is-system {
    align-self: flex-start;
}

.zt-admin-chat-message.is-visitor p {
    border: 1px solid rgba(190, 207, 226, .92);
    border-bottom-left-radius: 6px;
    background: #FFFFFF;
}

.zt-admin-chat-message.is-admin {
    align-self: flex-end;
    text-align: right;
}

.zt-admin-chat-message.is-admin span {
    justify-content: flex-end;
}

.zt-admin-chat-message.is-admin p {
    border-bottom-right-radius: 6px;
    background: linear-gradient(135deg, #1877F2 0%, #0B4FD8 100%);
    color: #FFFFFF;
}

.zt-admin-chat-message.is-system {
    max-width: 100%;
    align-self: center;
    text-align: center;
}

.zt-admin-chat-message.is-system span {
    justify-content: center;
}

.zt-admin-chat-message.is-system p {
    border: 1px solid rgba(38, 161, 123, .18);
    background: #F0FFF7;
    color: #0F5132;
    font-size: 12px;
}

.zt-admin-chat-composer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid rgba(202, 215, 231, .82);
    background: #FFFFFF;
}

.zt-admin-chat-composer textarea {
    min-height: 46px;
    max-height: 130px;
    resize: none;
    padding: 12px 14px;
    border: 1px solid rgba(190, 207, 226, .96);
    border-radius: 13px;
    background: #F8FBFF;
    color: #071E3A;
    font-size: 13px;
    font-weight: 760;
    outline: 0;
}

.zt-admin-chat-composer textarea:focus {
    border-color: rgba(24, 119, 242, .58);
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1);
}

.zt-admin-chat-composer button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 104px;
    min-height: 46px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #1877F2 0%, #16A34A 100%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .2);
}

.zt-admin-chat-composer button:disabled,
.zt-admin-chat-composer textarea:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.zt-admin-chat-empty {
    padding: 18px;
    border: 1px dashed rgba(190, 207, 226, .9);
    border-radius: 14px;
    background: #F8FBFF;
    color: #60758C;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.zt-admin-chat-empty.is-thread {
    margin: auto;
    max-width: 320px;
}

@media (max-width: 991.98px) {
    .zt-admin-chat-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-admin-chat-shell {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .zt-admin-chat-list {
        max-height: 320px;
    }

    .zt-admin-chat-thread-panel {
        min-height: 560px;
    }
}

@media (max-width: 575.98px) {
    .zt-admin-chat-hero,
    .zt-admin-chat-thread-head {
        padding: 16px;
    }

    .zt-admin-chat-metrics {
        width: 100%;
    }

    .zt-admin-chat-thread-head {
        flex-direction: column;
    }

    .zt-admin-chat-message {
        max-width: 90%;
    }

    .zt-admin-chat-composer {
        grid-template-columns: 1fr;
    }

    .zt-admin-chat-composer button {
        width: 100%;
    }
}
/* Checkout live chat support refinement */
.zt-live-chat[data-chat-source="checkout"].has-visible-launcher .zt-chat-panel {
    bottom: 74px;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-panel {
    border-color: rgba(24, 119, 242, .22);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-header {
    padding: 15px 16px 14px;
    background:
        radial-gradient(circle at 6% 0%, rgba(24, 119, 242, .13), transparent 36%),
        linear-gradient(135deg, #FFFFFF 0%, #F3F8FF 60%, #F1FFF8 100%);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-agent small {
    color: #0E5EC9;
    font-size: 10.8px;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-agent strong {
    color: #071E3A;
    font-size: 16px;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-body {
    min-height: 310px;
    gap: 10px;
    padding: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(38, 161, 123, .08), transparent 28%),
        linear-gradient(180deg, #FBFDFF 0%, #F4F8FC 100%);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-status {
    min-height: 30px;
    padding: 6px 10px;
    background: #ECFFF6;
    color: #0F7A3A;
    font-size: 11.5px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-intro {
    padding: 11px 12px;
    border: 1px solid rgba(190, 207, 226, .82);
    border-radius: 12px;
    background: rgba(255, 255, 255, .86);
    color: #314961;
    font-size: 12.8px;
    font-weight: 820;
    line-height: 1.45;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-reference {
    width: 100%;
    justify-content: space-between;
    padding: 10px 12px;
    border-color: rgba(24, 119, 242, .22);
    border-radius: 12px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FF 100%);
    color: #526981;
    font-size: 11.8px;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .055);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-reference strong {
    color: #0E5EC9;
    font-size: 12.4px;
    font-weight: 950;
    letter-spacing: .03em;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-messages {
    min-height: 120px;
    max-height: 250px;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer {
    grid-template-columns: minmax(0, 1fr) 48px;
    gap: 10px;
    padding: 13px 15px 15px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea {
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    padding: 14px 14px;
    border: 1px solid rgba(24, 119, 242, .26);
    border-radius: 14px;
    background: #FFFFFF;
    color: #071E3A;
    font-size: 13.5px;
    font-weight: 820;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 10px 22px rgba(7, 30, 58, .055);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea::placeholder {
    color: #5F758C;
    font-size: 13px;
    font-weight: 780;
    opacity: 1;
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea:focus {
    border-color: rgba(24, 119, 242, .72);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .12), 0 14px 30px rgba(7, 30, 58, .08);
}

.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer button {
    width: 48px;
    height: 50px;
    border-radius: 14px;
}

.zt-live-chat.has-visible-launcher .zt-chat-launcher[hidden] {
    display: inline-flex !important;
}

@media (max-width: 575.98px) {
    .zt-live-chat[data-chat-source="checkout"].has-visible-launcher .zt-chat-panel {
        bottom: 72px;
    }

    .zt-live-chat[data-chat-source="checkout"] .zt-chat-body {
        min-height: min(430px, calc(100vh - 240px));
    }
}
/* Live chat public visibility polish */
.zt-live-chat {
    z-index: 50000;
}

.zt-chat-launcher {
    min-height: 60px;
    border-color: rgba(24, 119, 242, .18);
    background: linear-gradient(135deg, #FFFFFF 0%, #F2F7FF 58%, #ECFFF6 100%);
    box-shadow: 0 22px 56px rgba(5, 18, 35, .2);
}

.zt-live-chat.is-open .zt-chat-launcher {
    border-color: rgba(24, 119, 242, .38);
    background: linear-gradient(135deg, #071E3A 0%, #0B4FD8 64%, #15945B 100%);
    color: #FFFFFF;
    box-shadow: 0 22px 58px rgba(7, 30, 58, .28);
}

.zt-live-chat.is-open .zt-chat-launcher-text strong,
.zt-live-chat.is-open .zt-chat-launcher-text small {
    color: #FFFFFF;
}

.zt-live-chat.is-open .zt-chat-launcher-mark {
    background: rgba(255, 255, 255, .16);
    border-color: rgba(255, 255, 255, .28);
}

.zt-chat-panel {
    display: grid;
    width: min(404px, calc(100vw - 28px));
    grid-template-rows: auto minmax(0, 1fr) auto;
    border-color: rgba(177, 198, 222, .95);
    border-radius: 20px;
    box-shadow: 0 34px 100px rgba(5, 18, 35, .3);
}

.zt-chat-header {
    min-height: 72px;
    padding: 15px 16px;
    background:
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .15), transparent 34%),
        linear-gradient(135deg, #FFFFFF 0%, #F3F8FF 58%, #F0FFF7 100%);
}

.zt-chat-agent small {
    color: #0E5EC9;
    font-size: 10.8px;
}

.zt-chat-agent strong {
    color: #071E3A;
    font-size: 16px;
}

.zt-chat-close {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #0B1F3A;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.zt-chat-close:hover,
.zt-chat-close:focus-visible {
    border-color: rgba(24, 119, 242, .34);
    background: #F3F8FF;
    color: #0B4FD8;
    transform: translateY(-1px);
}

.zt-chat-body {
    min-height: 330px;
    max-height: min(500px, calc(100vh - 230px));
    grid-template-rows: auto auto auto minmax(0, 1fr);
    overflow: hidden;
    padding: 15px;
}

.zt-chat-status {
    min-height: 30px;
    padding: 7px 10px;
    border-color: rgba(22, 163, 74, .18);
    background: #ECFFF6;
    color: #0F7A3A;
    font-size: 11.5px;
}

.zt-chat-intro {
    padding: 10px 11px;
    border: 1px solid rgba(190, 207, 226, .78);
    border-radius: 12px;
    background: rgba(255, 255, 255, .9);
    color: #314961;
    font-size: 12.8px;
    font-weight: 800;
}

.zt-chat-reference {
    padding: 9px 11px;
    border-color: rgba(24, 119, 242, .22);
    border-radius: 12px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FF 100%);
    box-shadow: 0 10px 22px rgba(7, 30, 58, .055);
}

.zt-chat-messages {
    min-height: 0;
    max-height: none;
    padding-right: 4px;
}

.zt-chat-composer {
    grid-template-columns: minmax(0, 1fr) 52px;
    align-items: center;
    gap: 10px;
    padding: 13px 15px 15px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
}

.zt-chat-composer textarea,
.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea {
    height: 52px;
    min-height: 52px;
    max-height: 52px;
    overflow-y: auto;
    padding: 15px 15px;
    border: 1px solid rgba(24, 119, 242, .3);
    border-radius: 15px;
    background: #FFFFFF;
    color: #071E3A;
    font-size: 13.5px;
    font-weight: 820;
    line-height: 1.35;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), 0 12px 26px rgba(7, 30, 58, .07);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.zt-chat-composer textarea::placeholder,
.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea::placeholder {
    color: #61758D;
    font-size: 13px;
    font-weight: 800;
    opacity: 1;
}

.zt-chat-composer textarea:focus,
.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea:focus {
    border-color: rgba(24, 119, 242, .72);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .12), 0 14px 30px rgba(7, 30, 58, .08);
}

.zt-chat-composer button,
.zt-live-chat[data-chat-source="checkout"] .zt-chat-composer button {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    font-size: 18px;
}

.zt-live-chat.has-visible-launcher .zt-chat-launcher[hidden] {
    display: inline-flex !important;
}

@media (max-width: 575.98px) {
    .zt-chat-panel {
        width: 100%;
        max-height: min(690px, calc(100vh - 24px));
    }

    .zt-live-chat.is-on-demand.has-visible-launcher .zt-chat-panel,
    .zt-live-chat:not(.is-on-demand) .zt-chat-panel {
        bottom: 74px;
    }

    .zt-chat-body,
    .zt-live-chat[data-chat-source="checkout"] .zt-chat-body {
        min-height: min(390px, calc(100vh - 250px));
        max-height: min(500px, calc(100vh - 220px));
    }

    .zt-chat-composer,
    .zt-live-chat[data-chat-source="checkout"] .zt-chat-composer {
        grid-template-columns: minmax(0, 1fr) 50px;
        padding: 12px;
    }

    .zt-chat-composer textarea,
    .zt-live-chat[data-chat-source="checkout"] .zt-chat-composer textarea,
    .zt-chat-composer button,
    .zt-live-chat[data-chat-source="checkout"] .zt-chat-composer button {
        height: 50px;
        min-height: 50px;
        max-height: 50px;
    }
}
/* End live chat public visibility polish */
/* Live chat typing and scroll polish */
.zt-chat-panel,
.zt-live-chat[data-chat-source="checkout"] .zt-chat-panel {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.zt-chat-messages,
.zt-admin-chat-thread,
.zt-admin-chat-list {
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-color: rgba(24, 119, 242, .38) rgba(227, 235, 245, .7);
    scrollbar-width: thin;
}

.zt-chat-messages::-webkit-scrollbar,
.zt-admin-chat-thread::-webkit-scrollbar,
.zt-admin-chat-list::-webkit-scrollbar {
    width: 7px;
}

.zt-chat-messages::-webkit-scrollbar-track,
.zt-admin-chat-thread::-webkit-scrollbar-track,
.zt-admin-chat-list::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(227, 235, 245, .72);
}

.zt-chat-messages::-webkit-scrollbar-thumb,
.zt-admin-chat-thread::-webkit-scrollbar-thumb,
.zt-admin-chat-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: linear-gradient(180deg, #1877F2, #16A34A);
}

.zt-chat-typing,
.zt-admin-chat-typing {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: calc(100% - 30px);
    gap: 9px;
    margin: 0 15px 2px;
    padding: 9px 12px;
    border: 1px solid rgba(190, 207, 226, .86);
    border-radius: 14px;
    background: #FFFFFF;
    color: #314961;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(7, 30, 58, .075);
}

.zt-chat-typing[hidden],
.zt-admin-chat-typing[hidden] {
    display: none !important;
}

.zt-chat-typing-dots {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.zt-chat-typing-dots i {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #1877F2;
    animation: ztChatTypingPulse 1s ease-in-out infinite;
}

.zt-chat-typing-dots i:nth-child(2) {
    animation-delay: .14s;
    background: #0E5EC9;
}

.zt-chat-typing-dots i:nth-child(3) {
    animation-delay: .28s;
    background: #16A34A;
}

@keyframes ztChatTypingPulse {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: .48;
    }
    40% {
        transform: translateY(-3px);
        opacity: 1;
    }
}

.zt-admin-chat-thread-panel {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.zt-admin-chat-thread {
    min-height: 0;
    max-height: none;
}

.zt-admin-chat-typing {
    margin: 0 18px 3px;
    border-color: rgba(24, 119, 242, .2);
    background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FF 100%);
    color: #0B4F91;
}

.zt-admin-chat-conversation.is-typing {
    border-color: rgba(22, 163, 74, .28);
    background: linear-gradient(135deg, #F2FFF8 0%, #FFFFFF 100%);
}

.zt-admin-chat-conversation.is-typing .zt-admin-chat-conversation-copy small {
    color: #0F7A3A;
    font-weight: 950;
}

.zt-admin-chat-conversation-meta em {
    display: inline-grid;
    min-height: 20px;
    place-items: center;
    padding: 0 7px;
    border-radius: 999px;
    background: #ECFFF6;
    color: #0F7A3A;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-admin-chat-composer {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px 16px 16px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-admin-chat-composer textarea {
    height: 52px;
    min-height: 52px;
    max-height: 52px;
    overflow-y: auto;
    padding: 15px 15px;
    border-color: rgba(24, 119, 242, .28);
    background: #FFFFFF;
    font-size: 13.5px;
    font-weight: 820;
    line-height: 1.35;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), 0 12px 26px rgba(7, 30, 58, .055);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.zt-admin-chat-composer textarea::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.zt-admin-chat-composer button {
    min-height: 52px;
    border-radius: 15px;
}

@media (max-width: 575.98px) {
    .zt-chat-typing,
    .zt-admin-chat-typing {
        max-width: calc(100% - 24px);
        margin-inline: 12px;
    }
}
/* End live chat typing and scroll polish */
/* Live chat brand mark and intro polish */
.zt-chat-agent-mark.zt-chat-brand-mark {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 14px;
    background: radial-gradient(circle at 28% 22%, #78B8FF 0, #1877F2 42%, #0B1F3A 100%);
    box-shadow: 0 14px 28px rgba(24, 119, 242, .24), inset 0 1px 0 rgba(255,255,255,.35);
}

.zt-chat-agent-mark.zt-chat-brand-mark::after {
    content: "";
    position: absolute;
    right: -9px;
    bottom: -11px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
}

.zt-chat-agent-mark.zt-chat-brand-mark .zt-brand-orbit {
    inset: 8px 7px 7px 8px;
}

.zt-chat-agent-mark.zt-chat-brand-mark i {
    position: relative;
    z-index: 2;
    color: #FFFFFF;
    font-size: 19px;
    transform: rotate(-28deg) translateX(1px);
}

.zt-chat-intro[hidden] {
    display: none !important;
}
/* End live chat brand mark and intro polish */
/* Live chat active conversation cleanup */
.zt-live-chat.has-chat-started .zt-chat-status,
.zt-live-chat.has-chat-started .zt-chat-intro,
.zt-live-chat.has-chat-started .zt-chat-reference {
    display: none !important;
}

.zt-live-chat.has-chat-started .zt-chat-body,
.zt-live-chat.has-chat-started[data-chat-source="checkout"] .zt-chat-body {
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
    padding-top: 12px;
}

.zt-live-chat.has-chat-started .zt-chat-messages,
.zt-live-chat.has-chat-started[data-chat-source="checkout"] .zt-chat-messages {
    min-height: 0;
    height: 100%;
    max-height: none;
    padding-top: 2px;
}

.zt-chat-status {
    border-color: rgba(22, 163, 74, .2);
    background: linear-gradient(135deg, #ECFFF6 0%, #FFFFFF 100%);
    box-shadow: 0 10px 22px rgba(15, 122, 58, .08), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.zt-chat-reference {
    display: none !important;
}
/* End live chat active conversation cleanup */
/* Live chat header online badge */
.zt-chat-agent-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.zt-chat-agent-copy strong {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.zt-chat-agent-online {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 20px;
    padding: 3px 7px;
    border: 1px solid rgba(22, 163, 74, .24);
    border-radius: 999px;
    background: linear-gradient(135deg, #ECFFF6 0%, #FFFFFF 100%);
    color: #0F7A3A;
    font-size: 9.5px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(15, 122, 58, .1), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.zt-chat-agent-online span {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #16A34A;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .14);
}
/* End live chat header online badge */
/* Live chat message avatar polish */
.zt-chat-message {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    max-width: 92%;
}

.zt-chat-message-content {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.zt-chat-message-avatar,
.zt-admin-chat-message-avatar {
    position: relative;
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    overflow: hidden;
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .1), inset 0 1px 0 rgba(255, 255, 255, .7);
}

.zt-chat-message-avatar i,
.zt-admin-chat-message-avatar i {
    position: relative;
    z-index: 1;
    font-size: 14px;
    line-height: 1;
}

.zt-chat-message.is-admin {
    align-self: flex-start;
}

.zt-chat-message.is-admin .zt-chat-message-avatar,
.zt-admin-chat-message.is-admin .zt-admin-chat-message-avatar {
    border: 1px solid rgba(24, 119, 242, .26);
    background: radial-gradient(circle at 28% 20%, #78B8FF 0, #1877F2 46%, #0B1F3A 100%);
    color: #FFFFFF;
}

.zt-chat-message.is-admin p,
.zt-admin-chat-message.is-visitor p {
    border: 1px solid rgba(24, 119, 242, .14);
    border-bottom-left-radius: 7px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F3F8FF 100%);
    color: #071E3A;
    box-shadow: 0 14px 30px rgba(7, 30, 58, .075);
}

.zt-chat-message.is-visitor {
    align-self: flex-end;
    flex-direction: row-reverse;
    text-align: right;
}

.zt-chat-message.is-visitor .zt-chat-message-avatar,
.zt-admin-chat-message.is-visitor .zt-admin-chat-message-avatar {
    border: 1px solid rgba(82, 105, 129, .16);
    background: linear-gradient(135deg, #EEF4FA 0%, #FFFFFF 100%);
    color: #314961;
}

.zt-chat-message.is-visitor .zt-chat-message-content {
    justify-items: end;
}

.zt-chat-message.is-visitor small,
.zt-admin-chat-message.is-admin .zt-admin-chat-message-meta {
    justify-content: flex-end;
    text-align: right;
}

.zt-admin-chat-message {
    display: flex;
    align-items: flex-end;
    gap: 9px;
    max-width: 86%;
}

.zt-admin-chat-message-content {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.zt-admin-chat-message span.zt-admin-chat-message-avatar {
    display: grid;
    gap: 0;
    color: inherit;
    font-size: initial;
    font-weight: initial;
    letter-spacing: 0;
    text-transform: none;
}

.zt-admin-chat-message-meta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #60758C;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-admin-chat-message-meta small {
    color: #8A9BAD;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.zt-admin-chat-message.is-admin {
    flex-direction: row-reverse;
}

.zt-admin-chat-message.is-admin .zt-admin-chat-message-content {
    justify-items: end;
}

.zt-admin-chat-message.is-system {
    display: grid;
    justify-items: center;
}

.zt-admin-chat-message.is-system .zt-admin-chat-message-avatar {
    display: none;
}

@media (max-width: 575.98px) {
    .zt-chat-message,
    .zt-admin-chat-message {
        max-width: 96%;
        gap: 7px;
    }

    .zt-chat-message-avatar,
    .zt-admin-chat-message-avatar {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
        border-radius: 10px;
    }
}
/* Live chat faster send feedback */
.zt-chat-message.is-pending {
    opacity: .92;
}

.zt-chat-message.is-pending small {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.zt-chat-message.is-pending small::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 2px solid rgba(24, 119, 242, .24);
    border-top-color: rgba(255, 255, 255, .88);
    border-radius: 50%;
    animation: ztChatSendSpin .72s linear infinite;
}

.zt-chat-message.is-failed p {
    background: linear-gradient(135deg, #FFF1F2 0%, #FFE4E6 100%);
    color: #991B1B;
    border: 1px solid rgba(225, 29, 72, .18);
}

.zt-chat-message.is-failed small {
    color: #B91C1C;
}

.zt-chat-composer button.is-sending i {
    animation: ztChatSendPulse .72s ease-in-out infinite alternate;
}

@keyframes ztChatSendSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes ztChatSendPulse {
    from {
        transform: translateX(0) scale(1);
        opacity: .78;
    }

    to {
        transform: translateX(1px) scale(1.08);
        opacity: 1;
    }
}
/* End live chat message avatar polish */
/* Live chat typing avatar polish */
.zt-chat-typing-avatar {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 10px 22px rgba(7, 30, 58, .1), inset 0 1px 0 rgba(255, 255, 255, .72);
}

.zt-chat-typing-avatar i {
    font-size: 13px;
    line-height: 1;
}

.zt-chat-typing-avatar.is-support {
    border: 1px solid rgba(24, 119, 242, .26);
    background: radial-gradient(circle at 28% 20%, #78B8FF 0, #1877F2 46%, #0B1F3A 100%);
    color: #FFFFFF;
}

.zt-chat-typing-avatar.is-visitor {
    border: 1px solid rgba(82, 105, 129, .16);
    background: linear-gradient(135deg, #EEF4FA 0%, #FFFFFF 100%);
    color: #314961;
}

.zt-chat-typing,
.zt-admin-chat-typing {
    gap: 8px;
    padding-left: 8px;
}
/* End live chat typing avatar polish */
/* Selected pickup card carousel */
.zt-transfer-visual {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #071E3A !important;
}

.zt-transfer-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(5, 18, 35, .06) 0%, rgba(5, 18, 35, .34) 46%, rgba(5, 18, 35, .8) 100%),
        linear-gradient(90deg, rgba(5, 18, 35, .76) 0%, rgba(5, 18, 35, .24) 56%, rgba(5, 18, 35, .5) 100%);
    pointer-events: none;
}

.zt-transfer-visual::after {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 8px;
    pointer-events: none;
}

.zt-selected-pickup-slider,
.zt-selected-pickup-slide {
    position: absolute;
    inset: 0;
}

.zt-selected-pickup-slider {
    z-index: 0;
    overflow: hidden;
    background: #071E3A;
}

.zt-selected-pickup-slide {
    margin: 0;
    opacity: 0;
    transform: translate3d(-18%, 0, 0) scale(1.05);
    animation: ztSelectedPickupSlide 12s cubic-bezier(.36, 0, .18, 1) infinite;
    will-change: transform, opacity;
}

.zt-selected-pickup-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.08) contrast(1.03);
}

.zt-selected-pickup-slide.is-slide-2 {
    animation-delay: 4s;
}

.zt-selected-pickup-slide.is-slide-3 {
    animation-delay: 8s;
}

@keyframes ztSelectedPickupSlide {
    0% {
        opacity: 0;
        transform: translate3d(-18%, 0, 0) scale(1.05);
    }
    7% {
        opacity: 1;
    }
    27% {
        opacity: 1;
        transform: translate3d(6%, 0, 0) scale(1.08);
    }
    34%, 100% {
        opacity: 0;
        transform: translate3d(22%, 0, 0) scale(1.08);
    }
}

.zt-selected-pickup-card {
    position: relative;
    z-index: 3;
    width: min(100%, 420px);
    overflow: hidden;
    isolation: isolate;
    padding: 18px;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(5, 18, 35, .7);
    box-shadow: 0 24px 54px rgba(0, 0, 0, .3);
}

.zt-selected-pickup-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .03) 100%);
    pointer-events: none;
}

.zt-selected-pickup-content {
    position: relative;
    z-index: 1;
    display: grid;
    max-width: 100%;
    gap: 10px;
}

.zt-selected-pickup-kicker {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(159, 212, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .13);
    color: #D7ECFF !important;
    font-size: 10.5px !important;
    letter-spacing: .08em;
    backdrop-filter: blur(12px);
}

.zt-selected-pickup-content > strong {
    display: block;
    max-width: 100%;
    margin: 0 !important;
    overflow-wrap: anywhere;
    color: #FFFFFF;
    font-size: clamp(20px, 2vw, 27px) !important;
    line-height: 1.08 !important;
    text-shadow: 0 10px 28px rgba(0, 0, 0, .35);
}

.zt-selected-pickup-route {
    gap: 8px;
    margin: 0 !important;
}

.zt-selected-pickup-route b,
.zt-selected-pickup-route i {
    min-height: 36px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(12px);
}

.zt-selected-pickup-route i {
    width: 36px;
    justify-content: center;
    padding-inline: 0;
    color: #9FD4FF;
}

.zt-selected-pickup-content small {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    gap: 7px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .86) !important;
    font-size: 12px !important;
    line-height: 1.2;
    backdrop-filter: blur(12px);
}

@media (max-width: 991.98px) {
    .zt-transfer-visual {
        min-height: 300px;
    }
}

@media (max-width: 575.98px) {
    .zt-transfer-visual::after {
        inset: 9px;
    }

    .zt-selected-pickup-card {
        padding: 14px;
    }

    .zt-selected-pickup-content {
        gap: 8px;
    }

    .zt-selected-pickup-content small {
        align-items: flex-start;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-selected-pickup-slide {
        animation: none !important;
    }

    .zt-selected-pickup-slide.is-slide-1 {
        opacity: 1;
        transform: none;
    }
}
/* End selected pickup card carousel */
/* Selected pickup transparent overlay */
.zt-transfer-visual {
    border-color: transparent !important;
}

.zt-transfer-visual::after,
.zt-selected-pickup-card::before {
    display: none !important;
}

.zt-selected-pickup-card {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.zt-selected-pickup-kicker,
.zt-selected-pickup-route b,
.zt-selected-pickup-route i,
.zt-selected-pickup-content small {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.zt-selected-pickup-content > strong,
.zt-selected-pickup-route b,
.zt-selected-pickup-route i,
.zt-selected-pickup-content small,
.zt-selected-pickup-kicker {
    text-shadow: 0 10px 28px rgba(0, 0, 0, .72), 0 2px 8px rgba(0, 0, 0, .45);
}
/* End selected pickup transparent overlay */
/* Destinations page enterprise upgrade */
.zt-destinations-page-hero {
    position: relative;
    overflow: hidden;
    padding-top: 128px;
    padding-bottom: 58px;
    background:
        radial-gradient(circle at 88% 12%, rgba(38, 161, 123, .22), transparent 30%),
        radial-gradient(circle at 12% 8%, rgba(24, 119, 242, .28), transparent 32%),
        linear-gradient(135deg, #061A31 0%, #0B2748 58%, #071E3A 100%);
}

.zt-destinations-page-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
}

.zt-destinations-page-hero .zt-container {
    position: relative;
    z-index: 1;
}

.zt-destinations-page-hero h1 {
    max-width: 850px;
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.03;
    letter-spacing: 0;
}

.zt-destinations-page-hero p {
    max-width: 760px;
    color: rgba(255, 255, 255, .82);
    font-size: 16px;
    line-height: 1.58;
}

.zt-destinations-page-section {
    background:
        linear-gradient(180deg, #F4F8FC 0%, #FFFFFF 42%, #F7FAFD 100%);
}

.zt-destinations-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    margin-bottom: 24px;
}

.zt-destinations-page-head h2 {
    margin: 8px 0 6px;
    color: #071E3A;
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.06;
}

.zt-destinations-page-head p {
    max-width: 720px;
    margin: 0;
    color: #526981;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.55;
}

.zt-destination-filter-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 620px;
}

.zt-market-filter {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid rgba(184, 204, 226, .94);
    border-radius: 8px;
    background: rgba(255,255,255,.86);
    color: #314961;
    font-size: 12.5px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(7, 30, 58, .05);
    transition: transform .18s ease, border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}

.zt-market-filter i {
    color: #1877F2;
    font-size: 14px;
}

.zt-market-filter:hover,
.zt-market-filter:focus-visible,
.zt-market-filter.is-active {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .36);
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 34px rgba(24, 119, 242, .18);
}

.zt-market-filter:hover i,
.zt-market-filter:focus-visible i,
.zt-market-filter.is-active i {
    color: #FFFFFF;
}

.zt-destinations-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.zt-destination-page-card {
    min-height: 100%;
    border-radius: 8px;
    background: #FFFFFF;
}

.zt-destination-page-card .zt-destination-media {
    aspect-ratio: 16 / 10;
}

.zt-destination-page-card .zt-destination-body {
    min-height: 250px;
    padding: 18px;
}

.zt-destination-page-card .zt-destination-label {
    width: fit-content;
    padding: 6px 9px;
    border-radius: 999px;
    background: #EFF7FF;
    color: #0E5EC9;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-destination-page-card .zt-destination-body h3 {
    margin-top: 10px;
    font-size: 22px;
    letter-spacing: 0;
}

.zt-destination-page-card .zt-destination-body p {
    min-height: 54px;
    color: #526981;
    font-size: 13.5px;
    line-height: 1.52;
}

.zt-destination-page-card .zt-destination-footer {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(202, 215, 231, .78);
}

.zt-destination-page-card .zt-destination-footer > span {
    border-radius: 8px;
}

.zt-destination-page-card .zt-destination-dynamic-footer {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.zt-destination-service-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid rgba(202, 215, 231, .92);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
    color: #314255;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(14, 35, 59, .05);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.zt-destination-service-chip i {
    color: #1877F2;
    font-size: 14px;
}

.zt-destination-service-chip:hover,
.zt-destination-service-chip:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .36);
    color: #0E5EC9;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .12);
}

.zt-destination-page-card .zt-destination-link {
    grid-column: 1 / -1;
    border-radius: 8px;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .zt-destinations-page-head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .zt-destination-filter-bar {
        justify-content: flex-start;
        max-width: 100%;
    }

    .zt-destinations-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-destinations-page-hero {
        padding-top: 102px;
        padding-bottom: 44px;
    }

    .zt-destination-filter-bar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .zt-market-filter {
        justify-content: center;
    }

    .zt-destinations-page-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .zt-destination-page-card .zt-destination-body {
        min-height: auto;
    }

    .zt-destination-page-card .zt-destination-body p {
        min-height: auto;
    }
}

@media (max-width: 420px) {
    .zt-destination-filter-bar {
        grid-template-columns: 1fr;
    }
}
/* End destinations page enterprise upgrade */
/* Destinations page navbar spacing */
.zt-destinations-page-section {
    padding-top: 124px !important;
}

@media (max-width: 991.98px) {
    .zt-destinations-page-section {
        padding-top: 108px !important;
    }
}

@media (max-width: 575.98px) {
    .zt-destinations-page-section {
        padding-top: 96px !important;
    }
}
/* End destinations page navbar spacing */
/* Destination directory header enterprise polish */
.zt-destinations-page-head {
    position: relative;
    isolation: isolate;
    align-items: stretch;
    gap: 18px;
    margin-bottom: 26px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid rgba(184, 204, 226, .86);
    border-radius: 8px;
    background:
        radial-gradient(circle at 8% 0%, rgba(24, 119, 242, .1), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(244,248,252,.96) 100%);
    box-shadow: 0 24px 60px rgba(7, 30, 58, .1);
}

.zt-destinations-page-head::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #1877F2 0%, #26A17B 100%);
    pointer-events: none;
}

.zt-destination-directory-copy {
    display: grid;
    align-content: center;
    min-width: 0;
    gap: 8px;
    padding: 4px 0 4px 8px;
}

.zt-destination-directory-copy .zt-section-kicker {
    width: fit-content;
    margin: 0;
    padding: 7px 10px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 999px;
    background: #EFF7FF;
    color: #0E5EC9;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
}

.zt-destinations-page-head h2 {
    margin: 0;
    max-width: 760px;
    color: #071E3A;
    font-size: clamp(27px, 3vw, 44px);
    font-weight: 950;
    line-height: 1.03;
}

.zt-destinations-page-head p {
    max-width: 760px;
    color: #526981;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.5;
}

.zt-destination-directory-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.zt-destination-directory-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid rgba(184, 204, 226, .72);
    border-radius: 8px;
    background: rgba(255,255,255,.82);
    color: #314961;
    box-shadow: 0 10px 24px rgba(7, 30, 58, .045);
}

.zt-destination-directory-meta i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 7px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 12px;
}

.zt-destination-directory-meta strong {
    color: #071E3A;
    font-size: 14px;
    font-weight: 950;
}

.zt-destination-directory-meta small {
    color: #6B7F96;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-destination-filter-bar {
    align-self: center;
    display: grid;
    grid-template-columns: repeat(2, minmax(132px, 1fr));
    gap: 8px;
    width: min(100%, 430px);
    max-width: 430px;
    padding: 8px;
    border: 1px solid rgba(184, 204, 226, .78);
    border-radius: 8px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 14px 36px rgba(7, 30, 58, .06);
}

.zt-market-filter {
    justify-content: flex-start;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #314961;
    box-shadow: none;
}

.zt-market-filter i {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 7px;
    background: #EAF3FF;
    color: #1877F2;
    font-size: 13px;
}

.zt-market-filter span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-market-filter:hover,
.zt-market-filter:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .22);
    background: #FFFFFF;
    color: #0B4FD8;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .08);
}

.zt-market-filter.is-active {
    transform: none;
    border-color: rgba(24, 119, 242, .32);
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    box-shadow: 0 14px 30px rgba(24, 119, 242, .18);
}

.zt-market-filter:hover i,
.zt-market-filter:focus-visible i {
    background: #EFF7FF;
    color: #0B4FD8;
}

.zt-market-filter.is-active i {
    background: rgba(255,255,255,.18);
    color: #FFFFFF;
}

@media (max-width: 1199.98px) {
    .zt-destinations-page-head {
        padding: 16px;
    }

    .zt-destination-filter-bar {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 575.98px) {
    .zt-destinations-page-head {
        padding: 14px;
        gap: 14px;
    }

    .zt-destination-directory-copy {
        padding-left: 6px;
    }

    .zt-destination-directory-meta,
    .zt-destination-directory-meta span {
        width: 100%;
    }

    .zt-destination-filter-bar {
        grid-template-columns: 1fr;
        padding: 7px;
    }

    .zt-market-filter {
        justify-content: flex-start;
        width: 100%;
    }
}
/* End destination directory header enterprise polish */
/* Destination admin content controls */
.zt-admin-content-note {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 8px;
    background: linear-gradient(135deg, #F6FBFF 0%, #FFFFFF 100%);
    box-shadow: 0 16px 34px rgba(14, 35, 59, .06);
}

.zt-admin-content-note > i {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 8px;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    font-size: 20px;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .18);
}

.zt-admin-content-note strong,
.zt-admin-content-note span {
    display: block;
}

.zt-admin-content-note strong {
    color: #172638;
    font-size: 15px;
    font-weight: 950;
}

.zt-admin-content-note span {
    color: #5A6D82;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.zt-admin-edit-form .form-label {
    color: #223247;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}

.zt-admin-edit-form .form-control,
.zt-admin-edit-form .form-select {
    min-height: 44px;
    border-color: rgba(190, 204, 222, .86);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 750;
}

.zt-admin-edit-form textarea.form-control {
    min-height: 108px;
    resize: vertical;
    line-height: 1.5;
}

.zt-admin-field-help {
    margin-top: 7px;
    color: #6A7B8F;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.4;
}

.zt-admin-image-control {
    display: grid;
    grid-template-columns: 118px 1fr;
    gap: 12px;
    align-items: stretch;
}

.zt-admin-image-preview {
    position: relative;
    overflow: hidden;
    min-height: 96px;
    border: 1px solid rgba(190, 204, 222, .86);
    border-radius: 8px;
    background: #F4F8FC;
}

.zt-admin-image-preview img {
    width: 100%;
    height: 100%;
    min-height: 96px;
    object-fit: cover;
    display: block;
}

.zt-admin-image-preview.is-empty {
    display: grid;
    place-items: center;
    gap: 4px;
    color: #708296;
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.zt-admin-image-preview.is-empty i {
    color: #1877F2;
    font-size: 24px;
}

.zt-admin-image-inputs {
    display: grid;
    gap: 8px;
}

.zt-admin-record-table th {
    color: #4E6075;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.zt-admin-record-table td {
    max-width: 260px;
    color: #26384C;
    font-size: 13px;
    font-weight: 750;
    vertical-align: middle;
}

.zt-admin-table-image {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 170px;
}

.zt-admin-table-image img {
    width: 58px;
    height: 44px;
    flex: 0 0 58px;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 10px 20px rgba(14, 35, 59, .12);
}

.zt-admin-table-image span {
    display: block;
    max-width: 160px;
    overflow: hidden;
    color: #53657B;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .zt-admin-image-control {
        grid-template-columns: 1fr;
    }

    .zt-admin-image-preview img,
    .zt-admin-image-preview {
        min-height: 150px;
    }
}
/* Destination detail enterprise page */
.zt-destination-detail-hero {
    position: relative;
    min-height: clamp(430px, 52vw, 570px);
    display: flex;
    align-items: end;
    overflow: hidden;
    padding: clamp(128px, 15vw, 168px) 0 clamp(56px, 8vw, 86px);
    background:
        linear-gradient(110deg, rgba(5, 20, 38, .88) 0%, rgba(8, 35, 62, .72) 42%, rgba(6, 25, 44, .26) 100%),
        var(--zt-destination-image) center / cover no-repeat;
    color: #FFFFFF;
}

.zt-destination-detail-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, rgba(245, 248, 252, 0) 0%, #F5F8FC 100%);
    pointer-events: none;
}

.zt-destination-detail-hero .zt-container {
    position: relative;
    z-index: 1;
}

.zt-destination-detail-hero-copy {
    max-width: 790px;
}

.zt-destination-detail-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
}

.zt-destination-detail-kicker i {
    color: #7CC7FF;
    font-size: 14px;
}

.zt-destination-detail-hero h1 {
    max-width: 720px;
    margin: 16px 0 10px;
    color: #FFFFFF;
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 950;
    line-height: .96;
    letter-spacing: 0;
}

.zt-destination-detail-hero p {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(16px, 1.75vw, 20px);
    font-weight: 700;
    line-height: 1.55;
}

.zt-destination-detail-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.zt-destination-detail-stats span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    backdrop-filter: blur(14px);
}

.zt-destination-detail-stats strong {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 950;
    line-height: 1;
}

.zt-destination-detail-stats small {
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-destination-detail-section {
    position: relative;
    margin-top: -34px;
    padding-top: 0;
    background: linear-gradient(180deg, #F5F8FC 0%, #FFFFFF 54%, #F7FAFE 100%);
}

.zt-destination-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .8fr);
    gap: 18px;
    align-items: stretch;
}

.zt-destination-overview-panel,
.zt-destination-planning-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(202, 215, 231, .86);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 22px 52px rgba(11, 31, 58, .09);
}

.zt-destination-overview-panel {
    padding: clamp(22px, 3vw, 32px);
}

.zt-destination-overview-panel::before,
.zt-destination-planning-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 48%, #F59E0B 100%);
}

.zt-destination-overview-panel .zt-section-kicker,
.zt-destination-planning-panel .zt-section-kicker,
.zt-destination-hotels-head .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 7px 10px;
    border: 1px solid rgba(24, 119, 242, .12);
    border-radius: 8px;
    background: #EFF7FF;
    color: #0E5EC9;
}

.zt-destination-overview-panel h2,
.zt-destination-planning-panel h2,
.zt-destination-hotels-head h2 {
    margin: 12px 0 0;
    color: #142235;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-destination-overview-panel h2 {
    font-size: clamp(25px, 3vw, 36px);
}

.zt-destination-overview-panel p {
    max-width: 820px;
    margin: 14px 0 0;
    color: #526981;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.75;
}

.zt-destination-overview-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.zt-destination-overview-meta span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
    color: #314255;
    font-size: 12.5px;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
}

.zt-destination-overview-meta i {
    color: #1877F2;
    font-size: 15px;
}

.zt-destination-planning-panel {
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 3vw, 28px);
}

.zt-destination-planning-panel h2 {
    font-size: clamp(20px, 2.2vw, 27px);
    line-height: 1.18;
}

.zt-destination-plan-actions {
    display: grid;
    gap: 10px;
    margin-top: auto;
    padding-top: 22px;
}

.zt-destination-plan-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 11px 12px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 8px;
    background: #FFFFFF;
    color: #1F3045;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.zt-destination-plan-action i {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #EFF7FF;
    color: #1877F2;
    font-size: 15px;
}

.zt-destination-plan-action:hover,
.zt-destination-plan-action:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .32);
    color: #0E5EC9;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .12);
}

.zt-destination-plan-action.is-primary {
    border-color: transparent;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .2);
}

.zt-destination-plan-action.is-primary i {
    background: rgba(255, 255, 255, .18);
    color: #FFFFFF;
}

.zt-destination-plan-action.is-primary:hover,
.zt-destination-plan-action.is-primary:focus-visible {
    color: #FFFFFF;
    box-shadow: 0 20px 34px rgba(24, 119, 242, .28);
}

.zt-destination-hotels-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin: clamp(30px, 5vw, 48px) 0 18px;
}

.zt-destination-hotels-head h2 {
    font-size: clamp(26px, 3.2vw, 42px);
}

.zt-destination-hotels-head > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 8px;
    background: #FFFFFF;
    color: #0E5EC9;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(11, 31, 58, .06);
}

.zt-destination-hotel-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.zt-destination-hotel-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 100%;
    border: 1px solid rgba(202, 215, 231, .88);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(11, 31, 58, .075);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zt-destination-hotel-card:hover,
.zt-destination-hotel-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(24, 119, 242, .3);
    box-shadow: 0 24px 48px rgba(11, 31, 58, .12);
}

.zt-destination-hotel-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #EAF3FF;
}

.zt-destination-hotel-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease, filter .2s ease;
}

.zt-destination-hotel-card:hover .zt-destination-hotel-media img,
.zt-destination-hotel-card:focus-within .zt-destination-hotel-media img {
    transform: scale(1.055);
    filter: saturate(1.08) contrast(1.03);
}

.zt-destination-hotel-media span {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 9px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    color: #172638;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    box-shadow: 0 10px 20px rgba(7, 24, 45, .14);
}

.zt-destination-hotel-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
}

.zt-destination-hotel-location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0E5EC9;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-destination-hotel-location i {
    color: #16A34A;
}

.zt-destination-hotel-body h3 {
    margin: 0;
    color: #172638;
    font-size: 17px;
    font-weight: 950;
    line-height: 1.18;
}

.zt-destination-hotel-body p {
    flex: 1;
    margin: 0;
    color: #5C6F84;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.zt-destination-hotel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(228, 233, 240, .95);
}

.zt-destination-hotel-footer strong {
    color: #172638;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-destination-hotel-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #142235;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.zt-destination-hotel-footer a:hover,
.zt-destination-hotel-footer a:focus-visible {
    background: #1877F2;
    color: #FFFFFF;
}

@media (max-width: 1199.98px) {
    .zt-destination-hotel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .zt-destination-detail-layout {
        grid-template-columns: 1fr;
    }

    .zt-destination-overview-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-destination-detail-hero {
        min-height: 430px;
        padding-top: 112px;
        padding-bottom: 58px;
    }

    .zt-destination-hotels-head {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-destination-hotels-head > a {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .zt-destination-detail-stats,
    .zt-destination-overview-meta,
    .zt-destination-hotel-grid {
        grid-template-columns: 1fr;
    }

    .zt-destination-detail-stats {
        display: grid;
    }

    .zt-destination-detail-stats span,
    .zt-destination-overview-meta span {
        justify-content: flex-start;
    }

    .zt-destination-hotel-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-destination-hotel-footer a {
        width: 100%;
    }
}
/* Enterprise login page */
.zt-auth-page {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: clamp(116px, 12vw, 150px) 0 clamp(54px, 7vw, 82px);
    background: #F4F8FC;
}

.zt-auth-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(110deg, rgba(6, 21, 38, .92) 0%, rgba(10, 43, 72, .78) 45%, rgba(6, 21, 38, .44) 100%),
        url('../images/zaratick - office 1.png') center / cover no-repeat;
    transform: scale(1.02);
}

.zt-auth-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(244, 248, 252, 0) 50%, #F4F8FC 100%);
}

.zt-auth-page .zt-container {
    position: relative;
    z-index: 1;
}

.zt-auth-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
    gap: clamp(28px, 5vw, 68px);
    align-items: center;
}

.zt-auth-intro {
    max-width: 760px;
    color: #FFFFFF;
}

.zt-auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
}

.zt-auth-kicker i {
    color: #7CC7FF;
    font-size: 15px;
}

.zt-auth-intro h1 {
    max-width: 640px;
    margin: 16px 0 12px;
    color: #FFFFFF;
    font-size: clamp(40px, 5.5vw, 68px);
    font-weight: 950;
    line-height: .98;
    letter-spacing: 0;
}

.zt-auth-intro p {
    max-width: 640px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(15px, 1.55vw, 19px);
    font-weight: 700;
    line-height: 1.62;
}

.zt-auth-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.zt-auth-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.zt-auth-trust-row i {
    color: #8FE3B0;
    font-size: 15px;
}

.zt-auth-card-wrap {
    width: 100%;
}

.zt-auth-card {
    position: relative;
    overflow: hidden;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid rgba(255, 255, 255, .74);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 30px 70px rgba(4, 18, 35, .25);
    backdrop-filter: blur(18px);
}

.zt-auth-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #16A34A 50%, #F59E0B 100%);
}

.zt-auth-card-head {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
}

.zt-auth-card-icon {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 8px;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    font-size: 22px;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .24);
}

.zt-auth-card-head span:not(.zt-auth-card-icon) {
    display: block;
    color: #66788D;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-auth-card-head h2 {
    margin: 2px 0 0;
    color: #172638;
    font-size: 25px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-auth-alert {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 750;
}

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

.zt-auth-field label {
    display: block;
    margin-bottom: 7px;
    color: #25364A;
    font-size: 12px;
    font-weight: 950;
}

.zt-auth-input-shell {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 52px;
    padding: 0 12px;
    border: 1px solid rgba(190, 204, 222, .92);
    border-radius: 8px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-auth-input-shell:focus-within {
    border-color: rgba(24, 119, 242, .52);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1);
}

.zt-auth-input-shell > i {
    color: #1877F2;
    font-size: 16px;
}

.zt-auth-input-shell input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172638;
    font-size: 14px;
    font-weight: 800;
}

.zt-auth-input-shell input::placeholder {
    color: #8A99AA;
    font-size: 12px;
    font-weight: 700;
}

.zt-auth-password-toggle {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 8px;
    background: #ECF4FF;
    color: #0E5EC9;
    transition: background .18s ease, color .18s ease;
}

.zt-auth-password-toggle:hover,
.zt-auth-password-toggle:focus-visible {
    background: #1877F2;
    color: #FFFFFF;
}

.zt-auth-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    width: 100%;
    margin-top: 4px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 950;
    box-shadow: 0 18px 34px rgba(24, 119, 242, .24);
    transition: transform .18s ease, box-shadow .18s ease;
}

.zt-auth-submit:hover,
.zt-auth-submit:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 22px 42px rgba(24, 119, 242, .32);
}

.zt-auth-submit i {
    font-size: 16px;
}

.zt-auth-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.zt-auth-links a,
.zt-auth-admin-setup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 8px;
    background: #FFFFFF;
    color: #314255;
    font-size: 12.5px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.zt-auth-links a:hover,
.zt-auth-links a:focus-visible,
.zt-auth-admin-setup:hover,
.zt-auth-admin-setup:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .32);
    color: #0E5EC9;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .1);
}

.zt-auth-links i,
.zt-auth-admin-setup i {
    color: #1877F2;
    font-size: 15px;
}

.zt-auth-admin-setup {
    width: 100%;
    margin-top: 10px;
    border-style: dashed;
    background: #F7FBFF;
}

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

    .zt-auth-intro {
        max-width: 680px;
    }

    .zt-auth-card-wrap {
        max-width: 540px;
    }
}

@media (max-width: 575.98px) {
    .zt-auth-page {
        align-items: flex-start;
        padding-top: 104px;
    }

    .zt-auth-intro h1 {
        font-size: 36px;
    }

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

    .zt-auth-links {
        grid-template-columns: 1fr;
    }
}
/* Admin grouped sidebar navigation */
.zt-admin-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 22px 18px;
    background:
        radial-gradient(circle at 20% 0%, rgba(24, 119, 242, .18), transparent 32%),
        linear-gradient(180deg, #061526 0%, #081A2E 52%, #06111F 100%);
}

.zt-admin-brand {
    margin-bottom: 2px;
    padding: 8px 8px 12px;
    text-decoration: none;
}

.zt-admin-nav {
    display: grid;
    gap: 8px;
}

.zt-admin-nav > a,
.zt-admin-sidebar-footer a,
.zt-admin-nav-children a {
    text-decoration: none;
}

.zt-admin-nav > a,
.zt-admin-sidebar-footer a {
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .78);
}

.zt-admin-nav > a:hover,
.zt-admin-nav > a.is-active,
.zt-admin-sidebar-footer a:hover,
.zt-admin-sidebar-footer a.is-active {
    border-color: rgba(124, 199, 255, .24);
    background: rgba(255, 255, 255, .1);
    color: #FFFFFF;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
}

.zt-admin-nav > a.is-active {
    background: linear-gradient(135deg, rgba(24, 119, 242, .28), rgba(22, 163, 74, .16));
}

.zt-admin-nav-group {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    transition: color .18s ease;
}

.zt-admin-nav-group[open],
.zt-admin-nav-group.is-active {
    background: transparent;
    box-shadow: none;
}

.zt-admin-nav-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 40px;
    padding: 8px 6px;
    border-radius: 8px;
    color: rgba(255, 255, 255, .88);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.zt-admin-nav-group summary:hover,
.zt-admin-nav-group.is-active summary {
    background: rgba(255, 255, 255, .055);
    color: #FFFFFF;
}

.zt-admin-nav-group summary::-webkit-details-marker {
    display: none;
}

.zt-admin-nav-summary-copy {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.zt-admin-nav-summary-copy > i,
.zt-admin-nav > a > i,
.zt-admin-sidebar-footer a > i {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    color: #7CC7FF;
    font-size: 15px;
}

.zt-admin-nav-summary-copy strong,
.zt-admin-nav > a span,
.zt-admin-sidebar-footer a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 900;
}

.zt-admin-nav-chevron {
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
    transition: transform .18s ease, color .18s ease;
}

.zt-admin-nav-group[open] .zt-admin-nav-chevron,
.zt-admin-nav-group.is-active .zt-admin-nav-chevron {
    transform: rotate(180deg);
    color: #8FE3B0;
}

.zt-admin-nav-children {
    display: grid;
    gap: 5px;
    padding: 2px 0 10px 38px;
}

.zt-admin-nav-children a {
    position: relative;
    display: flex;
    min-height: 36px;
    align-items: center;
    gap: 9px;
    padding: 8px 9px;
    border-radius: 8px;
    color: rgba(255, 255, 255, .66);
    font-size: 12.5px;
    font-weight: 820;
}


.zt-admin-nav-children a i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border-radius: 7px;
    background: rgba(143, 227, 176, .1);
    color: rgba(143, 227, 176, .9);
    font-size: 12.5px;
}

.zt-admin-nav-children a span:first-of-type {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-nav-children a:hover,
.zt-admin-nav-children a.is-active {
    background: rgba(255, 255, 255, .1);
    color: #FFFFFF;
}

.zt-admin-nav-children a:hover i,
.zt-admin-nav-children a.is-active i {
    background: rgba(143, 227, 176, .18);
    color: #FFFFFF;
}

.zt-admin-nav-children a.is-active {
    box-shadow: inset 3px 0 0 #8FE3B0;
}

.zt-admin-sidebar-footer {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.zt-admin-chat-sidebar-badge {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    margin-left: auto;
    place-items: center;
    border-radius: 999px;
    background: #EF4444;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(239, 68, 68, .24);
}

@media (max-width: 1199.98px) {
    .zt-admin-sidebar {
        height: auto;
        max-height: none;
    }

    .zt-admin-sidebar-footer {
        margin-top: 4px;
    }
}

@media (max-width: 575.98px) {
    .zt-admin-sidebar {
        padding: 16px 12px;
    }

    .zt-admin-nav-children {
        padding-left: 34px;
    }

    .zt-admin-nav-summary-copy strong,
    .zt-admin-nav > a span,
    .zt-admin-sidebar-footer a span,
    .zt-admin-nav-children a span:first-of-type {
        white-space: normal;
    }
}
/* Admin dashboard polish */
.zt-admin-main {
    background:
        radial-gradient(circle at 8% 0%, rgba(24, 119, 242, .08), transparent 30%),
        radial-gradient(circle at 98% 8%, rgba(20, 184, 166, .08), transparent 28%),
        #F4F8FC;
}

.zt-admin-topbar {
    position: relative;
    padding: 18px 20px;
    border: 1px solid rgba(20, 37, 63, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 18px 42px rgba(11, 31, 58, .08);
    backdrop-filter: blur(14px);
}

.zt-admin-topbar .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
}

.zt-admin-topbar h1 {
    color: #07182B;
    letter-spacing: 0;
}

.zt-admin-topbar .badge {
    max-width: min(100%, 320px);
    overflow: hidden;
    padding: 10px 12px;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 999px;
    background: #EDF6FF !important;
    color: #0B3D75 !important;
    text-overflow: ellipsis;
}

.zt-admin-dashboard {
    display: grid;
    gap: 20px;
}

.zt-admin-dashboard-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
    gap: 18px;
    align-items: stretch;
    padding: 22px;
    overflow: hidden;
    border: 1px solid rgba(10, 31, 58, .08);
    border-radius: 16px;
    background:
        radial-gradient(circle at 95% 10%, rgba(143, 227, 176, .22), transparent 26%),
        linear-gradient(135deg, #07182B 0%, #0C2948 56%, #0A1E35 100%);
    color: #FFFFFF;
    box-shadow: 0 24px 56px rgba(11, 31, 58, .16);
}

.zt-admin-dashboard-hero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 10px;
    max-width: 760px;
}

.zt-admin-dashboard-kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid rgba(143, 227, 176, .26);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #BDF6D4;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-admin-dashboard-hero h2 {
    max-width: 700px;
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 950;
    line-height: 1.02;
    letter-spacing: 0;
}

.zt-admin-dashboard-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(232, 244, 255, .82);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.65;
}

.zt-admin-dashboard-hero-grid {
    display: grid;
    gap: 10px;
}

.zt-admin-dashboard-hero-grid a {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    background: rgba(255, 255, 255, .08);
    color: #FFFFFF;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.zt-admin-dashboard-hero-grid a:hover {
    transform: translateY(-2px);
    border-color: rgba(143, 227, 176, .38);
    background: rgba(255, 255, 255, .13);
}

.zt-admin-dashboard-hero-grid span {
    color: rgba(232, 244, 255, .72);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.zt-admin-dashboard-hero-grid strong {
    color: #FFFFFF;
    font-size: 31px;
    font-weight: 950;
    line-height: 1;
}

.zt-admin-pricing-section,
.zt-admin-operations-section,
.zt-admin-pricing-note {
    border: 1px solid rgba(11, 31, 58, .08);
    border-radius: 16px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 18px 42px rgba(11, 31, 58, .07);
}

.zt-admin-pricing-section,
.zt-admin-operations-section {
    padding: 20px;
}

.zt-admin-dashboard-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.zt-admin-dashboard-section-head h2 {
    margin: 4px 0 0;
    color: #07182B;
    font-size: 23px;
    font-weight: 950;
    line-height: 1.12;
}

.zt-admin-dashboard-section-head p {
    max-width: 700px;
    margin: 6px 0 0;
    color: #5B6B80;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
}

.zt-admin-dashboard-section-head.is-compact {
    align-items: center;
}

.zt-admin-dashboard-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 999px;
    background: #ECFDF5;
    color: #047857;
    font-size: 12px;
    font-weight: 950;
}

.zt-admin-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.zt-admin-pricing-card {
    position: relative;
    display: grid;
    min-height: 158px;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: start;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(11, 31, 58, .08);
    border-radius: 14px;
    background: #FFFFFF;
    color: #07182B;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zt-admin-pricing-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--zt-admin-card-accent, #1877F2);
}

.zt-admin-pricing-card:hover {
    transform: translateY(-3px);
    border-color: rgba(24, 119, 242, .18);
    box-shadow: 0 20px 40px rgba(11, 31, 58, .11);
}

.zt-admin-pricing-card.is-blue { --zt-admin-card-accent: #1877F2; }
.zt-admin-pricing-card.is-teal { --zt-admin-card-accent: #14B8A6; }
.zt-admin-pricing-card.is-green { --zt-admin-card-accent: #16A34A; }
.zt-admin-pricing-card.is-violet { --zt-admin-card-accent: #7C3AED; }
.zt-admin-pricing-card.is-indigo { --zt-admin-card-accent: #4F46E5; }
.zt-admin-pricing-card.is-amber { --zt-admin-card-accent: #F59E0B; }
.zt-admin-pricing-card.is-red { --zt-admin-card-accent: #EF4444; }

.zt-admin-card-icon {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--zt-admin-card-accent, #1877F2) 13%, #FFFFFF);
    color: var(--zt-admin-card-accent, #1877F2);
    font-size: 20px;
}

.zt-admin-card-copy {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.zt-admin-card-topline {
    display: grid;
    gap: 5px;
}

.zt-admin-card-topline strong {
    color: #07182B;
    font-size: 16px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-admin-card-topline em {
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: #F0F5FA;
    color: #41536A;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.zt-admin-card-copy small {
    color: #5D6D81;
    font-size: 12.5px;
    font-weight: 750;
    line-height: 1.5;
}

.zt-admin-card-action {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 999px;
    background: #F4F8FC;
    color: #1877F2;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.zt-admin-pricing-card:hover .zt-admin-card-action {
    transform: translateX(2px);
    background: #1877F2;
    color: #FFFFFF;
}

.zt-admin-ops-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.zt-admin-ops-card {
    display: grid;
    min-height: 118px;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(11, 31, 58, .08);
    border-radius: 12px;
    background: #FFFFFF;
    color: #07182B;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.zt-admin-ops-card:hover {
    transform: translateY(-2px);
    border-color: rgba(24, 119, 242, .18);
    box-shadow: 0 14px 30px rgba(11, 31, 58, .08);
}

.zt-admin-ops-card > i {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: #EDF6FF;
    color: #1877F2;
    font-size: 16px;
}

.zt-admin-ops-card span {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.zt-admin-ops-card strong {
    color: #07182B;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-admin-ops-card small {
    color: #64748B;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.35;
}

.zt-admin-ops-card em {
    justify-self: end;
    padding: 5px 8px;
    border-radius: 999px;
    background: #F0F5FA;
    color: #334155;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.zt-admin-pricing-note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px 18px;
}

.zt-admin-pricing-note > i {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 10px;
    background: #FFF7ED;
    color: #EA580C;
    font-size: 17px;
}

.zt-admin-pricing-note strong {
    display: block;
    color: #07182B;
    font-size: 14px;
    font-weight: 950;
}

.zt-admin-pricing-note p {
    margin: 3px 0 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
}

@media (max-width: 1199.98px) {
    .zt-admin-dashboard-hero,
    .zt-admin-pricing-grid,
    .zt-admin-ops-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zt-admin-dashboard-hero-copy {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-main {
        padding: 16px;
    }

    .zt-admin-topbar,
    .zt-admin-dashboard-section-head,
    .zt-admin-pricing-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-admin-dashboard-hero,
    .zt-admin-pricing-grid,
    .zt-admin-ops-grid {
        grid-template-columns: 1fr;
    }

    .zt-admin-dashboard-hero {
        padding: 18px;
    }

    .zt-admin-pricing-section,
    .zt-admin-operations-section {
        padding: 16px;
    }
}
/* Admin sidebar priority polish */
.zt-admin-sidebar {
    gap: 18px;
    padding: 24px 18px;
    background:
        radial-gradient(circle at 16% 0%, rgba(124, 199, 255, .2), transparent 30%),
        radial-gradient(circle at 92% 18%, rgba(143, 227, 176, .1), transparent 28%),
        linear-gradient(180deg, #041120 0%, #071A2F 48%, #050E1B 100%);
    scrollbar-color: rgba(124, 199, 255, .38) transparent;
    scrollbar-width: thin;
}

.zt-admin-brand {
    min-height: 72px;
    align-items: center;
    gap: 12px;
    padding: 10px 9px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    border-radius: 0;
}

.zt-admin-brand .zt-brand-mark {
    position: relative;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .28), transparent 28%),
        linear-gradient(135deg, #1877F2 0%, #14B8A6 100%);
    box-shadow: 0 16px 32px rgba(20, 184, 166, .2), 0 10px 26px rgba(24, 119, 242, .24);
}

.zt-admin-brand .zt-brand-mark i {
    font-size: 21px;
    transform: rotate(24deg);
}

.zt-admin-brand .zt-brand-copy {
    min-width: 0;
    gap: 3px;
}

.zt-admin-brand .zt-brand-copy strong {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-brand .zt-brand-copy small {
    color: rgba(213, 231, 246, .74);
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .08em;
}

.zt-admin-nav {
    gap: 7px;
}

.zt-admin-nav > a {
    position: relative;
    min-height: 50px;
    overflow: hidden;
    padding: 9px 10px;
    border-radius: 10px;
    border-color: rgba(255, 255, 255, .09);
    background: rgba(255, 255, 255, .045);
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}

.zt-admin-nav > a > * {
    position: relative;
    z-index: 1;
}

.zt-admin-nav > a:hover {
    transform: translateY(-1px);
}

.zt-admin-nav > a.zt-admin-nav-primary {
    background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
}

.zt-admin-nav > a.zt-admin-nav-chat {
    margin-bottom: 7px;
    border-color: rgba(143, 227, 176, .34);
    background: linear-gradient(135deg, rgba(20, 184, 166, .24), rgba(24, 119, 242, .16));
    color: #FFFFFF;
    box-shadow: 0 18px 34px rgba(2, 11, 23, .2);
}

.zt-admin-nav > a.zt-admin-nav-chat::after {
    content: "";
    position: absolute;
    inset: -42% -16% auto auto;
    width: 96px;
    height: 96px;
    border-radius: 999px;
    background: rgba(143, 227, 176, .18);
    pointer-events: none;
}

.zt-admin-nav > a.zt-admin-nav-chat:hover,
.zt-admin-nav > a.zt-admin-nav-chat.is-active {
    border-color: rgba(143, 227, 176, .58);
    background: linear-gradient(135deg, rgba(20, 184, 166, .32), rgba(24, 119, 242, .2));
}

.zt-admin-nav > a.zt-admin-nav-primary > i,
.zt-admin-nav > a.zt-admin-nav-chat > i {
    color: #FFFFFF;
}

.zt-admin-nav > a.zt-admin-nav-primary > i {
    background: linear-gradient(135deg, rgba(24, 119, 242, .46), rgba(124, 199, 255, .18));
}

.zt-admin-nav > a.zt-admin-nav-chat > i {
    background: linear-gradient(135deg, #14B8A6, #1877F2);
    box-shadow: 0 12px 22px rgba(20, 184, 166, .25);
}

.zt-admin-nav-link-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
    line-height: 1.05;
    overflow: hidden;
    white-space: normal;
}

.zt-admin-nav-link-copy strong {
    overflow: hidden;
    color: inherit;
    font-size: 13.5px;
    font-weight: 950;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-nav-link-copy small {
    overflow: hidden;
    color: rgba(213, 231, 246, .66);
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-nav-chat .zt-admin-nav-link-copy small {
    color: rgba(232, 255, 242, .76);
}

.zt-admin-nav-group summary {
    padding: 8px 7px;
}

.zt-admin-nav-summary-copy > i {
    background: rgba(255, 255, 255, .07);
    color: rgba(124, 199, 255, .92);
}

.zt-admin-nav-group summary:hover .zt-admin-nav-summary-copy > i,
.zt-admin-nav-group.is-active .zt-admin-nav-summary-copy > i {
    background: rgba(124, 199, 255, .12);
    color: #FFFFFF;
}

.zt-admin-chat-sidebar-badge {
    min-width: 24px;
    height: 24px;
    border: 2px solid rgba(5, 14, 27, .86);
    font-size: 11px;
}

.zt-admin-nav-chat .zt-admin-chat-sidebar-badge {
    background: #EF4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .12), 0 10px 20px rgba(239, 68, 68, .28);
}

@media (max-width: 575.98px) {
    .zt-admin-brand {
        min-height: 64px;
    }

    .zt-admin-nav-link-copy strong,
    .zt-admin-nav-link-copy small {
        white-space: normal;
    }
}
/* Admin sticky topbar and profile menu */
.zt-admin-main {
    min-width: 0;
    padding-top: 28px;
}

.zt-admin-topbar {
    position: sticky;
    top: 0;
    z-index: 70;
    min-height: 76px;
    margin: -28px -28px 24px;
    padding: 14px 28px;
    border-width: 0 0 1px;
    border-color: rgba(15, 35, 62, .1);
    border-radius: 0;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 38px rgba(11, 31, 58, .08);
    backdrop-filter: blur(18px);
}

.zt-admin-topbar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(24, 119, 242, .08), transparent 38%),
        radial-gradient(circle at 92% 20%, rgba(20, 184, 166, .12), transparent 30%);
    pointer-events: none;
}

.zt-admin-topbar-title {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.zt-admin-topbar-title h1 {
    overflow: hidden;
    color: #061526;
    font-size: clamp(21px, 2vw, 29px);
    font-weight: 950;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-topbar-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.zt-admin-topbar-action {
    position: relative;
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .14);
    border-radius: 12px;
    background: #EDF6FF;
    color: #1877F2;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.zt-admin-topbar-action:hover {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .28);
    background: #E3F1FF;
    color: #0B63CE;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .12);
}

.zt-admin-topbar-action .zt-admin-chat-sidebar-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 22px;
    height: 22px;
    border: 2px solid #FFFFFF;
    font-size: 10.5px;
}

.zt-admin-profile-dropdown {
    min-width: 0;
}

.zt-admin-profile-toggle {
    display: inline-flex;
    max-width: 360px;
    min-height: 48px;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 6px;
    border: 1px solid rgba(11, 31, 58, .1);
    border-radius: 999px;
    background: #FFFFFF;
    color: #061526;
    box-shadow: 0 12px 28px rgba(11, 31, 58, .07);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.zt-admin-profile-toggle:hover,
.zt-admin-profile-toggle[aria-expanded="true"] {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .22);
    box-shadow: 0 16px 34px rgba(11, 31, 58, .1);
}

.zt-admin-profile-avatar {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .32), transparent 30%),
        linear-gradient(135deg, #1877F2, #14B8A6);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    box-shadow: 0 10px 20px rgba(24, 119, 242, .2);
}

.zt-admin-profile-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
    text-align: left;
    line-height: 1;
}

.zt-admin-profile-copy strong,
.zt-admin-profile-copy small {
    overflow: hidden;
    max-width: 220px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-profile-copy strong {
    color: #07182B;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-profile-copy small {
    color: #64748B;
    font-size: 10.5px;
    font-weight: 850;
    text-transform: uppercase;
}

.zt-admin-profile-toggle > .bi-chevron-down {
    color: #7A8BA2;
    font-size: 12px;
}

.zt-admin-profile-menu {
    width: min(320px, calc(100vw - 24px));
    padding: 8px;
    border: 1px solid rgba(11, 31, 58, .1);
    border-radius: 14px;
    box-shadow: 0 24px 58px rgba(11, 31, 58, .18);
}

.zt-admin-profile-menu-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 8px 10px;
}

.zt-admin-profile-menu-head span:last-child {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.zt-admin-profile-menu-head strong,
.zt-admin-profile-menu-head small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-profile-menu-head strong {
    color: #07182B;
    font-size: 14px;
    font-weight: 950;
}

.zt-admin-profile-menu-head small {
    color: #64748B;
    font-size: 11px;
    font-weight: 750;
}

.zt-admin-profile-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #23364F;
    font-size: 13px;
    font-weight: 850;
}

.zt-admin-profile-menu .dropdown-item i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    background: #EDF6FF;
    color: #1877F2;
    font-size: 13px;
}

.zt-admin-profile-menu .dropdown-item:hover {
    background: #F4F8FC;
    color: #061526;
}

.zt-admin-profile-menu .dropdown-item.is-logout {
    color: #B42318;
}

.zt-admin-profile-menu .dropdown-item.is-logout i {
    background: #FEF2F2;
    color: #DC2626;
}

.zt-admin-dashboard {
    margin-top: 0;
}

.zt-admin-dashboard-hero {
    position: relative;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 20px;
    padding: 24px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 86% 12%, rgba(143, 227, 176, .28), transparent 25%),
        radial-gradient(circle at 10% 0%, rgba(124, 199, 255, .18), transparent 32%),
        linear-gradient(135deg, #061526 0%, #0A2747 58%, #071A2F 100%);
}

.zt-admin-dashboard-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(143, 227, 176, .55), transparent);
}

.zt-admin-dashboard-hero h2 {
    font-size: clamp(27px, 2.8vw, 40px);
    letter-spacing: 0;
}

.zt-admin-dashboard-hero-grid {
    grid-template-columns: 1fr;
    align-content: center;
}

.zt-admin-dashboard-hero-grid a {
    position: relative;
    display: grid;
    min-height: 88px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 14px;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(255, 255, 255, .1);
}

.zt-admin-dashboard-hero-grid a > i {
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: rgba(143, 227, 176, .13);
    color: #BDF6D4;
    font-size: 18px;
}

.zt-admin-dashboard-hero-grid a span {
    align-self: center;
    color: rgba(232, 244, 255, .8);
    font-size: 12px;
    letter-spacing: .04em;
}

.zt-admin-dashboard-hero-grid a strong {
    justify-self: end;
    color: #FFFFFF;
    font-size: clamp(24px, 2.4vw, 34px);
}

@media (max-width: 1199.98px) {
    .zt-admin-topbar {
        margin: -28px -28px 20px;
        border-radius: 0;
        border-width: 0 0 1px;
        top: 0;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-main {
        padding-top: 16px;
    }

    .zt-admin-topbar {
        margin: -16px -16px 18px;
        padding: 12px 14px;
        border-radius: 0;
    }

    .zt-admin-topbar-actions {
        width: 100%;
        justify-content: space-between;
    }

    .zt-admin-profile-toggle {
        max-width: calc(100vw - 88px);
    }

    .zt-admin-profile-copy strong,
    .zt-admin-profile-copy small {
        max-width: 155px;
    }

    .zt-admin-dashboard-hero-grid a {
        min-height: 80px;
    }
}

@media (max-width: 480px) {
    .zt-admin-profile-copy {
        display: none;
    }

    .zt-admin-profile-toggle {
        width: 48px;
        padding: 6px;
    }

    .zt-admin-profile-toggle > .bi-chevron-down {
        display: none;
    }
}
/* Compact admin dashboard hero refinements */
.zt-admin-topbar-action {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    border-color: rgba(20, 184, 166, .44);
    background:
        radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .34), transparent 30%),
        linear-gradient(135deg, #14B8A6 0%, #1877F2 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(20, 184, 166, .2), 0 8px 18px rgba(24, 119, 242, .16);
}

.zt-admin-topbar-action::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(20, 184, 166, .22);
    border-radius: 16px;
    opacity: .9;
    pointer-events: none;
}

.zt-admin-topbar-action > i {
    font-size: 21px;
    line-height: 1;
}

.zt-admin-topbar-action:hover {
    border-color: rgba(20, 184, 166, .64);
    background:
        radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .38), transparent 30%),
        linear-gradient(135deg, #0FAD9B 0%, #0B63CE 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 34px rgba(20, 184, 166, .24), 0 10px 22px rgba(24, 119, 242, .2);
}

.zt-admin-dashboard-hero {
    grid-template-columns: minmax(300px, .86fr) minmax(0, 1.14fr);
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    min-height: 172px;
}

.zt-admin-dashboard-hero-copy {
    gap: 7px;
}

.zt-admin-dashboard-kicker {
    padding: 5px 9px;
    font-size: 10px;
}

.zt-admin-dashboard-hero h2 {
    max-width: 480px;
    font-size: clamp(23px, 2vw, 31px);
    line-height: 1.06;
}

.zt-admin-dashboard-hero p {
    max-width: 520px;
    font-size: 13px;
    line-height: 1.42;
}

.zt-admin-dashboard-hero-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    align-content: stretch;
}

.zt-admin-dashboard-hero-grid a {
    min-height: 112px;
    grid-template-columns: 1fr;
    justify-items: start;
    align-content: space-between;
    gap: 8px;
    padding: 12px;
}

.zt-admin-dashboard-hero-grid a > i {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 15px;
}

.zt-admin-dashboard-hero-grid a span {
    font-size: 10.5px;
    line-height: 1.2;
}

.zt-admin-dashboard-hero-grid a strong {
    justify-self: start;
    font-size: clamp(24px, 2.2vw, 31px);
}

@media (max-width: 1199.98px) {
    .zt-admin-dashboard-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .zt-admin-dashboard-hero-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-admin-topbar-action {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .zt-admin-dashboard-hero {
        padding: 14px;
    }

    .zt-admin-dashboard-hero-grid {
        grid-template-columns: 1fr;
    }

    .zt-admin-dashboard-hero-grid a {
        min-height: 74px;
        grid-template-columns: auto 1fr auto;
        align-content: center;
        align-items: center;
    }
}
/* Admin topbar title icon polish */
.zt-admin-topbar-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.zt-admin-topbar-title-icon {
    position: relative;
    display: inline-grid;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    place-items: center;
    overflow: hidden;
    border-radius: 15px;
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .34), transparent 30%),
        linear-gradient(135deg, #061526 0%, #1877F2 58%, #14B8A6 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 36px rgba(24, 119, 242, .2), 0 8px 18px rgba(20, 184, 166, .15);
}

.zt-admin-topbar-title-icon::after {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 11px;
    pointer-events: none;
}

.zt-admin-topbar-title-icon i {
    position: relative;
    z-index: 1;
    font-size: 23px;
    line-height: 1;
}

.zt-admin-topbar-title-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.zt-admin-topbar-title .zt-section-kicker i {
    color: #14B8A6;
    font-size: 13px;
}

@media (max-width: 575.98px) {
    .zt-admin-topbar-title {
        gap: 9px;
    }

    .zt-admin-topbar-title-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 13px;
    }

    .zt-admin-topbar-title-icon i {
        font-size: 20px;
    }
}
/* Admin live chat enterprise layout */
.zt-admin-chat {
    --zt-admin-chat-shell-height: calc(100vh - 128px);
    min-height: 0;
    gap: 10px;
}

body:has(.zt-admin-chat) .zt-admin-main {
    height: 100vh;
    overflow: hidden;
    padding-bottom: 12px;
}

body:has(.zt-admin-chat) .zt-admin-topbar {
    margin-bottom: 12px;
}

.zt-admin-chat-hero {
    min-height: 118px;
    padding: 16px 18px;
    border-color: rgba(24, 119, 242, .12);
    border-radius: 15px;
    background:
        radial-gradient(circle at 92% 14%, rgba(20, 184, 166, .2), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 100%);
    box-shadow: 0 18px 42px rgba(5, 18, 35, .07);
}

.zt-admin-chat-hero .zt-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #EDF6FF;
    color: #0B63CE;
    font-size: 10.5px;
    font-weight: 950;
}

.zt-admin-chat-hero h2 {
    margin: 7px 0 3px;
    font-size: clamp(23px, 2.1vw, 30px);
    line-height: 1.05;
}

.zt-admin-chat-hero p {
    max-width: 560px;
    font-size: 13px;
    line-height: 1.42;
}

.zt-admin-chat-metrics {
    grid-template-columns: repeat(2, minmax(86px, 1fr));
}

.zt-admin-chat-metrics span {
    min-height: 62px;
    padding: 10px 12px;
    border-radius: 13px;
}

.zt-admin-chat-metrics strong {
    font-size: 22px;
}

.zt-admin-chat-shell {
    height: var(--zt-admin-chat-shell-height);
    min-height: 0;
    grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
    overflow: hidden;
}

.zt-admin-chat-list-panel,
.zt-admin-chat-thread-panel {
    min-height: 0;
    border-color: rgba(188, 205, 226, .8);
    border-radius: 15px;
}

.zt-admin-chat-list-head {
    min-height: 54px;
    padding: 12px 14px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 100%);
}

.zt-admin-chat-list-head span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.zt-admin-chat-list-head span::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #16A34A;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .12);
}

.zt-admin-chat-list-head button {
    border-color: rgba(24, 119, 242, .18);
    background: #EDF6FF;
    color: #0B63CE;
}

.zt-admin-chat-list {
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    padding: 10px;
}

.zt-admin-chat-conversation {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 10px;
    border-radius: 12px;
}

.zt-admin-chat-conversation.is-active {
    border-color: rgba(24, 119, 242, .42);
    background:
        linear-gradient(135deg, rgba(237, 246, 255, .98), #FFFFFF 100%);
    box-shadow: inset 3px 0 0 #1877F2, 0 16px 30px rgba(7, 30, 58, .08);
}

.zt-admin-chat-avatar {
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.32), transparent 30%),
        linear-gradient(135deg, #1877F2 0%, #14B8A6 100%);
}

.zt-admin-chat-conversation-copy strong {
    font-size: 12.8px;
}

.zt-admin-chat-conversation-copy small {
    font-size: 11.2px;
    line-height: 1.25;
}

.zt-admin-chat-conversation-meta b {
    box-shadow: 0 8px 16px rgba(229, 72, 77, .22);
}

.zt-admin-chat-thread-panel {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.zt-admin-chat-thread-head {
    min-height: 78px;
    padding: 14px 16px;
}

.zt-admin-chat-thread-head h3 {
    font-size: 18px;
}

.zt-admin-chat-thread-head small {
    display: block;
    max-width: 680px;
    line-height: 1.35;
}

.zt-admin-chat-thread {
    min-height: 0;
    max-height: none;
    height: 100%;
    overflow-y: auto;
    padding: 16px;
}

.zt-admin-chat-message {
    max-width: min(78%, 720px);
}

.zt-admin-chat-message.is-admin {
    flex-direction: row;
    justify-content: flex-end;
    margin-left: auto;
}

.zt-admin-chat-message.is-admin .zt-admin-chat-message-avatar {
    display: none !important;
}

.zt-admin-chat-message.is-admin .zt-admin-chat-message-content {
    justify-items: end;
}

.zt-admin-chat-message.is-admin p {
    border-radius: 14px 14px 6px 14px;
    background: linear-gradient(135deg, #1877F2 0%, #0B63CE 100%);
    color: #FFFFFF;
}

.zt-admin-chat-message.is-admin .zt-admin-chat-message-meta {
    justify-content: flex-end;
    color: #53687F;
}

.zt-admin-chat-message.is-visitor p {
    border-radius: 14px 14px 14px 6px;
}

.zt-admin-chat-composer {
    flex: 0 0 auto;
    padding: 12px 14px;
}

.zt-admin-chat-composer textarea,
.zt-admin-chat-composer button {
    min-height: 50px;
    height: 50px;
    max-height: 50px;
}

@media (max-width: 1199.98px) {
    .zt-admin-chat {
        --zt-admin-chat-shell-height: 660px;
    }
}

@media (max-width: 991.98px) {
    .zt-admin-chat-shell {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
        overflow: visible;
    }

    .zt-admin-chat-list-panel {
        height: 340px;
    }

    .zt-admin-chat-thread-panel {
        height: 560px;
    }
}

@media (max-width: 575.98px) {
    .zt-admin-chat-hero {
        min-height: 0;
    }

    .zt-admin-chat-message {
        max-width: 94%;
    }

    .zt-admin-chat-list-panel,
    .zt-admin-chat-thread-panel {
        height: 520px;
    }
}
/* Login airport video background polish */
.zt-auth-bg {
    overflow: hidden;
    background: #061526;
    transform: none;
    isolation: isolate;
}

.zt-auth-bg-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-position: center;
}

.zt-auth-bg-video-cover {
    object-fit: cover;
    opacity: .62;
    filter: blur(14px) saturate(1.18) contrast(1.12) brightness(.72);
    transform: scale(1.09);
    animation: ztAuthVideoDrift 18s ease-in-out infinite alternate;
}

.zt-auth-bg-video-focus {
    left: max(0px, calc((100vw - 1500px) / 2));
    width: min(100vw, 1500px);
    object-fit: contain;
    opacity: .9;
    filter: saturate(1.18) contrast(1.08) brightness(.9);
    transform: scale(.98);
    animation: ztAuthVideoFocusDrift 20s ease-in-out infinite alternate;
}

.zt-auth-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(112deg, rgba(4, 16, 31, .78) 0%, rgba(7, 31, 55, .58) 42%, rgba(5, 22, 40, .3) 100%),
        radial-gradient(circle at 72% 28%, rgba(124, 199, 255, .18), rgba(124, 199, 255, 0) 36%),
        linear-gradient(180deg, rgba(5, 20, 38, .04) 0%, rgba(5, 20, 38, .66) 100%);
    pointer-events: none;
}

.zt-auth-bg::after {
    z-index: 2;
    background: linear-gradient(180deg, rgba(244, 248, 252, 0) 48%, #F4F8FC 100%);
}

@keyframes ztAuthVideoDrift {
    from {
        transform: scale(1.09) translate3d(-1.2%, 0, 0);
    }

    to {
        transform: scale(1.12) translate3d(1.2%, 0, 0);
    }
}

@keyframes ztAuthVideoFocusDrift {
    from {
        transform: scale(.98) translate3d(-.6%, 0, 0);
    }

    to {
        transform: scale(1.01) translate3d(.6%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-auth-bg-video {
        animation: none;
    }
}

@media (max-width: 767.98px) {
    .zt-auth-bg-video-focus {
        width: 100%;
        object-fit: cover;
        object-position: center bottom;
        opacity: .82;
        transform: scale(1.02);
    }
}
/* Login account content vertical refinement */
.zt-login-page {
    padding-top: clamp(96px, 8.4vw, 118px);
    padding-bottom: clamp(72px, 8vw, 108px);
}

.zt-login-page .zt-auth-layout {
    transform: translateY(-34px);
}

@media (max-width: 991.98px) {
    .zt-login-page .zt-auth-layout {
        transform: translateY(-24px);
    }
}

@media (max-width: 575.98px) {
    .zt-login-page {
        padding-top: 86px;
        padding-bottom: 44px;
    }

    .zt-login-page .zt-auth-layout {
        transform: none;
    }
}
/* Enterprise register page additions */
.zt-register-page .zt-auth-bg-video-focus {
    object-position: center center;
    opacity: .88;
}

.zt-register-page .zt-auth-bg::before {
    background:
        linear-gradient(112deg, rgba(4, 16, 31, .82) 0%, rgba(7, 31, 55, .62) 42%, rgba(5, 22, 40, .34) 100%),
        radial-gradient(circle at 78% 30%, rgba(143, 227, 176, .16), rgba(143, 227, 176, 0) 36%),
        linear-gradient(180deg, rgba(5, 20, 38, .04) 0%, rgba(5, 20, 38, .68) 100%);
}

.zt-auth-field-note {
    margin-top: 7px;
    color: #6B7D91;
    font-size: 11.5px;
    font-weight: 800;
}

.zt-auth-alert > div {
    display: grid;
    gap: 3px;
}

.zt-auth-alert span {
    display: block;
}

.zt-auth-single-link {
    margin-top: 18px;
}

.zt-auth-single-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 8px;
    background: #FFFFFF;
    color: #314255;
    font-size: 12.5px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.zt-auth-single-link a:hover,
.zt-auth-single-link a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .32);
    color: #0E5EC9;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .1);
}

.zt-auth-single-link i {
    color: #1877F2;
    font-size: 15px;
}
/* Register account content vertical refinement */
.zt-register-page {
    padding-top: clamp(96px, 8.4vw, 118px);
    padding-bottom: clamp(72px, 8vw, 108px);
}

.zt-register-page .zt-auth-layout {
    transform: translateY(-34px);
}

@media (max-width: 991.98px) {
    .zt-register-page .zt-auth-layout {
        transform: translateY(-24px);
    }
}

@media (max-width: 575.98px) {
    .zt-register-page {
        padding-top: 86px;
        padding-bottom: 44px;
    }

    .zt-register-page .zt-auth-layout {
        transform: none;
    }
}
/* Register boarding video left framing fix */
.zt-register-page .zt-auth-bg-video-cover {
    display: none;
}

.zt-register-page .zt-auth-bg-video-focus {
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
    opacity: .92;
    filter: saturate(1.16) contrast(1.08) brightness(.86);
    transform: scale(1.01);
    animation: ztRegisterVideoLeftDrift 18s ease-in-out infinite alternate;
}

@keyframes ztRegisterVideoLeftDrift {
    from {
        transform: scale(1.01) translate3d(0, 0, 0);
    }

    to {
        transform: scale(1.045) translate3d(-1.2%, 0, 0);
    }
}

@media (max-width: 767.98px) {
    .zt-register-page .zt-auth-bg-video-focus {
        object-position: left center;
        transform: scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    .zt-register-page .zt-auth-bg-video-focus {
        animation: none;
    }
}
/* Auth form visibility and polish */
.zt-auth-page .zt-auth-card {
    border-color: rgba(255, 255, 255, .86);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(247, 251, 255, .96) 100%);
    box-shadow: 0 34px 84px rgba(3, 17, 34, .28), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-auth-page .zt-auth-card::before {
    left: 20px;
    right: 20px;
    height: 4px;
    background: linear-gradient(90deg, #0E5EC9 0%, #1877F2 34%, #16A34A 68%, #F59E0B 100%);
    box-shadow: 0 8px 18px rgba(24, 119, 242, .18);
}

.zt-auth-page .zt-auth-card-head {
    align-items: center;
    gap: 15px;
    margin-bottom: 24px;
}

.zt-auth-page .zt-auth-card-icon {
    position: relative;
    overflow: hidden;
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 8px;
    background: linear-gradient(145deg, #063E95 0%, #1877F2 48%, #0F8F5F 100%);
    color: #FFFFFF;
    font-size: 25px;
    box-shadow: 0 20px 38px rgba(24, 119, 242, .34), inset 0 1px 0 rgba(255, 255, 255, .34);
}

.zt-auth-page .zt-auth-card-icon::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    pointer-events: none;
}

.zt-auth-page .zt-auth-card-icon i {
    position: relative;
    z-index: 1;
    font-size: 25px;
    line-height: 1;
    filter: drop-shadow(0 2px 3px rgba(1, 22, 48, .3));
}

.zt-auth-page .zt-auth-card-head span:not(.zt-auth-card-icon) {
    color: #4D6177;
    font-size: 11.5px;
}

.zt-auth-page .zt-auth-card-head h2 {
    color: #102033;
    font-size: clamp(24px, 2.2vw, 28px);
}

.zt-auth-page .zt-auth-form {
    gap: 16px;
}

.zt-auth-page .zt-auth-field label {
    margin-bottom: 8px;
    color: #1D2E43;
    font-size: 12.5px;
    letter-spacing: .01em;
}

.zt-auth-page .zt-auth-input-shell {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 11px;
    min-height: 58px;
    padding: 0 13px 0 11px;
    border-color: rgba(173, 190, 211, .92);
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FD 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 10px 22px rgba(16, 36, 62, .045);
}

.zt-auth-page .zt-auth-input-shell:hover {
    border-color: rgba(24, 119, 242, .36);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 14px 26px rgba(24, 119, 242, .08);
}

.zt-auth-page .zt-auth-input-shell:focus-within {
    border-color: rgba(14, 94, 201, .72);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .12), 0 18px 34px rgba(24, 119, 242, .12);
}

.zt-auth-page .zt-auth-input-shell > i {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 8px;
    background: linear-gradient(145deg, #EAF3FF 0%, #DDEEFF 100%);
    color: #0B5CCB;
    font-size: 18px;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86);
}

.zt-auth-page .zt-auth-input-shell:focus-within > i {
    border-color: rgba(24, 119, 242, .34);
    background: linear-gradient(145deg, #1877F2 0%, #0E5EC9 100%);
    color: #FFFFFF;
    box-shadow: 0 10px 20px rgba(24, 119, 242, .2);
}

.zt-auth-page .zt-auth-input-shell input {
    font-size: 14.5px;
    font-weight: 850;
}

.zt-auth-page .zt-auth-password-toggle {
    border: 1px solid rgba(24, 119, 242, .14);
    background: #EEF6FF;
    color: #0B5CCB;
    font-size: 15px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}

.zt-auth-page .zt-auth-submit {
    min-height: 54px;
    margin-top: 6px;
    background: linear-gradient(135deg, #0B5CCB 0%, #1877F2 48%, #0F8F5F 100%);
    box-shadow: 0 20px 38px rgba(24, 119, 242, .28);
}

@media (max-width: 575.98px) {
    .zt-auth-page .zt-auth-card-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        font-size: 23px;
    }

    .zt-auth-page .zt-auth-input-shell {
        grid-template-columns: 34px minmax(0, 1fr) auto;
        min-height: 56px;
    }

    .zt-auth-page .zt-auth-input-shell > i {
        width: 34px;
        height: 34px;
        font-size: 17px;
    }
}
/* Auth submit loading feedback */
.zt-auth-page .zt-auth-submit {
    position: relative;
}

.zt-auth-page .zt-auth-submit::after {
    content: "";
    display: none;
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-top-color: #FFFFFF;
    border-radius: 50%;
    animation: ztAuthSubmitSpin .72s linear infinite;
}

.zt-auth-page .zt-auth-submit.is-loading {
    cursor: progress;
    transform: none;
    opacity: .96;
    box-shadow: 0 18px 34px rgba(24, 119, 242, .24);
}

.zt-auth-page .zt-auth-submit.is-loading i {
    display: none;
}

.zt-auth-page .zt-auth-submit.is-loading::after {
    display: inline-block;
}

.zt-auth-page .zt-auth-submit:disabled {
    pointer-events: none;
}

@keyframes ztAuthSubmitSpin {
    to {
        transform: rotate(360deg);
    }
}
/* Login first-admin setup action */
.zt-auth-page .zt-auth-admin-setup {
    position: relative;
    overflow: hidden;
    min-height: 50px;
    margin-top: 14px;
    border: 1px solid rgba(245, 158, 11, .36);
    background: linear-gradient(135deg, rgba(255, 251, 235, .98) 0%, rgba(239, 246, 255, .98) 100%);
    color: #102033;
    font-size: 12.8px;
    font-weight: 950;
    box-shadow: 0 15px 28px rgba(10, 38, 70, .09), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-auth-page .zt-auth-admin-setup::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #1877F2 0%, #F59E0B 100%);
}

.zt-auth-page .zt-auth-admin-setup i {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(145deg, #0B5CCB 0%, #1877F2 100%);
    color: #FFFFFF;
    font-size: 16px;
    box-shadow: 0 10px 18px rgba(24, 119, 242, .22);
}

.zt-auth-page .zt-auth-admin-setup:hover,
.zt-auth-page .zt-auth-admin-setup:focus-visible {
    border-color: rgba(24, 119, 242, .44);
    color: #0B5CCB;
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(24, 119, 242, .14);
}
/* First admin setup page polish */
.zt-first-admin-page {
    padding-top: clamp(96px, 8.6vw, 120px);
    padding-bottom: clamp(70px, 8vw, 108px);
}

.zt-first-admin-page .zt-auth-layout {
    transform: translateY(-30px);
}

.zt-first-admin-page .zt-auth-bg::before {
    background:
        linear-gradient(112deg, rgba(4, 16, 31, .86) 0%, rgba(7, 31, 55, .64) 46%, rgba(5, 22, 40, .32) 100%),
        radial-gradient(circle at 75% 28%, rgba(245, 158, 11, .15), rgba(245, 158, 11, 0) 34%),
        radial-gradient(circle at 24% 74%, rgba(24, 119, 242, .18), rgba(24, 119, 242, 0) 38%),
        linear-gradient(180deg, rgba(5, 20, 38, .02) 0%, rgba(5, 20, 38, .7) 100%);
}

.zt-first-admin-card .zt-auth-card-icon {
    background: linear-gradient(145deg, #092C6C 0%, #1877F2 48%, #F59E0B 100%);
    box-shadow: 0 22px 40px rgba(8, 74, 154, .32), inset 0 1px 0 rgba(255, 255, 255, .34);
}

.zt-auth-submit-link {
    margin-top: 16px;
    text-decoration: none;
}

.zt-first-admin-success,
.zt-first-admin-locked {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 18px;
}

.zt-first-admin-success {
    border: 1px solid rgba(22, 163, 74, .18);
    background: linear-gradient(135deg, rgba(22, 163, 74, .1) 0%, rgba(240, 253, 244, .96) 100%);
}

.zt-first-admin-locked {
    border: 1px solid rgba(245, 158, 11, .22);
    background: linear-gradient(135deg, rgba(245, 158, 11, .12) 0%, rgba(255, 251, 235, .96) 100%);
}

.zt-first-admin-success-icon,
.zt-first-admin-locked > span {
    display: inline-grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    color: #FFFFFF;
    font-size: 24px;
    box-shadow: 0 16px 28px rgba(15, 23, 42, .14);
}

.zt-first-admin-success-icon {
    background: linear-gradient(145deg, #16A34A 0%, #0F8F5F 100%);
}

.zt-first-admin-locked > span {
    background: linear-gradient(145deg, #D97706 0%, #F59E0B 100%);
}

.zt-first-admin-success h3,
.zt-first-admin-locked h3 {
    margin: 0 0 4px;
    color: #102033;
    font-size: 17px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-first-admin-success p,
.zt-first-admin-locked p {
    margin: 0;
    color: #52657A;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .zt-first-admin-page .zt-auth-layout {
        transform: translateY(-22px);
    }
}

@media (max-width: 575.98px) {
    .zt-first-admin-page {
        padding-top: 86px;
        padding-bottom: 44px;
    }

    .zt-first-admin-page .zt-auth-layout {
        transform: none;
    }

    .zt-first-admin-success,
    .zt-first-admin-locked {
        grid-template-columns: 44px minmax(0, 1fr);
        padding: 14px;
    }

    .zt-first-admin-success-icon,
    .zt-first-admin-locked > span {
        width: 44px;
        height: 44px;
        font-size: 22px;
    }
}

/* Admin live chat viewport lock */
body:has(.zt-admin-chat) .zt-admin-main {
    box-sizing: border-box;
    height: 100vh;
    overflow: hidden;
    padding-bottom: 12px;
}

body:has(.zt-admin-chat) .zt-admin-topbar {
    margin-bottom: 10px;
}

.zt-admin-chat {
    --zt-admin-chat-shell-height: calc(100vh - 126px);
    min-height: 0;
}

.zt-admin-chat-shell {
    height: var(--zt-admin-chat-shell-height);
    min-height: 0;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
}

.zt-admin-chat-thread-panel {
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.zt-admin-chat-thread-head {
    min-height: 58px;
    padding: 9px 13px;
}

.zt-admin-chat-thread-head h3 {
    font-size: 17px;
}

.zt-admin-chat-thread-head small {
    line-height: 1.25;
}

.zt-admin-chat-thread {
    min-height: 0;
    overflow-y: auto;
    padding: 10px 12px;
}

.zt-admin-chat-composer {
    padding: 8px 10px;
}

.zt-admin-chat-composer textarea,
.zt-admin-chat-composer button {
    min-height: 48px;
    height: 48px;
    max-height: 48px;
}

@media (max-width: 991.98px) {
    body:has(.zt-admin-chat) .zt-admin-main {
        height: auto;
        overflow: visible;
    }

    .zt-admin-chat-shell {
        height: auto;
        grid-template-columns: 1fr;
    }
}
/* Admin live chat selected-thread polish */
.zt-admin-chat-list-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.zt-admin-chat-list {
    height: 100%;
    overscroll-behavior: contain;
}

.zt-admin-chat-conversation {
    min-height: 64px;
}

.zt-admin-chat-conversation.is-typing,
.zt-admin-chat-conversation:has(.zt-admin-chat-conversation-meta b) {
    order: -1;
}

.zt-admin-chat-thread-head {
    align-items: center;
    border-bottom: 1px solid rgba(198, 214, 232, .72);
    background:
        radial-gradient(circle at 96% 0%, rgba(20, 184, 166, .12), transparent 30%),
        linear-gradient(135deg, #FFFFFF 0%, #F7FAFE 100%);
}

.zt-admin-chat-thread-head > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.zt-admin-chat-thread-head span[data-admin-chat-source] {
    width: fit-content;
    margin: 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(24, 119, 242, .1);
    color: #0B63CE;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-chat-thread-head h3[data-admin-chat-title] {
    margin: 0;
    color: #061526;
    font-size: clamp(17px, 1.45vw, 21px);
    font-weight: 950;
    line-height: 1.05;
}

.zt-admin-chat-thread-head small[data-admin-chat-meta] {
    color: #5A7088;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-admin-chat-thread {
    overscroll-behavior: contain;
    scroll-behavior: auto;
}

.zt-admin-chat-message.is-system {
    max-width: min(78%, 680px);
    margin-inline: auto;
    opacity: .88;
}

.zt-admin-chat-message.is-system .zt-admin-chat-message-avatar {
    display: none;
}

.zt-admin-chat-message.is-system .zt-admin-chat-message-content {
    align-items: center;
}

.zt-admin-chat-message.is-system p {
    border: 1px solid rgba(188, 205, 226, .72);
    background: #F8FBFF;
    color: #60758C;
    font-size: 12px;
    text-align: center;
}
/* Admin live chat presence badges */
.zt-admin-chat-thread-head small[data-admin-chat-meta] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 2px;
}

.zt-admin-chat-presence,
.zt-admin-chat-customer-type {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    gap: 6px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(190, 207, 226, .78);
    background: #FFFFFF;
    color: #4F647C;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.zt-admin-chat-presence i {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: #94A3B8;
    box-shadow: 0 0 0 4px rgba(148, 163, 184, .14);
}

.zt-admin-chat-presence.is-online {
    border-color: rgba(22, 163, 74, .24);
    background: #F0FDF4;
    color: #116B34;
}

.zt-admin-chat-presence.is-online i {
    background: #16A34A;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .15), 0 0 14px rgba(22, 163, 74, .38);
}

.zt-admin-chat-customer-type {
    border-color: rgba(24, 119, 242, .18);
    background: #EDF6FF;
    color: #0B63CE;
}
/* WhatsApp-style admin conversation list */
.zt-admin-chat-list-panel {
    background: #FFFFFF;
}

.zt-admin-chat-list {
    padding: 4px 0;
    background: #FFFFFF;
}

.zt-admin-chat-conversation {
    position: relative;
    min-height: 68px;
    grid-template-columns: 43px minmax(0, 1fr) auto;
    gap: 10px;
    margin: 0;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.zt-admin-chat-conversation:hover {
    background: #F5F8FC !important;
}

.zt-admin-chat-conversation.is-active {
    background: #EAF3FF !important;
    box-shadow: inset 4px 0 0 #1877F2 !important;
}

.zt-admin-chat-conversation.is-typing,
.zt-admin-chat-conversation.has-unread {
    order: -1;
}

.zt-admin-chat-avatar {
    position: relative;
    width: 43px;
    height: 43px;
    border-radius: 999px;
    font-size: 13px;
}

.zt-admin-chat-list-presence {
    position: absolute;
    right: -1px;
    bottom: -1px;
    display: none;
    width: 13px;
    height: 13px;
    border: 2px solid #FFFFFF;
    border-radius: 999px;
    background: #16A34A;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .13);
}

.zt-admin-chat-conversation.is-online .zt-admin-chat-list-presence,
.zt-admin-chat-conversation.is-typing .zt-admin-chat-list-presence {
    display: block;
}

.zt-admin-chat-conversation.is-typing .zt-admin-chat-list-presence {
    animation: ztAdminChatPresencePulse 1.15s ease-in-out infinite;
}

.zt-admin-chat-conversation-copy strong {
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-chat-conversation-copy small {
    color: #687B90;
    font-size: 11.5px;
    font-weight: 780;
}

.zt-admin-chat-conversation.has-unread .zt-admin-chat-conversation-copy strong,
.zt-admin-chat-conversation.has-unread .zt-admin-chat-conversation-copy small {
    color: #061526;
    font-weight: 950;
}

.zt-admin-chat-conversation.is-typing .zt-admin-chat-conversation-copy small {
    color: #12813D;
    font-weight: 950;
}

.zt-admin-chat-conversation-meta {
    min-width: 48px;
    gap: 4px;
}

.zt-admin-chat-conversation-meta em {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #12813D;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    text-transform: none;
}

.zt-admin-chat-conversation-meta em.is-online-label {
    color: #16A34A;
}

.zt-admin-chat-conversation-meta b {
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #16A34A;
    box-shadow: none;
}

@keyframes ztAdminChatPresencePulse {
    0%, 100% {
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .13);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(22, 163, 74, .08);
    }
}
/* Admin live chat cleanup controls */
body:has(.zt-admin-chat) .zt-admin-main {
    height: 100vh;
    overflow: hidden;
    padding-top: 0;
}

body:has(.zt-admin-chat) .zt-admin-topbar {
    top: 0;
    z-index: 160;
    margin: 0 -28px 12px;
    border-radius: 0;
}

body:has(.zt-admin-chat) .zt-admin-chat {
    --zt-admin-chat-shell-height: calc(100vh - 92px);
}

.zt-admin-chat-thread-head {
    align-items: center;
}

.zt-admin-chat-thread-title {
    min-width: 0;
}

.zt-admin-chat-delete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 92px;
    height: 40px;
    flex: 0 0 auto;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 12px;
    background: linear-gradient(135deg, #FFF7F7 0%, #FFFFFF 100%);
    color: #B42318;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 12px 24px rgba(180, 35, 24, .08);
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.zt-admin-chat-delete-button i {
    font-size: 14px;
    line-height: 1;
}

.zt-admin-chat-delete-button:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(220, 38, 38, .34);
    background: linear-gradient(135deg, #FFF1F1 0%, #FFFFFF 100%);
    color: #9F1D15;
    box-shadow: 0 16px 30px rgba(180, 35, 24, .12);
}

.zt-admin-chat-delete-button:disabled {
    opacity: .38;
    cursor: not-allowed;
    box-shadow: none;
}

.zt-admin-chat-modal[hidden] {
    display: none !important;
}

.zt-admin-chat-modal {
    position: fixed;
    inset: 0;
    z-index: 2500;
    display: grid;
    place-items: center;
    padding: 22px;
}

.zt-admin-chat-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 18, 35, .52);
    backdrop-filter: blur(8px);
}

.zt-admin-chat-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(188, 205, 226, .82);
    border-radius: 18px;
    background: radial-gradient(circle at 100% 0%, rgba(24, 119, 242, .1), transparent 30%), linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 100%);
    box-shadow: 0 28px 80px rgba(5, 18, 35, .28);
}

.zt-admin-chat-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(83, 104, 127, .16);
    border-radius: 12px;
    background: #FFFFFF;
    color: #53687F;
    line-height: 1;
}

.zt-admin-chat-modal-close:hover {
    background: #F1F6FC;
    color: #071E3A;
}

.zt-admin-chat-modal-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin-bottom: 12px;
    border-radius: 15px;
    background: linear-gradient(135deg, #FFF1F1 0%, #FFFFFF 100%);
    color: #B42318;
    box-shadow: inset 0 0 0 1px rgba(220, 38, 38, .12), 0 12px 24px rgba(180, 35, 24, .1);
}

.zt-admin-chat-modal-icon i {
    font-size: 20px;
    line-height: 1;
}

.zt-admin-chat-modal-kicker {
    display: inline-flex;
    margin-bottom: 6px;
    color: #0B63CE;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-admin-chat-modal-panel h3 {
    margin: 0 44px 8px 0;
    color: #071E3A;
    font-size: 21px;
    font-weight: 950;
    line-height: 1.12;
}

.zt-admin-chat-modal-panel p {
    margin: 0;
    color: #53687F;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
}

.zt-admin-chat-modal-feedback {
    margin-top: 12px !important;
    padding: 10px 12px;
    border: 1px solid rgba(220, 38, 38, .2);
    border-radius: 12px;
    background: #FFF5F5;
    color: #B42318 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.zt-admin-chat-modal-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.zt-admin-chat-modal-actions button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 14px;
    background: #FFFFFF;
    color: #071E3A;
    text-align: left;
    box-shadow: 0 12px 24px rgba(7, 30, 58, .07);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.zt-admin-chat-modal-actions button:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(24, 119, 242, .32);
    box-shadow: 0 16px 32px rgba(7, 30, 58, .11);
}

.zt-admin-chat-modal-actions button.is-danger {
    border-color: rgba(220, 38, 38, .18);
}

.zt-admin-chat-modal-actions button.is-danger:hover:not(:disabled) {
    border-color: rgba(220, 38, 38, .36);
}

.zt-admin-chat-modal-actions button i {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 11px;
    background: #EDF6FF;
    color: #0B63CE;
    font-size: 15px;
}

.zt-admin-chat-modal-actions button.is-danger i {
    background: #FFF1F1;
    color: #B42318;
}

.zt-admin-chat-modal-actions strong,
.zt-admin-chat-modal-actions small {
    display: block;
    line-height: 1.15;
}

.zt-admin-chat-modal-actions strong {
    font-size: 12.5px;
    font-weight: 950;
}

.zt-admin-chat-modal-actions small {
    margin-top: 3px;
    color: #70849A;
    font-size: 10.5px;
    font-weight: 850;
}

.zt-admin-chat-modal-actions button.is-loading {
    opacity: .7;
    pointer-events: none;
}

.zt-admin-chat-modal-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin-top: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #53687F;
    font-size: 12px;
    font-weight: 950;
}

.zt-admin-chat-modal-cancel:hover {
    background: #EEF4FA;
    color: #071E3A;
}

@media (max-width: 575.98px) {
    body:has(.zt-admin-chat) .zt-admin-topbar {
        margin-inline: -16px;
    }

    .zt-admin-chat-thread-head {
        align-items: stretch;
    }

    .zt-admin-chat-delete-button {
        width: 100%;
    }

    .zt-admin-chat-modal-actions {
        grid-template-columns: 1fr;
    }
}
/* End admin live chat cleanup controls */

/* Admin live chat global unread badge state */
.zt-admin-nav-chat.has-chat-unread,
.zt-admin-topbar-action.has-chat-unread {
    border-color: rgba(239, 68, 68, .34) !important;
    background: linear-gradient(135deg, #FFF1F2 0%, #FFFFFF 100%) !important;
    color: #C81E1E !important;
    box-shadow: 0 14px 28px rgba(239, 68, 68, .16) !important;
}

.zt-admin-nav-chat.has-chat-unread i,
.zt-admin-topbar-action.has-chat-unread i {
    color: #C81E1E !important;
}

.zt-admin-nav-chat.has-chat-unread .zt-admin-chat-sidebar-badge,
.zt-admin-topbar-action.has-chat-unread .zt-admin-chat-sidebar-badge {
    display: inline-grid;
    animation: ztAdminChatBadgePulse 1.35s ease-in-out infinite;
}

@keyframes ztAdminChatBadgePulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 4px rgba(239, 68, 68, .14), 0 10px 20px rgba(239, 68, 68, .28);
    }
    50% {
        transform: scale(1.08);
        box-shadow: 0 0 0 7px rgba(239, 68, 68, .08), 0 12px 24px rgba(239, 68, 68, .34);
    }
}
/* End admin live chat global unread badge state */

/* Faster clearer admin live chat count */
.zt-admin-nav-chat,
.zt-admin-topbar-action[href*="live-chat.php"] {
    position: relative;
}

.zt-admin-nav-chat .zt-admin-chat-sidebar-badge:not([hidden]),
.zt-admin-topbar-action .zt-admin-chat-sidebar-badge:not([hidden]) {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.zt-admin-nav-chat .zt-admin-chat-sidebar-badge {
    min-width: 28px;
    height: 24px;
    padding: 0 8px;
    margin-left: auto;
    border: 2px solid rgba(255, 255, 255, .92);
    background: #DC2626;
    color: #FFFFFF;
    font-size: 11.5px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .16), 0 12px 24px rgba(220, 38, 38, .34);
}

.zt-admin-topbar-action .zt-admin-chat-sidebar-badge {
    position: absolute;
    top: -9px;
    right: -9px;
    min-width: 26px;
    height: 24px;
    padding: 0 7px;
    border: 2px solid #FFFFFF;
    background: #DC2626;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .14), 0 12px 24px rgba(220, 38, 38, .32);
}

.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy strong,
.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy small {
    color: #FFFFFF;
}
/* End faster clearer admin live chat count */

/* Admin live chat unread text readability fix */
.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy strong {
    color: #7F1D1D !important;
}

.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy small {
    color: #B42318 !important;
}
/* End admin live chat unread text readability fix */

/* Admin live chat count visibility hardening */
.zt-admin-chat-sidebar-badge.is-chat-badge-visible {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 20 !important;
    place-items: center !important;
    min-width: 28px !important;
    height: 24px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #E11D48 !important;
    color: #FFFFFF !important;
    font-size: 11.5px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow: 0 0 0 4px rgba(225, 29, 72, .16), 0 12px 26px rgba(225, 29, 72, .36) !important;
}

.zt-admin-topbar-action .zt-admin-chat-sidebar-badge.is-chat-badge-visible,
.zt-admin-topbar-action .zt-admin-chat-sidebar-badge.is-chat-badge-visible:not([hidden]) {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
}
/* End admin live chat count visibility hardening */

/* Admin live chat unread badge only color fix */
.zt-admin-nav-chat.has-chat-unread {
    border-color: rgba(255, 255, 255, .08) !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .9) !important;
    box-shadow: none !important;
}

.zt-admin-nav-chat.has-chat-unread:hover,
.zt-admin-nav-chat.has-chat-unread.is-active {
    background: rgba(255, 255, 255, .08) !important;
}

.zt-admin-nav-chat.has-chat-unread i {
    color: #8FE3B0 !important;
}

.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy strong {
    color: #FFFFFF !important;
}

.zt-admin-nav-chat.has-chat-unread .zt-admin-nav-link-copy small {
    color: rgba(255, 255, 255, .62) !important;
}

.zt-admin-topbar-action.has-chat-unread {
    border-color: rgba(24, 119, 242, .14) !important;
    background: #EDF6FF !important;
    color: #1877F2 !important;
    box-shadow: none !important;
}

.zt-admin-topbar-action.has-chat-unread:hover {
    border-color: rgba(24, 119, 242, .28) !important;
    background: #E3F1FF !important;
    color: #0B63CE !important;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .12) !important;
}

.zt-admin-topbar-action.has-chat-unread i {
    color: #1877F2 !important;
}
/* End admin live chat unread badge only color fix */

/* Admin live chat incoming message copy control */
.zt-admin-chat-message.is-visitor {
    position: relative;
    padding-right: 42px;
}

.zt-admin-chat-copy-message {
    position: absolute;
    right: 0;
    bottom: 2px;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(24, 119, 242, .28);
    border-radius: 12px;
    background: linear-gradient(135deg, #1877F2 0%, #0B63CE 100%);
    color: #FFFFFF;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-4px) scale(.92);
    box-shadow: 0 12px 24px rgba(24, 119, 242, .24);
    transition: opacity .16s ease, transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.zt-admin-chat-copy-message i {
    color: inherit;
    font-size: 16px;
    font-weight: 950;
    line-height: 1;
}

.zt-admin-chat-message.is-visitor:hover .zt-admin-chat-copy-message,
.zt-admin-chat-message.is-visitor:focus-within .zt-admin-chat-copy-message,
.zt-admin-chat-copy-message:focus-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.zt-admin-chat-copy-message:hover,
.zt-admin-chat-copy-message:focus-visible {
    border-color: rgba(11, 99, 206, .52);
    background: linear-gradient(135deg, #0B63CE 0%, #073B86 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(11, 99, 206, .3);
    outline: none;
}

.zt-admin-chat-copy-message.is-copied {
    border-color: rgba(22, 163, 74, .38);
    background: linear-gradient(135deg, #16A34A 0%, #0F7A3A 100%);
    box-shadow: 0 14px 28px rgba(22, 163, 74, .26);
}

.zt-admin-chat-copy-message.is-copy-failed {
    border-color: rgba(220, 38, 38, .38);
    background: linear-gradient(135deg, #DC2626 0%, #991B1B 100%);
    box-shadow: 0 14px 28px rgba(220, 38, 38, .26);
}

@media (max-width: 575.98px) {
    .zt-admin-chat-message.is-visitor {
        padding-right: 0;
    }

    .zt-admin-chat-copy-message {
        position: static;
        width: 32px;
        height: 32px;
        align-self: flex-end;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
}
/* End admin live chat incoming message copy control */

/* Admin manage workspace */
.zt-admin-manage-page {
    display: grid;
    gap: 20px;
}

.zt-admin-manage-hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 18px;
    padding: clamp(18px, 2.2vw, 26px);
    overflow: hidden;
    border: 1px solid rgba(159, 180, 205, .32);
    border-radius: 16px;
    background:
        radial-gradient(circle at 8% 0%, rgba(24, 119, 242, .12), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F4F8FC 52%, #ECF4FF 100%);
    box-shadow: 0 18px 42px rgba(16, 38, 68, .08);
}

.zt-admin-manage-title {
    max-width: 720px;
}

.zt-admin-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-admin-kicker i {
    display: inline-grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 8px;
    background: rgba(24, 119, 242, .11);
    color: #0D63D8;
    font-size: 14px;
}

.zt-admin-manage-title h1 {
    margin: 9px 0 5px;
    color: #152335;
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-manage-title p {
    margin: 0;
    max-width: 720px;
    color: #5A6C80;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.55;
}

.zt-admin-manage-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(104px, 1fr));
    gap: 10px;
    min-width: min(100%, 430px);
}

.zt-admin-manage-stats span {
    display: grid;
    align-content: center;
    gap: 4px;
    min-height: 84px;
    padding: 14px;
    border: 1px solid rgba(181, 198, 218, .58);
    border-radius: 12px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 12px 26px rgba(20, 45, 76, .06);
}

.zt-admin-manage-stats strong {
    color: #172638;
    font-size: 20px;
    font-weight: 950;
    line-height: 1;
}

.zt-admin-manage-stats small {
    color: #65788E;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.zt-admin-manage-grid {
    align-items: flex-start;
}

.zt-admin-manage-form-panel,
.zt-admin-record-panel {
    border-color: rgba(186, 202, 222, .74);
    border-radius: 14px;
    box-shadow: 0 18px 46px rgba(16, 36, 63, .08);
}

.zt-admin-manage-form-panel .zt-panel-body,
.zt-admin-record-panel .zt-panel-body {
    padding: clamp(18px, 2vw, 24px);
}

.zt-admin-panel-heading,
.zt-admin-record-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.zt-admin-panel-heading {
    justify-content: flex-start;
}

.zt-admin-panel-icon {
    display: inline-grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #1877F2, #11A37F);
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .2);
}

.zt-admin-panel-heading h2,
.zt-admin-record-head h2 {
    margin: 0;
    color: #172638;
    font-size: 18px;
    font-weight: 950;
}

.zt-admin-panel-heading p,
.zt-admin-record-head p {
    margin: 4px 0 0;
    color: #62768B;
    font-size: 12.5px;
    font-weight: 750;
    line-height: 1.45;
}

.zt-admin-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.zt-admin-edit-form .zt-admin-form-field {
    margin-bottom: 0 !important;
}

.zt-admin-form-field.is-wide,
.zt-admin-form-actions {
    grid-column: 1 / -1;
}

.zt-admin-edit-form .form-label {
    display: flex;
    align-items: center;
    min-height: 18px;
    margin-bottom: 6px;
    color: #23364D;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-admin-edit-form .form-control,
.zt-admin-edit-form .form-select {
    min-height: 46px;
    border: 1px solid rgba(178, 197, 219, .88);
    border-radius: 10px;
    background-color: #FBFDFF;
    color: #152335;
    font-size: 13px;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.zt-admin-edit-form .form-control:focus,
.zt-admin-edit-form .form-select:focus {
    border-color: rgba(24, 119, 242, .72);
    background-color: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1);
}

.zt-admin-edit-form textarea.form-control {
    min-height: 112px;
}

.zt-admin-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 4px;
}

.zt-admin-form-actions .btn {
    min-height: 42px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 900;
}

.zt-admin-page-size {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 6px 8px;
    border: 1px solid rgba(181, 199, 219, .72);
    border-radius: 10px;
    background: #F8FBFF;
}

.zt-admin-page-size label {
    color: #61748A;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.zt-admin-page-size select {
    width: 76px;
    height: 34px;
    border: 0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #172638;
    font-size: 12px;
    font-weight: 900;
    outline: 0;
}

.zt-admin-table-shell {
    border: 1px solid rgba(184, 201, 221, .64);
    border-radius: 12px;
    background: #FFFFFF;
}

.zt-admin-record-table {
    margin-bottom: 0;
}

.zt-admin-record-table thead th {
    border-bottom: 1px solid rgba(184, 201, 221, .72);
    background: #F6FAFE;
    color: #53677E;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.zt-admin-record-table tbody tr {
    transition: background-color .16s ease;
}

.zt-admin-record-table tbody tr:hover {
    background: #F8FBFF;
}

.zt-admin-record-table td {
    max-width: 260px;
    border-color: rgba(223, 231, 240, .88);
    color: #26384C;
    font-size: 12.8px;
    font-weight: 760;
    vertical-align: middle;
}

.zt-admin-cell-text {
    display: inline-block;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.zt-admin-id-chip,
.zt-admin-status-pill,
.zt-admin-boolean-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.zt-admin-id-chip {
    background: #EEF5FF;
    color: #0D63D8;
}

.zt-admin-status-pill {
    background: #EAF7F2;
    color: #0B745E;
}

.zt-admin-status-pill.is-inactive,
.zt-admin-status-pill.is-cancelled,
.zt-admin-status-pill.is-failed {
    background: #FFF0F0;
    color: #BD2F36;
}

.zt-admin-status-pill.is-pending-payment,
.zt-admin-status-pill.is-reviewing,
.zt-admin-status-pill.is-draft {
    background: #FFF7E6;
    color: #9B6500;
}

.zt-admin-boolean-pill.is-yes {
    background: #EAF7F2;
    color: #0B745E;
}

.zt-admin-boolean-pill.is-no {
    background: #EEF2F6;
    color: #627386;
}

.zt-admin-muted-cell {
    color: #7A8BA0;
    font-size: 12px;
    font-weight: 800;
}

.zt-admin-row-actions {
    min-width: 188px;
    white-space: nowrap;
}

.zt-admin-table-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    margin-left: 6px;
    border: 1px solid rgba(24, 119, 242, .22);
    border-radius: 9px;
    background: #F4F9FF;
    color: #0D63D8;
    font-size: 12px;
    font-weight: 900;
}

.zt-admin-table-action:hover {
    border-color: rgba(24, 119, 242, .44);
    background: #EAF4FF;
    color: #0A58C7;
}

.zt-admin-table-action.is-danger {
    border-color: rgba(220, 53, 69, .18);
    background: #FFF5F6;
    color: #C23442;
}

.zt-admin-table-action.is-danger:hover {
    border-color: rgba(220, 53, 69, .34);
    background: #FFECEE;
    color: #A82430;
}

.zt-admin-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 16px;
}

.zt-admin-page-link,
.zt-admin-page-ellipsis {
    display: inline-grid;
    min-width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
}

.zt-admin-page-link {
    border: 1px solid rgba(181, 199, 219, .74);
    background: #FFFFFF;
    color: #24384F;
}

.zt-admin-page-link:hover {
    border-color: rgba(24, 119, 242, .42);
    background: #F2F8FF;
    color: #0D63D8;
}

.zt-admin-page-link.is-active {
    border-color: transparent;
    background: #1877F2;
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .2);
}

.zt-admin-page-link.is-disabled {
    pointer-events: none;
    opacity: .42;
}

.zt-admin-page-ellipsis {
    color: #7D8EA2;
}

@media (max-width: 1199.98px) {
    .zt-admin-manage-hero {
        flex-direction: column;
    }

    .zt-admin-manage-stats {
        min-width: 0;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-edit-form,
    .zt-admin-manage-stats {
        grid-template-columns: 1fr;
    }

    .zt-admin-panel-heading,
    .zt-admin-record-head {
        flex-direction: column;
    }

    .zt-admin-page-size {
        width: 100%;
        justify-content: space-between;
    }

    .zt-admin-pagination {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }
}

/* Admin manage overflow containment */
.zt-admin-main,
.zt-admin-manage-page,
.zt-admin-manage-grid,
.zt-admin-manage-grid > [class*="col-"],
.zt-admin-manage-form-panel,
.zt-admin-record-panel,
.zt-admin-record-panel .zt-panel-body,
.zt-admin-table-shell,
.zt-admin-record-head {
    min-width: 0;
}

.zt-admin-manage-page {
    max-width: 100%;
    overflow-x: clip;
}

.zt-admin-manage-hero {
    max-width: 100%;
}

.zt-admin-manage-title {
    min-width: 0;
}

.zt-admin-manage-stats {
    max-width: 100%;
}

.zt-admin-record-panel {
    overflow: hidden;
}

.zt-admin-table-shell {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.zt-admin-table-shell .zt-admin-record-table {
    width: max-content;
    min-width: 100%;
}

.zt-admin-record-table th,
.zt-admin-record-table td {
    overflow-wrap: anywhere;
}

.zt-admin-row-actions {
    width: 1%;
}

@media (max-width: 991.98px) {
    .zt-admin-manage-page {
        overflow-x: hidden;
    }

    .zt-admin-manage-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .zt-admin-manage-stats {
        grid-template-columns: 1fr;
    }

    .zt-admin-table-shell .zt-admin-record-table {
        min-width: 760px;
    }
}

/* Airline admin form polish */
.zt-admin-manage-table-airlines .zt-admin-manage-form-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .98)),
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .12), transparent 32%);
}

.zt-admin-manage-table-airlines .zt-admin-panel-icon {
    background: linear-gradient(135deg, #0D63D8 0%, #13A085 100%);
}

.zt-admin-manage-table-airlines .zt-admin-edit-form {
    gap: 13px 14px;
}

.zt-admin-manage-table-airlines .zt-admin-form-field.is-wide {
    padding: 14px;
    border: 1px solid rgba(184, 202, 222, .72);
    border-radius: 13px;
    background: #F7FBFF;
}

.zt-admin-manage-table-airlines .zt-admin-image-control {
    grid-template-columns: 128px 1fr;
    gap: 14px;
    align-items: center;
}

.zt-admin-manage-table-airlines .zt-admin-image-preview {
    min-height: 104px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,247,255,.92)),
        radial-gradient(circle at 30% 20%, rgba(24, 119, 242, .16), transparent 40%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 14px 30px rgba(18, 48, 82, .08);
}

.zt-admin-manage-table-airlines .zt-admin-image-preview img {
    min-height: 104px;
    padding: 16px;
    object-fit: contain;
    background: transparent;
}

.zt-admin-manage-table-airlines .zt-admin-image-preview.is-empty {
    color: #52677F;
    font-weight: 900;
}

.zt-admin-manage-table-airlines .zt-admin-image-preview.is-empty i {
    color: #0D63D8;
    font-size: 26px;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs {
    gap: 9px;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs .form-control[type="file"] {
    padding: 10px 12px;
    background: #FFFFFF;
    cursor: pointer;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs .form-control-sm {
    min-height: 40px;
    color: #5D7086;
    font-size: 12px;
}

.zt-admin-manage-table-airlines .zt-admin-field-help {
    color: #61758A;
}

@media (max-width: 575.98px) {
    .zt-admin-manage-table-airlines .zt-admin-image-control {
        grid-template-columns: 1fr;
    }
}

/* Airline logo upload full-line refinement */
.zt-admin-manage-table-airlines .zt-admin-image-control {
    grid-template-columns: 1fr;
    gap: 12px;
}

.zt-admin-manage-table-airlines .zt-admin-image-preview {
    width: 100%;
    min-height: 118px;
}

.zt-admin-manage-table-airlines .zt-admin-image-preview img {
    min-height: 118px;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs {
    grid-template-columns: 1fr;
    width: 100%;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs .form-control[type="file"] {
    display: block;
    width: 100%;
    min-height: 50px;
    padding: 9px 11px;
    border-style: dashed;
    border-color: rgba(24, 119, 242, .34);
    background: #FFFFFF;
    color: #4F637A;
    line-height: 1.85;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs .form-control[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 8px 13px;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(135deg, #1877F2 0%, #0D63D8 100%);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.zt-admin-manage-table-airlines .zt-admin-image-inputs .form-control[type="file"]:hover {
    border-color: rgba(24, 119, 242, .58);
    background: #F7FBFF;
}

/* Custom admin upload control */
.zt-admin-upload-field {
    display: grid;
    gap: 8px;
    width: 100%;
}

.zt-admin-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.zt-admin-upload-label {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    margin: 0;
    padding: 12px 14px;
    border: 1px dashed rgba(24, 119, 242, .38);
    border-radius: 12px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F3F8FF 100%);
    color: #172638;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.zt-admin-upload-label:hover,
.zt-admin-upload-input:focus + .zt-admin-upload-label {
    border-color: rgba(24, 119, 242, .68);
    background: #FFFFFF;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .1);
    transform: translateY(-1px);
}

.zt-admin-upload-icon {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, #1877F2 0%, #0D63D8 100%);
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 10px 20px rgba(24, 119, 242, .18);
}

.zt-admin-upload-label strong,
.zt-admin-upload-label small,
.zt-admin-upload-file,
.zt-admin-path-label {
    display: block;
}

.zt-admin-upload-label strong {
    color: #172638;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-admin-upload-label small {
    margin-top: 3px;
    color: #63778E;
    font-size: 11px;
    font-weight: 800;
}

.zt-admin-upload-file {
    min-height: 18px;
    color: #5C7087;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-admin-path-label {
    margin: 2px 0 -3px;
    color: #5C7087;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zt-admin-image-path {
    width: 100%;
}

.zt-admin-manage-table-airlines .zt-admin-form-field.is-wide {
    background:
        linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-admin-manage-table-airlines .zt-admin-image-preview.is-empty span {
    color: #5A6E84;
}

/* Vehicle category admin form polish */
.zt-admin-manage-table-vehicle_categories .zt-admin-manage-form-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 253, .98)),
        radial-gradient(circle at 12% 0%, rgba(17, 163, 127, .12), transparent 34%);
}

.zt-admin-manage-table-vehicle_categories .zt-admin-panel-icon {
    background: linear-gradient(135deg, #11A37F 0%, #1877F2 100%);
}

.zt-admin-manage-table-vehicle_categories .zt-admin-edit-form {
    grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr);
    gap: 14px;
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-name,
.zt-admin-manage-table-vehicle_categories .zt-admin-field-summary {
    grid-column: 1 / -1;
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-name .form-control {
    min-height: 52px;
    font-size: 14px;
    font-weight: 900;
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-summary {
    padding: 14px;
    border: 1px solid rgba(184, 202, 222, .7);
    border-radius: 13px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-summary textarea.form-control {
    min-height: 96px;
    border-color: rgba(17, 163, 127, .24);
    background: #FFFFFF;
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-status,
.zt-admin-manage-table-vehicle_categories .zt-admin-field-sort-order {
    align-self: start;
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-help {
    color: #607589;
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-vehicle_categories .zt-admin-edit-form {
        grid-template-columns: 1fr;
    }
}

/* Vehicle category name width refinement */
@media (min-width: 1200px) {
    .zt-admin-manage-table-vehicle_categories .zt-admin-manage-grid > .col-xl-5 {
        flex: 0 0 56%;
        max-width: 56%;
    }

    .zt-admin-manage-table-vehicle_categories .zt-admin-manage-grid > .col-xl-7 {
        flex: 0 0 44%;
        max-width: 44%;
    }

    .zt-admin-manage-table-vehicle_categories .zt-admin-field-name .form-control {
        width: 100%;
        max-width: none;
    }
}

/* Vehicle category name full-row alignment */
.zt-admin-manage-table-vehicle_categories .zt-admin-field-name {
    grid-column: 1 / -1;
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(184, 202, 222, .7);
    border-radius: 13px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-admin-manage-table-vehicle_categories .zt-admin-field-name .form-control {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Vehicle category name hard full-width fix */
.zt-admin-manage-table-vehicle_categories .zt-admin-edit-form > .zt-admin-field-name.is-wide {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
}

/* Transfer zone admin form and airport picker polish */
.zt-admin-manage-table-transfer_zones .zt-admin-manage-form-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .98)),
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .11), transparent 34%);
}

.zt-admin-manage-table-transfer_zones .zt-admin-panel-icon {
    background: linear-gradient(135deg, #1877F2 0%, #11A37F 100%);
}

.zt-admin-manage-table-transfer_zones .zt-admin-edit-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    overflow: visible;
}

.zt-admin-manage-table-transfer_zones .zt-admin-manage-form-panel,
.zt-admin-manage-table-transfer_zones .zt-panel-body,
.zt-admin-manage-table-transfer_zones .zt-admin-form-field {
    overflow: visible;
}

.zt-admin-manage-table-transfer_zones .zt-admin-field-airport-id,
.zt-admin-manage-table-transfer_zones .zt-admin-field-pickup-notes,
.zt-admin-manage-table-transfer_zones .zt-admin-field-service-method {
    grid-column: 1 / -1;
}

.zt-admin-manage-table-transfer_zones .zt-admin-field-zone-name,
.zt-admin-manage-table-transfer_zones .zt-admin-field-destination-type,
.zt-admin-manage-table-transfer_zones .zt-admin-field-pickup-notes,
.zt-admin-manage-table-transfer_zones .zt-admin-field-service-method {
    padding: 13px;
    border: 1px solid rgba(184, 202, 222, .7);
    border-radius: 13px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-admin-manage-table-transfer_zones .zt-admin-field-airport-id.has-admin-airport-picker .form-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker {
    position: relative;
    width: 100%;
    z-index: 20;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-select-button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 10px 42px 10px 12px;
    border: 1px solid rgba(178, 197, 219, .92);
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 10px 24px rgba(16, 38, 68, .06);
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-value {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-picker-airport-code {
    flex: 0 0 auto;
    color: #0D63D8;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-picker-airport-name {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #172638;
    font-size: 13px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-badge,
.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-option-flag,
.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-option-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-select-menu {
    width: min(720px, calc(100vw - 64px)) !important;
    min-width: 100% !important;
    max-height: 360px;
    z-index: 50000;
    padding: 8px;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(13, 35, 62, .22);
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker.is-menu-up .zt-flag-select-menu {
    bottom: calc(100% + 8px);
    top: auto;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 8px);
    bottom: auto;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-select-option {
    display: grid;
    grid-template-columns: 38px 52px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 9px 10px;
    border-radius: 11px;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-copy {
    min-width: 0;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-name,
.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-location {
    display: block;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-name {
    color: #172638;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-airport-location {
    margin-top: 2px;
    color: #65788E;
    font-size: 11.5px;
    font-weight: 750;
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-transfer_zones .zt-admin-edit-form {
        grid-template-columns: 1fr;
    }

    .zt-admin-manage-table-transfer_zones .zt-admin-airport-picker .zt-flag-select-menu {
        width: min(100%, calc(100vw - 32px)) !important;
    }
}

/* Transfer booking ledger admin view */
.zt-admin-manage-table-transfer_bookings .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(24, 119, 242, .18);
    background:
        radial-gradient(circle at 12% 6%, rgba(17, 163, 127, .14), transparent 30%),
        linear-gradient(135deg, #FFFFFF 0%, #F5F9FD 48%, #EEF6FF 100%);
}

.zt-admin-manage-table-transfer_bookings .zt-admin-manage-title h1 {
    font-size: clamp(22px, 2vw, 30px);
}

.zt-admin-manage-table-transfer_bookings .zt-admin-manage-title p {
    max-width: 610px;
}

.zt-admin-manage-table-transfer_bookings .zt-admin-manage-stats span {
    min-height: 74px;
    border-radius: 11px;
}

.zt-admin-ledger-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    padding: 13px 14px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(17, 163, 127, .07));
}

.zt-admin-ledger-note-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 15px;
    background: linear-gradient(135deg, #075FD7 0%, #1877F2 48%, #0F8D73 100%);
    color: #FFFFFF;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .24), inset 0 1px 0 rgba(255, 255, 255, .34);
}

.zt-admin-ledger-note-icon i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    color: #FFFFFF;
    font-size: 23px;
    line-height: 1;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .2);
}

.zt-admin-ledger-note > div > strong,
.zt-admin-ledger-note > div > span {
    display: block;
}

.zt-admin-ledger-note > div > strong {
    color: #172638;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-ledger-note > div > span {
    margin-top: 2px;
    color: #5B6F84;
    font-size: 12.4px;
    font-weight: 760;
    line-height: 1.4;
}

.zt-admin-reference-chip,
.zt-admin-soft-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border-radius: 999px;
    white-space: nowrap;
}

.zt-admin-reference-chip {
    padding: 6px 10px;
    border: 1px solid rgba(24, 119, 242, .18);
    background: #F2F8FF;
    color: #0C5EC4;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-admin-soft-pill {
    padding: 6px 10px;
    background: #EEF5F7;
    color: #2E6271;
    font-size: 11.5px;
    font-weight: 900;
}

.zt-admin-manage-table-transfer_bookings .zt-admin-record-panel .zt-panel-body {
    padding: clamp(16px, 1.8vw, 22px);
}

.zt-admin-manage-table-transfer_bookings .zt-admin-table-shell {
    overflow-x: auto;
    border-color: rgba(179, 199, 219, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-admin-manage-table-transfer_bookings .zt-admin-record-table {
    min-width: 940px;
}

.zt-admin-manage-table-transfer_bookings .zt-admin-record-table thead th {
    background: #F2F7FC;
}

.zt-admin-manage-table-transfer_bookings .zt-admin-record-table td {
    height: 64px;
    max-width: 320px;
}

.zt-admin-manage-table-transfer_bookings .zt-admin-cell-text {
    max-width: 300px;
    font-weight: 850;
}

@media (max-width: 991.98px) {
    .zt-admin-ledger-note {
        align-items: flex-start;
    }

    .zt-admin-manage-table-transfer_bookings .zt-admin-record-table {
        min-width: 820px;
    }
}
/* End transfer booking ledger admin view */

/* Transfer booking row view modal */
.zt-admin-ledger-actions {
    min-width: 96px;
}

.zt-admin-view-booking {
    min-width: 78px;
    justify-content: center;
    border-color: rgba(24, 119, 242, .24);
    background: linear-gradient(135deg, #F7FBFF, #EAF4FF);
    color: #0D63D8;
}

.zt-admin-view-booking i {
    font-size: 14px;
}

.zt-admin-view-booking:hover {
    border-color: rgba(24, 119, 242, .46);
    background: linear-gradient(135deg, #EAF4FF, #E6F7F2);
}

.zt-transfer-booking-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(187, 204, 224, .94);
    border-radius: 16px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
    box-shadow: 0 34px 90px rgba(5, 18, 35, .24);
}

.zt-transfer-booking-modal .modal-header {
    align-items: center;
    min-height: 86px;
    padding: 18px 62px 16px 20px;
    border-bottom: 1px solid rgba(202, 215, 231, .78);
    background:
        radial-gradient(circle at 10% 0%, rgba(24, 119, 242, .12), transparent 32%),
        linear-gradient(135deg, #FFFFFF 0%, #F4F9FF 58%, #ECFFF7 100%);
}

.zt-transfer-booking-modal .btn-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(190, 207, 226, .88);
    border-radius: 12px;
    background-color: #FFFFFF;
    opacity: 1;
    box-shadow: 0 12px 24px rgba(7, 30, 58, .1);
}

.zt-transfer-modal-title-wrap {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.zt-transfer-modal-icon {
    display: inline-grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, #075FD7 0%, #1877F2 48%, #0F8D73 100%);
    color: #FFFFFF;
    font-size: 21px;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .22);
}

.zt-transfer-modal-kicker {
    display: inline-flex;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-transfer-booking-modal .modal-title {
    margin: 4px 0 0;
    color: #071E3A;
    font-size: clamp(20px, 2.2vw, 27px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-transfer-booking-modal .modal-body {
    padding: 20px;
}

.zt-transfer-modal-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.zt-transfer-modal-summary > div,
.zt-transfer-modal-detail {
    min-width: 0;
    border: 1px solid rgba(189, 207, 228, .78);
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(16, 44, 77, .055);
}

.zt-transfer-modal-summary > div {
    padding: 12px;
}

.zt-transfer-modal-summary span,
.zt-transfer-modal-detail span {
    display: block;
    color: #667B90;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-transfer-modal-summary strong,
.zt-transfer-modal-detail strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #172638;
    font-size: 12.8px;
    font-weight: 900;
    line-height: 1.35;
}

.zt-transfer-modal-summary > div:first-child strong {
    color: #9B6500;
}

.zt-transfer-modal-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.zt-transfer-modal-detail {
    padding: 11px 12px;
}

.zt-transfer-modal-detail.is-wide {
    grid-column: span 2;
}

.zt-transfer-booking-modal .modal-footer {
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(202, 215, 231, .72);
    background: rgba(255, 255, 255, .72);
}

.zt-transfer-booking-modal .modal-footer .btn {
    min-width: 112px;
    min-height: 42px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 900;
}

@media (max-width: 991.98px) {
    .zt-transfer-modal-summary,
    .zt-transfer-modal-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .zt-transfer-booking-modal .modal-header,
    .zt-transfer-booking-modal .modal-body,
    .zt-transfer-booking-modal .modal-footer {
        padding-inline: 16px;
    }

    .zt-transfer-booking-modal .modal-header {
        padding-right: 58px;
    }

    .zt-transfer-modal-summary,
    .zt-transfer-modal-detail-grid {
        grid-template-columns: 1fr;
    }

    .zt-transfer-modal-detail.is-wide {
        grid-column: auto;
    }
}
/* End transfer booking row view modal */

/* Aircraft category admin form polish */
.zt-admin-manage-table-aircraft_categories .zt-admin-manage-hero {
    border-color: rgba(24, 119, 242, .2);
    background:
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .14), transparent 34%),
        radial-gradient(circle at 86% 18%, rgba(17, 163, 127, .1), transparent 30%),
        linear-gradient(135deg, #FFFFFF 0%, #F6FAFE 54%, #EEF6FF 100%);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-manage-title h1 {
    font-size: clamp(24px, 2.25vw, 32px);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-manage-form-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 251, 255, .98)),
        radial-gradient(circle at 10% 0%, rgba(24, 119, 242, .12), transparent 34%);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-panel-icon {
    background: linear-gradient(135deg, #0D63D8 0%, #1877F2 54%, #11A37F 100%);
    box-shadow: 0 14px 28px rgba(24, 119, 242, .22);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-edit-form {
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr);
    gap: 14px;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-field-name,
.zt-admin-manage-table-aircraft_categories .zt-admin-field-summary {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    padding: 14px;
    border: 1px solid rgba(184, 202, 222, .72);
    border-radius: 13px;
    background: linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-field-name .form-control {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px;
    font-size: 14px;
    font-weight: 920;
    box-sizing: border-box;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-field-summary textarea.form-control {
    min-height: 104px;
    border-color: rgba(24, 119, 242, .25);
    background: #FFFFFF;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-field-status,
.zt-admin-manage-table-aircraft_categories .zt-admin-field-sort-order {
    align-self: start;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-record-panel {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-admin-manage-table-aircraft_categories .zt-admin-record-table thead th {
    background: #F1F7FE;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-record-table tbody tr:hover {
    background: #F5FAFF;
}

.zt-admin-manage-table-aircraft_categories .zt-admin-cell-text {
    font-weight: 880;
}

@media (min-width: 1200px) {
    .zt-admin-manage-table-aircraft_categories .zt-admin-manage-grid > .col-xl-5 {
        flex: 0 0 54%;
        max-width: 54%;
    }

    .zt-admin-manage-table-aircraft_categories .zt-admin-manage-grid > .col-xl-7 {
        flex: 0 0 46%;
        max-width: 46%;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-aircraft_categories .zt-admin-edit-form {
        grid-template-columns: 1fr;
    }
}
/* End aircraft category admin form polish */

/* Users admin account directory */
.zt-admin-manage-table-users .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(24, 119, 242, .18);
    background:
        radial-gradient(circle at 10% 0%, rgba(24, 119, 242, .12), transparent 32%),
        radial-gradient(circle at 88% 10%, rgba(17, 163, 127, .1), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F7FAFE 54%, #EEF6FF 100%);
}

.zt-admin-manage-table-users .zt-admin-manage-title h1 {
    font-size: clamp(23px, 2.1vw, 31px);
}

.zt-admin-manage-table-users .zt-admin-manage-stats span {
    min-height: 74px;
}

.zt-admin-ledger-note.is-users {
    border-color: rgba(24, 119, 242, .18);
    background: linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(255, 255, 255, .92));
}

.zt-admin-ledger-note.is-users .zt-admin-ledger-note-icon {
    background: linear-gradient(135deg, #0D63D8 0%, #1877F2 54%, #11A37F 100%);
}

.zt-admin-manage-table-users .zt-admin-record-panel {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-admin-manage-table-users .zt-admin-record-panel .zt-panel-body {
    padding: clamp(16px, 1.8vw, 22px);
}

.zt-admin-manage-table-users .zt-admin-table-shell {
    overflow-x: auto;
    border-color: rgba(180, 199, 220, .72);
}

.zt-admin-manage-table-users .zt-admin-record-table {
    min-width: 760px;
}

.zt-admin-manage-table-users .zt-admin-record-table thead th {
    background: #F2F7FC;
}

.zt-admin-manage-table-users .zt-admin-record-table td {
    height: 64px;
}

.zt-admin-manage-table-users .zt-admin-cell-text {
    max-width: 280px;
    font-weight: 880;
}

.zt-admin-manage-table-users .zt-admin-record-table td:nth-child(2) .zt-admin-cell-text {
    color: #102A43;
    font-size: 13.2px;
    font-weight: 950;
}

.zt-admin-manage-table-users .zt-admin-record-table td:nth-child(3) .zt-admin-cell-text {
    color: #0D63D8;
    font-weight: 850;
}

.zt-admin-manage-table-users .zt-admin-record-table td:nth-child(4) .zt-admin-cell-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #EEF5FF;
    color: #0D63D8;
    font-size: 11.5px;
    font-weight: 950;
    text-transform: capitalize;
}

@media (max-width: 991.98px) {
    .zt-admin-manage-table-users .zt-admin-record-table {
        min-width: 680px;
    }
}
/* End users admin account directory */

/* Users account view/edit modals */
.zt-admin-manage-table-users .zt-admin-user-actions {
    display: inline-flex;
    min-width: 178px;
    justify-content: flex-end;
    gap: 8px;
}

.zt-admin-view-user,
.zt-admin-edit-user {
    min-width: 78px;
}

.zt-admin-view-user i,
.zt-admin-edit-user i {
    font-size: 14px;
}

.zt-admin-edit-user {
    border-color: rgba(17, 163, 127, .28);
    color: #0A725C;
    background: #F0FBF7;
}

.zt-admin-edit-user:hover {
    border-color: rgba(17, 163, 127, .52);
    background: linear-gradient(135deg, #E8FFF6, #EEF7FF);
    color: #064D3F;
}

.zt-user-account-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(184, 203, 224, .94);
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
    box-shadow: 0 34px 92px rgba(5, 18, 35, .24);
}

.zt-user-account-modal .modal-header {
    position: relative;
    align-items: center;
    min-height: 88px;
    padding: 18px 64px 16px 20px;
    border-bottom: 1px solid rgba(202, 215, 231, .78);
    background:
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .14), transparent 34%),
        linear-gradient(135deg, #FFFFFF 0%, #F4F9FF 58%, #ECFFF7 100%);
}

.zt-user-account-modal .btn-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(190, 207, 226, .88);
    border-radius: 12px;
    background-color: #FFFFFF;
    opacity: 1;
    box-shadow: 0 12px 24px rgba(7, 30, 58, .1);
}

.zt-user-modal-title-wrap {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.zt-user-modal-avatar {
    display: inline-grid;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #0D63D8 0%, #1877F2 52%, #11A37F 100%);
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 950;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .22);
}

.zt-user-modal-avatar.is-edit {
    background: linear-gradient(135deg, #0A725C 0%, #11A37F 52%, #1877F2 100%);
    font-size: 21px;
}

.zt-user-modal-kicker {
    display: inline-flex;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-user-account-modal .modal-title {
    margin: 4px 0 0;
    color: #071E3A;
    font-size: clamp(20px, 2.1vw, 27px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-user-account-modal .modal-header p {
    margin: 4px 0 0;
    color: #60758B;
    font-size: 13px;
    font-weight: 800;
}

.zt-user-account-modal .modal-body {
    padding: 20px;
}

.zt-user-modal-section-head {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(189, 207, 228, .76);
    border-radius: 15px;
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(16, 44, 77, .055);
}

.zt-user-modal-section-head i {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 13px;
    background: #EAF4FF;
    color: #0D63D8;
    font-size: 17px;
}

.zt-user-modal-section-head strong,
.zt-user-modal-section-head span {
    display: block;
}

.zt-user-modal-section-head strong {
    color: #102A43;
    font-size: 13.5px;
    font-weight: 950;
}

.zt-user-modal-section-head span {
    margin-top: 2px;
    color: #667B90;
    font-size: 12px;
    font-weight: 750;
}

.zt-user-modal-detail-grid,
.zt-user-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.zt-user-modal-detail,
.zt-user-edit-field {
    min-width: 0;
    border: 1px solid rgba(189, 207, 228, .78);
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(16, 44, 77, .055);
}

.zt-user-modal-detail {
    padding: 12px;
}

.zt-user-modal-detail.is-wide,
.zt-user-edit-field.is-wide {
    grid-column: span 2;
}

.zt-user-modal-detail span,
.zt-user-edit-field > span {
    display: block;
    color: #667B90;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-user-modal-detail strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #172638;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.zt-user-edit-field {
    padding: 10px 11px 11px;
}

.zt-user-edit-field .form-control,
.zt-user-edit-field .form-select {
    min-height: 44px;
    margin-top: 7px;
    border-color: rgba(184, 203, 224, .92);
    border-radius: 12px;
    color: #102A43;
    font-size: 13px;
    font-weight: 850;
    box-shadow: none;
}

.zt-user-edit-field .form-control:focus,
.zt-user-edit-field .form-select:focus {
    border-color: rgba(24, 119, 242, .62);
    box-shadow: 0 0 0 .18rem rgba(24, 119, 242, .12);
}

.zt-user-account-modal .modal-footer {
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(202, 215, 231, .72);
    background: rgba(255, 255, 255, .72);
}

.zt-user-account-modal .modal-footer .btn,
.zt-user-modal-primary {
    display: inline-flex;
    min-width: 124px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
}

.zt-user-modal-primary {
    border: 0;
    background: linear-gradient(135deg, #0D63D8, #11A37F);
    color: #FFFFFF;
    box-shadow: 0 16px 28px rgba(24, 119, 242, .18);
}

.zt-user-modal-primary:hover {
    color: #FFFFFF;
    filter: brightness(.98);
    transform: translateY(-1px);
}

@media (max-width: 575.98px) {
    .zt-user-account-modal .modal-header,
    .zt-user-account-modal .modal-body,
    .zt-user-account-modal .modal-footer {
        padding-inline: 16px;
    }

    .zt-user-account-modal .modal-header {
        padding-right: 58px;
    }

    .zt-user-modal-detail-grid,
    .zt-user-edit-grid {
        grid-template-columns: 1fr;
    }

    .zt-user-modal-detail.is-wide,
    .zt-user-edit-field.is-wide {
        grid-column: span 1;
    }
}
/* End users account view/edit modals */
/* Customer booking ledger admin pages */
.zt-admin-manage-table-bookings .zt-admin-manage-hero,
.zt-admin-manage-table-payments .zt-admin-manage-hero,
.zt-admin-manage-table-private_jet_requests .zt-admin-manage-hero,
.zt-admin-manage-table-charter_requests .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(24, 119, 242, .18);
    background:
        radial-gradient(circle at 8% 0%, rgba(24, 119, 242, .12), transparent 31%),
        radial-gradient(circle at 88% 8%, rgba(17, 163, 127, .1), transparent 29%),
        linear-gradient(135deg, #FFFFFF 0%, #F7FAFE 54%, #EEF6FF 100%);
}

.zt-admin-manage-table-bookings .zt-admin-manage-title h1,
.zt-admin-manage-table-payments .zt-admin-manage-title h1,
.zt-admin-manage-table-private_jet_requests .zt-admin-manage-title h1,
.zt-admin-manage-table-charter_requests .zt-admin-manage-title h1 {
    font-size: clamp(23px, 2.1vw, 31px);
}

.zt-admin-manage-table-bookings .zt-admin-manage-title p,
.zt-admin-manage-table-payments .zt-admin-manage-title p,
.zt-admin-manage-table-private_jet_requests .zt-admin-manage-title p,
.zt-admin-manage-table-charter_requests .zt-admin-manage-title p {
    max-width: 720px;
}

.zt-admin-manage-table-bookings .zt-admin-record-panel,
.zt-admin-manage-table-payments .zt-admin-record-panel,
.zt-admin-manage-table-private_jet_requests .zt-admin-record-panel,
.zt-admin-manage-table-charter_requests .zt-admin-record-panel {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.zt-admin-manage-table-bookings .zt-admin-record-panel .zt-panel-body,
.zt-admin-manage-table-payments .zt-admin-record-panel .zt-panel-body,
.zt-admin-manage-table-private_jet_requests .zt-admin-record-panel .zt-panel-body,
.zt-admin-manage-table-charter_requests .zt-admin-record-panel .zt-panel-body {
    padding: clamp(16px, 1.8vw, 22px);
}

.zt-admin-ledger-note.is-customer-ledger {
    border-color: rgba(24, 119, 242, .2);
    background: linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(255, 255, 255, .94) 58%, rgba(17, 163, 127, .08));
}

.zt-admin-ledger-note.is-customer-ledger .zt-admin-ledger-note-icon {
    background: linear-gradient(135deg, #0D63D8 0%, #1877F2 54%, #11A37F 100%);
}

.zt-admin-manage-table-bookings .zt-admin-table-shell,
.zt-admin-manage-table-payments .zt-admin-table-shell,
.zt-admin-manage-table-private_jet_requests .zt-admin-table-shell,
.zt-admin-manage-table-charter_requests .zt-admin-table-shell {
    overflow-x: auto;
    border-color: rgba(180, 199, 220, .72);
}

.zt-admin-manage-table-bookings .zt-admin-record-table,
.zt-admin-manage-table-payments .zt-admin-record-table,
.zt-admin-manage-table-private_jet_requests .zt-admin-record-table,
.zt-admin-manage-table-charter_requests .zt-admin-record-table {
    min-width: 920px;
}

.zt-admin-manage-table-bookings .zt-admin-record-table thead th,
.zt-admin-manage-table-payments .zt-admin-record-table thead th,
.zt-admin-manage-table-private_jet_requests .zt-admin-record-table thead th,
.zt-admin-manage-table-charter_requests .zt-admin-record-table thead th {
    background: #F2F7FC;
}

.zt-admin-manage-table-bookings .zt-admin-cell-text,
.zt-admin-manage-table-payments .zt-admin-cell-text,
.zt-admin-manage-table-private_jet_requests .zt-admin-cell-text,
.zt-admin-manage-table-charter_requests .zt-admin-cell-text {
    max-width: 280px;
    font-weight: 850;
}

.zt-admin-ledger-actions {
    display: inline-flex;
    min-width: 168px;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.zt-admin-edit-ledger {
    border-color: rgba(17, 163, 127, .28);
    color: #0A725C;
    background: #F0FBF7;
}

.zt-admin-edit-ledger:hover {
    border-color: rgba(17, 163, 127, .52);
    background: linear-gradient(135deg, #E8FFF6, #EEF7FF);
    color: #064D3F;
}

.zt-customer-record-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(184, 203, 224, .94);
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
    box-shadow: 0 34px 92px rgba(5, 18, 35, .24);
}

.zt-customer-record-modal .modal-header {
    position: relative;
    align-items: center;
    min-height: 88px;
    padding: 18px 64px 16px 20px;
    border-bottom: 1px solid rgba(202, 215, 231, .78);
    background:
        radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .14), transparent 34%),
        linear-gradient(135deg, #FFFFFF 0%, #F4F9FF 58%, #ECFFF7 100%);
}

.zt-customer-record-modal .btn-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(190, 207, 226, .88);
    border-radius: 12px;
    background-color: #FFFFFF;
    opacity: 1;
    box-shadow: 0 12px 24px rgba(7, 30, 58, .1);
}

.zt-customer-modal-title-wrap {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.zt-customer-modal-icon {
    display: inline-grid;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #0D63D8 0%, #1877F2 52%, #11A37F 100%);
    color: #FFFFFF;
    font-size: 21px;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .22);
}

.zt-customer-modal-icon.is-edit {
    background: linear-gradient(135deg, #0A725C 0%, #11A37F 52%, #1877F2 100%);
}

.zt-customer-modal-kicker {
    display: inline-flex;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-customer-record-modal .modal-title {
    margin: 4px 0 0;
    color: #071E3A;
    font-size: clamp(20px, 2.1vw, 27px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-customer-record-modal .modal-header p {
    margin: 4px 0 0;
    color: #60758B;
    font-size: 13px;
    font-weight: 800;
}

.zt-customer-record-modal .modal-body {
    padding: 20px;
}

.zt-customer-ledger-summary,
.zt-customer-modal-detail-grid,
.zt-customer-edit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.zt-customer-modal-detail-grid,
.zt-customer-edit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
}

.zt-customer-ledger-summary > div,
.zt-customer-modal-detail,
.zt-customer-edit-field {
    min-width: 0;
    border: 1px solid rgba(189, 207, 228, .78);
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(16, 44, 77, .055);
}

.zt-customer-ledger-summary > div,
.zt-customer-modal-detail,
.zt-customer-edit-field {
    padding: 12px;
}

.zt-customer-modal-detail.is-wide,
.zt-customer-edit-field.is-wide {
    grid-column: span 2;
}

.zt-customer-ledger-summary span,
.zt-customer-modal-detail span,
.zt-customer-edit-field .form-label {
    display: block;
    margin: 0;
    color: #667B90;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.zt-customer-ledger-summary strong,
.zt-customer-modal-detail strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #172638;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.zt-customer-edit-field .form-control,
.zt-customer-edit-field .form-select {
    min-height: 44px;
    margin-top: 7px;
    border-color: rgba(184, 203, 224, .92);
    border-radius: 12px;
    color: #102A43;
    font-size: 13px;
    font-weight: 850;
    box-shadow: none;
}

.zt-customer-edit-field textarea.form-control {
    min-height: 106px;
    resize: vertical;
}

.zt-customer-edit-field .form-control:focus,
.zt-customer-edit-field .form-select:focus {
    border-color: rgba(24, 119, 242, .62);
    box-shadow: 0 0 0 .18rem rgba(24, 119, 242, .12);
}

.zt-customer-record-modal .modal-footer {
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(202, 215, 231, .72);
    background: rgba(255, 255, 255, .72);
}

.zt-customer-record-modal .modal-footer .btn,
.zt-customer-modal-primary {
    display: inline-flex;
    min-width: 124px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
}

.zt-customer-modal-primary {
    border: 0;
    background: linear-gradient(135deg, #0D63D8, #11A37F);
    color: #FFFFFF;
    box-shadow: 0 16px 28px rgba(24, 119, 242, .18);
}

.zt-customer-modal-primary:hover {
    color: #FFFFFF;
    filter: brightness(.98);
    transform: translateY(-1px);
}

@media (max-width: 991.98px) {
    .zt-customer-ledger-summary,
    .zt-customer-modal-detail-grid,
    .zt-customer-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .zt-customer-record-modal .modal-header,
    .zt-customer-record-modal .modal-body,
    .zt-customer-record-modal .modal-footer {
        padding-inline: 16px;
    }

    .zt-customer-record-modal .modal-header {
        padding-right: 58px;
    }

    .zt-customer-ledger-summary,
    .zt-customer-modal-detail-grid,
    .zt-customer-edit-grid {
        grid-template-columns: 1fr;
    }

    .zt-customer-modal-detail.is-wide,
    .zt-customer-edit-field.is-wide {
        grid-column: span 1;
    }
}
/* End customer booking ledger admin pages */
/* Admin languages controlled directory */
.zt-admin-manage-table-languages .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(24, 119, 242, .18);
    background:
        radial-gradient(circle at 4% 0%, rgba(20, 184, 166, .14), transparent 26%),
        radial-gradient(circle at 94% 12%, rgba(24, 119, 242, .12), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F7FBFF 54%, #EDF7F5 100%);
}

.zt-admin-manage-table-languages .zt-admin-kicker i {
    background: linear-gradient(135deg, #1877F2, #14B8A6);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(20, 184, 166, .18);
}

.zt-admin-manage-table-languages .zt-admin-manage-title h1 {
    margin-top: 8px;
    font-size: clamp(24px, 2.2vw, 32px);
}

.zt-admin-manage-table-languages .zt-admin-manage-title p {
    max-width: 620px;
    color: #52677E;
}

.zt-admin-manage-table-languages .zt-admin-record-panel {
    border-color: rgba(180, 201, 222, .74);
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
}

.zt-admin-manage-table-languages .zt-admin-record-head {
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(214, 225, 237, .86);
}

.zt-admin-manage-table-languages .zt-admin-ledger-note {
    border-color: rgba(20, 184, 166, .2);
    background: linear-gradient(135deg, rgba(20, 184, 166, .09), rgba(24, 119, 242, .07));
}

.zt-admin-manage-table-languages .zt-admin-ledger-note-icon {
    background: linear-gradient(135deg, #1877F2, #14B8A6);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(24, 119, 242, .18);
}

.zt-admin-manage-table-languages .zt-admin-table-shell {
    overflow: hidden;
    border-radius: 15px;
    border-color: rgba(180, 201, 222, .72);
    box-shadow: 0 18px 38px rgba(16, 38, 68, .06);
}

.zt-admin-manage-table-languages .zt-admin-record-table thead th {
    background: #F1F7FD;
    color: #486179;
}

.zt-admin-manage-table-languages .zt-admin-record-table td {
    height: 62px;
    font-size: 13px;
}

.zt-admin-language-code,
.zt-admin-language-name,
.zt-admin-language-native,
.zt-admin-sort-chip {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.zt-admin-language-code {
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 10px;
    background: #EEF6FF;
    color: #0D63D8;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-language-name {
    gap: 9px;
    color: #172638;
    font-size: 13.5px;
    font-weight: 950;
}

.zt-admin-language-name i {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 10px;
    background: rgba(20, 184, 166, .12);
    color: #0F8C78;
    font-size: 15px;
}

.zt-admin-language-native {
    color: #536B83;
    font-size: 13px;
    font-weight: 850;
}

.zt-admin-sort-chip {
    justify-content: center;
    min-width: 36px;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #F3F6FA;
    color: #4D6278;
    font-size: 12px;
    font-weight: 950;
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-languages .zt-admin-record-head {
        align-items: flex-start;
    }

    .zt-admin-manage-table-languages .zt-admin-record-table td {
        height: auto;
    }
}
/* End admin languages controlled directory */
/* Admin currencies controlled directory */
.zt-admin-manage-table-currencies .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(17, 163, 127, .2);
    background:
        radial-gradient(circle at 6% 0%, rgba(17, 163, 127, .14), transparent 26%),
        radial-gradient(circle at 94% 10%, rgba(245, 158, 11, .12), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F8FCFA 54%, #EEF8F3 100%);
}

.zt-admin-manage-table-currencies .zt-admin-kicker {
    color: #0B745E;
}

.zt-admin-manage-table-currencies .zt-admin-kicker i {
    background: linear-gradient(135deg, #11A37F, #F59E0B);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(17, 163, 127, .2);
}

.zt-admin-manage-table-currencies .zt-admin-manage-title h1 {
    margin-top: 8px;
    font-size: clamp(24px, 2.2vw, 32px);
}

.zt-admin-manage-table-currencies .zt-admin-manage-title p {
    max-width: 620px;
    color: #52677E;
}

.zt-admin-manage-table-currencies .zt-admin-record-panel {
    border-color: rgba(180, 201, 222, .74);
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFEFC 100%);
}

.zt-admin-manage-table-currencies .zt-admin-record-head {
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(214, 225, 237, .86);
}

.zt-admin-manage-table-currencies .zt-admin-ledger-note {
    border-color: rgba(17, 163, 127, .2);
    background: linear-gradient(135deg, rgba(17, 163, 127, .09), rgba(245, 158, 11, .07));
}

.zt-admin-manage-table-currencies .zt-admin-ledger-note-icon {
    background: linear-gradient(135deg, #11A37F, #F59E0B);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(17, 163, 127, .18);
}

.zt-admin-manage-table-currencies .zt-admin-table-shell {
    overflow: hidden;
    border-radius: 15px;
    border-color: rgba(180, 201, 222, .72);
    box-shadow: 0 18px 38px rgba(16, 38, 68, .06);
}

.zt-admin-manage-table-currencies .zt-admin-record-table thead th {
    background: #F3F9F6;
    color: #486B5F;
}

.zt-admin-manage-table-currencies .zt-admin-record-table td {
    height: 62px;
    font-size: 13px;
}

.zt-admin-currency-code,
.zt-admin-currency-name,
.zt-admin-currency-symbol {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.zt-admin-currency-code {
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(17, 163, 127, .2);
    border-radius: 10px;
    background: #ECF9F5;
    color: #0B745E;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-admin-currency-name {
    gap: 9px;
    color: #172638;
    font-size: 13.5px;
    font-weight: 950;
}

.zt-admin-currency-name i {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 10px;
    background: rgba(245, 158, 11, .13);
    color: #9B6500;
    font-size: 15px;
}

.zt-admin-currency-symbol {
    justify-content: center;
    min-width: 42px;
    min-height: 32px;
    padding: 6px 12px;
    border: 1px solid rgba(245, 158, 11, .22);
    border-radius: 11px;
    background: #FFF8E9;
    color: #8A5B00;
    font-size: 13px;
    font-weight: 950;
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-currencies .zt-admin-record-head {
        align-items: flex-start;
    }

    .zt-admin-manage-table-currencies .zt-admin-record-table td {
        height: auto;
    }
}
/* End admin currencies controlled directory */
/* Admin settings records and logout confirmation */
.zt-admin-manage-table-settings .zt-admin-manage-hero {
    border-color: rgba(79, 70, 229, .16);
    background:
        radial-gradient(circle at 8% 0%, rgba(79, 70, 229, .1), transparent 30%),
        linear-gradient(135deg, #FFFFFF 0%, #F6F9FF 100%);
}

.zt-admin-manage-table-settings .zt-admin-kicker {
    color: #4F46E5;
}

.zt-admin-manage-table-settings .zt-admin-kicker i,
.zt-admin-manage-table-settings .zt-admin-ledger-note-icon {
    background: linear-gradient(135deg, #4F46E5, #14B8A6);
    color: #FFFFFF;
}

.zt-admin-manage-table-settings .zt-admin-ledger-note {
    border-color: rgba(79, 70, 229, .18);
    background: linear-gradient(135deg, rgba(79, 70, 229, .08), rgba(20, 184, 166, .07));
}

.zt-admin-manage-table-settings .zt-admin-record-panel {
    border-color: rgba(180, 201, 222, .74);
    background: #FFFFFF;
}

.zt-admin-manage-table-settings .zt-admin-table-shell {
    border-radius: 14px;
    overflow-x: auto;
}

.zt-admin-manage-table-settings .zt-admin-record-table thead th {
    background: #F4F7FF;
    color: #53607E;
}

.zt-admin-setting-key,
.zt-admin-setting-value,
.zt-admin-setting-group {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    white-space: nowrap;
}

.zt-admin-setting-key {
    gap: 8px;
    color: #172638;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12.5px;
    font-weight: 950;
}

.zt-admin-setting-key i {
    display: inline-grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 10px;
    background: rgba(79, 70, 229, .12);
    color: #4F46E5;
}

.zt-admin-setting-value {
    max-width: min(420px, 42vw);
    overflow: hidden;
    padding: 7px 10px;
    border: 1px solid rgba(175, 194, 216, .68);
    border-radius: 10px;
    background: #F8FBFF;
    color: #52677E;
    font-size: 12.5px;
    font-weight: 850;
    text-overflow: ellipsis;
}

.zt-admin-setting-group {
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    background: #ECF9F5;
    color: #0B745E;
    font-size: 12px;
    font-weight: 950;
    text-transform: capitalize;
}

.zt-admin-settings-actions .zt-admin-table-action {
    border-color: rgba(79, 70, 229, .22);
    background: #F4F3FF;
    color: #4F46E5;
}

.zt-admin-settings-actions .zt-admin-table-action:hover {
    background: #ECEBFF;
    color: #3F36C7;
}

.zt-settings-record-modal .modal-content,
.zt-admin-logout-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(180, 201, 222, .8);
    border-radius: 18px;
    box-shadow: 0 26px 70px rgba(15, 31, 55, .22);
}

.zt-settings-record-modal .modal-header,
.zt-admin-logout-modal .modal-header {
    padding: 20px 22px;
    border-bottom: 1px solid rgba(214, 225, 237, .9);
    background: linear-gradient(135deg, #FFFFFF, #F6F9FF);
}

.zt-settings-modal-title-wrap,
.zt-admin-logout-title-wrap {
    display: flex;
    align-items: center;
    gap: 13px;
}

.zt-settings-modal-icon,
.zt-admin-logout-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #4F46E5, #14B8A6);
    color: #FFFFFF;
    font-size: 19px;
    box-shadow: 0 14px 28px rgba(79, 70, 229, .18);
}

.zt-admin-logout-icon {
    background: linear-gradient(135deg, #EF4444, #F59E0B);
}

.zt-settings-modal-kicker,
.zt-admin-logout-kicker {
    display: block;
    color: #4F46E5;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-admin-logout-kicker {
    color: #B42318;
}

.zt-settings-record-modal .modal-title,
.zt-admin-logout-modal .modal-title {
    margin: 3px 0 0;
    color: #172638;
    font-size: 19px;
    font-weight: 950;
}

.zt-settings-record-modal .modal-header p,
.zt-admin-logout-modal .modal-header p {
    margin: 4px 0 0;
    color: #60748A;
    font-size: 12.5px;
    font-weight: 750;
}

.zt-settings-record-modal .modal-body {
    padding: 22px;
}

.zt-settings-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.zt-settings-edit-field {
    display: grid;
    gap: 7px;
}

.zt-settings-edit-field.is-wide {
    grid-column: 1 / -1;
}

.zt-settings-edit-field > span {
    color: #50657B;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-settings-readonly-key {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid rgba(175, 194, 216, .72);
    border-radius: 12px;
    background: #F8FBFF;
    color: #172638;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    font-weight: 950;
}

.zt-settings-readonly-key i {
    color: #4F46E5;
}

.zt-settings-edit-field textarea.form-control {
    min-height: 126px;
    resize: vertical;
}

.zt-settings-edit-field small {
    color: #687C92;
    font-size: 11.5px;
    font-weight: 750;
}

.zt-settings-modal-primary,
.zt-admin-logout-confirm {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #4F46E5, #14B8A6);
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(79, 70, 229, .18);
}

.zt-admin-logout-confirm {
    background: linear-gradient(135deg, #EF4444, #F59E0B);
    box-shadow: 0 14px 28px rgba(239, 68, 68, .18);
}

.zt-settings-modal-primary:hover,
.zt-admin-logout-confirm:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .zt-settings-edit-grid {
        grid-template-columns: 1fr;
    }

    .zt-admin-setting-value {
        max-width: 260px;
    }
}
/* End admin settings records and logout confirmation */
/* Settings table value spacing fix */
.zt-admin-manage-table-settings .zt-admin-record-table {
    table-layout: fixed;
    min-width: 920px;
}

.zt-admin-manage-table-settings .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-settings .zt-admin-record-table td:nth-child(1) {
    width: 78px;
}

.zt-admin-manage-table-settings .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-settings .zt-admin-record-table td:nth-child(2) {
    width: 250px;
}

.zt-admin-manage-table-settings .zt-admin-record-table th:nth-child(4),
.zt-admin-manage-table-settings .zt-admin-record-table td:nth-child(4) {
    width: 150px;
}

.zt-admin-manage-table-settings .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-settings .zt-admin-record-table td:nth-child(5) {
    width: 118px;
}

.zt-admin-manage-table-settings .zt-admin-record-table td {
    max-width: none;
    overflow: hidden;
}

.zt-admin-manage-table-settings .zt-admin-record-table td:nth-child(3) {
    padding-right: 18px;
}

.zt-admin-manage-table-settings .zt-admin-setting-value {
    display: flex;
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
}
/* End settings table value spacing fix */
/* Admin profile, platform controls and footer setting hooks */
.zt-admin-control-page {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.zt-admin-control-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(170, 189, 214, .62);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(247, 251, 255, .88)), radial-gradient(circle at top right, rgba(20, 184, 166, .16), transparent 34%), radial-gradient(circle at bottom left, rgba(79, 70, 229, .13), transparent 38%);
    box-shadow: 0 18px 50px rgba(31, 45, 61, .08);
}

.zt-admin-control-hero h1 {
    margin: 4px 0 7px;
    color: #152436;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-control-hero p {
    max-width: 720px;
    margin: 0;
    color: #5B7086;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.65;
}

.zt-admin-control-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0F766E;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-admin-control-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #FFFFFF;
    color: #172638;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: inset 0 0 0 1px rgba(170, 189, 214, .64), 0 12px 28px rgba(31, 45, 61, .08);
}

.zt-admin-control-pill i {
    color: #14B8A6;
    font-size: 15px;
}

.zt-admin-control-grid,
.zt-admin-platform-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.zt-admin-control-card {
    display: grid;
    gap: 15px;
    padding: 20px;
    border: 1px solid rgba(173, 192, 214, .68);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 45px rgba(31, 45, 61, .075);
}

.zt-admin-control-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.zt-admin-control-card-head h2 {
    margin: 0 0 4px;
    color: #172638;
    font-size: 18px;
    font-weight: 950;
}

.zt-admin-control-card-head p {
    margin: 0;
    color: #60748A;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1.55;
}

.zt-admin-control-card-head i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 14px;
    background: linear-gradient(135deg, #172638, #14B8A6);
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 12px 24px rgba(20, 184, 166, .18);
}

.zt-admin-control-field {
    display: grid;
    gap: 7px;
}

.zt-admin-control-field > span {
    color: #43566D;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-admin-control-field input,
.zt-admin-control-field select,
.zt-admin-control-field textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(166, 186, 209, .82);
    border-radius: 13px;
    background: #F8FBFF;
    color: #172638;
    font-size: 13px;
    font-weight: 780;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-admin-control-field input,
.zt-admin-control-field select {
    padding: 0 14px;
}

.zt-admin-control-field textarea {
    min-height: 112px;
    padding: 13px 14px;
    resize: vertical;
}

.zt-admin-control-field input:focus,
.zt-admin-control-field select:focus,
.zt-admin-control-field textarea:focus {
    border-color: #14B8A6;
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .14);
}

.zt-admin-control-field small {
    color: #718399;
    font-size: 11.5px;
    font-weight: 740;
}

.zt-admin-control-field.is-wide {
    grid-column: 1 / -1;
}

.zt-admin-control-field.is-check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    padding: 12px 14px;
    border: 1px solid rgba(166, 186, 209, .68);
    border-radius: 14px;
    background: #F8FBFF;
}

.zt-admin-control-field.is-check > span {
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    color: #172638;
}

.zt-admin-control-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #172638, #14B8A6);
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(20, 184, 166, .18);
}

.zt-admin-control-primary:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.zt-admin-control-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    border-radius: 14px;
    font-weight: 850;
}

.zt-platform-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.zt-platform-switch {
    position: relative;
    width: 48px;
    height: 28px;
    border-radius: 999px;
    background: #D6E0EA;
    transition: background .18s ease;
}

.zt-platform-switch::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 3px 10px rgba(31, 45, 61, .18);
    transition: transform .18s ease;
}

.zt-admin-control-field.is-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.zt-admin-control-field.is-check input:checked + .zt-platform-switch {
    background: #14B8A6;
}

.zt-admin-control-field.is-check input:checked + .zt-platform-switch::after {
    transform: translateX(20px);
}

.zt-platform-image-field {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px dashed rgba(146, 166, 190, .75);
    border-radius: 15px;
    background: #F8FBFF;
}

.zt-platform-image-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 62px;
    overflow: hidden;
    border-radius: 12px;
    background: #FFFFFF;
    color: #718399;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(166, 186, 209, .62);
}

.zt-platform-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zt-platform-image-preview.is-empty {
    background: linear-gradient(135deg, #F2F7FC, #FFFFFF);
}

.zt-platform-image-field input[type="file"] {
    min-height: 44px;
    padding: 10px;
    border: 1px solid rgba(166, 186, 209, .62);
    border-radius: 12px;
    background: #FFFFFF;
    font-size: 12px;
}

.zt-homepage-section-card,
.zt-platform-save-bar {
    grid-column: 1 / -1;
}

.zt-homepage-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.zt-homepage-section-editor {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(173, 192, 214, .64);
    border-radius: 16px;
    background: #F8FBFF;
}

.zt-homepage-section-editor h3 {
    margin: 0;
    color: #172638;
    font-size: 15px;
    font-weight: 950;
}

.zt-platform-save-bar {
    position: sticky;
    bottom: 16px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(173, 192, 214, .72);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 46px rgba(31, 45, 61, .12);
    backdrop-filter: blur(14px);
}

.zt-platform-save-bar p {
    margin: 0;
    color: #5B7086;
    font-size: 12.5px;
    font-weight: 760;
}

.zt-admin-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgba(220, 38, 38, .22);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 247, 247, .98), rgba(255, 255, 255, .94));
    box-shadow: 0 16px 38px rgba(127, 29, 29, .06);
}

.zt-admin-danger-zone h2 {
    margin: 0 0 5px;
    color: #7F1D1D;
    font-size: 18px;
    font-weight: 950;
}

.zt-admin-danger-zone p {
    margin: 0;
    color: #7C4A4A;
    font-size: 12.8px;
    font-weight: 760;
    line-height: 1.6;
}

.zt-admin-danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 15px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #B42318, #F97316);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 13px 26px rgba(180, 35, 24, .18);
}

.zt-admin-delete-modal .modal-content {
    border: 0;
    border-radius: 18px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .24);
}

.zt-admin-delete-modal .modal-header {
    border-bottom: 1px solid rgba(226, 232, 240, .82);
}

.zt-admin-delete-modal .modal-body {
    display: grid;
    gap: 14px;
}

.zt-footer-contact-lines {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    color: rgba(226, 236, 246, .82);
    font-size: 12px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-footer-contact-lines span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.zt-footer-contact-lines span::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: #14B8A6;
}

@media (max-width: 1100px) {
    .zt-admin-control-grid,
    .zt-admin-platform-grid,
    .zt-homepage-section-grid {
        grid-template-columns: 1fr;
    }

    .zt-homepage-section-card,
    .zt-platform-save-bar {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-control-hero,
    .zt-admin-control-card-head,
    .zt-admin-danger-zone,
    .zt-platform-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-platform-fields {
        grid-template-columns: 1fr;
    }

    .zt-platform-image-field {
        grid-template-columns: 1fr;
    }

    .zt-platform-image-preview {
        width: 100%;
        height: 140px;
    }
}
/* End admin profile, platform controls and footer setting hooks */
/* Admin control heading and modal refinements */
.zt-admin-control-hero h2 {
    margin: 4px 0 7px;
    color: #152436;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 950;
    letter-spacing: 0;
}

.zt-admin-control-card-head h3 {
    margin: 0 0 4px;
    color: #172638;
    font-size: 18px;
    font-weight: 950;
}

.zt-admin-danger-zone > div > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: #B42318;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-admin-delete-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.zt-admin-delete-title > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 14px;
    background: #FFF1F0;
    color: #B42318;
    font-size: 18px;
}

.zt-admin-delete-title h2 {
    margin: 0 0 3px;
    color: #172638;
    font-size: 19px;
    font-weight: 950;
}

.zt-admin-delete-title p {
    margin: 0;
    color: #60748A;
    font-size: 12.5px;
    font-weight: 750;
}
/* End admin control heading and modal refinements */
/* Dashboard quick-control card fit */
@media (min-width: 1200px) {
    .zt-admin-dashboard-hero-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .zt-admin-dashboard-hero-grid a {
        min-height: 98px;
        padding: 11px;
    }

    .zt-admin-dashboard-hero-grid a strong {
        font-size: clamp(18px, 1.35vw, 24px);
        line-height: 1.05;
    }
}
/* End dashboard quick-control card fit */
/* Platform Controls enterprise redesign */
.zt-platform-control-page {
    max-width: 1440px;
    gap: 18px;
    padding-bottom: 22px;
}

.zt-platform-control-page .zt-admin-control-hero {
    position: relative;
    overflow: hidden;
    align-items: center;
    min-height: 150px;
    padding: 24px 26px;
    border: 1px solid rgba(120, 144, 168, .28);
    border-radius: 22px;
    background:
        linear-gradient(120deg, rgba(12, 22, 36, .96), rgba(20, 42, 62, .92) 52%, rgba(12, 98, 105, .88)),
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .18), transparent 28%);
    color: #FFFFFF;
    box-shadow: 0 22px 58px rgba(11, 25, 43, .18);
}

.zt-platform-control-page .zt-admin-control-hero::before {
    content: "";
    position: absolute;
    inset: -40% auto auto 45%;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(20, 184, 166, .28), transparent 62%);
    pointer-events: none;
}

.zt-platform-control-page .zt-admin-control-hero::after {
    content: "";
    position: absolute;
    right: 26px;
    bottom: 18px;
    width: 190px;
    height: 46px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0));
    transform: rotate(-8deg);
    pointer-events: none;
}

.zt-platform-control-page .zt-admin-control-hero > * {
    position: relative;
    z-index: 1;
}

.zt-platform-control-page .zt-section-kicker {
    background: rgba(255, 255, 255, .12);
    color: #C8FFF4;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}

.zt-platform-control-page .zt-admin-control-hero h2 {
    max-width: 780px;
    margin: 8px 0 8px;
    color: #FFFFFF;
    font-size: clamp(28px, 3.1vw, 42px);
    line-height: 1.03;
}

.zt-platform-control-page .zt-admin-control-hero p {
    max-width: 760px;
    color: rgba(232, 246, 252, .86);
    font-size: 13.5px;
    line-height: 1.55;
}

.zt-platform-control-page .zt-admin-control-pill {
    min-height: 42px;
    padding: 0 16px;
    background: rgba(255, 255, 255, .14);
    color: #FFFFFF;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), 0 16px 34px rgba(0, 0, 0, .16);
    backdrop-filter: blur(14px);
}

.zt-platform-control-page .zt-admin-control-pill i {
    color: #A7F3D0;
}

.zt-admin-platform-form {
    display: grid;
    gap: 18px;
}

.zt-platform-control-page .zt-admin-platform-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    align-items: start;
    gap: 18px;
}

.zt-platform-control-page .zt-platform-group-card {
    position: relative;
    overflow: hidden;
    gap: 16px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(171, 190, 211, .58);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .96));
    box-shadow: 0 18px 42px rgba(21, 36, 54, .075);
}

.zt-platform-control-page .zt-platform-group-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #14B8A6, #2563EB, #F59E0B);
    opacity: .95;
}

.zt-platform-control-page .zt-admin-control-card-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(223, 231, 241, .9);
}

.zt-platform-control-page .zt-admin-control-card-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 15px;
    background: linear-gradient(135deg, #0F172A, #0F766E);
    box-shadow: 0 14px 28px rgba(15, 118, 110, .18);
}

.zt-platform-control-page .zt-admin-control-card-head > span i {
    width: auto;
    height: auto;
    flex: none;
    border-radius: 0;
    background: transparent;
    color: #FFFFFF;
    font-size: 19px;
    box-shadow: none;
}

.zt-platform-control-page .zt-admin-control-card-head h3 {
    margin: 0 0 4px;
    color: #152436;
    font-size: 17px;
    line-height: 1.2;
}

.zt-platform-control-page .zt-admin-control-card-head p {
    max-width: 560px;
    color: #60748A;
    font-size: 12px;
    line-height: 1.45;
}

.zt-platform-control-page .zt-platform-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.zt-platform-control-page .zt-admin-control-field {
    min-width: 0;
    gap: 6px;
}

.zt-platform-control-page .zt-admin-control-field > span {
    color: #43566D;
    font-size: 10.8px;
    letter-spacing: .06em;
}

.zt-platform-control-page .zt-admin-control-field input,
.zt-platform-control-page .zt-admin-control-field select,
.zt-platform-control-page .zt-admin-control-field textarea {
    min-width: 0;
    min-height: 46px;
    border-radius: 12px;
    border-color: rgba(173, 192, 214, .76);
    background: #FFFFFF;
    color: #18283A;
    font-size: 12.5px;
    font-weight: 790;
    box-shadow: 0 1px 0 rgba(16, 24, 40, .03);
}

.zt-platform-control-page .zt-admin-control-field textarea {
    min-height: 94px;
    line-height: 1.5;
}

.zt-platform-control-page .zt-admin-control-field input::placeholder,
.zt-platform-control-page .zt-admin-control-field textarea::placeholder {
    color: #8A9BAE;
    font-size: 11.5px;
    font-weight: 700;
}

.zt-platform-control-page .zt-admin-control-field input:focus,
.zt-platform-control-page .zt-admin-control-field select:focus,
.zt-platform-control-page .zt-admin-control-field textarea:focus {
    border-color: #0FAD9B;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .12), 0 10px 24px rgba(20, 184, 166, .08);
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(1) {
    grid-row: span 2;
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(1) .zt-platform-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(1) .zt-admin-control-field.is-wide,
.zt-platform-control-page .zt-platform-group-card:nth-of-type(3) .zt-admin-control-field.is-wide,
.zt-platform-control-page .zt-platform-group-card:nth-of-type(4) .zt-admin-control-field.is-wide {
    grid-column: 1 / -1;
}

.zt-platform-control-page .zt-admin-control-field.is-check {
    position: relative;
    min-height: 58px;
    padding: 12px 13px;
    border-radius: 15px;
    background: linear-gradient(135deg, #F8FBFF, #FFFFFF);
}

.zt-platform-control-page .zt-admin-control-field.is-check > span {
    color: #172638;
    font-size: 12.5px;
    font-weight: 900;
}

.zt-platform-control-page .zt-platform-switch {
    display: inline-grid;
    grid-template-columns: 46px auto;
    align-items: center;
    gap: 9px;
    width: auto;
    height: auto;
    min-width: 118px;
    padding: 0;
    background: transparent;
}

.zt-platform-control-page .zt-platform-switch::after {
    display: none;
}

.zt-platform-control-page .zt-platform-switch em {
    position: relative;
    display: inline-flex;
    width: 46px;
    height: 26px;
    border-radius: 999px;
    background: #CBD5E1;
    box-shadow: inset 0 0 0 1px rgba(100, 116, 139, .18);
    transition: background .18s ease;
}

.zt-platform-control-page .zt-platform-switch em::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #FFFFFF;
    box-shadow: 0 5px 13px rgba(15, 23, 42, .24);
    transition: transform .18s ease;
}

.zt-platform-control-page .zt-platform-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.zt-platform-control-page .zt-platform-switch input:checked + em {
    background: linear-gradient(135deg, #14B8A6, #2563EB);
}

.zt-platform-control-page .zt-platform-switch input:checked + em::after {
    transform: translateX(20px);
}

.zt-platform-control-page .zt-platform-switch strong {
    color: #334155;
    font-size: 12px;
    font-weight: 950;
}

.zt-platform-control-page .zt-platform-image-field {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(171, 190, 211, .64);
    background: linear-gradient(135deg, #F8FBFF, #FFFFFF);
}

.zt-platform-control-page .zt-platform-image-preview {
    width: 108px;
    height: 84px;
    border-radius: 14px;
    background: linear-gradient(135deg, #EDF6FF, #F9FAFB);
    color: #2563EB;
    box-shadow: inset 0 0 0 1px rgba(173, 192, 214, .75), 0 10px 24px rgba(15, 23, 42, .06);
}

.zt-platform-control-page .zt-platform-image-preview i {
    font-size: 24px;
}

.zt-platform-control-page .zt-platform-image-preview img {
    object-fit: cover;
}

.zt-platform-control-page .zt-platform-image-field > div {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.zt-platform-control-page .zt-platform-image-field input[type="file"],
.zt-platform-control-page .zt-homepage-section-fields > input[type="file"] {
    min-height: 44px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(173, 192, 214, .72);
    border-radius: 12px;
    background: #FFFFFF;
    color: #53677E;
    font-size: 12px;
    font-weight: 750;
}

.zt-platform-control-page input[type="file"]::file-selector-button {
    height: 44px;
    margin: 0 12px 0 0;
    padding: 0 14px;
    border: 0;
    border-right: 1px solid rgba(173, 192, 214, .7);
    background: linear-gradient(135deg, #102033, #0F766E);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.zt-platform-control-page input[type="file"]::file-selector-button:hover {
    background: linear-gradient(135deg, #0F766E, #2563EB);
}

.zt-platform-control-page .zt-homepage-section-card {
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .96));
}

.zt-platform-control-page .zt-homepage-section-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.zt-platform-control-page .zt-homepage-section-editor {
    position: relative;
    gap: 13px;
    padding: 13px;
    border-radius: 18px;
    border: 1px solid rgba(173, 192, 214, .66);
    background: #FFFFFF;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .055);
}

.zt-platform-control-page .zt-homepage-section-editor > .zt-platform-image-preview {
    width: 100%;
    height: 150px;
    border-radius: 15px;
}

.zt-platform-control-page .zt-homepage-section-fields {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.zt-platform-control-page .zt-homepage-section-fields > strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #152436;
    font-size: 14px;
    font-weight: 950;
}

.zt-platform-control-page .zt-homepage-section-fields > strong::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #14B8A6;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .12);
}

.zt-platform-control-page .zt-platform-save-bar {
    bottom: 18px;
    padding: 13px 14px 13px 18px;
    border-radius: 18px;
    border-color: rgba(20, 184, 166, .26);
    background: rgba(15, 23, 42, .92);
    color: #FFFFFF;
    box-shadow: 0 24px 54px rgba(15, 23, 42, .26);
}

.zt-platform-control-page .zt-platform-save-bar strong {
    display: block;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 950;
}

.zt-platform-control-page .zt-platform-save-bar span {
    display: block;
    margin-top: 2px;
    color: rgba(226, 232, 240, .8);
    font-size: 12px;
    font-weight: 750;
}

.zt-platform-control-page .zt-platform-save-bar .zt-admin-control-primary {
    min-width: 162px;
    background: linear-gradient(135deg, #14B8A6, #2563EB);
    box-shadow: 0 16px 30px rgba(20, 184, 166, .24);
}

@media (min-width: 1280px) {
    .zt-platform-control-page .zt-platform-group-card:nth-of-type(2),
    .zt-platform-control-page .zt-platform-group-card:nth-of-type(4) {
        grid-column: 2;
    }

    .zt-platform-control-page .zt-platform-group-card:nth-of-type(3) {
        grid-column: 1;
    }
}

@media (max-width: 1199.98px) {
    .zt-platform-control-page .zt-admin-platform-grid {
        grid-template-columns: 1fr;
    }

    .zt-platform-control-page .zt-platform-group-card:nth-of-type(1) {
        grid-row: auto;
    }
}

@media (max-width: 991.98px) {
    .zt-platform-control-page .zt-homepage-section-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .zt-platform-control-page .zt-admin-control-hero {
        min-height: 0;
        padding: 20px;
        border-radius: 18px;
    }

    .zt-platform-control-page .zt-platform-fields,
    .zt-platform-control-page .zt-platform-group-card:nth-of-type(1) .zt-platform-fields {
        grid-template-columns: 1fr;
    }

    .zt-platform-control-page .zt-platform-image-field {
        grid-template-columns: 1fr;
    }

    .zt-platform-control-page .zt-platform-image-preview {
        width: 100%;
        height: 150px;
    }

    .zt-platform-control-page .zt-platform-save-bar {
        bottom: 10px;
    }

    .zt-platform-control-page .zt-platform-save-bar .zt-admin-control-primary {
        width: 100%;
    }
}
/* End Platform Controls enterprise redesign */
/* Platform Controls live chat toggle overflow fix */
.zt-platform-control-page .zt-admin-control-field.is-check {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 14px;
    overflow: hidden;
}

.zt-platform-control-page .zt-admin-control-field.is-check > span:first-child {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.zt-platform-control-page .zt-admin-control-field.is-check .zt-platform-switch {
    justify-self: end;
    min-width: 108px;
    flex-shrink: 0;
}

@media (max-width: 420px) {
    .zt-platform-control-page .zt-admin-control-field.is-check {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }

    .zt-platform-control-page .zt-admin-control-field.is-check .zt-platform-switch {
        justify-self: start;
    }
}
/* End Platform Controls live chat toggle overflow fix */
/* Admin profile password visibility toggle */
.zt-admin-profile-page .zt-admin-password-shell,
.zt-admin-delete-modal .zt-admin-password-shell {
    position: relative;
    display: block;
    width: 100%;
}

.zt-admin-profile-page .zt-admin-password-shell .form-control,
.zt-admin-delete-modal .zt-admin-password-shell .form-control {
    padding-right: 54px;
}

.zt-admin-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(148, 163, 184, .58);
    border-radius: 11px;
    background: linear-gradient(135deg, #FFFFFF, #F3F8FC);
    color: #172638;
    transform: translateY(-50%);
    transition: border-color .16s ease, color .16s ease, background .16s ease, box-shadow .16s ease;
}

.zt-admin-password-toggle i {
    font-size: 16px;
    line-height: 1;
}

.zt-admin-password-toggle:hover,
.zt-admin-password-toggle:focus-visible {
    border-color: rgba(20, 184, 166, .72);
    background: #FFFFFF;
    color: #0F766E;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .12);
    outline: none;
}
/* End admin profile password visibility toggle */
.zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-platform-fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-admin-control-field:nth-child(5),
.zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-admin-control-field:nth-child(6) {
    grid-column: 1 / -1;
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-admin-control-field.is-check {
    align-items: stretch;
    overflow: hidden;
}

.zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-platform-switch {
    justify-content: space-between;
    width: 100%;
    min-width: 0;
}

@media (max-width: 767.98px) {
    .zt-platform-control-page .zt-platform-group-card:nth-of-type(5) .zt-platform-fields {
        grid-template-columns: 1fr;
    }
}
.zt-platform-control-page .zt-platform-dictionary-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid rgba(15, 173, 155, .2);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(15, 173, 155, .09), rgba(255, 255, 255, .92));
    color: #31465C;
    font-size: 12px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-platform-control-page .zt-platform-dictionary-note i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #0FAD9B;
    color: #FFFFFF;
    box-shadow: 0 10px 22px rgba(15, 173, 155, .22);
}

@media (max-width: 991.98px) {
    .zt-platform-control-page .zt-platform-dictionary-note {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}
/* Admin translation dictionary workspace */
.zt-admin-manage-table-translations .zt-admin-manage-hero {
    padding: clamp(16px, 1.8vw, 22px);
    border-color: rgba(20, 184, 166, .2);
    background:
        radial-gradient(circle at 8% 0%, rgba(20, 184, 166, .14), transparent 28%),
        radial-gradient(circle at 96% 18%, rgba(24, 119, 242, .1), transparent 32%),
        linear-gradient(135deg, #FFFFFF 0%, #F5FBFF 100%);
}

.zt-admin-manage-table-translations .zt-admin-kicker {
    color: #0F766E;
}

.zt-admin-manage-table-translations .zt-admin-kicker i {
    background: linear-gradient(135deg, #0F766E, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .18);
}

.zt-admin-manage-table-translations .zt-admin-manage-title h1 {
    margin-top: 8px;
    font-size: clamp(24px, 2.2vw, 32px);
}

.zt-admin-manage-table-translations .zt-admin-manage-title p {
    max-width: 680px;
    color: #52677E;
    font-size: 13.5px;
}

.zt-admin-translation-workflow {
    align-items: center;
    border-color: rgba(20, 184, 166, .22);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(245, 251, 255, .94)),
        radial-gradient(circle at 0% 0%, rgba(20, 184, 166, .14), transparent 34%);
    box-shadow: 0 16px 36px rgba(16, 38, 68, .07);
}

.zt-admin-translation-workflow > i {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #0F766E, #1877F2);
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 14px 28px rgba(15, 118, 110, .18);
}

.zt-admin-translation-workflow strong {
    color: #172638;
    font-size: 14px;
    font-weight: 950;
}

.zt-admin-translation-workflow span {
    color: #60748A;
    font-size: 12.5px;
    font-weight: 760;
}

.zt-admin-manage-table-translations .zt-admin-manage-form-panel {
    border-color: rgba(180, 201, 222, .74);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 252, 255, .98)),
        radial-gradient(circle at 10% 0%, rgba(20, 184, 166, .11), transparent 34%);
}

.zt-admin-manage-table-translations .zt-admin-edit-form {
    display: grid;
    grid-template-columns: minmax(220px, .56fr) minmax(340px, 1.44fr);
    gap: 15px;
}

.zt-admin-manage-table-translations .zt-admin-field-language_code {
    max-width: 420px;
}

.zt-admin-manage-table-translations .zt-admin-field-translation_key,
.zt-admin-manage-table-translations .zt-admin-field-translation_value,
.zt-admin-manage-table-translations .zt-admin-form-actions {
    grid-column: 1 / -1;
}

.zt-admin-manage-table-translations .zt-admin-field-translation_key textarea,
.zt-admin-manage-table-translations .zt-admin-field-translation_value textarea {
    width: 100%;
    min-height: 118px;
    border-color: rgba(175, 194, 216, .74);
    border-radius: 13px;
    background: #FFFFFF;
    color: #172638;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.55;
    resize: vertical;
}

.zt-admin-manage-table-translations .zt-admin-field-translation_value textarea {
    min-height: 146px;
}

.zt-admin-manage-table-translations .zt-admin-form-field .form-label {
    color: #3F566E;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-admin-manage-table-translations .zt-admin-field-help {
    color: #687C92;
    font-size: 11.5px;
    line-height: 1.45;
}

.zt-admin-manage-table-translations .zt-admin-record-panel {
    border-color: rgba(180, 201, 222, .74);
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
}

.zt-admin-manage-table-translations .zt-admin-record-head {
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(214, 225, 237, .86);
}

.zt-admin-manage-table-translations .zt-admin-table-shell {
    overflow-x: auto;
    border-radius: 15px;
    border-color: rgba(180, 201, 222, .72);
    box-shadow: 0 18px 38px rgba(16, 38, 68, .06);
}

.zt-admin-manage-table-translations .zt-admin-record-table {
    min-width: 960px;
    table-layout: fixed;
}

.zt-admin-manage-table-translations .zt-admin-record-table thead th {
    background: #EEF8F9;
    color: #3F6470;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(1) {
    width: 78px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(2) {
    width: 190px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(5) {
    width: 150px;
}

.zt-admin-manage-table-translations .zt-admin-record-table td {
    height: auto;
    padding-top: 14px;
    padding-bottom: 14px;
    vertical-align: top;
}

.zt-admin-translation-language,
.zt-admin-translation-source,
.zt-admin-translation-value {
    display: inline-flex;
    max-width: 100%;
}

.zt-admin-translation-language {
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-admin-translation-language i {
    color: #1877F2;
}

.zt-admin-translation-source,
.zt-admin-translation-value {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(175, 194, 216, .72);
    border-radius: 12px;
    background: #F8FBFF;
    color: #22364C;
    font-size: 12.5px;
    font-weight: 780;
    line-height: 1.42;
    white-space: normal;
    overflow-wrap: anywhere;
}

.zt-admin-translation-value {
    border-color: rgba(20, 184, 166, .24);
    background: #F4FCF9;
    color: #0F513F;
}

.zt-admin-translation-value.is-empty {
    border-style: dashed;
    border-color: rgba(245, 158, 11, .42);
    background: #FFFBEB;
    color: #92400E;
}

.zt-translation-empty {
    margin: 10px;
    padding: 34px 18px;
    border: 1px dashed rgba(20, 184, 166, .38);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 0%, rgba(20, 184, 166, .12), transparent 36%),
        linear-gradient(180deg, #FFFFFF, #F7FCFF);
}

.zt-translation-empty i {
    display: inline-grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #0F766E, #1877F2);
    color: #FFFFFF;
    font-size: 22px;
    box-shadow: 0 16px 34px rgba(15, 118, 110, .18);
}

.zt-translation-empty h3 {
    color: #172638;
    font-weight: 950;
}

.zt-translation-empty p {
    max-width: 520px;
    margin: 8px auto 0;
    color: #60748A;
    font-size: 13px;
    font-weight: 760;
}

@media (max-width: 991.98px) {
    .zt-admin-manage-table-translations .zt-admin-edit-form {
        grid-template-columns: 1fr;
    }

    .zt-admin-manage-table-translations .zt-admin-field-language_code {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-manage-table-translations .zt-admin-record-head {
        align-items: flex-start;
    }

    .zt-admin-translation-workflow {
        align-items: flex-start;
    }
}
/* End admin translation dictionary workspace */
/* Translation grouped dictionary overrides */
.zt-admin-manage-table-translations .zt-admin-record-table {
    min-width: 1180px;
    table-layout: fixed;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(1) {
    width: 78px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(2) {
    width: 320px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(3),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(3),
.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(4),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(4),
.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(5) {
    width: 205px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(6),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(6) {
    width: 140px;
}

.zt-admin-manage-table-translations .zt-admin-record-table th:nth-child(7),
.zt-admin-manage-table-translations .zt-admin-record-table td:nth-child(7) {
    width: 170px;
}

.zt-admin-translation-progress {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    min-width: 112px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-admin-translation-progress.is-complete {
    background: #ECFDF3;
    color: #027A48;
}

.zt-admin-translation-progress.is-pending {
    background: #FFF7E6;
    color: #B45309;
}

.zt-admin-translation-actions .zt-admin-table-action {
    border-color: rgba(15, 118, 110, .22);
    background: #ECF9F5;
    color: #0F766E;
}

.zt-admin-translation-actions .zt-admin-table-action:hover {
    border-color: rgba(15, 118, 110, .36);
    background: #DDF7EF;
    color: #0B5E56;
}

.zt-translation-record-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(180, 201, 222, .82);
    border-radius: 20px;
    box-shadow: 0 28px 76px rgba(15, 31, 55, .24);
}

.zt-translation-record-modal .modal-header {
    padding: 20px 22px;
    border-bottom: 1px solid rgba(214, 225, 237, .9);
    background:
        radial-gradient(circle at 8% 0%, rgba(20, 184, 166, .12), transparent 36%),
        linear-gradient(135deg, #FFFFFF, #F6FBFF);
}

.zt-translation-record-modal .modal-body {
    display: grid;
    gap: 16px;
    padding: 22px;
    background: #FBFDFF;
}

.zt-translation-modal-icon {
    background: linear-gradient(135deg, #0F766E, #1877F2) !important;
    color: #FFFFFF;
}

.zt-translation-source-card {
    display: grid;
    gap: 7px;
    padding: 15px 16px;
    border: 1px solid rgba(175, 194, 216, .72);
    border-radius: 15px;
    background: #FFFFFF;
    box-shadow: 0 14px 32px rgba(16, 38, 68, .06);
}

.zt-translation-source-card span,
.zt-translation-language-field > span strong {
    color: #445B73;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-translation-source-card strong {
    color: #172638;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.45;
}

.zt-translation-source-card small,
.zt-translation-language-field > span small {
    color: #687C92;
    font-size: 12px;
    font-weight: 760;
}

.zt-translation-language-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.zt-translation-language-field {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(175, 194, 216, .7);
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 14px 30px rgba(16, 38, 68, .055);
}

.zt-translation-language-field > span {
    display: grid;
    gap: 3px;
}

.zt-translation-language-field textarea.form-control {
    min-height: 132px;
    resize: vertical;
    border-color: rgba(175, 194, 216, .74);
    border-radius: 13px;
    color: #172638;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.5;
}

.zt-translation-modal-primary {
    background: linear-gradient(135deg, #0F766E, #1877F2) !important;
    box-shadow: 0 14px 28px rgba(15, 118, 110, .2) !important;
}

@media (max-width: 1199.98px) {
    .zt-translation-language-grid {
        grid-template-columns: 1fr;
    }
}
/* End translation grouped dictionary overrides */
/* Customer account dashboard */
.zt-account-dashboard {
    background: linear-gradient(180deg, #F6FAFC 0%, #FFFFFF 38%, #F7FBFF 100%);
}

.zt-account-dashboard-hero {
    padding: clamp(34px, 4vw, 58px) 0 24px;
    background:
        radial-gradient(circle at 6% 8%, rgba(24, 119, 242, .13), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(20, 184, 166, .14), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #EEF7FB 100%);
    border-bottom: 1px solid rgba(188, 205, 224, .64);
}

.zt-account-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: clamp(18px, 3vw, 34px);
    align-items: stretch;
}

.zt-account-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.zt-account-eyebrow,
.zt-account-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    color: #0F766E;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-account-eyebrow i,
.zt-account-section-kicker i {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 11px;
    background: linear-gradient(135deg, #0F766E, #1877F2);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .18);
}

.zt-account-hero-copy h1 {
    margin: 14px 0 8px;
    color: #172638;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 950;
    line-height: 1.04;
}

.zt-account-hero-copy p {
    max-width: 720px;
    margin: 0;
    color: #52677E;
    font-size: clamp(14px, 1.3vw, 16px);
    font-weight: 720;
    line-height: 1.62;
}

.zt-account-hero-actions,
.zt-account-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.zt-account-primary-action,
.zt-account-secondary-action,
.zt-account-outline-action,
.zt-account-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
}

.zt-account-primary-action {
    border: 0;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF !important;
    box-shadow: 0 16px 34px rgba(24, 119, 242, .2);
}

.zt-account-primary-action:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.zt-account-secondary-action,
.zt-account-outline-action {
    border: 1px solid rgba(24, 119, 242, .22);
    background: rgba(255, 255, 255, .86);
    color: #1456B8 !important;
}

.zt-account-secondary-action:hover,
.zt-account-outline-action:hover {
    background: #EAF4FF;
    color: #0B4DA2 !important;
}

.zt-account-hero-panel {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: clamp(18px, 2vw, 24px);
    border: 1px solid rgba(175, 194, 216, .76);
    border-radius: 18px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 24px 60px rgba(16, 38, 68, .1);
    backdrop-filter: blur(10px);
}

.zt-account-hero-panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.zt-account-hero-panel-head > span {
    display: inline-grid;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, #11A37F, #F59E0B);
    color: #FFFFFF;
    font-size: 18px;
}

.zt-account-hero-panel-head strong,
.zt-account-hero-panel-head small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-hero-panel-head strong {
    color: #172638;
    font-size: 15px;
    font-weight: 950;
}

.zt-account-hero-panel-head small {
    color: #60748A;
    font-size: 12px;
    font-weight: 760;
}

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

.zt-account-stat-grid div {
    min-width: 0;
    padding: 13px 12px;
    border: 1px solid rgba(214, 225, 237, .86);
    border-radius: 14px;
    background: #F8FBFF;
}

.zt-account-stat-grid strong,
.zt-account-stat-grid span {
    display: block;
}

.zt-account-stat-grid strong {
    color: #172638;
    font-size: 22px;
    font-weight: 950;
    line-height: 1;
}

.zt-account-stat-grid span {
    margin-top: 5px;
    color: #60748A;
    font-size: 11.5px;
    font-weight: 850;
}

.zt-account-latest-chip {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 11px 12px;
    border-radius: 13px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 12px;
    font-weight: 900;
}

.zt-account-latest-chip span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-dashboard-body {
    padding-top: 24px;
}

.zt-account-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.zt-account-quick-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 112px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(180, 201, 222, .74);
    border-radius: 16px;
    background: #FFFFFF;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(16, 38, 68, .07);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.zt-account-quick-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, #1877F2, #14B8A6, #F59E0B);
    transform: scaleX(.32);
    transform-origin: left;
    transition: transform .22s ease;
}

.zt-account-quick-card:hover {
    border-color: rgba(24, 119, 242, .32);
    box-shadow: 0 24px 54px rgba(16, 38, 68, .11);
    transform: translateY(-2px);
}

.zt-account-quick-card:hover::before {
    transform: scaleX(1);
}

.zt-account-quick-icon,
.zt-account-quick-arrow {
    display: inline-grid;
    place-items: center;
}

.zt-account-quick-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 12px 22px rgba(16, 38, 68, .13);
}

.zt-account-quick-card.is-blue .zt-account-quick-icon { background: linear-gradient(135deg, #1877F2, #0B5ED7); }
.zt-account-quick-card.is-green .zt-account-quick-icon { background: linear-gradient(135deg, #0F766E, #11A37F); }
.zt-account-quick-card.is-amber .zt-account-quick-icon { background: linear-gradient(135deg, #F59E0B, #D97706); }
.zt-account-quick-card.is-slate .zt-account-quick-icon { background: linear-gradient(135deg, #334155, #1877F2); }

.zt-account-quick-content {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-account-quick-content strong {
    color: #172638;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.2;
}

.zt-account-quick-content em {
    color: #1877F2;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.zt-account-quick-content small {
    color: #50657B;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zt-account-quick-arrow {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #F1F7FD;
    color: #1877F2;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}


.zt-account-quick-card:hover .zt-account-quick-arrow {
    background: #1877F2;
    color: #FFFFFF;
    transform: translateX(2px);
}

.zt-account-booking-panel {
    margin-top: 18px;
    padding: clamp(18px, 2vw, 24px);
    border: 1px solid rgba(180, 201, 222, .74);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 20px 52px rgba(16, 38, 68, .08);
}

.zt-account-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(214, 225, 237, .86);
}

.zt-account-panel-head h2 {
    margin: 8px 0 4px;
    color: #172638;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 950;
}

.zt-account-panel-head p {
    margin: 0;
    color: #60748A;
    font-size: 13px;
    font-weight: 760;
}

.zt-account-empty-bookings {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: clamp(28px, 4vw, 46px) 18px;
    border: 1px solid rgba(214, 225, 237, .86);
    border-radius: 18px;
    background: #FFFFFF;
    text-align: center;
}

.zt-account-empty-icon {
    display: inline-grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border-radius: 19px;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF;
    font-size: 25px;
    box-shadow: 0 18px 36px rgba(24, 119, 242, .2);
}

.zt-account-empty-bookings h3 {
    margin: 6px 0 0;
    color: #172638;
    font-size: 22px;
    font-weight: 950;
}

.zt-account-empty-bookings p {
    max-width: 580px;
    margin: 0;
    color: #60748A;
    font-size: 13.5px;
    font-weight: 760;
    line-height: 1.58;
}

.zt-account-booking-table-wrap {
    margin-top: 18px;
    border: 1px solid rgba(214, 225, 237, .86);
    border-radius: 15px;
    overflow: hidden;
}

.zt-account-booking-table {
    margin: 0;
}

.zt-account-booking-table thead th {
    border: 0;
    background: #F3F8FC;
    color: #52677E;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-account-booking-table td {
    border-color: rgba(226, 234, 243, .86);
    color: #31445A;
    font-size: 13px;
    font-weight: 760;
}

.zt-account-reference,
.zt-account-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
}

.zt-account-reference {
    padding: 6px 10px;
    background: #EEF6FF;
    color: #1456B8;
}

.zt-account-status {
    padding: 6px 11px;
    background: #ECF9F5;
    color: #0F766E;
}

.zt-account-status.is-pending-payment,
.zt-account-status.is-draft,
.zt-account-status.is-new,
.zt-account-status.is-reviewing {
    background: #FFF7E6;
    color: #B45309;
}

.zt-account-status.is-cancelled,
.zt-account-status.is-failed {
    background: #FFF1F2;
    color: #BE123C;
}

.zt-account-table-action {
    min-height: 34px;
    border: 1px solid rgba(24, 119, 242, .22);
    background: #F1F7FD;
    color: #1456B8 !important;
}

.zt-account-table-action:hover {
    background: #E3F0FF;
    color: #0B4DA2 !important;
}

@media (max-width: 1199.98px) {
    .zt-account-hero-grid,
    .zt-account-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-account-dashboard-hero {
        padding-top: 26px;
    }

    .zt-account-hero-grid,
    .zt-account-quick-grid,
    .zt-account-stat-grid {
        grid-template-columns: 1fr;
    }

    .zt-account-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zt-account-hero-actions,
    .zt-account-empty-actions,
    .zt-account-hero-actions .btn,
    .zt-account-empty-actions .btn,
    .zt-account-outline-action {
        width: 100%;
    }
}
/* End customer account dashboard */
/* Customer account bookings page */
.zt-account-bookings-page {
    min-height: 62vh;
}

.zt-account-bookings-hero {
    padding-top: clamp(30px, 3.6vw, 50px);
}

.zt-account-bookings-body {
    padding-bottom: clamp(36px, 5vw, 70px);
}

.zt-account-bookings-panel {
    margin-top: 0;
}

.zt-account-bookings-table-wrap {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86);
}

.zt-account-booking-service,
.zt-account-booking-source,
.zt-account-booking-total {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.zt-account-booking-service {
    color: #172638;
    font-weight: 900;
}

.zt-account-booking-service i {
    display: inline-grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 9px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 13px;
}

.zt-account-booking-source {
    max-width: 260px;
    color: #60748A;
    font-size: 12.5px;
    font-weight: 780;
    line-height: 1.35;
}

.zt-account-booking-total {
    color: #172638;
    font-weight: 950;
    white-space: nowrap;
}

.zt-account-bookings-empty {
    min-height: 310px;
}

.zt-account-bookings-page .zt-account-secondary-action:nth-child(3) {
    border-color: rgba(15, 118, 110, .24);
    color: #0F766E !important;
}

.zt-account-bookings-page .zt-account-secondary-action:nth-child(3):hover {
    background: #ECF9F5;
    color: #0B625B !important;
}

@media (max-width: 991.98px) {
    .zt-account-bookings-page .zt-account-hero-actions .btn {
        flex: 1 1 190px;
    }

    .zt-account-booking-source {
        max-width: 200px;
    }
}

@media (max-width: 767.98px) {
    .zt-account-bookings-page .zt-account-hero-actions .btn,
    .zt-account-bookings-page .zt-account-panel-head .btn {
        width: 100%;
    }

    .zt-account-bookings-empty {
        min-height: 260px;
    }
}
/* End customer account bookings page */
/* Customer account profile and travelers pages */
.zt-account-profile-page,
.zt-account-travelers-page {
    min-height: 62vh;
}

.zt-account-profile-hero,
.zt-account-travelers-hero {
    padding-top: clamp(30px, 3.6vw, 50px);
}

.zt-account-profile-body,
.zt-account-travelers-body {
    padding-bottom: clamp(36px, 5vw, 70px);
}

.zt-account-form-panel {
    margin-top: 0;
}

.zt-account-form-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0 0;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 850;
}

.zt-account-form-alert i {
    display: inline-grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 10px;
}

.zt-account-form-alert.is-error {
    border: 1px solid rgba(225, 29, 72, .18);
    background: #FFF1F2;
    color: #9F1239;
}

.zt-account-form-alert.is-error i {
    background: #FFE4E6;
    color: #BE123C;
}

.zt-account-form {
    margin-top: 18px;
}

.zt-account-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.zt-account-form-grid.is-single {
    grid-template-columns: 1fr;
}

.zt-account-form-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.zt-account-form-field.is-wide {
    grid-column: span 3;
}

.zt-account-form-field label {
    margin: 0;
    color: #52677E;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
}

.zt-account-input-shell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    width: 100%;
    padding: 0 13px;
    border: 1px solid rgba(180, 201, 222, .82);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(16, 38, 68, .05);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-account-input-shell:focus-within {
    border-color: rgba(24, 119, 242, .48);
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .1), 0 14px 28px rgba(16, 38, 68, .07);
}

.zt-account-input-shell > i {
    display: inline-grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 11px;
    background: #EEF6FF;
    color: #1877F2;
    font-size: 15px;
}

.zt-account-input-shell input,
.zt-account-input-shell select {
    min-width: 0;
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172638;
    font-size: 13.5px;
    font-weight: 820;
}

.zt-account-input-shell input::placeholder {
    color: #94A3B8;
    font-size: 12.5px;
    font-weight: 720;
}

.zt-account-input-shell select {
    cursor: pointer;
}

/* Customer account custom selects */
.zt-account-input-shell.is-select {
    position: relative;
    align-items: stretch;
    padding-right: 10px;
}

.zt-account-input-shell.is-select > i {
    align-self: center;
}

.zt-account-input-shell.is-select select.zt-account-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zt-account-select-picker {
    position: static;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.zt-account-select-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 4px 0 0;
    border: 0;
    background: transparent;
    color: #172638;
    font: inherit;
    font-size: 13.5px;
    font-weight: 860;
    line-height: 1.2;
    text-align: left;
}

.zt-account-select-button span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-select-button i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border-radius: 8px;
    background: #F1F7FD;
    color: #1877F2;
    font-size: 12px;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.zt-account-select-picker.is-open .zt-account-select-button i {
    background: #1877F2;
    color: #FFFFFF;
    transform: rotate(180deg);
}

.zt-account-select-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 1200;
    display: grid;
    width: auto;
    max-height: 230px;
    padding: 7px;
    overflow-y: auto;
    border: 1px solid rgba(180, 201, 222, .9);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 22px 50px rgba(16, 38, 68, .16);
}

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

.zt-account-select-picker.is-menu-up .zt-account-select-menu {
    top: auto;
    bottom: calc(100% + 8px);
}

.zt-account-select-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #26384C;
    font-size: 13px;
    font-weight: 820;
    line-height: 1.2;
    text-align: left;
}

.zt-account-select-option span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-select-option:hover,
.zt-account-select-option:focus-visible {
    background: #EEF6FF;
    color: #0B4DA2;
    outline: 0;
}

.zt-account-select-option.is-selected {
    background: linear-gradient(135deg, #102033, #0F766E);
    color: #FFFFFF;
}

.zt-account-select-option.is-selected::after {
    flex: 0 0 auto;
    color: currentColor;
    font-family: "bootstrap-icons";
    font-size: 13px;
    content: "\F26A";
}

@media (max-width: 767.98px) {
    .zt-account-select-menu {
        max-height: 210px;
    }
}
/* End customer account custom selects */
.zt-account-input-shell.is-disabled {
    background: #F5F8FC;
}

.zt-account-input-shell.is-disabled input {
    color: #60748A;
}

.zt-account-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.zt-account-travelers-layout {
    display: grid;
    grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
    gap: 18px;
    align-items: start;
}

.zt-account-traveler-form-panel,
.zt-account-traveler-list-panel {
    margin-top: 0;
}

.zt-account-travelers-empty {
    min-height: 260px;
}

.zt-account-traveler-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.zt-account-traveler-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(214, 225, 237, .88);
    border-radius: 16px;
    background: linear-gradient(135deg, #FFFFFF, #F8FBFF);
    box-shadow: 0 14px 30px rgba(16, 38, 68, .06);
}

.zt-account-traveler-avatar {
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .18);
}

.zt-account-traveler-info {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.zt-account-traveler-info strong,
.zt-account-traveler-info span,
.zt-account-traveler-info small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-traveler-info strong {
    color: #172638;
    font-size: 15px;
    font-weight: 950;
}

.zt-account-traveler-info span {
    color: #1456B8;
    font-size: 12.5px;
    font-weight: 850;
}

.zt-account-traveler-info small {
    color: #60748A;
    font-size: 12px;
    font-weight: 760;
}

.zt-account-traveler-card em {
    display: inline-grid;
    min-width: 34px;
    height: 30px;
    place-items: center;
    border-radius: 999px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
}

@media (max-width: 991.98px) {
    .zt-account-form-grid,
    .zt-account-travelers-layout {
        grid-template-columns: 1fr;
    }

    .zt-account-form-field.is-wide {
        grid-column: span 1;
    }
}

@media (max-width: 767.98px) {
    .zt-account-form-actions,
    .zt-account-form-actions .btn,
    .zt-account-profile-page .zt-account-panel-head .btn,
    .zt-account-travelers-page .zt-account-panel-head .btn {
        width: 100%;
    }

    .zt-account-traveler-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .zt-account-traveler-card em {
        grid-column: 1 / -1;
        justify-self: start;
    }
}
/* End customer account profile and travelers pages */
/* Customer account security page */
.zt-account-security-page {
    min-height: 62vh;
}

.zt-account-security-hero {
    padding-top: clamp(30px, 3.6vw, 50px);
}

.zt-account-security-body {
    padding-bottom: clamp(36px, 5vw, 70px);
}

.zt-account-security-panel {
    max-width: 820px;
    margin: 0 auto;
}

.zt-account-security-form .zt-account-form-grid.is-single {
    max-width: 680px;
}

.zt-account-password-shell {
    padding-right: 8px;
}

.zt-account-password-shell input {
    padding-right: 6px;
}

.zt-account-password-toggle {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 0;
    border-radius: 12px;
    background: #EEF6FF;
    color: #1456B8;
    font-size: 15px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.zt-account-password-toggle:hover,
.zt-account-password-toggle:focus-visible {
    background: #DDEEFF;
    color: #0B4DA2;
    transform: translateY(-1px);
}

.zt-account-security-note {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 680px;
    margin-top: 16px;
    padding: 13px 14px;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 15px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.45;
}

.zt-account-security-note i {
    display: inline-grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    border-radius: 11px;
    background: #D9F6EE;
    color: #0F766E;
}

.zt-account-security-page .zt-account-stat-grid strong i {
    color: #1877F2;
    font-size: 20px;
}

@media (max-width: 767.98px) {
    .zt-account-security-panel {
        max-width: none;
    }

    .zt-account-security-note {
        align-items: flex-start;
    }
}
/* End customer account security page */
/* Customer account sidebar workspace */
.zt-account-shell-body {
    min-height: 100vh;
    overflow-x: hidden;
    background: #F3F7FB;
}

.zt-account-layout-shell {
    display: grid;
    grid-template-columns: 286px minmax(0, 1fr);
    min-height: 100vh;
    background: #F3F7FB;
}

.zt-account-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100vh;
    padding: 22px 18px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 18% 0%, rgba(24, 119, 242, .2), transparent 32%),
        linear-gradient(180deg, #061526 0%, #081A2E 54%, #06111F 100%);
    color: #FFFFFF;
}

.zt-account-brand {
    padding: 0 4px 12px;
    text-decoration: none;
}

.zt-account-sidebar-nav {
    display: grid;
    gap: 8px;
}

.zt-account-sidebar-link,
.zt-account-sidebar-footer a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.zt-account-sidebar-link:hover,
.zt-account-sidebar-link.is-active,
.zt-account-sidebar-footer a:hover {
    border-color: rgba(124, 199, 255, .26);
    background: rgba(255, 255, 255, .11);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.zt-account-sidebar-link.is-active {
    background: linear-gradient(135deg, rgba(24, 119, 242, .3), rgba(15, 118, 110, .2));
    box-shadow: 0 14px 30px rgba(0, 0, 0, .14);
}

.zt-account-sidebar-link > i,
.zt-account-sidebar-footer a > i {
    display: inline-grid;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    place-items: center;
    border-radius: 9px;
    background: rgba(255, 255, 255, .12);
    color: #7CC7FF;
    font-size: 15px;
}

.zt-account-sidebar-link.is-active > i,
.zt-account-sidebar-link:hover > i,
.zt-account-sidebar-footer a:hover > i {
    background: rgba(143, 227, 176, .14);
    color: #8FE3B0;
}

.zt-account-sidebar-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.zt-account-sidebar-copy strong,
.zt-account-sidebar-copy small,
.zt-account-sidebar-footer a span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-sidebar-copy strong,
.zt-account-sidebar-footer a span {
    font-size: 13px;
    font-weight: 920;
}

.zt-account-sidebar-copy small {
    color: rgba(255, 255, 255, .52);
    font-size: 11px;
    font-weight: 720;
}

.zt-account-sidebar-footer {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.zt-account-main {
    min-width: 0;
    padding: 0 24px 32px;
}

.zt-account-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 78px;
    margin: 0 -24px 22px;
    padding: 14px 24px;
    border-bottom: 1px solid rgba(198, 213, 230, .82);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 42px rgba(16, 38, 68, .06);
    backdrop-filter: blur(12px);
}

.zt-account-topbar-title,
.zt-account-topbar-actions,
.zt-account-profile-toggle,
.zt-account-topbar-home {
    display: flex;
    align-items: center;
}

.zt-account-topbar-title {
    gap: 12px;
    min-width: 0;
}

.zt-account-topbar-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF;
    font-size: 18px;
    box-shadow: 0 16px 30px rgba(24, 119, 242, .2);
}

.zt-account-topbar-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.zt-account-topbar-copy .zt-section-kicker {
    font-size: 10.5px;
    letter-spacing: .08em;
}

.zt-account-topbar-copy h1 {
    margin: 0;
    color: #172638;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 950;
    line-height: 1.1;
}

.zt-account-topbar-actions {
    gap: 10px;
}

.zt-account-topbar-home {
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(24, 119, 242, .18);
    border-radius: 12px;
    background: #F1F7FD;
    color: #1456B8;
    font-size: 12.5px;
    font-weight: 920;
    text-decoration: none;
}

.zt-account-topbar-home:hover {
    background: #E3F0FF;
    color: #0B4DA2;
}

.zt-account-profile-dropdown {
    min-width: 0;
}

.zt-account-profile-toggle {
    gap: 10px;
    max-width: 280px;
    min-height: 46px;
    padding: 5px 8px 5px 5px;
    border: 1px solid rgba(188, 205, 224, .78);
    border-radius: 14px;
    background: #FFFFFF;
    color: #172638;
    box-shadow: 0 12px 26px rgba(16, 38, 68, .07);
}

.zt-account-profile-avatar {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
}

.zt-account-profile-copy,
.zt-account-profile-menu-head span:last-child {
    display: grid;
    min-width: 0;
    text-align: left;
}

.zt-account-profile-copy strong,
.zt-account-profile-copy small,
.zt-account-profile-menu-head strong,
.zt-account-profile-menu-head small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-profile-copy strong {
    max-width: 150px;
    color: #172638;
    font-size: 12.5px;
    font-weight: 950;
}

.zt-account-profile-copy small {
    color: #60748A;
    font-size: 11px;
    font-weight: 760;
}

.zt-account-profile-menu {
    min-width: 260px;
    padding: 10px;
    border: 1px solid rgba(188, 205, 224, .78);
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(16, 38, 68, .16);
}

.zt-account-profile-menu-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 10px;
}

.zt-account-profile-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    border-radius: 10px;
    color: #31445A;
    font-size: 13px;
    font-weight: 820;
}

.zt-account-profile-menu .dropdown-item i {
    width: 21px;
    color: #1877F2;
}

.zt-account-profile-menu .dropdown-item:hover {
    background: #F1F7FD;
    color: #1456B8;
}

.zt-account-profile-menu .dropdown-item.is-logout,
.zt-account-profile-menu .dropdown-item.is-logout i {
    color: #BE123C;
}

.zt-account-main-content {
    max-width: 1320px;
    margin: 0 auto;
}

.zt-account-workspace-intro {
    margin-bottom: 16px;
    padding: clamp(20px, 2.5vw, 28px);
    border: 1px solid rgba(188, 205, 224, .72);
    border-radius: 18px;
    background:
        radial-gradient(circle at 4% 0%, rgba(24, 119, 242, .12), transparent 34%),
        linear-gradient(135deg, #FFFFFF 0%, #F3FAFD 100%);
    box-shadow: 0 20px 48px rgba(16, 38, 68, .08);
}

.zt-account-workspace-intro h2 {
    margin: 12px 0 6px;
    color: #172638;
    font-size: clamp(25px, 3vw, 38px);
    font-weight: 950;
    line-height: 1.08;
}

.zt-account-workspace-intro p {
    max-width: 760px;
    margin: 0;
    color: #60748A;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.58;
}

.zt-account-summary-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.zt-account-summary-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(188, 205, 224, .72);
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 16px 38px rgba(16, 38, 68, .06);
}

.zt-account-summary-card > span {
    display: inline-grid;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    place-items: center;
    border-radius: 14px;
    background: #EEF6FF;
    color: #1877F2;
    font-size: 18px;
}

.zt-account-summary-card div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-account-summary-card strong,
.zt-account-summary-card small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-account-summary-card strong {
    color: #172638;
    font-size: 20px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-account-summary-card small {
    color: #60748A;
    font-size: 12px;
    font-weight: 800;
}

.zt-account-summary-card.is-wide {
    grid-column: span 1;
}

.zt-account-action-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.zt-account-dashboard-page .zt-account-booking-panel,
.zt-account-bookings-page .zt-account-booking-panel,
.zt-account-profile-page .zt-account-booking-panel,
.zt-account-travelers-page .zt-account-booking-panel,
.zt-account-security-page .zt-account-booking-panel,
.zt-account-booking-detail-page .zt-account-booking-panel {
    margin-top: 0;
}

.zt-account-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.zt-account-detail-grid > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(214, 225, 237, .88);
    border-radius: 15px;
    background: #F8FBFF;
}

.zt-account-detail-grid span {
    color: #60748A;
    font-size: 11.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

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

.zt-account-detail-grid strong {
    color: #172638;
    font-size: 14px;
    font-weight: 950;
}

.zt-account-detail-grid small {
    color: #60748A;
    font-size: 12px;
    font-weight: 760;
}

.zt-account-detail-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid rgba(15, 118, 110, .16);
    border-radius: 15px;
    background: #ECF9F5;
    color: #0F766E;
    font-size: 13px;
    font-weight: 820;
}

.zt-account-detail-note i {
    margin-top: 2px;
}

.zt-account-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.zt-account-logout-modal .modal-content {
    border: 0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(16, 38, 68, .22);
}

.zt-account-logout-modal .modal-header {
    align-items: flex-start;
    border: 0;
    padding: 22px 22px 12px;
}

.zt-account-logout-title-wrap {
    display: flex;
    gap: 13px;
    align-items: flex-start;
}

.zt-account-logout-icon {
    display: inline-grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 15px;
    background: #FFF1F2;
    color: #BE123C;
    font-size: 18px;
}

.zt-account-logout-kicker {
    color: #BE123C;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zt-account-logout-modal .modal-title {
    margin: 5px 0 4px;
    color: #172638;
    font-size: 22px;
    font-weight: 950;
}

.zt-account-logout-modal p {
    margin: 0;
    color: #60748A;
    font-size: 13px;
    font-weight: 760;
}

.zt-account-logout-modal .modal-footer {
    border: 0;
    padding: 12px 22px 22px;
}

.zt-account-logout-confirm {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 12px;
    background: #BE123C;
    color: #FFFFFF !important;
    font-weight: 900;
}

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

    .zt-account-sidebar {
        position: relative;
        height: auto;
    }

    .zt-account-sidebar-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zt-account-sidebar-footer {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 0;
    }

    .zt-account-summary-strip,
    .zt-account-action-grid,
    .zt-account-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .zt-account-main {
        padding: 0 14px 24px;
    }

    .zt-account-topbar {
        align-items: flex-start;
        flex-direction: column;
        margin: 0 -14px 16px;
        padding: 12px 14px;
    }

    .zt-account-topbar-actions,
    .zt-account-profile-toggle,
    .zt-account-topbar-home {
        width: 100%;
    }

    .zt-account-profile-toggle,
    .zt-account-topbar-home {
        justify-content: space-between;
    }

    .zt-account-sidebar-nav,
    .zt-account-sidebar-footer,
    .zt-account-summary-strip,
    .zt-account-action-grid,
    .zt-account-detail-grid {
        grid-template-columns: 1fr;
    }

    .zt-account-sidebar {
        padding: 18px 14px;
    }

    .zt-account-workspace-intro {
        padding: 18px;
    }

    .zt-account-detail-actions .btn {
        width: 100%;
    }
}
/* End customer account sidebar workspace */
/* Customer account sidebar visual refinement */
.zt-account-sidebar {
    padding: 24px 18px 20px;
    background:
        radial-gradient(circle at 18% -4%, rgba(24, 119, 242, .28), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(15, 118, 110, .18), transparent 28%),
        linear-gradient(180deg, #051322 0%, #071A2E 54%, #050F1C 100%);
}

.zt-account-brand {
    align-items: center;
    gap: 12px;
    margin: 0 2px 10px;
    padding: 10px 8px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.zt-account-brand .zt-brand-mark {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    box-shadow: 0 18px 34px rgba(24, 119, 242, .26), inset 0 1px 0 rgba(255, 255, 255, .28);
}

.zt-account-brand .zt-brand-mark i {
    color: #FFFFFF;
    font-size: 21px;
}

.zt-account-brand .zt-brand-copy strong {
    color: #FFFFFF;
    font-size: 19px;
    font-weight: 950;
    letter-spacing: .01em;
}

.zt-account-brand .zt-brand-copy small {
    color: rgba(199, 230, 255, .88);
    font-size: 12px;
    font-weight: 820;
}

.zt-account-sidebar-nav {
    gap: 4px;
}

.zt-account-sidebar-link,
.zt-account-sidebar-footer a {
    position: relative;
    min-height: 47px;
    padding: 9px 8px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: rgba(229, 241, 255, .74);
    box-shadow: none;
    transform: none;
}

.zt-account-sidebar-link::before,
.zt-account-sidebar-footer a::before {
    position: absolute;
    inset: 7px auto 7px 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #7CC7FF, #8FE3B0);
    content: "";
    opacity: 0;
    transform: scaleY(.4);
    transition: opacity .18s ease, transform .18s ease;
}

.zt-account-sidebar-link:hover,
.zt-account-sidebar-link.is-active,
.zt-account-sidebar-footer a:hover {
    border-color: transparent;
    background: rgba(255, 255, 255, .065);
    color: #FFFFFF;
    box-shadow: none;
    transform: none;
}

.zt-account-sidebar-link:hover::before,
.zt-account-sidebar-link.is-active::before,
.zt-account-sidebar-footer a:hover::before {
    opacity: 1;
    transform: scaleY(1);
}

.zt-account-sidebar-link.is-active {
    background: linear-gradient(90deg, rgba(24, 119, 242, .18), rgba(15, 118, 110, .08), transparent);
}

.zt-account-sidebar-link > i,
.zt-account-sidebar-footer a > i {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
    background: rgba(124, 199, 255, .1);
    color: rgba(159, 213, 255, .92);
}

.zt-account-sidebar-link.is-active > i,
.zt-account-sidebar-link:hover > i,
.zt-account-sidebar-footer a:hover > i {
    background: linear-gradient(135deg, rgba(124, 199, 255, .24), rgba(143, 227, 176, .18));
    color: #FFFFFF;
}

.zt-account-sidebar-copy strong,
.zt-account-sidebar-footer a span {
    color: inherit;
    font-size: 13.5px;
    font-weight: 900;
}

.zt-account-sidebar-copy small {
    color: rgba(199, 230, 255, .58);
}

.zt-account-sidebar-link.is-active .zt-account-sidebar-copy small,
.zt-account-sidebar-link:hover .zt-account-sidebar-copy small {
    color: rgba(226, 244, 255, .82);
}

.zt-account-sidebar-footer {
    gap: 4px;
    border-top-color: rgba(255, 255, 255, .11);
}
/* End customer account sidebar visual refinement */
/* Customer account booking pagination */
.zt-account-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 16px;
}

.zt-account-page-link,
.zt-account-page-ellipsis {
    display: inline-grid;
    min-width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
}

.zt-account-page-link {
    border: 1px solid rgba(24, 119, 242, .18);
    background: #FFFFFF;
    color: #1456B8;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(16, 38, 68, .05);
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.zt-account-page-link:hover {
    border-color: rgba(24, 119, 242, .34);
    background: #EEF6FF;
    color: #0B4DA2;
    transform: translateY(-1px);
}

.zt-account-page-link.is-active {
    border-color: transparent;
    background: linear-gradient(135deg, #1877F2, #0F766E);
    color: #FFFFFF;
    box-shadow: 0 14px 28px rgba(24, 119, 242, .18);
}

.zt-account-page-link.is-disabled {
    pointer-events: none;
    opacity: .45;
}

.zt-account-page-ellipsis {
    color: #94A3B8;
}

@media (max-width: 767.98px) {
    .zt-account-pagination {
        justify-content: center;
    }
}
/* End customer account booking pagination */
/* Profile photos across account, admin, and live chat */
.zt-account-profile-avatar,
.zt-admin-profile-avatar,
.zt-user-modal-avatar,
.zt-admin-user-table-avatar,
.zt-account-profile-photo-preview,
.zt-account-summary-photo,
.zt-admin-chat-avatar,
.zt-admin-chat-message-avatar,
.zt-chat-typing-avatar {
    overflow: hidden;
}

.zt-account-profile-avatar img,
.zt-admin-profile-avatar img,
.zt-user-modal-avatar img,
.zt-admin-user-table-avatar img,
.zt-account-profile-photo-preview img,
.zt-account-summary-photo img,
.zt-admin-chat-avatar img,
.zt-admin-chat-message-avatar img,
.zt-chat-typing-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.zt-account-summary-card .zt-account-summary-photo {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 14px 26px rgba(24, 119, 242, .2);
}

.zt-account-profile-photo-editor {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid rgba(188, 205, 224, .76);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(24, 119, 242, .08), rgba(17, 163, 127, .08)),
        #FFFFFF;
    box-shadow: 0 16px 34px rgba(16, 44, 77, .07);
}

.zt-account-profile-photo-preview {
    display: inline-grid;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    place-items: center;
    border: 4px solid #FFFFFF;
    border-radius: 22px;
    background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%);
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 950;
    box-shadow: 0 18px 38px rgba(24, 119, 242, .22);
}

.zt-account-profile-photo-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-account-profile-photo-copy strong {
    color: #10263F;
    font-size: 16px;
    font-weight: 950;
}

.zt-account-profile-photo-copy small {
    color: #60748A;
    font-size: 12.5px;
    font-weight: 760;
}

.zt-account-profile-photo-upload {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #071E3A 0%, #1456B8 100%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 930;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(20, 86, 184, .22);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.zt-account-profile-photo-upload:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 18px 34px rgba(20, 86, 184, .27);
}

.zt-account-profile-photo-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.zt-admin-user-name-cell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
}

.zt-admin-user-table-avatar {
    display: inline-grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #1877F2 0%, #11A37F 100%);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    box-shadow: 0 10px 20px rgba(24, 119, 242, .18);
}

.zt-user-modal-avatar img,
.zt-admin-profile-avatar img,
.zt-account-profile-avatar img {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4);
}

.zt-admin-chat-avatar img,
.zt-admin-chat-message-avatar img,
.zt-chat-typing-avatar img {
    object-position: center;
}

.zt-admin-chat-message-avatar.is-system {
    background: #EEF4FF;
    color: #1456B8;
}

@media (max-width: 767px) {
    .zt-account-profile-photo-editor {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .zt-account-profile-photo-preview,
    .zt-account-profile-photo-upload {
        justify-self: center;
    }

    .zt-account-profile-photo-upload {
        width: 100%;
    }
}

.zt-admin-chat-avatar {
    overflow: visible;
}

.zt-admin-chat-avatar img {
    overflow: hidden;
}
.zt-account-profile-photo-error {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 6px;
    color: #BE123C !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

.zt-account-logout-confirm:hover,
.zt-account-logout-confirm:focus,
.zt-account-logout-confirm:focus-visible {
    background: #9F1239 !important;
    color: #FFFFFF !important;
    box-shadow: 0 14px 28px rgba(190, 18, 60, .24);
    transform: translateY(-1px);
}

.zt-account-logout-confirm:hover i,
.zt-account-logout-confirm:hover span,
.zt-account-logout-confirm:focus i,
.zt-account-logout-confirm:focus span,
.zt-account-logout-confirm:focus-visible i,
.zt-account-logout-confirm:focus-visible span {
    color: #FFFFFF !important;
}
/* Login-page session notices */
.zt-auth-session-notice {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    padding: 12px 13px;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 251, 235, .98), rgba(255, 247, 237, .96));
    box-shadow: 0 16px 34px rgba(120, 53, 15, .09);
}

.zt-auth-session-notice > span {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #F59E0B, #D97706);
    color: #FFFFFF;
    box-shadow: 0 12px 24px rgba(217, 119, 6, .2);
}

.zt-auth-session-notice i {
    font-size: 18px;
    line-height: 1;
}

.zt-auth-session-notice div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.zt-auth-session-notice strong {
    color: #7C2D12;
    font-size: 13.5px;
    font-weight: 950;
}

.zt-auth-session-notice small {
    color: #8A4A14;
    font-size: 12.5px;
    font-weight: 780;
    line-height: 1.45;
}

.zt-auth-session-notice.is-success {
    border-color: rgba(17, 163, 127, .28);
    background: linear-gradient(135deg, rgba(236, 253, 245, .98), rgba(240, 253, 250, .96));
    box-shadow: 0 16px 34px rgba(6, 95, 70, .08);
}

.zt-auth-session-notice.is-success > span {
    background: linear-gradient(135deg, #11A37F, #0F766E);
    box-shadow: 0 12px 24px rgba(15, 118, 110, .2);
}

.zt-auth-session-notice.is-success strong {
    color: #065F46;
}

.zt-auth-session-notice.is-success small {
    color: #0F766E;
}

.zt-auth-session-notice.is-danger,
.zt-auth-session-notice.is-error {
    border-color: rgba(225, 29, 72, .28);
    background: linear-gradient(135deg, rgba(255, 241, 242, .98), rgba(255, 247, 247, .96));
    box-shadow: 0 16px 34px rgba(190, 18, 60, .08);
}

.zt-auth-session-notice.is-danger > span,
.zt-auth-session-notice.is-error > span {
    background: linear-gradient(135deg, #E11D48, #BE123C);
    box-shadow: 0 12px 24px rgba(190, 18, 60, .18);
}

.zt-auth-session-notice.is-danger strong,
.zt-auth-session-notice.is-error strong {
    color: #9F1239;
}

.zt-auth-session-notice.is-danger small,
.zt-auth-session-notice.is-error small {
    color: #BE123C;
}
/* Checkout crypto selector enterprise polish */
.zt-payment-modal .zt-crypto-select-modal {
    overflow: hidden;
    border: 1px solid rgba(184, 201, 222, .95) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(24, 119, 242, .10), transparent 34%),
        radial-gradient(circle at 90% 12%, rgba(38, 161, 123, .12), transparent 32%),
        linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
    box-shadow: 0 34px 90px rgba(5, 18, 35, .26) !important;
}

.zt-crypto-select-modal .modal-header {
    align-items: center;
    padding: 24px 28px 18px;
    border-bottom-color: rgba(196, 211, 229, .86) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(244, 249, 255, .95) 100%) !important;
}

.zt-crypto-modal-heading {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 14px;
}

.zt-crypto-modal-emblem {
    display: grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 15px;
    background: linear-gradient(135deg, #071E3A 0%, #1877F2 58%, #24B47E 100%);
    color: #FFFFFF;
    box-shadow: 0 18px 38px rgba(24, 119, 242, .24);
}

.zt-crypto-modal-emblem i {
    font-size: 23px;
    line-height: 1;
}

.zt-crypto-select-modal .zt-modal-kicker {
    padding: 0;
    background: transparent;
    color: #1877F2;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.zt-crypto-select-modal .modal-title {
    margin-top: 4px !important;
    color: #071E3A !important;
    font-size: clamp(21px, 2.1vw, 28px) !important;
    line-height: 1.08;
}

.zt-crypto-select-modal .modal-body {
    padding: 22px 28px 26px !important;
}

.zt-crypto-select-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid rgba(196, 211, 229, .9);
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-crypto-select-summary .zt-modal-copy {
    max-width: 520px;
    margin: 0;
    color: #4D637B;
    font-size: 13.5px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-crypto-select-summary > span {
    display: grid;
    flex: 0 0 auto;
    gap: 4px;
    min-width: 164px;
    padding: 11px 13px;
    border: 1px solid rgba(24, 119, 242, .16);
    border-radius: 12px;
    background: #FFFFFF;
    text-align: right;
    box-shadow: 0 12px 26px rgba(7, 30, 58, .06);
}

.zt-crypto-select-summary small,
.zt-crypto-choice-fiat small,
.zt-crypto-choice-live small,
.zt-crypto-pay-estimate small {
    color: #6A7F95;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-crypto-select-summary strong {
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.1;
}

.zt-crypto-select-modal .zt-crypto-choice-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.zt-crypto-select-modal .zt-crypto-choice {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
    min-height: 202px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(190, 207, 226, .94);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(247, 251, 255, .96) 100%);
    color: #071E3A;
    text-align: left;
    box-shadow: 0 16px 34px rgba(7, 30, 58, .075);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.zt-crypto-select-modal .zt-crypto-choice::before {
    content: '';
    position: absolute;
    inset: 0;
    border-top: 4px solid var(--coin-accent, #1877F2);
    opacity: .82;
    pointer-events: none;
}

.zt-crypto-select-modal .zt-crypto-choice:hover,
.zt-crypto-select-modal .zt-crypto-choice:focus-visible {
    transform: translateY(-2px);
    border-color: var(--coin-accent, #1877F2);
    background: #FFFFFF;
    box-shadow: 0 22px 46px rgba(7, 30, 58, .12);
    outline: 0;
}

.zt-crypto-select-modal .zt-crypto-choice:focus-visible {
    box-shadow: 0 0 0 4px rgba(24, 119, 242, .13), 0 22px 46px rgba(7, 30, 58, .12);
}

.zt-crypto-choice-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--coin-accent, #1877F2) 22%, #FFFFFF);
    border-radius: 13px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 11%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
}

.zt-crypto-choice-icon i {
    font-size: 21px;
    line-height: 1;
}

.zt-crypto-choice-main {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.zt-crypto-symbol-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.zt-crypto-symbol-row strong {
    color: #071E3A;
    font-size: 20px;
    font-weight: 950;
    line-height: 1;
}

.zt-crypto-symbol-row em {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 4px 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 10%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
    font-size: 10.5px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.zt-crypto-choice-main small {
    overflow: hidden;
    color: #5B7188;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-crypto-choice-action {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(190, 207, 226, .85);
    border-radius: 11px;
    background: #FFFFFF;
    color: #48637E;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.zt-crypto-select-modal .zt-crypto-choice:hover .zt-crypto-choice-action,
.zt-crypto-select-modal .zt-crypto-choice:focus-visible .zt-crypto-choice-action {
    border-color: var(--coin-accent, #1877F2);
    background: var(--coin-accent, #1877F2);
    color: #FFFFFF;
}

.zt-crypto-choice-live,
.zt-crypto-choice-fiat,
.zt-crypto-pay-estimate {
    display: grid;
    gap: 6px;
    min-width: 0;
    border: 1px solid rgba(205, 217, 232, .9);
    border-radius: 13px;
    background: rgba(255, 255, 255, .86);
}

.zt-crypto-choice-live {
    grid-column: 1 / -1;
    padding: 13px 14px;
    border-color: color-mix(in srgb, var(--coin-accent, #1877F2) 22%, #D7E2EF);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--coin-accent, #1877F2) 10%, #FFFFFF) 0%, #FFFFFF 100%);
}

.zt-crypto-choice-live b {
    min-width: 0;
    overflow: hidden;
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-crypto-choice-live em,
.zt-crypto-pay-estimate em {
    overflow: hidden;
    color: #537089;
    font-size: 11.5px;
    font-style: normal;
    font-weight: 760;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-crypto-choice-live.is-loading b,
.zt-crypto-choice-live.is-loading em {
    color: #6B7F96;
}

.zt-crypto-choice-live.is-unavailable {
    border-color: rgba(220, 80, 92, .22);
    background: #FFF7F8;
}

.zt-crypto-choice-live.is-unavailable b,
.zt-crypto-choice-live.is-unavailable em {
    color: #A33D48;
}

.zt-crypto-choice-fiat {
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
}

.zt-crypto-choice-fiat b {
    min-width: 0;
    overflow: hidden;
    color: #0F5132;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.1;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-crypto-pay-estimate {
    margin-top: 12px;
    padding: 13px 14px;
    border-color: rgba(24, 119, 242, .18);
    background: linear-gradient(135deg, #F4F8FF 0%, #FFFFFF 100%);
}

.zt-crypto-pay-estimate strong {
    color: #071E3A;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.1;
}

@media (max-width: 767.98px) {
    .zt-crypto-select-modal .modal-header,
    .zt-crypto-select-modal .modal-body {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .zt-crypto-select-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .zt-crypto-select-summary > span {
        width: 100%;
        min-width: 0;
        text-align: left;
    }

    .zt-crypto-select-modal .zt-crypto-choice-grid {
        grid-template-columns: 1fr;
    }

    .zt-crypto-select-modal .zt-crypto-choice {
        min-height: 0;
    }
}
/* Checkout crypto wallet modal polish */
.zt-payment-modal .zt-crypto-wallet-modal {
    overflow: hidden;
    border: 1px solid rgba(184, 201, 222, .95) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 9% 0%, color-mix(in srgb, var(--coin-accent, #1877F2) 13%, transparent), transparent 34%),
        radial-gradient(circle at 94% 8%, rgba(38, 161, 123, .10), transparent 32%),
        linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
    box-shadow: 0 34px 90px rgba(5, 18, 35, .26) !important;
}

.zt-crypto-wallet-modal .modal-header {
    align-items: center;
    padding: 24px 28px 18px;
    border-bottom-color: rgba(196, 211, 229, .86) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(244, 249, 255, .95) 100%) !important;
}

.zt-crypto-wallet-modal .zt-crypto-modal-emblem {
    background: linear-gradient(135deg, #071E3A 0%, var(--coin-accent, #1877F2) 100%);
}

.zt-crypto-wallet-modal .modal-body {
    padding: 24px 28px 26px !important;
}

.zt-crypto-wallet-modal .zt-crypto-pay-layout {
    grid-template-columns: minmax(238px, 280px) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.zt-crypto-qr-card {
    position: relative;
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 100%;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(191, 208, 228, .94);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(248, 251, 255, .92) 100%);
    box-shadow: 0 18px 40px rgba(7, 30, 58, .08);
}

.zt-crypto-qr-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-top: 4px solid var(--coin-accent, #1877F2);
    pointer-events: none;
}

.zt-qr-card-kicker {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 26px;
    padding: 6px 9px;
    border: 1px solid color-mix(in srgb, var(--coin-accent, #1877F2) 18%, #D8E3F0);
    border-radius: 999px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 8%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-crypto-qr-frame {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    min-height: 236px;
    padding: 16px;
    border: 1px solid rgba(202, 215, 231, .92);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: inset 0 0 0 8px #F7FAFE, 0 16px 34px rgba(7, 30, 58, .06);
}

.zt-crypto-qr-frame img {
    display: block;
    width: min(100%, 226px) !important;
    max-width: 226px !important;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    image-rendering: auto;
}

.zt-qr-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(204, 217, 232, .94);
    border-radius: 13px;
    background: rgba(255, 255, 255, .9);
}

.zt-qr-card-foot strong {
    color: #071E3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1;
}

.zt-qr-card-foot span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #5A7088;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1;
    text-align: right;
}

.zt-qr-card-foot em {
    color: var(--coin-accent, #1877F2);
    font-style: normal;
    font-weight: 950;
}

.zt-crypto-pay-copy {
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
}

.zt-wallet-selected-head {
    display: flex;
    align-items: center;
    gap: 13px;
}

.zt-wallet-selected-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--coin-accent, #1877F2) 23%, #FFFFFF);
    border-radius: 14px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 10%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
}

.zt-wallet-selected-icon i {
    font-size: 22px;
    line-height: 1;
}

.zt-wallet-selected-head span[data-crypto-symbol] {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    color: var(--coin-accent, #1877F2);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .085em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-crypto-wallet-modal .zt-crypto-pay-copy h3 {
    margin: 2px 0 0;
    color: #071E3A;
    font-size: clamp(21px, 2vw, 28px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
}

.zt-crypto-wallet-modal .zt-crypto-pay-copy p:not(.zt-wallet-network-note) {
    max-width: 560px;
    margin: 0;
    color: #526981;
    font-size: 13.5px;
    font-weight: 760;
    line-height: 1.5;
}

.zt-crypto-wallet-modal .zt-crypto-pay-estimate {
    margin-top: 0;
    padding: 15px 16px;
    border-color: color-mix(in srgb, var(--coin-accent, #1877F2) 22%, #D7E2EF);
    border-radius: 14px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--coin-accent, #1877F2) 9%, #FFFFFF) 0%, #FFFFFF 100%);
}

.zt-crypto-wallet-modal .zt-crypto-pay-estimate strong {
    color: #071E3A;
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 950;
    line-height: 1.05;
}

.zt-crypto-wallet-modal .zt-wallet-box {
    display: grid;
    grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(194, 210, 229, .94);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 14px 32px rgba(7, 30, 58, .065);
}

.zt-wallet-network-label,
.zt-wallet-address-label {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.zt-wallet-network-label small,
.zt-wallet-address-label small {
    color: #73879E;
    font-size: 9.5px;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-wallet-network-label strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 27px;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--coin-accent, #1877F2) 11%, #FFFFFF);
    color: var(--coin-accent, #1877F2);
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
}

.zt-wallet-address-label code {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #071E3A;
    font-size: 12.2px;
    font-weight: 850;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-crypto-wallet-modal .zt-wallet-box button {
    display: inline-flex;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: center;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb, var(--coin-accent, #1877F2) 24%, #D9E4F1);
    border-radius: 12px;
    background: #071E3A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.zt-crypto-wallet-modal .zt-wallet-box button:hover,
.zt-crypto-wallet-modal .zt-wallet-box button:focus-visible {
    transform: translateY(-1px);
    background: var(--coin-accent, #1877F2);
    box-shadow: 0 14px 30px color-mix(in srgb, var(--coin-accent, #1877F2) 26%, transparent);
    outline: 0;
}

.zt-wallet-network-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 12px 13px;
    border: 1px solid rgba(38, 161, 123, .2);
    border-radius: 13px;
    background: #F2FFF8;
    color: #315346;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1.45;
}

.zt-wallet-network-note i {
    color: #168353;
    font-size: 16px;
    line-height: 1.2;
}

.zt-copy-feedback {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    max-width: 100%;
    margin-top: 0 !important;
    padding: 8px 10px;
    border-radius: 999px;
    background: #ECFFF6;
    color: #0F7A3A;
    font-size: 12px;
    font-weight: 900;
}
.zt-copy-feedback[hidden] {
    display: none !important;
}

.zt-wallet-change-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    min-height: 44px;
    border-radius: 8px !important;
    color: #071E3A !important;
    font-weight: 900 !important;
}

@media (max-width: 767.98px) {
    .zt-crypto-wallet-modal .modal-header,
    .zt-crypto-wallet-modal .modal-body {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .zt-crypto-wallet-modal .zt-crypto-pay-layout {
        grid-template-columns: 1fr !important;
    }

    .zt-crypto-qr-frame {
        min-height: 220px;
    }

    .zt-crypto-wallet-modal .zt-wallet-box {
        grid-template-columns: 1fr;
    }

    .zt-crypto-wallet-modal .zt-wallet-box button {
        width: 100%;
    }
}
/* Wallet copy success state */
.zt-crypto-wallet-modal .zt-wallet-box button.is-copied {
    border-color: rgba(22, 131, 83, .28) !important;
    background: #168353 !important;
    color: #FFFFFF !important;
    box-shadow: 0 14px 30px rgba(22, 131, 83, .24) !important;
}

.zt-crypto-wallet-modal .zt-wallet-box button.is-copied i {
    color: #FFFFFF !important;
}
/* Flight details itinerary review polish */
.zt-ticket-panel {
    overflow: hidden;
    border: 1px solid rgba(185, 204, 226, .94) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 4% 0%, rgba(24, 119, 242, .08), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
    box-shadow: 0 26px 72px rgba(7, 30, 58, .10) !important;
}

.zt-ticket-panel .zt-panel-body {
    padding: clamp(18px, 2.4vw, 30px) !important;
}

.zt-ticket-head {
    position: relative;
    align-items: center !important;
    padding: 0 0 20px !important;
    border-bottom: 1px solid rgba(200, 215, 232, .86) !important;
}

.zt-ticket-head::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: min(220px, 42%);
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1877F2 0%, #24B47E 100%);
}

.zt-ticket-head .zt-ticket-label {
    min-height: 34px;
    padding: 8px 11px;
    border-color: rgba(24, 119, 242, .16);
    background: #EFF6FF;
    color: #0E5EC9;
    font-size: 11px;
}

.zt-ticket-head h2 {
    margin-top: 10px !important;
    margin-bottom: 6px !important;
    font-size: clamp(24px, 2.35vw, 36px) !important;
}

.zt-ticket-head p {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    color: #506981 !important;
    font-size: 13px;
    font-weight: 830 !important;
    line-height: 1.4;
}

.zt-ticket-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(38, 161, 123, .22);
    border-radius: 999px;
    background: #F0FFF8;
    color: #0F7A3A;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-ticket-status-chip i {
    font-size: 15px;
}

.zt-ticket-summary-grid {
    gap: 12px !important;
    margin-top: 20px !important;
}

.zt-ticket-summary-grid > div {
    position: relative;
    min-height: 92px;
    padding: 15px 15px 14px !important;
    overflow: hidden;
    border-color: rgba(196, 211, 229, .94) !important;
    border-radius: 14px !important;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%) !important;
    box-shadow: 0 14px 30px rgba(7, 30, 58, .055);
}

.zt-ticket-summary-grid > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(24, 119, 242, .9), rgba(36, 180, 126, .78));
    opacity: .84;
}

.zt-ticket-summary-grid span {
    color: #667C94 !important;
    font-size: 10px !important;
    letter-spacing: .085em !important;
}

.zt-ticket-summary-grid strong {
    margin-top: 9px !important;
    color: #071E3A !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}

.zt-ticket-panel .zt-flight-leg-stack {
    gap: 15px !important;
    margin-top: 22px !important;
}

.zt-ticket-leg-item {
    position: relative;
    grid-template-columns: minmax(94px, .65fr) minmax(120px, .9fr) minmax(190px, 1.2fr) minmax(120px, .9fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
    padding: 16px !important;
    overflow: hidden;
    border: 1px solid rgba(193, 209, 228, .96) !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 42px rgba(7, 30, 58, .075) !important;
}

.zt-ticket-leg-item::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #1877F2 0%, #24B47E 100%);
}

.zt-ticket-leg-item .zt-leg-label {
    display: grid;
    align-content: center;
    gap: 8px;
    min-height: 100%;
    padding: 13px 12px;
    border: 1px solid rgba(205, 218, 234, .9);
    border-radius: 13px;
    background: linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%);
}

.zt-ticket-leg-item .zt-leg-label span {
    color: #1877F2;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-ticket-leg-item .zt-leg-label strong {
    color: #071E3A;
    font-size: 13.5px;
    font-weight: 950;
    line-height: 1.22;
}

.zt-ticket-leg-item .zt-leg-node {
    display: grid;
    align-content: center;
    gap: 7px;
    min-width: 0;
    padding: 13px 12px;
    border: 1px solid rgba(218, 228, 240, .86);
    border-radius: 13px;
    background: #FBFDFF;
}

.zt-ticket-leg-item .zt-flight-code {
    color: #071E3A;
    font-size: 21px;
    font-weight: 950;
    line-height: 1;
}

.zt-ticket-leg-item .zt-flight-time {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 28px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #EAF3FF;
    color: #0E5EC9;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
}

.zt-ticket-leg-item .zt-leg-node small {
    color: #5B7188;
    font-size: 12px;
    font-weight: 760;
    line-height: 1.35;
}

.zt-ticket-leg-item .zt-leg-route-mid {
    min-height: 142px;
    padding: 14px;
    border: 1px solid rgba(202, 215, 231, .9);
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 0%, rgba(24, 119, 242, .08), transparent 34%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%);
}

.zt-ticket-leg-item .zt-leg-route-line {
    top: 42px;
    left: 12%;
    right: 12%;
    height: 2px;
    background: linear-gradient(90deg, rgba(24, 119, 242, .18), rgba(24, 119, 242, .74), rgba(36, 180, 126, .74), rgba(36, 180, 126, .18));
}

.zt-ticket-leg-item .zt-flight-path-plane {
    position: relative;
    z-index: 2;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(24, 119, 242, .2);
    background: #FFFFFF;
    color: #1877F2;
    box-shadow: 0 12px 26px rgba(24, 119, 242, .16);
}

.zt-ticket-leg-item .zt-leg-route-mid strong {
    margin-top: 5px;
    color: #071E3A !important;
    font-size: 12.5px !important;
}

.zt-ticket-leg-item .zt-leg-route-mid em {
    max-width: 100% !important;
    color: #566C84 !important;
    font-size: 11.5px !important;
    font-weight: 740 !important;
    line-height: 1.42 !important;
    text-align: center;
}

.zt-ticket-service-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px 14px;
    margin-top: 22px !important;
    padding: 16px 18px !important;
    border-color: rgba(24, 119, 242, .18) !important;
    border-radius: 15px !important;
    background:
        linear-gradient(135deg, #F3F8FF 0%, #FFFFFF 58%, #F3FFF9 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.zt-ticket-service-note strong {
    grid-column: 1 / -1;
    color: #071E3A !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

.zt-ticket-service-note strong i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    background: #EAF3FF;
    color: #1877F2 !important;
}

.zt-ticket-service-note p {
    grid-column: 1 / -1;
    max-width: 760px;
    margin: -2px 0 0 !important;
    color: #536A82 !important;
    font-size: 13px !important;
    font-weight: 760 !important;
    line-height: 1.52 !important;
}

@media (max-width: 1199.98px) {
    .zt-ticket-leg-item {
        grid-template-columns: minmax(90px, .7fr) minmax(0, 1fr) !important;
    }

    .zt-ticket-leg-item .zt-leg-route-mid {
        grid-column: 1 / -1;
        order: 4;
        min-height: 104px;
    }
}

@media (max-width: 767.98px) {
    .zt-ticket-head {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .zt-ticket-status-chip {
        width: 100%;
    }

    .zt-ticket-leg-item {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
    }

    .zt-ticket-leg-item .zt-leg-route-mid {
        order: initial;
        min-height: 96px;
    }
}
/* Flight details compact spacing correction */
.zt-ticket-summary-grid > div {
    min-height: 68px !important;
    padding: 12px 13px 11px !important;
}

.zt-ticket-summary-grid strong {
    margin-top: 6px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.zt-ticket-panel .zt-flight-leg-stack {
    gap: 12px !important;
    margin-top: 18px !important;
}

.zt-ticket-leg-item {
    align-items: center !important;
    min-height: 0 !important;
    padding: 13px 14px !important;
}

.zt-ticket-leg-item .zt-leg-label,
.zt-ticket-leg-item .zt-leg-node {
    min-height: 86px !important;
    padding: 11px 12px !important;
}

.zt-ticket-leg-item .zt-leg-label {
    align-content: center !important;
}

.zt-ticket-leg-item .zt-flight-code {
    font-size: 19px !important;
}

.zt-ticket-leg-item .zt-flight-time {
    min-height: 26px !important;
    padding: 5px 8px !important;
    font-size: 11.5px !important;
}

.zt-ticket-leg-item .zt-leg-node small {
    font-size: 11.5px !important;
    line-height: 1.28 !important;
}

.zt-ticket-leg-item .zt-leg-route-mid {
    min-height: 98px !important;
    padding: 11px 12px !important;
    gap: 3px !important;
}

.zt-ticket-leg-item .zt-leg-route-line {
    top: 33px !important;
}

.zt-ticket-leg-item .zt-flight-path-plane {
    width: 36px !important;
    height: 36px !important;
}

.zt-ticket-leg-item .zt-leg-route-mid strong {
    margin-top: 3px !important;
    font-size: 12px !important;
}

.zt-ticket-leg-item .zt-leg-route-mid em {
    display: -webkit-box;
    max-height: 34px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

@media (max-width: 1199.98px) {
    .zt-ticket-leg-item .zt-leg-route-mid {
        min-height: 82px !important;
    }
}
/* Flight details leg border cleanup */
.zt-ticket-leg-item .zt-leg-label,
.zt-ticket-leg-item .zt-leg-node,
.zt-ticket-leg-item .zt-leg-route-mid {
    border: 0 !important;
    box-shadow: none !important;
}

.zt-ticket-leg-item .zt-leg-label,
.zt-ticket-leg-item .zt-leg-node {
    background: transparent !important;
}

.zt-ticket-leg-item .zt-leg-route-mid {
    background: transparent !important;
}
/* Flight details page spacing without hero */
.zt-flight-details-main {
    padding-top: clamp(96px, 9vw, 124px) !important;
}
/* Mobile app-style public and account navigation */
.zt-mobile-bottom-nav,
.zt-mobile-account-sheet,
.zt-mobile-nav-backdrop {
    display: none;
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(94px + env(safe-area-inset-bottom));
    }

    .zt-navbar .zt-toggler {
        display: none !important;
    }

    .zt-mobile-bottom-nav {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        z-index: 33500;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: center;
        min-height: 66px;
        padding: 8px;
        border: 1px solid rgba(188, 205, 224, .84);
        border-radius: 24px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 24px 68px rgba(5, 18, 35, .2);
        backdrop-filter: blur(18px);
    }

    .zt-mobile-bottom-link {
        display: grid;
        width: 100%;
        height: 50px;
        place-items: center;
        border: 0;
        border-radius: 17px;
        background: transparent;
        color: #58708B;
        text-decoration: none;
        transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .zt-mobile-bottom-link i {
        font-size: 20px;
        line-height: 1;
    }

    .zt-mobile-bottom-link:hover,
    .zt-mobile-bottom-link:focus-visible,
    .zt-mobile-bottom-link.is-active {
        background: linear-gradient(135deg, rgba(24, 119, 242, .12), rgba(15, 118, 110, .12));
        color: #0B4DA2;
        transform: translateY(-1px);
    }

    .zt-mobile-bottom-link.is-active {
        box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .18);
    }

    .zt-mobile-account-trigger {
        color: #FFFFFF;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%);
        box-shadow: 0 14px 28px rgba(15, 118, 110, .24);
    }

    .zt-mobile-account-trigger:hover,
    .zt-mobile-account-trigger:focus-visible,
    .zt-mobile-account-trigger.is-active {
        color: #FFFFFF;
        background: linear-gradient(135deg, #0B5FD3 0%, #0D9488 100%);
    }

    .zt-mobile-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 33600;
        background: rgba(5, 18, 35, .38);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
        backdrop-filter: blur(3px);
    }

    .zt-mobile-nav-backdrop.is-open {
        display: block;
        opacity: 1;
        pointer-events: auto;
    }

    .zt-mobile-nav-backdrop[hidden] {
        display: none !important;
    }

    .zt-mobile-account-sheet {
        position: fixed;
        left: 50%;
        bottom: calc(88px + env(safe-area-inset-bottom));
        z-index: 33610;
        display: grid;
        width: min(424px, calc(100vw - 24px));
        gap: 14px;
        padding: 12px;
        border: 1px solid rgba(188, 205, 224, .88);
        border-radius: 24px;
        background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFD 100%);
        box-shadow: 0 30px 90px rgba(5, 18, 35, .28);
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%) translateY(20px) scale(.98);
        transition: opacity .22s ease, transform .22s ease;
    }

    .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }

    .zt-mobile-account-sheet.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0) scale(1);
    }

    .zt-mobile-sheet-grabber {
        justify-self: center;
        width: 44px;
        height: 5px;
        border-radius: 999px;
        background: #CEDAE8;
    }

    .zt-mobile-sheet-head {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 2px 2px 4px;
    }

    .zt-mobile-sheet-avatar {
        display: inline-grid;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        place-items: center;
        border-radius: 15px;
        background: linear-gradient(135deg, #1877F2, #0F766E);
        color: #FFFFFF;
        font-size: 12px;
        font-weight: 950;
        box-shadow: 0 14px 28px rgba(15, 118, 110, .22);
    }

    .zt-mobile-sheet-head > div {
        display: grid;
        min-width: 0;
        gap: 2px;
    }

    .zt-mobile-sheet-head strong {
        overflow: hidden;
        color: #172638;
        font-size: 15px;
        font-weight: 950;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .zt-mobile-sheet-close {
        display: grid;
        width: 40px;
        height: 40px;
        margin-left: auto;
        place-items: center;
        border: 1px solid rgba(188, 205, 224, .82);
        border-radius: 14px;
        background: #FFFFFF;
        color: #31445A;
        box-shadow: 0 12px 24px rgba(16, 38, 68, .08);
    }

    .zt-mobile-sheet-actions {
        display: grid;
        gap: 9px;
    }

    .zt-mobile-sheet-actions a {
        display: flex;
        align-items: center;
        gap: 11px;
        min-height: 50px;
        padding: 10px 12px;
        border: 1px solid rgba(203, 216, 232, .92);
        border-radius: 16px;
        background: #FFFFFF;
        color: #22374D;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
        box-shadow: 0 12px 26px rgba(16, 38, 68, .06);
        transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    }

    .zt-mobile-sheet-actions a i {
        display: inline-grid;
        width: 31px;
        height: 31px;
        flex: 0 0 31px;
        place-items: center;
        border-radius: 11px;
        background: #EEF6FF;
        color: #1877F2;
        font-size: 15px;
    }

    .zt-mobile-sheet-actions a:hover,
    .zt-mobile-sheet-actions a:focus-visible,
    .zt-mobile-sheet-actions a.is-primary {
        border-color: rgba(24, 119, 242, .22);
        background: #F5FAFF;
        color: #0B4DA2;
        transform: translateY(-1px);
    }

    .zt-live-chat {
        right: 14px;
        bottom: calc(88px + env(safe-area-inset-bottom));
        z-index: 33450;
    }

    .zt-live-chat.is-open {
        z-index: 33700;
    }

    .zt-chat-panel {
        max-height: min(660px, calc(100vh - 132px));
    }

    .zt-footer-upgraded {
        padding-bottom: calc(122px + env(safe-area-inset-bottom)) !important;
    }

    body.zt-account-shell-body .zt-live-chat {
        bottom: calc(92px + env(safe-area-inset-bottom));
    }

    body.zt-account-shell-body .zt-mobile-bottom-nav {
        z-index: 33520;
    }
}

@media (max-width: 991.98px) {
    .zt-account-layout-shell {
        display: block !important;
        min-height: 100vh;
    }

    .zt-account-sidebar {
        position: relative !important;
        top: auto !important;
        width: 100%;
        height: auto !important;
        min-height: 0;
        overflow: visible;
        padding: 18px 16px 14px !important;
        border-radius: 0 0 24px 24px;
    }

    .zt-account-brand {
        padding: 0 0 10px !important;
    }

    .zt-account-sidebar-nav,
    .zt-account-sidebar-footer {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .zt-account-sidebar-footer {
        margin-top: 8px !important;
        padding-top: 10px !important;
    }

    .zt-account-sidebar-link,
    .zt-account-sidebar-footer a {
        min-width: 0;
        min-height: 46px;
        padding: 9px 10px !important;
    }

    .zt-account-main {
        width: 100%;
        padding: 0 16px 28px !important;
    }

    .zt-account-topbar {
        position: sticky;
        top: 0;
        min-height: 70px;
        margin: 0 -16px 16px !important;
        padding: 12px 16px !important;
    }

    .zt-account-topbar-home span,
    .zt-account-profile-copy,
    .zt-account-topbar-copy .zt-section-kicker {
        display: none !important;
    }

    .zt-account-topbar-copy h1 {
        font-size: 20px !important;
    }

    .zt-account-main-content,
    .zt-account-main-content > *,
    .zt-account-dashboard-grid,
    .zt-account-form-panel,
    .zt-account-card,
    .zt-account-section-card {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .zt-account-main table {
        min-width: 760px;
    }

    .zt-account-main .table-responsive,
    .zt-account-main .zt-table-shell,
    .zt-account-main .zt-account-table-shell,
    .zt-account-main .zt-admin-table-wrap,
    .zt-account-main .zt-record-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 575.98px) {
    .zt-account-sidebar {
        padding: 14px 12px 12px !important;
    }

    .zt-account-sidebar-nav,
    .zt-account-sidebar-footer {
        grid-template-columns: 1fr !important;
    }

    .zt-account-sidebar-link,
    .zt-account-sidebar-footer a {
        border-color: rgba(255, 255, 255, .06) !important;
        background: rgba(255, 255, 255, .055) !important;
    }

    .zt-account-sidebar-copy small {
        display: none !important;
    }

    .zt-account-topbar-icon {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
        border-radius: 13px !important;
    }

    .zt-account-profile-toggle {
        min-height: 42px !important;
        padding: 4px !important;
    }

    .zt-account-profile-toggle > i,
    .zt-account-topbar-home {
        display: none !important;
    }

    .zt-account-main .row,
    .zt-account-main .zt-grid,
    .zt-account-main .zt-account-form-grid,
    .zt-account-main .zt-account-dashboard-actions,
    .zt-account-main .zt-account-summary-strip {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .zt-account-main input,
    .zt-account-main select,
    .zt-account-main textarea,
    .zt-account-main .form-control,
    .zt-account-main .form-select,
    .zt-account-main .zt-select-control,
    .zt-account-main .zt-native-select-shell {
        max-width: 100% !important;
    }
}
/* End mobile app-style public and account navigation */
/* Complete public and customer mobile responsiveness pass */
body:not(.zt-admin-body),
body.zt-account-shell-body {
    max-width: 100%;
    overflow-x: hidden;
}

body:not(.zt-admin-body) #main,
body.zt-account-shell-body #main {
    min-width: 0;
    overflow-x: clip;
}

body:not(.zt-admin-body) img,
body:not(.zt-admin-body) video,
body:not(.zt-admin-body) iframe,
body.zt-account-shell-body img,
body.zt-account-shell-body video,
body.zt-account-shell-body iframe {
    max-width: 100%;
}

body:not(.zt-admin-body) .zt-container,
body.zt-account-shell-body .zt-container {
    min-width: 0;
}

body:not(.zt-admin-body) .zt-grid,
body:not(.zt-admin-body) [class*="-grid"],
body:not(.zt-admin-body) [class*="-shell"],
body:not(.zt-admin-body) [class*="-layout"],
body:not(.zt-admin-body) [class*="-panel"],
body:not(.zt-admin-body) [class*="-card"],
body:not(.zt-admin-body) [class*="-body"],
body.zt-account-shell-body .zt-grid,
body.zt-account-shell-body [class*="-grid"],
body.zt-account-shell-body [class*="-shell"],
body.zt-account-shell-body [class*="-layout"],
body.zt-account-shell-body [class*="-panel"],
body.zt-account-shell-body [class*="-card"],
body.zt-account-shell-body [class*="-body"] {
    min-width: 0;
}

@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-charter-detail-shell,
    body:not(.zt-admin-body) .zt-private-request-shell,
    body:not(.zt-admin-body) .zt-transfer-book-shell,
    body:not(.zt-admin-body) .zt-hotel-book-shell,
    body:not(.zt-admin-body) .zt-hotel-detail-shell,
    body:not(.zt-admin-body) .zt-destination-detail-layout,
    body:not(.zt-admin-body) .zt-checkout-page,
    body:not(.zt-admin-body) .zt-auth-layout,
    body:not(.zt-admin-body) .zt-booking-shell {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-container {
        width: 100%;
        max-width: 100%;
        padding-right: clamp(14px, 4vw, 22px);
        padding-left: clamp(14px, 4vw, 22px);
    }

    body:not(.zt-admin-body) .zt-page-hero,
    body:not(.zt-admin-body) .zt-hero,
    body:not(.zt-admin-body) .zt-home-hero,
    body:not(.zt-admin-body) .zt-hotels-hero,
    body:not(.zt-admin-body) .zt-deals-hero,
    body:not(.zt-admin-body) .zt-charter-hero,
    body:not(.zt-admin-body) .zt-charter-listing-hero,
    body:not(.zt-admin-body) .zt-private-aviation-hero,
    body:not(.zt-admin-body) .zt-destination-detail-hero,
    body:not(.zt-admin-body) .zt-book-ride-hero,
    body:not(.zt-admin-body) .zt-auth-page {
        overflow: hidden;
    }

    body:not(.zt-admin-body) .zt-hero-content,
    body:not(.zt-admin-body) .zt-hotels-hero-inner,
    body:not(.zt-admin-body) .zt-charter-hero-copy,
    body:not(.zt-admin-body) .zt-destination-detail-hero-copy,
    body:not(.zt-admin-body) .zt-auth-card-wrap {
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-route-pair,
    body:not(.zt-admin-body) .zt-charter-route-pair,
    body:not(.zt-admin-body) .zt-private-request-route-pair,
    body:not(.zt-admin-body) .zt-ride-summary-route,
    body:not(.zt-admin-body) .zt-results-market-row,
    body:not(.zt-admin-body) .zt-results-selected-meta,
    body:not(.zt-admin-body) .zt-flight-leg-item,
    body:not(.zt-admin-body) .zt-leg-route-line {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-private-route-swap-wrap,
    body:not(.zt-admin-body) .zt-charter-route-card .zt-route-arrow {
        margin: 0 auto !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-hotel-results-grid,
    body:not(.zt-admin-body) .zt-hotels-grid,
    body:not(.zt-admin-body) .zt-room-grid,
    body:not(.zt-admin-body) .zt-rides-grid,
    body:not(.zt-admin-body) .zt-private-aircraft-grid,
    body:not(.zt-admin-body) .zt-charter-aircraft-grid,
    body:not(.zt-admin-body) .zt-destinations-grid,
    body:not(.zt-admin-body) .zt-destinations-page-grid,
    body:not(.zt-admin-body) .zt-destination-hotel-grid,
    body:not(.zt-admin-body) .zt-deals-grid,
    body:not(.zt-admin-body) .zt-route-card-grid,
    body:not(.zt-admin-body) .zt-crypto-choice-grid,
    body:not(.zt-admin-body) .zt-checkout-detail-grid,
    body:not(.zt-admin-body) .zt-card-form-grid,
    body:not(.zt-admin-body) .zt-fare-breakdown-grid,
    body.zt-account-shell-body .zt-account-summary-strip,
    body.zt-account-shell-body .zt-account-action-grid,
    body.zt-account-shell-body .zt-account-detail-grid,
    body.zt-account-shell-body .zt-account-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-hotel-search-panel,
    body:not(.zt-admin-body) .zt-ride-search,
    body:not(.zt-admin-body) .zt-charter-detail-form-card,
    body:not(.zt-admin-body) .zt-private-request-form-card,
    body:not(.zt-admin-body) .zt-checkout-summary-card,
    body:not(.zt-admin-body) .zt-payment-card,
    body:not(.zt-admin-body) .zt-booking-panel,
    body.zt-account-shell-body .zt-account-form-panel,
    body.zt-account-shell-body .zt-account-bookings-panel,
    body.zt-account-shell-body .zt-account-booking-panel,
    body.zt-account-shell-body .zt-account-traveler-form-panel,
    body.zt-account-shell-body .zt-account-traveler-list-panel,
    body.zt-account-shell-body .zt-account-security-panel {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) {
        padding-bottom: calc(94px + env(safe-area-inset-bottom));
    }

    body.zt-admin-body {
        padding-bottom: 0 !important;
    }

    body:not(.zt-admin-body) .zt-navbar {
        min-height: 66px;
    }

    body:not(.zt-admin-body) main#main {
        padding-top: 0;
    }

    body:not(.zt-admin-body) .zt-section,
    body:not(.zt-admin-body) .zt-section-tight,
    body:not(.zt-admin-body) .zt-routes-section,
    body:not(.zt-admin-body) .zt-hotels-section,
    body:not(.zt-admin-body) .zt-rides-section,
    body:not(.zt-admin-body) .zt-deals-page-section,
    body:not(.zt-admin-body) .zt-destinations-page-section,
    body:not(.zt-admin-body) .zt-destination-detail-section,
    body:not(.zt-admin-body) .zt-charter-listing-section,
    body:not(.zt-admin-body) .zt-private-aviation-section {
        padding-top: clamp(26px, 7vw, 42px) !important;
        padding-bottom: clamp(28px, 8vw, 46px) !important;
    }

    body:not(.zt-admin-body) .zt-page-hero,
    body:not(.zt-admin-body) .zt-hero,
    body:not(.zt-admin-body) .zt-home-hero,
    body:not(.zt-admin-body) .zt-hotels-hero,
    body:not(.zt-admin-body) .zt-deals-hero,
    body:not(.zt-admin-body) .zt-charter-hero,
    body:not(.zt-admin-body) .zt-charter-listing-hero,
    body:not(.zt-admin-body) .zt-private-aviation-hero,
    body:not(.zt-admin-body) .zt-destination-detail-hero,
    body:not(.zt-admin-body) .zt-book-ride-hero,
    body:not(.zt-admin-body) .zt-auth-page {
        min-height: auto !important;
        padding-top: clamp(86px, 20vw, 116px) !important;
        padding-bottom: clamp(30px, 8vw, 48px) !important;
    }

    body:not(.zt-admin-body) .zt-hero-content h1,
    body:not(.zt-admin-body) .zt-page-hero h1,
    body:not(.zt-admin-body) .zt-auth-intro h1,
    body:not(.zt-admin-body) .zt-destination-detail-hero h1,
    body:not(.zt-admin-body) .zt-charter-hero h1,
    body:not(.zt-admin-body) .zt-private-aviation-hero h1 {
        font-size: clamp(28px, 9vw, 42px) !important;
        line-height: 1.05 !important;
        overflow-wrap: anywhere;
    }

    body:not(.zt-admin-body) .zt-section-title,
    body:not(.zt-admin-body) .zt-routes-head h2,
    body:not(.zt-admin-body) .zt-hotels-head h2,
    body:not(.zt-admin-body) .zt-rides-head h2,
    body:not(.zt-admin-body) .zt-deals-head h2,
    body:not(.zt-admin-body) .zt-destinations-head h2,
    body.zt-account-shell-body .zt-account-workspace-intro h2 {
        font-size: clamp(23px, 7vw, 32px) !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) .zt-hero-content p,
    body:not(.zt-admin-body) .zt-section-copy,
    body:not(.zt-admin-body) .zt-auth-intro p,
    body:not(.zt-admin-body) .zt-page-hero p,
    body.zt-account-shell-body .zt-account-workspace-intro p {
        max-width: 100% !important;
        font-size: 13px !important;
        line-height: 1.52 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-hotel-search-panel,
    body:not(.zt-admin-body) .zt-ride-search,
    body:not(.zt-admin-body) .zt-route-search,
    body:not(.zt-admin-body) .zt-auth-card,
    body:not(.zt-admin-body) .zt-checkout-card,
    body:not(.zt-admin-body) .zt-payment-card,
    body:not(.zt-admin-body) .zt-booking-panel,
    body:not(.zt-admin-body) .zt-card,
    body.zt-account-shell-body .zt-account-workspace-intro,
    body.zt-account-shell-body .zt-account-form-panel,
    body.zt-account-shell-body .zt-account-bookings-panel,
    body.zt-account-shell-body .zt-account-booking-panel,
    body.zt-account-shell-body .zt-account-security-panel,
    body.zt-account-shell-body .zt-account-traveler-form-panel,
    body.zt-account-shell-body .zt-account-traveler-list-panel {
        border-radius: 16px !important;
        padding: clamp(14px, 4vw, 18px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-pane,
    body:not(.zt-admin-body) .zt-hotel-search-form,
    body:not(.zt-admin-body) .zt-ride-search form,
    body:not(.zt-admin-body) .zt-charter-detail-form,
    body:not(.zt-admin-body) .zt-private-request-form,
    body:not(.zt-admin-body) .zt-hotel-guest-form,
    body:not(.zt-admin-body) .zt-card-form-grid,
    body:not(.zt-admin-body) .zt-proof-form,
    body:not(.zt-admin-body) .zt-auth-form,
    body.zt-account-shell-body .zt-account-form,
    body.zt-account-shell-body .zt-account-security-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body:not(.zt-admin-body) .zt-col-1,
    body:not(.zt-admin-body) .zt-col-2,
    body:not(.zt-admin-body) .zt-col-3,
    body:not(.zt-admin-body) .zt-col-4,
    body:not(.zt-admin-body) .zt-col-6,
    body:not(.zt-admin-body) .zt-col-8,
    body:not(.zt-admin-body) .zt-col-12 {
        grid-column: auto !important;
    }

    body:not(.zt-admin-body) .zt-hotel-results-grid,
    body:not(.zt-admin-body) .zt-hotels-grid,
    body:not(.zt-admin-body) .zt-room-grid,
    body:not(.zt-admin-body) .zt-rides-grid,
    body:not(.zt-admin-body) .zt-private-aircraft-grid,
    body:not(.zt-admin-body) .zt-charter-aircraft-grid,
    body:not(.zt-admin-body) .zt-destinations-grid,
    body:not(.zt-admin-body) .zt-destinations-page-grid,
    body:not(.zt-admin-body) .zt-destination-hotel-grid,
    body:not(.zt-admin-body) .zt-deals-grid,
    body:not(.zt-admin-body) .zt-route-card-grid,
    body:not(.zt-admin-body) .zt-checkout-detail-grid,
    body:not(.zt-admin-body) .zt-fare-breakdown-grid,
    body:not(.zt-admin-body) .zt-crypto-choice-grid,
    body:not(.zt-admin-body) .zt-market-method-grid,
    body:not(.zt-admin-body) .zt-hotel-book-meta-grid,
    body:not(.zt-admin-body) .zt-charter-meta-grid,
    body:not(.zt-admin-body) .zt-private-request-meta-grid,
    body:not(.zt-admin-body) .zt-ride-hero-pills,
    body.zt-account-shell-body .zt-account-summary-strip,
    body.zt-account-shell-body .zt-account-action-grid,
    body.zt-account-shell-body .zt-account-detail-grid,
    body.zt-account-shell-body .zt-account-form-grid,
    body.zt-account-shell-body .zt-account-traveler-list {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-route-card,
    body:not(.zt-admin-body) .zt-hotel-result-card,
    body:not(.zt-admin-body) .zt-room-card,
    body:not(.zt-admin-body) .zt-ride-card,
    body:not(.zt-admin-body) .zt-private-aircraft-card,
    body:not(.zt-admin-body) .zt-charter-aircraft-card,
    body:not(.zt-admin-body) .zt-destination-card,
    body:not(.zt-admin-body) .zt-destination-page-card,
    body:not(.zt-admin-body) .zt-deal-card,
    body:not(.zt-admin-body) .flight-result-card,
    body.zt-account-shell-body .zt-account-quick-card,
    body.zt-account-shell-body .zt-account-summary-card,
    body.zt-account-shell-body .zt-account-traveler-card {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    body:not(.zt-admin-body) .zt-hotel-result-media,
    body:not(.zt-admin-body) .zt-hotel-media,
    body:not(.zt-admin-body) .zt-room-media,
    body:not(.zt-admin-body) .zt-ride-media,
    body:not(.zt-admin-body) .zt-private-aircraft-media,
    body:not(.zt-admin-body) .zt-charter-aircraft-media,
    body:not(.zt-admin-body) .zt-destination-media,
    body:not(.zt-admin-body) .zt-deal-media,
    body:not(.zt-admin-body) .zt-hotel-book-media,
    body:not(.zt-admin-body) .zt-hotel-detail-media,
    body:not(.zt-admin-body) .zt-private-request-visual,
    body:not(.zt-admin-body) .zt-charter-detail-visual,
    body:not(.zt-admin-body) .zt-transfer-book-visual {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 10;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body) .zt-hotel-result-media img,
    body:not(.zt-admin-body) .zt-hotel-media img,
    body:not(.zt-admin-body) .zt-room-media img,
    body:not(.zt-admin-body) .zt-ride-media img,
    body:not(.zt-admin-body) .zt-private-aircraft-media img,
    body:not(.zt-admin-body) .zt-charter-aircraft-media img,
    body:not(.zt-admin-body) .zt-destination-media img,
    body:not(.zt-admin-body) .zt-deal-media img,
    body:not(.zt-admin-body) .zt-hotel-book-media img,
    body:not(.zt-admin-body) .zt-hotel-detail-media img,
    body:not(.zt-admin-body) .zt-private-request-visual img,
    body:not(.zt-admin-body) .zt-charter-detail-visual img,
    body:not(.zt-admin-body) .zt-transfer-book-visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body:not(.zt-admin-body) .zt-route-actions,
    body:not(.zt-admin-body) .zt-charter-aircraft-actions,
    body:not(.zt-admin-body) .zt-private-aircraft-actions,
    body:not(.zt-admin-body) .zt-detail-actions,
    body:not(.zt-admin-body) .zt-charter-detail-actions,
    body:not(.zt-admin-body) .zt-private-request-actions,
    body:not(.zt-admin-body) .zt-account-form-actions,
    body:not(.zt-admin-body) .zt-cta-actions,
    body.zt-account-shell-body .zt-account-form-actions,
    body.zt-account-shell-body .zt-account-empty-actions,
    body.zt-account-shell-body .zt-account-detail-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100%;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .btn,
    body:not(.zt-admin-body) button,
    body:not(.zt-admin-body) .zt-hotel-search-submit,
    body:not(.zt-admin-body) .zt-private-request-submit,
    body:not(.zt-admin-body) .zt-hotel-checkout-btn,
    body.zt-account-shell-body .zt-account-primary-action,
    body.zt-account-shell-body .zt-account-secondary-action,
    body.zt-account-shell-body .zt-account-outline-action {
        max-width: 100%;
    }

    body:not(.zt-admin-body) input,
    body:not(.zt-admin-body) select,
    body:not(.zt-admin-body) textarea,
    body:not(.zt-admin-body) .form-control,
    body:not(.zt-admin-body) .form-select,
    body:not(.zt-admin-body) .zt-input,
    body:not(.zt-admin-body) .zt-input-shell,
    body:not(.zt-admin-body) .zt-airport-picker,
    body:not(.zt-admin-body) .zt-picker-trigger,
    body:not(.zt-admin-body) .zt-native-select-shell,
    body:not(.zt-admin-body) .zt-account-input-shell,
    body.zt-account-shell-body input,
    body.zt-account-shell-body select,
    body.zt-account-shell-body textarea,
    body.zt-account-shell-body .form-control,
    body.zt-account-shell-body .form-select,
    body.zt-account-shell-body .zt-account-input-shell {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-airport-picker-menu,
    body:not(.zt-admin-body) .zt-custom-select-menu,
    body:not(.zt-admin-body) .zt-account-select-menu,
    body:not(.zt-admin-body) .zt-dropdown-menu,
    body.zt-account-shell-body .zt-account-select-menu,
    body.zt-account-shell-body .zt-custom-select-menu {
        width: var(--zt-picker-width, 100%) !important;
        max-width: min(100vw - 28px, var(--zt-picker-width, 100%)) !important;
        min-width: 0 !important;
        z-index: 36000 !important;
    }

    body:not(.zt-admin-body) .zt-payment-methods,
    body:not(.zt-admin-body) .zt-checkout-assurance-row,
    body:not(.zt-admin-body) .zt-card-security-row,
    body:not(.zt-admin-body) .zt-results-status-stack,
    body:not(.zt-admin-body) .zt-hotel-result-meta,
    body:not(.zt-admin-body) .zt-room-meta,
    body:not(.zt-admin-body) .zt-ride-specs,
    body:not(.zt-admin-body) .zt-private-aircraft-specs,
    body:not(.zt-admin-body) .zt-destination-overview-meta,
    body:not(.zt-admin-body) .zt-destination-plan-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-crypto-pay-layout,
    body:not(.zt-admin-body) .zt-payment-total,
    body:not(.zt-admin-body) .zt-reference-copy-content,
    body:not(.zt-admin-body) .zt-proof-upload {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .modal-dialog {
        width: calc(100vw - 22px) !important;
        max-width: calc(100vw - 22px) !important;
        margin: 11px auto !important;
    }

    body:not(.zt-admin-body) .modal-content {
        max-height: calc(100vh - 22px);
        overflow: hidden;
    }

    body:not(.zt-admin-body) .modal-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body:not(.zt-admin-body) .zt-chat-launcher {
        min-width: 52px !important;
        width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        padding: 6px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-chat-launcher-text {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-live-chat {
        top: 52% !important;
        right: 12px !important;
        bottom: auto !important;
        z-index: 33450;
        transform: translateY(-50%);
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open {
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        transform: none !important;
        z-index: 33700;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
    body:not(.zt-admin-body) .zt-live-chat:not(.is-on-demand).is-open .zt-chat-panel,
    body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-panel {
        position: fixed !important;
        top: 74px !important;
        right: 12px !important;
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        border-radius: 20px !important;
        transform-origin: center !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-body {
        min-height: 0 !important;
        max-height: none !important;
        grid-template-rows: auto auto 1fr !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-messages {
        min-height: 0 !important;
        overflow-y: auto !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer textarea {
        min-height: 46px !important;
        max-height: 46px !important;
    }

    .zt-mobile-bottom-nav {
        z-index: 33800 !important;
    }

    .zt-mobile-nav-backdrop,
    .zt-mobile-account-sheet {
        z-index: 33900 !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) .zt-container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:not(.zt-admin-body) .zt-brand-copy strong {
        font-size: 14px !important;
    }

    body:not(.zt-admin-body) .zt-brand-copy small {
        font-size: 10px !important;
    }

    body:not(.zt-admin-body) .zt-brand-mark {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }

    body:not(.zt-admin-body) .zt-flight-results-head,
    body:not(.zt-admin-body) .zt-hotels-head,
    body:not(.zt-admin-body) .zt-rides-head,
    body:not(.zt-admin-body) .zt-routes-head,
    body:not(.zt-admin-body) .zt-deals-head,
    body:not(.zt-admin-body) .zt-destinations-head,
    body:not(.zt-admin-body) .zt-room-section-head,
    body:not(.zt-admin-body) .zt-destination-hotels-head,
    body.zt-account-shell-body .zt-account-panel-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-flight-time,
    body:not(.zt-admin-body) .zt-price,
    body:not(.zt-admin-body) .zt-hotel-result-price,
    body:not(.zt-admin-body) .zt-ride-price,
    body:not(.zt-admin-body) .zt-room-price,
    body:not(.zt-admin-body) .zt-card-brand-badge,
    body:not(.zt-admin-body) .zt-payment-total {
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav {
        left: 8px !important;
        right: 8px !important;
        min-height: 62px !important;
        padding: 7px !important;
        border-radius: 21px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link {
        height: 47px !important;
        border-radius: 15px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i {
        font-size: 18px !important;
    }

    body:not(.zt-admin-body) .zt-chat-panel {
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-chat-header {
        padding: 12px !important;
    }

    body:not(.zt-admin-body) .zt-chat-body {
        padding: 12px !important;
    }

    body:not(.zt-admin-body) .zt-chat-composer {
        padding: 10px 12px 12px !important;
    }
}

@media (max-width: 390px) {
    body:not(.zt-admin-body) .zt-mobile-bottom-nav {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 1px;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link {
        height: 44px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i {
        font-size: 17px !important;
    }

    body:not(.zt-admin-body) .zt-hero-content h1,
    body:not(.zt-admin-body) .zt-page-hero h1,
    body:not(.zt-admin-body) .zt-auth-intro h1 {
        font-size: 27px !important;
    }
}
/* End complete public and customer mobile responsiveness pass */
/* Mobile edge nav, chat launcher and flight result refinement */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        min-height: calc(66px + env(safe-area-inset-bottom)) !important;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
        border-width: 1px 0 0 !important;
        border-radius: 22px 22px 0 0 !important;
        background: rgba(255, 255, 255, .97) !important;
        box-shadow: 0 -16px 42px rgba(5, 18, 35, .18) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        height: 48px !important;
        border-radius: 15px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) .zt-footer-upgraded {
        padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) .zt-live-chat,
    body.zt-account-shell-body .zt-live-chat {
        left: auto !important;
        top: auto !important;
        right: 12px !important;
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
        transform: none !important;
        z-index: 33720 !important;
    }

    body:not(.zt-admin-body) .zt-live-chat:not(.is-open),
    body.zt-account-shell-body .zt-live-chat:not(.is-open) {
        width: auto !important;
        max-width: none !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher {
        display: inline-grid !important;
        width: 54px !important;
        min-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        place-items: center !important;
        padding: 6px !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 42px rgba(5, 18, 35, .24) !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
        width: 40px !important;
        height: 40px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open,
    body.zt-account-shell-body .zt-live-chat.is-open {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: 0 !important;
        width: auto !important;
        transform: none !important;
        pointer-events: none;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-panel {
        pointer-events: auto;
        top: 74px !important;
        right: 12px !important;
        bottom: calc(78px + env(safe-area-inset-bottom)) !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-results-head {
        display: grid !important;
        gap: 14px !important;
        padding: 14px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-results-summary-block,
    body:not(.zt-admin-body) .zt-results-status-stack {
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-results-airports {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .flight-result-card {
        padding: 14px !important;
        border-radius: 18px !important;
        box-shadow: 0 16px 38px rgba(5, 18, 35, .08) !important;
    }

    body:not(.zt-admin-body) .flight-result-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    body:not(.zt-admin-body) .airline-identity {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 11px !important;
        align-items: center !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .airline-logo {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .airline-name,
    body:not(.zt-admin-body) .flight-number {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .flight-select-btn {
        width: 100% !important;
        min-height: 46px !important;
        border-radius: 14px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .flight-price-section {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 15px 0 !important;
    }

    body:not(.zt-admin-body) .flight-price {
        font-size: clamp(24px, 8vw, 31px) !important;
        overflow-wrap: anywhere;
    }

    body:not(.zt-admin-body) .flight-price-meta {
        justify-content: flex-start !important;
        gap: 7px !important;
    }

    body:not(.zt-admin-body) .flight-price-meta span {
        min-height: 30px !important;
        padding: 0 9px !important;
        font-size: 11.5px !important;
    }

    body:not(.zt-admin-body) .flight-journeys {
        gap: 12px !important;
        padding: 14px 0 !important;
        border-bottom: 0 !important;
    }

    body:not(.zt-admin-body) .flight-journey {
        padding: 13px !important;
        border-radius: 16px !important;
        background: #FBFDFF !important;
    }

    body:not(.zt-admin-body) .journey-heading {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: start !important;
        gap: 8px !important;
        margin-bottom: 10px !important;
    }

    body:not(.zt-admin-body) .journey-heading span,
    body:not(.zt-admin-body) .journey-heading small {
        font-size: 10.5px !important;
        letter-spacing: .04em !important;
    }

    body:not(.zt-admin-body) .journey-heading strong {
        font-size: 14px !important;
    }

    body:not(.zt-admin-body) .journey-carrier-line {
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) auto !important;
        width: 100% !important;
        min-height: 40px !important;
        margin-bottom: 12px !important;
        padding: 6px 9px !important;
        border-radius: 13px !important;
    }

    body:not(.zt-admin-body) .journey-carrier-line img,
    body:not(.zt-admin-body) .journey-carrier-line i {
        width: 28px !important;
        height: 28px !important;
        object-fit: contain !important;
    }

    body:not(.zt-admin-body) .journey-carrier-line span {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .journey-carrier-line em {
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .route-timeline {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .timeline-point,
    body:not(.zt-admin-body) .timeline-arrival {
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 8px 10px !important;
        text-align: left !important;
        padding: 10px !important;
        border: 1px solid rgba(216, 226, 239, .9) !important;
        border-radius: 14px !important;
        background: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .flight-airport-code-main {
        grid-row: span 2;
        display: grid !important;
        width: 52px !important;
        height: 52px !important;
        place-items: center !important;
        border-radius: 14px !important;
        background: linear-gradient(135deg, rgba(24, 119, 242, .12), rgba(15, 118, 110, .12)) !important;
        color: #0B4DA2 !important;
        font-size: 16px !important;
    }

    body:not(.zt-admin-body) .flight-time-sub {
        margin-top: 0 !important;
        color: #172638 !important;
        font-size: 18px !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) .airport-name {
        margin-top: 0 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    body:not(.zt-admin-body) .timeline-middle {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 2px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .timeline-middle .flight-duration {
        display: inline-flex !important;
        min-height: 30px !important;
        align-items: center !important;
        padding: 0 9px !important;
        border-radius: 999px !important;
        background: #EEF6FF !important;
        color: #0B4DA2 !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .timeline-middle .route-line {
        min-width: 40px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .flight-stop-text {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .flight-card-footer {
        padding-top: 12px !important;
        border-top: 1px solid rgba(218, 226, 238, .9) !important;
    }

    body:not(.zt-admin-body) .flight-result-card .flight-details-link {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        margin-left: 0 !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .flight-result-card .flight-details-grid {
        grid-template-columns: 1fr !important;
        padding: 10px !important;
        gap: 8px !important;
    }
}

@media (max-width: 390px) {
    body:not(.zt-admin-body) .timeline-middle {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .timeline-middle .route-line {
        width: 100% !important;
    }

    body:not(.zt-admin-body) .flight-stop-text,
    body:not(.zt-admin-body) .timeline-middle .flight-duration {
        justify-self: center !important;
    }
}
/* End mobile edge nav, chat launcher and flight result refinement */
/* Mobile chat launcher drift correction */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher,
    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-launcher,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-launcher {
        position: fixed !important;
        left: auto !important;
        top: auto !important;
        right: 12px !important;
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
        transform: none !important;
    }
}
/* End mobile chat launcher drift correction */
/* iPad and tablet public visibility pass */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-container,
    body.zt-account-shell-body .zt-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: clamp(22px, 4vw, 42px) !important;
        padding-left: clamp(22px, 4vw, 42px) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 33800 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        align-items: center !important;
        width: 100% !important;
        min-height: calc(70px + env(safe-area-inset-bottom)) !important;
        padding: 9px clamp(26px, 8vw, 90px) calc(9px + env(safe-area-inset-bottom)) !important;
        border: 1px solid rgba(188, 205, 224, .86) !important;
        border-width: 1px 0 0 !important;
        border-radius: 24px 24px 0 0 !important;
        background: rgba(255, 255, 255, .97) !important;
        box-shadow: 0 -18px 50px rgba(5, 18, 35, .17) !important;
        backdrop-filter: blur(18px) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        width: 100% !important;
        height: 52px !important;
        border-radius: 17px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        font-size: 21px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        width: min(460px, calc(100vw - 48px)) !important;
    }

    body:not(.zt-admin-body) .zt-live-chat,
    body.zt-account-shell-body .zt-live-chat {
        left: auto !important;
        top: auto !important;
        right: 22px !important;
        bottom: calc(100px + env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
        z-index: 33720 !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher,
    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-launcher,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-launcher {
        position: fixed !important;
        left: auto !important;
        top: auto !important;
        right: 22px !important;
        bottom: calc(100px + env(safe-area-inset-bottom)) !important;
        width: 58px !important;
        min-width: 58px !important;
        height: 58px !important;
        min-height: 58px !important;
        padding: 7px !important;
        border-radius: 19px !important;
        transform: none !important;
        box-shadow: 0 20px 48px rgba(5, 18, 35, .24) !important;
    }

    body:not(.zt-admin-body) .zt-chat-launcher-text,
    body.zt-account-shell-body .zt-chat-launcher-text {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open,
    body.zt-account-shell-body .zt-live-chat.is-open {
        inset: 0 !important;
        pointer-events: none !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-panel {
        position: fixed !important;
        top: 86px !important;
        right: clamp(22px, 5vw, 54px) !important;
        bottom: calc(90px + env(safe-area-inset-bottom)) !important;
        left: clamp(22px, 5vw, 54px) !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        border-radius: 24px !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-page-hero,
    body:not(.zt-admin-body) .zt-hero,
    body:not(.zt-admin-body) .zt-home-hero,
    body:not(.zt-admin-body) .zt-hotels-hero,
    body:not(.zt-admin-body) .zt-deals-hero,
    body:not(.zt-admin-body) .zt-charter-hero,
    body:not(.zt-admin-body) .zt-charter-listing-hero,
    body:not(.zt-admin-body) .zt-private-aviation-hero,
    body:not(.zt-admin-body) .zt-destination-detail-hero,
    body:not(.zt-admin-body) .zt-book-ride-hero,
    body:not(.zt-admin-body) .zt-auth-page {
        min-height: auto !important;
        padding-top: clamp(96px, 13vw, 128px) !important;
        padding-bottom: clamp(38px, 6vw, 64px) !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-section,
    body:not(.zt-admin-body) .zt-section-tight,
    body:not(.zt-admin-body) .zt-routes-section,
    body:not(.zt-admin-body) .zt-hotels-section,
    body:not(.zt-admin-body) .zt-rides-section,
    body:not(.zt-admin-body) .zt-deals-page-section,
    body:not(.zt-admin-body) .zt-destinations-page-section,
    body:not(.zt-admin-body) .zt-destination-detail-section,
    body:not(.zt-admin-body) .zt-charter-listing-section,
    body:not(.zt-admin-body) .zt-private-aviation-section {
        padding-top: clamp(34px, 5vw, 58px) !important;
        padding-bottom: clamp(38px, 5vw, 64px) !important;
    }

    body:not(.zt-admin-body) .zt-hero-content,
    body:not(.zt-admin-body) .zt-hotels-hero-inner,
    body:not(.zt-admin-body) .zt-charter-hero-copy,
    body:not(.zt-admin-body) .zt-destination-detail-hero-copy,
    body:not(.zt-admin-body) .zt-auth-card-wrap,
    body:not(.zt-admin-body) .zt-results-summary-block,
    body:not(.zt-admin-body) .zt-results-status-stack {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-auth-layout,
    body:not(.zt-admin-body) .zt-checkout-page,
    body:not(.zt-admin-body) .zt-booking-shell,
    body:not(.zt-admin-body) .zt-hotel-book-shell,
    body:not(.zt-admin-body) .zt-hotel-detail-shell,
    body:not(.zt-admin-body) .zt-private-request-shell,
    body:not(.zt-admin-body) .zt-charter-detail-shell,
    body:not(.zt-admin-body) .zt-transfer-book-shell,
    body:not(.zt-admin-body) .zt-destination-detail-layout,
    body:not(.zt-admin-body) .zt-destination-planning-panel,
    body:not(.zt-admin-body) .zt-crypto-pay-layout {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-hotel-search-form,
    body:not(.zt-admin-body) .zt-ride-search form,
    body:not(.zt-admin-body) .zt-card-form-grid,
    body:not(.zt-admin-body) .zt-proof-form,
    body.zt-account-shell-body .zt-account-form,
    body.zt-account-shell-body .zt-account-security-form {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-route-pair,
    body:not(.zt-admin-body) .zt-results-market-row,
    body:not(.zt-admin-body) .zt-results-airports,
    body:not(.zt-admin-body) .zt-private-request-route-pair,
    body:not(.zt-admin-body) .zt-charter-route-pair,
    body:not(.zt-admin-body) .zt-ride-summary-route {
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
        align-items: stretch !important;
    }

    body:not(.zt-admin-body) .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-private-route-swap-wrap {
        align-self: end !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-hotel-book-meta-grid,
    body:not(.zt-admin-body) .zt-private-request-meta-grid,
    body:not(.zt-admin-body) .zt-charter-meta-grid,
    body:not(.zt-admin-body) .zt-checkout-detail-grid,
    body:not(.zt-admin-body) .zt-fare-breakdown-grid,
    body.zt-account-shell-body .zt-account-summary-strip,
    body.zt-account-shell-body .zt-account-action-grid,
    body.zt-account-shell-body .zt-account-detail-grid,
    body.zt-account-shell-body .zt-account-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .zt-hotel-results-grid,
    body:not(.zt-admin-body) .zt-hotels-grid,
    body:not(.zt-admin-body) .zt-room-grid,
    body:not(.zt-admin-body) .zt-rides-grid,
    body:not(.zt-admin-body) .zt-private-aircraft-grid,
    body:not(.zt-admin-body) .zt-charter-aircraft-grid,
    body:not(.zt-admin-body) .zt-destinations-grid,
    body:not(.zt-admin-body) .zt-destinations-page-grid,
    body:not(.zt-admin-body) .zt-destination-hotel-grid,
    body:not(.zt-admin-body) .zt-deals-grid,
    body:not(.zt-admin-body) .zt-crypto-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-submit-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-submit-wrap,
    body:not(.zt-admin-body) .zt-auth-submit,
    body:not(.zt-admin-body) .zt-hotel-search-submit,
    body:not(.zt-admin-body) .zt-private-request-submit,
    body:not(.zt-admin-body) .zt-hotel-checkout-btn,
    body.zt-account-shell-body .zt-account-form-actions {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-hotel-search-panel,
    body:not(.zt-admin-body) .zt-ride-search,
    body:not(.zt-admin-body) .zt-booking-panel,
    body:not(.zt-admin-body) .zt-auth-card,
    body:not(.zt-admin-body) .zt-checkout-card,
    body:not(.zt-admin-body) .zt-payment-card,
    body:not(.zt-admin-body) .flight-result-card,
    body.zt-account-shell-body .zt-account-form-panel,
    body.zt-account-shell-body .zt-account-bookings-panel,
    body.zt-account-shell-body .zt-account-booking-panel,
    body.zt-account-shell-body .zt-account-security-panel,
    body.zt-account-shell-body .zt-account-traveler-form-panel,
    body.zt-account-shell-body .zt-account-traveler-list-panel {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 20px !important;
    }

    body:not(.zt-admin-body) .zt-hotel-result-media,
    body:not(.zt-admin-body) .zt-hotel-media,
    body:not(.zt-admin-body) .zt-room-media,
    body:not(.zt-admin-body) .zt-ride-media,
    body:not(.zt-admin-body) .zt-private-aircraft-media,
    body:not(.zt-admin-body) .zt-charter-aircraft-media,
    body:not(.zt-admin-body) .zt-destination-media,
    body:not(.zt-admin-body) .zt-deal-media {
        aspect-ratio: 16 / 10 !important;
    }

    body:not(.zt-admin-body) .flight-result-header,
    body:not(.zt-admin-body) .flight-price-section,
    body:not(.zt-admin-body) .flight-card-footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 14px !important;
    }

    body:not(.zt-admin-body) .flight-select-btn {
        min-width: 168px !important;
        width: auto !important;
    }

    body:not(.zt-admin-body) .flight-price-meta {
        justify-content: flex-end !important;
    }

    body:not(.zt-admin-body) .flight-journeys-round-trip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .route-timeline {
        grid-template-columns: minmax(78px, 112px) minmax(110px, 1fr) minmax(78px, 112px) !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .airport-name,
    body:not(.zt-admin-body) .journey-carrier-line span,
    body:not(.zt-admin-body) .journey-carrier-line em {
        overflow-wrap: anywhere;
    }

    body:not(.zt-admin-body) .zt-footer-upgraded {
        padding-bottom: calc(124px + env(safe-area-inset-bottom)) !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-hotel-search-form,
    body:not(.zt-admin-body) .zt-ride-search form,
    body:not(.zt-admin-body) .zt-card-form-grid,
    body:not(.zt-admin-body) .zt-proof-form,
    body:not(.zt-admin-body) .flight-result-header,
    body:not(.zt-admin-body) .flight-price-section,
    body:not(.zt-admin-body) .flight-card-footer,
    body.zt-account-shell-body .zt-account-form,
    body.zt-account-shell-body .zt-account-security-form {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-route-pair,
    body:not(.zt-admin-body) .zt-results-market-row,
    body:not(.zt-admin-body) .zt-results-airports,
    body:not(.zt-admin-body) .zt-private-request-route-pair,
    body:not(.zt-admin-body) .zt-charter-route-pair,
    body:not(.zt-admin-body) .zt-ride-summary-route {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-private-route-swap-wrap {
        justify-self: center !important;
        align-self: center !important;
    }

    body:not(.zt-admin-body) .flight-select-btn,
    body:not(.zt-admin-body) .flight-result-card .flight-details-link {
        width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .flight-price-meta {
        justify-content: flex-start !important;
    }

    body:not(.zt-admin-body) .flight-journeys-round-trip,
    body:not(.zt-admin-body) .zt-hotel-results-grid,
    body:not(.zt-admin-body) .zt-hotels-grid,
    body:not(.zt-admin-body) .zt-room-grid,
    body:not(.zt-admin-body) .zt-rides-grid,
    body:not(.zt-admin-body) .zt-private-aircraft-grid,
    body:not(.zt-admin-body) .zt-charter-aircraft-grid,
    body:not(.zt-admin-body) .zt-destinations-grid,
    body:not(.zt-admin-body) .zt-destinations-page-grid,
    body:not(.zt-admin-body) .zt-destination-hotel-grid,
    body:not(.zt-admin-body) .zt-deals-grid,
    body:not(.zt-admin-body) .zt-crypto-choice-grid,
    body.zt-account-shell-body .zt-account-summary-strip,
    body.zt-account-shell-body .zt-account-action-grid,
    body.zt-account-shell-body .zt-account-detail-grid,
    body.zt-account-shell-body .zt-account-form-grid {
        grid-template-columns: 1fr !important;
    }
}
/* End iPad and tablet public visibility pass */
/* One-way and multi-city same-row date alignment */
@media (min-width: 768px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) 148px !important;
        align-items: end !important;
        column-gap: 8px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        display: contents !important;
        width: auto !important;
        max-width: none !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field:first-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field:first-child {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-route-swap-wrap,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-route-swap-wrap {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: center !important;
        transform: none !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field:last-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field:last-child {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        grid-column: 4 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: start !important;
        width: 148px !important;
        max-width: 148px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair.is-one-way,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair.is-one-way {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field,
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        min-width: 0 !important;
        position: relative !important;
        z-index: 9 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-passenger-field {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-cabin-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-currency-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-currency-field {
        grid-column: 4 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-submit-wrap,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 68px minmax(0, 1fr) minmax(0, 1fr) 148px !important;
        align-items: end !important;
        column-gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment .zt-segment-number,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment .zt-segment-number {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment > .zt-airport-field:nth-of-type(1),
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment > .zt-airport-field:nth-of-type(2),
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-date-field {
        grid-column: 4 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: start !important;
        width: 148px !important;
        max-width: 148px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) 142px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-date-field {
        width: 142px !important;
        max-width: 142px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr) 142px !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-currency-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-currency-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-submit-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-date-field {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Flight form date picker and compact submit polish */
.zt-flight-engine .zt-date-field .form-label,
.zt-flight-engine .zt-date-input-shell,
.zt-flight-engine .zt-date-input-shell .form-control {
    cursor: pointer !important;
}

.zt-flight-engine .zt-date-field > i {
    pointer-events: none !important;
}

@media (min-width: 768px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-submit-wrap,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        align-self: end !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: max-content !important;
        max-width: 100% !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-submit,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-submit {
        width: auto !important;
        min-width: 168px !important;
        max-width: max-content !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-submit-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-submit-wrap,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-submit,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-submit {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Flight visible return and top-layer dropdown finish */
@media (min-width: 768px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) 148px 148px !important;
        align-items: end !important;
        column-gap: 8px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair,
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        display: contents !important;
        width: auto !important;
        max-width: none !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field:first-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field:first-child {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-route-swap-wrap,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-route-swap-wrap {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: center !important;
        transform: none !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > .zt-airport-field:last-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > .zt-airport-field:last-child {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field:first-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field:first-child {
        grid-column: 4 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: start !important;
        width: 148px !important;
        max-width: 148px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field] {
        display: block !important;
        grid-column: 5 !important;
        grid-row: 1 !important;
        align-self: end !important;
        justify-self: start !important;
        width: 148px !important;
        max-width: 148px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-passenger-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-passenger-field {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-cabin-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-cabin-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-currency-field,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-currency-field {
        grid-column: 4 / 6 !important;
        grid-row: 2 !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-submit-wrap,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: max-content !important;
        max-width: 100% !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-submit,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-submit {
        width: auto !important;
        min-width: 168px !important;
        max-width: max-content !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) 138px 138px !important;
    }

    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field:first-child,
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field:first-child,
    .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field] {
        width: 138px !important;
        max-width: 138px !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field] {
        display: block !important;
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

.zt-flight-search-panel:has(.zt-flag-select.is-open),
.zt-flight-search-panel:has(.zt-passenger-field.is-open),
.zt-flight-engine:has(.zt-flag-select.is-open),
.zt-flight-engine:has(.zt-passenger-field.is-open) {
    position: relative !important;
    z-index: 65000 !important;
}

.zt-flight-engine .zt-flight-field.is-picker-active,
.zt-flight-engine .zt-airport-field.is-picker-active,
.zt-flight-engine .zt-passenger-field.is-picker-active,
.zt-flight-engine .zt-cabin-field.is-picker-active,
.zt-flight-engine .zt-currency-field.is-picker-active,
.zt-flight-engine .zt-flight-field:has(.zt-flag-select.is-open),
.zt-flight-engine .zt-airport-field:has(.zt-airport-picker.is-open) {
    position: relative !important;
    z-index: 70000 !important;
    overflow: visible !important;
}

.zt-flight-engine .zt-flag-select.is-open,
.zt-flight-engine .zt-airport-picker.is-open,
.zt-flight-engine .zt-passenger-field.is-open {
    z-index: 70010 !important;
}

.zt-flight-engine .zt-flag-select-menu,
.zt-flight-engine .zt-airport-picker .zt-flag-select-menu,
.zt-flight-engine .zt-passenger-menu {
    z-index: 70020 !important;
}

.zt-flight-engine .zt-flag-select.is-menu-up .zt-flag-select-menu,
.zt-flight-engine .zt-airport-picker.is-menu-up .zt-flag-select-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-flag-select.is-menu-down .zt-flag-select-menu,
.zt-flight-engine .zt-airport-picker.is-menu-down .zt-flag-select-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}

.zt-flight-engine .zt-passenger-field.is-menu-up .zt-passenger-menu {
    top: auto !important;
    bottom: calc(100% + 7px) !important;
}

.zt-flight-engine .zt-passenger-field.is-menu-down .zt-passenger-menu {
    top: calc(100% + 7px) !important;
    bottom: auto !important;
}
/* Flight dropdown clipping guard */
.zt-flight-engine,
.zt-flight-engine .zt-flight-search-panel,
.zt-flight-engine .zt-flight-search-form,
.zt-flight-engine .zt-flight-search-grid,
.zt-flight-engine .zt-flight-route-pair,
.zt-flight-engine .zt-flight-date-pair,
.zt-flight-engine .zt-flight-field,
.zt-flight-engine .zt-airport-field {
    overflow: visible !important;
}

.zt-flight-engine .zt-flight-search-panel:has(.zt-airport-picker.is-open),
.zt-flight-engine .zt-flight-search-form:has(.zt-airport-picker.is-open),
.zt-flight-engine .zt-flight-search-grid:has(.zt-airport-picker.is-open),
.zt-flight-engine .zt-flight-search-panel:has(.zt-flag-select.is-open),
.zt-flight-engine .zt-flight-search-form:has(.zt-flag-select.is-open),
.zt-flight-engine .zt-flight-search-grid:has(.zt-flag-select.is-open) {
    position: relative !important;
    z-index: 71000 !important;
}

.zt-flight-engine .zt-airport-picker.is-open .zt-flag-select-menu,
.zt-flight-engine .zt-flag-select.is-open .zt-flag-select-menu,
.zt-flight-engine .zt-passenger-field.is-open .zt-passenger-menu {
    position: absolute !important;
    z-index: 71100 !important;
}
/* Flight From/To airport picker top layer only */
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-navbar {
    z-index: 1200 !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) main,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-panel,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-form,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-route-pair {
    position: relative !important;
    z-index: 90000 !important;
    overflow: visible !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid > .zt-passenger-field,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid > .zt-cabin-field,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid > .zt-currency-field,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid > .zt-flight-submit-wrap {
    position: relative !important;
    z-index: 1 !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-field:has(.zt-airport-picker.is-open),
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-field.is-picker-active,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-picker.is-open {
    position: relative !important;
    z-index: 92000 !important;
    overflow: visible !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-picker.is-open .zt-flag-select-menu {
    position: absolute !important;
    z-index: 93000 !important;
}
/* Keep flight From/To picker above navbar when it opens upward */
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-navbar {
    z-index: 90000 !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) main,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-panel,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-form,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-route-pair {
    position: relative !important;
    z-index: 110000 !important;
    overflow: visible !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-picker.is-open .zt-flag-select-menu {
    z-index: 112000 !important;
}
/* Flight airport menu above navbar without lifting the whole form */
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) main,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-panel,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-form,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-search-grid,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-route-pair {
    z-index: auto !important;
    overflow: visible !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-navbar {
    z-index: 100000 !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-field:has(.zt-airport-picker.is-open),
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-field.is-picker-active,
body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-picker.is-open {
    position: relative !important;
    z-index: 100100 !important;
    overflow: visible !important;
}

body:not(.zt-admin-body):has(.zt-flight-engine .zt-airport-picker.is-open) .zt-flight-engine .zt-airport-picker.is-open .zt-flag-select-menu {
    position: absolute !important;
    z-index: 100200 !important;
}
/* Index responsive finish: tablet and mobile only */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body):has(.zt-home-hero) {
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero {
        min-height: auto !important;
        padding-top: clamp(104px, 11vw, 128px) !important;
        padding-bottom: clamp(164px, 19vw, 218px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content {
        width: min(720px, 100%) !important;
        max-width: 100% !important;
        transform: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content h1 {
        max-width: 100% !important;
        font-size: clamp(38px, 6vw, 58px) !important;
        line-height: 1.02 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content p {
        max-width: 580px !important;
        font-size: clamp(14px, 1.75vw, 17px) !important;
        line-height: 1.45 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero + .zt-booking-shell {
        margin-top: clamp(-156px, -14vw, -112px) !important;
        padding-bottom: 18px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel {
        max-width: 100% !important;
        border-radius: 22px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 10px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs .nav-item,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs .nav-link {
        min-width: 0 !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs .nav-link {
        justify-content: center !important;
        min-height: 44px !important;
        padding: 10px 8px !important;
        border-radius: 13px !important;
        font-size: 11.5px !important;
        line-height: 1.12 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body {
        padding: clamp(16px, 2.5vw, 22px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trip-toggle label {
        display: inline-flex !important;
        justify-content: center !important;
        min-width: 0 !important;
        padding: 10px 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-1,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-2,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-3,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-4,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-5,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-6,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-8 {
        grid-column: auto !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-col-12,
    body:not(.zt-admin-body):has(.zt-home-hero) #jets-pane .zt-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #charter-pane .zt-route-pair {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) #jets-pane .zt-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #charter-pane .zt-route-pair {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section {
        padding-top: clamp(42px, 5vw, 64px) !important;
        padding-bottom: clamp(44px, 5vw, 70px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: end !important;
        gap: 16px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head .btn,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-action,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-destination-view-all {
        justify-self: end !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-card {
        gap: 12px !important;
        padding: 18px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-footer,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-actions,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-hotel-footer,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-deal-footer {
        min-width: 0 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-feature-panel,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-cta {
        border-radius: 22px !important;
        padding: clamp(22px, 4vw, 34px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trust-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-phone {
        max-width: 330px !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-phone-screen {
        min-height: 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .tab-pane .zt-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #jets-pane .zt-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #charter-pane .zt-route-pair {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-route-pair > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-route-pair > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > * {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-swap-wrap {
        justify-self: center !important;
        align-self: center !important;
        min-height: 38px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head .btn,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-action,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-destination-view-all {
        justify-self: start !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body):has(.zt-home-hero) {
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero {
        min-height: auto !important;
        padding-top: clamp(82px, 18vw, 106px) !important;
        padding-bottom: clamp(96px, 24vw, 128px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content {
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content h1 {
        max-width: 100% !important;
        font-size: clamp(28px, 9vw, 38px) !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-content p {
        max-width: 100% !important;
        margin-top: 8px !important;
        font-size: 13.5px !important;
        line-height: 1.45 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-hero-flight-layer {
        opacity: .52 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero + .zt-booking-shell {
        margin-top: -78px !important;
        padding-bottom: 10px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel {
        border-radius: 18px !important;
        overflow: visible !important;
        box-shadow: 0 22px 54px rgba(11, 31, 58, .16) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs {
        display: flex !important;
        gap: 7px !important;
        padding: 9px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x proximity !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs .nav-link {
        min-width: 116px !important;
        justify-content: center !important;
        min-height: 42px !important;
        padding: 9px 10px !important;
        border-radius: 13px !important;
        font-size: 11.5px !important;
        scroll-snap-align: start !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body {
        padding: 14px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trip-toggle label {
        justify-content: center !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .zt-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #jets-pane .zt-route-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) #charter-pane .zt-route-pair {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .zt-grid > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-grid > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-route-pair > *,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair > * {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-swap-wrap {
        justify-self: center !important;
        align-self: center !important;
        min-height: 38px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-swap-btn {
        position: static !important;
        transform: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-search-submit,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-panel .btn[type="submit"] {
        width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section {
        padding-top: 34px !important;
        padding-bottom: 38px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-head .btn,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-section-action,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-destination-view-all {
        justify-self: stretch !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-card {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-line {
        display: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-route-actions,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-hotel-footer,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-deal-footer,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-cta-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-feature-panel,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-cta {
        border-radius: 18px !important;
        padding: 18px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-trust-grid,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-why-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-phone {
        max-width: min(330px, 100%) !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-live-chat,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-live-chat .zt-chat-launcher,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-live-chat.is-open .zt-chat-launcher {
        left: auto !important;
        top: auto !important;
        right: 12px !important;
        bottom: calc(88px + env(safe-area-inset-bottom)) !important;
        transform: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-live-chat.is-open .zt-chat-panel {
        left: 10px !important;
        right: 10px !important;
        top: 76px !important;
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media (max-width: 420px) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs .nav-link {
        min-width: 104px !important;
        font-size: 11px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body {
        padding: 12px !important;
    }
}
/* iPad flight date pair: keep Departure and Return side by side */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }
}
/* iPad flight date inputs: fit inside their two-column containers */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > [data-return-field] {
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 10px !important;
        padding-right: 7px !important;
        font-size: 13.5px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control::-webkit-calendar-picker-indicator {
        width: 16px !important;
        height: 16px !important;
        margin-left: 4px !important;
        margin-right: 0 !important;
    }
}
/* Responsive date/time picker icons hidden, picker still opens on tap */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-field:has(input[type="date"]) > i,
    body:not(.zt-admin-body) .zt-field:has(input[type="time"]) > i,
    body:not(.zt-admin-body) .zt-date-field > i,
    body:not(.zt-admin-body) .zt-time-field > i,
    body.zt-account-shell-body .zt-field:has(input[type="date"]) > i,
    body.zt-account-shell-body .zt-field:has(input[type="time"]) > i,
    body.zt-account-shell-body .zt-date-field > i,
    body.zt-account-shell-body .zt-time-field > i {
        display: none !important;
    }

    body:not(.zt-admin-body) input[type="date"],
    body:not(.zt-admin-body) input[type="time"],
    body.zt-account-shell-body input[type="date"],
    body.zt-account-shell-body input[type="time"] {
        cursor: pointer !important;
        padding-right: 12px !important;
    }

    body:not(.zt-admin-body) input[type="date"]::-webkit-calendar-picker-indicator,
    body:not(.zt-admin-body) input[type="time"]::-webkit-calendar-picker-indicator,
    body.zt-account-shell-body input[type="date"]::-webkit-calendar-picker-indicator,
    body.zt-account-shell-body input[type="time"]::-webkit-calendar-picker-indicator {
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body:not(.zt-admin-body) .zt-date-input-shell .form-control,
    body:not(.zt-admin-body) .zt-time-input-shell .form-control,
    body.zt-account-shell-body .zt-date-input-shell .form-control,
    body.zt-account-shell-body .zt-time-input-shell .form-control {
        padding-right: 12px !important;
    }
}
/* Responsive flight dates: compact to date text width */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair {
        display: grid !important;
        grid-template-columns: repeat(2, max-content) !important;
        justify-content: start !important;
        align-items: end !important;
        gap: 10px !important;
        width: auto !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > [data-return-field] {
        width: 132px !important;
        max-width: 132px !important;
        min-width: 0 !important;
        justify-self: start !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell {
        width: 132px !important;
        max-width: 132px !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
        min-width: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-align: left !important;
    }
}

@media (max-width: 359.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair {
        grid-template-columns: 1fr !important;
    }
}

/* iPad flight controls close spacing finish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form {
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-grid {
        row-gap: 8px !important;
        column-gap: 8px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field {
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .form-label,
    body:not(.zt-admin-body) .zt-flight-engine .zt-date-field .form-label {
        margin-bottom: 3px !important;
        font-size: 10.25px !important;
        line-height: 1.05 !important;
        letter-spacing: .045em !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-engine .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-date-input-shell .form-control {
        min-height: 48px !important;
        height: 48px !important;
        border-radius: 11px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-engine .zt-date-input-shell .form-control {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-size: 12.5px !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair {
        gap: 7px !important;
        align-items: end !important;
        justify-content: start !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control {
        padding-left: 9px !important;
        padding-right: 9px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-passenger-toggle {
        gap: 7px !important;
        padding: 7px 9px 7px 38px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-passenger-toggle strong {
        min-width: 48px !important;
        padding: 6px 8px !important;
        font-size: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-flight-search-grid {
        grid-template-columns: repeat(24, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-flight-date-pair {
        grid-column: span 12 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-roundtrip .zt-currency-field {
        grid-column: span 8 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) 124px 124px !important;
        row-gap: 8px !important;
        column-gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field:first-child,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field:first-child,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field] {
        width: 124px !important;
        max-width: 124px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-passenger-field {
        grid-column: 1 / 3 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-cabin-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-currency-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-currency-field {
        grid-column: 4 / 6 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-multicity-segment,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment {
        grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 124px !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }
}

@media (min-width: 768px) and (max-width: 839.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) 118px 118px !important;
        column-gap: 7px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > .zt-date-field:first-child,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > .zt-date-field:first-child,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-oneway .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.is-multicity .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 118px !important;
        max-width: 118px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 118px !important;
        max-width: 118px !important;
    }
}
/* Responsive-only flight search rebuild */
.zt-flight-responsive-shell {
    display: none;
}

@media (min-width: 1200px) {
    .zt-flight-desktop-shell {
        display: block;
    }
}

@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-desktop-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell {
        display: block !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs {
        display: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body {
        padding: 0 !important;
        background: transparent !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body > .tab-pane:not(#flights-pane) {
        display: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body > #flights-pane {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab {
        display: grid !important;
        place-items: center !important;
        gap: 4px !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 8px 5px !important;
        border: 1px solid rgba(203, 216, 232, .9) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .92) !important;
        color: #36506d !important;
        box-shadow: 0 8px 20px rgba(17, 42, 74, .08) !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab.is-active {
        border-color: rgba(15, 95, 197, .24) !important;
        background: #0f5fc5 !important;
        color: #fff !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab i {
        display: grid !important;
        place-items: center !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        border-radius: 9px !important;
        background: rgba(15, 95, 197, .1) !important;
        color: #0f5fc5 !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab.is-active i {
        background: rgba(255, 255, 255, .2) !important;
        color: #fff !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab span {
        display: block !important;
        max-width: 100% !important;
        color: inherit !important;
        font-size: 10.25px !important;
        font-weight: 850 !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-card {
        position: relative !important;
        overflow: visible !important;
        padding: 13px !important;
        border: 1px solid rgba(202, 216, 233, .9) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 18px 48px rgba(15, 42, 74, .14) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
        padding-bottom: 10px !important;
        border-bottom: 1px solid rgba(213, 224, 238, .86) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        color: #526982 !important;
        font-size: 11px !important;
        font-weight: 850 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary span i {
        display: grid !important;
        place-items: center !important;
        width: 26px !important;
        height: 26px !important;
        border-radius: 10px !important;
        background: #eaf3ff !important;
        color: #0f5fc5 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary strong {
        min-width: 0 !important;
        color: #12223a !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-search-head {
        display: grid !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border-radius: 14px !important;
        background: #edf4fc !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-trip-toggle label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: 34px !important;
        padding: 6px 5px !important;
        border-radius: 11px !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-trip-toggle input:checked + label {
        background: #0f5fc5 !important;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(15, 95, 197, .2) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-search-note.zt-flight-helper {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 7px 9px !important;
        border-radius: 12px !important;
        background: #f6f9fd !important;
        color: #516882 !important;
        font-size: 11.25px !important;
        line-height: 1.25 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-route-pair > * {
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-route-swap-wrap {
        display: flex !important;
        align-items: end !important;
        justify-content: center !important;
        min-height: 52px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-swap-btn {
        position: static !important;
        width: 38px !important;
        height: 38px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: span 3 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-field {
        grid-column: span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-currency-field {
        grid-column: span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
        width: auto !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 148px !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 18px !important;
        border-radius: 12px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field {
        position: relative !important;
        margin: 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-label {
        display: block !important;
        margin: 0 0 4px !important;
        color: #526982 !important;
        font-size: 10.25px !important;
        font-weight: 900 !important;
        letter-spacing: .05em !important;
        line-height: 1.05 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field > i {
        top: 33px !important;
        left: 12px !important;
        color: #0f5fc5 !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
        border-radius: 12px !important;
        border-color: #cad8e8 !important;
        background-color: #fff !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell .form-control {
        padding: 8px 10px 8px 36px !important;
        font-weight: 850 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell .form-control {
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-field > i {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-airport-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flag-select-button {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 6px 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flag-badge {
        flex: 0 0 25px !important;
        width: 25px !important;
        height: 25px !important;
        min-width: 25px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flag-value {
        min-width: 0 !important;
        gap: 1px !important;
        line-height: 1.08 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-picker-airport-code {
        font-size: 12.5px !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-picker-airport-name {
        overflow: hidden !important;
        max-width: 100% !important;
        font-size: 10.25px !important;
        line-height: 1.1 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-toggle {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 7px 9px 7px 36px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-toggle span {
        overflow: hidden !important;
        min-width: 0 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-toggle strong {
        flex: 0 0 auto !important;
        min-width: 46px !important;
        padding: 6px 8px !important;
        border-radius: 999px !important;
        background: #eaf3ff !important;
        color: #0f5fc5 !important;
        font-size: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-menu {
        width: 100% !important;
        min-width: 100% !important;
        max-width: min(560px, calc(100vw - 24px)) !important;
        z-index: 120000 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-panel {
        display: none !important;
        margin-top: 0 !important;
        padding: 10px !important;
        border: 1px solid #dbe6f2 !important;
        border-radius: 15px !important;
        background: #f7faff !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-head {
        gap: 3px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-head strong {
        font-size: 12.5px !important;
        line-height: 1.15 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-head span {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 118px !important;
        gap: 8px !important;
        align-items: end !important;
        padding: 9px !important;
        border-radius: 13px !important;
        background: #fff !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 118px !important;
        max-width: 118px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-segment-number {
        align-self: end !important;
        margin-bottom: 0 !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-services {
        display: flex !important;
        gap: 7px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-bottom: 2px !important;
        scroll-snap-type: x proximity !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services::-webkit-scrollbar {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-services .zt-flight-service-tab {
        flex: 0 0 72px !important;
        min-height: 58px !important;
        scroll-snap-align: start !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-card {
        padding: 11px !important;
        border-radius: 17px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary {
        margin-bottom: 8px !important;
        padding-bottom: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form {
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-trip-toggle label {
        min-height: 32px !important;
        padding: 5px 4px !important;
        font-size: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-search-note.zt-flight-helper {
        padding: 6px 8px !important;
        font-size: 10.75px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-route-swap-wrap {
        min-height: 50px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-swap-btn {
        width: 34px !important;
        height: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-currency-field {
        grid-column: span 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-date-input-shell .form-control {
        min-height: 46px !important;
        height: 46px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-submit-wrap {
        display: flex !important;
        justify-content: flex-end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-search-submit {
        min-width: 136px !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 16px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment .zt-segment-number,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-segment-remove {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 389.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-route-pair {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-route-swap-wrap {
        justify-content: center !important;
        min-height: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-form .zt-flight-swap-btn {
        transform: rotate(90deg) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 5px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-summary strong {
        text-align: left !important;
    }
}
/* Responsive flight dates side by side finish */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 339.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        gap: 6px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell .form-control {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 11px !important;
    }
}

/* Responsive flight From/To field nudge */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child {
        transform: translateY(8px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: translateY(-18px) !important;
    }
}
/* iPad responsive flight search finish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell {
        max-width: 1040px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services .zt-flight-service-tab {
        min-height: 54px !important;
        padding: 8px 7px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services .zt-flight-service-tab span {
        font-size: 10.75px !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-card {
        padding: 15px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form {
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-head {
        grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr) !important;
        align-items: center !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-trip-toggle {
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-search-note.zt-flight-helper {
        align-self: stretch !important;
        justify-content: center !important;
        min-width: 0 !important;
        padding: 7px 10px !important;
        font-size: 11px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-route-swap-wrap {
        min-height: 51px !important;
        align-items: end !important;
        justify-content: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-swap-btn {
        width: 40px !important;
        height: 40px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 152px !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell .form-control {
        min-height: 50px !important;
        height: 50px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-picker-airport-name {
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment {
        grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr) 132px !important;
        gap: 9px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-head {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-grid {
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 7 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 10 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment {
        grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr) 124px !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }
}
/* iPad flight date equal-width visibility finish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell {
        width: 100% !important;
        max-width: min(1040px, calc(100vw - 28px)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-card {
        background: #ffffff !important;
        border: 1px solid rgba(176, 197, 222, .95) !important;
        box-shadow: 0 20px 52px rgba(15, 42, 74, .18) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-content: stretch !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        padding-left: 9px !important;
        padding-right: 9px !important;
        font-size: 12px !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        width: 100% !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap .zt-flight-search-submit {
        justify-self: end !important;
        width: auto !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle {
        border-color: #b8cbe0 !important;
        box-shadow: 0 7px 18px rgba(24, 55, 89, .08) !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }
}
/* iPad compact flight date pair finish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 132px)) !important;
        gap: 8px !important;
        width: 272px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: start !important;
        justify-content: start !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field] {
        width: 132px !important;
        max-width: 132px !important;
        min-width: 0 !important;
        justify-self: start !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-template-columns: repeat(2, minmax(0, 122px)) !important;
        width: 252px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 122px !important;
        max-width: 122px !important;
    }
}
/* iPad flight search clean redesign final */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(1060px, calc(100vw - 40px)) !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services .zt-flight-service-tab {
        min-height: 56px !important;
        padding: 8px 6px !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 22px rgba(17, 42, 74, .08) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services .zt-flight-service-tab i {
        width: 25px !important;
        height: 25px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-services .zt-flight-service-tab span {
        font-size: 10.75px !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-card {
        padding: 16px !important;
        border: 1px solid rgba(169, 193, 220, .98) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 22px 56px rgba(15, 42, 74, .2) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-summary {
        align-items: center !important;
        flex-direction: row !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        padding-bottom: 11px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-summary span {
        font-size: 11px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-summary strong {
        font-size: 13px !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form {
        display: grid !important;
        gap: 11px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(260px, .66fr) !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-trip-toggle label {
        min-height: 34px !important;
        padding: 6px 5px !important;
        border-radius: 11px !important;
        font-size: 10.75px !important;
        line-height: 1.08 !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-search-note.zt-flight-helper {
        align-self: stretch !important;
        justify-content: center !important;
        min-height: 42px !important;
        max-width: none !important;
        padding: 7px 10px !important;
        border: 1px solid rgba(204, 219, 236, .95) !important;
        border-radius: 13px !important;
        background: #f7faff !important;
        font-size: 11px !important;
        line-height: 1.22 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-route-swap-wrap {
        display: flex !important;
        align-items: end !important;
        justify-content: center !important;
        min-height: 52px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-swap-btn {
        position: static !important;
        width: 40px !important;
        height: 40px !important;
        transform: none !important;
        box-shadow: 0 10px 22px rgba(15, 95, 197, .18) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 5 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: min(340px, 100%) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: start !important;
        justify-content: start !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 6 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 10 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 152px !important;
        max-width: 100% !important;
        min-height: 48px !important;
        height: 48px !important;
        padding: 0 18px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field {
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-label {
        margin: 0 0 4px !important;
        font-size: 10.25px !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-date-input-shell .form-control {
        min-height: 50px !important;
        height: 50px !important;
        border-color: #b8cbe0 !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 20px rgba(24, 55, 89, .08) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-menu {
        z-index: 130000 !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell {
        max-width: min(820px, calc(100vw - 28px)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-head {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-search-grid {
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-route-pair {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        width: min(316px, 100%) !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }
}
/* iPad compact date fields final authority */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: 126px 126px !important;
        gap: 8px !important;
        width: 260px !important;
        max-width: 260px !important;
        min-width: 0 !important;
        justify-self: start !important;
        justify-content: start !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 126px !important;
        max-width: 126px !important;
        min-width: 0 !important;
        justify-self: start !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 126px !important;
        max-width: 126px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 11.5px !important;
        line-height: 1 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair {
        grid-template-columns: 118px 118px !important;
        width: 244px !important;
        max-width: 244px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 118px !important;
        max-width: 118px !important;
    }

    body:not(.zt-admin-body) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-responsive-shell .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 11px !important;
    }
}
/* iPad-only flight search rebuild: keeps desktop and phone layouts untouched */
body:not(.zt-admin-body) .zt-flight-ipad-shell {
    display: none;
}

@media (min-width: 1200px), (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-ipad-shell {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine {
        width: 100% !important;
        max-width: min(100%, 1080px) !important;
        margin-inline: auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 44px)) !important;
        margin: 0 auto !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 12 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab {
        display: flex !important;
        min-height: 58px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 8px 6px !important;
        border: 1px solid rgba(197, 214, 234, .94) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .94) !important;
        color: #234057 !important;
        text-decoration: none !important;
        box-shadow: 0 12px 26px rgba(22, 43, 67, .12) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab.is-active,
    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab:hover {
        border-color: rgba(26, 115, 232, .32) !important;
        background: #f3f8ff !important;
        color: #0f4fa8 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab i {
        display: inline-flex !important;
        width: 27px !important;
        height: 27px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 10px !important;
        background: #e8f2ff !important;
        color: #0f62c9 !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab span {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        color: inherit !important;
        font-size: 10.75px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-card {
        width: 100% !important;
        padding: 16px !important;
        border: 1px solid rgba(181, 201, 224, .95) !important;
        border-radius: 20px !important;
        background: #ffffff !important;
        box-shadow: 0 24px 58px rgba(19, 41, 66, .20) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 0 0 12px !important;
        padding: 0 0 11px !important;
        border-bottom: 1px solid rgba(218, 228, 241, .95) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-summary span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-width: 0 !important;
        color: #31516d !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-summary i {
        display: inline-flex !important;
        width: 26px !important;
        height: 26px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 10px !important;
        background: #0f62c9 !important;
        color: #fff !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-summary strong {
        min-width: 0 !important;
        color: #10263d !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(235px, .58fr) !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border: 1px solid rgba(204, 218, 235, .9) !important;
        border-radius: 14px !important;
        background: #f4f8fd !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle label {
        display: flex !important;
        min-height: 34px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 5px 4px !important;
        border-radius: 11px !important;
        color: #516a82 !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle input:checked + label {
        background: #ffffff !important;
        color: #0f4fa8 !important;
        box-shadow: 0 8px 18px rgba(17, 82, 158, .14) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-search-note.zt-flight-helper {
        display: flex !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(204, 218, 235, .9) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
        color: #49657d !important;
        font-size: 10.75px !important;
        font-weight: 750 !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-flight-route-pair > .zt-airport-field {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-route-swap-wrap {
        display: flex !important;
        min-height: 50px !important;
        align-items: end !important;
        justify-content: center !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-swap-btn {
        position: static !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        border: 1px solid rgba(182, 207, 235, .96) !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        color: #0f62c9 !important;
        box-shadow: 0 10px 22px rgba(15, 95, 197, .15) !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 154px !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 18px !important;
        border-radius: 13px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field {
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-label {
        display: block !important;
        margin: 0 0 5px !important;
        color: #38566e !important;
        font-size: 10.5px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field > i {
        top: 35px !important;
        left: 12px !important;
        color: #1d6ed1 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 50px !important;
        min-height: 50px !important;
        border-color: #b8ccdf !important;
        border-radius: 13px !important;
        background-color: #ffffff !important;
        box-shadow: 0 9px 20px rgba(24, 55, 89, .08) !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell {
        padding: 0 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        padding: 0 8px !important;
        color: #10263d !important;
        font-size: 11.5px !important;
        font-weight: 850 !important;
        line-height: 50px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        opacity: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-airport-picker .zt-flag-select-button {
        padding-right: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flag-select-value,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-toggle span,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-toggle strong {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-menu {
        z-index: 150000 !important;
        min-width: 100% !important;
        width: 100% !important;
        max-width: min(430px, calc(100vw - 48px)) !important;
        border-color: rgba(176, 197, 221, .95) !important;
        box-shadow: 0 24px 58px rgba(16, 42, 72, .24) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-airport-picker .zt-flag-select-menu {
        width: min(430px, calc(100vw - 48px)) !important;
        min-width: min(100%, 340px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        padding-top: 2px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(205, 219, 235, .9) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-head strong {
        color: #10263d !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-head span {
        max-width: 460px !important;
        color: #587088 !important;
        font-size: 10.75px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 132px 34px !important;
        gap: 9px !important;
        align-items: end !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .9) !important;
        border-radius: 16px !important;
        background: #fbfdff !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        margin: 0 !important;
        color: #31516d !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-segment-remove {
        width: 34px !important;
        height: 50px !important;
        align-self: end !important;
        border-radius: 12px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        max-width: min(100%, calc(100vw - 28px)) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-card {
        padding: 14px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-head {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-search-note.zt-flight-helper {
        justify-content: flex-start !important;
        min-height: 38px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-route-pair {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-swap-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 124px 32px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }
}

/* iPad-only flight date row authority */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-roundtrip .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-multicity .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-multicity .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        justify-content: stretch !important;
        align-items: end !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell .form-control,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-multicity .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form.is-multicity .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }
}

/* Large iPad landscape support without changing desktop mouse layouts */
@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 56px)) !important;
        margin: 0 auto !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 12 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab {
        display: flex !important;
        min-height: 58px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 8px 6px !important;
        border: 1px solid rgba(197, 214, 234, .94) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .94) !important;
        color: #234057 !important;
        text-decoration: none !important;
        box-shadow: 0 12px 26px rgba(22, 43, 67, .12) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab i {
        display: inline-flex !important;
        width: 27px !important;
        height: 27px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 10px !important;
        background: #e8f2ff !important;
        color: #0f62c9 !important;
        font-size: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-services .zt-flight-service-tab span {
        overflow: hidden !important;
        font-size: 10.75px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-card {
        width: 100% !important;
        padding: 16px !important;
        border: 1px solid rgba(181, 201, 224, .95) !important;
        border-radius: 20px !important;
        background: #ffffff !important;
        box-shadow: 0 24px 58px rgba(19, 41, 66, .20) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 0 0 12px !important;
        padding: 0 0 11px !important;
        border-bottom: 1px solid rgba(218, 228, 241, .95) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(250px, .52fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border: 1px solid rgba(204, 218, 235, .9) !important;
        border-radius: 14px !important;
        background: #f4f8fd !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle label {
        display: flex !important;
        min-height: 34px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 5px 4px !important;
        border-radius: 11px !important;
        color: #516a82 !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-trip-toggle input:checked + label {
        background: #ffffff !important;
        color: #0f4fa8 !important;
        box-shadow: 0 8px 18px rgba(17, 82, 158, .14) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-search-note.zt-flight-helper {
        display: flex !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(204, 218, 235, .9) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
        color: #49657d !important;
        font-size: 10.75px !important;
        font-weight: 750 !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-route-pair > .zt-airport-field {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-route-swap-wrap {
        display: flex !important;
        min-height: 50px !important;
        align-items: end !important;
        justify-content: center !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-swap-btn {
        position: static !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        color: #0f62c9 !important;
        box-shadow: 0 10px 22px rgba(15, 95, 197, .15) !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        align-items: end !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-date-pair > [data-return-field] {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-search-form.zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-label {
        margin: 0 0 5px !important;
        color: #38566e !important;
        font-size: 10.5px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        border-color: #b8ccdf !important;
        border-radius: 13px !important;
        background-color: #ffffff !important;
        box-shadow: 0 9px 20px rgba(24, 55, 89, .08) !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        padding: 0 8px !important;
        font-size: 11.5px !important;
        font-weight: 850 !important;
        line-height: 50px !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        opacity: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-passenger-menu {
        z-index: 150000 !important;
        min-width: 100% !important;
        width: 100% !important;
        max-width: min(430px, calc(100vw - 48px)) !important;
        box-shadow: 0 24px 58px rgba(16, 42, 72, .24) !important;
    }
}

/* iPad flight search visibility and bottom spacing polish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-booking-shell,
    body:not(.zt-admin-body) .zt-booking-shell .container-fluid,
    body:not(.zt-admin-body) .zt-booking-shell .zt-container,
    body:not(.zt-admin-body) .zt-booking-shell .zt-booking-panel.zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-booking-shell .zt-booking-body,
    body:not(.zt-admin-body) .zt-booking-shell .tab-content,
    body:not(.zt-admin-body) .zt-booking-shell .tab-pane,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-body {
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell {
        padding-bottom: clamp(34px, 5vw, 58px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel {
        margin-bottom: 28px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        margin-bottom: 24px !important;
        padding-bottom: 16px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-card {
        padding: 18px 18px 24px !important;
        background: rgba(255, 255, 255, .99) !important;
        border-color: rgba(159, 185, 214, .98) !important;
        box-shadow: 0 28px 68px rgba(17, 43, 73, .24) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form {
        gap: 14px !important;
        padding-bottom: 4px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-grid {
        row-gap: 14px !important;
        column-gap: 10px !important;
        padding-bottom: 4px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field {
        position: relative !important;
        z-index: 1 !important;
        padding-bottom: 2px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field:focus-within,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field.is-picker-active,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field.is-open {
        z-index: 35 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-label {
        margin-bottom: 6px !important;
        color: #263f55 !important;
        letter-spacing: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        border: 1.5px solid #a8bfd7 !important;
        background: #ffffff !important;
        color: #10263d !important;
        box-shadow: 0 10px 24px rgba(20, 50, 82, .10) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-control:focus,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-select:focus,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-flag-select-button:focus,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-passenger-toggle:focus {
        border-color: #0f62c9 !important;
        box-shadow: 0 0 0 3px rgba(15, 98, 201, .14), 0 12px 26px rgba(20, 50, 82, .12) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-submit-wrap {
        margin-top: 4px !important;
        padding-bottom: 2px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-submit {
        box-shadow: 0 16px 34px rgba(15, 98, 201, .25) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-multicity-panel.is-active {
        margin-top: 2px !important;
        padding-bottom: 12px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-ipad-card {
        padding: 16px 16px 22px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        margin-bottom: 22px !important;
        padding-bottom: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-grid {
        row-gap: 13px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-booking-shell,
    body:not(.zt-admin-body) .zt-booking-shell .zt-booking-panel.zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-booking-shell .zt-booking-body,
    body:not(.zt-admin-body) .zt-booking-shell .tab-content,
    body:not(.zt-admin-body) .zt-booking-shell .tab-pane,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-body {
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        margin-bottom: 24px !important;
        padding-bottom: 16px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-card {
        padding: 18px 18px 24px !important;
        background: rgba(255, 255, 255, .99) !important;
        border-color: rgba(159, 185, 214, .98) !important;
        box-shadow: 0 28px 68px rgba(17, 43, 73, .24) !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form {
        gap: 14px !important;
        padding-bottom: 4px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-search-grid {
        row-gap: 14px !important;
        padding-bottom: 4px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field {
        position: relative !important;
        z-index: 1 !important;
        padding-bottom: 2px !important;
    }

    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-ipad-form .zt-date-input-shell .form-control {
        border: 1.5px solid #a8bfd7 !important;
        background: #ffffff !important;
        color: #10263d !important;
        box-shadow: 0 10px 24px rgba(20, 50, 82, .10) !important;
    }
}

/* iPad homepage hero plane: carry the flight path to the top-right corner */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer {
        inset: 0 !important;
        opacity: .68 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-270px, -31vw, -150px) !important;
        top: clamp(350px, 58%, 470px) !important;
        width: clamp(240px, 38vw, 430px) !important;
        filter: drop-shadow(0 22px 26px rgba(0, 0, 0, .28)) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue {
        animation: ztHeroBlueIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        animation: ztHeroGreenIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    @keyframes ztHeroBlueIpadCornerFlyaway {
        0% { opacity: 0; transform: translate3d(-22vw, 1vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-8vw, -2vh, 0) rotate(-7deg) scale(.76); }
        18% { opacity: 1; transform: translate3d(38vw, -15vh, 0) rotate(-8deg) scale(.9); }
        32% { opacity: 1; transform: translate3d(86vw, -31vh, 0) rotate(-10deg) scale(1.02); }
        44% { opacity: .96; transform: translate3d(132vw, -44vh, 0) rotate(-11deg) scale(1.12); }
        50% { opacity: 0; transform: translate3d(154vw, -50vh, 0) rotate(-12deg) scale(1.18); }
        50.01%, 100% { opacity: 0; transform: translate3d(-22vw, 1vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenIpadCornerFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-22vw, 1vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-22vw, 1vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-8vw, -2vh, 0) rotate(-7deg) scale(.76); }
        70% { opacity: 1; transform: translate3d(38vw, -15vh, 0) rotate(-8deg) scale(.9); }
        84% { opacity: 1; transform: translate3d(86vw, -31vh, 0) rotate(-10deg) scale(1.02); }
        96% { opacity: .96; transform: translate3d(132vw, -44vh, 0) rotate(-11deg) scale(1.12); }
        100% { opacity: 0; transform: translate3d(154vw, -50vh, 0) rotate(-12deg) scale(1.18); }
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer {
        inset: 0 !important;
        opacity: .68 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-290px, -24vw, -170px) !important;
        top: clamp(360px, 56%, 500px) !important;
        width: clamp(250px, 31vw, 440px) !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue {
        animation: ztHeroBlueIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        animation: ztHeroGreenIpadCornerFlyaway 12s linear 0s infinite !important;
    }
}

/* iPad homepage hero plane correction: travel farther right before climbing out. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer {
        inset: 0 !important;
        opacity: .72 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue,
    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-270px, -31vw, -150px) !important;
        top: clamp(350px, 58%, 470px) !important;
        width: clamp(240px, 38vw, 430px) !important;
        filter: drop-shadow(0 22px 26px rgba(0, 0, 0, .28)) !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue {
        animation: ztHeroBlueIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        animation: ztHeroGreenIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    @keyframes ztHeroBlueIpadCornerFlyaway {
        0% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
        3% { opacity: 1; transform: translate3d(-6vw, 6vh, 0) rotate(-7deg) scale(.76); }
        18% { opacity: 1; transform: translate3d(34vw, -2vh, 0) rotate(-8deg) scale(.9); }
        34% { opacity: 1; transform: translate3d(78vw, -12vh, 0) rotate(-9deg) scale(1.02); }
        48% { opacity: 1; transform: translate3d(120vw, -24vh, 0) rotate(-10deg) scale(1.12); }
        58% { opacity: 0; transform: translate3d(154vw, -36vh, 0) rotate(-12deg) scale(1.18); }
        58.01%, 100% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
    }

    @keyframes ztHeroGreenIpadCornerFlyaway {
        0%, 51.99% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
        52% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
        55% { opacity: 1; transform: translate3d(-6vw, 6vh, 0) rotate(-7deg) scale(.76); }
        70% { opacity: 1; transform: translate3d(34vw, -2vh, 0) rotate(-8deg) scale(.9); }
        84% { opacity: 1; transform: translate3d(78vw, -12vh, 0) rotate(-9deg) scale(1.02); }
        96% { opacity: 1; transform: translate3d(120vw, -24vh, 0) rotate(-10deg) scale(1.12); }
        100% { opacity: 0; transform: translate3d(154vw, -36vh, 0) rotate(-12deg) scale(1.18); }
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer {
        inset: 0 !important;
        opacity: .72 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue,
    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        left: clamp(-290px, -24vw, -170px) !important;
        top: clamp(360px, 56%, 500px) !important;
        width: clamp(250px, 31vw, 440px) !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-blue {
        animation: ztHeroBlueIpadCornerFlyaway 12s linear 0s infinite !important;
    }

    body:not(.zt-admin-body) .zt-home-hero .zt-hero-flight-layer .zt-hero-plane-green {
        animation: ztHeroGreenIpadCornerFlyaway 12s linear 0s infinite !important;
    }
}

/* Shared iPad homepage hero plane keyframes for portrait and large iPad landscape. */
@keyframes ztHeroBlueIpadCornerFlyaway {
    0% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
    3% { opacity: 1; transform: translate3d(-6vw, 6vh, 0) rotate(-7deg) scale(.76); }
    18% { opacity: 1; transform: translate3d(34vw, -2vh, 0) rotate(-8deg) scale(.9); }
    34% { opacity: 1; transform: translate3d(78vw, -12vh, 0) rotate(-9deg) scale(1.02); }
    48% { opacity: 1; transform: translate3d(120vw, -24vh, 0) rotate(-10deg) scale(1.12); }
    58% { opacity: 0; transform: translate3d(154vw, -44vh, 0) rotate(-12deg) scale(1.18); }
    58.01%, 100% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
}

@keyframes ztHeroGreenIpadCornerFlyaway {
    0%, 51.99% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
    52% { opacity: 0; transform: translate3d(-22vw, 8vh, 0) rotate(-6deg) scale(.7); }
    55% { opacity: 1; transform: translate3d(-6vw, 6vh, 0) rotate(-7deg) scale(.76); }
    70% { opacity: 1; transform: translate3d(34vw, -2vh, 0) rotate(-8deg) scale(.9); }
    84% { opacity: 1; transform: translate3d(78vw, -12vh, 0) rotate(-9deg) scale(1.02); }
    96% { opacity: 1; transform: translate3d(120vw, -24vh, 0) rotate(-10deg) scale(1.12); }
    100% { opacity: 0; transform: translate3d(154vw, -44vh, 0) rotate(-12deg) scale(1.18); }
}

/* iPad-only public and customer bottom navigation polish */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler,
    body.zt-account-shell-body .zt-navbar .zt-toggler {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        position: fixed !important;
        right: clamp(22px, 4vw, 54px) !important;
        bottom: max(14px, env(safe-area-inset-bottom)) !important;
        left: clamp(22px, 4vw, 54px) !important;
        z-index: 33800 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: clamp(8px, 1.4vw, 16px) !important;
        align-items: center !important;
        width: auto !important;
        max-width: 880px !important;
        min-height: 78px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding: 11px clamp(16px, 2.8vw, 30px) !important;
        border: 1px solid rgba(181, 199, 220, .84) !important;
        border-radius: 30px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 249, 253, .96)) !important;
        box-shadow: 0 26px 80px rgba(5, 18, 35, .22), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
        backdrop-filter: blur(22px) saturate(145%) !important;
        -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        position: relative !important;
        display: grid !important;
        width: 100% !important;
        height: 56px !important;
        min-width: 0 !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 20px !important;
        background: rgba(241, 246, 251, .82) !important;
        color: #39536F !important;
        text-decoration: none !important;
        box-shadow: inset 0 0 0 1px rgba(177, 197, 219, .56) !important;
        transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        display: inline-grid !important;
        width: 32px !important;
        height: 32px !important;
        place-items: center !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link:hover,
    body:not(.zt-admin-body) .zt-mobile-bottom-link:focus-visible,
    body.zt-account-shell-body .zt-mobile-bottom-link:hover,
    body.zt-account-shell-body .zt-mobile-bottom-link:focus-visible {
        color: #0B4DA2 !important;
        background: #FFFFFF !important;
        box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .28), 0 12px 28px rgba(16, 48, 86, .12) !important;
        transform: translateY(-2px) !important;
        outline: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        box-shadow: 0 16px 34px rgba(15, 118, 110, .24), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
        transform: translateY(-2px) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active::after,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active::after {
        content: "" !important;
        position: absolute !important;
        right: 50% !important;
        bottom: 7px !important;
        width: 5px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .86) !important;
        transform: translateX(50%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-trigger,
    body.zt-account-shell-body .zt-mobile-account-trigger {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #111827 0%, #0B4DA2 52%, #0F766E 100%) !important;
        box-shadow: 0 18px 38px rgba(11, 77, 162, .24), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-trigger i,
    body.zt-account-shell-body .zt-mobile-account-trigger i {
        font-size: 25px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        right: auto !important;
        bottom: calc(108px + env(safe-area-inset-bottom)) !important;
        left: 50% !important;
        z-index: 33910 !important;
        width: min(480px, calc(100vw - 56px)) !important;
        padding: 14px !important;
        border-radius: 28px !important;
        border-color: rgba(181, 199, 220, .9) !important;
        box-shadow: 0 34px 100px rgba(5, 18, 35, .28) !important;
        transform: translateX(-50%) translateY(20px) scale(.98) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet.is-open,
    body.zt-account-shell-body .zt-mobile-account-sheet.is-open {
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-avatar,
    body.zt-account-shell-body .zt-mobile-sheet-avatar {
        width: 50px !important;
        height: 50px !important;
        flex-basis: 50px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a,
    body.zt-account-shell-body .zt-mobile-sheet-actions a {
        min-height: 50px !important;
        border-radius: 17px !important;
    }
}

/* Large iPad landscape keeps the same bottom dock without changing desktop mouse layouts. */
@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(114px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler,
    body.zt-account-shell-body .zt-navbar .zt-toggler {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        position: fixed !important;
        right: clamp(42px, 8vw, 160px) !important;
        bottom: max(16px, env(safe-area-inset-bottom)) !important;
        left: clamp(42px, 8vw, 160px) !important;
        z-index: 33800 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 18px !important;
        width: auto !important;
        max-width: 900px !important;
        min-height: 82px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding: 12px 32px !important;
        border: 1px solid rgba(181, 199, 220, .84) !important;
        border-radius: 32px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 249, 253, .96)) !important;
        box-shadow: 0 28px 86px rgba(5, 18, 35, .22), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
        backdrop-filter: blur(22px) saturate(145%) !important;
        -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        height: 58px !important;
        border-radius: 21px !important;
        background: rgba(241, 246, 251, .82) !important;
        color: #39536F !important;
        box-shadow: inset 0 0 0 1px rgba(177, 197, 219, .56) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        font-size: 23px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active,
    body:not(.zt-admin-body) .zt-mobile-account-trigger,
    body.zt-account-shell-body .zt-mobile-account-trigger {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        box-shadow: 0 18px 38px rgba(15, 118, 110, .24), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        bottom: calc(114px + env(safe-area-inset-bottom)) !important;
        width: min(500px, calc(100vw - 72px)) !important;
    }
}

/* iPad bottom nav account sheet visibility fix */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-mobile-nav-backdrop,
    body.zt-account-shell-body .zt-mobile-nav-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 33900 !important;
        background: rgba(5, 18, 35, .34) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop.is-open,
    body.zt-account-shell-body .zt-mobile-nav-backdrop.is-open {
        display: block !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop[hidden],
    body.zt-account-shell-body .zt-mobile-nav-backdrop[hidden] {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        display: grid !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-mobile-nav-backdrop,
    body.zt-account-shell-body .zt-mobile-nav-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 33900 !important;
        background: rgba(5, 18, 35, .34) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop.is-open,
    body.zt-account-shell-body .zt-mobile-nav-backdrop.is-open {
        display: block !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop[hidden],
    body.zt-account-shell-body .zt-mobile-nav-backdrop[hidden] {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        display: grid !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }
}

/* iPad account menu panel fix: show the sheet above the backdrop, not a blank overlay. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        position: fixed !important;
        top: auto !important;
        right: auto !important;
        bottom: calc(108px + env(safe-area-inset-bottom)) !important;
        left: 50% !important;
        z-index: 33920 !important;
        display: grid !important;
        width: min(480px, calc(100vw - 56px)) !important;
        max-height: calc(100dvh - 156px) !important;
        gap: 14px !important;
        padding: 14px !important;
        overflow: hidden !important;
        border: 1px solid rgba(181, 199, 220, .9) !important;
        border-radius: 28px !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFE 100%) !important;
        color: #172638 !important;
        box-shadow: 0 34px 100px rgba(5, 18, 35, .28), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateX(-50%) translateY(22px) scale(.98) !important;
        transition: opacity .22s ease, transform .22s ease !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet.is-open,
    body.zt-account-shell-body .zt-mobile-account-sheet.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head,
    body.zt-account-shell-body .zt-mobile-sheet-head {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-width: 0 !important;
        padding: 4px 4px 8px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head > div,
    body.zt-account-shell-body .zt-mobile-sheet-head > div {
        display: grid !important;
        min-width: 0 !important;
        gap: 3px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head strong,
    body.zt-account-shell-body .zt-mobile-sheet-head strong {
        overflow: hidden !important;
        color: #172638 !important;
        font-size: 16px !important;
        font-weight: 900 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head .zt-section-kicker,
    body.zt-account-shell-body .zt-mobile-sheet-head .zt-section-kicker {
        color: #0B5FD3 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-close,
    body.zt-account-shell-body .zt-mobile-sheet-close {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        margin-left: auto !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: #EEF5FC !important;
        color: #29425F !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions,
    body.zt-account-shell-body .zt-mobile-sheet-actions {
        display: grid !important;
        gap: 10px !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions::-webkit-scrollbar,
    body.zt-account-shell-body .zt-mobile-sheet-actions::-webkit-scrollbar {
        display: none !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        position: fixed !important;
        top: auto !important;
        right: auto !important;
        bottom: calc(114px + env(safe-area-inset-bottom)) !important;
        left: 50% !important;
        z-index: 33920 !important;
        display: grid !important;
        width: min(500px, calc(100vw - 72px)) !important;
        max-height: calc(100dvh - 164px) !important;
        gap: 14px !important;
        padding: 14px !important;
        overflow: hidden !important;
        border: 1px solid rgba(181, 199, 220, .9) !important;
        border-radius: 28px !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFE 100%) !important;
        color: #172638 !important;
        box-shadow: 0 34px 100px rgba(5, 18, 35, .28), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateX(-50%) translateY(22px) scale(.98) !important;
        transition: opacity .22s ease, transform .22s ease !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet.is-open,
    body.zt-account-shell-body .zt-mobile-account-sheet.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }
}

/* Mobile and iPad app bottom bar edge lock with upgraded account dropdown */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler,
    body.zt-account-shell-body .zt-navbar .zt-toggler {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        position: fixed !important;
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 33800 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: clamp(4px, 1.1vw, 12px) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
        min-height: calc(72px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        padding: 10px clamp(10px, 3.4vw, 42px) calc(10px + env(safe-area-inset-bottom)) !important;
        border: 0 !important;
        border-top: 1px solid rgba(181, 199, 220, .86) !important;
        border-radius: 24px 24px 0 0 !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .99) 0%, rgba(244, 249, 253, .98) 100%) !important;
        box-shadow: 0 -18px 52px rgba(5, 18, 35, .20), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        backdrop-filter: blur(22px) saturate(150%) !important;
        -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        position: relative !important;
        display: grid !important;
        width: 100% !important;
        height: 52px !important;
        min-width: 0 !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 18px !important;
        background: transparent !important;
        color: #46617D !important;
        text-decoration: none !important;
        box-shadow: none !important;
        transform: none !important;
        transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        display: inline-grid !important;
        width: 36px !important;
        height: 36px !important;
        place-items: center !important;
        border-radius: 15px !important;
        font-size: 21px !important;
        line-height: 1 !important;
        background: rgba(235, 243, 250, .72) !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .46) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link:hover,
    body:not(.zt-admin-body) .zt-mobile-bottom-link:focus-visible,
    body.zt-account-shell-body .zt-mobile-bottom-link:hover,
    body.zt-account-shell-body .zt-mobile-bottom-link:focus-visible {
        color: #0B4DA2 !important;
        background: rgba(255, 255, 255, .72) !important;
        outline: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active {
        color: #0B4DA2 !important;
        background: rgba(24, 119, 242, .08) !important;
        box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .14) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active i,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active i {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        box-shadow: 0 12px 26px rgba(15, 118, 110, .24), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active::after,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active::after {
        content: "" !important;
        position: absolute !important;
        right: 50% !important;
        bottom: 4px !important;
        width: 4px !important;
        height: 4px !important;
        border-radius: 999px !important;
        background: #1877F2 !important;
        transform: translateX(50%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-trigger i,
    body.zt-account-shell-body .zt-mobile-account-trigger i {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #111827 0%, #0B4DA2 54%, #0F766E 100%) !important;
        box-shadow: 0 14px 30px rgba(11, 77, 162, .26), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop,
    body.zt-account-shell-body .zt-mobile-nav-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 33900 !important;
        background: rgba(5, 18, 35, .38) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
        transition: opacity .2s ease !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop.is-open,
    body.zt-account-shell-body .zt-mobile-nav-backdrop.is-open {
        display: block !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-mobile-nav-backdrop[hidden],
    body.zt-account-shell-body .zt-mobile-nav-backdrop[hidden] {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        position: fixed !important;
        top: auto !important;
        right: auto !important;
        bottom: calc(88px + env(safe-area-inset-bottom)) !important;
        left: 50% !important;
        z-index: 33920 !important;
        display: grid !important;
        width: min(460px, calc(100vw - 28px)) !important;
        max-height: calc(100dvh - 124px) !important;
        gap: 14px !important;
        padding: 14px !important;
        overflow: hidden !important;
        border: 1px solid rgba(181, 199, 220, .9) !important;
        border-radius: 26px !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFE 100%) !important;
        color: #172638 !important;
        box-shadow: 0 34px 100px rgba(5, 18, 35, .30), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateX(-50%) translateY(18px) scale(.98) !important;
        transform-origin: bottom center !important;
        transition: opacity .22s ease, transform .22s ease !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet.is-open,
    body.zt-account-shell-body .zt-mobile-account-sheet.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-grabber,
    body.zt-account-shell-body .zt-mobile-sheet-grabber {
        justify-self: center !important;
        width: 48px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #C8D7E7 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head,
    body.zt-account-shell-body .zt-mobile-sheet-head {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-width: 0 !important;
        padding: 4px 4px 8px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-avatar,
    body.zt-account-shell-body .zt-mobile-sheet-avatar {
        display: inline-grid !important;
        width: 50px !important;
        height: 50px !important;
        flex: 0 0 50px !important;
        place-items: center !important;
        border-radius: 18px !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        color: #FFFFFF !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        box-shadow: 0 16px 32px rgba(15, 118, 110, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head > div,
    body.zt-account-shell-body .zt-mobile-sheet-head > div {
        display: grid !important;
        min-width: 0 !important;
        gap: 3px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head .zt-section-kicker,
    body.zt-account-shell-body .zt-mobile-sheet-head .zt-section-kicker {
        margin: 0 !important;
        color: #0B5FD3 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head strong,
    body.zt-account-shell-body .zt-mobile-sheet-head strong {
        overflow: hidden !important;
        color: #172638 !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-close,
    body.zt-account-shell-body .zt-mobile-sheet-close {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        margin-left: auto !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: #EEF5FC !important;
        color: #29425F !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .6) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-close:hover,
    body.zt-account-shell-body .zt-mobile-sheet-close:hover,
    body:not(.zt-admin-body) .zt-mobile-sheet-close:focus-visible,
    body.zt-account-shell-body .zt-mobile-sheet-close:focus-visible {
        background: #FFFFFF !important;
        color: #0B4DA2 !important;
        outline: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions,
    body.zt-account-shell-body .zt-mobile-sheet-actions {
        display: grid !important;
        gap: 10px !important;
        overflow-y: auto !important;
        padding: 1px !important;
        scrollbar-width: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions::-webkit-scrollbar,
    body.zt-account-shell-body .zt-mobile-sheet-actions::-webkit-scrollbar {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a,
    body.zt-account-shell-body .zt-mobile-sheet-actions a {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        align-items: center !important;
        min-height: 54px !important;
        gap: 12px !important;
        padding: 8px 11px !important;
        border: 1px solid rgba(181, 199, 220, .72) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .82) !important;
        color: #20384F !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        text-decoration: none !important;
        box-shadow: 0 10px 26px rgba(16, 42, 70, .07) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a i,
    body.zt-account-shell-body .zt-mobile-sheet-actions a i {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        place-items: center !important;
        border-radius: 15px !important;
        background: #EEF5FC !important;
        color: #0B5FD3 !important;
        font-size: 18px !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .58) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a:hover,
    body:not(.zt-admin-body) .zt-mobile-sheet-actions a:focus-visible,
    body.zt-account-shell-body .zt-mobile-sheet-actions a:hover,
    body.zt-account-shell-body .zt-mobile-sheet-actions a:focus-visible,
    body:not(.zt-admin-body) .zt-mobile-sheet-actions a.is-primary,
    body.zt-account-shell-body .zt-mobile-sheet-actions a.is-primary {
        background: linear-gradient(135deg, rgba(24, 119, 242, .12), rgba(15, 118, 110, .12)) !important;
        color: #0B4DA2 !important;
        border-color: rgba(24, 119, 242, .26) !important;
        outline: none !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        min-height: calc(68px + env(safe-area-inset-bottom)) !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
        border-radius: 22px 22px 0 0 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        height: 48px !important;
        border-radius: 15px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        width: 33px !important;
        height: 33px !important;
        font-size: 18px !important;
        border-radius: 13px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        bottom: calc(78px + env(safe-area-inset-bottom)) !important;
        width: min(430px, calc(100vw - 18px)) !important;
        border-radius: 23px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        min-height: calc(82px + env(safe-area-inset-bottom)) !important;
        padding: 12px clamp(28px, 6vw, 76px) calc(12px + env(safe-area-inset-bottom)) !important;
        border-radius: 28px 28px 0 0 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        height: 58px !important;
        border-radius: 20px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        width: 40px !important;
        height: 40px !important;
        font-size: 23px !important;
        border-radius: 16px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        bottom: calc(98px + env(safe-area-inset-bottom)) !important;
        width: min(500px, calc(100vw - 52px)) !important;
        max-height: calc(100dvh - 146px) !important;
        border-radius: 29px !important;
    }
}

/* Large iPad landscape bottom bar edge lock */
@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler,
    body.zt-account-shell-body .zt-navbar .zt-toggler {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-bottom-nav {
        position: fixed !important;
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 33800 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
        min-height: calc(84px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        padding: 13px clamp(120px, 12vw, 190px) calc(13px + env(safe-area-inset-bottom)) !important;
        border: 0 !important;
        border-top: 1px solid rgba(181, 199, 220, .86) !important;
        border-radius: 30px 30px 0 0 !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .99) 0%, rgba(244, 249, 253, .98) 100%) !important;
        box-shadow: 0 -18px 52px rgba(5, 18, 35, .20), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        backdrop-filter: blur(22px) saturate(150%) !important;
        -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link,
    body.zt-account-shell-body .zt-mobile-bottom-link {
        position: relative !important;
        display: grid !important;
        height: 58px !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 21px !important;
        background: transparent !important;
        color: #46617D !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link i,
    body.zt-account-shell-body .zt-mobile-bottom-link i {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        place-items: center !important;
        border-radius: 17px !important;
        background: rgba(235, 243, 250, .72) !important;
        color: inherit !important;
        font-size: 24px !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .46) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active {
        color: #0B4DA2 !important;
        background: rgba(24, 119, 242, .08) !important;
        box-shadow: inset 0 0 0 1px rgba(24, 119, 242, .14) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-link.is-active i,
    body.zt-account-shell-body .zt-mobile-bottom-link.is-active i,
    body:not(.zt-admin-body) .zt-mobile-account-trigger i,
    body.zt-account-shell-body .zt-mobile-account-trigger i {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        box-shadow: 0 14px 30px rgba(15, 118, 110, .24), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        position: fixed !important;
        top: auto !important;
        right: auto !important;
        bottom: calc(102px + env(safe-area-inset-bottom)) !important;
        left: 50% !important;
        z-index: 33920 !important;
        display: grid !important;
        width: min(520px, calc(100vw - 72px)) !important;
        max-height: calc(100dvh - 154px) !important;
        gap: 14px !important;
        padding: 14px !important;
        overflow: hidden !important;
        border: 1px solid rgba(181, 199, 220, .9) !important;
        border-radius: 30px !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFE 100%) !important;
        color: #172638 !important;
        box-shadow: 0 34px 100px rgba(5, 18, 35, .30), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateX(-50%) translateY(18px) scale(.98) !important;
        transition: opacity .22s ease, transform .22s ease !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet.is-open,
    body.zt-account-shell-body .zt-mobile-account-sheet.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-account-sheet[hidden],
    body.zt-account-shell-body .zt-mobile-account-sheet[hidden] {
        display: none !important;
    }
}

/* Large iPad account dropdown row polish */
@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-mobile-sheet-grabber,
    body.zt-account-shell-body .zt-mobile-sheet-grabber {
        justify-self: center !important;
        width: 48px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #C8D7E7 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head,
    body.zt-account-shell-body .zt-mobile-sheet-head {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-width: 0 !important;
        padding: 4px 4px 8px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-avatar,
    body.zt-account-shell-body .zt-mobile-sheet-avatar {
        display: inline-grid !important;
        width: 50px !important;
        height: 50px !important;
        flex: 0 0 50px !important;
        place-items: center !important;
        border-radius: 18px !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        color: #FFFFFF !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        box-shadow: 0 16px 32px rgba(15, 118, 110, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head > div,
    body.zt-account-shell-body .zt-mobile-sheet-head > div {
        display: grid !important;
        min-width: 0 !important;
        gap: 3px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head .zt-section-kicker,
    body.zt-account-shell-body .zt-mobile-sheet-head .zt-section-kicker {
        margin: 0 !important;
        color: #0B5FD3 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-head strong,
    body.zt-account-shell-body .zt-mobile-sheet-head strong {
        overflow: hidden !important;
        color: #172638 !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-close,
    body.zt-account-shell-body .zt-mobile-sheet-close {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        margin-left: auto !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: #EEF5FC !important;
        color: #29425F !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .6) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions,
    body.zt-account-shell-body .zt-mobile-sheet-actions {
        display: grid !important;
        gap: 10px !important;
        overflow-y: auto !important;
        padding: 1px !important;
        scrollbar-width: none !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a,
    body.zt-account-shell-body .zt-mobile-sheet-actions a {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        align-items: center !important;
        min-height: 54px !important;
        gap: 12px !important;
        padding: 8px 11px !important;
        border: 1px solid rgba(181, 199, 220, .72) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .82) !important;
        color: #20384F !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        text-decoration: none !important;
        box-shadow: 0 10px 26px rgba(16, 42, 70, .07) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a i,
    body.zt-account-shell-body .zt-mobile-sheet-actions a i {
        display: inline-grid !important;
        width: 42px !important;
        height: 42px !important;
        place-items: center !important;
        border-radius: 15px !important;
        background: #EEF5FC !important;
        color: #0B5FD3 !important;
        font-size: 18px !important;
        box-shadow: inset 0 0 0 1px rgba(181, 199, 220, .58) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-sheet-actions a:hover,
    body:not(.zt-admin-body) .zt-mobile-sheet-actions a:focus-visible,
    body.zt-account-shell-body .zt-mobile-sheet-actions a:hover,
    body.zt-account-shell-body .zt-mobile-sheet-actions a:focus-visible,
    body:not(.zt-admin-body) .zt-mobile-sheet-actions a.is-primary,
    body.zt-account-shell-body .zt-mobile-sheet-actions a.is-primary {
        background: linear-gradient(135deg, rgba(24, 119, 242, .12), rgba(15, 118, 110, .12)) !important;
        color: #0B4DA2 !important;
        border-color: rgba(24, 119, 242, .26) !important;
        outline: none !important;
    }
}

/* Search flights page: use the same compact mobile flight search as the home page */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page {
        padding-top: 92px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page > .zt-container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel.zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-body,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-pane {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 18 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-responsive-shell {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services .zt-flight-service-tab {
        display: grid !important;
        min-width: 0 !important;
        min-height: 50px !important;
        place-items: center !important;
        gap: 4px !important;
        padding: 7px 4px !important;
        border: 1px solid rgba(186, 204, 224, .84) !important;
        border-radius: 15px !important;
        background: rgba(255, 255, 255, .92) !important;
        color: #36526e !important;
        box-shadow: 0 10px 24px rgba(16, 42, 70, .08) !important;
        text-decoration: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services .zt-flight-service-tab.is-active {
        color: #ffffff !important;
        border-color: rgba(24, 119, 242, .18) !important;
        background: linear-gradient(135deg, #1877F2 0%, #0F766E 100%) !important;
        box-shadow: 0 14px 28px rgba(15, 118, 110, .22) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services .zt-flight-service-tab i {
        display: inline-grid !important;
        width: 24px !important;
        height: 24px !important;
        place-items: center !important;
        border-radius: 10px !important;
        font-size: 13px !important;
        background: rgba(235, 243, 250, .86) !important;
        color: inherit !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services .zt-flight-service-tab.is-active i {
        background: rgba(255, 255, 255, .18) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-services .zt-flight-service-tab span {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 9.75px !important;
        font-weight: 850 !important;
        line-height: 1.05 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-card {
        width: 100% !important;
        padding: 13px !important;
        border: 1px solid rgba(170, 194, 220, .95) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 22px 58px rgba(10, 34, 61, .18), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin: 0 0 11px !important;
        padding: 0 0 10px !important;
        border-bottom: 1px solid rgba(198, 214, 231, .78) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-summary span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #0B5FD3 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-summary strong {
        min-width: 0 !important;
        color: #172638 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1.15 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border: 1px solid rgba(176, 196, 218, .95) !important;
        border-radius: 15px !important;
        background: #EAF2FA !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-trip-toggle label {
        min-height: 36px !important;
        padding: 6px 4px !important;
        border-radius: 12px !important;
        font-size: 10.5px !important;
        font-weight: 850 !important;
        line-height: 1.05 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-search-note.zt-flight-helper {
        display: flex !important;
        justify-content: center !important;
        min-height: 40px !important;
        max-width: none !important;
        padding: 7px 9px !important;
        border: 1px solid rgba(199, 216, 234, .96) !important;
        border-radius: 14px !important;
        background: #F7FAFF !important;
        color: #334E68 !important;
        font-size: 10.75px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child {
        transform: translateY(8px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: translateY(-18px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-route-swap-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 50px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-swap-btn {
        position: static !important;
        width: 38px !important;
        height: 38px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-date-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-passenger-field {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-cabin-field {
        grid-column: 7 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-currency-field {
        grid-column: 10 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        margin-top: 1px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 144px !important;
        max-width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field {
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field .form-label {
        margin: 0 0 4px !important;
        color: #243F58 !important;
        font-size: 10.25px !important;
        font-weight: 850 !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field > i {
        top: 31px !important;
        left: 12px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-date-input-shell .form-control {
        min-height: 48px !important;
        height: 48px !important;
        border-color: #B5C8DC !important;
        border-radius: 14px !important;
        background: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(24, 55, 89, .08) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-date-input-shell .form-control {
        padding-right: 8px !important;
        padding-left: 8px !important;
        text-align: center !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        opacity: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-passenger-menu {
        z-index: 130000 !important;
        max-width: calc(100vw - 24px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-multicity-panel.is-active {
        margin-top: 2px !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-multicity-segment {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-multicity-segment .zt-segment-number,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-segment-remove {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 389.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-route-swap-wrap {
        min-height: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-flight-swap-btn {
        transform: rotate(90deg) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-form .zt-currency-field {
        grid-column: 1 / -1 !important;
    }
}

/* Inner public pages: keep mobile and iPad search/content below the fixed topbar, excluding home. */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body):not(.zt-account-shell-body):not(:has(.zt-home-hero)) main > section:first-child {
        padding-top: 116px !important;
    }

    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-flight-search-page {
        padding-top: 122px !important;
    }

    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-flight-search-page > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-section-tight > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-section-tight > .container-fluid,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-page-hero > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-page-hero > .container-fluid {
        position: relative !important;
        z-index: 2 !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body):not(.zt-account-shell-body):not(:has(.zt-home-hero)) main > section:first-child {
        padding-top: 132px !important;
    }

    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-flight-search-page {
        padding-top: 138px !important;
    }

    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-flight-search-page > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-section-tight > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-section-tight > .container-fluid,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-page-hero > .zt-container,
    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-page-hero > .container-fluid {
        position: relative !important;
        z-index: 2 !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body):not(.zt-account-shell-body):not(:has(.zt-home-hero)) main > section:first-child {
        padding-top: 132px !important;
    }

    body:not(.zt-admin-body):not(:has(.zt-home-hero)) .zt-flight-search-page {
        padding-top: 138px !important;
    }
}

/* Search flights phone view: replace the results-page search panel with the same compact mobile shell used on the home page. */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page {
        padding-top: 118px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page > .zt-container,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-body,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-pane,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel.zt-flight-search-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-pane {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-responsive-shell-home-mobile {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 24px)) !important;
        margin: 0 auto 18px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 30 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-services {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-services .zt-flight-service-tab {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 47px !important;
        padding: 8px 5px !important;
        border: 1px solid rgba(195, 211, 230, .95) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 10px 24px rgba(16, 42, 74, .1) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-services .zt-flight-service-tab i {
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-services .zt-flight-service-tab span {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-card {
        padding: 13px !important;
        border: 1px solid rgba(181, 200, 220, .96) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 20px 48px rgba(15, 42, 74, .2) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin: 0 0 10px !important;
        padding: 0 0 10px !important;
        border-bottom: 1px solid rgba(214, 225, 238, .92) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-summary span {
        font-size: 11px !important;
        font-weight: 850 !important;
        color: #0b5cc7 !important;
        text-transform: uppercase !important;
        letter-spacing: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-summary strong {
        font-size: 13px !important;
        font-weight: 900 !important;
        color: #102a43 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-form {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border-radius: 14px !important;
        background: #eef5ff !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-trip-toggle label {
        min-height: 34px !important;
        padding: 6px 4px !important;
        border-radius: 11px !important;
        font-size: 10.5px !important;
        line-height: 1.08 !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-trip-toggle input:checked + label {
        background: #0b5cc7 !important;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(11, 92, 199, .2) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-search-note.zt-flight-helper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        max-width: none !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(205, 219, 235, .95) !important;
        border-radius: 13px !important;
        background: #f7faff !important;
        color: #48627f !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 9px !important;
        align-items: end !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 7px !important;
        align-items: center !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair > .zt-airport-field:first-child {
        transform: translateY(9px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: translateY(-18px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-route-swap-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 50px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-swap-btn {
        position: static !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 999px !important;
        transform: none !important;
        box-shadow: 0 9px 18px rgba(11, 92, 199, .2) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-date-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-passenger-field {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-cabin-field {
        grid-column: 7 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-currency-field {
        grid-column: 10 / span 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        margin-top: 1px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-search-submit {
        width: auto !important;
        min-width: 146px !important;
        max-width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field {
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field .form-label {
        margin: 0 0 4px !important;
        color: #243f58 !important;
        font-size: 10.25px !important;
        font-weight: 850 !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field > i {
        top: 31px !important;
        left: 12px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-date-input-shell .form-control {
        min-height: 48px !important;
        height: 48px !important;
        width: 100% !important;
        max-width: 100% !important;
        border-color: #b5c8dc !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 8px 20px rgba(24, 55, 89, .08) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-date-input-shell .form-control {
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        opacity: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-passenger-menu {
        z-index: 130000 !important;
        max-width: calc(100vw - 24px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-multicity-panel.is-active {
        margin-top: 2px !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-multicity-segment {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-multicity-segment .zt-segment-number,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-segment-remove {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 389.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-route-swap-wrap {
        min-height: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-swap-btn {
        transform: rotate(90deg) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-currency-field {
        grid-column: 1 / -1 !important;
    }
}

/* Search flights iPad: keep one-way and multi-city aligned with the round-trip tablet form. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page,
    body:not(.zt-admin-body) .zt-flight-search-page > .zt-container,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-panel,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-booking-body,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-pane,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results {
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 44px)) !important;
        margin: 0 auto 24px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 28 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        column-gap: 10px !important;
        row-gap: 14px !important;
        align-items: end !important;
        width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-route-pair > .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-route-pair > .zt-route-swap-wrap,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-route-pair > .zt-route-swap-wrap {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-route-swap-wrap {
        display: flex !important;
        align-items: end !important;
        justify-content: center !important;
        min-height: 50px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        align-items: end !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-date-pair [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-date-pair [data-return-field] {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(118px, 132px) 36px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field .zt-date-input-shell .form-control {
        width: 100% !important;
        max-width: 132px !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-passenger-menu {
        z-index: 170000 !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 124px 34px !important;
        gap: 8px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 56px)) !important;
        margin: 0 auto 24px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 28 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-search-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 14px 10px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-roundtrip .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-oneway .zt-flight-date-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form.is-multicity .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        margin-top: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 132px 36px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: auto !important;
        grid-row: auto !important;
        min-width: 0 !important;
        transform: none !important;
    }
}

/* Search flights iPad replacement: use the index-page flight search form context on tablets. */
body:not(.zt-admin-body) .zt-flight-search-index-ipad-form {
    display: none;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-engine-home {
        width: 100% !important;
        max-width: min(100%, 1080px) !important;
        margin-inline: auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-engine-home .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-engine-home .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-engine-home .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 44px)) !important;
        margin: 0 auto 24px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 40 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-multicity .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-roundtrip .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        gap: 14px 10px !important;
        align-items: end !important;
        width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-multicity .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-roundtrip .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-route-pair > .zt-route-swap-wrap {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 4 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        align-items: end !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 9 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-currency-field {
        grid-column: 11 / span 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(118px, 132px) 36px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
    }
}

@media (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
}

/* Search flights tablet replacement: exact home iPad shell, no overlapping rows. */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form .zt-flight-ipad-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 25 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-engine-home {
        display: block !important;
        width: 100% !important;
        max-width: min(1040px, calc(100vw - 32px)) !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-responsive-shell {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-shell {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 22px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 26 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        overflow: visible !important;
        position: relative !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(220px, .56fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 12px 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > * {
        min-width: 0 !important;
        max-width: 100% !important;
        position: relative !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        z-index: 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-route-pair > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-route-pair > .zt-route-swap-wrap {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        align-items: end !important;
        justify-content: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        z-index: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 7 / span 6 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 1 / span 4 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-currency-field {
        grid-column: 5 / span 4 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 9 / span 4 !important;
        grid-row: 3 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair .zt-date-input-shell .form-control {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 154px !important;
        max-width: 100% !important;
        padding-inline: 18px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(116px, 132px) 36px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-head {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-date-pair {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-passenger-field {
        grid-column: 1 / span 6 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-cabin-field {
        grid-column: 7 / span 3 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-currency-field {
        grid-column: 10 / span 3 !important;
        grid-row: 3 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(108px, 124px) 34px !important;
        gap: 8px !important;
    }
}
/* Search flights iPad multi-city arrangement match. */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(205, 219, 235, .9) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-head strong {
        color: #10263d !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-head span {
        max-width: 460px !important;
        color: #587088 !important;
        font-size: 10.75px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 132px 34px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .9) !important;
        border-radius: 16px !important;
        background: #fbfdff !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        width: 100% !important;
        color: #31516d !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 132px !important;
        max-width: 132px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: 4 !important;
        grid-row: 2 !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 50px !important;
        min-height: 50px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        min-width: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 124px 32px !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        width: 32px !important;
        min-width: 32px !important;
    }
}
/* Search flights iPad main date pair compact alignment. */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair {
        grid-column: 1 / span 6 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, 124px) !important;
        justify-content: start !important;
        justify-self: start !important;
        gap: 8px !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
        min-width: 0 !important;
        justify-self: start !important;
    }
}

@media (min-width: 900px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair {
        grid-template-columns: repeat(2, 128px) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form .zt-flight-search-grid > .zt-flight-date-pair .zt-date-input-shell .form-control {
        width: 128px !important;
        max-width: 128px !important;
    }
}
/* Flight multi-city segment title row polish. */
@media (min-width: 1200px) {
    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 4px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 11px 13px !important;
        border: 1px solid rgba(204, 219, 236, .92) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-head strong {
        color: #10263d !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-head span {
        color: #587088 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
        line-height: 1.25 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, .45fr) 40px !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        border: 1px solid rgba(211, 225, 241, .94) !important;
        border-radius: 16px !important;
        background: #fbfdff !important;
        box-shadow: 0 14px 30px rgba(20, 48, 78, .08) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 0 2px !important;
        color: #31516d !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-date-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        align-self: end !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: 4 !important;
        grid-row: 2 !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 52px !important;
        min-height: 52px !important;
        align-self: end !important;
        justify-self: stretch !important;
        border-radius: 13px !important;
    }

    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-desktop-form .zt-multicity-segment .zt-date-input-shell .form-control {
        min-width: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2px !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 132px 34px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .9) !important;
        border-radius: 16px !important;
        background: #fbfdff !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 !important;
        color: #31516d !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
        width: 132px !important;
        max-width: 132px !important;
        align-self: end !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: 4 !important;
        grid-row: 2 !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 50px !important;
        min-height: 50px !important;
        align-self: end !important;
        justify-self: stretch !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 124px 32px !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        width: 32px !important;
        min-width: 32px !important;
    }
}
/* Index iPad multi-city exact search match. */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(205, 219, 235, .9) !important;
        border-radius: 14px !important;
        background: #f7fbff !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-head strong {
        color: #10263d !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-head span {
        max-width: 460px !important;
        color: #587088 !important;
        font-size: 10.75px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 132px 34px !important;
        gap: 9px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .9) !important;
        border-radius: 16px !important;
        background: #fbfdff !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 !important;
        color: #31516d !important;
        font-size: 10.75px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 132px !important;
        max-width: 132px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: 4 !important;
        grid-row: 2 !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 50px !important;
        min-height: 50px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        min-width: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 132px !important;
        max-width: 132px !important;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 124px 32px !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment .zt-date-input-shell .form-control {
        width: 124px !important;
        max-width: 124px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form .zt-multicity-segment > .zt-segment-remove {
        width: 32px !important;
        min-width: 32px !important;
    }
}
/* Flight iPad one-way multi-city breathing room. */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form.is-multicity .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-oneway .zt-flight-search-grid,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-multicity .zt-flight-search-grid {
        margin-top: 8px !important;
        row-gap: 15px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form.is-multicity .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-oneway .zt-flight-route-pair,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-multicity .zt-flight-route-pair {
        margin-top: 2px !important;
    }

    body:not(.zt-admin-body) .zt-booking-shell #flights-pane .zt-flight-ipad-form.is-multicity .zt-multicity-panel.is-active,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form .zt-flight-ipad-form.is-multicity .zt-multicity-panel.is-active {
        margin-top: 8px !important;
    }
}
/* Mobile private aviation bottom sheet */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-mobile-aviation-trigger i,
    body.zt-account-shell-body .zt-mobile-aviation-trigger i {
        color: #087A68 !important;
        background: linear-gradient(135deg, #E9FBF7 0%, #EEF6FF 100%) !important;
        box-shadow: inset 0 0 0 1px rgba(8, 122, 104, .22), 0 8px 18px rgba(8, 122, 104, .08) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-trigger:hover i,
    body:not(.zt-admin-body) .zt-mobile-aviation-trigger:focus-visible i,
    body.zt-account-shell-body .zt-mobile-aviation-trigger:hover i,
    body.zt-account-shell-body .zt-mobile-aviation-trigger:focus-visible i,
    body:not(.zt-admin-body) .zt-mobile-aviation-trigger.is-active i,
    body.zt-account-shell-body .zt-mobile-aviation-trigger.is-active i {
        color: #FFFFFF !important;
        background: linear-gradient(135deg, #0F766E 0%, #0B4DA2 100%) !important;
        box-shadow: 0 14px 30px rgba(8, 122, 104, .26), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-sheet .zt-mobile-sheet-head,
    body.zt-account-shell-body .zt-mobile-aviation-sheet .zt-mobile-sheet-head {
        padding-bottom: 10px !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-avatar,
    body.zt-account-shell-body .zt-mobile-aviation-avatar {
        background: linear-gradient(135deg, #E9FBF7 0%, #DCEBFF 100%) !important;
        color: #087A68 !important;
        font-size: 21px !important;
        box-shadow: 0 16px 32px rgba(8, 122, 104, .18), inset 0 0 0 1px rgba(8, 122, 104, .16) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-avatar i,
    body.zt-account-shell-body .zt-mobile-aviation-avatar i {
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-actions a,
    body.zt-account-shell-body .zt-mobile-aviation-actions a {
        min-height: 58px !important;
        border-color: rgba(145, 165, 187, .68) !important;
        background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(244, 249, 253, .9)) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-actions a i,
    body.zt-account-shell-body .zt-mobile-aviation-actions a i {
        color: #0F766E !important;
        background: #E9FBF7 !important;
        box-shadow: inset 0 0 0 1px rgba(8, 122, 104, .18) !important;
    }

    body:not(.zt-admin-body) .zt-mobile-aviation-actions a:hover,
    body:not(.zt-admin-body) .zt-mobile-aviation-actions a:focus-visible,
    body.zt-account-shell-body .zt-mobile-aviation-actions a:hover,
    body.zt-account-shell-body .zt-mobile-aviation-actions a:focus-visible,
    body:not(.zt-admin-body) .zt-mobile-aviation-actions a.is-primary,
    body.zt-account-shell-body .zt-mobile-aviation-actions a.is-primary {
        border-color: rgba(8, 122, 104, .34) !important;
        background: linear-gradient(135deg, rgba(233, 251, 247, .96), rgba(235, 244, 255, .96)) !important;
        color: #0B4DA2 !important;
    }
}
/* Desktop-only multi-city segment labels above fields */
@media (min-width: 1200px) and (hover: hover), (min-width: 1367px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: minmax(0, 1.45fr) minmax(0, 1.45fr) minmax(170px, .55fr) 40px !important;
        grid-template-rows: auto auto !important;
        align-items: end !important;
        gap: 10px 12px !important;
        padding: 12px !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment .zt-segment-number {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        justify-self: start !important;
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        margin: 0 0 2px !important;
        padding: 7px 11px !important;
        border-radius: 999px !important;
        background: #EAF3FF !important;
        color: #0B4DA2 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment > .zt-airport-field:nth-of-type(1) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment > .zt-airport-field:nth-of-type(2) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment > .zt-date-field {
        grid-column: 3 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-form.is-multicity .zt-multicity-segment > .zt-segment-remove {
        grid-column: 4 !important;
        grid-row: 2 !important;
        position: static !important;
        width: 40px !important;
        height: 54px !important;
        min-width: 40px !important;
        min-height: 54px !important;
        align-self: end !important;
        justify-self: stretch !important;
        border-radius: 13px !important;
    }
}
/* Transfer ride setup mobile and iPad layout polish */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-transfer-page-body {
        padding-top: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search {
        width: min(100%, 940px) !important;
        margin: -26px auto 24px !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 22px 56px rgba(7, 30, 58, .14) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-panel-body {
        padding: 18px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 5px !important;
        margin-bottom: 14px !important;
        padding-bottom: 12px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head span {
        width: max-content !important;
        max-width: 100% !important;
        min-height: 28px !important;
        padding: 6px 9px !important;
        border-radius: 999px !important;
        background: #EAF3FF !important;
        color: #0B4DA2 !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head h2 {
        margin: 2px 0 0 !important;
        font-size: clamp(20px, 2.5vw, 24px) !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head p {
        max-width: 100% !important;
        margin: 0 !important;
        color: #5A6D82 !important;
        font-size: 12.5px !important;
        line-height: 1.35 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 11px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-grid > * {
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-col-3,
    body:not(.zt-admin-body) .zt-transfer-form .zt-col-2,
    body:not(.zt-admin-body) .zt-transfer-form .zt-col-2.d-grid.align-self-end {
        grid-column: span 2 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-transfer-date-field,
    body:not(.zt-admin-body) .zt-transfer-form .zt-transfer-time-field,
    body:not(.zt-admin-body) .zt-transfer-form #passengers,
    body:not(.zt-admin-body) .zt-transfer-form .zt-transfer-flight-number-field,
    body:not(.zt-admin-body) .zt-transfer-form .zt-transfer-flight-number-field + .zt-field {
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field {
        display: grid !important;
        min-height: 72px !important;
        padding: 9px 10px !important;
        border: 1px solid rgba(205, 218, 234, .9) !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(7, 30, 58, .055) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field .form-label {
        margin: 0 0 5px !important;
        color: #39506A !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        letter-spacing: .03em !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .form-control,
    body:not(.zt-admin-body) .zt-transfer-search .form-select,
    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button {
        min-height: 46px !important;
        height: 46px !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 10px !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) > i {
        top: auto !important;
        bottom: 13px !important;
        left: 20px !important;
        width: 22px !important;
        height: 22px !important;
        font-size: 14px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) .form-control {
        padding-left: 44px !important;
        padding-right: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) input[type="date"],
    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) input[type="time"] {
        padding-left: 44px !important;
        padding-right: 8px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-search .zt-airport-picker {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button {
        gap: 9px !important;
        padding: 7px 34px 7px 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button .zt-flag-badge {
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button .zt-flag-value {
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-menu {
        z-index: 34050 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: min(330px, 52dvh) !important;
        border-radius: 12px !important;
        box-shadow: 0 22px 54px rgba(7, 30, 58, .24) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-button {
        justify-self: end !important;
        width: auto !important;
        min-width: 168px !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 0 18px !important;
        border-radius: 12px !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-transfer-page-body {
        padding-top: 6px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search {
        width: 100% !important;
        margin: -18px auto 20px !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 44px rgba(7, 30, 58, .13) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-panel-body {
        padding: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head {
        display: grid !important;
        gap: 5px !important;
        margin-bottom: 12px !important;
        padding-bottom: 11px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head span {
        width: max-content !important;
        max-width: 100% !important;
        min-height: 26px !important;
        padding: 6px 9px !important;
        border-radius: 999px !important;
        background: #EAF3FF !important;
        color: #0B4DA2 !important;
        font-size: 10.5px !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head h2 {
        margin: 2px 0 0 !important;
        font-size: 20px !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-head p {
        margin: 0 !important;
        color: #5A6D82 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-form .zt-col-3,
    body:not(.zt-admin-body) .zt-transfer-form .zt-col-2,
    body:not(.zt-admin-body) .zt-transfer-form .zt-col-2.d-grid.align-self-end {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field {
        display: grid !important;
        min-height: 70px !important;
        padding: 9px 10px !important;
        border: 1px solid rgba(205, 218, 234, .9) !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        box-shadow: 0 9px 20px rgba(7, 30, 58, .055) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field .form-label {
        margin: 0 0 5px !important;
        color: #39506A !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .form-control,
    body:not(.zt-admin-body) .zt-transfer-search .form-select,
    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button {
        min-height: 45px !important;
        height: 45px !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 10px !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) > i {
        top: auto !important;
        bottom: 12px !important;
        left: 20px !important;
        width: 22px !important;
        height: 22px !important;
        font-size: 14px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) .form-control,
    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) input[type="date"],
    body:not(.zt-admin-body) .zt-transfer-search .zt-field:not(.has-flag-select) input[type="time"] {
        padding-left: 44px !important;
        padding-right: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-search .zt-airport-picker {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button {
        gap: 9px !important;
        padding: 7px 34px 7px 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button .zt-flag-badge {
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-button .zt-flag-value,
    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-option .zt-flag-option-text,
    body:not(.zt-admin-body) .zt-transfer-search .zt-airport-option .zt-airport-option-name {
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-menu {
        z-index: 34050 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: min(320px, 56dvh) !important;
        border-radius: 12px !important;
        box-shadow: 0 22px 54px rgba(7, 30, 58, .24) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search .zt-flag-select-option {
        min-height: 44px !important;
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-search-button {
        width: auto !important;
        min-width: 154px !important;
        max-width: 100% !important;
        justify-self: end !important;
        min-height: 47px !important;
        padding: 0 16px !important;
        border-radius: 12px !important;
    }
}
/* Transfer responsive app-only hero and form */
body:not(.zt-admin-body) .zt-transfer-responsive-intro,
body:not(.zt-admin-body) .zt-transfer-app-search {
    display: none;
}

@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-transfer-hero,
    body:not(.zt-admin-body) .zt-transfer-page-body > .zt-container > .zt-transfer-search {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-responsive-intro,
    body:not(.zt-admin-body) .zt-transfer-app-search {
        display: block !important;
    }

    body:not(.zt-admin-body) .zt-transfer-responsive-intro {
        padding: calc(88px + env(safe-area-inset-top)) 0 12px !important;
        background: linear-gradient(135deg, #071E3A 0%, #0B4DA2 52%, #0F766E 100%) !important;
        color: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card {
        display: grid !important;
        gap: 12px !important;
        width: min(100%, 940px) !important;
        margin: 0 auto !important;
        padding: 18px !important;
        border: 1px solid rgba(255, 255, 255, .18) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .1) !important;
        box-shadow: 0 24px 70px rgba(5, 18, 35, .24) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-kicker,
    body:not(.zt-admin-body) .zt-transfer-app-form-head > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: max-content !important;
        max-width: 100% !important;
        min-height: 30px !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .16) !important;
        color: #FFFFFF !important;
        font-size: 11px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card h1 {
        margin: 0 !important;
        color: #FFFFFF !important;
        font-size: clamp(28px, 4vw, 42px) !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card p {
        max-width: 720px !important;
        margin: 0 !important;
        color: rgba(255, 255, 255, .82) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-chips {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-chips span,
    body:not(.zt-admin-body) .zt-transfer-app-selected {
        border: 1px solid rgba(255, 255, 255, .16) !important;
        background: rgba(255, 255, 255, .12) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-chips span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        color: #FFFFFF !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected {
        display: grid !important;
        gap: 4px !important;
        padding: 12px !important;
        border-radius: 14px !important;
        color: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected small {
        color: rgba(255, 255, 255, .72) !important;
        font-size: 10.5px !important;
        font-weight: 950 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected strong {
        color: #FFFFFF !important;
        font-size: 17px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected span {
        color: rgba(255, 255, 255, .8) !important;
        font-size: 12.5px !important;
        font-weight: 750 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-search {
        width: min(100%, 940px) !important;
        margin: 16px auto 24px !important;
        padding: 18px !important;
        overflow: visible !important;
        border: 1px solid rgba(190, 207, 228, .92) !important;
        border-radius: 18px !important;
        background: #FFFFFF !important;
        box-shadow: 0 20px 54px rgba(7, 30, 58, .12) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head {
        display: grid !important;
        gap: 6px !important;
        margin-bottom: 14px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid rgba(211, 224, 240, .9) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head > span {
        background: #EAF3FF !important;
        color: #0B4DA2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head h2 {
        margin: 0 !important;
        color: #071E3A !important;
        font-size: 22px !important;
        line-height: 1.15 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head p {
        margin: 0 !important;
        color: #5B6E83 !important;
        font-size: 12.5px !important;
        font-weight: 750 !important;
        line-height: 1.35 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        align-items: end !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field,
    body:not(.zt-admin-body) .zt-transfer-app-submit {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field {
        position: relative !important;
        display: grid !important;
        min-height: 82px !important;
        padding: 10px !important;
        overflow: visible !important;
        border: 1px solid rgba(207, 220, 236, .94) !important;
        border-radius: 14px !important;
        background: #FDFEFF !important;
        box-shadow: 0 10px 24px rgba(7, 30, 58, .055) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-label {
        margin: 0 0 6px !important;
        color: #36506B !important;
        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1.1 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field > i {
        position: absolute !important;
        left: 20px !important;
        bottom: 17px !important;
        z-index: 2 !important;
        display: inline-grid !important;
        width: 22px !important;
        height: 22px !important;
        place-items: center !important;
        color: #0B4DA2 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field.has-flag-select > i {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-control,
    body:not(.zt-admin-body) .zt-transfer-app-field .form-select,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 48px !important;
        height: 48px !important;
        border: 1px solid rgba(193, 210, 229, .9) !important;
        border-radius: 12px !important;
        background-color: #FFFFFF !important;
        color: #071E3A !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        box-shadow: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-control,
    body:not(.zt-admin-body) .zt-transfer-app-field .form-select {
        padding-left: 44px !important;
        padding-right: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field input[type="date"],
    body:not(.zt-admin-body) .zt-transfer-app-field input[type="time"] {
        padding-left: 44px !important;
        padding-right: 8px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-airport-picker {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 7px 36px 7px 9px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button .zt-flag-badge,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-option .zt-flag-badge {
        flex: 0 0 34px !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button .zt-flag-value,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-option .zt-flag-option-text,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-airport-option .zt-airport-option-name {
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-menu {
        z-index: 34050 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: min(340px, 52dvh) !important;
        border-radius: 14px !important;
        box-shadow: 0 24px 58px rgba(7, 30, 58, .25) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-option {
        min-height: 48px !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-submit {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        margin-top: 2px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-search-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 168px !important;
        max-width: 100% !important;
        min-height: 50px !important;
        padding: 0 18px !important;
        border-radius: 13px !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-transfer-hero,
    body:not(.zt-admin-body) .zt-transfer-page-body > .zt-container > .zt-transfer-search {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-responsive-intro,
    body:not(.zt-admin-body) .zt-transfer-app-search {
        display: block !important;
    }

    body:not(.zt-admin-body) .zt-transfer-responsive-intro {
        padding: calc(76px + env(safe-area-inset-top)) 0 10px !important;
        background: linear-gradient(135deg, #071E3A 0%, #0B4DA2 56%, #0F766E 100%) !important;
        color: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card {
        display: grid !important;
        gap: 11px !important;
        padding: 14px !important;
        border: 1px solid rgba(255, 255, 255, .18) !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, .1) !important;
        box-shadow: 0 20px 54px rgba(5, 18, 35, .24) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-kicker,
    body:not(.zt-admin-body) .zt-transfer-app-form-head > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        width: max-content !important;
        max-width: 100% !important;
        min-height: 28px !important;
        padding: 6px 9px !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .16) !important;
        color: #FFFFFF !important;
        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card h1 {
        margin: 0 !important;
        color: #FFFFFF !important;
        font-size: 28px !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-intro-card p {
        margin: 0 !important;
        color: rgba(255, 255, 255, .82) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.42 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-chips {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-chips span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-width: 0 !important;
        min-height: 34px !important;
        padding: 7px 9px !important;
        overflow: hidden !important;
        border: 1px solid rgba(255, 255, 255, .16) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .12) !important;
        color: #FFFFFF !important;
        font-size: 11.5px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected {
        display: grid !important;
        gap: 4px !important;
        padding: 11px !important;
        border: 1px solid rgba(255, 255, 255, .16) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .12) !important;
        color: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected small {
        color: rgba(255, 255, 255, .72) !important;
        font-size: 10px !important;
        font-weight: 950 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected strong {
        color: #FFFFFF !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-selected span {
        color: rgba(255, 255, 255, .8) !important;
        font-size: 12px !important;
        font-weight: 750 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-search {
        width: 100% !important;
        margin: 12px auto 20px !important;
        padding: 14px !important;
        overflow: visible !important;
        border: 1px solid rgba(190, 207, 228, .92) !important;
        border-radius: 18px !important;
        background: #FFFFFF !important;
        box-shadow: 0 18px 44px rgba(7, 30, 58, .12) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head {
        display: grid !important;
        gap: 5px !important;
        margin-bottom: 12px !important;
        padding-bottom: 11px !important;
        border-bottom: 1px solid rgba(211, 224, 240, .9) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head > span {
        background: #EAF3FF !important;
        color: #0B4DA2 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head h2 {
        margin: 0 !important;
        color: #071E3A !important;
        font-size: 20px !important;
        line-height: 1.14 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-form-head p {
        margin: 0 !important;
        color: #5B6E83 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
        line-height: 1.35 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field {
        position: relative !important;
        display: grid !important;
        min-height: 78px !important;
        padding: 10px !important;
        overflow: visible !important;
        border: 1px solid rgba(207, 220, 236, .94) !important;
        border-radius: 14px !important;
        background: #FDFEFF !important;
        box-shadow: 0 9px 20px rgba(7, 30, 58, .055) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-label {
        margin: 0 0 6px !important;
        color: #36506B !important;
        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1.1 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field > i {
        position: absolute !important;
        left: 20px !important;
        bottom: 16px !important;
        z-index: 2 !important;
        display: inline-grid !important;
        width: 22px !important;
        height: 22px !important;
        place-items: center !important;
        color: #0B4DA2 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field.has-flag-select > i {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-control,
    body:not(.zt-admin-body) .zt-transfer-app-field .form-select,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        border: 1px solid rgba(193, 210, 229, .9) !important;
        border-radius: 12px !important;
        background-color: #FFFFFF !important;
        color: #071E3A !important;
        font-size: 12.5px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        box-shadow: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .form-control,
    body:not(.zt-admin-body) .zt-transfer-app-field .form-select,
    body:not(.zt-admin-body) .zt-transfer-app-field input[type="date"],
    body:not(.zt-admin-body) .zt-transfer-app-field input[type="time"] {
        padding-left: 44px !important;
        padding-right: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-airport-picker {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button {
        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
        padding: 7px 34px 7px 9px !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button .zt-flag-badge,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-option .zt-flag-badge {
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-button .zt-flag-value,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-option .zt-flag-option-text,
    body:not(.zt-admin-body) .zt-transfer-app-field .zt-airport-option .zt-airport-option-name {
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-field .zt-flag-select-menu {
        z-index: 34050 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: min(320px, 56dvh) !important;
        border-radius: 14px !important;
        box-shadow: 0 24px 58px rgba(7, 30, 58, .25) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-submit {
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        margin-top: 2px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-app-search-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 154px !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 0 16px !important;
        border-radius: 13px !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }
}

/* iPad card payment modal size polish */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cardPaymentModal .modal-dialog {
        width: min(860px, calc(100vw - 56px)) !important;
        max-width: min(860px, calc(100vw - 56px)) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-entry-modal {
        border-radius: 18px !important;
        box-shadow: 0 34px 92px rgba(5, 18, 35, .28) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-header {
        min-height: 92px !important;
        padding: 22px 72px 18px 24px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-modal-emblem {
        width: 54px !important;
        height: 54px !important;
        border-radius: 16px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-title {
        font-size: 29px !important;
        line-height: 1.08 !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-body {
        padding: 24px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-security-row,
    body:not(.zt-admin-body) #cardPaymentModal .zt-card-form-grid.is-upgraded {
        width: min(100%, 760px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-form-grid.is-upgraded {
        gap: 16px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-input-control {
        min-height: 58px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-input-control .form-control {
        min-height: 56px !important;
        font-size: 14px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-footer {
        padding: 18px 24px 22px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-footer .btn {
        min-height: 48px !important;
        border-radius: 13px !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }
}
/* iPad payment support modal size polish */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cardUnavailableModal .modal-dialog {
        width: min(820px, calc(100vw - 56px)) !important;
        max-width: min(820px, calc(100vw - 56px)) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-card-support-modal {
        border-radius: 18px !important;
        box-shadow: 0 34px 92px rgba(5, 18, 35, .28) !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .modal-header {
        min-height: 92px !important;
        padding: 22px 72px 18px 24px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-card-modal-emblem.is-brand-logo {
        width: 54px !important;
        height: 54px !important;
        border-radius: 16px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .modal-title {
        font-size: 29px !important;
        line-height: 1.08 !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .modal-body {
        padding: 24px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-modal-copy,
    body:not(.zt-admin-body) #cardUnavailableModal .zt-payment-support-box.is-upgraded,
    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-next-steps {
        width: min(100%, 720px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-modal-copy {
        margin-bottom: 16px !important;
        padding: 15px 16px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-payment-support-box.is-upgraded.has-copy-action {
        min-height: 74px !important;
        padding: 17px 18px !important;
        border-radius: 16px !important;
        gap: 14px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-reference-copy-content small {
        font-size: 11px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-reference-copy-content strong {
        font-size: 22px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-reference-copy-btn {
        min-width: 96px !important;
        min-height: 42px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-next-steps {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-top: 16px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-next-steps span {
        min-height: 54px !important;
        padding: 11px 12px !important;
        border-radius: 13px !important;
        font-size: 12px !important;
        justify-content: flex-start !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .zt-support-next-steps span b {
        width: 25px !important;
        height: 25px !important;
        font-size: 11px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .modal-footer {
        padding: 18px 24px 22px !important;
    }

    body:not(.zt-admin-body) #cardUnavailableModal .modal-footer .btn {
        min-height: 48px !important;
        border-radius: 13px !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }
}

/* iPad live chat vertical gap correction */
@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-panel {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto auto !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-body,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-body,
    body:not(.zt-admin-body) .zt-live-chat.has-chat-started.is-open .zt-chat-body,
    body.zt-account-shell-body .zt-live-chat.has-chat-started.is-open .zt-chat-body,
    body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-body,
    body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-body {
        display: grid !important;
        grid-template-rows: auto auto auto minmax(0, 1fr) !important;
        align-content: stretch !important;
        min-height: 0 !important;
        height: 100% !important;
        max-height: none !important;
        padding: 14px 16px 10px !important;
        gap: 8px !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.has-chat-started.is-open .zt-chat-body,
    body.zt-account-shell-body .zt-live-chat.has-chat-started.is-open .zt-chat-body,
    body:not(.zt-admin-body) .zt-live-chat.has-chat-started[data-chat-source="checkout"].is-open .zt-chat-body,
    body.zt-account-shell-body .zt-live-chat.has-chat-started[data-chat-source="checkout"].is-open .zt-chat-body {
        grid-template-rows: minmax(0, 1fr) !important;
        padding-top: 12px !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-messages,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-messages,
    body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-messages,
    body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-messages {
        min-height: 0 !important;
        height: 100% !important;
        max-height: none !important;
        overflow-y: auto !important;
        padding-bottom: 8px !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-typing,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-typing {
        min-height: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer,
    body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-composer,
    body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer,
    body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer {
        align-self: end !important;
        margin-top: 0 !important;
        padding: 12px 16px 14px !important;
        border-top: 1px solid rgba(202, 215, 231, .82) !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%) !important;
    }
}

/* Responsive live chat launcher icon emphasis */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
        width: 44px !important;
        height: 44px !important;
        padding: 5px !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark img,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark img {
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark i,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark i {
        font-size: 25px !important;
        line-height: 1 !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
        width: 46px !important;
        height: 46px !important;
    }

    body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark i,
    body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark i {
        font-size: 27px !important;
    }
}

/* Responsive crypto wallet QR fit */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-qr-card {
        width: min(100%, 440px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        align-content: stretch !important;
        gap: 12px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-qr-frame {
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
        padding: clamp(10px, 2.5vw, 16px) !important;
        border-radius: 16px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-qr-frame img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-pay-layout {
        gap: 18px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-qr-card {
        width: min(100%, 500px) !important;
        padding: 18px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-qr-frame {
        max-width: 440px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

/* Responsive crypto proof modal app view */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cryptoProofModal .modal-dialog {
        width: min(620px, calc(100vw - 28px)) !important;
        max-width: min(620px, calc(100vw - 28px)) !important;
        margin: 14px auto !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-content {
        overflow: hidden !important;
        border: 1px solid rgba(184, 201, 222, .95) !important;
        border-radius: 24px !important;
        background:
            radial-gradient(circle at 12% 0%, rgba(24, 119, 242, .12), transparent 34%),
            radial-gradient(circle at 96% 8%, rgba(22, 163, 74, .1), transparent 30%),
            linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
        box-shadow: 0 30px 90px rgba(5, 18, 35, .26) !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-header {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        min-height: 0 !important;
        padding: 20px 58px 16px 20px !important;
        border-bottom: 1px solid rgba(202, 215, 231, .82) !important;
        background: rgba(255, 255, 255, .82) !important;
        backdrop-filter: blur(12px) !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-header > div {
        display: grid !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-modal-kicker {
        display: inline-flex !important;
        align-items: center !important;
        width: max-content !important;
        max-width: 100% !important;
        gap: 7px !important;
        padding: 7px 10px !important;
        border: 1px solid rgba(24, 119, 242, .18) !important;
        border-radius: 999px !important;
        background: #F1F7FF !important;
        color: #0E5EC9 !important;
        font-size: 11px !important;
        font-weight: 950 !important;
        letter-spacing: .06em !important;
        line-height: 1 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-title {
        color: #071E3A !important;
        font-size: clamp(24px, 5vw, 31px) !important;
        font-weight: 950 !important;
        line-height: 1.08 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .btn-close {
        position: absolute !important;
        top: 18px !important;
        right: 18px !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        border: 1px solid rgba(190, 207, 226, .92) !important;
        border-radius: 12px !important;
        background-color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(7, 30, 58, .08) !important;
        opacity: 1 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-body {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px 20px 20px !important;
        overflow-y: auto !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-modal-copy {
        margin: 0 !important;
        padding: 13px 14px !important;
        border: 1px solid rgba(190, 207, 226, .86) !important;
        border-left: 4px solid #1877F2 !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .88) !important;
        color: #314961 !important;
        font-size: 13.5px !important;
        font-weight: 800 !important;
        line-height: 1.5 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload {
        display: grid !important;
        grid-template-columns: 62px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 14px !important;
        margin: 0 !important;
        padding: 17px !important;
        border: 1px dashed rgba(24, 119, 242, .48) !important;
        border-radius: 18px !important;
        background:
            radial-gradient(circle at 100% 0%, rgba(22, 163, 74, .1), transparent 34%),
            linear-gradient(135deg, #FFFFFF 0%, #F3F8FF 100%) !important;
        box-shadow: 0 16px 36px rgba(7, 30, 58, .075) !important;
        cursor: pointer !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload > i {
        display: grid !important;
        width: 62px !important;
        height: 62px !important;
        place-items: center !important;
        border-radius: 18px !important;
        background: linear-gradient(135deg, rgba(24, 119, 242, .14), rgba(22, 163, 74, .12)) !important;
        color: #0B4FD8 !important;
        font-size: 31px !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload span {
        display: grid !important;
        min-width: 0 !important;
        gap: 4px !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload strong {
        color: #071E3A !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        line-height: 1.1 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload small {
        color: #637890 !important;
        font-size: 12.5px !important;
        font-weight: 760 !important;
        line-height: 1.25 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload input {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 9px 11px !important;
        border: 1px solid rgba(198, 211, 229, .92) !important;
        border-radius: 13px !important;
        background: #FFFFFF !important;
        color: #314961 !important;
        font-size: 12.5px !important;
        font-weight: 850 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-reference {
        display: grid !important;
        gap: 8px !important;
        margin: 0 !important;
        color: #33465D !important;
        font-size: 11.5px !important;
        font-weight: 950 !important;
        letter-spacing: .05em !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-reference .form-control {
        width: 100% !important;
        min-height: 54px !important;
        border: 1px solid rgba(198, 211, 229, .96) !important;
        border-radius: 14px !important;
        background: #FFFFFF !important;
        color: #071E3A !important;
        font-size: 14px !important;
        font-weight: 850 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px 20px 20px !important;
        border-top: 1px solid rgba(202, 215, 231, .76) !important;
        background: rgba(255, 255, 255, .76) !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer .zt-modal-primary {
        order: 1 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer .btn-light {
        order: 2 !important;
        border: 1px solid rgba(190, 207, 226, .92) !important;
        background: #FFFFFF !important;
        color: #314961 !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer .btn {
        width: 100% !important;
        min-height: 50px !important;
        border-radius: 14px !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) #cryptoProofModal .modal-dialog {
        width: calc(100vw - 22px) !important;
        max-width: calc(100vw - 22px) !important;
        margin: 11px auto !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-header {
        padding: 18px 56px 14px 16px !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-body {
        padding: 16px !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
        padding: 18px !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload span {
        justify-items: center !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer {
        padding: 14px 16px 16px !important;
    }
}
/* Crypto proof modal vertical form correction */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-body,
    body:not(.zt-admin-body) #cryptoProofModal .modal-footer {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .zt-modal-copy,
    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-upload,
    body:not(.zt-admin-body) #cryptoProofModal .zt-proof-reference {
        width: 100% !important;
        max-width: none !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        justify-content: stretch !important;
    }

    body:not(.zt-admin-body) #cryptoProofModal .modal-footer .btn {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Mobile crypto wallet modal footer reachability */
@media (max-width: 575.98px) {
    body:not(.zt-admin-body) #cryptoPayModal .modal-dialog {
        width: calc(100vw - 22px) !important;
        max-width: calc(100vw - 22px) !important;
        height: auto !important;
        margin: 11px auto !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-wallet-modal {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        max-height: calc(100dvh - 22px) !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .modal-body {
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 18px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .zt-crypto-pay-layout {
        min-height: 0 !important;
        padding-bottom: 2px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .modal-footer {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 2 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid rgba(202, 215, 231, .82) !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 -14px 34px rgba(7, 30, 58, .1) !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .modal-footer .btn {
        width: 100% !important;
        min-height: 48px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .modal-footer .zt-modal-primary {
        order: 1 !important;
    }

    body:not(.zt-admin-body) #cryptoPayModal .modal-footer .zt-wallet-change-btn {
        order: 2 !important;
    }
}

/* Payment proof success confirmation modal */
.zt-proof-success-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(184, 201, 222, .95) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(22, 163, 74, .16), transparent 34%),
        radial-gradient(circle at 92% 10%, rgba(24, 119, 242, .1), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
    box-shadow: 0 34px 96px rgba(5, 18, 35, .28) !important;
}

.zt-proof-success-modal .modal-header {
    align-items: flex-start;
    padding: 22px 68px 18px 22px !important;
    border-bottom: 1px solid rgba(202, 215, 231, .82) !important;
    background: rgba(255, 255, 255, .82) !important;
    backdrop-filter: blur(12px);
}

.zt-proof-success-head {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 13px;
}

.zt-proof-success-icon {
    display: grid;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(22, 163, 74, .2);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(22, 163, 74, .13), rgba(24, 119, 242, .1));
    color: #0F7A3A;
    box-shadow: 0 16px 34px rgba(7, 30, 58, .1);
}

.zt-proof-success-icon i {
    font-size: 30px;
    line-height: 1;
}

.zt-proof-success-modal .modal-title {
    margin-top: 4px;
    color: #071E3A;
    font-size: clamp(24px, 3vw, 31px);
    font-weight: 950;
    line-height: 1.08;
}

.zt-proof-success-modal .modal-body {
    display: grid;
    gap: 15px;
    padding: 22px !important;
}

.zt-proof-success-copy {
    margin: 0;
    padding: 15px 16px;
    border: 1px solid rgba(22, 163, 74, .18);
    border-left: 4px solid #16A34A;
    border-radius: 15px;
    background: #F2FFF8;
    color: #294D3D;
    font-size: 14px;
    font-weight: 820;
    line-height: 1.55;
}

.zt-proof-success-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.zt-proof-success-details span {
    display: grid;
    min-width: 0;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid rgba(194, 210, 229, .92);
    border-radius: 14px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 26px rgba(7, 30, 58, .055);
}

.zt-proof-success-details small {
    color: #6E8399;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.zt-proof-success-details strong {
    overflow: hidden;
    color: #071E3A;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-proof-success-modal .modal-footer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    padding: 16px 22px 22px !important;
    border-top: 1px solid rgba(202, 215, 231, .76) !important;
    background: rgba(255, 255, 255, .74) !important;
}

.zt-proof-success-modal .modal-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    gap: 8px;
    border-radius: 13px !important;
    font-weight: 950 !important;
}

.zt-proof-success-modal .modal-footer .btn-light {
    border: 1px solid rgba(190, 207, 226, .92) !important;
    background: #FFFFFF !important;
    color: #314961 !important;
}

@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .zt-proof-success-modal .modal-dialog {
        width: min(620px, calc(100vw - 28px)) !important;
        max-width: min(620px, calc(100vw - 28px)) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-content {
        max-height: calc(100dvh - 28px) !important;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-body {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) .zt-proof-success-modal .modal-header {
        padding: 18px 56px 15px 16px !important;
    }

    body:not(.zt-admin-body) .zt-proof-success-head {
        align-items: flex-start;
        gap: 11px;
    }

    body:not(.zt-admin-body) .zt-proof-success-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 15px;
    }

    body:not(.zt-admin-body) .zt-proof-success-icon i {
        font-size: 26px;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-body {
        padding: 16px !important;
    }

    body:not(.zt-admin-body) .zt-proof-success-copy {
        padding: 13px 14px;
        font-size: 13px;
    }

    body:not(.zt-admin-body) .zt-proof-success-details {
        grid-template-columns: 1fr;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-footer {
        grid-template-columns: 1fr !important;
        padding: 14px 16px 16px !important;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-footer .zt-modal-primary {
        order: 1;
    }

    body:not(.zt-admin-body) .zt-proof-success-modal .modal-footer .btn-light {
        order: 2;
    }
}

/* Notification center and signed-out toast polish */
.zt-signed-out-toast-wrap {
    position: fixed;
    top: clamp(72px, 9vh, 104px);
    right: clamp(14px, 3vw, 32px);
    z-index: 1085;
    pointer-events: none;
    animation: ztToastSlideIn .38s ease-out both;
}

.zt-signed-out-toast {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: min(360px, calc(100vw - 28px));
    padding: 13px 16px;
    border: 1px solid rgba(14, 94, 201, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    color: #10243E;
    box-shadow: 0 22px 54px rgba(10, 34, 65, .18);
    backdrop-filter: blur(14px);
}

.zt-signed-out-toast i {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 999px;
    background: linear-gradient(135deg, #1E7CF2, #18B67A);
    color: #FFFFFF;
    font-size: 16px;
    box-shadow: 0 10px 22px rgba(24, 126, 242, .22);
}

.zt-signed-out-toast span {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.zt-signed-out-toast.is-hiding {
    animation: ztToastSlideOut .5s ease-in both;
}

@keyframes ztToastSlideIn {
    from { opacity: 0; transform: translateX(24px) translateY(-6px); }
    to { opacity: 1; transform: translateX(0) translateY(0); }
}

@keyframes ztToastSlideOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(120%); }
}

.zt-notification-dropdown {
    position: relative;
}

.zt-notification-badge,
.zt-admin-chat-sidebar-badge {
    display: inline-grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: #EF3D45;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .96), 0 10px 20px rgba(239, 61, 69, .32);
}

.zt-notification-badge[hidden],
.zt-admin-chat-sidebar-badge[hidden] {
    display: none !important;
}

.zt-admin-topbar-action .zt-notification-badge,
.zt-account-topbar-home .zt-notification-badge,
.zt-notification-toggle .zt-notification-badge {
    position: absolute;
    top: -7px;
    right: -8px;
}

.zt-admin-nav-notification,
.zt-account-notification-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 54px;
    padding: 10px 12px;
    border: 0;
    border-radius: 14px;
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
    background: transparent;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.zt-admin-nav-notification:hover,
.zt-account-notification-link:hover,
.zt-admin-nav-notification.is-visible,
.zt-account-notification-link.is-visible {
    color: #FFFFFF;
    background: rgba(255, 255, 255, .09);
    transform: translateX(2px);
}

.zt-admin-nav-notification > i,
.zt-account-notification-link > i {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .12);
    color: #FFFFFF;
    font-size: 18px;
}

.zt-admin-nav-notification .zt-notification-badge,
.zt-account-notification-link .zt-notification-badge {
    margin-left: auto;
    box-shadow: 0 10px 20px rgba(239, 61, 69, .28);
}

.zt-notification-toggle {
    position: relative;
}

.zt-notification-toggle.is-pulsing i,
.zt-admin-nav-notification.is-pulsing > i,
.zt-account-notification-link.is-pulsing > i {
    animation: ztNotificationPulse .72s ease;
}

@keyframes ztNotificationPulse {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.12); }
    70% { transform: scale(.96); }
}

.zt-notification-menu {
    width: min(390px, calc(100vw - 22px));
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(190, 207, 226, .9);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 28px 76px rgba(12, 32, 59, .24);
}

.zt-notification-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 16px 13px;
    border-bottom: 1px solid rgba(220, 229, 240, .95);
    background: linear-gradient(135deg, #F8FBFF 0%, #EEF7FF 100%);
}

.zt-notification-menu-head span,
.zt-notification-item-copy {
    display: grid;
    min-width: 0;
}

.zt-notification-menu-head strong {
    color: #10243E;
    font-size: 15px;
    font-weight: 900;
}

.zt-notification-menu-head small {
    color: #677A90;
    font-size: 12px;
    font-weight: 700;
}

.zt-notification-menu-head button {
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    padding: 8px 11px;
    background: #0E5EC9;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
}

.zt-notification-list {
    display: grid;
    max-height: 390px;
    overflow-y: auto;
    scrollbar-width: thin;
    background: #FFFFFF;
}

.zt-notification-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 13px 16px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(230, 236, 244, .86);
    transition: background .16s ease;
}

.zt-notification-item:hover {
    background: #F5FAFF;
}

.zt-notification-item.is-unread {
    background: linear-gradient(90deg, rgba(14, 94, 201, .09), rgba(24, 182, 122, .06));
}

.zt-notification-item-icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #EAF3FF;
    color: #0E5EC9;
    font-size: 17px;
}

.zt-notification-item-copy strong {
    overflow: hidden;
    color: #10243E;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-notification-item-copy small {
    display: -webkit-box;
    overflow: hidden;
    color: #5E7084;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.zt-notification-item-copy em {
    margin-top: 4px;
    color: #8A9AAE;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.zt-notification-empty {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 28px 18px;
    text-align: center;
    color: #64748B;
}

.zt-notification-empty i {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #F0F6FF;
    color: #0E5EC9;
    font-size: 20px;
}

.zt-notification-empty strong {
    color: #10243E;
    font-weight: 900;
}

.zt-notification-empty span {
    max-width: 250px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.zt-notification-view-all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 16px 15px;
    color: #0E5EC9;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    background: #F9FBFE;
}

.zt-admin-manage-table-card_support_requests .zt-admin-record-panel,
.zt-admin-manage-table-notifications .zt-admin-record-panel {
    overflow: hidden;
}

.zt-admin-manage-table-card_support_requests .zt-admin-table-shell,
.zt-admin-manage-table-notifications .zt-admin-table-shell {
    border-radius: 18px;
}

.zt-admin-manage-table-card_support_requests .zt-customer-modal-detail strong,
.zt-admin-manage-table-notifications .zt-admin-cell-text {
    word-break: break-word;
}

.zt-account-logout-confirm:hover,
.zt-account-logout-confirm:focus-visible {
    color: #FFFFFF !important;
    background: #D92D20 !important;
    border-color: #D92D20 !important;
    box-shadow: 0 12px 26px rgba(217, 45, 32, .24) !important;
}

@media (max-width: 767.98px) {
    .zt-signed-out-toast-wrap {
        top: 14px;
        right: 12px;
        left: 12px;
    }

    .zt-signed-out-toast {
        width: 100%;
    }

    .zt-notification-menu {
        width: min(360px, calc(100vw - 20px));
        border-radius: 18px;
    }

    .zt-notification-list {
        max-height: min(62vh, 420px);
    }
}
.zt-payment-proof-view {
    display: grid;
    gap: 10px;
    align-items: start;
}

.zt-payment-proof-view img {
    width: min(100%, 260px);
    max-height: 260px;
    object-fit: contain;
    padding: 10px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

.zt-payment-proof-view a,
.zt-payment-proof-file {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 10px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
}

.zt-payment-proof-view a:hover {
    background: #1d4ed8;
    color: #fff;
}

/* Admin status badge color system */
.zt-admin-status-pill {
    gap: 7px;
    min-height: 29px;
    padding: 7px 11px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    background: #F8FAFC;
    color: #334155;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 18px rgba(15, 23, 42, 0.05);
    letter-spacing: 0.02em;
}

.zt-admin-status-pill::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.12);
}

.zt-admin-status-pill.is-active,
.zt-admin-status-pill.is-paid,
.zt-admin-status-pill.is-confirmed,
.zt-admin-status-pill.is-resolved,
.zt-admin-status-pill.is-success,
.zt-admin-status-pill.is-complete,
.zt-admin-status-pill.is-completed {
    border-color: rgba(22, 163, 74, 0.22);
    background: linear-gradient(180deg, #ECFDF3 0%, #F7FFF9 100%);
    color: #12803C;
}

.zt-admin-status-pill.is-pending,
.zt-admin-status-pill.is-pending-payment,
.zt-admin-status-pill.is-reviewing,
.zt-admin-status-pill.is-new,
.zt-admin-status-pill.is-draft,
.zt-admin-status-pill.is-open,
.zt-admin-status-pill.is-sandbox {
    border-color: rgba(245, 158, 11, 0.24);
    background: linear-gradient(180deg, #FFF7E6 0%, #FFFCF3 100%);
    color: #A16207;
}

.zt-admin-status-pill.is-quoted {
    border-color: rgba(37, 99, 235, 0.22);
    background: linear-gradient(180deg, #EFF6FF 0%, #F8FBFF 100%);
    color: #1D4ED8;
}

.zt-admin-status-pill.is-refunded,
.zt-admin-status-pill.is-cancel-requested {
    border-color: rgba(124, 58, 237, 0.2);
    background: linear-gradient(180deg, #F5F3FF 0%, #FCFAFF 100%);
    color: #6D28D9;
}

.zt-admin-status-pill.is-inactive,
.zt-admin-status-pill.is-suspended,
.zt-admin-status-pill.is-cancelled,
.zt-admin-status-pill.is-failed,
.zt-admin-status-pill.is-closed {
    border-color: rgba(220, 38, 38, 0.2);
    background: linear-gradient(180deg, #FFF1F2 0%, #FFF8F8 100%);
    color: #B91C1C;
}

.zt-customer-ledger-summary .zt-admin-status-pill,
.zt-customer-modal-detail .zt-admin-status-pill {
    width: fit-content;
}
.zt-admin-proof-chip,
.zt-admin-payment-customer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 220px;
    min-height: 30px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.zt-admin-proof-chip {
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, #EFF6FF 0%, #F8FBFF 100%);
    color: #1D4ED8;
}

.zt-admin-proof-chip i,
.zt-admin-payment-customer i {
    font-size: 14px;
    line-height: 1;
}

.zt-admin-payment-customer {
    border: 1px solid rgba(20, 184, 166, 0.18);
    background: linear-gradient(180deg, #ECFDF5 0%, #F8FFFC 100%);
    color: #0F766E;
}

.zt-admin-payment-customer span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.zt-payment-edit-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.zt-payment-edit-context > div {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid rgba(203, 213, 225, 0.88);
    border-radius: 14px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
}

.zt-payment-edit-context span {
    color: #64748B;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.zt-payment-edit-context strong {
    min-width: 0;
    color: #0F172A;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.zt-payment-edit-context small {
    min-width: 0;
    color: #64748B;
    font-size: 12px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.zt-payment-edit-context a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 10px;
    background: #1D4ED8;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.zt-payment-edit-context a:hover {
    background: #153EAA;
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .zt-payment-edit-context {
        grid-template-columns: 1fr;
    }
}
.zt-payment-proof-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.zt-payment-proof-actions a[download] {
    border-color: rgba(22, 163, 74, 0.2);
    background: rgba(22, 163, 74, 0.09);
    color: #15803D;
}

.zt-payment-proof-actions a[download]:hover {
    background: #15803D;
    color: #FFFFFF;
}

.zt-admin-row-delete-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.24);
}

.zt-admin-row-delete-modal .modal-header {
    padding: 20px 22px 16px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
    background: linear-gradient(180deg, #FFFFFF 0%, #FFF7F7 100%);
}

.zt-admin-row-delete-title {
    display: flex;
    align-items: center;
    gap: 13px;
}

.zt-admin-row-delete-title > span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #FEE2E2;
    color: #B91C1C;
    font-size: 19px;
}

.zt-admin-row-delete-title small {
    display: block;
    margin-bottom: 4px;
    color: #DC2626;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.zt-admin-row-delete-title h2 {
    margin: 0;
    color: #111827;
    font-size: 20px;
    font-weight: 950;
    line-height: 1.15;
}

.zt-admin-row-delete-modal .modal-body {
    display: grid;
    gap: 14px;
    padding: 20px 22px;
}

.zt-admin-row-delete-modal .modal-body p {
    margin: 0;
    color: #475569;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.5;
}

.zt-admin-row-delete-record {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid rgba(248, 113, 113, 0.18);
    border-radius: 14px;
    background: #FFF7F7;
}

.zt-admin-row-delete-record span,
.zt-admin-row-delete-modal .modal-body > small {
    color: #64748B;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.zt-admin-row-delete-record strong {
    color: #0F172A;
    font-size: 15px;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.zt-admin-delete-confirm-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 0;
    border-radius: 10px;
    background: #DC2626;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-delete-confirm-btn:hover,
.zt-admin-delete-confirm-btn:focus {
    background: #B91C1C;
    color: #FFFFFF;
}
/* Payments admin table layout polish */
.zt-admin-manage-table-payments .zt-admin-record-table {
    table-layout: fixed;
    width: 100%;
    min-width: 980px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th,
.zt-admin-manage-table-payments .zt-admin-record-table td {
    vertical-align: middle;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(1) {
    width: 76px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(2) {
    width: 190px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(3),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(3) {
    width: 250px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(4),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(4),
.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(5),
.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(7),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(7) {
    width: 130px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(6),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(6) {
    width: 150px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(8),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(8) {
    width: 230px;
}

.zt-admin-manage-table-payments .zt-admin-row-actions {
    justify-content: flex-end;
    gap: 7px;
    min-width: 0;
}

.zt-admin-manage-table-payments .zt-admin-table-action {
    padding-inline: 9px;
}

.zt-admin-manage-table-payments .zt-admin-table-shell {
    overflow-x: auto;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 8px 10px;
    border-radius: 12px;
    white-space: normal;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer > i {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #DDFBF3;
    color: #0F766E;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer strong,
.zt-admin-manage-table-payments .zt-admin-payment-customer small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer strong {
    color: #0F172A;
    font-size: 12.8px;
    font-weight: 950;
}

.zt-admin-manage-table-payments .zt-admin-payment-customer small {
    color: #64748B;
    font-size: 11.2px;
    font-weight: 800;
}

.zt-admin-manage-table-payments .zt-admin-proof-chip {
    min-height: 31px;
    padding: 7px 10px;
    border-radius: 10px;
}

.zt-admin-manage-table-payments .zt-admin-muted-cell {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 7px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: #F8FAFC;
    color: #64748B;
    font-size: 11.5px;
    font-weight: 900;
}

@media (max-width: 1199.98px) {
    .zt-admin-manage-table-payments .zt-admin-record-table {
        min-width: 920px;
    }
}
/* Payments action column alignment fix */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1120px;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(8),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(8) {
    width: 310px;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-row-actions,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions {
    display: table-cell !important;
    min-width: 310px !important;
    width: 310px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-row-actions .zt-admin-table-action,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions .zt-admin-table-action {
    margin-left: 6px;
    vertical-align: middle;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-row-actions .zt-admin-table-action:first-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions .zt-admin-table-action:first-child {
    margin-left: 0;
}

.zt-admin-manage-table-payments .zt-admin-view-booking {
    display: inline-flex !important;
    visibility: visible !important;
}
/* Dedicated payments action cell */
.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    display: table-cell !important;
    padding-left: 12px !important;
    padding-right: 14px !important;
    text-align: right !important;
    vertical-align: middle !important;
    overflow: visible !important;
}

.zt-admin-payments-action-set {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.zt-admin-payments-action-set .zt-admin-table-action {
    display: inline-flex !important;
    flex: 0 0 auto;
    margin-left: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zt-admin-payments-action-set .zt-admin-table-action span {
    display: inline !important;
}
/* Payments admin table final alignment */
.zt-admin-manage-table-payments .zt-admin-table-shell {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.zt-admin-manage-table-payments .zt-admin-record-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 1080px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th,
.zt-admin-manage-table-payments .zt-admin-record-table td {
    overflow: hidden;
    vertical-align: middle !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(1) {
    width: 70px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(2) {
    width: 180px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(3),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(3) {
    width: 245px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(4),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(4) {
    width: 105px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(5) {
    width: 122px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(6),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(6) {
    width: 138px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(7),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(7) {
    width: 116px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    position: sticky;
    right: 0;
    z-index: 3;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    background: #FFFFFF;
    box-shadow: -12px 0 22px rgba(15, 23, 42, 0.08);
    text-align: right !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    z-index: 4;
    background: #F6FAFE !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table tbody tr:hover td.zt-admin-payments-actions {
    background: #F8FBFF;
}

.zt-admin-payments-action-set {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    width: auto !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

.zt-admin-payments-action-set .zt-admin-table-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 32px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    font-size: 11.8px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zt-admin-payments-action-set .zt-admin-table-action i,
.zt-admin-payments-action-set .zt-admin-table-action span {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    overflow: visible !important;
}

/* Payments action buttons visibility hard fix */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1180px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    width: 318px !important;
    min-width: 318px !important;
    max-width: 318px !important;
    padding-inline: 12px !important;
    overflow: visible !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions > .zt-admin-payments-action-set {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-table-action,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-view-booking,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-edit-ledger,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .is-danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-view-booking {
    grid-column: 1 !important;
    border-color: rgba(24, 119, 242, .36) !important;
    background: linear-gradient(135deg, #EAF4FF, #F8FBFF) !important;
    color: #0D63D8 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-edit-ledger {
    grid-column: 2 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .is-danger {
    grid-column: 3 !important;
}

/* Payments action group right-edge correction */
.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    text-align: right !important;
    padding-right: 22px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    width: 360px !important;
    min-width: 360px !important;
    max-width: 360px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    text-align: right !important;
    padding-left: 14px !important;
    padding-right: 18px !important;
    overflow: visible !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions > .zt-admin-payments-action-set {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    float: right !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-table-action,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-view-booking,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-edit-ledger,
.zt-admin-manage-table-payments .zt-admin-payments-action-set .is-danger {
    flex: 0 0 auto !important;
    order: initial !important;
    width: auto !important;
    min-width: 76px !important;
    max-width: none !important;
    margin: 0 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-view-booking {
    order: 1 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .zt-admin-edit-ledger {
    order: 2 !important;
}

.zt-admin-manage-table-payments .zt-admin-payments-action-set .is-danger {
    order: 3 !important;
}

/* Payments action group extra right shift */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1260px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions {
    width: 430px !important;
    min-width: 430px !important;
    max-width: 430px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payments-actions > .zt-admin-payments-action-set {
    margin-left: 86px !important;
    transform: translateX(28px) !important;
}

/* Payments actions final clean override: use normal right-aligned ledger buttons */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1080px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions {
    position: static !important;
    right: auto !important;
    z-index: auto !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    padding-left: 10px !important;
    padding-right: 14px !important;
    overflow: visible !important;
    text-align: right !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    background: #F6FAFE !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions .zt-admin-table-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 74px !important;
    margin-left: 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions .zt-admin-table-action:first-child {
    margin-left: 0 !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-ledger-actions .zt-admin-view-booking {
    display: inline-flex !important;
    border-color: rgba(24, 119, 242, .36) !important;
    background: linear-gradient(135deg, #EAF4FF, #F8FBFF) !important;
    color: #0D63D8 !important;
}

/* Payments action column repair: keep header and row buttons aligned at the right edge. */
.zt-admin-manage-table-payments .zt-admin-record-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 1160px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    display: table-cell !important;
    position: static !important;
    right: auto !important;
    z-index: auto !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    padding: 10px 16px !important;
    overflow: visible !important;
    text-align: right !important;
    vertical-align: middle !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    background: #F6FAFE !important;
    color: #334155 !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    transform: none !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-table-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 72px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-view-booking {
    order: 1 !important;
    border-color: rgba(24, 119, 242, .36) !important;
    background: linear-gradient(135deg, #EAF4FF, #F8FBFF) !important;
    color: #0D63D8 !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-edit-ledger {
    order: 2 !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .is-danger {
    order: 3 !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    white-space: nowrap !important;
}

/* Payments actions sticky right-edge visibility fix. */
.zt-admin-manage-table-payments .zt-admin-table-shell {
    position: relative !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table {
    table-layout: fixed !important;
    min-width: 1240px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(7),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(7) {
    width: 138px !important;
    max-width: 138px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    position: sticky !important;
    right: 0 !important;
    z-index: 12 !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    padding: 10px 18px !important;
    text-align: right !important;
    background: #FFFFFF !important;
    box-shadow: -14px 0 24px rgba(15, 23, 42, .10) !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    z-index: 14 !important;
    background: #F6FAFE !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table tbody tr:hover td.zt-admin-payment-ledger-actions {
    background: #F8FBFF !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 260px !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: translateX(0) !important;
    overflow: visible !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-table-action {
    flex: 0 0 auto !important;
    min-width: 76px !important;
    padding: 8px 12px !important;
}

/* Payments actions extreme right lane: keep buttons fully away from the proof column. */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1480px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(7),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(7) {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    width: 520px !important;
    min-width: 520px !important;
    max-width: 520px !important;
    padding-left: 210px !important;
    padding-right: 24px !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail {
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 280px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Payments actions absolute dock: final visibility guard. */
.zt-admin-manage-table-payments .zt-admin-record-table {
    min-width: 1540px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    position: sticky !important;
    right: 0 !important;
    z-index: 999 !important;
    width: 620px !important;
    min-width: 620px !important;
    max-width: 620px !important;
    padding: 10px 26px !important;
    overflow: visible !important;
    text-align: right !important;
    background: #FFFFFF !important;
    clip-path: none !important;
    contain: none !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    z-index: 1000 !important;
    background: #F6FAFE !important;
    padding-right: 32px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    height: 58px !important;
    min-height: 58px !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail {
    position: absolute !important;
    top: 50% !important;
    right: 28px !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 1001 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-table-action {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 82px !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1002 !important;
}

/* Payments table after moving proof into modals only. */
.zt-admin-manage-table-payments .zt-admin-record-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 980px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(1),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(1) {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(2),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(2) {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(3),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(3) {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(4),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(4),
.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(5),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(5) {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:nth-child(6),
.zt-admin-manage-table-payments .zt-admin-record-table td:nth-child(6) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child,
.zt-admin-manage-table-payments .zt-admin-record-table td.zt-admin-payment-ledger-actions {
    position: sticky !important;
    right: 0 !important;
    z-index: 20 !important;
    width: 290px !important;
    min-width: 290px !important;
    max-width: 290px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 16px !important;
    overflow: visible !important;
    text-align: right !important;
    background: #FFFFFF !important;
    box-shadow: -12px 0 22px rgba(15, 23, 42, .08) !important;
    clip-path: none !important;
    contain: none !important;
}

.zt-admin-manage-table-payments .zt-admin-record-table th:last-child {
    z-index: 22 !important;
    background: #F6FAFE !important;
    padding-right: 18px !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.zt-admin-manage-table-payments .zt-admin-payment-action-rail .zt-admin-table-action {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-width: 76px !important;
    padding: 8px 11px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zt-admin-delete-proof-record .zt-payment-proof-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

/* Dedicated payments ledger replaces the generic admin table on payments. */
.zt-admin-manage-table-payments .zt-admin-payments-ledger {
    display: grid;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding: 2px 2px 8px;
    scrollbar-width: thin;
}

.zt-admin-payments-ledger-head,
.zt-admin-payments-ledger-row {
    display: grid;
    grid-template-columns: 72px minmax(168px, 1.1fr) minmax(220px, 1.45fr) 112px 118px 145px 286px;
    align-items: center;
    gap: 12px;
    min-width: 1080px;
}

.zt-admin-payments-ledger-head {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 12px 14px;
    border: 1px solid rgba(190, 205, 224, .78);
    border-radius: 14px;
    background: linear-gradient(180deg, #F6FAFE 0%, #EEF6FF 100%);
    color: #52667E;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.zt-admin-payments-ledger-head .is-actions {
    text-align: right;
}

.zt-admin-payments-ledger-row {
    position: relative;
    min-height: 76px;
    padding: 12px 14px;
    border: 1px solid rgba(212, 223, 237, .92);
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.zt-admin-payments-ledger-row:hover {
    border-color: rgba(24, 119, 242, .22);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .075);
    transform: translateY(-1px);
}

.zt-admin-payment-cell {
    min-width: 0;
    color: #26384C;
    font-size: 13px;
    font-weight: 800;
}

.zt-admin-payment-cell.is-reference .zt-admin-reference-chip {
    max-width: 100%;
}

.zt-admin-payment-customer-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.zt-admin-payment-customer-card > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(20, 184, 166, .22);
    border-radius: 10px;
    background: #ECFDF5;
    color: #0F766E;
    font-size: 15px;
}

.zt-admin-payment-customer-card span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zt-admin-payment-customer-card strong,
.zt-admin-payment-customer-card small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zt-admin-payment-customer-card strong {
    color: #0F172A;
    font-size: 13px;
    font-weight: 950;
}

.zt-admin-payment-customer-card small {
    color: #64748B;
    font-size: 11.5px;
    font-weight: 800;
}

.zt-admin-payment-cell.is-amount strong {
    color: #0F766E;
    font-size: 13.5px;
    font-weight: 950;
    white-space: nowrap;
}

.zt-admin-payment-cell.is-actions {
    position: sticky;
    right: 0;
    z-index: 5;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 18px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .68) 0%, #FFFFFF 22%);
    box-shadow: -16px 0 20px rgba(255, 255, 255, .92);
}

.zt-admin-payment-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: max-content;
    max-width: none;
    margin-left: auto;
    white-space: nowrap;
}

.zt-admin-payment-row-actions .zt-admin-table-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 78px;
    min-height: 36px;
    opacity: 1 !important;
    visibility: visible !important;
}

.zt-admin-payment-row-actions .zt-admin-view-booking {
    border-color: rgba(24, 119, 242, .36);
    background: linear-gradient(135deg, #EAF4FF, #F8FBFF);
    color: #0D63D8;
}

.zt-admin-payments-empty {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 42px 22px;
    border: 1px dashed rgba(150, 171, 196, .74);
    border-radius: 16px;
    background: #F8FBFF;
    color: #64748B;
    text-align: center;
}

.zt-admin-payments-empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #EAF4FF;
    color: #0D63D8;
    font-size: 20px;
}

.zt-admin-payments-empty strong {
    color: #0F172A;
    font-size: 16px;
    font-weight: 950;
}

@media (max-width: 1199.98px) {
    .zt-admin-payments-ledger-head,
    .zt-admin-payments-ledger-row {
        grid-template-columns: 66px minmax(160px, 1fr) minmax(210px, 1.35fr) 104px 112px 138px 270px;
        min-width: 1010px;
    }
}

@media (max-width: 767.98px) {
    .zt-admin-payments-ledger-head {
        display: none;
    }

    .zt-admin-payments-ledger-row {
        grid-template-columns: 1fr;
        min-width: 0;
        gap: 10px;
        padding: 14px;
    }

    .zt-admin-payment-cell {
        display: grid;
        grid-template-columns: 118px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
    }

    .zt-admin-payment-cell::before {
        content: attr(data-label);
        color: #64748B;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .zt-admin-payment-cell.is-actions {
        position: static;
        display: block;
        padding-left: 0;
        background: transparent;
        box-shadow: none;
    }

    .zt-admin-payment-cell.is-actions::before {
        display: none;
    }

    .zt-admin-payment-row-actions {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
    }
}

/* Admin Bootstrap records table */
.zt-admin-record-panel {
  overflow: hidden;
}

.zt-admin-bootstrap-table-wrap {
  width: 100%;
  border: 1px solid rgba(190, 205, 224, 0.88);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
  scrollbar-color: rgba(37, 99, 235, 0.38) rgba(226, 232, 240, 0.82);
}

.zt-admin-bootstrap-table-wrap::-webkit-scrollbar {
  height: 10px;
}

.zt-admin-bootstrap-table-wrap::-webkit-scrollbar-track {
  background: rgba(226, 232, 240, 0.82);
  border-radius: 999px;
}

.zt-admin-bootstrap-table-wrap::-webkit-scrollbar-thumb {
  background: rgba(37, 99, 235, 0.42);
  border-radius: 999px;
}

.zt-admin-bootstrap-table {
  min-width: var(--zt-admin-table-min-width, 1080px);
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.zt-admin-bootstrap-table thead th {
  height: 48px;
  padding: 0 15px;
  border: 0;
  border-bottom: 1px solid rgba(190, 205, 224, 0.88);
  border-right: 1px solid rgba(218, 226, 236, 0.78);
  background: linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);
  color: #516174;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}

.zt-admin-bootstrap-table tbody td {
  height: 64px;
  padding: 11px 15px;
  border: 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.92);
  border-right: 1px solid rgba(237, 242, 247, 0.92);
  color: #1f2937;
  font-size: 13px;
  line-height: 1.35;
  vertical-align: middle;
}

.zt-admin-bootstrap-table tbody tr:last-child td {
  border-bottom: 0;
}

.zt-admin-bootstrap-table tbody tr:hover td {
  background: #f8fbff;
}

.zt-admin-bootstrap-table :is(th, td).is-id {
  width: 86px;
}

.zt-admin-bootstrap-table :is(th, td).is-status {
  width: 145px;
}

.zt-admin-bootstrap-table :is(th, td).is-method,
.zt-admin-bootstrap-table :is(th, td).is-provider,
.zt-admin-bootstrap-table :is(th, td).is-role,
.zt-admin-bootstrap-table :is(th, td).is-type,
.zt-admin-bootstrap-table :is(th, td).is-code,
.zt-admin-bootstrap-table :is(th, td).is-iata_code,
.zt-admin-bootstrap-table :is(th, td).is-icao_code,
.zt-admin-bootstrap-table :is(th, td).is-currency_code {
  width: 145px;
}

.zt-admin-bootstrap-table :is(th, td).is-total_amount,
.zt-admin-bootstrap-table :is(th, td).is-amount,
.zt-admin-bootstrap-table :is(th, td).is-booking_total_amount,
.zt-admin-bootstrap-table :is(th, td).is-display_price,
.zt-admin-bootstrap-table :is(th, td).is-price_from,
.zt-admin-bootstrap-table :is(th, td).is-price_per_night,
.zt-admin-bootstrap-table :is(th, td).is-base_price,
.zt-admin-bootstrap-table :is(th, td).is-hourly_rate,
.zt-admin-bootstrap-table :is(th, td).is-charter_hourly_rate,
.zt-admin-bootstrap-table :is(th, td).is-booking_hourly_rate {
  width: 160px;
}

.zt-admin-bootstrap-table :is(th, td).is-name,
.zt-admin-bootstrap-table :is(th, td).is-title,
.zt-admin-bootstrap-table :is(th, td).is-email,
.zt-admin-bootstrap-table :is(th, td).is-customer_email,
.zt-admin-bootstrap-table :is(th, td).is-payment_customer_name,
.zt-admin-bootstrap-table :is(th, td).is-booking_reference,
.zt-admin-bootstrap-table :is(th, td).is-request_reference,
.zt-admin-bootstrap-table :is(th, td).is-provider_reference,
.zt-admin-bootstrap-table :is(th, td).is-setting_key,
.zt-admin-bootstrap-table :is(th, td).is-translation_key {
  width: 230px;
}

.zt-admin-bootstrap-table :is(th, td).is-summary,
.zt-admin-bootstrap-table :is(th, td).is-description,
.zt-admin-bootstrap-table :is(th, td).is-setting_value,
.zt-admin-bootstrap-table :is(th, td).is-notes,
.zt-admin-bootstrap-table :is(th, td).is-admin_notes,
.zt-admin-bootstrap-table :is(th, td).is-special_requests {
  width: 290px;
}

.zt-admin-bootstrap-table td > * {
  max-width: 100%;
}

.zt-admin-bootstrap-table .zt-admin-cell-text,
.zt-admin-bootstrap-table .zt-admin-setting-value,
.zt-admin-bootstrap-table .zt-admin-translation-source,
.zt-admin-bootstrap-table .zt-admin-reference-chip,
.zt-admin-bootstrap-table .zt-admin-soft-pill,
.zt-admin-bootstrap-table .zt-admin-status-pill,
.zt-admin-bootstrap-table .zt-admin-payment-customer-card strong,
.zt-admin-bootstrap-table .zt-admin-payment-customer-card small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zt-admin-bootstrap-table .zt-admin-payment-customer-card {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.zt-admin-bootstrap-table .zt-admin-payment-customer-card i {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #eff6ff;
  color: #1d4ed8;
}

.zt-admin-bootstrap-table .zt-admin-payment-customer-card span {
  min-width: 0;
}

.zt-admin-bootstrap-table th.zt-admin-bs-actions-heading,
.zt-admin-bootstrap-table td.zt-admin-bs-actions {
  width: 270px;
  min-width: 270px;
  position: sticky;
  right: 0;
  border-right: 0;
  border-left: 1px solid rgba(218, 226, 236, 0.9);
  text-align: right;
}

.zt-admin-bootstrap-table th.zt-admin-bs-actions-heading {
  z-index: 5;
  background: linear-gradient(90deg, rgba(248, 251, 255, 0.9), #f2f6fb 24%);
  box-shadow: -14px 0 20px rgba(15, 23, 42, 0.06);
}

.zt-admin-bootstrap-table td.zt-admin-bs-actions {
  z-index: 4;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.86), #fff 26%);
  box-shadow: -14px 0 22px rgba(15, 23, 42, 0.07);
}

.zt-admin-bootstrap-table tbody tr:hover td.zt-admin-bs-actions {
  background: linear-gradient(90deg, rgba(248, 251, 255, 0.88), #f8fbff 26%);
}

.zt-admin-bs-action-set {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 8px;
}

.zt-admin-bs-action {
  min-width: 72px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.zt-admin-bs-action:hover {
  transform: translateY(-1px);
}

.zt-admin-bs-empty-cell {
  padding: 0 !important;
  border: 0 !important;
}

.zt-admin-bs-empty {
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 38px 24px;
  background: #fbfdff;
  text-align: center;
}

.zt-admin-bs-empty i {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 24px;
}

.zt-admin-bs-empty h3 {
  margin: 4px 0 0;
  color: #111827;
  font-size: 18px;
  font-weight: 850;
}

.zt-admin-bs-empty p {
  max-width: 430px;
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

@media (max-width: 767.98px) {
  .zt-admin-bootstrap-table-wrap {
    overflow-x: visible;
    border-radius: 14px;
    background: #f8fafc;
    box-shadow: none;
  }

  .zt-admin-bootstrap-table {
    min-width: 0;
    display: block;
    background: transparent;
  }

  .zt-admin-bootstrap-table thead {
    display: none;
  }

  .zt-admin-bootstrap-table tbody,
  .zt-admin-bootstrap-table tr,
  .zt-admin-bootstrap-table td {
    display: block;
    width: 100%;
  }

  .zt-admin-bootstrap-table tbody {
    padding: 10px;
  }

  .zt-admin-bootstrap-table tr {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid rgba(218, 226, 236, 0.92);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  }

  .zt-admin-bootstrap-table tbody td {
    min-height: 0;
    height: auto;
    display: grid;
    grid-template-columns: minmax(106px, 35%) minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 8px 0;
    border: 0;
    white-space: normal;
  }

  .zt-admin-bootstrap-table tbody td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .zt-admin-bootstrap-table .zt-admin-cell-text,
  .zt-admin-bootstrap-table .zt-admin-setting-value,
  .zt-admin-bootstrap-table .zt-admin-translation-source,
  .zt-admin-bootstrap-table .zt-admin-reference-chip,
  .zt-admin-bootstrap-table .zt-admin-soft-pill,
  .zt-admin-bootstrap-table .zt-admin-status-pill,
  .zt-admin-bootstrap-table .zt-admin-payment-customer-card strong,
  .zt-admin-bootstrap-table .zt-admin-payment-customer-card small {
    white-space: normal;
  }

  .zt-admin-bootstrap-table td.zt-admin-bs-actions {
    position: static;
    min-width: 0;
    width: 100%;
    display: block;
    padding-top: 12px;
    border-left: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.92);
    background: transparent;
    box-shadow: none;
  }

  .zt-admin-bootstrap-table td.zt-admin-bs-actions::before {
    display: none;
  }

  .zt-admin-bs-action-set {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
    gap: 8px;
  }

  .zt-admin-bs-action {
    width: 100%;
    min-width: 0;
  }
}

/* Admin Bootstrap table action hover polish */
.zt-admin-bs-action {
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease !important;
}

.zt-admin-bs-action:hover,
.zt-admin-bs-action:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.11) !important;
  outline: none !important;
}

.zt-admin-bs-action.btn-outline-primary:hover,
.zt-admin-bs-action.btn-outline-primary:focus-visible {
  border-color: #1d4ed8 !important;
  background: #1d4ed8 !important;
  color: #fff !important;
}

.zt-admin-bs-action.btn-outline-success:hover,
.zt-admin-bs-action.btn-outline-success:focus-visible {
  border-color: #047857 !important;
  background: #047857 !important;
  color: #fff !important;
}

.zt-admin-bs-action.btn-outline-danger:hover,
.zt-admin-bs-action.btn-outline-danger:focus-visible {
  border-color: #b91c1c !important;
  background: #b91c1c !important;
  color: #fff !important;
}

.zt-admin-bs-action:hover i,
.zt-admin-bs-action:focus-visible i,
.zt-admin-bs-action:hover span,
.zt-admin-bs-action:focus-visible span {
  color: inherit !important;
}

.zt-admin-bs-action:active {
  transform: translateY(0) !important;
  box-shadow: 0 7px 16px rgba(15, 23, 42, 0.1) !important;
}

/* Admin Bootstrap table plain data cells */
.zt-admin-bootstrap-table .zt-admin-id-chip,
.zt-admin-bootstrap-table .zt-admin-reference-chip,
.zt-admin-bootstrap-table .zt-admin-soft-pill,
.zt-admin-bootstrap-table .zt-admin-setting-key,
.zt-admin-bootstrap-table .zt-admin-setting-value,
.zt-admin-bootstrap-table .zt-admin-setting-group,
.zt-admin-bootstrap-table .zt-admin-language-code,
.zt-admin-bootstrap-table .zt-admin-language-name,
.zt-admin-bootstrap-table .zt-admin-language-native,
.zt-admin-bootstrap-table .zt-admin-currency-code,
.zt-admin-bootstrap-table .zt-admin-currency-name,
.zt-admin-bootstrap-table .zt-admin-currency-symbol,
.zt-admin-bootstrap-table .zt-admin-sort-chip,
.zt-admin-bootstrap-table .zt-admin-boolean-pill,
.zt-admin-bootstrap-table .zt-admin-payment-customer-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.zt-admin-bootstrap-table .zt-admin-id-chip,
.zt-admin-bootstrap-table .zt-admin-reference-chip,
.zt-admin-bootstrap-table .zt-admin-soft-pill,
.zt-admin-bootstrap-table .zt-admin-setting-key,
.zt-admin-bootstrap-table .zt-admin-language-code,
.zt-admin-bootstrap-table .zt-admin-currency-code {
  color: #172033 !important;
  font-weight: 800 !important;
}

.zt-admin-bootstrap-table .zt-admin-setting-key i,
.zt-admin-bootstrap-table .zt-admin-language-name i,
.zt-admin-bootstrap-table .zt-admin-currency-name i {
  color: #2563eb !important;
  margin-right: 6px !important;
}

.zt-admin-bootstrap-table .zt-admin-boolean-pill.is-yes {
  color: #047857 !important;
}

.zt-admin-bootstrap-table .zt-admin-boolean-pill.is-no {
  color: #64748b !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill {
  border-radius: 6px !important;
  padding: 5px 9px !important;
  box-shadow: none !important;
}

/* Admin Bootstrap table flat status text */
.zt-admin-bootstrap-table .zt-admin-status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: none !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill.is-active,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-paid,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-confirmed,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-resolved,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-success,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-complete,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-completed {
  color: #047857 !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill.is-pending,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-pending-payment,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-reviewing,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-new,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-draft,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-open,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-sandbox {
  color: #b45309 !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill.is-quoted {
  color: #1d4ed8 !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill.is-refunded,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-cancel-requested {
  color: #6d28d9 !important;
}

.zt-admin-bootstrap-table .zt-admin-status-pill.is-inactive,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-suspended,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-cancelled,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-failed,
.zt-admin-bootstrap-table .zt-admin-status-pill.is-closed {
  color: #b91c1c !important;
}

/* Payment proof document card inside admin view modal */
.zt-customer-modal-detail.is-payment-proof {
  grid-column: 1 / -1;
  padding: 16px !important;
  border: 1px solid rgba(190, 205, 224, 0.78) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
}

.zt-customer-modal-detail.is-payment-proof > span {
  margin-bottom: 10px;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-view {
  width: 100%;
  max-width: 620px;
  display: grid;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-view img {
  width: 100%;
  max-height: 280px;
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: #fff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-file {
  min-height: 120px;
  width: 100%;
  justify-content: center;
  border-style: dashed;
  background: #f8fafc;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 9px;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 13px;
  border-radius: 9px;
  border: 1px solid rgba(37, 99, 235, 0.22);
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-actions a[download] {
  border-color: rgba(4, 120, 87, 0.22);
  background: #ecfdf5;
  color: #047857;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-actions a:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}

.zt-customer-modal-detail.is-payment-proof .zt-payment-proof-actions a[download]:hover {
  background: #047857;
  border-color: #047857;
  color: #fff;
}

@media (max-width: 767.98px) {
  .zt-customer-modal-detail.is-payment-proof .zt-payment-proof-view {
    max-width: none;
    grid-template-columns: 1fr;
  }
}

/* Dedicated crypto payment proof panel in admin payment view */
.zt-admin-payment-proof-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  align-items: center;
  gap: 18px;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(190, 205, 224, 0.86);
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.zt-admin-payment-proof-panel.is-empty {
  grid-template-columns: 1fr;
  border-style: dashed;
  background: #fbfdff;
}

.zt-admin-payment-proof-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.zt-admin-payment-proof-copy span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.zt-admin-payment-proof-copy strong {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}

.zt-admin-payment-proof-copy small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zt-admin-payment-proof-media {
  display: grid;
  gap: 12px;
  justify-items: end;
}

.zt-admin-payment-proof-preview,
.zt-admin-payment-proof-document {
  width: 100%;
  min-height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
}

.zt-admin-payment-proof-preview img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  padding: 10px;
  background: #fff;
}

.zt-admin-payment-proof-document {
  flex-direction: column;
  gap: 8px;
  color: #1d4ed8;
  font-weight: 850;
}

.zt-admin-payment-proof-document i {
  font-size: 34px;
}

.zt-admin-payment-proof-buttons {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.zt-admin-payment-proof-buttons .btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 767.98px) {
  .zt-admin-payment-proof-panel {
    grid-template-columns: 1fr;
    margin: 14px 0;
    padding: 14px;
  }

  .zt-admin-payment-proof-media {
    justify-items: stretch;
  }

  .zt-admin-payment-proof-buttons {
    grid-template-columns: 1fr;
  }
}

/* Payment proof links in admin modal summary */
.zt-admin-proof-summary-actions {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
}

.zt-admin-proof-summary-actions a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(37, 99, 235, 0.2);
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.zt-admin-proof-summary-actions a[download] {
  border-color: rgba(4, 120, 87, 0.2);
  background: #ecfdf5;
  color: #047857;
}

.zt-admin-proof-summary-actions a:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}

.zt-admin-proof-summary-actions a[download]:hover {
  background: #047857;
  border-color: #047857;
  color: #fff;
}

/* Payment proof links in admin modal summary */
.zt-admin-proof-summary-actions {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
}

.zt-admin-proof-summary-actions a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(37, 99, 235, 0.2);
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.zt-admin-proof-summary-actions a[download] {
  border-color: rgba(4, 120, 87, 0.2);
  background: #ecfdf5;
  color: #047857;
}

.zt-admin-proof-summary-actions a:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}

.zt-admin-proof-summary-actions a[download]:hover {
  background: #047857;
  border-color: #047857;
  color: #fff;
}

/* Dedicated payment record modal shell */
.zt-payment-record-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 26px 72px rgba(15, 23, 42, 0.24);
}

.zt-payment-record-modal .modal-header {
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.zt-payment-record-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.zt-payment-record-summary > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(190, 205, 224, 0.78);
  border-radius: 12px;
  background: #ffffff;
}

.zt-payment-record-summary span,
.zt-payment-record-detail-grid .zt-customer-modal-detail span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.zt-payment-record-summary strong,
.zt-payment-record-detail-grid .zt-customer-modal-detail strong {
  display: block;
  min-width: 0;
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.zt-payment-record-summary small {
  display: block;
  min-width: 0;
  margin-top: 3px;
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zt-payment-record-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.zt-payment-record-detail-grid .zt-customer-modal-detail {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 11px;
  background: #fbfdff;
}

.zt-payment-record-detail-grid .zt-customer-modal-detail.is-wide {
  grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
  .zt-payment-record-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .zt-payment-record-summary,
  .zt-payment-record-detail-grid {
    grid-template-columns: 1fr;
  }
}
/* Enterprise crypto payment review modal */
.zt-payment-record-modal .modal-dialog {
  max-width: min(1080px, calc(100vw - 32px));
}

.zt-payment-record-modal .modal-content {
  overflow: hidden;
  border: 1px solid rgba(193, 207, 224, 0.88);
  border-radius: 24px;
  background: #f8fafc;
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.28);
}

.zt-payment-record-modal .modal-header {
  position: relative;
  min-height: 108px;
  padding: 24px 70px 22px 26px;
  border-bottom: 1px solid rgba(214, 226, 240, 0.95);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(241,247,255,0.96) 100%),
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.16), transparent 34%);
}

.zt-payment-record-modal .zt-customer-modal-title-wrap {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: 100%;
}

.zt-payment-record-modal .zt-customer-modal-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  background: linear-gradient(135deg, #e0f2fe 0%, #ecfdf5 100%);
  color: #075985;
  font-size: 24px;
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.13);
}

.zt-payment-record-modal .zt-customer-modal-kicker {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zt-payment-record-modal .modal-title {
  margin: 8px 0 0;
  color: #0f172a;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 950;
  line-height: 1.1;
}

.zt-payment-record-modal .modal-header p {
  max-width: 680px;
  margin: 7px 0 0;
  color: #475569;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.45;
}

.zt-payment-record-modal .btn-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
  opacity: 1;
}

.zt-payment-record-modal .modal-body {
  display: grid;
  gap: 18px;
  padding: 22px 24px 24px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.zt-payment-record-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.zt-payment-record-summary > div {
  position: relative;
  min-width: 0;
  min-height: 94px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, 0.86);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
}

.zt-payment-record-summary > div::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #2563eb, #10b981);
}

.zt-payment-record-summary span,
.zt-payment-record-detail-grid .zt-customer-modal-detail span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.zt-payment-record-summary strong,
.zt-payment-record-detail-grid .zt-customer-modal-detail strong {
  display: block;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.zt-payment-record-summary strong .zt-admin-status-pill,
.zt-payment-record-detail-grid strong .zt-admin-status-pill {
  width: fit-content;
}

.zt-payment-record-summary small {
  display: block;
  min-width: 0;
  margin: -2px 0 0;
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zt-payment-record-modal .zt-admin-payment-proof-panel {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 360px);
  gap: 20px;
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(52, 211, 153, 0.32);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(240, 253, 244, 0.96) 0%, rgba(239, 246, 255, 0.96) 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.075);
}

.zt-payment-record-modal .zt-admin-payment-proof-panel.is-empty {
  border-style: solid;
  border-color: rgba(245, 158, 11, 0.24);
  background: linear-gradient(135deg, #fffbeb 0%, #ffffff 100%);
}

.zt-payment-record-modal .zt-admin-payment-proof-copy {
  align-content: center;
  gap: 9px;
}

.zt-payment-record-modal .zt-admin-payment-proof-copy span {
  width: fit-content;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(22, 163, 74, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #047857;
  font-size: 11px;
  font-weight: 950;
}

.zt-payment-record-modal .zt-admin-payment-proof-copy strong {
  color: #064e3b;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.18;
}

.zt-payment-record-modal .zt-admin-payment-proof-copy small {
  max-width: 100%;
  width: fit-content;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.72);
  color: #334155;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}

.zt-payment-record-modal .zt-admin-payment-proof-media {
  justify-items: stretch;
}

.zt-payment-record-modal .zt-admin-payment-proof-preview,
.zt-payment-record-modal .zt-admin-payment-proof-document {
  min-height: 220px;
  border-radius: 16px;
  border-color: rgba(148, 163, 184, 0.34);
  background: #ffffff;
}

.zt-payment-record-modal .zt-admin-payment-proof-preview img {
  height: 220px;
  padding: 12px;
}

.zt-payment-record-modal .zt-admin-payment-proof-buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.zt-payment-record-modal .zt-admin-payment-proof-buttons .btn,
.zt-payment-record-modal .zt-payment-proof-actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.zt-payment-record-modal .zt-payment-proof-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
}

.zt-payment-record-modal .zt-payment-proof-actions a:not([download]) {
  border: 1px solid rgba(37, 99, 235, 0.22);
  background: #eff6ff;
  color: #1d4ed8;
}

.zt-payment-record-modal .zt-payment-proof-actions a[download] {
  border: 1px solid rgba(5, 150, 105, 0.24);
  background: #ecfdf5;
  color: #047857;
}

.zt-payment-record-modal .zt-admin-payment-proof-buttons .btn:hover,
.zt-payment-record-modal .zt-payment-proof-actions a:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.zt-payment-record-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.zt-payment-record-detail-grid .zt-customer-modal-detail {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.96);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.zt-payment-record-detail-grid .zt-customer-modal-detail.is-wide {
  grid-column: span 2;
}

.zt-payment-record-detail-grid .zt-customer-modal-detail.is-wide:has(.zt-payment-proof-actions),
.zt-payment-record-detail-grid .zt-customer-modal-detail:has(.zt-payment-proof-empty) {
  grid-column: 1 / -1;
}

.zt-payment-record-modal .zt-payment-proof-empty {
  width: fit-content;
  padding: 8px 11px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 999px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  font-weight: 900;
}

.zt-payment-record-modal .modal-footer {
  padding: 16px 24px 20px;
  border-top: 1px solid rgba(226, 232, 240, 0.94);
  background: #ffffff;
}

.zt-payment-record-modal .modal-footer .btn {
  min-width: 118px;
  min-height: 42px;
  border-radius: 12px;
  font-weight: 850;
}

@media (max-width: 991.98px) {
  .zt-payment-record-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zt-payment-record-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zt-payment-record-modal .zt-admin-payment-proof-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .zt-payment-record-modal .modal-dialog {
    max-width: calc(100vw - 18px);
    margin-inline: auto;
  }

  .zt-payment-record-modal .modal-header {
    padding: 20px 58px 18px 18px;
  }

  .zt-payment-record-modal .modal-body {
    padding: 16px;
  }

  .zt-payment-record-summary,
  .zt-payment-record-detail-grid {
    grid-template-columns: 1fr;
  }

  .zt-payment-record-detail-grid .zt-customer-modal-detail.is-wide {
    grid-column: 1 / -1;
  }

  .zt-payment-record-modal .zt-admin-payment-proof-buttons {
    grid-template-columns: 1fr;
  }
}
/* Admin payment proof viewer page */
.zt-proof-viewer-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, 0.16), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #eaf3ff 52%, #f6fbf8 100%);
  color: #0f172a;
}

.zt-proof-viewer-shell {
  width: min(1180px, calc(100% - 32px));
  min-height: 100vh;
  display: grid;
  align-items: center;
  margin: 0 auto;
  padding: 28px 0;
}

.zt-proof-viewer-card {
  overflow: hidden;
  border: 1px solid rgba(190, 205, 224, 0.84);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.18);
  backdrop-filter: blur(12px);
}

.zt-proof-viewer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, #ffffff 0%, #f1f7ff 100%);
}

.zt-proof-viewer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #0f172a;
  text-decoration: none;
}

.zt-proof-viewer-brand > span:last-child {
  display: grid;
  gap: 2px;
}

.zt-proof-viewer-brand strong {
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
}

.zt-proof-viewer-brand small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.zt-proof-viewer-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.zt-proof-viewer-actions .btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 850;
}

.zt-proof-viewer-title {
  display: grid;
  gap: 8px;
  padding: 24px 24px 18px;
}

.zt-proof-viewer-title > span {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 11px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zt-proof-viewer-title h1 {
  margin: 0;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 950;
  line-height: 1.12;
}

.zt-proof-viewer-title p {
  max-width: 780px;
  margin: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.5;
}

.zt-proof-viewer-frame {
  margin: 0 24px 24px;
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72), 0 18px 42px rgba(15, 23, 42, 0.08);
}

.zt-proof-viewer-frame.is-image {
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.zt-proof-viewer-frame.is-image img {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  object-fit: contain;
  border-radius: 12px;
}

.zt-proof-viewer-frame.is-pdf iframe {
  display: block;
  width: 100%;
  height: min(78vh, 820px);
  min-height: 620px;
  border: 0;
  background: #ffffff;
}

.zt-proof-viewer-empty {
  min-height: 320px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  margin: 0 24px 24px;
  padding: 32px;
  border: 1px dashed rgba(148, 163, 184, 0.7);
  border-radius: 18px;
  background: #f8fafc;
  text-align: center;
}

.zt-proof-viewer-empty i {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 24px;
}

.zt-proof-viewer-empty strong {
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.zt-proof-viewer-empty span {
  color: #64748b;
  font-size: 14px;
  font-weight: 760;
}

@media (max-width: 767.98px) {
  .zt-proof-viewer-shell {
    width: min(100% - 18px, 1180px);
    padding: 10px 0;
  }

  .zt-proof-viewer-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .zt-proof-viewer-actions,
  .zt-proof-viewer-actions .btn {
    width: 100%;
  }

  .zt-proof-viewer-title,
  .zt-proof-viewer-header {
    padding-inline: 16px;
  }

  .zt-proof-viewer-frame,
  .zt-proof-viewer-empty {
    margin-inline: 16px;
  }

  .zt-proof-viewer-frame.is-image {
    min-height: 360px;
  }

  .zt-proof-viewer-frame.is-pdf iframe {
    min-height: 540px;
    height: 72vh;
  }
}
/* Customer account app shell for mobile and iPad */
@media (max-width: 1199.98px) {
  body.zt-account-shell-body {
    min-height: 100svh;
    padding-bottom: calc(94px + env(safe-area-inset-bottom)) !important;
    background: radial-gradient(circle at 12% -8%, rgba(37, 99, 235, 0.13), transparent 34%), radial-gradient(circle at 92% 6%, rgba(15, 118, 110, 0.10), transparent 30%), #f5f8fc;
  }

  body.zt-account-shell-body .zt-account-layout-shell {
    display: block !important;
    min-height: 100svh;
    background: transparent;
  }

  body.zt-account-shell-body .zt-account-sidebar {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-main {
    width: 100%;
    min-width: 0;
    padding: 0 clamp(18px, 4vw, 38px) calc(28px + env(safe-area-inset-bottom)) !important;
  }

  body.zt-account-shell-body .zt-account-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    min-height: 70px;
    margin: 0 -18px 18px !important;
    padding: 12px clamp(18px, 4vw, 38px) !important;
    border-bottom: 1px solid rgba(198, 213, 230, 0.82);
    border-radius: 0 0 22px 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(18px);
  }

  body.zt-account-shell-body .zt-account-topbar-title {
    min-width: 0;
    gap: 10px;
  }

  body.zt-account-shell-body .zt-account-topbar-icon {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 14px !important;
    font-size: 17px;
  }

  body.zt-account-shell-body .zt-account-topbar-copy {
    min-width: 0;
  }

  body.zt-account-shell-body .zt-account-topbar-copy .zt-section-kicker {
    display: block !important;
    color: #64748b;
    font-size: 10px;
  }

  body.zt-account-shell-body .zt-account-topbar-copy h1 {
    max-width: 42vw;
    overflow: hidden;
    color: #0f172a;
    font-size: clamp(19px, 3.4vw, 24px) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.zt-account-shell-body .zt-account-topbar-actions {
    display: flex !important;
    flex: 0 0 auto;
    width: auto !important;
    gap: 8px;
  }

  body.zt-account-shell-body .zt-account-topbar-home {
    width: auto !important;
    min-width: 42px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 14px;
  }

  body.zt-account-shell-body .zt-account-topbar-home span,
  body.zt-account-shell-body .zt-account-profile-copy {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-profile-toggle {
    width: auto !important;
    min-height: 44px;
    padding: 4px 8px 4px 4px !important;
    border-radius: 15px;
  }

  body.zt-account-shell-body .zt-account-profile-toggle > i {
    display: inline-block !important;
    color: #64748b;
    font-size: 12px;
  }

  body.zt-account-shell-body .zt-account-main-content {
    width: min(100%, 980px);
    max-width: 980px;
    margin: 0 auto;
  }

  body.zt-account-shell-body .zt-account-workspace-intro,
  body.zt-account-shell-body .zt-account-booking-panel,
  body.zt-account-shell-body .zt-account-form-panel,
  body.zt-account-shell-body .zt-account-security-panel,
  body.zt-account-shell-body .zt-account-traveler-form-panel,
  body.zt-account-shell-body .zt-account-traveler-list-panel {
    width: 100%;
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07);
  }

  body.zt-account-shell-body .zt-account-workspace-intro {
    margin-bottom: 14px;
    padding: clamp(18px, 3.2vw, 24px) !important;
  }

  body.zt-account-shell-body .zt-account-workspace-intro h2 {
    margin-top: 10px;
    font-size: clamp(24px, 4.4vw, 34px);
  }

  body.zt-account-shell-body .zt-account-workspace-intro p {
    max-width: 100%;
    font-size: 13.5px;
    line-height: 1.5;
  }

  body.zt-account-shell-body .zt-account-summary-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.zt-account-shell-body .zt-account-summary-card {
    min-height: 82px;
    padding: 13px;
    border-radius: 17px;
  }

  body.zt-account-shell-body .zt-account-summary-card.is-wide {
    grid-column: 1 / -1;
  }

  body.zt-account-shell-body .zt-account-action-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.zt-account-shell-body .zt-account-quick-card {
    min-height: 74px;
    padding: 13px;
    border-radius: 17px;
  }

  body.zt-account-shell-body .zt-account-quick-content small {
    font-size: 11.5px;
  }

  body.zt-account-shell-body .zt-account-panel-head {
    align-items: flex-start;
    gap: 12px;
  }

  body.zt-account-shell-body .zt-account-form,
  body.zt-account-shell-body .zt-account-security-form,
  body.zt-account-shell-body .zt-account-form-grid {
    width: 100%;
    max-width: 100%;
  }

  body.zt-account-shell-body .zt-account-booking-table-wrap,
  body.zt-account-shell-body .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.zt-account-shell-body .zt-account-booking-table {
    min-width: 720px;
  }

  body.zt-account-shell-body .zt-mobile-bottom-nav {
    display: grid !important;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  body.zt-account-shell-body .zt-account-topbar {
    margin: 0 -24px 18px !important;
  }

  body.zt-account-shell-body .zt-account-profile-dropdown {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-topbar-actions {
    gap: 12px !important;
  }

  body.zt-account-shell-body .zt-account-topbar-actions .zt-account-topbar-home,
  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle {
    position: relative;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    border: 1px solid rgba(24, 119, 242, 0.22) !important;
    border-radius: 17px !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
    color: #0b4da2 !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  }

  body.zt-account-shell-body .zt-account-topbar-actions .zt-account-topbar-home i,
  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle i {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: currentColor !important;
    font-size: 22px !important;
    line-height: 1;
  }

  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle {
    border-color: rgba(15, 118, 110, 0.24) !important;
    background: linear-gradient(135deg, #0f766e 0%, #1877f2 100%) !important;
    color: #ffffff !important;
  }

  body.zt-account-shell-body .zt-account-topbar-actions .zt-account-topbar-home:hover,
  body.zt-account-shell-body .zt-account-topbar-actions .zt-account-topbar-home:focus-visible,
  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle:hover,
  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.14) !important;
  }

  body.zt-account-shell-body .zt-account-topbar-actions .zt-notification-toggle .zt-notification-badge {
    top: -7px;
    right: -7px;
    min-width: 21px;
    height: 21px;
    border: 2px solid #ffffff;
    font-size: 10px;
  }

  body.zt-account-shell-body .zt-account-main-content {
    padding-top: 4px;
  }

  body.zt-account-shell-body .zt-account-form,
  body.zt-account-shell-body .zt-account-security-form,
  body.zt-account-shell-body .zt-account-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.zt-account-shell-body .zt-account-form-grid.is-single,
  body.zt-account-shell-body .zt-account-security-form .zt-account-form-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767.98px) {
  body.zt-account-shell-body {
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }

  body.zt-account-shell-body .zt-account-main {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body.zt-account-shell-body .zt-account-topbar {
    min-height: 66px;
    margin: 0 -14px 14px !important;
    padding: 10px 14px !important;
    border-radius: 0 0 18px 18px;
  }

  body.zt-account-shell-body .zt-account-topbar-icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
    border-radius: 13px !important;
  }

  body.zt-account-shell-body .zt-account-topbar-copy .zt-section-kicker {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-topbar-copy h1 {
    max-width: 48vw;
    font-size: 19px !important;
  }

  body.zt-account-shell-body .zt-account-topbar-home {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-profile-toggle {
    min-height: 40px !important;
    padding: 3px !important;
  }

  body.zt-account-shell-body .zt-account-profile-toggle > i {
    display: none !important;
  }

  body.zt-account-shell-body .zt-account-profile-avatar {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  body.zt-account-shell-body .zt-account-workspace-intro {
    border-radius: 18px !important;
  }

  body.zt-account-shell-body .zt-account-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.zt-account-shell-body .zt-account-summary-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 78px;
    padding: 12px;
  }

  body.zt-account-shell-body .zt-account-summary-card > span {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 13px;
  }

  body.zt-account-shell-body .zt-account-summary-card strong {
    font-size: 17px;
  }

  body.zt-account-shell-body .zt-account-action-grid,
  body.zt-account-shell-body .zt-account-detail-grid,
  body.zt-account-shell-body .zt-account-form,
  body.zt-account-shell-body .zt-account-security-form,
  body.zt-account-shell-body .zt-account-form-grid {
    grid-template-columns: 1fr !important;
  }

  body.zt-account-shell-body .zt-account-panel-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.zt-account-shell-body .zt-account-panel-head .btn,
  body.zt-account-shell-body .zt-account-form-actions .btn,
  body.zt-account-shell-body .zt-account-empty-actions .btn {
    width: 100%;
  }

  body.zt-account-shell-body .zt-account-empty-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.zt-account-shell-body .zt-account-booking-table {
    min-width: 680px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body.zt-account-shell-body .zt-account-topbar {
    margin: 0 -38px 20px !important;
  }
}

/* End customer account app shell for mobile and iPad */
/* Admin notification view modal */
.zt-admin-manage-table-notifications .zt-admin-bs-actions .zt-admin-bs-action-set {
  justify-content: flex-end;
}

.zt-notification-record-modal .modal-content {
  overflow: hidden;
  border: 1px solid rgba(190, 205, 224, 0.9);
  border-radius: 22px;
  background: #f8fafc;
  box-shadow: 0 30px 86px rgba(15, 23, 42, 0.26);
}

.zt-notification-record-modal .modal-header {
  align-items: flex-start;
  padding: 22px 58px 18px 24px;
  border-bottom: 1px solid rgba(214, 226, 240, 0.92);
  background: linear-gradient(135deg, #ffffff 0%, #f1f7ff 100%);
}

.zt-notification-modal-title-wrap {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.zt-notification-modal-icon {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 17px;
  background: linear-gradient(135deg, #1877f2, #0f766e);
  color: #fff;
  font-size: 21px;
  box-shadow: 0 16px 34px rgba(24, 119, 242, 0.22);
}

.zt-notification-modal-kicker {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef6ff;
  color: #1456b8;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.zt-notification-record-modal .modal-title {
  margin: 8px 0 4px;
  color: #0f172a;
  font-size: clamp(21px, 2.3vw, 29px);
  font-weight: 950;
  line-height: 1.1;
}

.zt-notification-record-modal .modal-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 780;
}

.zt-notification-record-modal .btn-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background-color: #fff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
  opacity: 1;
}

.zt-notification-record-modal .modal-body {
  display: grid;
  gap: 14px;
  padding: 20px 22px 22px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.zt-notification-message-card {
  display: grid;
  gap: 9px;
  padding: 16px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 16px;
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
}

.zt-notification-message-card span,
.zt-notification-summary-grid span,
.zt-notification-detail span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.zt-notification-message-card span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #1456b8;
}

.zt-notification-message-card strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.55;
}

.zt-notification-summary-grid,
.zt-notification-detail-grid {
  display: grid;
  gap: 10px;
}

.zt-notification-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zt-notification-summary-grid > div,
.zt-notification-detail {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  background: #fff;
}

.zt-notification-summary-grid strong,
.zt-notification-detail strong {
  display: block;
  min-width: 0;
  margin-top: 6px;
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.zt-notification-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zt-notification-detail.is-wide {
  grid-column: 1 / -1;
}

.zt-notification-action-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #1456b8;
  font-weight: 900;
  text-decoration: none;
}

.zt-notification-action-link:hover {
  color: #0f766e;
}

.zt-notification-record-modal .modal-footer {
  gap: 10px;
  padding: 14px 22px 22px;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  background: #ffffff;
}

.zt-notification-modal-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #1877f2, #0f766e);
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(24, 119, 242, 0.18);
}

.zt-notification-modal-primary:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

@media (max-width: 767.98px) {
  .zt-notification-modal-title-wrap,
  .zt-notification-summary-grid,
  .zt-notification-detail-grid {
    grid-template-columns: 1fr;
  }

  .zt-notification-modal-icon {
    width: 46px;
    height: 46px;
  }

  .zt-notification-record-modal .modal-header,
  .zt-notification-record-modal .modal-body,
  .zt-notification-record-modal .modal-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .zt-notification-record-modal .modal-footer .btn,
  .zt-notification-modal-primary {
    width: 100%;
  }
}
/* End admin notification view modal */
/* Hide account dashboard stat strip on phone screens */
@media (max-width: 767.98px) {
  body.zt-account-shell-body .zt-account-dashboard-page .zt-account-summary-strip {
    display: none !important;
  }
}
/* End hide account dashboard stat strip on phone screens */
/* Hide public search service tabs on phone screens */
@media (max-width: 767.98px) {
  body:not(.zt-admin-body) .zt-booking-shell .zt-flight-search-panel > .zt-booking-tabs,
  body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-panel .zt-booking-tabs,
  body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-panel .zt-flight-service-tabs,
  body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-responsive-shell-home-mobile .zt-flight-responsive-services {
    display: none !important;
  }

  body:not(.zt-admin-body) .zt-booking-shell .zt-flight-search-panel,
  body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-panel {
    padding-top: 0 !important;
  }
}
/* End hide public search service tabs on phone screens */
/* Hide home flight form service row on phone screens */
@media (max-width: 767.98px) {
  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell .zt-flight-engine-home .zt-flight-responsive-services,
  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell .zt-flight-engine-home .zt-flight-service-tabs,
  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell .zt-booking-panel > .zt-booking-tabs {
    display: none !important;
  }
}
/* End hide home flight form service row on phone screens */
/* Home popular routes mobile ticket cards */
@media (max-width: 767.98px) {
  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section {
    background: #f7fafc !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-head {
    display: grid !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 0 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-head .zt-section-kicker {
    width: fit-content;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-head .zt-section-title {
    margin-bottom: 6px !important;
    font-size: 23px !important;
    line-height: 1.1 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-head .zt-section-copy {
    margin-bottom: 0 !important;
    color: #5b6b7d !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-head .btn.btn-outline-primary {
    width: auto !important;
    justify-self: start;
    min-height: 38px;
    margin-top: 2px !important;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-grid {
    --bs-gutter-x: 0.65rem !important;
    --bs-gutter-y: 0.8rem !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-grid .zt-route-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    min-height: 0 !important;
    gap: 10px !important;
    padding: 14px !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-routes-grid .zt-route-card::before {
    inset: 0 0 auto !important;
    height: 4px !important;
    border-radius: 18px 18px 0 0 !important;
    background: linear-gradient(90deg, #1877f2, #16a34a) !important;
    opacity: 1 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-city {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding-top: 4px !important;
    text-align: left !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-city-end {
    justify-items: end !important;
    text-align: right !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-city span {
    min-width: 46px !important;
    min-height: 28px !important;
    width: fit-content !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-city strong {
    display: block !important;
    margin-top: 0 !important;
    color: #10223d !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-line {
    display: grid !important;
    grid-template-columns: 1fr 30px 1fr !important;
    align-items: center !important;
    align-self: center !important;
    width: 44px !important;
    gap: 3px !important;
    padding-top: 12px !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-line span {
    width: 100% !important;
    height: 2px !important;
    border-radius: 999px !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-line i {
    width: 30px !important;
    height: 30px !important;
    font-size: 14px !important;
    transform: rotate(24deg) !important;
    box-shadow: 0 8px 18px rgba(24, 119, 242, 0.24) !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-footer {
    display: grid !important;
    grid-column: 1 / -1 !important;
    gap: 11px !important;
    margin-top: 2px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(226, 232, 240, 0.95) !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-footer p {
    min-height: 0 !important;
    margin: 0 !important;
    color: #526173 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 10px !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-actions .zt-price {
    width: auto !important;
    min-height: 34px !important;
    justify-content: flex-start !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(245, 158, 11, 0.2) !important;
    border-radius: 11px !important;
    background: #fff7ed !important;
    color: #9a4f00 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body:not(.zt-admin-body) .zt-home-hero + .zt-booking-shell + .zt-routes-section .zt-route-search {
    width: auto !important;
    min-width: 88px !important;
    min-height: 34px !important;
    justify-content: center !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    box-shadow: 0 10px 22px rgba(24, 119, 242, 0.18) !important;
  }
}
/* End home popular routes mobile ticket cards */
/* Public and account live chat mobile tablet upgrade */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
  body:not(.zt-admin-body) .zt-live-chat,
  body.zt-account-shell-body .zt-live-chat {
    position: fixed !important;
    top: auto !important;
    left: auto !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    z-index: 33720 !important;
    transform: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat:not(.is-open),
  body.zt-account-shell-body .zt-live-chat:not(.is-open) {
    width: auto !important;
    max-width: none !important;
    pointer-events: auto !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher {
    position: relative !important;
    display: inline-grid !important;
    grid-template-columns: 1fr !important;
    width: 62px !important;
    min-width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    place-items: center !important;
    padding: 7px !important;
    border: 1px solid rgba(187, 210, 235, 0.95) !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, #ffffff 0%, #eef6ff 52%, #ecfdf5 100%) !important;
    color: #0b1f3a !important;
    box-shadow: 0 18px 38px rgba(5, 18, 35, 0.22), 0 0 0 6px rgba(24, 119, 242, 0.08) !important;
    transform: translateZ(0) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher::after,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher::after {
    content: "Live desk";
    position: absolute;
    right: 0;
    bottom: calc(100% + 9px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 6px 10px;
    border: 1px solid rgba(191, 205, 222, 0.92);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.98);
    color: #10223d;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
    pointer-events: none;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher::before,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher::before {
    content: "";
    position: absolute;
    right: 18px;
    bottom: calc(100% + 3px);
    width: 10px;
    height: 10px;
    border-right: 1px solid rgba(191, 205, 222, 0.92);
    border-bottom: 1px solid rgba(191, 205, 222, 0.92);
    background: rgba(255, 255, 255, 0.98);
    transform: rotate(45deg);
    pointer-events: none;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-launcher::before,
  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-launcher::after,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-launcher::before,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-launcher::after {
    display: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-text,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-text {
    display: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
    width: 47px !important;
    height: 47px !important;
    padding: 5px !important;
    border-radius: 17px !important;
    border-color: rgba(255, 255, 255, 0.98) !important;
    background: linear-gradient(135deg, rgba(24, 119, 242, 0.18), rgba(22, 163, 74, 0.2)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 22px rgba(24, 119, 242, 0.18) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark img,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark img {
    width: 112% !important;
    height: 112% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-unread-badge,
  body.zt-account-shell-body .zt-live-chat .zt-chat-unread-badge {
    top: -8px !important;
    right: -8px !important;
    min-width: 24px !important;
    height: 24px !important;
    padding: 0 7px !important;
    border: 2px solid #ffffff !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    box-shadow: 0 10px 20px rgba(239, 68, 68, 0.28) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open,
  body.zt-account-shell-body .zt-live-chat.is-open {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    z-index: 33750 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
  body:not(.zt-admin-body) .zt-live-chat:not(.is-on-demand).is-open .zt-chat-panel,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat:not(.is-on-demand).is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-panel {
    position: fixed !important;
    top: max(76px, env(safe-area-inset-top)) !important;
    right: 14px !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    left: 14px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(190, 207, 226, 0.94) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 28px 80px rgba(5, 18, 35, 0.28) !important;
    pointer-events: auto !important;
    transform-origin: center !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-header,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-header {
    min-height: 68px !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 60%, #f0fdf4 100%) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-agent-mark,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-agent-mark {
    width: 44px !important;
    height: 44px !important;
    border-radius: 16px !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-agent strong,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-agent strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-agent small,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-agent small {
    font-size: 10px !important;
    letter-spacing: .04em !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-close,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-close {
    width: 39px !important;
    height: 39px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-body,
  body:not(.zt-admin-body) .zt-live-chat.has-chat-started.is-open .zt-chat-body,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-body,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-body,
  body.zt-account-shell-body .zt-live-chat.has-chat-started.is-open .zt-chat-body,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-body {
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    gap: 8px !important;
    padding: 12px 13px 9px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #f8fbff 0%, #f3f6fa 100%) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.has-chat-started.is-open .zt-chat-body,
  body.zt-account-shell-body .zt-live-chat.has-chat-started.is-open .zt-chat-body {
    grid-template-rows: minmax(0, 1fr) !important;
    padding-top: 10px !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-messages,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-messages,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-messages,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-messages {
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    padding: 2px 2px 8px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-messages::-webkit-scrollbar,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-messages::-webkit-scrollbar {
    display: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-composer,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: end !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 11px 13px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: #ffffff !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer textarea,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer textarea,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-composer textarea,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer textarea {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    padding: 13px 14px !important;
    border: 1px solid rgba(190, 207, 226, 0.94) !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 20px !important;
    resize: none !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer textarea::-webkit-scrollbar,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-composer textarea::-webkit-scrollbar {
    display: none !important;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-composer button,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer button,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-composer button,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-composer button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 16px !important;
    font-size: 17px !important;
    box-shadow: 0 12px 24px rgba(24, 119, 242, 0.22) !important;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
  body:not(.zt-admin-body) .zt-live-chat,
  body.zt-account-shell-body .zt-live-chat {
    right: max(22px, env(safe-area-inset-right)) !important;
    bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    border-radius: 24px !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
    width: 52px !important;
    height: 52px !important;
    border-radius: 19px !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher::after,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher::after {
    min-height: 30px;
    padding: 7px 12px;
    font-size: 12px;
  }

  body:not(.zt-admin-body) .zt-live-chat.is-open .zt-chat-panel,
  body:not(.zt-admin-body) .zt-live-chat:not(.is-on-demand).is-open .zt-chat-panel,
  body:not(.zt-admin-body) .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat.is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat:not(.is-on-demand).is-open .zt-chat-panel,
  body.zt-account-shell-body .zt-live-chat[data-chat-source="checkout"].is-open .zt-chat-panel {
    top: 88px !important;
    right: 22px !important;
    bottom: calc(98px + env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: min(430px, calc(100vw - 44px)) !important;
    max-width: 430px !important;
    border-radius: 26px !important;
  }
}

@media (max-width: 420px) {
  body:not(.zt-admin-body) .zt-live-chat,
  body.zt-account-shell-body .zt-live-chat {
    right: 10px !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    border-radius: 20px !important;
  }

  body:not(.zt-admin-body) .zt-live-chat .zt-chat-launcher-mark,
  body.zt-account-shell-body .zt-live-chat .zt-chat-launcher-mark {
    width: 44px !important;
    height: 44px !important;
  }
}
/* End public and account live chat mobile tablet upgrade */

/* Admin flash auto-dismiss */
.zt-admin-flash-alert {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(190, 205, 224, 0.92);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.1);
    transform: translateX(0);
    transition: transform 0.42s ease, opacity 0.42s ease, max-height 0.42s ease, margin 0.42s ease, padding 0.42s ease;
}

.zt-admin-flash-alert::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: currentColor;
    opacity: 0.65;
}

.zt-admin-flash-alert.is-sliding-away {
    opacity: 0;
    transform: translateX(-32px);
    max-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-width: 0;
}

/* Admin universal table search */
.zt-admin-table-search {
  margin: -4px 0 16px;
}

.zt-admin-search-label {
  display: block;
  margin: 0 0 7px;
  color: #516174;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.zt-admin-search-control {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(181, 199, 219, 0.86);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.zt-admin-search-control > i {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eff6ff;
  color: #1877f2;
  font-size: 17px;
}

.zt-admin-search-control .form-control {
  min-width: 0;
  height: 42px;
  flex: 1 1 auto;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #172638;
  font-size: 14px;
  font-weight: 800;
  box-shadow: none;
}

.zt-admin-search-control .form-control:focus {
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(24, 119, 242, 0.22), 0 0 0 4px rgba(24, 119, 242, 0.08);
}

.zt-admin-search-button,
.zt-admin-search-clear {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
}

.zt-admin-search-button {
  padding: 0 16px;
  border: 0;
  background: linear-gradient(135deg, #1877f2, #0d63d8);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(24, 119, 242, 0.18);
}

.zt-admin-search-button:hover,
.zt-admin-search-button:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #0d63d8, #094da8);
}

.zt-admin-search-clear {
  padding: 0 13px;
  border: 1px solid rgba(181, 199, 219, 0.86);
  background: #ffffff;
  color: #475569;
}

.zt-admin-search-clear:hover,
.zt-admin-search-clear:focus {
  border-color: rgba(24, 119, 242, 0.42);
  color: #0d63d8;
  background: #eff6ff;
}

.zt-admin-search-meta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.zt-admin-search-meta i {
  color: #1877f2;
}

.zt-admin-search-meta strong {
  color: #172638;
  font-weight: 950;
}

@media (max-width: 767.98px) {
  .zt-admin-search-control {
    flex-wrap: wrap;
  }

  .zt-admin-search-control .form-control {
    flex-basis: calc(100% - 48px);
  }

  .zt-admin-search-button,
  .zt-admin-search-clear {
    flex: 1 1 132px;
  }
}
/* End admin universal table search */
.zt-admin-table-search.is-live-searching .zt-admin-search-control {
  border-color: rgba(24, 119, 242, 0.52);
  box-shadow: 0 16px 36px rgba(24, 119, 242, 0.12);
}

.zt-admin-table-search.is-live-searching .zt-admin-search-control > i {
  background: #1877f2;
  color: #ffffff;
}

.zt-admin-search-live-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  color: #1877f2;
  font-size: 12px;
  font-weight: 950;
}

.zt-admin-search-live-status::before {
  content: "";
  width: 13px;
  height: 13px;
  border: 2px solid rgba(24, 119, 242, 0.22);
  border-top-color: #1877f2;
  border-radius: 50%;
  animation: zt-admin-search-spin 0.7s linear infinite;
}

@keyframes zt-admin-search-spin {
  to { transform: rotate(360deg); }
}
.zt-notification-support-card{display:grid;gap:14px;padding:16px;border:1px solid rgba(20,184,166,.24);border-radius:18px;background:linear-gradient(135deg,#f0fdfa 0%,#fff 100%);box-shadow:0 14px 32px rgba(15,23,42,.06)}.zt-notification-support-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.zt-notification-support-head span,.zt-notification-support-grid span,.zt-notification-support-message span{color:#0f766e;font-size:11px;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.zt-notification-support-head span{display:inline-flex;align-items:center;gap:7px}.zt-notification-support-head strong{color:#0f172a;font-size:14px;font-weight:950}.zt-notification-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zt-notification-support-grid>div,.zt-notification-support-message{min-width:0;padding:13px;border:1px solid rgba(203,213,225,.86);border-radius:14px;background:rgba(255,255,255,.92)}.zt-notification-support-grid strong{display:block;margin-top:6px;overflow-wrap:anywhere;color:#111827;font-size:14px;font-weight:900}.zt-notification-support-message p{margin:8px 0 0;color:#0f172a;font-size:15px;font-weight:760;line-height:1.55;overflow-wrap:anywhere}@media(max-width:767.98px){.zt-notification-support-head{align-items:flex-start;flex-direction:column}.zt-notification-support-grid{grid-template-columns:1fr}}

/* Hotel booking responsive polish: mobile + iPad only */
@media (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-hotel-book-page {
        overflow-x: hidden;
        padding-top: clamp(94px, 11vw, 128px);
        padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    }

    body:not(.zt-admin-body) .zt-hotel-book-page .zt-container {
        width: 100%;
        max-width: 940px;
        padding-right: clamp(16px, 3.5vw, 28px);
        padding-left: clamp(16px, 3.5vw, 28px);
    }

    body:not(.zt-admin-body) .zt-hotel-book-shell {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: clamp(16px, 2.5vw, 24px) !important;
        width: 100%;
        max-width: 940px;
        margin: 0 auto;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-card,
    body:not(.zt-admin-body) .zt-hotel-guest-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-radius: 12px;
    }

    body:not(.zt-admin-body) .zt-hotel-guest-card {
        position: static !important;
        padding: clamp(18px, 3vw, 26px);
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-body,
    body:not(.zt-admin-body) .zt-hotel-guest-head,
    body:not(.zt-admin-body) .zt-hotel-guest-form,
    body:not(.zt-admin-body) .zt-hotel-input-field {
        min-width: 0;
    }

    body:not(.zt-admin-body) .zt-hotel-book-heading h1,
    body:not(.zt-admin-body) .zt-hotel-book-heading p,
    body:not(.zt-admin-body) .zt-hotel-book-meta-grid strong,
    body:not(.zt-admin-body) .zt-hotel-book-price-panel strong,
    body:not(.zt-admin-body) .zt-hotel-book-price-panel span {
        overflow-wrap: anywhere;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip,
    body:not(.zt-admin-body) .zt-hotel-book-meta-grid,
    body:not(.zt-admin-body) .zt-hotel-book-price-panel {
        width: 100%;
        max-width: 100%;
    }

    body:not(.zt-admin-body) .zt-hotel-guest-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body:not(.zt-admin-body) .zt-hotel-input-field .form-control {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-hotel-book-summary-card {
        display: grid !important;
        grid-template-columns: minmax(300px, .43fr) minmax(0, .57fr) !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-media {
        min-height: 420px !important;
        aspect-ratio: auto !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-body {
        gap: 18px;
        padding: 26px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip {
        grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) auto !important;
        gap: 12px;
        padding: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip > span {
        grid-column: auto;
        justify-self: end;
    }

    body:not(.zt-admin-body) .zt-hotel-book-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-price-panel {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-hotel-book-page .zt-container {
        max-width: 760px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-media {
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
        max-height: 390px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-body {
        gap: 17px;
        padding: 24px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip {
        grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr) !important;
        gap: 12px;
        padding: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip > span {
        grid-column: 1 / -1;
        justify-self: start;
    }

    body:not(.zt-admin-body) .zt-hotel-book-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-price-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-hotel-book-page {
        padding-top: 88px;
        padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
        background: #F6FAFF;
    }

    body:not(.zt-admin-body) .zt-hotel-book-page::before {
        height: 210px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-page .zt-container {
        padding-right: 14px;
        padding-left: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-shell {
        gap: 14px !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        box-shadow: 0 16px 34px rgba(15, 45, 80, .10);
    }

    body:not(.zt-admin-body) .zt-hotel-book-media {
        aspect-ratio: 16 / 11 !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body) .zt-hotel-book-market,
    body:not(.zt-admin-body) .zt-hotel-book-rating {
        top: 12px;
        min-height: 30px;
        padding: 6px 9px;
        font-size: 10.5px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-market {
        left: 12px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-rating {
        right: 12px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-summary-body,
    body:not(.zt-admin-body) .zt-hotel-guest-card {
        padding: 16px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-heading span,
    body:not(.zt-admin-body) .zt-hotel-guest-head span {
        min-height: 30px;
        margin-bottom: 10px;
        padding: 6px 9px;
        font-size: 10.5px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-heading h1,
    body:not(.zt-admin-body) .zt-hotel-guest-head h2 {
        font-size: 23px;
        line-height: 1.14;
    }

    body:not(.zt-admin-body) .zt-hotel-book-heading p,
    body:not(.zt-admin-body) .zt-hotel-guest-head p {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip {
        grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr) !important;
        gap: 8px;
        align-items: center;
        padding: 12px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip > i {
        width: 30px;
        height: 30px;
        transform: none !important;
        justify-self: center !important;
        font-size: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip strong {
        margin-top: 6px;
        font-size: clamp(12px, 3.4vw, 14px);
        white-space: nowrap;
    }

    body:not(.zt-admin-body) .zt-hotel-book-trip-strip > span {
        grid-column: 1 / -1;
        justify-self: start;
        min-height: 28px;
        padding: 6px 9px;
        font-size: 11px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-meta-grid,
    body:not(.zt-admin-body) .zt-hotel-book-price-panel {
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-meta-grid > div {
        min-height: 0;
        padding: 13px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-price-panel {
        padding: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-book-price-panel strong {
        font-size: 20px;
        white-space: normal;
    }

    body:not(.zt-admin-body) .zt-hotel-guest-head {
        padding-bottom: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-guest-assurance {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body:not(.zt-admin-body) .zt-hotel-guest-assurance span {
        justify-content: center;
        width: 100%;
        min-width: 0;
        padding-inline: 8px;
        text-align: center;
    }

    body:not(.zt-admin-body) .zt-hotel-input-field > i {
        bottom: 17px;
        left: 13px;
    }

    body:not(.zt-admin-body) .zt-hotel-input-field .form-control {
        min-height: 56px;
        padding: 13px 13px 13px 44px;
        font-size: 14px;
    }

    body:not(.zt-admin-body) .zt-hotel-checkout-btn,
    body:not(.zt-admin-body) .zt-hotel-change-link {
        width: 100%;
        max-width: 100%;
        justify-content: center;
    }
}



/* Card payment modal responsive scroll fix: mobile + iPad only */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) #cardPaymentModal {
        --zt-card-modal-top-gap: 18px;
        --zt-card-modal-bottom-gap: 122px;
        z-index: 10980 !important;
        overflow: hidden !important;
        padding-right: 0 !important;
        padding-bottom: var(--zt-card-modal-bottom-gap) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal.show {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal + .modal-backdrop,
    body:not(.zt-admin-body) .modal-backdrop.show {
        z-index: 10970 !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-dialog {
        display: flex !important;
        width: min(760px, calc(100vw - 28px)) !important;
        max-width: min(760px, calc(100vw - 28px)) !important;
        height: min(680px, calc(100vh - var(--zt-card-modal-top-gap) - var(--zt-card-modal-bottom-gap) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
        height: min(680px, calc(100dvh - var(--zt-card-modal-top-gap) - var(--zt-card-modal-bottom-gap) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: calc(var(--zt-card-modal-top-gap) + env(safe-area-inset-top, 0px)) auto calc(var(--zt-card-modal-bottom-gap) + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-entry-modal {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-header {
        flex: 0 0 auto !important;
        min-height: 0 !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal form[data-card-fallback-form] {
        display: flex !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        flex-direction: column !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding-bottom: 16px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-footer {
        flex: 0 0 auto !important;
        gap: 10px !important;
        min-height: 68px !important;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid rgba(213, 225, 241, .94) !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 -12px 28px rgba(7, 30, 58, .08);
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    body:not(.zt-admin-body) #cardPaymentModal {
        --zt-card-modal-top-gap: 16px;
        --zt-card-modal-bottom-gap: 116px;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-dialog {
        width: min(680px, calc(100vw - 28px)) !important;
        max-width: min(680px, calc(100vw - 28px)) !important;
        height: min(610px, calc(100dvh - var(--zt-card-modal-top-gap) - var(--zt-card-modal-bottom-gap) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-header {
        padding: 16px 60px 12px 18px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-body {
        padding: 16px 18px !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) #cardPaymentModal {
        --zt-card-modal-top-gap: 10px;
        --zt-card-modal-bottom-gap: 108px;
    }

    body:not(.zt-admin-body) #cardPaymentModal.show {
        align-items: flex-start !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-dialog {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        height: min(560px, calc(100vh - var(--zt-card-modal-top-gap) - var(--zt-card-modal-bottom-gap) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
        height: min(560px, calc(100dvh - var(--zt-card-modal-top-gap) - var(--zt-card-modal-bottom-gap) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
        margin: calc(var(--zt-card-modal-top-gap) + env(safe-area-inset-top, 0px)) auto calc(var(--zt-card-modal-bottom-gap) + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-entry-modal {
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-header {
        padding: 12px 50px 10px 14px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-modal-heading {
        gap: 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-modal-emblem {
        width: 38px !important;
        height: 38px !important;
        border-radius: 11px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-modal-kicker {
        font-size: 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-title {
        margin-top: 2px !important;
        font-size: 20px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-body {
        padding: 12px 14px 14px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-security-row {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin-bottom: 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-security-row span {
        min-height: 38px !important;
        padding: 8px 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-form-grid.is-upgraded {
        gap: 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-input-control {
        min-height: 48px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .zt-card-input-control .form-control {
        min-height: 48px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-footer {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        min-height: 62px !important;
        padding: 9px 14px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:not(.zt-admin-body) #cardPaymentModal .modal-footer .btn {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
}

/* Checkout payment modal mobile live-chat guard */
@media (max-width: 767.98px) {
    html.zt-card-modal-open-mobile body:not(.zt-admin-body) .zt-live-chat,
    html.zt-payment-modal-open-mobile body:not(.zt-admin-body) .zt-live-chat {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translate3d(0, 12px, 0) scale(0.98) !important;
    }
}
/* End checkout payment modal mobile live-chat guard */

/* Responsive payment modal stacking guard */
@media (max-width: 1199.98px), (min-width: 1200px) and (max-width: 1366px) and (pointer: coarse) {
    body:not(.zt-admin-body) .modal-backdrop.show {
        z-index: 10970 !important;
    }

    body:not(.zt-admin-body) .zt-payment-modal,
    body:not(.zt-admin-body) .zt-payment-modal.show,
    body:not(.zt-admin-body) #cardPaymentModal.show,
    body:not(.zt-admin-body) #cardUnavailableModal.show,
    body:not(.zt-admin-body) #cryptoSelectModal.show,
    body:not(.zt-admin-body) #cryptoPayModal.show,
    body:not(.zt-admin-body) #cryptoProofModal.show,
    body:not(.zt-admin-body) #paymentProofSuccessModal.show {
        z-index: 11020 !important;
        pointer-events: auto !important;
    }

    body:not(.zt-admin-body) .zt-payment-modal .modal-dialog,
    body:not(.zt-admin-body) .zt-payment-modal .modal-content {
        pointer-events: auto !important;
    }
}
/* End responsive payment modal stacking guard */

/* Search flights hosted mobile homepage parity */
body:not(.zt-admin-body) .zt-flight-search-index-mobile-form {
    display: none;
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-engine-home,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-responsive-shell {
        display: block !important;
        width: 100% !important;
        max-width: min(100%, calc(100vw - 24px)) !important;
        margin: 0 auto 18px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 42 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-ipad-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-responsive-services {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-responsive-card {
        width: 100% !important;
        padding: 13px !important;
        border: 1px solid rgba(181, 200, 220, .96) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 20px 48px rgba(15, 42, 74, .2) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-responsive-form {
        display: grid !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-search-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-trip-toggle {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 4px !important;
        border: 1px solid rgba(176, 196, 218, .95) !important;
        border-radius: 15px !important;
        background: #eef5ff !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-trip-toggle label {
        min-width: 0 !important;
        min-height: 34px !important;
        padding: 6px 4px !important;
        border-radius: 11px !important;
        font-size: 10.5px !important;
        font-weight: 900 !important;
        line-height: 1.08 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-search-note.zt-flight-helper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        max-width: none !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(205, 219, 235, .95) !important;
        border-radius: 13px !important;
        background: #f7faff !important;
        color: #48627f !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-search-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-route-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: end !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-route-pair > .zt-airport-field:first-child,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-route-pair > .zt-airport-field:last-child {
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-route-swap-wrap {
        display: flex !important;
        align-items: end !important;
        justify-content: center !important;
        min-height: 48px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-swap-btn {
        position: static !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 999px !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-date-pair {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-passenger-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-cabin-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-currency-field {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-submit-wrap {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        margin-top: 1px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-search-submit {
        width: auto !important;
        min-width: 146px !important;
        max-width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-date-pair > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-date-pair > [data-return-field],
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-date-input-shell {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field .form-label {
        display: block !important;
        margin: 0 0 4px !important;
        color: #243f58 !important;
        font-size: 10.25px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field .form-control,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field .form-select,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-field .zt-passenger-toggle,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-date-input-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-date-input-shell .form-control {
        min-height: 48px !important;
        height: 48px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-color: #b5c8dc !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-sizing: border-box !important;
        box-shadow: 0 8px 20px rgba(24, 55, 89, .08) !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-date-input-shell .form-control {
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        opacity: 0 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-airport-picker .zt-flag-select-menu,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-passenger-menu {
        width: 100% !important;
        min-width: 100% !important;
        max-width: calc(100vw - 24px) !important;
        z-index: 130000 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-panel {
        display: none !important;
        margin-top: 0 !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .94) !important;
        border-radius: 16px !important;
        background: #f7faff !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-panel.is-active {
        display: grid !important;
        gap: 10px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-head {
        display: grid !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-head strong {
        font-size: 12.5px !important;
        line-height: 1.15 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-head span {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-segment {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        border: 1px solid rgba(213, 226, 241, .92) !important;
        border-radius: 14px !important;
        background: #ffffff !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-segment .zt-segment-number,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-segment > .zt-airport-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-segment > .zt-date-field,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-multicity-segment > .zt-segment-remove {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
    }
}

@media (max-width: 389.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-route-pair {
        grid-template-columns: 1fr !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-route-swap-wrap {
        min-height: 34px !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form .zt-flight-swap-btn {
        transform: rotate(90deg) !important;
    }
}
/* End search flights hosted mobile homepage parity */

/* Hide flight result summary strip on phone screens */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-results-head {
        display: none !important;
    }
}
/* End hide flight result summary strip on phone screens */


/* Desktop breakpoint lock for mini laptops and large tablets */
@media (min-width: 992px) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: 0 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body:not(.zt-admin-body) .zt-mobile-nav-backdrop,
    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-nav-backdrop,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body:not(.zt-admin-body) .zt-navbar .zt-toggler {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body:not(.zt-admin-body) .zt-navbar .zt-container {
        padding-right: clamp(14px, 2vw, 24px) !important;
        padding-left: clamp(14px, 2vw, 24px) !important;
    }

    body:not(.zt-admin-body) .zt-brand {
        min-width: 0 !important;
        flex-shrink: 0 !important;
    }

    body:not(.zt-admin-body) .zt-brand-mark {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    body:not(.zt-admin-body) .zt-brand-copy strong {
        font-size: 15px !important;
        line-height: 1.05 !important;
    }

    body:not(.zt-admin-body) .zt-brand-copy small {
        font-size: 9.5px !important;
        line-height: 1.05 !important;
        max-width: 90px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body:not(.zt-admin-body) .zt-main-nav {
        gap: 2px !important;
        flex-wrap: nowrap !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body:not(.zt-admin-body) .zt-main-nav .nav-link {
        gap: 4px !important;
        padding: 8px 5px !important;
        border-radius: 12px !important;
        font-size: 11.25px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-main-nav .nav-link i {
        width: 17px !important;
        height: 17px !important;
        font-size: 13.5px !important;
    }

    body:not(.zt-admin-body) .zt-nav-actions {
        gap: 5px !important;
        flex-shrink: 0 !important;
    }

    body:not(.zt-admin-body) .zt-nav-actions .zt-auth-btn {
        min-height: 34px !important;
        padding: 7px 8px !important;
        border-radius: 12px !important;
        font-size: 10.75px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-nav-actions .zt-auth-btn i {
        font-size: 13px !important;
    }
}
/* End desktop breakpoint lock for mini laptops and large tablets */

/* Public desktop shell lock for mini laptops */
@media (min-width: 992px) {
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-desktop-shell {
        display: block !important;
    }

    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-responsive-shell,
    body:not(.zt-admin-body) .zt-flight-engine .zt-flight-ipad-shell {
        display: none !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-tabs {
        display: flex !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body > .tab-pane {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body > .tab-pane.active,
    body:not(.zt-admin-body):has(.zt-home-hero) .zt-booking-body > .tab-pane.show {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form {
        display: block !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-ipad-form,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-index-mobile-form {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form .zt-flight-desktop-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-desktop-shell {
        display: block !important;
    }

    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form .zt-flight-responsive-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-search-default-form .zt-flight-ipad-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-responsive-shell,
    body:not(.zt-admin-body) .zt-flight-search-page .zt-flight-engine-results .zt-flight-ipad-shell {
        display: none !important;
    }
}
/* End public desktop shell lock for mini laptops */

/* Fine pointer laptop nav guard */
@media (hover: hover) and (pointer: fine) {
    body:not(.zt-admin-body),
    body.zt-account-shell-body {
        padding-bottom: 0 !important;
    }

    body:not(.zt-admin-body) .zt-mobile-bottom-nav,
    body:not(.zt-admin-body) .zt-mobile-nav-backdrop,
    body:not(.zt-admin-body) .zt-mobile-account-sheet,
    body.zt-account-shell-body .zt-mobile-bottom-nav,
    body.zt-account-shell-body .zt-mobile-nav-backdrop,
    body.zt-account-shell-body .zt-mobile-account-sheet {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

@media (hover: hover) and (pointer: fine) and (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-navbar .zt-toggler {
        display: inline-flex !important;
    }
}
/* End fine pointer laptop nav guard */
/* Transfer booking responsive field layout repair */
@media (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-section {
        padding-top: 20px !important;
        padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-container {
        width: 100% !important;
        max-width: 760px !important;
        padding-right: max(14px, env(safe-area-inset-right)) !important;
        padding-left: max(14px, env(safe-area-inset-left)) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .row.g-4 {
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 16px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary,
    body:not(.zt-admin-body) .zt-transfer-checkout-panel {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-image {
        height: 210px !important;
        min-height: 210px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-body {
        padding: 16px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-body h2 {
        font-size: 20px !important;
        line-height: 1.18 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-body p {
        margin-bottom: 10px !important;
        font-size: 13px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-route strong,
    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-route small {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body:not(.zt-admin-body) .zt-transfer-checkout-panel .zt-panel-body {
        padding: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form-head {
        margin-bottom: 14px !important;
        padding: 14px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form-head h2 {
        font-size: 19px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form-head p {
        font-size: 12.8px !important;
        line-height: 1.45 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field,
    body:not(.zt-admin-body) .zt-transfer-book-form [class*='zt-col-'] {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field {
        position: relative !important;
        display: grid !important;
        gap: 8px !important;
        min-height: auto !important;
        padding: 12px !important;
        border: 1px solid rgba(198, 214, 233, .96) !important;
        border-radius: 14px !important;
        background: #FFFFFF !important;
        box-shadow: 0 14px 32px rgba(7, 30, 58, .07) !important;
        overflow: visible !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-label {
        margin: 0 !important;
        color: #33465D !important;
        font-size: 10.5px !important;
        line-height: 1.2 !important;
        letter-spacing: .065em !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field > i {
        left: 22px !important;
        bottom: 22px !important;
        z-index: 2 !important;
        width: 30px !important;
        height: 30px !important;
        border-radius: 9px !important;
        background: #EAF3FF !important;
        color: #1877F2 !important;
        font-size: 15px !important;
        pointer-events: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        height: auto !important;
        border-radius: 12px !important;
        border-color: rgba(180, 199, 222, .95) !important;
        background-color: #F8FBFF !important;
        color: #071E3A !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        box-shadow: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select {
        padding: 12px 40px 12px 48px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-select {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        background-position: right 14px center !important;
        background-size: 14px 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-select option {
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form input[type='date'],
    body:not(.zt-admin-body) .zt-transfer-book-form input[type='time'],
    body:not(.zt-admin-body) .zt-transfer-book-form input[type='number'] {
        padding-right: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form #pickup_address,
    body:not(.zt-admin-body) .zt-transfer-book-form #dropoff_address,
    body:not(.zt-admin-body) .zt-transfer-book-form #special_requests {
        padding-left: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form textarea.form-control {
        min-height: 116px !important;
        padding: 14px !important;
        line-height: 1.45 !important;
        resize: vertical !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button {
        width: 100% !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button {
        padding: 10px 40px 10px 10px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button .zt-flag-value {
        display: flex !important;
        min-width: 0 !important;
        max-width: 100% !important;
        gap: 8px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-menu {
        width: 100% !important;
        min-width: 100% !important;
        max-width: calc(100vw - 28px) !important;
        z-index: 45000 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-option {
        gap: 10px !important;
        padding: 10px !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-transfer-checkout-submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 52px !important;
        margin-top: 4px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-section {
        padding-top: 28px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-container {
        max-width: 820px !important;
        padding-right: 22px !important;
        padding-left: 22px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-checkout-panel .zt-panel-body {
        padding: 18px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-grid {
        gap: 14px !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-section .zt-container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-ride-summary-image {
        height: 188px !important;
        min-height: 188px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-section .zt-transfer-summary-metrics {
        gap: 8px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button {
        font-size: 13.5px !important;
    }
}

/* Transfer booking responsive left alignment correction */
@media (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-form,
    body:not(.zt-admin-body) .zt-transfer-book-form * {
        box-sizing: border-box !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-grid {
        justify-items: stretch !important;
        justify-content: stretch !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-grid > * {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        align-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        transform: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field.has-flag-select > i {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field.has-flag-select .zt-flag-select-button {
        justify-content: flex-start !important;
        padding-left: 12px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button .zt-flag-badge {
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button .zt-flag-value,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-option .zt-flag-option-text {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-airport-picker .zt-flag-select-button .zt-flag-value {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-picker-airport-code {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-picker-airport-name,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-option-text {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-flag-select-button,
    body:not(.zt-admin-body) .zt-transfer-book-form textarea.form-control {
        display: block !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-col-8.d-grid,
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-col-8.d-lg-flex {
        display: flex !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }
}

@media (max-width: 575.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field {
        padding: 11px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field > i {
        left: 20px !important;
        bottom: 21px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select {
        padding-left: 46px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field.has-flag-select .zt-flag-select-button {
        padding-left: 10px !important;
    }
}

/* Transfer booking responsive equal field text alignment */
@media (max-width: 991.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-form .zt-field > i {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-control,
    body:not(.zt-admin-body) .zt-transfer-book-form .form-select,
    body:not(.zt-admin-body) .zt-transfer-book-form textarea.form-control {
        padding-left: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form .form-select {
        padding-right: 40px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-book-form input[type='date'],
    body:not(.zt-admin-body) .zt-transfer-book-form input[type='time'],
    body:not(.zt-admin-body) .zt-transfer-book-form input[type='number'] {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* Transfer booking dedicated mobile form */
.zt-transfer-mobile-checkout {
    display: none;
}

@media (max-width: 767.98px) {
    body:not(.zt-admin-body) .zt-transfer-book-section .zt-transfer-checkout-panel {
        display: none !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-checkout {
        display: block !important;
        width: 100% !important;
        margin-top: 14px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-book-form {
        display: block !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-card {
        display: grid !important;
        width: 100% !important;
        gap: 14px !important;
        padding: 14px !important;
        border: 1px solid rgba(193, 211, 233, .96) !important;
        border-radius: 20px !important;
        background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFE 100%) !important;
        box-shadow: 0 22px 54px rgba(7, 30, 58, .12) !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-head {
        display: grid !important;
        gap: 5px !important;
        padding: 12px !important;
        border-radius: 16px !important;
        background: linear-gradient(135deg, #071E3A 0%, #124C8F 100%) !important;
        color: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-head > span,
    body:not(.zt-admin-body) .zt-transfer-mobile-group-title {
        color: #1877F2 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
        letter-spacing: .075em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-head > span {
        color: #BFE0FF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-head h2 {
        margin: 0 !important;
        color: #FFFFFF !important;
        font-size: 20px !important;
        line-height: 1.12 !important;
        letter-spacing: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-head p {
        margin: 0 !important;
        color: rgba(255, 255, 255, .82) !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-group {
        display: grid !important;
        gap: 10px !important;
        padding: 12px !important;
        border: 1px solid rgba(204, 218, 236, .92) !important;
        border-radius: 17px !important;
        background: #FFFFFF !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-field {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        gap: 6px !important;
        margin: 0 !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-field > span {
        color: #40566F !important;
        font-size: 10.5px !important;
        font-weight: 950 !important;
        letter-spacing: .055em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-control {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 12px 13px !important;
        border: 1px solid rgba(180, 199, 222, .95) !important;
        border-radius: 14px !important;
        background-color: #F8FBFF !important;
        color: #071E3A !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }

    body:not(.zt-admin-body) select.zt-transfer-mobile-control {
        padding-right: 34px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        appearance: auto !important;
    }

    body:not(.zt-admin-body) textarea.zt-transfer-mobile-control {
        min-height: 104px !important;
        resize: vertical !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-control:focus {
        border-color: rgba(24, 119, 242, .78) !important;
        background-color: #FFFFFF !important;
        box-shadow: 0 0 0 .2rem rgba(24, 119, 242, .12) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        width: 100% !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 54px !important;
        margin-top: 2px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: linear-gradient(135deg, #1877F2 0%, #0D4FA6 100%) !important;
        color: #FFFFFF !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        box-shadow: 0 18px 36px rgba(24, 119, 242, .28) !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-submit:hover,
    body:not(.zt-admin-body) .zt-transfer-mobile-submit:focus {
        background: linear-gradient(135deg, #0E5EC9 0%, #083B86 100%) !important;
        color: #FFFFFF !important;
    }
}

@media (max-width: 430px) {
    body:not(.zt-admin-body) .zt-transfer-mobile-card {
        padding: 12px !important;
        gap: 12px !important;
        border-radius: 18px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-group {
        padding: 10px !important;
        gap: 9px !important;
    }

    body:not(.zt-admin-body) .zt-transfer-mobile-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Mobile crypto selector scroll reachability */
@media (max-width: 767.98px) {
    body:not(.zt-admin-body) #cryptoSelectModal {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 8px 0 calc(92px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .modal-dialog {
        display: flex !important;
        align-items: flex-start !important;
        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 8px auto calc(92px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-select-modal {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-height: calc(100svh - 118px) !important;
        max-height: calc(100dvh - 118px) !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .modal-header {
        flex: 0 0 auto !important;
        padding: 14px 14px 12px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-modal-heading {
        gap: 10px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-modal-emblem {
        flex-basis: 42px !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 13px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-modal-emblem i {
        font-size: 19px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .modal-title {
        font-size: 20px !important;
        line-height: 1.12 !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        padding: 14px 14px calc(108px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-select-summary {
        gap: 10px !important;
        margin-bottom: 12px !important;
        padding: 12px !important;
        border-radius: 14px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-select-summary .zt-modal-copy {
        font-size: 12.8px !important;
        line-height: 1.4 !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px !important;
        padding-bottom: 4px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice {
        grid-template-columns: 42px minmax(0, 1fr) 30px !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 13px !important;
        border-radius: 15px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-icon {
        width: 40px !important;
        height: 40px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-symbol-row strong {
        font-size: 18px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-fiat,
    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-live {
        padding: 10px 11px !important;
        border-radius: 12px !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-live b {
        font-size: 16px !important;
        white-space: normal !important;
    }

    body:not(.zt-admin-body) #cryptoSelectModal .zt-crypto-choice-live em {
        white-space: normal !important;
    }
}
