select::-ms-expand {
    display: none;
}
.header-trust-badges .trust-badges-list {
    justify-content: center;
}
.page-wrapper .header-content-inner {
    padding-right: 0;
}
.page-wrapper .header-style-4 .logo-content .logo img {
    max-width: 250px;
}
.page-wrapper .header-middle .col-lg-9 {
    max-width: 60%;
}
.page-wrapper .header-style-4 .logo-content .logo img {
    width: 250px;
    max-width: 250px;
    height: auto;
}
.page-wrapper .header-middle {
    padding: 16px 0 7px;
}
.page-wrapper .header-trust-badges {
    padding: 20px 0 13px;
}
.page-wrapper .cart-wrapper .minicart-wrapper .showcart {
    padding-left: 22px;
    padding-right: 22px;
}
.page-wrapper .search-wrapper .actions .btn-searchbox {
    height: 52px;
}
.page-wrapper .search-wrapper .control .input-box .input-searchbox {
    height: 48px;
}
.page-wrapper .cbp-vehicle-select .lc_search {
    border-radius: 10px !important;
}
.page-wrapper .cbp-vehicle-select {
    padding: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
    border-radius: 10px;
}
.page-wrapper  .cbp-vehicle-select .lc_search_inner {
    padding: 30px 34px 34px;
}
.page-wrapper .cbp-section__title {
    color: #1A1C1C;
}
body .page-wrapper h2 {
    color: #1A1C1C !important;
}
.home-customer-reviews.cbp-reviews--centered .cbp-reviews__title {
    color: #1A1C1C;
}
.page-wrapper .cbp-newsletter {
    background: #000;
}
.page-wrapper .cbp-newsletter__card {
    max-width: 1160px;
}
.page-wrapper .cbp-footer-logo {
    border-radius: 0px 50px 50px 0px;
}
/* Item count bubble on the mobile cart icon; desktop shows "N items" text. */
.cbp-cart-badge {
    display: none;
}
/* "Back to top" has z-index 60, under the product page's info column
   (config_en.css: .product-info-main z-index 99). Keep it over page content
   but under Magento modals (900+) and the cart toasts. */
.page-wrapper #yt-totop-fix {
    z-index: 890;
}

/* Mobile header: hamburger + logo + cart in one 64px row, search box on its
   own full-width row under it, trust badges as a compact strip.
   The store view's HTML Head (admin > Content > Design > Configuration)
   injects desktop-era !important rules for the logo, cart and header
   columns AFTER this file, so these selectors are one class deeper than
   those on purpose. */
