/* ============================================================
   tema-govbr.css — Fase 1 da migração visual p/ Gov.br DS.
   Re-skin do CODEOR (Bootstrap 5.3) com os TOKENS do gov.br,
   SEM tocar nas 262 telas. Carregar DEPOIS do <style> inline
   do base.html para vencer a cascata (redefine --cor-primaria).
   Reversível: remover o <link> volta ao tema anterior.
   Ref.: reference_govbr_design_system.md · @govbr-ds/core 3.7.0
   ============================================================ */

:root {
  /* --- Vars próprias do CODEOR (usadas pelo <style> inline) --- */
  --cor-primaria: #071d41;   /* navbar: Blue Warm Vivid 90 (gov.br escuro) */
  --cor-accent:   #168821;   /* destaque: verde gov.br (interactive-alternative) */
  --cor-bg:       #f0f0f0;   /* fundo: gray-5 gov.br                        */

  /* --- Tokens gov.br mapeados p/ variáveis do Bootstrap 5.3 --- */
  --bs-primary: #1351b4;
  --bs-primary-rgb: 19, 81, 180;
  --bs-success: #168821;  --bs-success-rgb: 22, 136, 33;
  --bs-danger:  #e52207;  --bs-danger-rgb: 229, 34, 7;
  --bs-warning: #ffcd07;  --bs-warning-rgb: 255, 205, 7;
  --bs-info:    #155bcb;  --bs-info-rgb: 21, 91, 203;
  --bs-border-color: #cccccc;

  /* Links */
  --bs-link-color: #1351b4;
  --bs-link-color-rgb: 19, 81, 180;
  --bs-link-hover-color: #0c326f;
  --bs-link-hover-color-rgb: 12, 50, 111;

  /* Tipografia gov.br (Rawline; fallback Raleway/sistema) */
  --bs-font-sans-serif: "Rawline", "Raleway", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-font-family: "Rawline", "Raleway", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-color: #333333;
}

/* Fonte base (a regra do <style> inline usa Segoe UI; esta vence por ordem) */
body {
  font-family: "Rawline", "Raleway", "Segoe UI", system-ui, -apple-system, sans-serif;
  color: #333;
}

/* ── Botões: no BS 5.3 as cores são COMPILADAS; reescrever via
      as variáveis de componente (--bs-btn-*). ─────────────────── */
.btn-primary {
  --bs-btn-bg: #1351b4;            --bs-btn-border-color: #1351b4;
  --bs-btn-hover-bg: #0c326f;      --bs-btn-hover-border-color: #0c326f;
  --bs-btn-active-bg: #071d41;     --bs-btn-active-border-color: #071d41;
  --bs-btn-disabled-bg: #1351b4;   --bs-btn-disabled-border-color: #1351b4;
}
.btn-outline-primary {
  --bs-btn-color: #1351b4;         --bs-btn-border-color: #1351b4;
  --bs-btn-hover-bg: #1351b4;      --bs-btn-hover-border-color: #1351b4;
  --bs-btn-active-bg: #0c326f;     --bs-btn-active-border-color: #0c326f;
}
.btn-success {
  --bs-btn-bg: #168821;            --bs-btn-border-color: #168821;
  --bs-btn-hover-bg: #12681a;      --bs-btn-hover-border-color: #12681a;
  --bs-btn-active-bg: #0d5214;     --bs-btn-active-border-color: #0d5214;
}
.btn-danger {
  --bs-btn-bg: #e52207;            --bs-btn-border-color: #e52207;
  --bs-btn-hover-bg: #c11d06;      --bs-btn-hover-border-color: #c11d06;
  --bs-btn-active-bg: #9e1805;     --bs-btn-active-border-color: #9e1805;
}
.btn-warning {
  --bs-btn-bg: #ffcd07;            --bs-btn-border-color: #ffcd07;
  --bs-btn-hover-bg: #e0b400;      --bs-btn-hover-border-color: #e0b400;
  --bs-btn-color: #333;            --bs-btn-hover-color: #333;
}
.btn-info {
  --bs-btn-bg: #155bcb;            --bs-btn-border-color: #155bcb;
  --bs-btn-hover-bg: #114aa6;      --bs-btn-hover-border-color: #114aa6;
  --bs-btn-color: #fff;            --bs-btn-hover-color: #fff;
}

