/* CaricaFlash · base común (marca, tipografía, utilidades) */
@font-face { font-family: 'DejaVu Sans'; src: url(../fonts/DejaVuSans.woff) format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'DejaVu Sans'; src: url(../fonts/DejaVuSans-Bold.woff) format('woff'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --navy: #061638;
  --navy2: #10285F;
  --navy3: #24396F;
  --naranja: #FF5A32;
  --naranja2: #FF7A57;
  --naranja-txt: #C93C17;
  --celeste: #46BCE3;
  --amarillo: #FFC400;
  --gris: #F3F5F8;
  --muted: #4A5578;
  --muted-navy: #B9C3DA;
  --borde: #DDE2EC;
  --borde2: #C8D0E0;
  --verde: #1F7A4D;
  --verde-claro: #E3F5EC;
  --rojo: #8F1D16;
  --rojo-claro: #FDECEA;
  --aviso: #FFF1D6;
  --aviso-txt: #5C3D00;
  --fuente: 'DejaVu Sans', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--fuente); color: var(--navy); background: var(--gris); line-height: 1.45; }
img { max-width: 100%; }
a { color: var(--navy); }
a:hover { color: var(--naranja-txt); }
button, input, select, textarea { font-family: var(--fuente); font-size: inherit; color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--celeste); outline-offset: 2px;
}
.oculto, [hidden] { display: none !important; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1.5px solid var(--borde2); background: #FFFFFF; color: var(--navy); font-weight: 700; font-size: 14.5px; text-decoration: none; cursor: pointer; }
.btn:hover { border-color: var(--navy); color: var(--navy); }
.btn-naranja { background: var(--naranja); border-color: var(--naranja); color: var(--navy); }
.btn-naranja:hover { background: #F0481F; border-color: #F0481F; }
.btn-navy { background: var(--navy); border-color: var(--navy); color: #FFFFFF; }
.btn-navy:hover { background: var(--navy2); color: #FFFFFF; }
.btn-grande { min-height: 56px; font-size: 19px; border-radius: 999px; width: 100%; color: #FFFFFF; }
.btn[disabled], .btn.desactivado { background: #E4E8F0; border-color: #C8D0E0; color: #5B5F73; cursor: not-allowed; }
.btn-texto { background: none; border: 0; min-height: 40px; padding: 0 4px; font-weight: 700; text-decoration: underline; cursor: pointer; color: var(--navy); }

.icono { width: 20px; height: 20px; flex: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition: none !important; scroll-behavior: auto !important; }
}
