        /* ========================
       STILI GENERALI
    ========================= */

        .preheader_wrapper {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .pre_header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-block-start: 16px;
            background-color: black !important;
        }

        .header_top_bg {
            background-color: hsla(0, 0%, 0%, 0.5) !important;
        }

        .phone_wrapper {
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .social_wrapper {
            display: flex;
            gap: 16px;
        }

        .social_wrapper a {
            display: flex;
        }

        .logo-wrapper {
            width: 100%;
            display: flex;
            justify-content: center;
        }

        .logo {
            display: flex !important;
            align-items: center;
            gap: 20px;
        }

        .text-logo {
            font-size: 12px !important;
            display: none;
        }

        .menu-item-has-children:hover>.sub-menu,
        .menu-item-has-children.active>.sub-menu {
            display: flex !important;
            flex-direction: column !important;
        }

        /* ========================
       MEDIA QUERY: max-width 991px
    ========================= */

        @media screen and (max-width: 991px) {
            .topmenu {
                min-height: 729px !important;

                .menu {
                    height: 100%;
                    padding-block: 50px !important;
                }
            }

            .sub-menu {
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.3s ease;
                display: flex;
                flex-direction: column;
                padding-left: 15px;
            }

            .content-parallax {
                top: 40% !important;
            }

            .menu-item.open>.sub-menu {
                max-height: 500px;
                /* Puoi aumentare se il sottomenu è più lungo */
            }

            .header_top_bg {
                position: sticky !important
            }

            .toggle-submenu::after {
                content: "▼";
                float: right;
                margin-left: 8px;
                font-size: 0.7em;
                transition: transform 0.3s;
            }

            .menu-item.open>.toggle-submenu::after {
                transform: rotate(180deg);
            }

            .mob-nav i {
                color: white !important;
            }

            .header_top_bg {
                background-color: black !important;
            }

            .pre_header .container {
                width: 100%;
                margin: 0;
            }

            .phone_number {
                display: none;
            }
        }

        /* ========================
       MEDIA QUERY: min-width 992px
    ========================= */

        @media screen and (min-width: 992px) {
            .right-menu {
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-inline: 0;
            }

            .topmenu {
                width: fit-content !important;
            }

            .logo-wrapper {
                width: fit-content;
            }

            .text-logo {
                display: flex;
            }

            .social_wrapper {
                gap: 24px;
            }

            .menu li a {
                opacity: 1 !important;
            }

            .menu li a:hover {
                opacity: 0.75 !important;
            }

            .pre_header {
                padding-block-end: 16px;
            }

            .pre_header.container {
                padding-inline: 0;
            }
        }