/* PWA: instalación y avisos no bloqueantes. */
.e20-pwa-update {
  bottom: 70px;
  box-sizing: border-box;
  display: flex;
  gap: 16px;
  max-width: 440px;
  position: fixed;
  z-index: 1045;
}

.e20-pwa-update {
  align-items: center;
  justify-content: space-between;
  right: 16px;
}

.e20-pwa-update > div {
  display: grid;
  gap: 4px;
}

.e20-pwa-install {
  margin: 0;
  white-space: nowrap;
}

.e20-pwa-install__label-short {
  display: none;
}

.e20-pwa-update[hidden],
[data-pwa-install-section][hidden],
[data-pwa-install][hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  .e20-pwa-update {
    bottom: 62px;
    left: 12px;
    max-width: none;
    right: 12px;
    width: calc(100vw - 24px);
  }

  .e20-pwa-install__label {
    display: none;
  }

  .e20-pwa-install__label-short {
    display: inline;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .e20-pwa-update:not([hidden]) {
    animation: e20-pwa-enter 180ms ease-out both;
  }

  @keyframes e20-pwa-enter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
