
/* EFM language selector V1.03
 * Large blue high-visibility selector
 */

.efm-language-selector{
    position:relative;
    display:inline-flex;
    align-items:center;
    z-index:1200;
}

.efm-language-button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    width:270px;
    min-width:270px;
    height:52px;

    padding:0 22px;

    font:inherit;
    font-size:18px;
    font-weight:800;

    color:#ffffff;

    background:#0796d8;
    border:2px solid #11a9ed;
    border-radius:12px;

    cursor:pointer;
    white-space:nowrap;
    box-sizing:border-box;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.04),
        0 0 0 1px rgba(0,0,0,.10);
}

.efm-language-button:hover{
    background:#0aa5e8;
    border-color:#28b9f4;
}

.efm-language-button:focus{
    outline:none;
    border-color:#56cbff;
    box-shadow:
        0 0 0 3px rgba(0,169,239,.22);
}

.efm-language-menu{
    position:absolute;
    inset-inline-end:0;
    top:calc(100% + 8px);

    width:360px;
    max-height:70vh;
    overflow:auto;

    padding:8px;

    background:var(--panel-bg,#172033);
    border:1px solid var(--border-color,#34425c);
    border-radius:12px;

    box-shadow:0 14px 36px rgba(0,0,0,.38);
}

.efm-language-option{
    width:100%;
    min-height:46px;

    display:grid;
    grid-template-columns:38px 1fr auto;
    align-items:center;
    gap:12px;

    padding:9px 12px;
    margin:2px 0;

    font:inherit;
    font-size:17px;
    font-weight:600;

    color:inherit;
    background:transparent;

    border:1px solid transparent;
    border-radius:9px;

    text-align:left;
    cursor:pointer;
}

.efm-language-option:hover,
.efm-language-option:focus{
    border-color:#0796d8;
    background:rgba(7,150,216,.12);
    outline:none;
}

.efm-lang-flag{
    font-size:28px;
    line-height:1;
    width:32px;
    text-align:center;
}

.efm-lang-native{
    font-weight:800;
    overflow-wrap:anywhere;
}

.efm-lang-code{
    opacity:.55;
    font-size:11px;
    font-family:Consolas,monospace;
}

.efm-lang-chevron{
    opacity:.95;
    font-size:14px;
    font-weight:800;
}

.top-language-selector{
    margin-right:10px;
}

@media (max-width:1100px){
    .efm-language-button{
        width:240px;
        min-width:240px;
        font-size:17px;
    }

    .efm-language-menu{
        width:340px;
    }
}

/* ==========================================================
   EFM V3.3.56
   Force language selector typography against header overrides
   ========================================================== */

.top-kpis .top-language-selector .efm-language-button,
.top-language-selector .efm-language-button,
button.efm-language-button {
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #ffffff !important;
    letter-spacing: 0 !important;
}

.top-kpis .top-language-selector .efm-language-button span,
.top-language-selector .efm-language-button span,
button.efm-language-button span {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.top-kpis .top-language-selector .efm-language-button .efm-lang-flag,
.top-language-selector .efm-language-button .efm-lang-flag {
    font-size: 25px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

.top-kpis .top-language-selector .efm-language-button .efm-lang-chevron,
.top-language-selector .efm-language-button .efm-lang-chevron {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Dropdown equally readable */
.top-language-selector .efm-language-option,
.top-language-selector .efm-language-option span {
    font-size: 16px !important;
}

.top-language-selector .efm-language-option .efm-lang-native {
    font-size: 17px !important;
    font-weight: 800 !important;
}

.top-language-selector .efm-language-option .efm-lang-flag {
    font-size: 25px !important;
}

.top-language-selector .efm-language-option .efm-lang-code {
    font-size: 11px !important;
    font-weight: 600 !important;
}
