/*
 * Theme Name: Elma Research 2025
 * Description: Starter Theme to use with Timber
 * Author: MonkeySpace3
*/

html, body {
    font-family: 'Roboto', sans-serif;
    color: #3C3C3B;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    color: #3C3C3B
}

.swiper-pagination-bullet-active {
    background: #E0378C !important;
}

.swiper-pagination-bullet {
    background: #fff;
    border: solid 1px #E0378C;
    opacity: 1;
}

.uppercase{text-transform: uppercase;}


h1 {
    font-size: 80px
}

h2 {
    font-size: 50px
}

h3 {
    font-size: 35px;
}

h6 {
    font-size: 15px
}

.bg-green-op {
    background: #2FB4B1;
    opacity: .8;
}

.bg-pink{background-color: #E0378C;}
.bg-grey{background-color: #f7f7f7;}

.cta, [type=submit] {
    color: #fff !important;
    background: #E0378C;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 13px;
    padding: 8px 23px;
    border-radius: 50px;
    box-shadow: none;
    outline: none;
    border: none
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #E0378C !important;
    color: white !important;
    text-align: center;
    max-width: 700px;
    margin: 40px auto 0 auto;
    border-radius: 20px;
    width: 95%;
}

.wpcf7-spinner {
    position: absolute !important;
}

.wpcf7-not-valid-tip {
    color: #E0378C;
    font-size: 14px !important;
    font-weight: 300;
    background: #fff;
    display: inline-block !important;
    padding: 4px 15px;
    margin-top: 5px;
    border-radius: 20px;
}

.menu-item.current_page_item a {
    color: #E0378C !important;
}

.cta.inverse {
    background: #fff;
    color: #E0378C !important;
}

.light {
    font-weight: 300;
}

.bold {
    font-weight: 700;
}

.black {
    font-weight: 900;
}

.abril {
    font-family: 'Abril Fatface', cursive;
}

.bg-white {
    background: #fff;
}

.bg-gray {
    background: #f7f7f7;
}

.color-white {
    color: #fff
}

.color-pink {
    color: #E0378C
}

.logo {
    height: 80px;
}

.menu {
    list-style: none;
}

.menu a {
    color: #3A3A3A !important;
    font-weight: 500;
    font-size: 15px
}

.bg-cover {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-contain {
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

.home_header {
    padding: 180px 0 100px 0;
    overflow: hidden;
    z-index: 2;
}

.gray-div-outer {
    position: absolute;
    bottom: -150px;
    left: 0;
    right: 0;
    transform: rotateZ(-2deg) skewX(-2deg);
    width: calc(100% + 1px);
}

.gray-div {
    background: #f7f7f7;
    height: 200px;
}

.cs .gray-div-outer {
    transform: rotateZ(-6.3deg) skewX(-6.3deg);
}

.el {
    margin-top: -50px
}

.el .gray-div {
    height: 10vw;
}

.el .gray-div-outer {
    bottom: auto;
    top: 0;
    width: 110%;
    margin-left: -5%;
    transform: rotateZ(-4.3deg) skewX(-4.3deg) translateY(-50%);
}

.down {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
}

.what_we_do .bg-gray {
    padding-top: 80px
}

.wwd {
    font-size: 13px
}

.wwd:nth-child(1) {
    position: relative;
}

.what_we_do .wwd:nth-child(1):before, .our_approach .wwd:last-child:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    padding-top: 70%;
    transform: translate(0%, -10%);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url("/wp-content/themes/elma-research/static/img/stripedCircle.svg");
}

.our_approach .wwd:last-child:before {
    left: auto;
    right: 10%;
    top: -30%;
    width: 65%;
    padding-top: 65%;
}

.our_approach {
    position: relative;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: -210px;
}

.bpadding {
    padding-top: 100px;
    padding-bottom: 200px;
}

.our_approach > img, .git > img, .generic_cols > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.generic_cols {
    padding-top: 80px;
    padding-bottom: 130px;
    /*margin-top: -100px*/
}

.generic_cols.default {
    padding-bottom: 0;
}

.generic_cols.default > .container {
    padding-bottom: 170px;
}

.generic_cols .icon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -25%);
    width: 70px;
    height: 70px;
    z-index: 9;
}

.outcome-trigger {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    background: #fff;
    cursor: pointer
}

.outcome {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #59C3C1;
    transition: .3s ease;
    transform: translateY(100%);
}

.outcome-inner {
    overflow-y: auto;
    padding-bottom: 45px !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.generic_cols h2 {
    font-weight: 300;
    font-size: 30px;
    margin-bottom: 10px
}

.generic_cols.green {
    z-index: 9;
}

.generic_cols.default h2 {
    color: #E0378C
}

.generic_cols.default > .icon {
    transform: translate(-50%, 50%);
}

.generic_cols.default > .container {
    padding-top: 100px;
    margin-top: -50px;
}

.git .container {
    position: relative;
    top: -50px
}

.git {
    overflow: hidden;
    padding-top: 50px;
    margin-top: -130px
}

.git.inverse > img:not(.poli) {
    transform: scale(-1, 1);
}

.git.no-links {
    margin-top: -100px;
    padding-top: 150px
}

.wwd img {
    position: relative;
}

.font-13 {
    font-size: 13px
}

.with-chev {
    max-width: 400px;
    width: 80%;
}

.with-chev:before, .with-chev:after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    height: 40px;
    width: 40px;
    background-image: url("/wp-content/themes/elma-research/static/img/chevron.svg");
}

.with-chev.color-white:before, .with-chev.color-white:after {
    background-image: url("/wp-content/themes/elma-research/static/img/chevronWhite.svg");
}

.git .with-chev.color-white:before, .git .with-chev.color-white:after {
    background-image: url("/wp-content/themes/elma-research/static/img/chevron.svg");
}

.with-chev:before {
    left: -1.3em;
}

.bread-outer {
    position: absolute;
    top: 90px;
    left: 0;
    z-index: 9999;
}

.breadcrumbs a, .breadcrumbs {
    text-transform: uppercase;
    color: white !important;
}

.with-chev:after {
    right: -1.3em;
    transform: translateY(-50%) rotateZ(-180deg);
}

.brain-text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 30px 50px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    font-size: 20px
}

