/* Shared public-page layout rules. Booking pages use their own stylesheet. */
.site-body {
    overflow-wrap: anywhere;
}

.site-body main,
.site-body .row > *,
.site-body form {
    min-width: 0;
}

.site-body img,
.site-body video,
.site-body iframe,
.site-body input,
.site-body select,
.site-body textarea {
    max-width: 100%;
}

/* Map tiles keep the dimensions assigned by Google Maps inside its viewport. */
.site-body .gm-style img {
    max-width: none;
}

.site-body .btn {
    max-width: 100%;
    white-space: normal;
}

.site-body .header-nav .navbar-brand {
    max-width: 100%;
    margin-right: 0;
}

.site-body .header-nav .navbar-brand img {
    max-height: 52px;
    width: auto;
    object-fit: contain;
}

.site-body .footer .row > div {
    min-width: 0;
}

.site-body .rent-book .car-listing > .perfomance,
.site-body .explore-vehicle .car-listing > .perfomance {
    width: 100%;
    min-width: 0;
}

.site-body .rent-book .text-vew,
.site-body .explore-vehicle .text-vew {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
}

.site-body .rent-book .text-vew > *,
.site-body .explore-vehicle .text-vew > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Gallery images are direct children; let every row contribute to its height. */
.site-body .rent-book .car-gallery .middle-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
    gap: 12px;
    height: auto;
}

.site-body .rent-book .car-gallery .middle-gallery > img {
    display: block;
    width: 100%;
    min-width: 0;
    height: 180px;
    object-fit: contain;
    padding: 8px;
    background: #f8f9fa;
    border: 1px solid #e1e8e9;
    border-radius: 8px;
}

@media (max-width: 575px) {
    .site-body .rent-book .car-gallery .middle-gallery > img {
        height: 160px;
    }
}

@media (max-width: 991px) {
    .site-body .header-nav {
        height: auto;
        min-height: 72px;
    }

    .site-body .header-nav .top-nav {
        margin-inline: 0;
    }

    .site-body .header-nav .navbar-brand h3 {
        margin-bottom: 0;
    }

    .site-body .header-nav .nav-right,
    .site-body .header-nav .nav-right > .row {
        padding-inline: 0;
    }

    .site-body .header-nav .nav-right ul {
        padding-left: 0;
        margin-bottom: 0;
    }

    .site-body .menu-bar.show {
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .site-body .menu-bar .left-section {
        display: none;
    }

    .site-body .menu-bar .right-section {
        width: 100%;
        min-height: 100vh;
        min-height: 100svh;
        padding: 88px 16px 24px;
    }

    .site-body .menu-bar .menu-bar-nav {
        min-height: calc(100vh - 112px);
        min-height: calc(100svh - 112px);
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .site-body .menu-bar .menu-bar-nav ul {
        position: static !important;
        transform: none !important;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .site-body .menu-bar .right-section .footer-head {
        display: block !important;
        position: static !important;
        width: 100%;
        padding: 0 !important;
        margin-top: auto;
    }

    .site-body .menu-bar .right-section .footer-head .row {
        padding: 24px 0 0 !important;
    }

    .site-body .rent-book .car-listing > .perfomance,
    .site-body .explore-vehicle .car-listing > .perfomance {
        flex-direction: column;
    }

    .site-body .rent-book .car-listing > .perfomance > [class*="col-"],
    .site-body .explore-vehicle .car-listing > .perfomance > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex-basis: auto;
    }

    .site-body .rent-book .audi-bbok .bg-car,
    .site-body .explore-vehicle .audi-bbok .bg-car {
        border-right: 0;
    }

    .site-body .rent-book .audi-bbok .bg-car img,
    .site-body .explore-vehicle .audi-bbok .bg-car img {
        max-height: 240px;
        object-fit: contain;
    }

    .site-body .rent-book .audi-bbok .view-all .inner-view,
    .site-body .explore-vehicle .audi-bbok .view-all .inner-view {
        min-height: 0;
        padding: 16px;
    }

    .site-body .home-page {
        position: relative;
        height: auto !important;
        min-height: 100vh;
        min-height: 100svh;
        margin: 0;
        overflow: visible !important;
    }

    .site-body .home-page .upr-section {
        display: none;
    }

    .site-body .home-page .find-car-section,
    .site-body .home-page .right-section-a,
    .site-body .home-page .find-title-scetr {
        height: auto !important;
        overflow: visible;
    }

    .site-body .home-page .find-car-section {
        padding-top: 100px !important;
    }

    .site-body .home-page .find-title-scetr,
    .site-body .home-page .right-section-center {
        margin-top: 0 !important;
    }

    .site-body .home-page .right-section-center {
        width: 100%;
        padding: 16px !important;
    }

    .site-body .home-page .search-bar,
    .site-body .home-page .search-bar form {
        width: 100%;
    }

    .site-body .home-page .banner {
        position: relative;
        margin-top: 30px;
    }

    .site-body .contact .contact-form .btn,
    .site-body .partner-page .contact-form .btn {
        width: 100%;
    }

    .site-body .contact .msg-box {
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 767px) {
    .site-body :is(.rent-book, .explore-vehicle) .coolps {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
        min-height: 0;
        padding: 12px;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps.collapse:not(.show) {
        display: none;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class {
        display: block;
        width: auto;
        margin: 0;
        border: 0;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class :is(.bar-class, .bar-class-secnd) {
        margin: 0;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class .form-check {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 36px;
        padding: 0;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class .form-check input {
        flex: none;
        float: none;
        margin: 0 !important;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class .form-check .form-check-label {
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .site-body :is(.rent-book, .explore-vehicle) .coolps .vichles-class h6 {
        margin-left: 0;
    }

    .site-body .explore-vehicle .coolps .on-mobl-set {
        grid-column: 1 / -1;
        padding-top: 0;
    }

    .site-body .explore-vehicle .coolps .on-mobl-set :is(.on-mbile, .on-mbile-two) {
        flex-wrap: wrap;
        gap: 12px;
        margin: 0;
    }

    .site-body .explore-vehicle .coolps .on-mobl-set :is(.on-mbile, .on-mbile-two) .custom {
        margin: 0;
        max-width: 100%;
    }

    .site-body .header-nav .top-nav > div {
        padding-inline: 8px;
    }

    .site-body .header-nav .nav-item .btn {
        min-width: 36px;
        min-height: 40px;
        padding-inline: 8px;
    }

    .site-body .footer {
        padding-inline: 16px;
    }

    .site-body .footer .footer-first,
    .site-body .footer .footer-last {
        width: 100%;
    }

    .site-body .footer .footer-col {
        width: 50%;
        padding: 0 12px 24px 0;
    }

    .site-body .signin-page .bg-pic,
    .site-body .sign-connect .bg-pic,
    .site-body .maine .bg-pic {
        width: 100%;
        padding-inline: 0;
    }

    .site-body .signin-page .bg-pic .from-sign,
    .site-body .sign-connect .bg-pic .from-sign,
    .site-body .maine .bg-pic .from-sign {
        width: 100%;
        max-width: 100%;
        padding-inline: 16px;
    }

    .site-body .cotainer {
        width: 100%;
        padding-inline: 16px;
    }

    .site-body main table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}

@media (max-width: 676px) {
    /* The original mobile rule shifts every search input 28px out of its field. */
    .site-body .rent-book input {
        margin-left: 0 !important;
    }

    .site-body .rent-book .childern-care {
        padding-left: 0;
    }
}
