
/* VH360 PWA - Top Bar Banner */
.vh360-pwa-banner{position:fixed;top:0;left:0;right:0;z-index:99999;background:#111;color:#fff;font-family:inherit}
.vh360-pwa-banner__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:12px}
.vh360-pwa-banner__text{font-size:14px;line-height:1.3}
.vh360-pwa-banner__actions{display:flex;align-items:center;gap:10px}
.vh360-pwa-btn{appearance:none;border:0;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px}
.vh360-pwa-banner__close{appearance:none;border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 6px}

/* Modal */
.vh360-pwa-modal{position:fixed;inset:0;z-index:100000}
.vh360-pwa-hidden{display:none}
.vh360-pwa-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.vh360-pwa-modal__panel{position:relative;background:#fff;color:#111;max-width:520px;margin:10vh auto 0;border-radius:12px;padding:18px 18px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.vh360-pwa-modal__title{margin:0 0 10px;font-size:18px}
.vh360-pwa-modal__body{font-size:14px;line-height:1.5}
.vh360-pwa-modal__body ul,.vh360-pwa-modal__body ol{padding-left:20px}
.vh360-pwa-modal__close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:22px;cursor:pointer}
html.vh360-pwa-modal-open{overflow:hidden}

/* VH360 Push Subscribe Widget */
.vh360-push-subscribe{padding:20px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;max-width:400px;margin:20px 0}
.vh360-push-subscribe-btn{display:inline-block;padding:12px 24px;background:#2271b1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background .2s}
.vh360-push-subscribe-btn:hover{background:#135e96}
.vh360-push-success{color:#46b450;font-weight:bold;font-size:14px}
.vh360-push-error{color:#dc3232;font-size:14px}
.vh360-push-state{animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
