/* ============================================================
   SELECTEUR DE LANGUE — menu créé 100% par JS (aucun ul dans le HTML)
   Inséré dans <body> via js/langue-selecteur.js
   ============================================================ */

.langue-active-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 13px !important;
    border: 2px solid #D6EAF5 !important;
    border-radius: 50px !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    color: #0C2D4A !important;
    background: #fff !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transition: border-color .25s ease, background .25s ease !important;
    font-family: var(--f-corps), sans-serif !important;
}
.langue-active-btn:hover { border-color: #7DC242 !important; }
.langue-active-btn svg { flex-shrink:0 !important; transition:transform .25s ease !important; }
.langue-active-btn.ouvert { border-color:#29ABE2 !important; background:#E5F5FC !important; }
.langue-active-btn.ouvert svg { transform:rotate(180deg) !important; }

/* Menu portal — créé par JS, inséré dans body */
#langueMenuPortal {
    position: fixed !important;
    z-index: 99999 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 8px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1.5px solid #D6EAF5 !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 40px rgba(12,45,74,.18) !important;
    width: 200px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}
#langueMenuPortal.visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}
#langueMenuPortal button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    font-family: var(--f-corps), sans-serif !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    color: #1A2C3D !important;
    text-align: left !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    transition: background .15s ease !important;
}
#langueMenuPortal button img {
    flex-shrink: 0 !important;
    border-radius: 3px !important;
    box-shadow: 0 0 0 1px rgba(12,45,74,.12) !important;
    display: block !important;
}
#langueMenuPortal button:hover { background: #EEF7E2 !important; color: #5DA830 !important; }
