header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1200;
    padding: 6px 0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

    /* Stato dopo 50px di scroll */
    header.scrolled {
        background: rgba(32, 31, 94, 0.8);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }



    header.hide {
        transform: translateY(-100%);
    }


footer {
    color: var(--default-color);
    background-color: var(--contrast-background-color);
    position: relative;
}

#logo-text {
    color: white;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 600;
    white-space: nowrap;
}

.bi {
    font-family: "Bootstrap Icons" !important;
    font-style: normal;
}

.navmenu a {
    transition: color 0.2s ease, background-color 0.2s ease;
    color: var(--nav-dropdown-color);
}

li.dropdown a:hover:not(:first-child) {
    color: var(--nav-dropdown-hover-color);
}

.navmenu .dropdown ul {
    background: var(--nav-dropdown-background-color);
}

.navmenu .dropdown ul a:hover,
.navmenu .dropdown ul .active,
.navmenu .dropdown ul li:hover > a {
    background: rgba(0, 176, 234, 0.12);
}


#navmenu {
    width: 80%;
    position: relative;
    --submenu-gap: 6px;
    --submenu-inline-start: auto;
    --submenu-inline-end: calc(100% + var(--submenu-gap));
}

#navmenu[data-submenu-dir="right"] {
    --submenu-inline-start: calc(100% + var(--submenu-gap));
    --submenu-inline-end: auto;
}

.mobile-nav-toggle {
    color: #fff;
    z-index: 1300;
}

header.scrolled .mobile-nav-toggle {
    color: var(--contrast-color);
}

.navmenu .login-cta {
    margin-left: 8px;
}

.navmenu #NotLogged button {
    background-color: var(--accent-color);
    color: var(--contrast-color);
    border-radius: 10px !important;
    padding: 8px 26px;
    text-transform: uppercase;
    font-weight: 700;
    border: 1px solid color-mix(in srgb, var(--accent-color), transparent 40%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1;
    box-shadow: 0 10px 30px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.navmenu #NotLogged button:hover {
    background-color: color-mix(in srgb, var(--accent-color), transparent 10%);
}

.navmenu #NotLogged button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent-color), transparent 20%);
    outline-offset: 2px;
}


