:root {
    /*
    --wp--preset--color--accent-3: rgb(20, 180, 181);
    --wp--preset--color--primary: rgb(20, 180, 181);
    --wp--preset--color--secondary: rgb(235, 140, 13);
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(20, 180, 181, 1) 0%, rgb(235, 140, 13) 100%);
    --wp--preset--gradient-hoveroutline: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgb(211, 211, 211) 100%);
    */
    --wp--preset--gradient-hoveroutline: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgb(211, 211, 211) 100%);

}


/* Importa il font Inter da Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');

.wp-block-cover__inner-container {
    padding-left:0;
    padding-right:0;
}
.grecaptcha-badge {
    bottom:45px !important;
}
@media (max-width: 767px) {
    .cmt-list-post li {
        margin-right:0 !important;
    }
    .cmt-list-post .wp-block-latest-posts__featured-image,
    .cmt-list-post .wp-block-latest-posts__featured-image a {
        width:100%;
        margin-right:0;
        margin-bottom:15px;
    }
    .cmt-list-post .wp-block-latest-posts__featured-image img {
        width: 100%;
    }
}

body {
    font-family: "Work Sans", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: var(--wp--preset--font-size--medium) !important;
}

/* Forza la comparsa della freccia nei sottomenu */
/*
.wp-block-navigation-submenu__toggle svg {
    display: inline-block !important;
    visibility: visible !important;
}
.wp-block-navigation-item.has-child:not(.is-menu-open)>.wp-block-navigation__submenu-container {
    display: none;
}
*/

/* Stili specifici per il mobile */
@media (max-width: 767px) {

    /* Nascondi di base se non c'è la classe di apertura */
    .wp-block-navigation-item.has-child:not(.is-menu-open)>.wp-block-navigation__submenu-container {
        display: none !important;
    }

    /* La freccia deve essere sempre cliccabile */
    .wp-block-navigation-submenu__toggle {
        display: flex !important;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        z-index: 10;
    }

    /* --- MODIFICA QUI --- */
    /* Definiamo la transizione sullo stato base dell'SVG */
    .wp-block-navigation-submenu__toggle svg {
        transition: transform 0.2s ease;
        /* L'animazione ora vive qui */
        transform: rotate(0deg);
        /* Assicura una posizione di partenza */
    }

    .wp-block-navigation-submenu {
        padding-right: 15px !important;
    }

    .wp-block-navigation-submenu button {
        position: absolute;
        min-width: auto;
        min-height: 35px;
        right: 0;
    }

    .wp-block-navigation__submenu-container {
        text-align: right;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .wp-block-navigation__submenu-container li>a {
        padding-left: 0px !important;
        padding-right: 0px !important;
        font-size: 1.25em !important;
    }

    .wp-block-navigation-item.has-child>a {
        cursor: pointer;
    }

    /* Quando il menu è aperto, ruotiamo */
    .wp-block-navigation-item.has-child.is-menu-open .wp-block-navigation-submenu__toggle svg {
        transform: rotate(180deg);
        /* transition qui non serve più, è già definita sopra */
    }
}

a {
    color: var(--wp--preset--color--contrast);
}

a:hover {
    color: var(--wp--preset--color--accent-1);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--wp--preset--color--contrast);
}

