/* ============================================
   ENHANCED FRONTEND MENU
   Modern, responsive menu with dynamic colors
   ============================================ */

/* Header Container */
.head {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: transparent;
    border-radius: 0;
}



.menu-open {
    overflow: hidden !important;
}



/* Header quando dropdown aperto */
.head.dropdown-open {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

.top-head {
    margin: 1rem 1rem 0 1rem;
    display: flex;
    border-radius: 15px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    transition: margin 0.1s ease;
    backdrop-filter: blur(25px);
    background-color: #ffffff15;
    box-shadow: 0px -3rem 0px 20px #fff;
}
.head.scroll .top-head {
    /* top: 0; */
    margin: 0 1rem;
}

/* Gradient background via pseudo-element (fade con opacity) */
.head .top-head::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(253, 67, 252, 1) 13%, rgba(141, 119, 230, 1) 32%, rgba(0, 159, 183, 1) 57%, rgba(0, 221, 184, 1) 76%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
    pointer-events: none;
}

/* Gradient visibile solo quando header è sopra sezioni senza sfondo */
.head.scroll.header-needs-bg .top-head::before {
    opacity: 1;
}

/* ============================================
   LOGO
   ============================================ */

.logo-container {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: relative;
    z-index: 3;
    padding: 15px 2rem;
    border-radius: 10px;
}

