/* =========================================================
   Accesibilidad WCAG 2.1 AA — overrides sobre el tema Sandbox
   Cargado al final para sobreescribir style.css / red.css.
   ========================================================= */

/* Clase utilitaria para texto solo accesible a lectores de pantalla.
   Bootstrap 5 ya incluye .visually-hidden, se redefine por seguridad
   si style.css del tema lo sobreescribe. */
.visually-hidden,
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 9.1.4.3 Contraste mínimo
   Bootstrap usa .text-light = rgba(255,255,255,.5) sobre fondos oscuros,
   lo que deja el contraste en ~5.16:1 (justo). Forzamos opacidad plena
   para mejorar a >7:1. */
.text-inverse .text-light,
.bg-red .text-light,
.bg-dark .text-light,
footer .text-light,
footer .link-light {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Breadcrumb activo sobre cabeceras rojas: Bootstrap usa gris claro
   semitransparente; forzamos blanco. */
.breadcrumb .breadcrumb-item,
.breadcrumb .breadcrumb-item.active,
.breadcrumb .breadcrumb-item a,
.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Texto sobre bg-soft-primary (#9e1c27): garantizamos blanco puro. */
.bg-soft-primary,
.bg-soft-primary * {
  /* mantener el fondo */
}
.bg-soft-primary .text-white,
.bg-soft-primary h1,
.bg-soft-primary h2,
.bg-soft-primary h3,
.bg-soft-primary p,
.bg-soft-primary a {
  color: #ffffff !important;
}

/* Foco visible reforzado en todos los elementos interactivos
   (mejora 2.4.7 Focus Visible, criterio relacionado con AA). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(255, 191, 71, 0.35) !important;
}

/* Placeholders del tema: bajar opacidad les daba contraste ~3:1.
   Subimos a un gris suficientemente oscuro (#595959 ≈ 7:1 sobre blanco). */
.form-control::placeholder {
  color: #595959 !important;
  opacity: 1 !important;
}

/* Enlaces dentro de .text-inverse / footer: subrayado al pasar para
   reforzar el reconocimiento (no afecta AA pero ayuda 1.4.1). */
footer a:hover,
.text-inverse a:hover {
  text-decoration: underline !important;
}

/* =========================================================
   Desactiva las animaciones de entrada del tema Sandbox
   (theme.js / data-cues / data-cue). El motor aplica color
   rgba(52,63,82, alpha-bajo) durante la animación, lo que
   provoca falsos errores de contraste en WAVE. Al desactivar
   la animación todos los elementos se renderizan visibles
   desde el inicio. Mejora también la accesibilidad para
   usuarios con sensibilidad vestibular (1.4.3 / 2.3.3). */
[data-cue],
[data-cues],
[data-cue] *,
[data-cues] * {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Estilo del enlace "Skip to content" (saltar al contenido). */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #7c121b;
  color: #ffffff;
  padding: 8px 16px;
  z-index: 10000;
  text-decoration: none;
  font-weight: 600;
}
.skip-link:focus {
  top: 0;
}

/* =========================================================
   Cookie consent v2.8.0 (orestbida/cookieconsent)
   El modal es de fondo blanco. El botón secundario
   "Rechazar todas" (#c-s-bn) venía con fondo rosa pálido y
   texto rojo claro → contraste insuficiente. Lo dejamos
   con estilo outline: borde y texto rojo oscuro sobre el
   fondo blanco del modal (>12:1).
   ========================================================= */
.cc_div #c-s-bn,
#cc--main #c-s-bn {
  color: #5c0d14 !important;
  background-color: transparent !important;
  border: 2px solid #5c0d14 !important;
  opacity: 1 !important;
  text-decoration: none !important;
}
.cc_div #c-s-bn:hover,
.cc_div #c-s-bn:focus,
#cc--main #c-s-bn:hover,
#cc--main #c-s-bn:focus {
  background-color: #5c0d14 !important;
  color: #ffffff !important;
}
