/* PWA install banner, iOS instructions sheet and push opt-in chip (public/js/pwa.js). Self-contained colors so it
   works on the public site, the portal and white-label sites (which set --accent / --on-accent). */
.pwa-stack { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 2500; display: flex; flex-direction: column; gap: 10px; max-width: min(380px, calc(100vw - 32px)); font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; }
.pwa-bar { display: flex; align-items: center; gap: 12px; background: #111; color: #f3f1ec; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 10px 10px 10px 12px; box-shadow: 0 10px 30px rgba(0,0,0,.35); animation: pwa-in .25s ease-out; }
.pwa-bar img { width: 40px; height: 40px; border-radius: 10px; flex: none; }
.pwa-txt { flex: 1; min-width: 0; line-height: 1.25; }
.pwa-txt b { display: block; font-size: .92rem; }
.pwa-txt span { display: block; font-size: .78rem; opacity: .7; }
.pwa-go { flex: none; border: 0; border-radius: 999px; padding: 8px 14px; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; background: var(--accent, #c9a84c); color: var(--on-accent, #0a0a0a); min-height: 36px; }
.pwa-go:focus-visible, .pwa-x:focus-visible, .pwa-sheet button:focus-visible { outline: 2px solid var(--accent, #c9a84c); outline-offset: 2px; }
.pwa-x { flex: none; background: none; border: 0; color: inherit; opacity: .6; font-size: 1.3rem; line-height: 1; cursor: pointer; width: 32px; height: 32px; border-radius: 8px; }
.pwa-x:hover { opacity: 1; background: rgba(255,255,255,.08); }
.pwa-toast { background: #111; color: #f3f1ec; border-radius: 12px; padding: 10px 14px; font-size: .85rem; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
@keyframes pwa-in { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pwa-bar, .pwa-sheet-card { animation: none; } }

/* iOS "Compartir → Agregar a inicio" sheet */
.pwa-sheet { position: fixed; inset: 0; z-index: 4000; background: rgba(0,0,0,.5); display: flex; align-items: flex-end; justify-content: center; }
.pwa-sheet-card { background: #fff; color: #1a1a1a; width: 100%; max-width: 480px; border-radius: 18px 18px 0 0; padding: 20px 20px calc(20px + env(safe-area-inset-bottom)); animation: pwa-in .25s ease-out; font-family: Inter, system-ui, -apple-system, sans-serif; }
.pwa-sheet-card h3 { margin: 0 0 12px; font-size: 1.1rem; }
.pwa-sheet-card ol { margin: 0 0 16px; padding-left: 22px; line-height: 1.6; font-size: .95rem; }
.pwa-sheet-card li { margin-bottom: 6px; }
.pwa-share { display: inline-block; vertical-align: -4px; width: 20px; height: 20px; }
.pwa-sheet-card .pwa-go { width: 100%; padding: 12px; }

@media (max-width: 640px) {
  .pwa-stack { left: 12px; right: 12px; max-width: none; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .has-mobile-cta .pwa-stack { bottom: calc(84px + env(safe-area-inset-bottom)); }
}
@media print { .pwa-stack, .pwa-sheet { display: none !important; } }