.brain-list {
    list-style: none;
    position: relative;
}

.brain-list:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: .8em;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/wp-content/themes/elma-research/static/img/swirl.svg");
}

.brain-list li {
    position: relative;
    text-transform: uppercase;
    padding-left: 30px;
}

.brain-list li:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: .8em;
    height: .8em;
    /*background-image: url("/wp-content/themes/elma-research/static/img/chevron.svg");*/
}

.play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10%;
    cursor: pointer;
}

.cs {
    padding: 200px 20px 300px 20px;
    transform: rotateZ(4.3deg);
    margin-top: -43px;
    width: 120%;
    margin-left: -10%;
    position: relative;
    overflow: hidden;
}

.cs .inner, .cs .bg {
    transform: rotateZ(-4.3deg);
}

.cs .inner {
    padding: 0 20px;
    max-width: 100vw;
    margin: auto;
}

.cs .bg-color {
    background: #2FB4B1;
    opacity: .8;
}

.cs .bg, .cs .bg-color {
    position: absolute;
    top: -12%;
    left: 0;
    bottom: -12%;
    right: 0;
}

.our_approach {

}

.oa_image {
    width: 60%;
    position: relative;
    background-size: cover;
    overflow: hidden;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center center;
    margin: auto;
}

.oa_image:after {
    content: '';
    display: block;
    padding-top: 100%;
}

.our_reach {
    padding-top: 300px;
    padding-bottom: 200px;
    margin-top: -230px
}


.swiper-latest .swiper-slide {
    width: 9%;
    max-width: 150px;
    height: 150px;
}

.swiper-latest .swiper-slide img {
    object-fit: cover;
}

.swiper-latest .swiper-wrapper {
    /*transition-timing-function: linear;*/
}

footer {
    position: relative;
}

footer:before, .home_header.contatti:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #E0378C;
    opacity: .9;
}

[name=newsletter] {
    width: 100%;
    background: transparent;
    color: #fff;
    font-weight: bold;
    border: none;
    box-shadow: none;
    outline: none;
    font-size: 12px;
    padding: 0 10px
}