/* ── Formulários: foco na cor institucional ─────────────────── */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: #5992ed;
  box-shadow: 0 0 0 .2rem rgba(19, 81, 180, .25);
}
.form-check-input:checked {
  background-color: #1351b4;
  border-color: #1351b4;
}

/* ── Paginação ──────────────────────────────────────────────── */
.pagination {
  --bs-pagination-color: #1351b4;
  --bs-pagination-hover-color: #0c326f;
  --bs-pagination-active-bg: #1351b4;
  --bs-pagination-active-border-color: #1351b4;
  --bs-pagination-focus-color: #0c326f;
}

/* ── Navbar: realce em verde gov.br (interactive-alternative) ── */
.navbar-codeor .nav-link.destaque {
  background-color: rgba(22, 136, 33, .32);
}

/* ── Acessibilidade e-MAG: foco sempre visível (dourado gov.br).
      Nunca remover contorno de foco. ──────────────────────────── */
a:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.dropdown-item:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.page-link:focus-visible {
  outline: 2px solid #c2850c;
  outline-offset: 2px;
}

/* ── Barra de progresso / spinners na cor institucional ─────── */
.progress-bar { background-color: #1351b4; }
.spinner-border.text-primary,
.spinner-grow.text-primary { color: #1351b4 !important; }

/* ============================================================
   FASE 2 — Identidade institucional gov.br
   (skip-link, barra institucional no topo, rodapé). Aditivo:
   não altera a navbar existente.
   ============================================================ */

/* Skip-link (e-MAG 1.5): oculto até receber foco por teclado */
.gov-skip {
  position: absolute; left: -999px; top: 0; z-index: 2000;
  background: #1351b4; color: #fff; padding: .5rem 1rem;
  border-radius: 0 0 6px 0; font-weight: 600; text-decoration: none;
}
.gov-skip:focus { left: 0; outline: 2px solid #c2850c; outline-offset: 2px; }

/* Barra institucional gov.br (Acesso Rápido) — faixa CLARA sobre a navbar escura */
.gov-topbar { background: #fff; color: #333; font-size: .75rem; border-bottom: 1px solid #dcdcdc; }
.gov-topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; padding: .25rem .85rem; min-height: 1.9rem; flex-wrap: wrap;
}
.gov-topbar-mark { font-weight: 700; letter-spacing: .03em; color: #071d41; }
.gov-topbar-links { display: flex; gap: 1rem; flex-wrap: wrap; }
.gov-topbar-links a { color: #1351b4; text-decoration: none; }
.gov-topbar-links a:hover { color: #0c326f; text-decoration: underline; }
@media (max-width: 576px) {
  .gov-topbar-links { gap: .6rem; }
  .gov-topbar-mark { display: none; }
}

/* Rodapé institucional gov.br (compacto) */
.gov-footer { margin-top: 1.5rem; background: #f8f8f8; border-top: 4px solid #1351b4; }
.gov-footer-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .8rem .85rem; flex-wrap: wrap;
}
.gov-footer-brand { display: flex; align-items: center; gap: .75rem; }
.gov-footer-logo {
  background: #071d41; color: #fff; font-weight: 800; letter-spacing: .05em;
  padding: .45rem .6rem; border-radius: 6px; font-size: .95rem;
}
.gov-footer-title { font-weight: 700; color: #071d41; font-size: .95rem; }
.gov-footer-sub { color: #555; font-size: .8rem; }
.gov-footer-links { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.gov-footer-links a { color: #1351b4; text-decoration: none; font-size: .85rem; font-weight: 600; }
.gov-footer-links a:hover { text-decoration: underline; }
.gov-footer-legal {
  background: #071d41; color: #d4e5ff; font-size: .74rem;
  padding: .45rem .85rem; text-align: center;
}
@media print { .gov-topbar, .gov-footer, .gov-skip { display: none; } }
