/* Avisos de la PWA: versión nueva, sin conexión, almacenamiento. */
.pwa-aviso { position: fixed; z-index: 90; left: 50%; transform: translateX(-50%); bottom: calc(var(--seguro-abajo, 0px) + 76px); width: min(92vw, 420px);
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--azul-900, #133d69); color: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.28); font: 500 14px/1.35 system-ui, sans-serif; }
.pwa-aviso span { flex: 1; }
.pwa-aviso button { min-height: 44px; min-width: 44px; padding: 0 14px; border: 0; border-radius: 10px; font: 600 14px system-ui, sans-serif; cursor: pointer; background: #fff; color: var(--azul-800, #144a80); }
.pwa-aviso button.pwa-sec { background: transparent; color: #fff; text-decoration: underline; }
.pwa-aviso button:focus-visible { outline: 3px solid #ffb067; outline-offset: 2px; }
@media (min-width: 900px) { .pwa-aviso { bottom: 24px; } }

/* Safari iOS / táctil */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overscroll-behavior: none; -webkit-tap-highlight-color: transparent; }
button, select, input, [role="button"], [role="tab"] { touch-action: manipulation; }

#pwa-ios { flex-wrap: wrap; bottom: calc(var(--seguro-abajo, 0px) + 80px); }
#pwa-ios span { flex-basis: 100%; }
/* iOS amplía la página si un campo tiene menos de 16 px: solo ahí se fuerza ese tamaño. */
@supports (-webkit-touch-callout: none) {
  input, select, textarea, .pc-in, .pc-sel { font-size: 16px !important; }
}
.movil .segmentado button { min-width: 44px; min-height: 44px; }

/* un elemento con hidden nunca se muestra, aunque su clase defina display (p. ej. .aviso) */
[hidden] { display: none !important; }