.navmenu a:hover .logout-icon,
.navmenu .active .logout-icon {
    color: #193c8d;
}
.navmenu .dropdown ul li {
    color: var(--nav-dropdown-color);
}



    @media (min-width: 1200px) {
        .navmenu {
            padding: 0;
        }

            .navmenu ul {
                margin: 0;
                padding: 0;
                display: flex;
                list-style: none;
                align-items: center;
                justify-content: space-between;
            }

            .navmenu li {
                position: relative;
            }

            .navmenu a,
            .navmenu a:focus {
                color: #fff;
                padding: 18px 15px;
                font-size: 14px;
                font-weight: 600;
                display: flex;
                align-items: center;
                justify-content: space-between;
                white-space: nowrap;
                transition: 0.3s;
            }

                .navmenu a i,
                .navmenu a:focus i {
                    font-size: 12px;
                    line-height: 0;
                    margin-left: 5px;
                    transition: 0.3s;
                }

            .navmenu li:last-child a {
                padding-right: 0;
            }

            .navmenu .dropdown ul {
                margin: 0;
                padding: 10px 12px;
                background: var(--nav-dropdown-background-color);
                display: block;
                position: absolute;
                visibility: hidden;
                left: 0;
                top: calc(100% + 6px);
                opacity: 0;
                transition: 0.3s;
                border-radius: 0;
                z-index: 20;
                box-shadow: 0px 0px 30px color-mix(in srgb, var(--default-color), transparent 85%);
            }

                .navmenu .dropdown ul li,
                .navmenu .dropdown ul a {
                    min-width: 200px;
                    padding: 10px 14px;
                    text-transform: none;
                    color: var(--nav-dropdown-color);
                    line-height: 1.3;
                }

                .navmenu .dropdown ul a {
                    width: 100%;
                }

         
                    .navmenu .dropdown ul a:hover,
                    .navmenu .dropdown ul .active:hover,
                    .navmenu .dropdown ul li:hover > a {
                        color: var(--nav-dropdown-hover-color);
            }

            .navmenu .dropdown:hover > ul {
                opacity: 1;
                top: calc(100% + 6px);
                visibility: visible;
            }

            .navmenu .dropdown .dropdown > a {
                padding-right: 26px;
            }

            .navmenu .dropdown .dropdown ul {
                top: 0;
                inset-inline-start: var(--submenu-inline-start);
                inset-inline-end: var(--submenu-inline-end);
                margin: 0;
                visibility: hidden;
            }

            .navmenu .dropdown .dropdown ul ul {
                top: 0;
                inset-inline-start: var(--submenu-inline-start);
                inset-inline-end: var(--submenu-inline-end);
            }

            .navmenu .dropdown .dropdown:hover > ul {
                opacity: 1;
                top: 0;
                visibility: visible;
            }
    }
    /* Navmenu - Mobile */
    @media (max-width: 1199px) {
  

    .navmenu {
        padding: 0;
        z-index: 1;
        width: 100%;
    }

            .navmenu ul {
                display: none;
                position: absolute;
                padding: 10px 0;
                margin: 0;
                border-radius: var(--default-radius);
                background-color: var(--nav-dropdown-background-color);
                overflow-y: auto;
                transition: 0.3s;
                box-shadow: 0px 0px 30px color-mix(in srgb, var(--default-color), transparent 90%);
            }

            .navmenu a,
            .navmenu a:focus {
                color: var(--nav-dropdown-color);
                padding: 10px 20px;
                font-family: var(--nav-font);
                font-size: 17px;
                font-weight: 500;
                display: flex;
                align-items: center;
                justify-content: space-between;
                transition: 0.3s;
            }

                .navmenu a i,
                .navmenu a:focus i {
                    font-size: 12px;
                    margin-left: 5px;
                    width: 30px;
                    height: 30px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    border-radius: 50%;
                    transition: 0.3s;
                    background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
                }

                    .navmenu a i:hover,
                    .navmenu a:focus i:hover {
                        background-color: var(--accent-color);
                        color: var(--contrast-color);
                    }

                .navmenu a:hover,
                .navmenu .active,
                .navmenu .active:focus {
                    color: var(--nav-dropdown-hover-color);
                }

                    .navmenu .active i,
                    .navmenu .active:focus i {
                        background-color: var(--accent-color);
                        color: var(--contrast-color);
                        transform: rotate(180deg);
                    }

            .navmenu .dropdown ul {
                position: static;
                display: none;
                z-index: 2;
                padding: 10px 0;
                margin: 10px 20px;
                background-color: var(--nav-dropdown-background-color);
                border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
                box-shadow: none;
                transition: all 0.5s ease-in-out;
            }

                .navmenu .dropdown ul ul {
                    background-color: rgba(33, 37, 41, 0.1);
                    margin: 6px 0 0 10px;
                    border-left: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
                    padding-left: 10px;
                }


            .navmenu .dropdown > .dropdown-active {
                display: block;
                background-color: rgba(33, 37, 41, 0.03);
            }

        .mobile-nav-active {
            overflow: hidden;
        }

   
       /* .mobile-nav-active, .mobile-nav-toggle {
                font-size:2.5rem;
                padding-right: 1rem;
            } */

            .mobile-nav-active .navmenu {
                position: fixed;
                overflow: hidden;
                inset: 0;
                background: rgba(33, 37, 41, 0.8);
                transition: 0.3s;
            }

                .mobile-nav-active .navmenu > ul {
                    display: block;
                }
		
		  /* evita qualsiasi scorrimento orizzontale */
  .mobile-nav-active .navmenu > ul {
    overflow-x: hidden;
  }

  /* IMPORTANTISSIMO: su mobile consenti il wrap del testo */
  .navmenu a,
  .navmenu a:focus {
    white-space: normal;        /* invece di nowrap */
    overflow-wrap: anywhere;    /* spezza anche parole lunghe */
    word-break: break-word;     /* fallback */
  }

  /* “blindatura”: nessun elemento oltre il 100% */
  .navmenu li,
  .navmenu a {
    max-width: 100%;
  }

  /* se vuoi che i testi lunghi non diventino troppo "alti", opzionale */
  .navmenu a {
    line-height: 1.2;
  }
		
		
    }
