/*
 * Verdelilla Home — slide menu mobile per Magento 1 / tema Ultimo.
 * Il menu e gli URL vengono letti dal #mainmenu già presente nella pagina.
 */

:root {
    --vh-menu-version: "4.1-torna-indietro";
    --vh-menu-bg: #fff;
    --vh-menu-text: #333;
    --vh-menu-muted: #666;
    --vh-menu-primary: #9dcf28;
    --vh-menu-primary-dark: #6f941c;
    --vh-menu-primary-text: #fff;
    --vh-menu-soft: #fafafa;
    --vh-menu-border: #e5e5e5;
    --vh-menu-focus: #333;
    --vh-menu-shadow: rgba(0, 0, 0, 0.26);
}

#vh-menu-app {
    display: none;
}

@media only screen and (max-width: 1024px) {
    html.vh-menu-open,
    html.vh-menu-open body {
        overflow: hidden !important;
        overscroll-behavior: none;
    }

    #vh-menu-app,
    #vh-menu-app * {
        box-sizing: border-box;
    }

    #vh-menu-app {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: hidden;
        pointer-events: none;
        z-index: 100000 !important;
    }

    #vh-menu-app.is-open {
        visibility: visible;
        pointer-events: auto;
    }

    #vh-menu-app .vh-overlay {
        position: absolute !important;
        inset: 0 !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;
        cursor: pointer;
        transition: opacity 220ms ease;
    }

    #vh-menu-app.is-open .vh-overlay {
        opacity: 1;
    }

    #vh-menu-app .vh-drawer {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        display: grid !important;
        grid-template-rows: 48px minmax(0, 1fr) 58px;
        width: min(90vw, 390px) !important;
        max-width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: env(safe-area-inset-top, 0) 0 env(safe-area-inset-bottom, 0) !important;
        color: var(--vh-menu-text) !important;
        background: var(--vh-menu-bg) !important;
        border: 0 !important;
        box-shadow: 12px 0 34px var(--vh-menu-shadow) !important;
        overflow: hidden !important;
        transform: translate3d(-102%, 0, 0);
        transition: transform 280ms cubic-bezier(0.22, 0.61, 0.36, 1);
    }

    #vh-menu-app.is-open .vh-drawer {
        transform: translate3d(0, 0, 0);
    }

    #vh-menu-app .vh-head {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 6px 10px !important;
        background: var(--vh-menu-bg) !important;
        border-bottom: 1px solid var(--vh-menu-border) !important;
        z-index: 8;
    }

    #vh-menu-app .vh-head button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 34px !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        appearance: none !important;
        color: var(--vh-menu-text) !important;
        background: var(--vh-menu-soft) !important;
        border: 1px solid var(--vh-menu-border) !important;
        border-radius: 50% !important;
        box-shadow: none !important;
        cursor: pointer;
    }

    #vh-menu-app .vh-head button[hidden] {
        display: none !important;
    }

    #vh-menu-app .vh-head .vh-close {
        margin-left: auto !important;
    }

    #vh-menu-app .vh-head .vh-back {
        flex: 0 0 auto !important;
        gap: 5px !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0 10px 0 7px !important;
        font: 700 13px/1 "Roboto Condensed", Arial, sans-serif !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
        border-radius: 17px !important;
    }

    #vh-menu-app .vh-head .vh-back span {
        display: inline-block !important;
        pointer-events: none !important;
    }

    #vh-menu-app .vh-head .vh-back svg {
        width: 16px !important;
        height: 16px !important;
    }

    #vh-menu-app .vh-head svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        fill: currentColor !important;
        pointer-events: none;
    }

    #vh-menu-app .vh-head button:hover,
    #vh-menu-app .vh-head button:active {
        color: var(--vh-menu-primary-text) !important;
        background: var(--vh-menu-primary) !important;
        border-color: var(--vh-menu-primary) !important;
    }

    #vh-menu-app .vh-main {
        position: relative !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: var(--vh-menu-bg) !important;
    }

    #vh-menu-app .vh-main::before,
    #vh-menu-app .vh-main::after {
        content: "" !important;
        position: absolute !important;
        right: 11px !important;
        left: 0 !important;
        display: block !important;
        height: 14px !important;
        opacity: 0;
        pointer-events: none !important;
        transition: opacity 160ms ease;
        z-index: 6;
    }

    #vh-menu-app .vh-main::before {
        top: 0 !important;
        background: linear-gradient(
            to bottom,
            rgba(51, 51, 51, 0.12),
            rgba(51, 51, 51, 0)
        ) !important;
    }

    #vh-menu-app .vh-main::after {
        bottom: 0 !important;
        background: linear-gradient(
            to top,
            rgba(51, 51, 51, 0.12),
            rgba(51, 51, 51, 0)
        ) !important;
    }

    #vh-menu-app .vh-main.vh-can-scroll-up::before,
    #vh-menu-app .vh-main.vh-can-scroll-down::after {
        opacity: 1;
    }

    #vh-menu-app .vh-nav {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: var(--vh-menu-bg) !important;
    }

    #vh-menu-app .vh-panel {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 4px 0 22px !important;
        list-style: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-color: var(--vh-menu-primary-dark) var(--vh-menu-border);
        scrollbar-width: auto;
        background: var(--vh-menu-bg) !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate3d(100%, 0, 0);
        transition:
            transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
            opacity 180ms ease,
            visibility 0s linear 260ms;
    }

    #vh-menu-app .vh-panel::-webkit-scrollbar {
        width: 11px;
    }

    #vh-menu-app .vh-panel::-webkit-scrollbar-track {
        background: var(--vh-menu-border);
        border-left: 1px solid #d5d5d5;
    }

    #vh-menu-app .vh-panel::-webkit-scrollbar-thumb {
        background: var(--vh-menu-primary-dark);
        border: 2px solid var(--vh-menu-border);
        border-radius: 10px;
    }

    #vh-menu-app .vh-panel.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0);
        transition:
            transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
            opacity 180ms ease,
            visibility 0s;
        z-index: 3;
    }

    #vh-menu-app .vh-panel.is-ancestor {
        opacity: 0;
        visibility: hidden;
        transform: translate3d(-25%, 0, 0);
    }

    #vh-menu-app .vh-item {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        color: var(--vh-menu-text) !important;
        background: var(--vh-menu-bg) !important;
        border: 0 !important;
        border-bottom: 1px solid var(--vh-menu-border) !important;
        float: none !important;
    }

    #vh-menu-app .vh-link {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 9px 46px 9px 16px !important;
        color: var(--vh-menu-text) !important;
        background: var(--vh-menu-bg) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
        float: none !important;
        cursor: pointer;
    }

    #vh-menu-app .vh-item:not(.vh-has-children) .vh-link,
    #vh-menu-app .vh-contact .vh-link {
        padding-right: 16px !important;
    }

    #vh-menu-app .vh-open-only::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: 18px !important;
        width: 9px !important;
        height: 9px !important;
        border-top: 2px solid currentColor !important;
        border-right: 2px solid currentColor !important;
        transform: translateY(-50%) rotate(45deg) !important;
    }

    #vh-menu-app .vh-next {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        appearance: none !important;
        color: var(--vh-menu-primary-dark) !important;
        background: var(--vh-menu-soft) !important;
        border: 0 !important;
        border-left: 1px solid var(--vh-menu-border) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        cursor: pointer;
    }

    #vh-menu-app .vh-next svg {
        display: block !important;
        width: 19px !important;
        height: 19px !important;
        fill: currentColor !important;
        pointer-events: none;
    }

    #vh-menu-app .vh-link:hover,
    #vh-menu-app .vh-link:active {
        color: var(--vh-menu-primary-dark) !important;
        background: var(--vh-menu-soft) !important;
    }

    #vh-menu-app .vh-next:hover,
    #vh-menu-app .vh-next:active {
        color: var(--vh-menu-primary-text) !important;
        background: var(--vh-menu-primary) !important;
    }

    #vh-menu-app .vh-contact .vh-link {
        align-items: flex-start !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 3px !important;
    }

    #vh-menu-app .vh-contact small {
        display: block !important;
        color: var(--vh-menu-muted) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
    }

    #vh-menu-app .vh-scroll-cue {
        position: absolute !important;
        right: 16px !important;
        bottom: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        appearance: none !important;
        color: var(--vh-menu-primary-text) !important;
        background: var(--vh-menu-primary) !important;
        border: 2px solid var(--vh-menu-primary-text) !important;
        border-radius: 50% !important;
        box-shadow: 0 4px 14px rgba(24, 42, 30, 0.3) !important;
        cursor: pointer;
        animation: vh-scroll-arrow 1.05s ease-in-out infinite;
        z-index: 7;
    }

    #vh-menu-app .vh-scroll-cue[hidden] {
        display: none !important;
    }

    #vh-menu-app .vh-scroll-cue svg {
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        fill: currentColor !important;
        pointer-events: none;
    }

    #vh-menu-app .vh-tools {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--vh-menu-soft) !important;
        border-top: 1px solid var(--vh-menu-border) !important;
        z-index: 9;
    }

    #vh-menu-app .vh-tool {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 57px !important;
        margin: 0 !important;
        padding: 8px 5px !important;
        appearance: none !important;
        color: var(--vh-menu-text) !important;
        background: var(--vh-menu-soft) !important;
        border: 0 !important;
        border-right: 1px solid var(--vh-menu-border) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        cursor: pointer;
    }

    #vh-menu-app .vh-tool:last-child {
        border-right: 0 !important;
    }

    #vh-menu-app .vh-tool:hover,
    #vh-menu-app .vh-tool:active,
    #vh-menu-app .vh-tool.is-active {
        color: var(--vh-menu-primary-text) !important;
        background: var(--vh-menu-primary) !important;
    }

    #vh-menu-app button:focus-visible,
    #vh-menu-app a:focus-visible {
        outline: 3px solid var(--vh-menu-focus) !important;
        outline-offset: -3px !important;
        z-index: 10;
    }
}

@keyframes vh-scroll-arrow {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(5px);
    }
}

@media only screen and (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    #vh-menu-app .vh-overlay,
    #vh-menu-app .vh-drawer,
    #vh-menu-app .vh-panel {
        transition: none !important;
    }

    #vh-menu-app .vh-scroll-cue {
        animation: none !important;
    }
}

@media only screen and (min-width: 1025px) {
    #vh-menu-app {
        display: none !important;
    }
}
