/* Avisos (js/avisos.js): cristal, abajo centrado en móvil y abajo a la derecha en escritorio. */
.av-lista {
  position: fixed;
  z-index: 70;
  left: 50%;
  bottom: max(var(--esp-3), env(safe-area-inset-bottom));
  translate: -50% 0;
  display: flex;
  flex-direction: column;
  gap: var(--esp-2);
  width: calc(100% - 2 * var(--esp-3));
  max-width: 420px;
  pointer-events: none;
}
body.con-aviso-lectura .av-lista { bottom: calc(max(var(--esp-3), env(safe-area-inset-bottom)) + 72px); }
@media (min-width: 700px) {
  .av-lista { left: auto; right: var(--esp-5); translate: none; width: 380px; }
}
.av-aviso {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--esp-3);
  padding: var(--esp-3) var(--esp-2) var(--esp-3) var(--esp-4);
  border-left: 3px solid var(--acento);
  pointer-events: auto;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .22s ease, transform .22s ease;
}
.av-aviso.entra { opacity: 1; transform: none; }
.av-aviso.sale { opacity: 0; transform: translateY(6px); }
.av-tipo-aviso { border-left-color: var(--aviso); }
.av-tipo-info, .av-tipo-ok { border-left-color: var(--vidrio-borde-item); }
.av-icono { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--acento) 18%, transparent); color: var(--oro-texto); }
.av-trazo { stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.av-relleno { fill: color-mix(in srgb, currentColor 22%, transparent); }
.av-texto { min-width: 0; }
.av-titulo { display: block; margin: 0; font-weight: 600; font-size: .95rem; line-height: 1.25; color: var(--texto); text-decoration: none; overflow-wrap: anywhere; }
a.av-titulo:hover { text-decoration: underline; text-decoration-color: var(--acento); text-underline-offset: 3px; }
.av-cuerpo { margin: 2px 0 0; font-size: .85rem; line-height: 1.3; color: var(--texto-suave); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.av-accion {
  min-height: 44px; padding: 0 var(--esp-2); font: inherit; font-size: .9rem; font-weight: 600; color: var(--oro-texto);
  background: none; border: 0; cursor: pointer; text-decoration: underline; text-decoration-color: var(--acento); text-underline-offset: 4px;
  display: inline-flex; align-items: center;
}
.av-cerrar { width: 44px; height: 44px; padding: 0; font-size: 1.4rem; line-height: 1; color: var(--texto-suave); background: none; border: 0; border-radius: 50%; cursor: pointer; }
.av-cerrar:hover { background: var(--vidrio-tinte-fuerte); color: var(--texto); }
.av-aviso :is(a, button):focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .av-aviso { transition: opacity .15s linear; transform: none; }
  .av-aviso.sale { transform: none; }
}
