/* Aurora · base de usabilidad v1
   Capa común para todas las muestras. Se carga después del <style> de cada giro
   y antes de que aurora-tema.js aplique estilo y paleta.
   Reglas: toques de 44 px, foco siempre visible, texto mínimo de 12 px,
   estrellas en SVG, errores junto al campo y secciones plegables en móvil. */

:root{--au-toque:44px}
html{scroll-padding-top:84px}

/* Saltar al contenido (teclado y lectores de pantalla) */
.au-saltar{position:fixed;left:12px;top:-80px;z-index:200;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none;transition:top .15s}
.au-saltar:focus{top:12px}

/* Foco visible en todo, incluidos campos que antes lo quitaban */
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 60%,transparent);outline-offset:1px}

/* Estrellas en SVG: mismo tamaño y color en todos los sistemas */
.au-est{display:inline-flex;align-items:center;gap:2px;line-height:1;vertical-align:middle;letter-spacing:0}
.au-est svg{width:1em;height:1em;flex:none;display:block}
.au-est .si{fill:#E9A21A}
.au-est .no{fill:color-mix(in srgb,currentColor 22%,transparent)}

/* Errores de formulario junto al campo */
.au-err{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0;font-size:14px;line-height:1.35;font-weight:700;color:var(--alert,#B3263E)}
.au-err::before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--alert,#B3263E);color:#fff;font-size:12px;margin-top:1px}
[aria-invalid="true"]{border-color:var(--alert,#B3263E)!important;box-shadow:0 0 0 1px var(--alert,#B3263E)}
.au-ayuda{display:block;margin-top:6px;font-size:13px;color:var(--muted)}

/* Botón de carga: estado ocupado */
[aria-busy="true"]{cursor:progress;opacity:.75}

/* Plegables en móvil: muestra N elementos y un botón para ver el resto */
.au-mas-btn{display:none}
@media (max-width:767px){
  [data-au-plegar]:not(.au-abierto)>.au-oculto{display:none!important}
  .au-mas-btn.au-hay{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--brand);font:700 15px/1.2 var(--body);cursor:pointer}
  .au-mas-btn svg{width:18px;height:18px;transition:transform .2s}
  .au-mas-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
}

/* Carrusel horizontal en móvil (equipo, reseñas, galerías) */
@media (max-width:767px){
  .au-carrusel:not([hidden]){display:grid!important;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:2px 16px 12px;margin-left:-16px;margin-right:-16px;scrollbar-width:none}
  .au-carrusel::-webkit-scrollbar{display:none}
  .au-carrusel>*{scroll-snap-align:start}
}

/* Texto mínimo y ajustes de lectura */
small{font-size:max(12px,.8em)}
p,li{text-wrap:pretty}

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