/*
 * ╔══════════════════════════════════════════════════════════════╗
 * ║  CHEF DINIS PINTO — css/bootstrap-overrides.css  v2.0        ║
 * ║  Sistema de idiomas · Sobreposições Bootstrap               ║
 * ╚══════════════════════════════════════════════════════════════╝
 */

/* ════════════════════════════════════════════════════════════════
   SISTEMA DE IDIOMAS — PT / ES / EN
   Estratégia anti-flash:
   1. [data-lang]{display:none} no <style> crítico inline do <head>
   2. Script síncrono no <head> define data-idioma no <html>
   3. Estas regras revelam APENAS o idioma activo
   4. Resultado: zero flash visual, sem depender de JS completo
════════════════════════════════════════════════════════════════ */

/* Oculta tudo por defeito (reforça o critical CSS inline) */
[data-lang] { display: none !important; }

/* Revela elementos inline no idioma activo */
html[data-idioma="pt"] [data-lang="pt"],
html[data-idioma="es"] [data-lang="es"],
html[data-idioma="en"] [data-lang="en"] { display: inline !important; }

/* Revela elementos block no idioma activo */
html[data-idioma="pt"] p[data-lang="pt"],
html[data-idioma="pt"] div[data-lang="pt"],
html[data-idioma="pt"] li[data-lang="pt"],
html[data-idioma="pt"] h1[data-lang="pt"],
html[data-idioma="pt"] h2[data-lang="pt"],
html[data-idioma="pt"] h3[data-lang="pt"],
html[data-idioma="pt"] ul[data-lang="pt"],
html[data-idioma="pt"] ol[data-lang="pt"],
html[data-idioma="pt"] article[data-lang="pt"],
html[data-idioma="es"] p[data-lang="es"],
html[data-idioma="es"] div[data-lang="es"],
html[data-idioma="es"] li[data-lang="es"],
html[data-idioma="es"] h1[data-lang="es"],
html[data-idioma="es"] h2[data-lang="es"],
html[data-idioma="es"] h3[data-lang="es"],
html[data-idioma="es"] ul[data-lang="es"],
html[data-idioma="es"] ol[data-lang="es"],
html[data-idioma="es"] article[data-lang="es"],
html[data-idioma="en"] p[data-lang="en"],
html[data-idioma="en"] div[data-lang="en"],
html[data-idioma="en"] li[data-lang="en"],
html[data-idioma="en"] h1[data-lang="en"],
html[data-idioma="en"] h2[data-lang="en"],
html[data-idioma="en"] h3[data-lang="en"],
html[data-idioma="en"] ul[data-lang="en"],
html[data-idioma="en"] ol[data-lang="en"],
html[data-idioma="en"] article[data-lang="en"] { display: revert !important; }

/* Topbar items — inline-flex (não inline) para preservar layout */
html[data-idioma="pt"] .topbar-item[data-lang="pt"],
html[data-idioma="es"] .topbar-item[data-lang="es"],
html[data-idioma="en"] .topbar-item[data-lang="en"] { display: inline-flex !important; }

/* Lang dropdown: opções NUNCA filtradas por idioma —
   o utilizador precisa de ver todos os idiomas para escolher */
.lang-dropdown .lang-opt,
.lang-dropdown .lang-opt * { display: flex !important; }
.lang-dropdown .lang-opt svg { display: block !important; }


/* ════════════════════════════════════════════════════════════════
   BOOTSTRAP — SOBREPOSIÇÕES
════════════════════════════════════════════════════════════════ */

/* Breadcrumb: remover fundo e padding do Bootstrap */
.breadcrumb {
  background: none !important;
  padding: 0 !important;
  margin-bottom: 1.5rem;
}

/* Bootstrap list-unstyled mantém-se */
.card-body > p:last-child { margin-bottom: 0; }

/* Dropdowns tema escuro */
.dropdown-menu {
  background: var(--grafite-2);
  border: 1px solid rgba(198,167,109,.18);
  border-radius: var(--radius);
  padding: .5rem 0;
}
.dropdown-item {
  color: var(--cinza);
  font-family: var(--fonte-u);
  font-size: .78rem;
  letter-spacing: .05em;
  padding: .5rem 1.2rem;
  transition: background var(--t-fast), color var(--t-fast);
}
.dropdown-item:hover,
.dropdown-item:focus { background: rgba(198,167,109,.1); color: var(--ouro); }
