/**
 * PRS02043_child — front-office overrides.
 * Loaded automatically after parent theme.css (priority 1000).
 */.header-nav .header-nav-logo {
    display: flex;
    align-items: center;
    margin-right: 16px;
    flex-shrink: 0;
}
.header-nav .header-nav-logo .logo {
    max-height: 48px;
    width: auto;
}
.header-nav .container {
    display: flex;
    align-items: center;
}

/* Main bar: flex row */
.header-main-row {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 12px;
}
.bg_main {
    padding: 15px !important;
}

/* LEFT: hamburger vertically centered */
.header-main-left {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    align-self: center;
}
.header-main-left .container.text-xs-center.mobile {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
}
.header-main-left .menu-container {
    margin-inline-end: 0;
}

/* CENTER: search bar fills remaining space, vertically centered */
.header-main-center {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    align-self: center;
}
.header-main-center .search-widget,
.header-main-center .search-widget form {
    width: 100%;
    float: none;
}

/* RIGHT: icons row, vertically centered */
.header-main-right {
    display: flex;
    align-items: center;
    align-self: center;
    flex-shrink: 0;
    gap: 8px;
}

/* Hide ps_mainmenu horizontal nav */
.header-top-main.bg_main #_top_main_menu {
    display: none !important;
}

/* Search button green */
.search-widget form button[type="submit"],
.search-widget form button[type="submit"]:hover,
.search-widget form button[type="submit"]:active,
.search-widget form button[type="submit"]:focus {
    background-color: #28a745 !important;
}

/* Mobile: keep all header items in one line */
@media (max-width: 991px) {
    .header-main-row {
        flex-wrap: nowrap;
        gap: 6px;
    }
    .header-main-center {
        flex: 1;
        min-width: 0;
    }
    .header-main-center .search-widget form {
        display: flex;
        min-width: 0;
    }
    .header-main-center .search-widget form input[type="text"],
    .header-main-center .search-widget form input[type="search"] {
        min-width: 0;
        width: 100%;
    }
    .header-main-right {
        flex-shrink: 0;
        gap: 4px;
    }
    .bg_main {
        padding: 8px 10px !important;
    }
}
/* ── Product price + shipping label alignment ── */
.product-prices .product-price {
    vertical-align: middle;
}
.product-prices .product-price h5,
.product-prices .product-price .h5 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.2;
}
.product-prices .tax-shipping-delivery-label {
    vertical-align: middle;
}

/* ── Product page: description section ── */
.product-description-section {
    margin: 32px 0;
    padding: 24px 0;
    border-top: 2px solid #eee;
}
.product-description-section .product-section-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}

@media (max-width: 767px) {
    .product-sections-nav {
        gap: 6px;
    }
    .product-section-anchor {
        padding: 7px 12px;
        font-size: 12px;
    }
}

/* Hide raw incompatibility alert — JS injects tutto-incompat-banner instead */
.tutto-compat-alert.alert-warning {
    display: none !important;
}

/* ── Global: prevent horizontal scroll from any overflowing block ── */
@media (max-width: 991px) {
    body,
    #wrapper {
        overflow-x: hidden;
        max-width: 100vw;
    }
}

/* ── Vehicle finder block: constrain to viewport on mobile ── */
@media (max-width: 991px) {
    .tutto-vehicle-finder {
        overflow-x: hidden;
        max-width: 100vw;
        width: 100%;
        box-sizing: border-box;
    }
    .tutto-vehicle-finder .container,
    .tutto-finder-layout,
    .tutto-finder-col-left,
    .tutto-finder-col-right,
    .tutto-finder-body,
    .tutto-finder-section {
        overflow-x: hidden;
        max-width: 100%;
        box-sizing: border-box;
    }
    .tutto-cs-panel {
        max-width: calc(100vw - 32px);
        box-sizing: border-box;
    }
}

