/* Maxviral.Net local language switcher — intentionally small to preserve the current UI. */
.mv-lang-switcher{
    display:inline-flex;
    align-items:center;
    gap:3px;
    flex:0 0 auto;
    padding:3px;
    border:1px solid var(--border, rgba(15,23,42,.12));
    border-radius:11px;
    background:var(--card, rgba(255,255,255,.82));
    line-height:1;
}
.mv-lang-btn{
    appearance:none;
    border:0;
    background:transparent;
    min-width:38px;
    height:32px;
    padding:0 7px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    color:inherit;
    font:inherit;
    font-size:11px;
    font-weight:800;
    transition:background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.mv-lang-btn:hover{background:rgba(99,102,241,.08)}
.mv-lang-btn:active{transform:translateY(1px)}
.mv-lang-btn.active{background:rgba(99,102,241,.12);box-shadow:inset 0 0 0 1px rgba(99,102,241,.18)}
.mv-lang-btn:focus-visible{outline:2px solid rgba(99,102,241,.55);outline-offset:2px}
.mv-lang-flag{font-size:18px;line-height:1}
.mv-lang-code{font-size:10px;letter-spacing:.02em}
/* For EN loads, never flash the Vietnamese source before the local synchronous pass finishes. */
html.mv-i18n-boot body{visibility:hidden!important}
@media (max-width:720px){.mv-lang-code{display:none}.mv-lang-btn{min-width:34px;padding:0 6px}}


/* Compact dashboard language control */
.app > .main > .topbar .mv-lang-switcher{
    gap:2px;
    padding:2px;
    border-radius:9px;
}
.app > .main > .topbar .mv-lang-btn{
    min-width:31px;
    height:28px;
    padding:0 5px;
    border-radius:7px;
    gap:3px;
    font-size:9.5px;
}
.app > .main > .topbar .mv-lang-flag{font-size:14px}
.app > .main > .topbar .mv-lang-code{font-size:9px}


/* =========================================================
   Guest / Login language dropdown — v25
   Fixes the public-page selector layout and dropdown behavior.
   ========================================================= */
.login-i18n.mv-lang-switcher{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    width:auto;
    padding:0;
    border:0;
    border-radius:12px;
    background:transparent;
    overflow:visible;
    z-index:90;
}
.login-i18n .mv-lang-current{
    appearance:none;
    height:40px!important;
    min-width:92px!important;
    padding:0 11px!important;
    border:1px solid rgba(221,225,235,.96)!important;
    border-radius:12px!important;
    background:#fff!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#343b4f!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,23,42,.025);
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.login-i18n .mv-lang-current:hover,
.login-i18n.is-open .mv-lang-current{
    border-color:#cbc6f6;
    background:#fbfaff;
    box-shadow:0 0 0 3px rgba(100,82,235,.06);
}
.login-i18n .mv-lang-current:focus-visible{
    outline:none;
    border-color:#a99ff4;
    box-shadow:0 0 0 3px rgba(100,82,235,.11);
}
.login-i18n .mv-lang-current .mv-lang-flag{
    font-size:16px;
    line-height:1;
}
.login-i18n .mv-lang-current .mv-lang-code{
    min-width:18px;
    letter-spacing:.02em;
}
.login-i18n .mv-lang-chevron{
    margin-left:1px;
    color:#8d94a5;
    font-size:12px;
    line-height:1;
    transform:translateY(-1px);
    transition:transform .16s ease;
}
.login-i18n.is-open .mv-lang-chevron{transform:translateY(1px) rotate(180deg)}
.login-i18n .mv-lang-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:120;
    width:184px;
    padding:6px;
    border:1px solid #e5e7ee!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 16px 42px rgba(20,24,40,.12),0 2px 8px rgba(20,24,40,.04)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-4px) scale(.985);
    transform-origin:top right;
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.login-i18n.is-open .mv-lang-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}
.login-i18n .mv-lang-option{
    appearance:none;
    width:100%;
    min-height:40px;
    padding:0 10px;
    border:0;
    border-radius:9px;
    background:transparent;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    color:#4b5265;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
}
.login-i18n .mv-lang-option:hover{background:#f7f7fb;color:#242a3b}
.login-i18n .mv-lang-option.active{background:#f2f0ff;color:#5f50df}
.login-i18n .mv-lang-option > span:first-child{font-size:17px;line-height:1}
.login-i18n .mv-lang-option b{
    color:#9aa1b1;
    font-size:10px;
    font-weight:700;
    letter-spacing:.03em;
}
.login-i18n .mv-lang-option.active b{color:#7468e9}

@media(max-width:980px){
    .login-i18n .mv-lang-current{min-width:82px;height:38px}
}
@media(max-width:720px){
    .login-i18n .mv-lang-current{min-width:42px;width:42px;padding:0 8px}
    .login-i18n .mv-lang-current .mv-lang-code{display:none}
    .login-i18n .mv-lang-chevron{display:none}
    .login-i18n .mv-lang-menu{right:-4px;width:176px}
}
