/* PWA install prompt — mobile only */
#lw-pwa-install-banner {
    position: fixed;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%);
    z-index: 9990;
    width: min(420px, calc(100vw - 1.5rem));
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(15, 23, 42, .15);
    padding: .85rem 1rem;
    display: none;
    align-items: center;
    gap: .75rem;
    animation: lwPwaSlide .35s ease;
}
#lw-pwa-install-banner.show { display: flex; }
#lw-pwa-install-banner .ico {
    width: 42px; height: 42px; border-radius: 10px;
    background: var(--lw-pwa-theme, #0d9488); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
#lw-pwa-install-banner .txt { flex: 1; min-width: 0; }
#lw-pwa-install-banner .txt strong { display: block; font-size: .85rem; color: #0f172a; }
#lw-pwa-install-banner .txt span { font-size: .72rem; color: #64748b; }
#lw-pwa-install-banner .acts { display: flex; gap: .35rem; flex-shrink: 0; }
#lw-pwa-install-banner button {
    border: none; border-radius: 8px; font-size: .75rem; font-weight: 700; padding: .4rem .65rem; cursor: pointer;
}
#lw-pwa-install-banner .btn-install { background: var(--lw-pwa-theme, #0d9488); color: #fff; }
#lw-pwa-install-banner .btn-dismiss { background: #f1f5f9; color: #64748b; }

@keyframes lwPwaSlide {
    from { opacity: 0; transform: translateX(-50%) translateY(12px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@media (min-width: 769px) {
    #lw-pwa-install-banner { display: none !important; }
}
