/*
 * Verdelilla Home — carrello laterale mobile.
 * Magento 1 / tema Ultimo-Infortis.
 *
 * Riutilizza il minicart originale:
 *   trigger:  .skip-cart[href="#header-cart"]
 *   pannello:  #header-cart
 *
 * Attivo su mobile, tablet e desktop.
 */

:root {
    --vh-cart-version: "14.0-stable-page-width";
    --vh-cart-bg: var(--vh-menu-bg, #fff);
    --vh-cart-text: var(--vh-menu-text, #333);
    --vh-cart-muted: var(--vh-menu-muted, #666);
    --vh-cart-primary: var(--vh-menu-primary, #9dcf28);
    --vh-cart-primary-dark: var(--vh-menu-primary-dark, #6f941c);
    --vh-cart-primary-text: var(--vh-menu-primary-text, #fff);
    --vh-cart-soft: var(--vh-menu-soft, #fafafa);
    --vh-cart-border: var(--vh-menu-border, #e5e5e5);
    --vh-cart-focus: var(--vh-menu-focus, #333);
    --vh-cart-shadow: var(--vh-menu-shadow, rgba(0, 0, 0, 0.26));
}

#vh-cart-overlay,
#header-cart .vhc-drawer-header,
#header-cart .vhc-custom-footer {
    display: none;
}

@media only screen {
    html.vhc-cart-open,
    html.vhc-cart-open body {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        overflow-x: clip !important;
        overscroll-behavior: none;
    }

    html.vhc-cart-open body {
        width: calc(
            100% - var(--vh-cart-scrollbar-width, 0px)
        ) !important;
        max-width: calc(
            100% - var(--vh-cart-scrollbar-width, 0px)
        ) !important;
        touch-action: auto !important;
    }

    #header-cart.vhc-cart-drawer,
    #header-cart.vhc-cart-drawer * {
        box-sizing: border-box;
    }

    #header-cart.vhc-cart-drawer {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 999999 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        width: min(90vw, 390px) !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: env(safe-area-inset-top, 0) 0 env(safe-area-inset-bottom, 0) !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-bg) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: -12px 0 34px var(--vh-cart-shadow) !important;
        opacity: 1 !important;
        overflow: hidden !important;
        overscroll-behavior: contain !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translate3d(102%, 0, 0) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
        will-change: transform !important;
        animation: none !important;
        transition: transform 520ms cubic-bezier(0.40, 0, 0.20, 1) !important;
    }

    #header-cart.vhc-cart-drawer.vhc-is-active {
        visibility: visible !important;
    }

    #header-cart.vhc-cart-drawer.vhc-is-open {
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate3d(0, 0, 0) !important;
    }

    #header-cart.vhc-cart-drawer.vhc-is-closing {
        visibility: visible !important;
        pointer-events: none !important;
        transform: translate3d(102%, 0, 0) !important;
    }

    #vh-cart-overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 999998 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        appearance: none !important;
        background: rgba(18, 24, 20, 0.58) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        cursor: pointer;
        animation: none !important;
        transition: opacity 420ms linear !important;
    }

    #vh-cart-overlay.vhc-is-active {
        visibility: visible !important;
    }

    #vh-cart-overlay.vhc-is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #vh-cart-overlay.vhc-is-closing {
        opacity: 0 !important;
        visibility: visible !important;
        pointer-events: none !important;
    }

    #header-cart .vhc-drawer-header {
        position: relative !important;
        display: flex !important;
        flex: 0 0 58px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 6px 8px 6px 18px !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-bg) !important;
        border: 0 !important;
        border-bottom: 1px solid var(--vh-cart-border) !important;
        box-shadow: none !important;
        transition: box-shadow 160ms ease;
        z-index: 8 !important;
    }

    #header-cart.vhc-cart-drawer > .vhc-drawer-header {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    #header-cart .vhc-heading {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    #header-cart .vhc-title {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--vh-cart-text) !important;
        font-family: "Roboto Condensed", "Adjusted Verdana Fallback", sans-serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
        text-align: left !important;
        text-transform: none !important;
    }

    #header-cart .vhc-summary {
        display: block !important;
        margin: 3px 0 0 !important;
        padding: 0 !important;
        color: var(--vh-cart-muted) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.15 !important;
        text-align: left !important;
    }

    #header-cart .vhc-close {
        position: relative !important;
        display: inline-flex !important;
        flex: 0 0 34px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin: 0 2px 0 0 !important;
        padding: 0 !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-soft) !important;
        border: 1px solid var(--vh-cart-border) !important;
        border-radius: 50% !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    #header-cart .vhc-close svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        fill: currentColor !important;
        pointer-events: none;
    }

    #header-cart .vhc-close:hover,
    #header-cart .vhc-close:active {
        color: var(--vh-cart-primary-text) !important;
        background: var(--vh-cart-primary) !important;
        border-color: var(--vh-cart-primary) !important;
    }

    #header-cart .vhc-close:focus-visible,
    #header-cart .vhc-checkout-link:focus-visible,
    #header-cart .vhc-cart-link:focus-visible,
    #header-cart .btn-remove:focus-visible {
        outline: 2px solid var(--vh-cart-focus) !important;
        outline-offset: 2px !important;
    }

    #header-cart .vhc-recent-title,
    #header-cart .block-content-inner > .block-subtitle {
        display: none !important;
    }

    #header-cart.vhc-cart-drawer > .block-content-inner,
    #header-cart.vhc-cart-drawer > .block-content,
    #header-cart.vhc-cart-drawer .block-content-inner {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-bg) !important;
        border: 0 !important;
    }

    #header-cart.vhc-cart-drawer > .block-content-inner,
    #header-cart.vhc-cart-drawer > .block-content {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    #header-cart.vhc-cart-drawer > .vhc-cart-content {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    #header-cart.vhc-cart-drawer >
    .vhc-cart-content:not(.mini-products-list):not(#cart-sidebar) {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        overflow: hidden !important;
    }

    /*
     * Le ombre vengono applicate agli elementi fissi, senza sovrapporre
     * alcun livello alla lista: touch, trascinamento e rotella raggiungono
     * direttamente il contenitore dei prodotti.
     */
    #header-cart.vhc-can-scroll-up .vhc-drawer-header {
        box-shadow: 0 9px 16px -14px rgba(24, 42, 30, 0.58) !important;
    }

    #header-cart.vhc-can-scroll-down .vhc-custom-footer {
        box-shadow: 0 -9px 16px -14px rgba(24, 42, 30, 0.58) !important;
    }

    #header-cart .block_mini_cart_above_products:empty,
    #header-cart .block_mini_cart_below_products:empty {
        display: none !important;
    }

    #header-cart .mini-products-list,
    #header-cart ol.mini-products-list,
    #header-cart ul.mini-products-list,
    #header-cart #cart-sidebar {
        display: block !important;
        flex: 1 1 0% !important;
        width: 100% !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 18px !important;
        position: relative !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-x: none;
        overscroll-behavior-y: contain;
        touch-action: pan-y !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: var(--vh-cart-muted) transparent;
        z-index: 1 !important;
    }

    #header-cart .mini-products-list::-webkit-scrollbar,
    #header-cart #cart-sidebar::-webkit-scrollbar {
        width: 8px;
    }

    #header-cart .mini-products-list::-webkit-scrollbar-track,
    #header-cart #cart-sidebar::-webkit-scrollbar-track {
        background: transparent;
    }

    #header-cart .mini-products-list::-webkit-scrollbar-thumb,
    #header-cart #cart-sidebar::-webkit-scrollbar-thumb {
        background: var(--vh-cart-muted);
        border: 2px solid var(--vh-cart-bg);
        border-radius: 999px;
    }

    #header-cart .mini-products-list > li,
    #header-cart .mini-products-list > li.item,
    #header-cart #cart-sidebar > li,
    #header-cart #cart-sidebar > li.item {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        float: none !important;
        height: auto !important;
        min-height: 98px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 12px 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 1px solid var(--vh-cart-border) !important;
        cursor: pointer !important;
    }

    #header-cart .mini-products-list > li::after,
    #header-cart #cart-sidebar > li::after {
        display: table;
        clear: both;
        content: "";
    }

    #header-cart .mini-products-list .product-image,
    #header-cart #cart-sidebar .product-image {
        display: block !important;
        float: left !important;
        width: 74px !important;
        max-width: 74px !important;
        margin: 0 12px 0 0 !important;
        padding: 0 !important;
        background: var(--vh-cart-soft) !important;
        border: 1px solid var(--vh-cart-border) !important;
    }

    #header-cart .mini-products-list .product-image img,
    #header-cart #cart-sidebar .product-image img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #header-cart .mini-products-list .product-details,
    #header-cart #cart-sidebar .product-details {
        min-width: 0 !important;
        min-height: 74px !important;
        margin: 0 0 0 86px !important;
        padding: 0 36px 0 0 !important;
        color: var(--vh-cart-text) !important;
        text-align: left !important;
    }

    #header-cart .mini-products-list .product-name,
    #header-cart #cart-sidebar .product-name {
        margin: 0 0 7px !important;
        padding: 0 !important;
        color: var(--vh-cart-text) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        text-align: left !important;
        text-transform: none !important;
    }

    #header-cart .mini-products-list .product-name a,
    #header-cart #cart-sidebar .product-name a {
        color: var(--vh-cart-text) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    #header-cart.vhc-cart-drawer .mini-products-list .product-name a:hover,
    #header-cart.vhc-cart-drawer .mini-products-list .product-name a:focus,
    #header-cart.vhc-cart-drawer #cart-sidebar .product-name a:hover,
    #header-cart.vhc-cart-drawer #cart-sidebar .product-name a:focus {
        color: var(--vh-cart-text) !important;
        text-decoration: underline !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 2px !important;
    }

    /*
     * Estende il vero link del prodotto a tutta la scheda, mantenendo il
     * pulsante di rimozione separato e sopra l'area cliccabile.
     */
    #header-cart .mini-products-list .product-name a::after,
    #header-cart #cart-sidebar .product-name a::after {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: block !important;
        content: "" !important;
    }

    #header-cart .mini-products-list .price,
    #header-cart #cart-sidebar .price {
        color: var(--vh-cart-text) !important;
        font-weight: 600 !important;
    }

    #header-cart .mini-products-list .qty,
    #header-cart .mini-products-list .quantity,
    #header-cart #cart-sidebar .qty,
    #header-cart #cart-sidebar .quantity {
        color: var(--vh-cart-muted) !important;
        font-size: 13px !important;
    }

    #header-cart .vhc-original-item-qty,
    #header-cart .vhc-original-item-price,
    #header-cart .vhc-original-item-meta-row,
    #header-cart .vhc-original-item-qty-fragment {
        display: none !important;
    }

    #header-cart .vhc-item-meta {
        display: block !important;
        margin: 7px 0 0 !important;
        padding: 0 !important;
        color: var(--vh-cart-text) !important;
        font-family: "Roboto Condensed", "Adjusted Verdana Fallback", sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    #header-cart .mini-products-list .btn-remove,
    #header-cart #cart-sidebar .btn-remove {
        position: absolute !important;
        top: 12px !important;
        right: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 4 !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-soft) !important;
        background-image: none !important;
        border: 1px solid var(--vh-cart-border) !important;
        border-radius: 50% !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    #header-cart .mini-products-list .btn-remove > *,
    #header-cart #cart-sidebar .btn-remove > * {
        display: none !important;
    }

    #header-cart .mini-products-list .btn-remove::before,
    #header-cart #cart-sidebar .btn-remove::before {
        display: none !important;
        content: none !important;
    }

    #header-cart .mini-products-list .btn-remove::after,
    #header-cart #cart-sidebar .btn-remove::after {
        display: block !important;
        color: currentColor !important;
        content: "×" !important;
        font: 700 18px/1 Arial, sans-serif !important;
        text-indent: 0 !important;
    }

    #header-cart .mini-products-list .btn-remove:hover,
    #header-cart .mini-products-list .btn-remove:active,
    #header-cart #cart-sidebar .btn-remove:hover,
    #header-cart #cart-sidebar .btn-remove:active {
        color: var(--vh-cart-primary-text) !important;
        background: var(--vh-cart-primary) !important;
        border-color: var(--vh-cart-primary) !important;
    }

    #header-cart .vhc-original-summary,
    #header-cart .vhc-original-actions {
        display: none !important;
    }

    #header-cart .vhc-custom-footer {
        position: relative !important;
        z-index: 8 !important;
        display: grid !important;
        flex: 0 0 auto !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 14px 18px 16px !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-bg) !important;
        border: 0 !important;
        border-top: 1px solid var(--vh-cart-border) !important;
        box-shadow: none !important;
        transition: box-shadow 160ms ease;
        overflow: visible !important;
    }

    #header-cart.vhc-cart-drawer > .vhc-custom-footer {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    #header-cart.vhc-is-empty .vhc-custom-footer {
        display: none !important;
    }

    #header-cart .vhc-shipping-note {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 0 2px !important;
        color: var(--vh-cart-muted) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
    }

    #header-cart .vhc-shipping-note svg {
        display: block !important;
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        fill: currentColor !important;
    }

    #header-cart .vhc-total-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 2px 0 4px !important;
        color: var(--vh-cart-text) !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    #header-cart .vhc-total-price {
        font-size: 17px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    #header-cart .vhc-cart-link,
    #header-cart .vhc-checkout-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        font-family: "Roboto Condensed", "Adjusted Verdana Fallback", sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    #header-cart .vhc-cart-link {
        position: relative !important;
        z-index: 2 !important;
        pointer-events: auto !important;
        color: var(--vh-cart-primary-text) !important;
        background: var(--vh-cart-primary) !important;
        border: 1px solid var(--vh-cart-primary) !important;
    }

    #header-cart .vhc-cart-link:hover,
    #header-cart .vhc-cart-link:active {
        color: var(--vh-cart-primary-text) !important;
        background: var(--vh-cart-primary-dark) !important;
        border-color: var(--vh-cart-primary-dark) !important;
        text-decoration: none !important;
    }

    #header-cart .vhc-checkout-link {
        position: relative !important;
        z-index: 2 !important;
        flex-shrink: 0 !important;
        pointer-events: auto !important;
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-bg) !important;
        border: 1px solid var(--vh-cart-border) !important;
    }

    #header-cart .vhc-checkout-link:hover,
    #header-cart .vhc-checkout-link:active {
        color: var(--vh-cart-text) !important;
        background: var(--vh-cart-soft) !important;
        border-color: var(--vh-cart-text) !important;
        text-decoration: none !important;
    }

    #header-cart .empty {
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 180px !important;
        margin: 0 !important;
        padding: 36px 24px !important;
        color: var(--vh-cart-muted) !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        text-align: center !important;
        background: var(--vh-cart-bg) !important;
    }

    #header-cart .vhc-live-status {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

@media only screen and (prefers-reduced-motion: reduce) {
    #header-cart.vhc-cart-drawer,
    #vh-cart-overlay {
        transition: none !important;
    }
}

@media only screen and (min-width: 768px) {
    #header-cart.vhc-cart-drawer {
        width: min(440px, 100vw) !important;
        max-width: 100vw !important;
    }
}