.newsletter {
    background: rgba(255, 255, 255, .3);
    border: solid 1px #fff;
    border-radius: 50px;
}

.news-button {
    color: white !important;
    font-weight: 300;
    font-size: 12px;
    display: block;
    text-decoration: none !important;
    padding: 0 20px;
    border-left: solid 1px #fff
}

.home-title:before {
    content: '';
    position: absolute;
    top: -30%;
    left: -3%;
    bottom: -10%;
    width: 50%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url("/wp-content/themes/elma-research/static/img/dotTriangleWhite.svg");
}

.type-2 .home-title:before, .type-3 .home-title:before {
    background-image: url("/wp-content/themes/elma-research/static/img/dottedTriangle.svg");
}

.type-2 h1, .type-3 h1 {
    color: #E0378C
}

.type-3 .gray-div-outer {
    border-top: solid 5px #E0378C;
}

.type-2 p, .type-3 p {
    color: #3C3C3B
}

.type-2 h1, .type-3 h1 {
    font-size: 70px
}

.type-2 .gray-div-outer {
    display: none;
}

.home_header.type-2, .home_header.type-3 {
    padding-top: 0;
}

.triangle {
    position: absolute;
    left: 0;
    width: 300px;
    top: 100px;
    transform: translateX(-30%);
}

.s-circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    transform: translate(0%, -10%);
}

.cs .triangle {
    transform: translate(0, 0) rotateZ(5deg);
    left: -1%;
    width: 350px;
}

.la.swiper-button-next:after,
.la.swiper-button-prev:after, .pe.swiper-button-next:after,
.pe.swiper-button-prev:after {
    content: ''
}

.la.swiper-button-next,
.la.swiper-button-prev,
.pe.swiper-button-next,
.pe.swiper-button-prev {
    outline: none !important;
    width: 100px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/wp-content/themes/elma-research/static/img/arrow.svg");
}

.swiper-button-prev {
    transform: rotateZ(-180deg);
}

.pe.swiper-button-prev, .pe.swiper-button-next {
    top: 35%
}

.dot {
    width: 300px;
    position: absolute;
    top: -120px;
    left: 30px;
}

@media all and (min-width: 768px) {
    .place:nth-child(1) img:first-child {
        position: relative;
        top: -30px
    }

    .place:nth-child(3) img:first-child {
        position: relative;
        top: -20px
    }
}

@media all and (min-width: 992px) {
    .la.swiper-button-prev {
        left: -30px
    }

    .s-circle {
        width: 70%;
        transform: translate(0%, -30%);
    }
}

.el .triangle {
    top: auto;
    bottom: -72px;
    left: -79px;
    transform: rotateZ(45deg);
}


.our_story {
    padding: 200px 15px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    margin-top: -80px
}

.hh_image {
    margin-bottom: -120px
}

.home_header.type-2 .text, .home_header.type-3 .text {
    padding-top: 100px
}


.menu-mobile {
    height: 0;
    overflow: hidden;
    transition: .3s ease-in-out;
}

.menu-mobile .row {
    flex-direction: column;
    padding-left: 10px;
}

.menu-mobile li {
    padding: 10px 0
}

.menu-mobile .col-auto {
    width: 100%;
}

.menu-mobile {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 99999;
}

.tr .triangle {
    top: auto;
    transform: translate(0, 0) rotateZ(-70deg);
    right: -70px;
    left: auto;
}

.with-circle img {
    position: relative;
    z-index: 9;
}

.with-circle:after {
    content: '';
    width: 120%;
    height: 120%;
    left: 10%;
    top: 0;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    background-image: url("/wp-content/themes/elma-research/static/img/stripedCircle.svg");
}

