/* ---------- barras de deslocamento personalizadas (todo o site) ---------- */
html { scrollbar-color: rgba(79,216,255,0.45) rgba(255,255,255,0.04); scrollbar-width: thin; }
* { scrollbar-color: rgba(79,216,255,0.45) transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(47,107,255,0.75), rgba(34,207,240,0.75)); border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #2F6BFF, #22CFF0); border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
/* barra horizontal da galeria: mais fina e centrada */
.apps::-webkit-scrollbar { height: 6px; }
.apps::-webkit-scrollbar-thumb { border: 0; background: linear-gradient(90deg, rgba(47,107,255,0.8), rgba(34,207,240,0.8)); }
.apps::-webkit-scrollbar-track { background: rgba(255,255,255,0.06); border-radius: 999px; margin: 0 24px; }

/* ---------- seletor de idioma ---------- */
.lang { position: relative; }
.lang-btn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border-radius: 999px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: #F4F6FA; font: 700 13px 'Manrope', system-ui, sans-serif; transition: background 0.2s ease, border-color 0.2s ease; }
.lang-btn:hover { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.2); }
.lang-btn:focus-visible { outline: 2px solid #4FD8FF; outline-offset: 2px; }
.lang-btn .chev { transition: transform 0.2s ease; opacity: 0.7; }
.lang-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
.lang-menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; padding: 6px; margin: 0; list-style: none; border-radius: 16px; background: rgba(18,21,28,0.96); backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 18px 44px rgba(0,0,0,0.5); opacity: 0; transform: translateY(-6px) scale(0.98); transform-origin: top right; pointer-events: none; transition: opacity 0.16s ease, transform 0.18s cubic-bezier(0.2, 0.9, 0.3, 1.1); z-index: 50; }
.lang-menu.open { opacity: 1; transform: none; pointer-events: auto; }
.lang-opt { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 11px; color: #F4F6FA; font: 600 14px 'Manrope', system-ui, sans-serif; }
.lang-opt:hover, .lang-opt:focus-visible { background: rgba(255,255,255,0.08); }
.lang-opt .code { width: 30px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; letter-spacing: 0.4px; background: rgba(255,255,255,0.08); color: #C9CED6; }
.lang-opt[aria-selected="true"] .code { background: linear-gradient(135deg, #2F6BFF, #22CFF0); color: #FFFFFF; }
.lang-opt .tick { margin-left: auto; opacity: 0; color: #4FD8FF; }
.lang-opt[aria-selected="true"] .tick { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .lang-menu, .lang-btn .chev { transition: none; } }
