.language-switch{display:inline-flex;gap:4px;flex-shrink:0;align-items:center}
.language-btn{font:inherit;font-size:.82rem;font-weight:800;border:1px solid #ccd4e4;border-radius:7px;background:#fff;color:#123aa8;padding:7px 9px;min-height:36px;cursor:pointer}
.language-btn.is-active{background:#123aa8;color:#fff;border-color:#123aa8}
.language-btn:focus-visible{outline:3px solid #efc923;outline-offset:2px}
[data-it]{white-space:inherit}
-@media(max-width:650px){.header .nav{flex-wrap:wrap;gap:10px}.header .nav>nav{order:3;width:100%;justify-content:space-between}.language-switch{margin-left:auto}}
@media print{.language-switch{display:none}}
@media(max-width:650px){

    /* Header mobile su una sola riga */
    .header .nav{
        position:relative;
        flex-wrap:nowrap;
        min-height:64px;
        gap:10px;
    }

    .header .logo{
        width:96px;
        height:54px;
        flex-shrink:0;
    }

    /* Menu Programme + Join us */
    .header .nav > nav{
        order:initial;
        width:auto;
        margin-left:auto;
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:10px;
    }

    /* beat.css nasconde Programme: lo riattiviamo */
    .header .nav > nav > a:first-child{
        display:inline-flex;
    }

    .header .nav a{
        font-size:12px;
        white-space:nowrap;
    }

    .header .nav-cta{
        padding:8px 12px;
    }

    /* Lingua fuori dall'header,
       flottante sul contenuto */
    .language-switch{
        position:absolute;
        top:calc(100% + 8px);
        right:0;
        z-index:50;

        margin:0;
        padding:4px;

        display:flex;
        gap:4px;

        background:rgba(255,255,255,.96);
        border:1px solid #dce1ed;
        border-radius:11px;

        box-shadow:0 5px 15px rgba(0,0,0,.15);
    }

    .language-btn{
        min-height:34px;
        padding:5px 9px;
        font-size:12px;
        border-radius:7px;
    }


.language-switch{
    position:absolute;
    top:calc(100% + 8px);

    /* attaccato al bordo destro dello schermo */
    right:-16px;

    z-index:50;

    margin:0;
    padding:4px;

    display:flex;
    gap:4px;

    background:rgba(255,255,255,.96);
    border:1px solid #dce1ed;

    /* arrotondato solo a sinistra */
    border-radius:11px 0 0 11px;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

    /* 25% più piccolo */
    transform:scale(.75);
    transform-origin:top right;
}

}

@media (max-width:650px) {

    .language-switch {
        position: absolute;
        top: calc(100% + 8px);
        right: -16px;
        z-index: 50;

        margin: 0;
        padding: 3px;

        display: flex;
        gap: 3px;

        background: rgba(255,255,255,.96);
        border: 1px solid #dce1ed;
        border-radius: 11px 0 0 11px;

        box-shadow: 0 5px 15px rgba(0,0,0,.15);

        /* IMPORTANTE: niente transform su Safari/iPhone */
    }

    .language-btn {
        min-height: 30px;
        padding: 4px 7px;
        font-size: 11px;
        border-radius: 6px;
    }
}