.our_approach.type-2 {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.our_approach.type-2 > .row .container {
    background-color: #fff;
    padding-top: 30px;
    padding-bottom: 120px;
}

.breadcrumbs a, .breadcrumbs {
    font-size: 14px
}

.our_approach.type-2 .breadcrumbs a, .our_approach.type-2 .breadcrumbs,
.our_people_page .breadcrumbs a, .our_people_page .breadcrumbs,
.places .breadcrumbs a, .places .breadcrumbs {
    color: #E0378C !important;
}

.our_people_page .bread-outer {
    top: -10px;
}

.places .bread-outer {
    top: 15px
}

.our_approach.type-2 .bread-outer {
    top: 0;
}

.generic_cols:not(.green) > img:not(.icon) {
    display: none;
}

.outcome-close {
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    cursor: pointer;
}

.header_video:after {
    content: '';
    display: block;
    padding-top: 56%;
    background: #E0378C;
}

.header_video .play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    cursor: pointer;
}

.header_video .bread-outer {
    top: auto;
    bottom: 20px
}

.cre-video {
    position: relative;
    background-color: #fff;
    flex: 1;
}


.header_video video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}


.person .image {
    position: relative;
    border: solid 3px #E0378C;
    border-radius: 50%;
    cursor: pointer;
}

.person .image:after {
    content: '';
    display: block;
    padding-top: 100%;
}

.person .name {
    margin-top: 10px;
    font-weight: bold;
    font-size: 14px
}

.person .role {
    font-weight: 300;
    font-size: 12px
}

.person-even {
    position: relative;
    transform: translateY(-10%);
}

.swiper-people {
    padding-top: 30px;
    padding-bottom: 30px;
    overflow: visible;
}

.swiper-people .swiper-slide {
    width: 180px;
}

.person .image:hover .hover {
    transform: scale(1);
    opacity: 1;
}

.person .image:hover .hover > div {
    transform: translateY(0);
}

.person .image .hover div {
    transform: translateY(50%);
    transition: .3s ease;
    font-size: 14px;
}

.person .image .hover {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    transition: .3s ease;
    transform: scale(.8);
    opacity: 0;
    background: rgba(224, 55, 140, 0.8);
}

.page-id-344 .cs .triangle {
    display: none;
}

.page-id-344 .cs {
    transform: rotateZ(-4.3deg);
}

.page-id-344 .cs .inner, .page-id-344 .cs .bg {
    transform: rotateZ(4.3deg);
}

.contact-form {
    background: #59C3C1;
    position: relative;
    z-index: 9;
}

.contact-form label {
    width: 100%;
    color: #fff
}


.contact-form input:not([type=submit]), .contact-form textarea {
    width: 100%;
    border: none;
    outline: none;
    box-shadow: none;
    border-radius: 20px;
    padding: 5px 15px;
}

.absolute {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

video.reveal {
    display: none;
    opacity: 0;
    transition: .3s ease;
}

.absolute-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 100%
}

.volume:after {
    content: '';
    display: block;
    padding-top: 100%;
}

.volume {
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 5%;
    min-width: 30px;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    opacity: .7;
    transition: .3s ease;
}

.field-html h1, .field-html h2 {
    font-family: 'Abril Fatface', sans-serif;
}

.volume:hover {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1.1);
}

.volume .on {
    display: none;
}

.volume img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
}

.single h1 {
    font-size: 50px !important
}

