/**
 * @file
 * Accesibilidad común a todo el sitio (librería simidat_theme/simidat-a11y).
 *
 * Añadido el 2026-10-18 tras una auditoría con axe-core (WCAG 2.2 AA). Se
 * carga después de dist/main.css para corregir sin recompilar Tailwind:
 * - foco siempre visible con el teclado (muchos elementos tenían
 *   «focus:outline-none» y ninguna otra señal);
 * - enlace «Saltar al contenido principal» visible al recibir el foco;
 * - contraste suficiente en modo claro: enlaces verdes sobre blanco o gris,
 *   texto gris sobre las cajas grises y la etiqueta naranja «Researcher»;
 * - sin animaciones si el sistema pide reducir el movimiento.
 */

/* Foco visible. El :is() con [tabindex]:not(...) da más prioridad que
   «.focus\:outline-none:focus» de Tailwind. Verde oscuro sobre fondo claro y
   verde claro sobre fondo oscuro (modo oscuro, cabecera, menús y pie). */
:is(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"]), [contenteditable="true"]):focus-visible {
  outline: 3px solid #006825;
  outline-offset: 2px;
}

:is(.dark, .bg-simidatBackgroundHeaderLight, .bg-simidatBackground1, .bg-simidatBackground3) :is(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"]), [contenteditable="true"]):focus-visible {
  outline-color: #89d54e;
}

/* Tarjetas de proyectos y tesis: el foco se marca en toda la tarjeta
   (:focus-within en css/projects.css), no en el enlace del título. */
a[href].simidat-project__link:focus-visible {
  outline: none;
}

/* Destinos de enlaces internos (tabindex="-1"): sin recuadro al recibir el
   foco. */
#main-content:focus,
[tabindex="-1"]:focus:not(:focus-visible) {
  outline: none;
}

/* Enlace «Saltar al contenido principal». */
.skip-link.visually-hidden.focusable:focus,
.skip-link.visually-hidden.focusable:focus-visible {
  position: fixed !important;
  z-index: 10000;
  top: 0.75rem;
  left: 0.75rem;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  background: #fff;
  color: #111827;
  font-weight: 600;
  text-decoration: underline;
  box-shadow: 0 4px 14px rgb(0 0 0 / 25%);
  outline: 3px solid #006825;
  outline-offset: 2px;
}

/* Contraste en modo claro. */
html:not(.dark) .field--type-link a {
  color: #006825;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

html:not(.dark) .field--type-link a:hover {
  color: #00521d;
  text-decoration-thickness: 2px;
}

/* Texto gris (heredado) sobre las cajas grises: de 3,8:1 a más de 7:1. */
html:not(.dark) :is(.bg-gray-200, .bg-gray-300, .bg-simidatBackgroundLight) {
  color: #374151;
}

html:not(.dark) .text-orange-500 {
  color: #9a3412;
}

/* Sin animaciones si el sistema pide reducir el movimiento. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
