/* Floating chat + PWA install — shared across storefront layouts */
.np-chat {
  position: fixed; z-index: 80; left: max(16px, env(safe-area-inset-left));
  bottom: calc(18px + env(safe-area-inset-bottom));
  display: grid; justify-items: start; gap: 10px;
}
body.has-tabbar .np-chat { bottom: calc(72px + env(safe-area-inset-bottom)); }
.np-chat__fab {
  width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--nm-cyan-border, rgba(0,212,255,.35));
  background: linear-gradient(145deg, #19D3F3, #3B6BFF); color: #041018;
  box-shadow: 0 12px 28px rgba(25, 211, 243, 0.35); cursor: pointer;
  display: grid; place-items: center; transition: transform 0.18s, box-shadow 0.18s;
}
.np-chat__fab:hover { transform: translateY(-2px); }
.np-chat.is-open .np-chat__fab { background: var(--nm-card, #0b1428); color: var(--nm-cyan-soft, #7ad7ff); }
.np-chat__panel {
  min-width: 188px; padding: 12px; border-radius: 16px;
  background: rgba(8, 14, 28, 0.96); border: 1px solid var(--nm-border, rgba(255,255,255,.1));
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45); display: grid; gap: 8px;
}
.np-chat__label { margin: 0 0 2px; font-size: 0.72rem; color: var(--nm-muted, #9aa8c0); font-weight: 700; }
.np-chat__opt {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px;
  text-decoration: none; font-weight: 700; font-size: 0.88rem; color: var(--nm-text, #eaf0ff);
  border: 1px solid var(--nm-border, rgba(255,255,255,.1)); background: rgba(255, 255, 255, 0.03);
}
.np-chat__opt--wa:hover { border-color: rgba(37, 211, 102, 0.55); color: #7dffb0; }
.np-chat__opt--tg:hover { border-color: rgba(34, 158, 217, 0.55); color: #7ad7ff; }
.np-chat__ico { display: grid; place-items: center; width: 28px; height: 28px; }

.np-pwa {
  position: fixed; inset: 0; z-index: 90; display: grid; place-items: end center;
  padding: 16px; padding-bottom: calc(18px + env(safe-area-inset-bottom));
  background: rgba(2, 6, 16, 0.45); backdrop-filter: blur(4px);
}
body.has-tabbar .np-pwa { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
.np-pwa__card {
  position: relative; width: min(420px, 100%); padding: 22px 20px 18px;
  border-radius: 20px; background: linear-gradient(160deg, rgba(12, 22, 44, 0.98), rgba(8, 14, 28, 0.98));
  border: 1px solid var(--nm-cyan-border, rgba(0,212,255,.35)); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
.np-pwa__close {
  position: absolute; top: 10px; left: 12px; border: 0; background: transparent;
  color: var(--nm-muted, #9aa8c0); font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.np-pwa__brand { margin: 0; font-size: 0.72rem; font-weight: 800; color: var(--nm-cyan, #19D3F3); letter-spacing: 0.08em; }
.np-pwa__title { margin: 8px 0 6px; font-size: 1.15rem; font-weight: 800; color: var(--nm-text, #eaf0ff); }
.np-pwa__text { margin: 0 0 16px; font-size: 0.88rem; color: var(--nm-muted, #9aa8c0); line-height: 1.9; }
.np-pwa__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.np-pwa__install, .np-pwa__later { width: auto; padding: 11px 18px; font-size: 0.88rem; }
.np-pwa__ios { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--nm-border, rgba(255,255,255,.1)); }
.np-pwa__ios-title { margin: 0 0 8px; font-size: 0.82rem; font-weight: 700; color: var(--nm-cyan-soft, #7ad7ff); }
.np-pwa__ios-steps { margin: 0; padding-inline-start: 18px; font-size: 0.8rem; color: var(--nm-muted, #9aa8c0); line-height: 1.9; }
