/* ==========================================================================
 * BASE THEME TOKENS — Royal Blue + White
 * Caminho: static/css/core/base/base.css
 * ========================================================================== */

:root {
  /* Brand scale — base #21286C */
  --color-primary-50: #F3F5FB;
  --color-primary-100: #E1E4F5;
  --color-primary-200: #BFC5E8;
  --color-primary-300: #99A0DA;
  --color-primary-400: #6F79CD;
  --color-primary-500: #4853BF;
  --color-primary-600: #21286C; /* principal */
  --color-primary-700: #1B214F; 
  --color-primary-800: #141A3A;
  --color-primary-900: #0D1026;

  /* Neutros */
  --color-neutral-0:   #ffffff;
  --color-neutral-100: #f3f4f6;
  --color-neutral-200: #e5e7eb;
  --color-neutral-900: #111827;

  /* Texto/fundo padrão do site */
  --color-bg:          var(--color-primary-200);
  --color-text:        var(--color-neutral-900);

  /* Acentos suaves */
  --color-accent-400:  #00BFA6;

  /* Gradiente institucional (agora apenas tons da paleta primária) */
  --grad-primary-start: var(--color-primary-700); /* mais escuro */
  --grad-primary-end:   var(--color-primary-500); /* médio */

  /* Gradiente padrão para links animados (suave, porém visível no fundo azul) */
  --grad-link-start: var(--color-primary-600);
  --grad-link-end:   var(--color-primary-300);

  /* Tokens globais da animação de links */
  --link-underline-thickness: 3px;
  --link-underline-offset: 0px;
  /* Evita tremor de hover em links: sem deslocamento por padrão */
  --link-translate-hover: 0px;
  --link-anim-duration: .35s;
  --link-anim-ease: ease;
  /* por padrão, sem stroke (containers escuros sobrescrevem) */
  --link-stroke-color: transparent;

  /* Bootstrap runtime vars */
  --bs-primary:          var(--color-primary-600);
  --bs-primary-rgb:      33, 40, 108;
  --bs-body-bg:          var(--color-bg);
  --bs-body-color:       var(--color-text);
  --bs-link-color:       var(--color-primary-600);
  --bs-link-hover-color: var(--color-primary-700);
  --bs-border-color:     var(--color-neutral-200);
  --bs-heading-color:    var(--color-neutral-900);

  /* Navbar Bootstrap */
  --bs-navbar-bg:             var(--color-primary-700);
  --bs-navbar-color:          #ffffff;
  --bs-navbar-hover-color:    var(--color-accent-400);
  --bs-navbar-brand-color:    #ffffff;
  --bs-navbar-toggler-border-color: rgba(255,255,255,.18);

  /* Shell geral (header/footer e componentes principais) */
  --site-shell-radius: 20px;
}

/* Body no padrão do tema */
html { height: 100%; }
body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  min-height: 100vh;
}

/* Header wrapper usado no base/core */
.core-header {
  background-color: var(--bs-navbar-bg, transparent);
}

.core-header--transparent {
  background-color: transparent;
  background: transparent;
  box-shadow: none;
}

/* Acessibilidade */
:focus-visible { outline: 3px solid rgba(var(--bs-primary-rgb), .35); outline-offset: 2px; }

/* Utilitários rápidos */
.text-on-primary { color: var(--color-neutral-0) !important; }

/* Botões — padronização global */
.btn-primary {
  background-color: var(--color-primary-600);
  border-color: var(--color-primary-600);
  color: var(--color-neutral-0);
}
.btn-primary:hover,
.btn-primary:focus { background-color: var(--color-primary-700); border-color: var(--color-primary-700); }
.btn-primary:active { background-color: var(--color-primary-800); border-color: var(--color-primary-800); }

.btn-secondary {
  background-color: var(--color-neutral-0);
  color: var(--color-neutral-900);
  border: 1px solid var(--bs-border-color);
}
.btn-secondary:hover { background-color: var(--color-neutral-100); }

/* Mapeia o "outline-success" para usar a paleta primária */
.btn-outline-success {
  color: var(--color-primary-600);
  border-color: var(--color-primary-600);
  background-color: transparent;
}
.btn-outline-success:hover,
.btn-outline-success:focus {
  color: var(--color-neutral-0);
  background-color: var(--color-primary-600);
  border-color: var(--color-primary-600);
}
