/* City VIP Transfer - final public mobile full-bleed no-edge layer */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body:not(.admin-body):not(.login-page),
body:not(.admin-body):not(.login-page) * {
    min-width: 0;
    box-sizing: border-box;
}

body:not(.admin-body):not(.login-page) img,
body:not(.admin-body):not(.login-page) svg,
body:not(.admin-body):not(.login-page) video,
body:not(.admin-body):not(.login-page) canvas,
body:not(.admin-body):not(.login-page) iframe {
    max-width: 100%;
    height: auto;
}

body:not(.admin-body):not(.login-page) .table-wrap,
body:not(.admin-body):not(.login-page) .flights-table-wrap,
body:not(.admin-body):not(.login-page) .flight-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

body:not(.admin-body):not(.login-page) input,
body:not(.admin-body):not(.login-page) select,
body:not(.admin-body):not(.login-page) textarea,
body:not(.admin-body):not(.login-page) button,
body:not(.admin-body):not(.login-page) .btn {
    max-width: 100%;
}

@media (max-width: 900px) {
    html,
    body,
    body:not(.admin-body):not(.login-page) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
    }

    body:not(.admin-body):not(.login-page) main,
    body:not(.admin-body):not(.login-page) section,
    body:not(.admin-body):not(.login-page) .section,
    body:not(.admin-body):not(.login-page) .hero,
    body:not(.admin-body):not(.login-page) .hero-mini,
    body:not(.admin-body):not(.login-page) .page-hero,
    body:not(.admin-body):not(.login-page) .route-hero,
    body:not(.admin-body):not(.login-page) .footer {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
    }

    body:not(.admin-body):not(.login-page) .container,
    body:not(.admin-body):not(.login-page) main > .container,
    body:not(.admin-body):not(.login-page) section > .container,
    body:not(.admin-body):not(.login-page) .section > .container,
    body:not(.admin-body):not(.login-page) .hero > .container,
    body:not(.admin-body):not(.login-page) .hero-mini > .container,
    body:not(.admin-body):not(.login-page) .page-hero > .container,
    body:not(.admin-body):not(.login-page) .route-hero > .container,
    body:not(.admin-body):not(.login-page) .nav-wide {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body:not(.admin-body):not(.login-page) .site-header,
    body:not(.admin-body):not(.login-page) .site-header .nav-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body:not(.admin-body):not(.login-page) .site-header .nav-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body:not(.admin-body):not(.login-page) .brand-main {
        min-width: 0 !important;
        max-width: calc(100vw - 76px) !important;
    }

    body:not(.admin-body):not(.login-page) .brand-main img {
        max-width: 150px !important;
        height: auto !important;
    }

    body:not(.admin-body):not(.login-page) .brand-domain {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body:not(.admin-body):not(.login-page) .hero-grid,
    body:not(.admin-body):not(.login-page) .split-hero,
    body:not(.admin-body):not(.login-page) .grid,
    body:not(.admin-body):not(.login-page) .grid-2,
    body:not(.admin-body):not(.login-page) .grid-3,
    body:not(.admin-body):not(.login-page) .grid-4,
    body:not(.admin-body):not(.login-page) .form-grid,
    body:not(.admin-body):not(.login-page) .booking-form,
    body:not(.admin-body):not(.login-page) .guest-booking-form,
    body:not(.admin-body):not(.login-page) .meet-box,
    body:not(.admin-body):not(.login-page) .panel-preview,
    body:not(.admin-body):not(.login-page) .footer-grid,
    body:not(.admin-body):not(.login-page) .dashboard-cards,
    body:not(.admin-body):not(.login-page) .trust-row,
    body:not(.admin-body):not(.login-page) .workflow-grid,
    body:not(.admin-body):not(.login-page) .city-extra-grid,
    body:not(.admin-body):not(.login-page) .city-smart-location-highlights,
    body:not(.admin-body):not(.login-page) .contact-grid,
    body:not(.admin-body):not(.login-page) .fleet-grid,
    body:not(.admin-body):not(.login-page) .destinations-grid,
    body:not(.admin-body):not(.login-page) .partner-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body:not(.admin-body):not(.login-page) .hero-copy,
    body:not(.admin-body):not(.login-page) .split-hero > :not(.booking-card),
    body:not(.admin-body):not(.login-page) .section-title,
    body:not(.admin-body):not(.login-page) .footer-grid,
    body:not(.admin-body):not(.login-page) .city-extra-section,
    body:not(.admin-body):not(.login-page) .office-location-section > .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body:not(.admin-body):not(.login-page) #booking,
    body:not(.admin-body):not(.login-page) .booking-card,
    body:not(.admin-body):not(.login-page) .card,
    body:not(.admin-body):not(.login-page) .soft-card,
    body:not(.admin-body):not(.login-page) .search-card,
    body:not(.admin-body):not(.login-page) .route-card,
    body:not(.admin-body):not(.login-page) .vehicle-card,
    body:not(.admin-body):not(.login-page) .feature-card,
    body:not(.admin-body):not(.login-page) .success-box,
    body:not(.admin-body):not(.login-page) .voucher,
    body:not(.admin-body):not(.login-page) .dashboard-preview,
    body:not(.admin-body):not(.login-page) .phone-frame,
    body:not(.admin-body):not(.login-page) .office-location-card,
    body:not(.admin-body):not(.login-page) .city-cta-band,
    body:not(.admin-body):not(.login-page) .notice-card,
    body:not(.admin-body):not(.login-page) .admin-table {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    body:not(.admin-body):not(.login-page) #booking,
    body:not(.admin-body):not(.login-page) .booking-card,
    body:not(.admin-body):not(.login-page) .booking-card form,
    body:not(.admin-body):not(.login-page) .booking-card .form-grid,
    body:not(.admin-body):not(.login-page) .booking-card .field,
    body:not(.admin-body):not(.login-page) .location-field {
        overflow: visible !important;
    }

    body:not(.admin-body):not(.login-page) #booking,
    body:not(.admin-body):not(.login-page) .booking-card {
        padding: 24px 16px !important;
        box-shadow: none !important;
    }

    body:not(.admin-body):not(.login-page) .success-box,
    body:not(.admin-body):not(.login-page) .search-card,
    body:not(.admin-body):not(.login-page) .route-card,
    body:not(.admin-body):not(.login-page) .vehicle-card,
    body:not(.admin-body):not(.login-page) .feature-card,
    body:not(.admin-body):not(.login-page) .card,
    body:not(.admin-body):not(.login-page) .soft-card {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body:not(.admin-body):not(.login-page) .table-wrap,
    body:not(.admin-body):not(.login-page) .flights-table-wrap,
    body:not(.admin-body):not(.login-page) .flight-table-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body:not(.admin-body):not(.login-page) .tt-suggestions {
        position: fixed !important;
        z-index: 2147483000 !important;
        max-width: calc(100vw - 20px) !important;
    }
}

@media (max-width: 480px) {
    body:not(.admin-body):not(.login-page) .brand-main img {
        max-width: 132px !important;
    }

    body:not(.admin-body):not(.login-page) #booking,
    body:not(.admin-body):not(.login-page) .booking-card {
        padding: 22px 14px !important;
    }

    body:not(.admin-body):not(.login-page) .btn {
        width: 100%;
        white-space: normal;
    }
}
