/*
 * Mobile stability layer.
 * Loaded after the original page styles so responsive corrections stay isolated.
 */
html,
body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

body {
    position: relative;
}

img,
video,
canvas {
    max-width: 100%;
}

iframe {
    max-width: 100%;
}

/* The off-canvas menu must never enlarge the page canvas. */
@media (max-width: 991px) {
    .header .menu {
        width: min(320px, 100vw);
        max-width: 100vw;
        box-sizing: border-box;
    }

    .header .menu > ul > li .sub-menu,
    .header .menu > ul > li .sub-menu.mega-menu,
    .header .menu .menu-main,
    .header .menu .mobile-menu-head {
        max-width: 100%;
        box-sizing: border-box;
    }

    html.menu-open,
    body.menu-open {
        overflow: hidden !important;
        height: 100%;
    }
}

/* Homepage: official dealership section. */
.dealer-highlight__wrapper {
    width: min(1170px, calc(100% - 32px));
    max-width: 1170px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

.dealer-highlight__content,
.dealer-highlight__heading,
.dealer-highlight__visual,
.dealer-highlight__logo-card,
.dealer-highlight__certificate-card {
    min-width: 0;
    box-sizing: border-box;
}

@media (max-width: 1050px) {
    .dealer-highlight__wrapper {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 36px;
    }

    .dealer-highlight__heading,
    .dealer-highlight__heading p {
        width: 100%;
        max-width: none;
    }

    .dealer-highlight__visual {
        width: min(590px, 100%) !important;
        max-width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 700px) {
    .dealer-highlight__wrapper {
        width: calc(100% - 28px);
        padding: 40px 0 42px;
        gap: 28px;
    }

    .dealer-highlight__heading h2 {
        max-width: 100%;
        font-size: clamp(23px, 7vw, 28px);
        line-height: 1.18;
        overflow-wrap: anywhere;
    }

    .dealer-highlight__heading p {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.5;
    }

    .dealer-highlight__facts {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 24px;
    }

    .dealer-highlight__fact,
    .dealer-highlight__fact:first-child,
    .dealer-highlight__fact:last-child {
        width: 100%;
        min-height: 0;
        padding: 15px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(217, 217, 217, 0.14);
        box-sizing: border-box;
    }

    .dealer-highlight__fact:last-child {
        border-bottom: 0;
    }

    .dealer-highlight__link {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 0 16px;
        box-sizing: border-box;
        font-size: 14px;
        justify-content: flex-end;
    }

    .dealer-highlight__visual {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100% !important;
        gap: 12px;
    }

    .dealer-highlight__visual-label {
        width: 100%;
        align-self: stretch;
        justify-self: auto;
        justify-content: flex-start;
        padding: 0;
    }

    .dealer-highlight__logo-card {
        width: 100% !important;
        min-height: 78px;
        padding: 12px 16px;
        justify-self: auto;
    }

    .dealer-highlight__logo-card img {
        width: min(250px, 100%);
        max-width: 100%;
        max-height: 58px;
        margin: 0 auto;
    }

    .dealer-highlight__certificate-card {
        width: 100%;
    }

    .dealer-highlight__certificate-card img {
        width: 100%;
        height: auto !important;
        max-height: 390px;
        object-fit: contain;
        object-position: top center;
    }
}

@media (max-width: 430px) {
    .dealer-highlight__wrapper {
        width: calc(100% - 24px);
        padding: 34px 0 38px;
        gap: 24px;
    }

    .dealer-highlight__heading h2 {
        font-size: clamp(21px, 7.1vw, 25px);
    }

    .dealer-highlight__heading p {
        font-size: 14px;
    }

    .dealer-highlight__link {
        font-size: 13px;
        letter-spacing: .45px;
    }
}

/* Partner page responsive rules are maintained in partners.css. */

/* Production, about and common footer safeguards. */
@media (max-width: 700px) {
    .production-container,
    .about_wrapper,
    .spec_wrapper,
    .exp_wrapper,
    .sol_wrapper,
    .consult_wrapper,
    .footer_wrapper,
    .footer_content_wrapp,
    .underfooter_wrapp,
    .insert_wrapp {
        max-width: 100%;
        box-sizing: border-box;
    }

    .production-hero-inner,
    .production-equipment-card,
    .production-existing-card,
    .dealership-card,
    .membership-card {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .footer_map_wrapp,
    .footer_map_wrapp--interactive,
    .footer_map_frame {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* One long specialization title could create a few hidden pixels on 320 px screens. */
@media (max-width: 360px) {
    .block1,
    .block1_cover,
    .block1_wrapper,
    .block1_inner,
    .block1_header {
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .block1_header {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}