.cmt-section-100vh {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .wp-block-navigation__container>li>a {
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

header .wp-block-navigation__container>li>a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 0;
    background: var(--wp--preset--color--contrast);
    transition: width 0.3s cubic-bezier(.4, 0, .2, 1);
}

header .wp-block-navigation__container>li>a:hover::after {
    width: 100%;
}

.cmt-header-top-fixed {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    /*color: #FFF;*/
    background: transparent;
    transition: background 0.3s, color 0.3s, box-shadow 0.3s;
    font-weight: 500;
}

.cmt-header-top-fixed.scrolled {
    background: rgba(255, 255, 255, 0.5);
    /*color: #111826;*/
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* per Safari */
}

.wp-element-button {
    color: #FFF;
    background: var(--wp--preset--color--contrast) !important;
}

.wp-element-button:hover {
    /*color: #FFFFFF !important;*/
    background: var(--wp--preset--color--accent-1) !important;
    color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-fill .wp-element-button {
    /*color: #FFFFFF !important;*/
    background: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-fill .wp-element-button:hover {
    /*color: #FFFFFF !important;*/
    background: var(--wp--preset--color--accent-2);
    color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-outline .wp-element-button {
    /*background: var(--wp--preset--gradient-hoveroutline) !important;*/
    background: transparent;
}

.wp-block-button.is-style-outline .wp-element-button:hover {
    background: var(--wp--preset--gradient-hoveroutline) !important;
}

.wp-element-button {
    border-radius: 5px !important;
}

.cmt-card-100 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    align-self: stretch !important;
    min-height: 60px;
}

@media (max-width: 600px) {
    .cmt-inline-columns {
        max-width: 100%;
    }

    .cmt-inline-columns .wp-block-columns {
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .cmt-card-100 {
        min-width: 50vw;
    }

}

.cmt-card-100 strong {
    color: var(--wp--preset--color--accent-1);
}

.wp-block-latest-posts__list .wp-block-latest-posts__post-title {
    font-family: "Playfair Display", serif;
    font-size: 1.25em;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 15px;
    display: block;
}

.wp-block-latest-posts__list img {
    border-radius: 5px;
}


@media (max-width: 600px) {
    .cmt-section-100vh h2 {
        font-size: 2.5em !important;
    }

    .cmt-image-pill {
        max-width: 100px;
    }

    .wp-block-navigation__responsive-container {
        height: 100vh;
    }

}


/* ↓ SLIDER TEXT ↓ */

.cmt-slider-text {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    padding: 0;
    text-transform: uppercase;
    font-size: 2em;
    font-weight: 900;
    width: 100%
}

.cmt-slider-text .wp-block-list {
    display: flex;
    transition: transform 0.5s cubic-bezier(.4, 0, .2, 1);
    padding: 0;
    margin: 0;
    list-style: none;
    min-width: 100%;
    align-items: center;
}

.cmt-slider-text .wp-block-list li {
    min-width: 100%;
    box-sizing: border-box;
    padding: 2em 1em;
    text-align: center;
    font-size: 1.5em;
    padding: 0 5em 1em 5em;
    line-height: 1em;
}

.cmt-slider-pills {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 0;
}

.cmt-slider-pill {
    width: 12px;
    height: 12px;
    border-radius: 25px;
    background: var(--wp--preset--color--accent-1);
    opacity: 0.3;
    cursor: pointer;
    transition: opacity 0.2s, width 0.2s;
    border: none;
}

.cmt-slider-pill.active {
    opacity: 1;
    /*background: var(--wp--preset--color--primary, #111826);*/
    width: 25px;
    border-radius: 25px;
}

@media (max-width: 600px) {
    .cmt-slider-text .wp-block-list li {
        font-size: .8em;
        padding: 1.5em 0.5em;
    }

    .cmt-slider-text {
        max-width: 100vw;
    }
}

/* ↑ SLIDER TEXT ↑ */


/* Effetto acqua su testo con due colori e animazione ondosa */
.water-text strong {
    background: linear-gradient(to bottom, var(--wp--preset--color--accent-1) 0%, var(--wp--preset--color--contrast) 100%);
    background-size: 100% 200%;
    background-repeat: no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    letter-spacing: 2px;
    animation: water-gradient-move 20s ease-in-out infinite;
}

@keyframes water-gradient-move {
    0% {
        background-position: 0% 0%;
    }

    50% {
        background-position: 0% 100%;
    }

    100% {
        background-position: 0% 0%;
    }
}

/* ↓ SLIDER IMAGE ↓ */

.cmt-slider-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
}

.cmt-slider-image-track {
    display: flex;
    width: 100%;
    transition: transform 0.5s cubic-bezier(.4, 0, .2, 1);
    max-width: 100%;
}

.cmt-slider-image .wp-block-image {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    /* Assicura che ogni slide occupi esattamente il 100% della larghezza del contenitore. */
    margin: 0;
}

/* Nasconde le slide eccetto la prima finché JS non è pronto per evitare glitch */
.cmt-slider-image:not(.initialized) .wp-block-image:not(:first-child) {
    display: none;
}

/* Pills in overlay per le immagini */
.cmt-slider-image .cmt-slider-pills {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
}

.cmt-slider-image .cmt-slider-pill {
    background: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    opacity: 0.6;
}

.cmt-slider-image .cmt-slider-pill.active {
    opacity: 1;
    background: #FFF;
}

/* ↑ SLIDER IMAGE ↑ */

/* ↓ ANIMATED FLAGS MAIL ↓ */
.cmt-animated-flags-mail .cmt-flag-north-america,
.cmt-animated-flags-mail .cmt-flag-eu,
.cmt-animated-flags-mail .cmt-flag-asia {
    height: 60px;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 50px;
    transition: opacity 0.5s ease-in-out, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    margin-bottom: 1rem;
    opacity: 1;
}

/* Fallback iniziali (USA, EU, China) */
.cmt-animated-flags-mail .cmt-flag-north-america {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-us" viewBox="0 0 640 480"><path fill="%23bd3d44" d="M0 0h640v480H0"/><path stroke="%23fff" stroke-width="37" d="M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640"/><path fill="%23192f5d" d="M0 0h364.8v258.5H0"/><marker id="us-a" markerHeight="30" markerWidth="30"><path fill="%23fff" d="m14 0 9 27L0 10h28L5 27z"/></marker><path fill="none" marker-mid="url(%23us-a)" d="m0 0 16 11h61 61 61 61 60L47 37h61 61 60 61L16 63h61 61 61 61 60L47 89h61 61 60 61L16 115h61 61 61 61 60L47 141h61 61 60 61L16 166h61 61 61 61 60L47 192h61 61 60 61L16 218h61 61 61 61 60z"/></svg>');
}

.cmt-animated-flags-mail .cmt-flag-eu {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eu" viewBox="0 0 640 480"><defs><g id="eu-d"><g id="eu-b"><path id="eu-a" d="m0-1-.3 1 .5.1z"/><use xlink:href="%23eu-a" transform="scale(-1 1)"/></g><g id="eu-c"><use xlink:href="%23eu-b" transform="rotate(72)"/><use xlink:href="%23eu-b" transform="rotate(144)"/></g><use xlink:href="%23eu-c" transform="scale(-1 1)"/></g></defs><path fill="%23039" d="M0 0h640v480H0z"/><g fill="%23fc0" transform="translate(320 242.3)scale(23.7037)"><use xlink:href="%23eu-d" width="100%" height="100%" y="-6"/><use xlink:href="%23eu-d" width="100%" height="100%" y="6"/><g id="eu-e"><use xlink:href="%23eu-d" width="100%" height="100%" x="-6"/><use xlink:href="%23eu-d" width="100%" height="100%" transform="rotate(-144 -2.3 -2.1)"/><use xlink:href="%23eu-d" width="100%" height="100%" transform="rotate(144 -2.1 -2.3)"/><use xlink:href="%23eu-d" width="100%" height="100%" transform="rotate(72 -4.7 -2)"/><use xlink:href="%23eu-d" width="100%" height="100%" transform="rotate(72 -5 .5)"/></g><use xlink:href="%23eu-e" width="100%" height="100%" transform="scale(-1 1)"/></g></svg>');
}

.cmt-animated-flags-mail .cmt-flag-asia {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 640 480"><defs><path id="cn-a" fill="%23ff0" d="M-.6.8 0-1 .6.8-1-.3h2z"/></defs><path fill="%23ee1c25" d="M0 0h640v480H0z"/><use xlink:href="%23cn-a" width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)"/><use xlink:href="%23cn-a" width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)"/><use xlink:href="%23cn-a" width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)"/><use xlink:href="%23cn-a" width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)"/><use xlink:href="%23cn-a" width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)"/></svg>');
}

/*
.cmt-animated-flags-mail .wp-block-column:hover .cmt-flag-north-america,
.cmt-animated-flags-mail .wp-block-column:hover .cmt-flag-eu,
.cmt-animated-flags-mail .wp-block-column:hover .cmt-flag-asia {
    transform: scale(1.1);
}
*/

/* ↑ ANIMATED FLAGS MAIL ↑ */

/* ↓ INTERACTIVE MAP ↓ */
.cmt-interactive-map-continents svg {
    width: 100%;
    height: auto;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
}

.cmt-interactive-map-continents {
    position: relative;
    /* Necessario per posizionare l'overlay */
}

.cmt-interactive-map-continents path,
.cmt-interactive-map-continents polygon {
    fill: #e0e0e0;
    /* Colore base */
    transition: fill 0.3s ease;
    cursor: pointer;
}

.cmt-interactive-map-continents g:not(.non-interactive):hover path,
.cmt-interactive-map-continents g:not(.non-interactive):hover polygon {
    fill: var(--wp--preset--color--accent-1);
    /* Colore hover */
}

.cmt-interactive-map-continents g.active path,
.cmt-interactive-map-continents g.active polygon {
    fill: var(--wp--preset--color--contrast);
    /* Colore attivo/selezionato */
}

.cmt-interactive-map-continents g.non-interactive {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

/* Nasconde i blocchi di testo sorgente */
/*
[class*="cmt-interactive-map-text-"] {
    display: none;
}
*/

/* Mostra il contenuto clonato quando è dentro la card attiva */
/*
.cmt-map-overlay-card.active [class*="cmt-interactive-map-text-"] {
    display: block;
}
*/

/* Overlay Card */
.cmt-map-overlay-card {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    z-index: 50;
    width: 90%;
    max-width: 750px;
    text-align: start;
}

.cmt-map-overlay-card.active {
    display: block;
    animation: fadeInCard 0.3s ease-out;
}

.cmt-map-close-btn {
    position: absolute;
    top: 5px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: var(--wp--preset--color--contrast);
    padding: 0;
    min-width: auto;
    min-height: auto;
}

@keyframes fadeInCard {
    from {
        opacity: 0;
        transform: translate(-50%, -45%);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

/* ↑ INTERACTIVE MAP ↑ */