/* ── Vehicle modal: fix mobile overflow ── */
@media (max-width: 767px) {
    .tutto-modal {
        justify-content: center; /* was flex-end — pushed modal rightward */
        padding: 0;
        overflow: hidden;
    }
    .tutto-modal-content {
        width: 100vw;
        max-width: 100vw;
        overflow-x: hidden;
        overflow-y: auto;
        box-sizing: border-box;
    }
    .tutto-modal-body,
    .tutto-modal-left,
    .tutto-modal-right {
        overflow-x: hidden;
        box-sizing: border-box;
        max-width: 100%;
    }
    .tutto-modal-left *,
    .tutto-modal-right * {
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ── tutto-prd-tabs: flexible width, no overlap ── */
.tutto-prd-tabs__list {
    flex-wrap: wrap; /* tabs spill to next row on very small screens */
}
.tutto-prd-tabs__item {
    flex: 1 1 auto; /* content-based min-width, grow equally */
}
.tutto-prd-tabs__btn {
    white-space: normal;       /* allow text to wrap inside tab */
    text-overflow: clip;
    word-break: break-word;
    font-size: clamp(9px, 1.8vw, 13px); /* shrink more aggressively */
    padding: 6px 8px;
    min-height: 38px;
}

@media (max-width: 575px) {
    .tutto-prd-tabs__btn {
        font-size: 10px;
        padding: 5px 6px;
        min-height: 34px;
        line-height: 1.2;
    }
}

#tutto-fitting-details.ta-custom-block {
    margin-top: 10px;
}

.block-category h1 {
    margin-bottom: 0 !important;
    padding-bottom: 5px !important;
}

/* ── End product page styles ── */

/* Button text: full on desktop, short on mobile */
.tutto-cpb-text-short { display: none; }

/* ── Vehicle selector: mobile compact ── */
@media (max-width: 767px) {

    /* Selected vehicle bar — smaller text */
    .tutto-selected-vehicle-bar {
        padding: 6px 0;
    }
    .tutto-selected-vehicle-bar .container {
        gap: 6px;
    }
    .tutto-sv-info {
        gap: 6px;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .tutto-sv-info .material-icons {
        font-size: 16px !important;
        flex-shrink: 0;
    }
    .tutto-sv-brand {
        font-size: 11px !important;
        white-space: nowrap;
    }
    .tutto-sv-model {
        font-size: 11px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .tutto-sv-count {
        display: none; /* hide on mobile to save space */
    }
    .tutto-sv-actions {
        gap: 4px;
        flex-shrink: 0;
    }
    .tutto-sv-actions .tutto-btn {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }
    .tutto-sv-actions .tutto-btn .material-icons {
        font-size: 13px !important;
    }

    /* Button: show short text only */
    .tutto-cpb-text-full { display: none; }
    .tutto-cpb-text-short { display: inline; }

    /* No-vehicle alert — compact */
    .tutto-compat-alert {
        font-size: 12px !important;
        padding: 6px 10px;
        gap: 6px;
    }
    .tutto-compat-alert .material-icons {
        font-size: 16px;
        flex-shrink: 0;
    }
    .tutto-compat-alert .tutto-cpb-btn {
        font-size: 11px !important;
        padding: 5px 10px !important;
        margin: 0 !important;
        width: auto !important;
        display: inline-flex !important;
        white-space: nowrap;
    }
    .tutto-compat-alert .tutto-cpb-btn .material-icons {
        font-size: 13px !important;
    }
}

/* Vehicle selector — full-width row below main header bar */
.header-vehicle-row {
    display: block;
    width: 100%;
    margin-top: 8px;
}
.header-vehicle-row:empty {
    display: none;
}

@media (max-width: 767px) {
    .header-vehicle-row {
        display: block !important;
        width: 100%;
        margin-top: 6px;
    }
}

.head-compare a{
    background-color: #1a1a1a;
}
.head-wishlist a{
    background-color: #1a1a1a;
}
#_desktop_cart .carthome, #_mobile_cart .carthome{
    background-color: #1a1a1a;
}
#header {
    min-height: auto !important;
}
#product-description-bottom{
    margin-top: 10px;
}

/* Checkout summary: line layout + remove (cart-summary-product-line child override) */
#js-checkout-summary #cart-summary-product-list .media {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
}
#js-checkout-summary #cart-summary-product-list .media-left {
    flex-shrink: 0;
}
#js-checkout-summary #cart-summary-product-list .cart-summary-product-line-body {
    flex: 1 1 auto;
    min-width: 0;
}
#js-checkout-summary #cart-summary-product-list .cart-summary-product-line-actions {
    flex-shrink: 0;
    padding-top: 2px;
}
#js-checkout-summary .cart-summary-remove-from-cart {
    display: inline-block;
    color: inherit;
    opacity: 0.75;
}
#js-checkout-summary .cart-summary-remove-from-cart:hover,
#js-checkout-summary .cart-summary-remove-from-cart:focus {
    opacity: 1;
    text-decoration: none;
}
#js-checkout-summary .cart-summary-remove-from-cart .material-icons {
    font-size: 20px;
    line-height: 1;
}
/**
 * PRS02043_child — front-office overrides.
 * Loaded automatically after parent theme.css (priority 1000).
 */

/* Disabled add-to-cart (incl. delivery_in_stock 40 JOURS+STOCK0) */
.product-miniature .add-to-cart-button button.add-to-cart:disabled,
.product-add-to-cart .add .add-to-cart:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

/* Homepage: displayTopColumn is output in .tutto-finder-banner and again in #wrapper-top */
body#index:has(.tutto-finder-banner) #wrapper-top {
    display: none !important;
}

/* ── Product thumbnail carousel: arrows outside image area ── */
#main .images-container .js-qv-mask .customNavigation i.prev {
    margin-left: -35px;
}
#main .images-container .js-qv-mask .customNavigation i.next {
    margin-right: -30px;
}

/* Category listing: list-only — hide grid/list switch if present (e.g. cached partial) */
#products .products-selection .display.grid_list,
#js-product-list-top .display.grid_list {
    display: none !important;
}

/* Listing: merged OEM references below product title */
.product-miniature .product-oem-references {
    margin: 4px 0 8px;
    font-size: 12px;
    line-height: 1.35;
    color: #000;
    word-break: break-word;
}
.product-miniature .product-oem-references__heading {
    font-weight: 700;
}
#js-product-list .product_list.list .product-oem-references {
    margin-top: 2px;
}

/* Listing (list view) mobile fix: product-bottom was kept at 20% width by parent CSS */
@media (max-width: 767px) {
    #products .products .list article.product_item .product-bottom,
    #products .product_list.list article.product_item .product-bottom {
        width: 100%;
        max-width: 100%;
        float: none;
        clear: both;
        text-align: left;
        padding-inline: 0;
    }

    #products .products .list article.product_item .product-bottom .add-to-cart-button,
    #products .product_list.list article.product_item .product-bottom .add-to-cart-button {
        width: 100%;
    }

    #products .products .list article.product_item .product-bottom .add-to-cart-button .btn.add-to-cart,
    #products .product_list.list article.product_item .product-bottom .add-to-cart-button .btn.add-to-cart {
        width: 100%;
        display: block;
    }

    #products .product_list.list article.product_item .product-bottom .product-list-shipping-date {
        width: 100%;
    }
}
