/* ===== Sélecteur de langue (commun à toutes les pages) ===== */
.lang-switch { position: relative; }
.lang-switch summary {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; cursor: pointer;
    list-style: none; font-weight: 600; font-size: 14px; user-select: none;
}
.lang-switch summary::-webkit-details-marker { display: none; }
.lang-switch summary:hover { background: rgba(127,127,127,.12); }
.lang-switch summary:focus-visible { outline: 2px solid #ff1f6b; outline-offset: 2px; }
.lang-switch ul {
    position: absolute; right: 0; top: calc(100% + 6px); z-index: 100; min-width: 150px; margin: 0; padding: 6px; list-style: none;
    background: #fff; color: #111; border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.18); border: 1px solid #eee;
}
.lang-switch a { display: block; padding: 9px 12px; border-radius: 10px; color: inherit; text-decoration: none; font-weight: 500; }
.lang-switch a:hover { background: #f3f4f8; }
.lang-switch a[aria-current] { background: #ffe8f0; color: #c2104f; font-weight: 700; }
/* Variante flottante (page publique d'un utilisateur, scanner) */
.lang-float { position: fixed; top: 16px; left: 16px; z-index: 6; }
.lang-float summary { background: var(--btn, rgba(255,255,255,.9)); color: var(--btn-text, #111); box-shadow: 0 2px 10px rgba(0,0,0,.12); backdrop-filter: blur(6px); }
.lang-float summary:hover { background: var(--btn-hover, #fff); }
.lang-float ul { left: 0; right: auto; }
