:root {
    --mitsu-header-red: #ed0000;
    --mitsu-header-black: #000;
    --mitsu-header-border: #d7d7d7;
    --mitsu-header-text: #111;
}

.mitsu-search-autocomplete {
    position: relative;
}

.mitsu-search-suggestions {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    box-sizing: border-box;
    max-height: 264px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #8c8c8c;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .2);
}

.mitsu-search-suggestions[hidden] {
    display: none !important;
}

.mitsu-search-suggestion {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 12px;
    border-bottom: 1px solid #e4e4e4;
    background: #fff;
    color: #111;
    font-family: Arial, sans-serif;
    font-size: 15px;
    line-height: 1.3;
    cursor: pointer;
}

.mitsu-search-suggestion:last-child {
    border-bottom: 0;
}

.mitsu-search-guidance {
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 12px;
    background: #fff;
    color: #111;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
}

.mitsu-search-suggestion:hover,
.mitsu-search-suggestion.is-active {
    padding-left: 9px;
    border-left: 3px solid var(--mitsu-header-red);
    background: #f2f2f2;
}

@media (max-width: 1199px) {
    header#topNav {
        min-height: 0;
        padding: 0;
        border: 0;
        background: #fff;
        box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
    }

    header#topNav .mitsu-nav-container {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .mitsu-mobile-header {
        display: block !important;
        width: 100%;
    }

    .mitsu-mobile-brand {
        width: 100%;
        background: var(--mitsu-header-black);
    }

    .mitsu-mobile-brand-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 88px;
        padding: 10px 18px;
    }

    .mitsu-mobile-logo {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
    }

    .mitsu-mobile-logo img {
        display: block;
        width: 72px;
        height: 64px;
        object-fit: contain;
    }

    .mitsu-mobile-dealer-name {
        display: block;
        margin: 0 0 7px;
        color: var(--mitsu-header-red);
        font-family: MMC, Arial, sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.1;
        text-align: right;
        text-transform: uppercase;
    }

    .mitsu-mobile-dealer-contact {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        align-items: flex-end;
        min-width: 0;
        max-width: calc(100% - 96px);
    }

    header#topNav .mitsu-mobile-contact-link {
        display: inline-flex;
        align-items: flex-start;
        justify-content: flex-end;
        gap: 7px;
        max-width: 100%;
        margin: 2px 0;
        color: #fff;
        font-family: MMC, Arial, sans-serif;
        font-size: 12px;
        line-height: 1.25;
        text-align: right;
        text-decoration: none;
    }

    header#topNav .mitsu-mobile-contact-icon {
        flex: 0 0 auto;
        margin-top: 1px;
        color: #fff;
        font-size: 14px;
        transition: color 160ms ease;
    }

    header#topNav .mitsu-mobile-contact-text {
        min-width: 0;
    }

    header#topNav .mitsu-mobile-contact-link:hover,
    header#topNav .mitsu-mobile-contact-link:focus {
        color: #fff;
        text-decoration: none;
    }

    header#topNav .mitsu-mobile-contact-link:hover .mitsu-mobile-contact-icon,
    header#topNav .mitsu-mobile-contact-link:focus .mitsu-mobile-contact-icon {
        color: var(--mitsu-header-red);
    }

    header#topNav .mitsu-mobile-contact-link:hover .mitsu-mobile-contact-text,
    header#topNav .mitsu-mobile-contact-link:focus .mitsu-mobile-contact-text {
        text-decoration: underline;
    }

    header#topNav .mitsu-mobile-actions {
        position: relative;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        width: 100%;
        height: 56px;
        background: #fff;
        border-bottom: 1px solid #ddd;
    }

    header#topNav .mitsu-mobile-actions > .btn-mobile,
    header#topNav .mitsu-mobile-actions > .hd_mobi_itm {
        position: relative;
        float: none;
        width: auto;
        height: 56px;
        margin: 0 !important;
        padding: 0 !important;
    }

    header#topNav .mitsu-mobile-actions > .mitsu-mobile-action-wrap {
        position: static;
    }

    header#topNav .mitsu-mobile-action {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 56px;
        min-height: 56px;
        margin: 0;
        padding: 0;
        border: 0;
        border-right: 1px solid #e2e2e2;
        border-radius: 0;
        background: #fff;
        color: #111 !important;
        text-decoration: none;
        cursor: pointer;
    }

    header#topNav .mitsu-mobile-actions > :last-child .mitsu-mobile-action {
        border-right: 0;
    }

    header#topNav .mitsu-mobile-action:hover,
    header#topNav .mitsu-mobile-action:focus,
    header#topNav .mitsu-mobile-action[aria-expanded="true"] {
        background: #f3f3f3;
        color: var(--mitsu-header-red) !important;
        outline: 0;
    }

    header#topNav .mitsu-mobile-action:focus-visible,
    .mitsu-mobile-search-popover input:focus-visible,
    .mitsu-mobile-search-popover button:focus-visible {
        position: relative;
        z-index: 1;
        outline: 3px solid var(--mitsu-header-red);
        outline-offset: -3px;
    }

    header#topNav .mitsu-mobile-action .fa,
    header#topNav .mitsu-mobile-action .fal,
    header#topNav .mitsu-mobile-action .far,
    header#topNav .mitsu-mobile-action .fas {
        color: currentColor !important;
        font-size: 22px !important;
        line-height: 1;
    }

    header#topNav .mitsu-mobile-actions .dropdown-menu {
        top: 56px;
        right: 12px !important;
        left: 12px !important;
        width: auto;
        min-width: 0;
        max-width: none;
        margin: 0;
        padding-top: 0;
        border-radius: 0;
        z-index: 1700;
    }

    header#topNav .mitsu-mobile-actions .dropdown-menu > li > a,
    header#topNav .mitsu-mobile-actions .dropdown-menu > li label {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .mitsu-mobile-search-popover {
        position: absolute;
        z-index: 1750;
        top: calc(100% + 8px);
        right: 0;
        width: min(350px, calc(100vw - 24px));
        padding: 16px;
        visibility: hidden;
        border: 1px solid #d6d6d6;
        background: #fff;
        box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-5px);
        transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    }

    .mitsu-mobile-search-popover.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .mitsu-mobile-search-popover label {
        display: block;
        margin: 0 0 10px;
        color: #222;
        font-family: MMC, Arial, sans-serif;
        font-size: 15px;
        font-weight: 700;
    }

    .mitsu-mobile-search-field {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px;
        border: 1px solid #8c8c8c;
    }

    .mitsu-mobile-search-field input {
        width: 100%;
        height: 46px;
        padding: 0 12px;
        border: 0;
        color: #111;
        font-size: 15px;
    }

    .mitsu-mobile-search-field button {
        width: 48px;
        height: 46px;
        padding: 0;
        border: 0;
        background: #000;
        color: #fff;
        font-size: 17px;
    }

    header#topNav div.nav-main-collapse,
    header#topNav div.nav-main-collapse.in {
        box-sizing: border-box;
        width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-top: 0;
        background: #fff;
    }

    header#topNav .nav-main-collapse nav ul.nav-main > li > a,
    header#topNav .nav-main-collapse nav ul.nav-main > li > a strong,
    header#topNav .nav-main-collapse nav ul.nav-main > li > a .fa {
        color: #111 !important;
    }

    header#topNav .nav-main-collapse nav ul.nav-main > li > a {
        background: #fff !important;
        font-size: 16px;
    }

    header#topNav .nav-main-collapse nav ul.nav-main ul.dropdown-menu,
    header#topNav .nav-main-collapse nav ul.nav-main ul.dropdown-menu > li > a {
        background: #fff !important;
        color: #111 !important;
    }

    header#topNav .nav-main-collapse nav ul.nav-main ul.dropdown-menu > li > a {
        font-size: 14px;
    }

    header#topNav .nav-main-collapse nav ul.nav-main > li > a:hover,
    header#topNav .nav-main-collapse nav ul.nav-main > li > a:focus,
    header#topNav .nav-main-collapse nav ul.nav-main ul.dropdown-menu > li > a:hover,
    header#topNav .nav-main-collapse nav ul.nav-main ul.dropdown-menu > li > a:focus {
        background: #f2f2f2 !important;
        color: var(--mitsu-header-red) !important;
    }
}

