/* Udrive theme — responsive overrides */

/* Header */
@media (max-width: 991px) {
    .main-header .header-top {
        display: none;
    }

    .main-header .header-lower .outer-box {
        flex-wrap: wrap;
        padding: 12px 0;
        gap: 10px;
    }

    .main-header .logo-box {
        flex: 1 1 auto;
        min-width: 0;
    }

    .main-header .logo-box .logo-text {
        font-size: 22px;
    }

    .main-header .menu-right {
        margin-left: auto;
    }
}

@media (max-width: 767px) {
    .main-header .menu-right .theme-btn {
        display: none;
    }
}

/* Banner & heroes */
@media (max-width: 991px) {
    .banner-section {
        padding: 24px 0 48px;
    }

    .banner-section .outer-container {
        gap: 24px;
    }

    .banner-section .content-box h2 {
        font-size: 32px;
    }

    .banner-section .image-box {
        min-width: 100%;
    }

    .banner-section .image-box img {
        height: 280px;
    }

    .page-title {
        padding: 48px 0;
    }

    .page-title h1 {
        font-size: 36px;
    }

    .udrive-content-section,
    .service-section {
        padding: 48px 0;
    }

    .sec-title h2 {
        font-size: 28px;
    }

    .main-footer .footer-top {
        padding: 48px 0 28px;
    }
}

@media (max-width: 575px) {
    .banner-section .content-box h2 {
        font-size: 28px;
    }

    .banner-section .image-box img {
        height: 220px;
    }

    .banner-search-card {
        margin-top: -24px;
        padding: 16px;
    }

    .page-title {
        padding: 36px 0;
    }

    .page-title h1 {
        font-size: 28px;
    }

    .page-title .bread-crumb {
        font-size: 12px;
    }

    .udrive-content-section,
    .service-section {
        padding: 36px 0;
    }

    .udrive-panel {
        padding: 20px;
    }

    .main-footer .footer-bottom {
        font-size: 12px;
        line-height: 1.6;
        padding: 16px 12px;
    }
}

/* Tables */
.udrive-table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.udrive-table-responsive .udrive-table {
    min-width: 640px;
}

/* Flexible CTA / button rows */
.udrive-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

@media (min-width: 992px) {
    .udrive-cta-row {
        justify-content: flex-end;
    }
}

.udrive-btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.booking-summary-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 16px;
    margin-bottom: 8px;
}

.booking-summary-row dt,
.booking-summary-row dd {
    margin: 0;
}

body.overflow-hidden {
    overflow: hidden;
}

/* Booking checkout responsive */
@media (max-width: 991px) {
    .booking-checkout-grid {
        grid-template-columns: 1fr;
    }

    .booking-checkout-summary {
        position: static;
        order: 0;
    }

    .booking-checkout-main {
        order: 1;
    }

    .booking-checkout-summary .booking-summary-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
    }

    .booking-checkout-summary .booking-summary-row dt {
        flex: unset;
    }

    .booking-checkout-summary .booking-summary-row dd {
        flex: unset;
    }

    .booking-checkout-summary .booking-summary-row--amount {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575px) {
    .booking-checkout-section {
        padding: 20px 0 32px;
    }

    .booking-checkout-header h1 {
        font-size: 1.25rem;
        flex: 1 0 100%;
    }

    .booking-checkout-card {
        padding: 16px;
    }

    .booking-checkout-fields,
    .booking-checkout-bank-grid,
    .booking-checkout-proof {
        grid-template-columns: 1fr;
    }

    .booking-checkout-payment-options {
        grid-template-columns: 1fr;
    }

    .booking-checkout-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .booking-checkout-submit {
        flex: 1 1 auto;
    }

    .booking-checkout-summary .booking-summary-row {
        grid-template-columns: 1fr;
    }
}