.va{color:#fff; font-weight: 900; font-size: 40px; line-height: 42px;}
.vb{color:#fff;}

body.page-id-141 article .home_header .container.gray-div{background: #fff;}

.card_po{border-radius: 35px; overflow: hidden;}
.card_po_img img{height: 50px;}
.card_po_titolo{color:#fff; font-weight: 900;}
.card_po_inner_section{position:relative;}
.card_po_inner_section_desc{font-size: 15px; line-height: 17px; color:#696969;}
.card_po_inner_section:nth-child(n+3)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-image: url("/wp-content/themes/elmaresearch2025/static/img/sep_points.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.card_po_inner_section_img img{height: 35px !important; width: auto;}




@media all and (max-width: 767px) {
    .cre-video:after {
        content: '';
        display: block;
        padding-top: 56%;
    }
}

@media all and (max-width: 991px) {
    .our_approach .wwd:last-child:before {
        top: 0 !important;
    }

    .home_header.type-2 .text, .home_header.type-3 .text {
        padding-top: 50px;
    }

    .hh_image {
        margin-bottom: 0;
    }

    .bpadding {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .our_approach {
        position: relative;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-top: 0;
    }

    .our_approach > img, .generic_cols > img:not(.icon) {
        display: none;
    }

    .generic_cols > img.icon {
        transform: translate(-50%, -50%);
    }

    .generic_cols.default > .icon {
        transform: translate(-50%, 90%);
    }

    .generic_cols.default > .container {
        padding-top: 130px;
    }

    .generic_cols.green {
        background: rgba(56, 180, 177, 1);
    }

    .our_reach {
        padding-top: 40px;
        padding-bottom: 200px;
        margin-top: 0;
    }
}

.single-person {
    max-width: 140px;
}

@media all and (min-width: 992px) {
    .author {
        border-left: solid 1px #3C3C3B
    }

    .brain-outer {
        margin-top: -4%
    }

    .wwd:nth-child(1):before {
        transform: translate(2%, -35%);
    }

    .wwd:first-child img, .wwd:nth-child(3) img,
    .wwd:first-child .oa_image, .wwd:nth-child(3) .oa_image {
        top: -10%
    }

    .wwd:last-child .oa_image {
        top: -20%
    }

    .newsletter-outer {
        margin-left: auto;
        max-width: 260px;
    }
}


@media all and (max-width: 600px) {
    .home_header {
        background-position: 0 center;
    }
}

@media all and (max-width: 1199px) and (min-width: 992px) {
    .brain-list li {
        font-size: 12px
    }
}

@media all and (max-width: 991px) {
    .brain-list li {
        font-size: 18px
    }
}

@media all and (max-width: 500px) {
    h1 {
        font-size: 60px !important;
    }

    .meet_elma .light {
        max-width: 100% !important;
    }

    .el h3 {
        padding-top: 30px;
    }

    .swiper-latest .swiper-slide {
        width: 100% !important;
    }

    .cs {
        margin-top: -18px;
        padding: 100px 20px 200px 20px;
    }

    h4 {
        font-size: 20px
    }

    .brain-list li {
        font-size: 12px
    }

    .brain-text > div {
        margin-top: 0 !important;
    }

    .brain-text h4 {
        font-size: 15px
    }

    .la.swiper-button-next,
    .la.swiper-button-prev {
        width: 50px;
    }

    .our_people > .container {
        padding-left: 0;
        padding-right: 0;
    }

    .our_people .bpadding > div {
        max-width: 100% !important;
    }

    .our_story {
        padding: 200px 15px 150px 15px
    }

    .git {
        background: #59C3C1;
    }

    .git.no-links {
        margin-top: -40px;
        padding-top: 60px
    }

    .git > img {
        display: none;
    }
}

@media all and (max-width: 991px) {
    .logo {
        height: 60px
    }
}

.place-map {
    position: relative;
}

.place-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.place-map:after {
    content: '';
    display: block;
    padding-top: 70%
}

.tease-title a {
    color: #3C3C3B !important;
}

.pages {
    padding: 0;
    margin: 0;
    list-style: none;
}

.tool-pagination a {
    text-decoration: none;
    color: #3C3C3B !important;
    font-weight: bold;
}

.page-number.current {
    color: #E0378C;
    font-weight: bold;
}

#cookie-law-info-bar {
    z-index: 999999 !important;
}

header .menu li:last-child a{
    text-decoration: none;
    border:1px solid #3C3C3B;
    border-radius: 50px;
    padding: 8px 23px;
}
header .menu li:last-child a:hover{
    border-color: #8D8D8E !important;
    color: #8D8D8E !important;
}
.menu-item.current_page_item a{
    border-color: #E0378C !important;
    color:#E0378C;
}



@media all and (max-width: 480px) {
    .popup-body, .popup-trigger {
        width: auto !important;
        left: 20px
    }
}







/*MAIN MENU | Personalizzazione*/
/* Posizionamento base */
.menu .menu-item-has-children {
    position: relative;
}

/* Submenu nascosto */
.menu .menu-item-has-children > ul {
    position: absolute;
    top: 100%;
    left: 0;
    flex-direction: column;
    background: #fff;
    padding: 0;
    margin: 0;
    min-width: 200px;
    z-index: 999;
    border: 1px solid #eee;

    /* Animazione */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

/* Hover: mostra submenu */
.menu .menu-item-has-children:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Reset bootstrap spacing nei submenu */
.menu .menu-item-has-children > ul.row {
    flex-wrap: nowrap;
}

/* Ogni voce dropdown 100% width */
.menu .menu-item-has-children > ul > li {
    width: 100%;
    display: block;
}

/* Link stile */
.menu .menu-item-has-children > ul > li > a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    white-space: nowrap;
}

/* Hover sulle sottovoci */
.menu .menu-item-has-children > ul > li > a:hover {
    background: #f7f7f7;
}

ul.menu ul.menu li.col-auto.menu-item{padding:0;}
header ul.menu ul.menu li:last-child a{border: none; border-radius: 0;}
header ul.menu ul.menu li:last-child a:hover{color:#000 !important;}

ul.menu .menu-item-has-children > ul{border:0;}

/* Stato di default del menu mobile (chiuso) */
.menu-mobile {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transition: all .4s ease;
    position: relative;
    z-index: 99; /* sopra header ma sotto overlay */
}

/* Stato aperto */
.menu-mobile.open {
    max-height: 100vh; /* o un valore fisso se preferisci */
    opacity: 1;
    overflow: visible;
    visibility: visible;
}




/* MENU | Mobile view */
@media (max-width: 991px) {

    /* Blocca hover desktop */
    .menu-mobile .menu .menu-item-has-children:hover > ul {
        pointer-events: none;
    }

    /* Forza layout mobile stack */
    .menu-mobile .menu {
        display: block !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .menu-mobile .menu > li {
        width: 100% !important;
        display: block !important;
        flex: none !important;
    }

    /* SUBMENU base (chiuso) */
    .menu-mobile .menu .menu-item-has-children > ul {
        position: static !important;
        padding-left: 15px !important;

        max-height: 0;
        opacity: 0;
        overflow: hidden;

        transition: max-height .35s ease, opacity .25s ease;

        /* ✅ REMOVE BOOTSTRAP FLEX */
        display: block !important;
        flex: none !important;
        width: 100% !important;
    }

    /* SUBMENU aperto */
    .menu-mobile .menu .menu-item-has-children.open > ul {
        max-height: 500px;
        opacity: 1;
        overflow: visible;
    }

    /* ✅ fix submenu li so they don't act as bootstrap cols */
    .menu-mobile .menu .menu-item-has-children > ul > li {
        width: 100% !important;
        display: block !important;
        flex: none !important;
    }

    /* Arrow indicator */
    .menu-mobile .menu .menu-item-has-children > a {
        position: relative;
        padding-right: 25px;
    }

    .menu-mobile .menu .menu-item-has-children > a::after {
        content: "▾";
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform .25s ease;
        font-size: .75em;
    }

    .menu-mobile .menu .menu-item-has-children.open > a::after {
        transform: translateY(-50%) rotate(180deg);
    }

    /* i sottomenu devono contenere solo .menu-item */
    .menu .menu-item-has-children > ul > li:not(.menu-item) {
        display: none !important;
    }

    /* ma queste voci devono rimanere visibili nel menu principale */
    .menu > li:not(.menu-item) {
        display: block !important;
        width: 100% !important;
    }

    /* --- FIX DEFINITIVO CLIC SOTTOVOCI --- */

    /* assicurati che nulla copra i link */
    .menu-mobile,
    .menu-mobile-inner,
    .menu {
        position: relative !important;
        overflow: visible !important;
        z-index: 1 !important;
    }

    /* il contenitore delle sottovoci */
    .menu .menu-item-has-children > ul {
        position: relative !important;
        z-index: 2 !important;
        pointer-events: auto !important;
    }

    /* ogni singolo link cliccabile */
    .menu .menu-item-has-children > ul > li > a {
        position: relative !important;
        display: block !important;
        z-index: 3 !important;
        pointer-events: auto !important;
    }

    /* la voce principale e la freccia */
    .menu .menu-item-has-children > a {
        z-index: 4 !important;
    }
    .menu .menu-item-has-children > a::after {
        pointer-events: none !important;
    }

    /* disattiva flex di Bootstrap dentro i sottomenu */
    .menu .menu-item-has-children > ul.menu.row {
        display: block !important;
        flex: none !important;
    }
}

