header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    z-index: calc(var(--zindexB) + 100);
    transition: .3s;
}

header.scrolling {
    background-color: var(--white);
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}


.header_container {
    transition: .3s;
}

header .logoBox {
    width: 180px;
    height: auto;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

header.scrolling .logoBox {
    width: 150px;
}

button#open_mobile_menu {
    display: none;
}

header .logoBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header-contacts-section .topbar-contact svg {
    width: 30px;
    height: 30px;
}

.header-contacts-section .topbar-contact>* {
    color: var(--softDark);
}

.header-contacts-section .topbar-contact a:hover {
    color: var(--secondarycolor);
}

.main_menu_mobile_container {
    display: none;
}

.promo_disclaimer_content__cta,
.hcr .cta {
    font-size: var(--fs-350);
    transition: .3s;
}

.promo_disclaimer_content__cta,
.cta_form {
    padding: 1.25rem 2.5rem;
    border-radius: 150px;
}

.promo_disclaimer_content__cta:hover,
.cta_form:hover {
    background-color: var(--verdeCTAdark);
}

.cta::after,
.main_cta_bottom::after {
    content: '';
    position: absolute;
    pointer-events: none;
    background-color: var(--white);
    width: 15px;
    height: 100%;
    transform: skewX(-10deg);
    right: 25%;
    top: 0;
    opacity: .15;
    translate: -150px 0;
    transition: 300ms;
}

button#open_mobile_menu {
    display: none;
}


/*ANCHOR - Menu */
.menu_wrapper>ul {
    display: flex;
}

.menu_wrapper>ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    border-radius: .5rem;
    transition: .3s;
    font-size: var(--fs-350);
    color: var(--softDark);
}

header.scrolling .menu_wrapper>ul li a:hover,
header.scrolling .menu-item.cb-focus>a {
    color: var(--secondarycolor);
    background-color: var(--grigiochiaro);
}

header .menu_wrapper>ul li a:hover,
header .menu-item.cb-focus>a {
    color: var(--secondarycolor);
    background-color: var(--white);
}


/* 
.fullbody_bg {
    width: 100vw;
    height: 100vh;
    background-color: var(--white);
    clip-path: polygon(0 0,
            0 100%,
            calc(10vw) 100%,
            calc(10vw) calc(15vh),
            calc(90vw) calc(15vh),
            calc(90vw) calc(85vh),
            calc(10vw) calc(85vh),
            calc(10vw) 100%,
            100% 100%,
            100% 0);
    inset: 0;
    z-index: -1;
} */

/* Layer per l’opacità */
/* .fullbody_bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--softDark);
    opacity: var(--bg-opacity);
    pointer-events: none;
    clip-path: inherit;
} */

.cta.contact-header {
    padding: 1.5rem;
    border-radius: 10px;
    color: var(--softDark);

}

.cta.contact-header:hover {
    background-color: var(--grigiochiaro);
    color: var(--secondarycolor);
}

.cta.contact-header svg{
    width: 30px;
    height: 30px;
}

.cta.contact-header::after{
    opacity: 0;
}
@media (max-width: 1450px) {
    .fullbody_bg {
        clip-path: polygon(0 0,
                0 100%,
                calc(1vw) 100%,
                calc(1vw) calc(15vh),
                calc(90vw) calc(15vh),
                calc(90vw) calc(95vh),
                calc(1vw) calc(95vh),
                calc(1vw) 100%,
                100% 100%,
                100% 0);
    }

    .menu_desktop {
        display: none;
    }

    .main_menu_mobile_container>.content-grid {
        z-index: calc(var(--zindexB) + 102);
        position: relative;
        background-color: var(--white);
    }

    .main_menu_mobile_container::before {
        content: '';
        position: absolute;
        z-index: calc(var(--zindexB) + 101);
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.8);
    }

    .mobile_menu_container {
        height: 100vh;
    }
}

