/* --- A11Y: objetivos táctiles mínimos (9.2.5.8) --- */
/* a, button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"] {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}
a + a, button + button { margin-left: .5rem; } */

/* Permite anular tamaño mínimo en zonas concretas si rompe el layout */
.allow-small-touch a, .allow-small-touch button {
  min-width: auto; min-height: auto;
}

/* Helper de texto solo para lectores */
.a11y-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;
}

/* --- A11Y: contraste mínimo (AA) --- */
.a11y-force-text-dark  { color: #111111 !important; }   /* usar en fondos claros */
.a11y-force-text-light { color: #ffffff !important; }   /* usar en fondos oscuros */

a { text-decoration: underline; text-underline-offset: .12em; } /* Visibilidad enlaces */
::placeholder { color: #6b7280 !important; opacity: 1 !important; }
input::placeholder, textarea::placeholder { color: #6b7280 !important; }
button, [role="button"], .button, input[type="submit"] { font-weight: 600; }
:focus-visible { outline: 2px solid #111 !important; outline-offset: 2px !important; }
@media (prefers-contrast: more) { a, button { border-width: 1px; } }
