/* Multisite Language Switcher v2 */
.mls-switcher { position:relative; display:inline-block; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:14px; z-index:999; }
.mls-align-center { display:flex; justify-content:center; }
.mls-align-right  { display:flex; justify-content:flex-end; }
.mls-label {
    color: rgb(227, 6, 19);
}
.mls-trigger {
    display: flex !important;
    background: transparent !important;
    border-width: 0px !important;
    border-style: none !important;
    border-color: currentcolor !important;
    border-image: initial !important;
    padding: 0px !important;
}
.mls-trigger { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; background:#fff; border:1.5px solid #ddd; border-radius:8px; cursor:pointer; font-size:14px; font-weight:500; color:#333; transition:border-color .15s,box-shadow .15s; white-space:nowrap; line-height:1; }
.mls-trigger:hover { border-color:#0073aa; box-shadow:0 0 0 3px rgba(0,115,170,.1); }
.mls-trigger:focus-visible { outline:2px solid #0073aa; outline-offset:2px; }
.mls-flag  { font-size:18px; line-height:1; }
.mls-chevron { display:flex; align-items:center; color:#888; transition:transform .2s; }
.mls-trigger[aria-expanded="true"] .mls-chevron { transform:rotate(180deg); }

.mls-dropdown { position:absolute; top:calc(100% + 6px); left:0; min-width:170px; background:#fff; border:1.5px solid #e0e0e0; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.12); list-style:none; margin:0; padding:5px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px); transition:opacity .18s,transform .18s,visibility .18s; z-index:1000; display:block !important; }
.mls-dropdown.mls-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); display:block !important; }
.mls-align-right .mls-dropdown { left:auto; right:0; }

.mls-option { margin:0; padding:0; border-radius:7px; }
.mls-option + .mls-option { border-top:1px solid #f0f0f0; margin-top:2px; padding-top:2px; }
.mls-option a { display:flex; align-items:center; gap:8px; padding:8px 12px; color:#333; text-decoration:none; border-radius:7px; transition:background .12s; }
.mls-option a:hover { background:#f0f7ff; color:#0073aa; }
.mls-option.mls-current a { background:#f0f7ff; color:#0073aa; font-weight:600; cursor:default; pointer-events:none; }
.mls-option a .mls-label { flex:1; }
.mls-check { display:flex; align-items:center; color:#0073aa; }

.hide-deskm .mls-trigger > .mls-label {
    color: rgb(227, 6, 19);
    font-size: 14px;
    font-weight: 500;
}

.hide-deskm .mls-label {
    color: white;
    font-size: 14px;
    font-weight: 500;
}
.hide-deskm .mls-option + .mls-option {
    border-top: 0px;
    margin-top: 2px;
    padding-top: 2px;
}
.hide-deskm .mls-align-right .mls-dropdown {
    left: auto;
    right: 0;
    background: transparent;
    border: 0px;
    text-transform: uppercase;
}

.hide-deskm .mls-fallback-badge {
    font-size: 12px;
    color: #aaa;
    margin-left: auto;
    visibility: hidden;
}
.mls-chevron {
    display: flex;
    align-items: center;
    color: #e30613;
    transition: transform .2s;
}

.hide-deskm .mls-menu-item .mls-trigger, .mls-menu-wrapper .mls-trigger {
    background: transparent;
    border-color: transparent;
    color: inherit;
    padding: 10px 0px!important;
}

/* Badge fallback (icona casetta) */
.mls-fallback-badge { font-size:12px; color:#aaa; margin-left:auto; }

/* Indicatore visivo della fonte (opzionale, visibile solo in debug) */
.mls-src-meta     { /* collegamento diretto */ }
.mls-src-auto     { /* regola automatica */ }
.mls-src-mapping  { /* mapping manuale */ }
.mls-src-fallback { /* homepage fallback */ }

/* ── Integrazione nel menu di navigazione ── */
.mls-menu-item,
li.mls-menu-item {
    display: flex;
    align-items: center;
    list-style: none;
}

.mls-menu-wrapper {
    display: inline-flex;
    align-items: center;
}

/* Resetta il bottone quando è dentro un menu (eredita colori del tema) */
.mls-menu-item .mls-trigger,
.mls-menu-wrapper .mls-trigger {
    background: transparent;
    border-color: transparent;
    color: inherit;
    padding: 4px 8px;
}

.mls-menu-item .mls-trigger:hover,
.mls-menu-wrapper .mls-trigger:hover {
    border-color: currentColor;
    box-shadow: none;
}

/* Il dropdown si apre verso il basso rispettando il contesto del menu */
.mls-menu-item .mls-dropdown,
.mls-menu-wrapper .mls-dropdown {
    top: calc(100% + 4px);
    z-index: 99999;
}

/* ── Fix Elementor mobile ── */
/* Elementor usa z-index elevati sui menu; il dropdown deve stare sopra */
.elementor-nav-menu .mls-switcher,
.elementor-nav-menu--main .mls-switcher {
    position: relative;
    z-index: 9999;
}
.elementor-nav-menu .mls-dropdown,
.elementor-nav-menu--main .mls-dropdown {
    z-index: 99999;
}

/* ── Mobile (≤1024px): dropdown in flusso normale, non absolute ── */
@media (max-width: 1024px) {

    .mls-switcher {
        display: block;
        width: 100%;
        overflow: visible !important;
    }

    .mls-menu-item,
    li.mls-menu-item,
    .mls-menu-wrapper {
        display: block;
        width: 100%;
        overflow: visible !important;
    }

    /* Il trigger occupa tutta la larghezza come le altre voci del menu */
    .mls-trigger,
    .mls-menu-item .mls-trigger,
    .mls-menu-wrapper .mls-trigger {
        width: 100%;
        box-sizing: border-box;
    }

    /* Dropdown in flusso normale: niente position absolute, si espande verso il basso */
    .mls-dropdown {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        box-shadow: none;
        border-radius: 6px;
        margin-top: 4px;
        min-width: 0;
        width: 100%;
        /* Animazione con max-height invece di transform */
        max-height: 0;
        overflow: hidden !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: none;
        transition: max-height .25s ease, padding .25s ease;
        padding: 0 !important;
    }

    .mls-dropdown.mls-open {
        max-height: 400px;
        padding: 5px !important;
        pointer-events: auto;
        overflow: visible !important;
    }
}

/* ── Fix specifico: Elementor nasconde tutti gli ul dentro il menu ── */
/* Bisogna sovrascrivere .elementor-nav-menu ul { display: none } */
.elementor-nav-menu .mls-dropdown,
.elementor-nav-menu--main .mls-dropdown,
.elementor-nav-menu .mls-switcher ul,
.elementor-nav-menu--main .mls-switcher ul {
    display: block !important; /* override Elementor */
    /* La visibilità è gestita da opacity/visibility, non da display */
}