@media (max-width: 991px) {
    .page-wrapper .header-style-4 .header-top .container,
    .page-wrapper .header-style-4 .header-content-wrapper .container {
        width: 100%;
        max-width: none;
        padding: 0 16px;
    }
    .page-wrapper .header-style-4 .header-top,
    .page-wrapper .header-style-4 .header-top .header-top-row,
    .page-wrapper .header-style-4 .header-top .header-login-col {
        height: auto;
    }
    .page-wrapper .header-style-4 .header-top-row {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 36px;
    }
    /* config_en.css pins this column absolutely at top:0 with a 55px height;
       let the 36px flex row center it instead. */
    .page-wrapper .header-style-4 .header-top .header-login-col {
        position: static;
    }
    /* Flex drops the inline-block whitespace so the "/" sits evenly between Log In and Sign Up */
    .page-wrapper .header-style-4 .header-top .customer-action > .header.links {
        display: flex;
        align-items: center;
    }
    .page-wrapper .header-style-4 .header-top .customer-action > .header.links > li:before {
        margin: 0 6px;
    }

    .page-wrapper .header-style-4 .header-middle {
        padding: 0 !important;
    }
    .page-wrapper .header-style-4 .header-middle .row {
        flex-wrap: wrap;
        margin: 0;
    }
    .page-wrapper .header-style-4 .header-middle .row > .col-md-3,
    .page-wrapper .header-style-4 .header-middle .row > .col-md-9 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
        margin-top: 0;
        padding: 0;
    }
    .page-wrapper .header-style-4 .header-middle .row > .col-md-9 {
        order: 3;
    }

    .page-wrapper .header-style-4 .logo-mobile-row {
        min-height: 64px;
        gap: 12px;
        padding-right: 56px; /* the cart icon sits absolutely in this gap */
    }
    .page-wrapper .header-style-4 .logo-mobile-row .logo-wrapper {
        margin-top: 0 !important;
    }
    .page-wrapper .header-style-4 .logo-mobile-row .logo-content .logo img {
        width: 150px !important;
        max-width: 150px !important;
        height: auto !important;
        max-height: none !important;
        margin-top: 0;
    }
    .page-wrapper .header-style-4 .btn-mobile .button-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        line-height: 1;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
    }
    .page-wrapper .header-style-4 .btn-mobile .button-mobile i {
        width: auto;
        height: auto;
        padding: 0;
        border: 0;
        font-size: 20px;
        line-height: 1;
        color: #1a1c1c;
    }

    .page-wrapper .header-style-4 .middle-right-content {
        min-height: 0;
        padding: 0 0 12px;
    }
    /* The theme lays the search out as a table: a 2px border on .control
       around the input and a button pulled 2px left over it. Use one 44px
       flex row instead, so the box and the button always line up. */
    .page-wrapper .header-style-4 .search-wrapper .minisearch {
        display: flex;
    }
    .page-wrapper .header-style-4 .search-wrapper .field.searchbox {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
    }
    .page-wrapper .header-style-4 .search-wrapper .control {
        display: block;
        height: 44px;
        border: 1px solid #dcdcdc;
        border-right: 0;
        border-radius: 8px 0 0 8px;
    }
    .page-wrapper .header-style-4 .search-wrapper .control .input-box {
        display: block;
    }
    .page-wrapper .header-style-4 .search-wrapper .control .input-box .input-searchbox {
        height: 42px;
        padding: 0 12px 0 14px;
        border-radius: 8px 0 0 8px;
        font-size: 16px; /* below 16px iOS zooms the page on focus */
    }
    .page-wrapper .header-style-4 .search-wrapper .actions {
        display: block;
        flex: 0 0 52px;
        width: 52px;
    }
    .page-wrapper .header-style-4 .search-wrapper .actions .btn-searchbox {
        width: 52px;
        height: 44px;
        margin: 0;
        padding: 0 !important; /* yttheme.css: padding 0 20px !important on every button */
        line-height: 44px;
        text-align: center;
        border-radius: 0 8px 8px 0;
    }

    .page-wrapper .header-style-4 .header-trust-badges {
        margin: 0 -16px;
        padding: 10px 16px;
        background: #f6f6f7;
        border-top: 1px solid #ececec;
        border-bottom: 1px solid #ececec;
    }
    .page-wrapper .header-style-4 .trust-badges-list li {
        margin: 0 24px 0 0;
    }
    .page-wrapper .header-style-4 .trust-badges-list li:last-child {
        margin-right: 0;
    }

    .page-wrapper .header-style-4 .cart-wrapper {
        top: 10px !important;
        right: 16px;
        left: auto;
        bottom: auto;
        width: 44px;
        height: 44px;
        z-index: 20;
    }
    .page-wrapper .cart-wrapper .minicart-wrapper {
        display: block;
        width: 100%;
        height: 100%;
    }
    .page-wrapper .cart-wrapper .minicart-wrapper .showcart {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        margin: 0;
        border-radius: 8px;
        background-color: #e31e24;
        padding: 0 !important;
    }
    .page-wrapper .cart-wrapper .minicart-wrapper .showcart .cart-label,
    .page-wrapper .cart-wrapper .minicart-wrapper .showcart .counter.qty {
        display: none !important;
    }
    .page-wrapper .header-style-4 .cart-wrapper .minicart-wrapper .showcart .text:before {
        margin: 0 !important;
        font-size: 18px;
    }
    .page-wrapper .cart-wrapper .showcart .cbp-cart-badge {
        display: block;
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 20px;
        height: 20px;
        padding: 0 5px;
        border: 2px solid #fff;
        border-radius: 10px;
        background: #1a1c1c;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
    }

    /* The minicart dropdown is a jQuery UI dialog: it computes its own
       inline left/top on open, sized for the old wide desktop trigger.
       Against our small mobile icon that math pushes it left, off over
       the logo. Pin it as a fixed panel below the header instead - this
       beats the widget's inline style since it's a stylesheet rule with
       !important. */
    .page-wrapper .cart-wrapper .mage-dropdown-dialog {
        position: fixed !important;
        top: var(--cbp-cart-dropdown-top, 265px) !important;
        left: 12px !important;
        right: 12px !important;
        bottom: auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        /* Drive visibility purely off the .active class (below) instead of
           the widget's own inline show/hide or the desktop :hover rule
           (header-4 shows this dropdown on mouse hover) - a mouse-based
           "mobile" test (e.g. Chrome DevTools device mode) can leave :hover
           stuck on after a click, which fought the widget's own close and
           left the panel stuck open. */
        display: none !important;
    }
    .page-wrapper .cart-wrapper .minicart-wrapper:hover .mage-dropdown-dialog {
        display: none !important;
    }
    .page-wrapper .cart-wrapper .minicart-wrapper.active .mage-dropdown-dialog {
        display: block !important;
    }
    .page-wrapper .cart-wrapper .block-minicart {
        width: 100% !important;
        max-height: calc(100vh - 130px);
        overflow-y: auto;
    }

    /* Swap the cart glyph for a close (X) glyph while the dropdown is open,
       so it's clear that tapping it again closes the panel. */
    .page-wrapper .cart-wrapper .minicart-wrapper.active .showcart .text:before {
        content: "\f00d";
    }
}

/* Phones: trust badges become three columns (icon over text) so the long
   "30-Day No-Hassle Returns" can't push the row onto three lines. */
@media (max-width: 767px) {
    .page-wrapper .header-style-4 .trust-badges-list {
        display: grid;
        grid-template-columns: repeat(3, auto);
        justify-content: space-between;
        gap: 8px;
    }
    .page-wrapper .header-style-4 .trust-badges-list li {
        flex-direction: column;
        align-items: center;
        gap: 4px;
        margin: 0;
        font-size: 11px;
        line-height: 1.25;
        text-align: center;
    }
    .page-wrapper .header-style-4 .trust-badges-list li span {
        white-space: normal;
    }
    .page-wrapper .header-style-4 .trust-badges-list img {
        width: 24px;
        height: auto;
        margin: 0;
    }

    /* Keep "back to top" above the Zendesk launcher instead of on top of it. */
    .page-wrapper #yt-totop-fix {
        right: 16px;
        bottom: 84px;
    }
}

@media (max-width: 359px) {
    .page-wrapper .header-style-4 .logo-mobile-row .logo-content .logo img {
        width: 128px !important;
        max-width: 128px !important;
    }
}