.logo-container.in-page{background: #ffffff15;}

.logo-gramma-div,
.logo-tipo-div {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}




.logo-gramma-div svg,
.logo-tipo-div svg {
    transition: all 0.3s ease;
    display: block;
}

/* Logo color changes */
.logo-gramma-div svg .cls-1,
.logo-tipo-div svg .cls-1 {
    fill: #ffffff;
    transition: fill 0.3s ease;
}

.logo-gramma-div svg .text-logo{
        transform: translateY(100%);
        transition: all 0.5s 
cubic-bezier(0.65, 0.05, 0.36, 1);
}


.head.scroll .logo-gramma-div svg .cls-1,
.head.dropdown-open .logo-gramma-div svg .cls-1 {
    fill: var(--primary-color, #457b9d);
}

.head.scroll .logo-tipo-div svg .cls-1,
.head.dropdown-open .logo-tipo-div svg .cls-1 {
    fill: var(--primary-color, #457b9d);
}


.head.scroll .logo-gramma-div svg .text-logo{
    transform: translateY(0);
}

/* Bande colorate del logo: bianche di default su tutte le pagine.
   Restano colorate SOLO in home, finché l'header non è scrollato/in dropdown. */
.logo-gramma-div svg .pp-logo-st0,
.logo-gramma-div svg .pp-logo-st2 {
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.is-home .head:not(.scroll):not(.dropdown-open) .logo-gramma-div svg .pp-logo-st0,
body.is-home .head:not(.scroll):not(.dropdown-open) .logo-gramma-div svg .pp-logo-st2 {
    opacity: 1;
}

/* Allo scroll: logo più compatto + item-menu padding aumentato */
.head.scroll {
    --logo-width: 105px;
}

@media (min-width: 1400px) {
    .head.scroll .item-menu {
        padding: 1.9rem 1rem;
    }
}

/* Logo hover effect */
.logo-container:hover .logo-gramma-div {
    /* transform: translateY(-2px); */
}

/* ============================================
   MENU ITEMS
   ============================================ */

.bgd-nav {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
}

.modal-nav-mobile{
    opacity:0;
    visibility:hidden;
    pointer-events: none;
    position: fixed;
    top: 0rem;
    padding: 1rem;
    left: 0;
    width:100%;
    height: 5vh;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    pointer-events: none;
    overflow: hidden;
    transition: 0.2s;
    /* padding-bottom: 2rem; */
}

.modal-nav-mobile.open-menu {
    pointer-events: all;
    height: 80vh;
    border-radius: 15px;
    box-shadow: 0px 5px 20px 2px rgb(0 0 0 / 20%) !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

.modal-block{
    border-radius: 0;
    padding: 0;
    position: relative;
    width: 100%;
    flex: 1;
    min-height: 0;
    margin-top: 4rem;
    align-items: center;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
}

.modal-nav-footer {
    flex-shrink: 0;
    padding-top: 1rem;
    width: 100%;
    position: relative;
    z-index: 2;
    display: none;
}

.modal-nav-mobile.open-menu .modal-nav-footer {
    display: block;
}

 .modal-block::-webkit-scrollbar {
     -webkit-appearance: none;
     width: 0px;
}

.modal-block-background{
    background: transparent;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    position: absolute;
    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), background 0.2s ease-in-out, transform 0.7s cubic-bezier(0.5, 0.5, 0, 1) 0s;
    right: 0;
    top: 0;
}

.modal-nav-mobile .ul-mobile {
    position: relative;
    display: flex;
    flex-direction: column;
    transform: translateY(0) scale(0.1) rotate(0.001deg);
    transition: all  0.7s cubic-bezier(0.5, 0.5, 0, 1);
    transform-origin: top right;
    padding: 0;
    opacity: 0;
    margin: 0;
    gap: 1.2rem;
    list-style: none;
    padding-bottom: 3rem;
    padding-top: 1rem;
    padding-left: 5px;
}



.open-menu .modal-block-background {
    background: var(--pp-navy);
}

.open-menu .ul-mobile {
    transform: translateY(0) scale(1) rotate(0.001deg);
    opacity: 1;
}

.modal-nav-mobile .ul-mobile a {
    display: block;
}

.ul-mobile li a > span {
    font-family: var(--font-primary);
    font-size: 24px;
    line-height: 28px;
    color: #ffffff60;
    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), color 0.2s ease-in-out;
    position: relative;
    display: block;
    padding-right: 1em;
    letter-spacing: 0;
}

/*.ul-mobile li a > span::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    right: 0;*/
/*    top: 50%;*/
/*    transform: translate(calc(50%), -10%) scale(0) rotate(0.001deg);*/
/*    width: 0.3em;*/
/*    height: 0.3em;*/
/*    background-color: #e30613;*/
/*    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), transform 0.7s cubic-bezier(0.5, 0.5, 0, 1), background-color 0.2s ease-in-out;*/
/*}*/




.ul-mobile li a.active > span {
    color: #bdbdbd;
}

.ul-mobile li a.active > span::before {
    background-color: #bdbdbd;
    transform: translate(50%, -10%) scale(1) rotate(0.001deg);
}



.ul-mobile:hover li a:hover > span::before {
    transform: translate(50%, -10%) scale(1) rotate(0.001deg);
}


.item-menu {
    /* position: relative; */
    padding: 0;
    cursor: pointer;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    color: #fff;
    gap: 0.5rem;
    text-decoration: none;
    padding: 2.1rem 1rem;
    height: 100%;
    border-radius: 15px;
    text-transform: capitalize;
}

.item-menu span {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    text-transform: capitalize;
    transition: all 0.3s ease;
    letter-spacing: 0.75px;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.item-menu {
    color: #fff;
}

/* Hover sulla nav: gli item NON in hover diventano semitrasparenti.
   :not(:has(.dropdown-menu:hover)) — esclude quando il mouse è dentro il dropdown */
.bgd-nav:hover:not(:has(.dropdown-menu:hover)) .item-menu span,
.bgd-nav:hover:not(:has(.dropdown-menu:hover)) .item-menu svg {
    color: #ffffff80;
}

/* L'item in hover resta bianco */
.bgd-nav:hover:not(:has(.dropdown-menu:hover)) .item-menu:hover span,
.bgd-nav:hover:not(:has(.dropdown-menu:hover)) .item-menu:hover svg {
    color: #fff;
}

/* L'item in-page resta sempre bianco, anche durante hover su altri */
.item-menu.in-page span {
    color: #fff !important;
}

.item-menu.in-page {
    color: #fff;
    background: rgb(255 255 255 / 21%);
}

.nav-link.in-page {
    color: #fff !important;
}

/* Menu item SVG icon */
.item-menu svg {
    width: 0.8rem;
    height: 0.8rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: rotate(-90deg);
    margin-top: 1px;
}
.item-menu svg {
    /* transform: rotate(0deg); */
    opacity: 1;
    /* flex-shrink: 0; */
}

.line-vertical {
    transition: all 0.3s ease;
    transform-origin: center;
}



.item-menu svg .cls-1 {
        opacity: 0.1;
        transition: fill 0.3s ease;
      }

.item-menu svg  .cls-2 {
        fill: currentColor;
      }
.item-menu svg  .cls-3 {
        fill: currentColor;
      }


.head.scroll .item-menu svg .cls-2,
.head.dropdown-open .item-menu svg .cls-2 {
    fill: var(--color-white);
}

.head.scroll .item-menu svg .cls-3,
.head.dropdown-open .item-menu svg .cls-3 {
    fill: var(--color-white);
}

.head.scroll .item-menu svg .cls-1,
.head.dropdown-open .item-menu svg .cls-1 {
    opacity: .1;
}


.item-menu:hover svg {
    /* transform: rotate(0deg); */
    opacity: 1;
}


/* ============================================
   DROPDOWN MENU
   ============================================ */

.item-menu.has-submenu {
    /* position: relative; */
}

/* --- Standard Dropdown (few items) --- */
.dropdown-menu {
    position: absolute;
    top: calc(100% + 1rem);
    left: 0;
    background: var(--bg-secondary);
    border-radius: 10px;
    padding: 1rem 2rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    width: 100%;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
    display: block !important;
    border: 0;
}
.scroll .dropdown-menu {
    top:100%
}
/* Sfondo chiaro: dropdown navy solido */
.head.scroll.header-needs-bg .dropdown-menu {
    background: var(--bg-secondary);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.item-menu.has-submenu.active .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    box-shadow: 0px 5px 20px 2px rgb(0 0 0 / 20%);
}

/* --- Full-Width Mega Menu --- */

/* Parent must be static so mega-menu positions relative to .top-head */
.item-menu.has-submenu.has-mega {
    position: static;
    will-change: auto;
    transform: none;
}

.dropdown-menu.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    transform: translateY(-10px);
    min-width: auto;
    width: auto;
    border-radius: 0 0 15px 15px;
    padding: 1.5rem 2rem;
}

.item-menu.has-submenu.active .dropdown-menu.mega-menu {
    transform: translateY(0);
}

/* Mega Menu Grid: 4 columns */
.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.mega-menu-grid .nav-item {
    list-style: none;
}

.mega-menu-grid .nav-link {
    display: block;
    padding: 0.75rem 1rem;
    color: #ffffff80;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.mega-menu-grid .nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

.mega-menu-grid .nav-link.in-page {
    color: #fff;
}

/* Sub Menu (4-column grid, horizontal flow) */
.sub-menu {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2rem;
}

.sub-menu .nav-item {
    list-style: none;
}

.sub-menu .nav-link {
    display: block;
    margin: 0;
    padding: 0.9rem 0;
    border-radius: 0;
    color: #ffffff80;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent);
    text-transform: uppercase;
}

/* Last row: no border-bottom */
.sub-menu .nav-item:nth-child(4n+1):nth-last-child(-n+4) .nav-link,
.sub-menu .nav-item:nth-child(4n+1):nth-last-child(-n+4) ~ .nav-item .nav-link {
    border-bottom: none;
}

.sub-menu .nav-link:hover {
    color: #fff;
}



/* ============================================
   BURGER MENU (Mobile)
   ============================================ */

.burger-menu {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    box-shadow: none;
    border: 0;
    /*padding: 0.5rem;*/
    border-radius: 8px;
    background: transparent;
    transition: all 0.3s ease;
}

.burger-menu:hover {
}

.head.scroll .burger-menu:hover,
.head.dropdown-open .burger-menu:hover {
}

.burger-menu .line {
    width: 24px;
    height: 2.5px;
    background: #ffffff;
    border-radius: 3px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.head.scroll .burger-menu .line,
.head.dropdown-open .burger-menu .line {
    background: #ffffff;
}

/* Burger animation when active */
.burger-menu.active .line:nth-child(1) {
    transform: translateY(7.5px) rotate(
45deg);
    background: #ffffff;
}

.burger-menu.active .line:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
}

.burger-menu.active .line:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg);
    background: #ffffff;
}

/* ============================================
   LANGUAGE SELECTOR
   ============================================ */

.language-selector {
    display: flex;
    gap: 0.25rem;
    padding: 0.25rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.head.scroll .language-selector,
.head.dropdown-open .language-selector {
    background: var(--color-white);
}

.change-lang,
.language-selector a {
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}



.button-header {
    padding: 0.5rem 1.2rem 0.5rem 1.2rem;
    border-radius: 8px;
    color: var(--pp-navy);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    background: var(--color-white);
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1rem 2rem;
}

.button-header span{
    font-size: 13px;
    line-height: normal;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
}

.button-header:hover {
    color: #fff;
    background: var(--pp-navy);
}

.button-header svg {
    width: 16px;
    height: 16px;
}

.scroll .button-header, .button-header.inverse {
    color: #fff;
    background: var(--pp-navy);
}

.scroll .button-header:hover {
    color: var(--pp-navy);
    background: var(--color-white);
}


.head.scroll .change-lang,
.head.dropdown-open .change-lang,
.head.scroll .language-selector a,
.head.dropdown-open .language-selector a {
    color: var(--primary-color, #457b9d);
}

.change-lang:hover,
.language-selector a:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
}

.head.scroll .change-lang:hover,
.head.dropdown-open .change-lang:hover,
.head.scroll .language-selector a:hover,
.head.dropdown-open .language-selector a:hover {
    background: var(--primary-color, #457b9d);
    color: #ffffff;
}

.language-selector a.active {
    background: rgba(255, 255, 255, 0.25);
}

.head.scroll .language-selector a.active,
.head.dropdown-open .language-selector a.active {
    background: var(--primary-color, #457b9d);
    color: #ffffff;
}

/* ============================================
   ICON ELEMENTS (squares, lines, etc.)
   ============================================ */

.icon-square {
    width: 20px;
    height: 20px;
    border: 2px solid #ffffff;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.head.scroll .icon-square,
.head.dropdown-open .icon-square {
    border-color: var(--primary-color, #457b9d);
}

.item-menu:hover .icon-square {
    transform: rotate(180deg);
    border-color: var(--default-color, #e63946);
}

.icon-line {
    width: 30px;
    height: 2px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.head.scroll .icon-line,
.head.dropdown-open .icon-line {
    background-color: var(--primary-color, #457b9d);
}

.item-menu:hover .icon-line {
    width: 40px;
    background-color: var(--default-color, #e63946);
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {

    .bgd-nav {
        gap: 0.25rem;
    }

    .item-menu {
        padding: 0.625rem 1rem;
    }

    .item-menu span {
        font-size: 0.9375rem;
    }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media screen and (max-width: 1399px) {
    .burger-menu {
        display: flex;
    }
    .button-header {
        display:none;
    }

    .bgd-nav {
        position: fixed;
        top: -1rem;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: var(--primary-color);
        flex-direction: column;
        padding: 6rem 2rem 2rem;
        gap: 0;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        display:none;
    }
    
    .modal-nav-mobile{
    opacity:1;
    visibility:visible;
    

}


    .bgd-nav.active {
        right: 0;
    }

    .item-menu {
        width: 100%;
        justify-content: space-between;
        border-radius: 16px;
        padding: 0;
        gap: 0;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .item-menu span {
        color: #ffffff;
        font-size: 1.8rem;
    }

    .item-menu svg .cls-1 {
        fill: var(--primary-color, #457b9d);
    }

    /* Mobile Dropdown */
    .dropdown-menu,
    .dropdown-menu.mega-menu {
        position: static;
        transform: none;
        margin: 0.75rem 0 0.75rem 1.25rem;
        padding: 1rem;
        border-radius: 16px;
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
        min-width: auto;
        width: auto;
        left: auto;
        right: auto;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .mega-menu-grid {
        grid-template-columns: 1fr;
    }

    .dropdown-menu::before {
        display: none;
    }

    .item-menu.has-submenu.active .dropdown-menu {
        opacity: 1;
        max-height: 600px;
        visibility: visible;
        pointer-events: all;
    }

    .language-selector {
        margin-top: 2rem;
        padding: 0.5rem;
        background: color-mix(in srgb, var(--primary-color, #457b9d) 10%, transparent);
    }

    .language-selector a {
        flex: 1;
        text-align: center;
        color: var(--primary-color, #457b9d);
    }

    /* Mobile menu overlay */
    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 998;
    }

    .mobile-menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }
}

/* ============================================
   ANIMATIONS & KEYFRAMES
   ============================================ */

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Stagger animation for menu items */
.bgd-nav .item-menu {
    /*animation: slideDown 0.4s cubic-bezier(0.4, 0, 0.2, 1) backwards;*/
}

.bgd-nav .item-menu:nth-child(1) { animation-delay: 0.05s; }
.bgd-nav .item-menu:nth-child(2) { animation-delay: 0.1s; }
.bgd-nav .item-menu:nth-child(3) { animation-delay: 0.15s; }
.bgd-nav .item-menu:nth-child(4) { animation-delay: 0.2s; }
.bgd-nav .item-menu:nth-child(5) { animation-delay: 0.25s; }
.bgd-nav .item-menu:nth-child(6) { animation-delay: 0.3s; }

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Performance optimizations */
.item-menu,
.logo-gramma-div svg,
.burger-menu .line {
    /* will-change: transform; */
}

/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media screen and (max-width: 1399px) {
    
    /* Dropdown nel menu mobile */
    .ul-mobile .dropdown-menu {
        position: static;
        transform: none;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        min-width: auto;
        max-height: 0;
        opacity: 0;
        width: 100%;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .ul-mobile .item-menu.has-submenu.active .dropdown-menu {
        opacity: 1;
        max-height: 800px;
        margin-top: 0;
    }
    
    /* Stile voci submenu mobile — override grid a colonna singola */
    .ul-mobile .sub-menu {
        grid-template-columns: 1fr;
        gap: 0.25rem;
        padding-left: 0;
    }
    
    .ul-mobile .sub-menu .nav-link {
        margin: 0;
        padding: 0.5rem 0;
        font-size: 1.4rem;
        text-transform: lowercase;
        color: #ffffff60;
        border-bottom: 1px solid
 color-mix(in srgb, currentColor 30%, transparent) !important;
    }
    
    .ul-mobile .sub-menu .nav-item:last-child .nav-link {
        border-bottom: none !important;
    }
    
    .ul-mobile .sub-menu .nav-link:hover,
    .ul-mobile .sub-menu .nav-link.in-page {
        color: #ffffff;
    }
    
    /* Icona freccia per has-submenu nel mobile */
    .ul-mobile .item-menu.has-submenu svg {
        transition: transform 0.3s ease;
        width: 1.5rem;
        height: 1.5rem;
    }
    
    .ul-mobile .item-menu.has-submenu.active svg {
        transform: rotate(180deg);
    }
    
    /* Menu label nel mobile */
    .ul-mobile .item-menu.has-submenu .menu-label {
        font-family: var(--font-primary);
        font-size: 2rem;
        color: #ffffff60;
        display: block;
        display: flex;
        letter-spacing: 0;
        width: 100%;
        align-items: center;
        justify-content: space-between;
    }
    
    .sub-menu .nav-item:first-child .nav-link {
        margin-top:0.75rem;
    border-top: 1px solid
 color-mix(in srgb, currentColor 30%, transparent);
}

    .sub-menu .nav-item:first-child .nav-link.in-page {
        border-top: 1px solid
 color-mix(in srgb, #ffffff60 30%, transparent);
    }
}