@media (max-width: 1200px) {
    .fullbody_bg {
        /* Su smartphone: forma essenziale e leggibile */
        clip-path: polygon(0 0,
                0 100%,
                calc(1vw) 100%,
                calc(1vw) calc(15vh),
                calc(90vw) calc(15vh),
                calc(90vw) calc(95vh),
                calc(1vw) calc(95vh),
                calc(1vw) 100%,
                100% 100%,
                100% 0);

    }

    button#close_mobile_menu,
    button#open_mobile_menu {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    button#close_mobile_menu span,
    button#open_mobile_menu span {
        pointer-events: none;
        color: var(--grigioscuro) !important;
    }

    header .menu_wrapper ul {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 0;
    }


    .main_menu_mobile_container.open {
        translate: 0 0;
        width: 50%;
    }

    .main_menu_mobile_container {
        display: block;
        z-index: calc(var(--zindexB) + 100);
        left: 0;
        top: 0;
        height: 100vh;
        background-color: var(--white);
        width: 100%;
        transition: 300ms;
        translate: -100% 0;
    }

    button#open_mobile_menu,
    button#close_mobile_menu {
        color: var(--grigioscuro) !important;
    }

    .main_menu_mobile_container {
        display: block;
        z-index: calc(var(--zindexB) + 100);
        left: 0;
        top: 0;
        height: 100vh;
        background-color: var(--white);
        width: 100%;
        transition: 300ms;
        translate: -100% 0;
    }



    .contacts_menu_wrapper {
        width: 45vw;
        box-shadow: 0 -4px 8px var(--grigiomedio);
    }

    .contacts_menu_wrapper .hcc_ctas_mobile {
        flex-direction: column-reverse;
        gap: 5px;
        width: 100%;
    }

    .contacts_menu_wrapper .hcc_ctas_mobile>a:not(.cta_form) {
        border: 1px solid var(--grigiomedio);
    }

    .hcc_ctas_mobile a svg * {
        stroke: var(--softDark);
        fill: var(--softDark);

    }

    .contacts_menu_wrapper .hcc_ctas_mobile a svg {
        width: 20px;
        height: 20px;
    }

    header .contacts_menu_wrapper .hcc_datas_mobile {
        display: block;
    }

    .cta_form {
        padding: 1.25rem 2.5rem;
        border-radius: 150px;
        transition: .3s;
    }

    header .menu_wrapper.show_menu_mob {
        display: block;
        width: 100%;

    }

    header .menu_wrapper ul>li {
        width: 100%;
        text-align: center;
    }

    header .menu_wrapper ul li a {
        width: 100%;
        padding: 1rem 0;
        font-size: var(--fs-450);
        color: var(--softDark);
        background-color: var(--white);
        /* border-bottom: 1px solid var(--grigiochiaro); */
        text-align: left;
        justify-content: initial;
    }

    header .menu_wrapper ul li a:hover {
        color: var(--secondarycolor);
        background-color: var(--white);
    }

    header .menu_wrapper {
        border-top: 0;
        padding-top: 0;
    }

    .contacts_menu_wrapper .hcc_ctas_mobile>a {
        width: 100%;
        text-align: center;
        justify-content: center;
        margin-block: auto;
        border-radius: 0%;
    }

    .hcc_ctas_mobile a svg * {
        stroke: var(--google-blue);
        fill: var(--google-blue);

    }


    .header_col_right .cta.cta_form,
    header .header-contacts-section {
        display: none;
    }

}

@media (max-width: 900px) {
    .fullbody_bg {
        /* Su smartphone: forma essenziale e leggibile */
        clip-path: none;

    }

    .fullbody_bg::before {
        display: none;
    }

    .btn_mob_menu {
        display: flex;
    }

    header .logoBox {
        width: 150px;
    }

    header.scrolling .logoBox {
        width: 120px;
    }

    header .header_col_left {
        width: 70%;
        justify-content: space-between;
        transition: .4s;
    }

    header.scrolling .header_col_left {
        width: 55%;
    }

    .main_menu_mobile_container.open {
        width: 100%;
    }

    .header_container .header_container_col {
        gap: 60px;
    }

    .contacts_menu_wrapper {
        width: 100%;
        margin-bottom: 60px;
    }

}