/* Seletor de idioma — compartilhado por index, regras, ranking e roleta.
   Só o seletor mora aqui; as traduções ficam em i18n.js. Segue o vidro escuro do menu (mesmo traço do .nav-burger). */
.lang-switch{position:relative;display:inline-flex;flex-shrink:0}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 11px 0 10px;border:0;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:#F5F6FA;font-family:inherit;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;cursor:pointer;transition:background .2s,box-shadow .2s}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(255,138,61,.5)}
.lang-btn .lang-chev{width:11px;height:11px;color:#A3A8B5;transition:transform .2s}
.lang-btn[aria-expanded="true"] .lang-chev{transform:rotate(180deg)}
.lang-flag{display:inline-flex;width:20px;height:14px;border-radius:3px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.lang-flag svg{display:block;width:100%;height:100%}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:5;min-width:214px;margin:0;padding:8px;list-style:none;background:rgba(10,12,18,.97);border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 24px 60px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.lang-menu[hidden]{display:none}
.lang-opt{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;color:#A3A8B5;font-size:15px;font-weight:500;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.lang-opt:hover,.lang-opt:focus-visible{background:rgba(255,255,255,.07);color:#F5F6FA}
.lang-opt[aria-selected="true"]{color:#F5F6FA}
.lang-opt .lang-check{width:14px;height:14px;margin-left:auto;color:#FF8A3D;opacity:0}
.lang-opt[aria-selected="true"] .lang-check{opacity:1}
@media(max-width:480px){.lang-btn .lang-code{display:none}.lang-btn{padding:0 9px}}
@media print{.lang-switch{display:none!important}}

/* Sugestão de idioma: cartão flutuante abaixo do menu (não desloca nada) quando o navegador está em outro idioma que temos */
.lang-hint{position:fixed;top:84px;right:24px;z-index:55;display:flex;align-items:center;gap:12px;max-width:520px;padding:10px 10px 10px 14px;background:rgba(10,12,18,.97);border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,138,61,.4),0 24px 60px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#F5F6FA;font-family:inherit;animation:langHintIn .45s cubic-bezier(.22,.61,.36,1) both}
.lang-hint-text{font-size:14px;font-weight:600;line-height:1.3}
.lang-hint-btn{flex-shrink:0;padding:9px 14px;border:0;border-radius:999px;background:linear-gradient(92deg,#FFB45C 0%,#FF7A2E 45%,#FF5C1C 100%);color:#251006;font-family:inherit;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 24px rgba(255,92,28,.3),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .2s}
.lang-hint-btn:hover{transform:translateY(-1px)}
.lang-hint-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#A3A8B5;cursor:pointer}
.lang-hint-close:hover{background:rgba(255,255,255,.08);color:#F5F6FA}
.lang-hint-close svg{width:12px;height:12px}
@keyframes langHintIn{from{opacity:0;transform:translateY(-8px)}}
@media(max-width:600px){.lang-hint{top:86px;left:12px;right:12px;max-width:none;flex-wrap:wrap}.lang-hint .lang-flag{order:1}.lang-hint-text{order:2;flex:1 1 120px}.lang-hint-close{order:3}.lang-hint-btn{order:4;flex:1 1 100%}}
body.menu-open .lang-hint{display:none}
@media(prefers-reduced-motion:reduce){.lang-hint{animation:none}}
@media print{.lang-hint{display:none!important}}
/* Anti-piscar: com idioma diferente do português, os textos traduzíveis ficam invisíveis (sem mexer no layout)
   até i18n.js terminar de traduzir e marcar <html class="i18n-ready">. O data-lang vem do trecho no <head>;
   se i18n.js falhar ao carregar, o onerror do <script> remove o data-lang e o texto em português aparece. */
html[data-lang]:not([data-lang="pt"]):not(.i18n-ready) [data-i18n],
html[data-lang]:not([data-lang="pt"]):not(.i18n-ready) [data-i18n-html]{visibility:hidden}