@media (max-width: 420px) {
    .mitsu-mobile-brand-inner {
        min-height: 82px;
        padding: 8px 14px;
    }

    .mitsu-mobile-logo img {
        width: 66px;
        height: 60px;
    }

    .mitsu-mobile-dealer-name {
        font-size: 16px;
    }

    .mitsu-mobile-dealer-contact {
        max-width: calc(100% - 86px);
    }

    header#topNav .mitsu-mobile-contact-link {
        font-size: 11.5px;
    }
}


@media (min-width: 1200px) {
    header#topHead { border: 0; background: var(--mitsu-header-black); }
    .mitsu-brand-bar { min-height: 142px; background: var(--mitsu-header-black); color: #fff; }
    .mitsu-brand-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: stretch; width: 100%; max-width: 1540px; min-height: 142px; margin: 0 auto; padding: 0 34px; }
    header#topHead .mitsu-brand-logo { display: flex; align-items: center; width: 180px; margin: 26px 0; padding: 0 34px 0 14px; border-right: 0; }
    header#topHead .mitsu-brand-logo img { display: block; width: 108px; max-height: 94px; object-fit: contain; }
    .mitsu-dealer-contact { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; min-width: 0; }
    .mitsu-dealer-name { margin: 0 0 15px; color: var(--mitsu-header-red); font-family: MMC, Arial, sans-serif; font-size: 28px; font-weight: 700; line-height: 1.05; text-transform: uppercase; }
    .mitsu-contact-row { display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
    header#topHead .mitsu-contact-link { display: inline-flex; align-items: center; gap: 14px; min-height: 38px; padding: 0 30px; color: #fff; font-family: MMC, Arial, sans-serif; font-size: 17px; line-height: 1.3; text-decoration: none; white-space: nowrap; }
    header#topHead .mitsu-contact-link:first-child { border-right: 1px solid #777; }
    header#topHead .mitsu-contact-link:last-child { padding-right: 0; }
    header#topHead .mitsu-contact-link .mitsu-contact-icon { color: #fff; font-size: 27px; transition: color 160ms ease; }
    header#topHead .mitsu-contact-link:hover, header#topHead .mitsu-contact-link:focus { color: #fff; text-decoration: none; }
    header#topHead .mitsu-contact-link:hover .mitsu-contact-icon, header#topHead .mitsu-contact-link:focus .mitsu-contact-icon { color: var(--mitsu-header-red); }
    header#topHead .mitsu-contact-link:hover .mitsu-contact-text, header#topHead .mitsu-contact-link:focus .mitsu-contact-text { text-decoration: underline; text-underline-offset: 3px; }
    header#topNav { min-height: 80px; padding: 0; border: 0; border-bottom: 1px solid #ececec; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }
    header#topNav .mitsu-nav-container { width: 100%; max-width: 1540px; height: 80px; padding: 0 34px; }
    header#topNav div.nav-main-collapse { float: none; width: 100%; height: 80px !important; margin: 0; }
    header#topNav nav.nav-main, header#topNav nav ul.nav-main { width: 100%; height: 80px; }
    header#topNav nav ul.nav-main { display: flex; align-items: center; justify-content: space-between; margin: 0; }
    header#topNav nav ul.nav-main > li { position: relative; float: none; flex: 0 1 auto; margin: 0; }
    header#topNav nav ul.nav-main > li > a, header#topNav nav ul.nav-main > li > a:hover, header#topNav nav ul.nav-main > li > a:focus, header#topNav nav ul.nav-main > li.dropdown:hover > a { display: flex; align-items: center; gap: 8px; min-height: 80px; margin: 0; padding: 0 12px; border-radius: 0; background: #fff; color: var(--mitsu-header-text); font-family: MMC, Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 1.1; text-transform: uppercase; white-space: nowrap; }
    header#topNav nav ul.nav-main > li > a:hover, header#topNav nav ul.nav-main > li > a:focus, header#topNav nav ul.nav-main > li.dropdown.open > a, header#topNav nav ul.nav-main > li.dropdown:hover > a { color: var(--mitsu-header-red); }
    header#topNav nav ul.nav-main > li.dropdown:hover > a:after { display: none; }
    header#topNav nav ul.nav-main > li > a .fa-angle-down { font-size: 13px; }
    header#topNav nav ul.nav-main ul.dropdown-menu { top: 80px; min-width: 230px; padding: 8px 0; border: 1px solid #dedede; border-radius: 0; background: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16); }
    header#topNav nav ul.nav-main ul.dropdown-menu > li > a { padding: 9px 16px; color: #222; font-family: MMC, Arial, sans-serif; font-size: 16px; }
    header#topNav nav ul.nav-main ul.dropdown-menu > li > a:hover, header#topNav nav ul.nav-main ul.dropdown-menu > li > a:focus { background: #f2f2f2; color: var(--mitsu-header-red); }
    header#topNav .mitsu-language-control { margin-left: auto !important; padding-left: 24px; border-left: 1px solid var(--mitsu-header-border); }
    header#topNav nav ul.nav-main > li.mitsu-language-control > a { min-width: 108px; justify-content: center; padding: 0 14px; font-size: 16px; }
    .mitsu-language-control > a .fa-globe { font-size: 23px; }
    .mitsu-language-control .dropdown-menu { right: 0; left: auto; margin-left: 0 !important; }
    header#topNav .mitsu-search-control { flex: 0 0 54px !important; margin-left: 8px !important; }
    .mitsu-search-toggle { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; padding: 0; border: 0; border-radius: 0; background: #000; color: #fff; font-size: 23px; cursor: pointer; }
    .mitsu-search-toggle:hover, .mitsu-search-toggle:focus, .mitsu-search-toggle[aria-expanded="true"] { background: var(--mitsu-header-red); color: #fff; outline: 0; }
    .mitsu-search-toggle:focus-visible, .mitsu-search-popover input:focus-visible, .mitsu-search-popover button:focus-visible { outline: 3px solid var(--mitsu-header-red); outline-offset: 2px; }
    .mitsu-search-popover { position: absolute; z-index: 1600; top: calc(100% + 12px); right: 0; width: 350px; padding: 18px; visibility: hidden; border: 1px solid #d6d6d6; background: #fff; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22); opacity: 0; pointer-events: none; transform: translateY(-5px); transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease; }
    .mitsu-search-popover.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
    .mitsu-search-popover label { display: block; margin: 0 0 10px; color: #222; font-family: MMC, Arial, sans-serif; font-size: 15px; font-weight: 700; }
    .mitsu-search-field { display: grid; grid-template-columns: minmax(0, 1fr) 48px; border: 1px solid #8c8c8c; }
    .mitsu-search-field input { width: 100%; height: 46px; padding: 0 12px; border: 0; color: #111; font-size: 15px; }
    .mitsu-search-field button { width: 48px; height: 46px; padding: 0; border: 0; background: #000; color: #fff; font-size: 17px; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .mitsu-brand-shell, header#topNav .mitsu-nav-container { padding-right: 22px; padding-left: 22px; }
    header#topNav nav ul.nav-main > li > a, header#topNav nav ul.nav-main > li > a:hover, header#topNav nav ul.nav-main > li > a:focus, header#topNav nav ul.nav-main > li.dropdown:hover > a { gap: 5px; padding-right: 8px; padding-left: 8px; font-size: 14px; }
    header#topNav nav ul.nav-main ul.dropdown-menu > li > a { font-size: 14px; }
    header#topNav .mitsu-language-control { padding-left: 10px; }
    header#topNav nav ul.nav-main > li.mitsu-language-control > a { min-width: 86px; padding-right: 8px; padding-left: 8px; font-size: 14px; }
}
