/* Smartphone Italia — desktop category main menu (ps_mainmenu) — 20260704-mainmenu-dropdown
   Fixes misaligned full-width dropdown + float columns from ThemeVolty custom.css */

@media (min-width: 992px) {
    /* Dropdown must escape flex row; anchor panel to each top-level item */
    #tvcmsdesktop-main-menu,
    #tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper,
    #tvcmsdesktop-main-menu #tv-top-menu {
        overflow: visible !important;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child {
        position: relative !important;
    }

    /* Panel under active nav item — not full menu bar width */
    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child > .tvmain-menu-dropdown.tvmain-menu-sub-menu {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        left: 0 !important;
        right: auto !important;
        width: max-content !important;
        min-width: 220px !important;
        max-width: min(440px, calc(100vw - 32px)) !important;
        margin: 0 !important;
        padding: 12px 16px 16px !important;
        display: block !important;
        float: none !important;
        background: #ffffff !important;
        border: 1px solid var(--si-line, rgba(0, 0, 0, 0.08)) !important;
        border-bottom: 3px solid var(--si-accent, #39b54a) !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: var(--si-shadow-hover, 0 8px 28px rgba(0, 0, 0, 0.1)) !important;
        outline: none !important;
        z-index: 10058 !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(4px);
        transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    }

    /* JS may flip to right edge when near viewport boundary */
    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child.si-mainmenu-align-right > .tvmain-menu-dropdown.tvmain-menu-sub-menu {
        left: auto !important;
        right: 0 !important;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child:hover > .tvmain-menu-dropdown.tvmain-menu-sub-menu,
    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child.si-mainmenu-active > .tvmain-menu-dropdown.tvmain-menu-sub-menu,
    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child.si-mainmenu-active:hover > .tvmain-menu-dropdown.tvmain-menu-sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child.si-mainmenu-active > .tvmenu-link-wrapper a span {
        color: var(--si-accent, #39b54a) !important;
    }

    /* Undo ThemeVolty float columns (185px) — vertical list */
    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu > .tv-header-menu[data-depth="1"] {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        width: 100% !important;
        min-width: 0 !important;
        float: none !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="1"] > li {
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        position: relative !important;
        display: block !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="1"] > li > .tvmenu-link-wrapper {
        display: block !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        transition: background 0.15s ease, color 0.15s ease;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="1"] > li > .tvmenu-link-wrapper:hover {
        background: rgba(57, 181, 74, 0.08) !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="1"] > li > .tvmenu-link-wrapper a span {
        display: block !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
        overflow: hidden !important;
    }

    /* Depth-2 nested lists — inline under parent, not mobile accordion */
    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tvmain-menu-mobile-dropdown {
        position: static !important;
        display: block !important;
        width: auto !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 0 0 0 12px !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="2"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        margin: 4px 0 8px !important;
        padding: 0 !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="2"] > li {
        width: 100% !important;
        float: none !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="2"] > li > .tvmenu-link-wrapper {
        padding: 6px 10px !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="2"] > li > .tvmenu-link-wrapper a span {
        font-size: 0.8125rem !important;
        font-weight: 400 !important;
        color: var(--si-text-secondary, #6e6e73) !important;
        text-transform: none !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tv-header-menu[data-depth="2"] > li > .tvmenu-link-wrapper:hover a span {
        color: var(--si-accent, #39b54a) !important;
    }

    #tvcmsdesktop-main-menu .tvmain-menu-sub-menu .tvmenu-toggle-icon {
        display: none !important;
    }

    #tvcmsdesktop-main-menu .tvheader-top-menu-img {
        display: none !important;
    }

    /* No page freeze / backdrop on category hover (ThemeVolty body.menu-open) */
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) .tv-main-div .half-wrapper-backdrop,
    body.si-mainmenu-hover:not(.si-megamenu-click-open) .full-wrapper-backdrop {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open),
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) .tv-main-div,
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) #wrapper,
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) #content-wrapper,
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) #content,
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) main,
    body.si-mainmenu-hover:not(.si-megamenu-click-open):not(.si-cart-open):not(.classicCartOpen):not(.si-account-open) .si-b2b-home {
        overflow: auto !important;
        touch-action: auto !important;
        pointer-events: auto !important;
        filter: none !important;
    }

    /* 20260704-nav-bars-visual — top-level link + caret alignment */
    #tvcmsdesktop-main-menu #tv-top-menu > li > .tvmenu-link-wrapper {
        display: inline-flex !important;
        align-items: center;
        gap: 2px;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child > .tvmenu-link-wrapper .tvmenu-toggle-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 0 0 1px;
        line-height: 1;
        flex-shrink: 0;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child > .tvmenu-link-wrapper .tvhorizontal-menu-drop-down-icon {
        font-size: 18px !important;
        line-height: 1 !important;
        vertical-align: middle;
    }

    /* Desktop menu stacking — category bar above page, below brand row (20260706-desktop-menu-stack) */
    #tvcmsdesktop-main-menu {
        position: relative;
        z-index: 55;
        overflow: visible !important;
    }

    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child:hover,
    #tvcmsdesktop-main-menu #tv-top-menu > li.tv-has-child.si-mainmenu-active {
        z-index: 10;
    }

    .tv-main-div > #wrapper {
        position: relative;
        z-index: 1;
    }
}
