/* Progressive app shell and PWA polish */
html { scroll-behavior: smooth; }

.jb-scroll-top {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(88px + env(safe-area-inset-bottom));
  z-index: 8990;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #023374;
  box-shadow: 0 10px 24px rgba(2,51,116,.26);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.92);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background .2s ease;
}
.jb-scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.jb-scroll-top:hover { background: #0b4a9b; }
.jb-scroll-top:focus-visible { outline: 3px solid rgba(245,158,11,.75); outline-offset: 3px; }
.jb-scroll-top i { font-size: 16px; }

.jb-wishlist-icon { color: #e11d48; }
.jb-wishlist-badge { background: #e11d48; border-color: #000 !important; }
@media (max-width: 768px) {
  .jb-scroll-top { right: 14px; bottom: calc(82px + env(safe-area-inset-bottom)); width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .jb-scroll-top { transition: none; }
}
