/* ============================================================
   Tombol "Pasang Aplikasi" (PWA) — situs publik & panel admin
   Kartu kecil melayang: badge ikon + teks 2 baris + tombol tutup
   terpisah (area ketuk 32px). Mobile: kiri-bawah di atas bottom-nav.
   Desktop: kiri-bawah (kanan-bawah dipakai tombol melayang WhatsApp/kembali ke atas). Elemen: .rs-pwa > .rs-pwa-go + .rs-pwa-x
   ============================================================ */
.rs-pwa{
  position:fixed; z-index:1044; display:none; align-items:center; gap:4px;
  left:14px; right:auto; max-width:calc(100vw - 28px);
  bottom:calc(78px + env(safe-area-inset-bottom));
  padding:6px 6px 6px 6px; border-radius:var(--r-xl, 24px);
  background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(197,79,79,.18);
  border:1px solid color-mix(in srgb, var(--rs-primary, #c54f4f) 18%, transparent);
  box-shadow:0 12px 32px rgba(60,30,30,.22), 0 2px 6px rgba(60,30,30,.10);
  animation:rsPwaIn .45s cubic-bezier(.2,.8,.2,1) backwards;
}
.rs-pwa-go{
  display:flex; align-items:center; gap:10px; border:0; background:transparent; cursor:pointer;
  padding:2px 8px 2px 2px; text-align:left; color:#3D3D3D; font-family:inherit; min-width:0;
}
.rs-pwa-ic{
  flex:0 0 auto; width:38px; height:38px; border-radius:var(--r-md, 12px);
  display:inline-flex; align-items:center; justify-content:center; font-size:1rem; color:#fff;
  background:linear-gradient(135deg,var(--rs-primary,#C54F4F),var(--rs-primary-dark,#9D4245));
  box-shadow:0 4px 10px rgba(157,66,69,.35);
  box-shadow:0 4px 10px color-mix(in srgb, var(--rs-primary-dark, #9d4245) 35%, transparent);
}
.rs-pwa-tx{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.rs-pwa-tx b{ font-size:.82rem; font-weight:700; color:#3D3D3D; white-space:nowrap; }
.rs-pwa-tx small{ font-size:.68rem; color:#8a7676; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rs-pwa-x{
  flex:0 0 auto; width:32px; height:32px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(0,0,0,.05); color:#7a6a6a; font-size:.8rem;
  display:inline-flex; align-items:center; justify-content:center; transition:background .15s;
}
.rs-pwa-x:hover{ background:rgba(0,0,0,.10); }
.rs-pwa-go:active .rs-pwa-ic{ transform:scale(.94); }
.rs-pwa-go:focus-visible, .rs-pwa-x:focus-visible{ outline:2px solid var(--rs-primary,#C54F4F); outline-offset:2px; border-radius:var(--r-md, 12px); }
.rs-pwa.show{ display:flex; }
@media (min-width:992px){
  .rs-pwa{ left:22px; right:auto; bottom:22px; padding:7px; border-radius:var(--r-xl, 24px); }
  .rs-pwa-ic{ width:42px; height:42px; }
  .rs-pwa-tx b{ font-size:.86rem; } .rs-pwa-tx small{ font-size:.72rem; }
}
/* Panel admin: tidak ada bottom-nav → dekat tepi bawah */
.rs-pwa.rs-pwa-admin{ bottom:calc(16px + env(safe-area-inset-bottom)); }
@keyframes rsPwaIn{ from{ opacity:0; transform:translateY(16px) scale(.94); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .rs-pwa{ animation:none; } }

/* HP: kartu dibuat RINGKAS (satu baris, tanpa teks kecil) & sejajar dengan baris tombol melayang;
   di halaman produk disembunyikan karena sudah ada bilah aksi bawah. */
@media (max-width: 991.98px){
  /* Tinggi & tepi bawah SAMA PERSIS dengan baris tombol melayang (.rs-float-row: bottom 24px, tinggi 46px) -> sejajar saat digulir. */
  .rs-pwa{ left:12px; bottom:24px; height:46px; box-sizing:border-box; max-width:calc(100vw - 196px); padding:0 4px 0 4px; gap:2px; border-radius:999px; }
  .rs-pwa-go{ gap:8px; padding:0 6px 0 0; height:100%; }
  .rs-pwa-ic{ width:38px; height:38px; border-radius:50%; font-size:.92rem; }
  .rs-pwa-tx small{ display:none; }
  .rs-pwa-tx b{ font-size:.78rem; }
  .rs-pwa-x{ width:28px; height:28px; font-size:.72rem; }
  body.pd-active .rs-pwa{ display:none !important; }
}
/* iPhone/iPad: lapisan GPU sendiri seperti baris tombol melayang, supaya kartu & tombol tetap sejajar saat digulir (lihat rs-public-theme.css). */
html.rs-ios .rs-pwa{ -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); -webkit-backface-visibility:hidden; backface-visibility:hidden; }

/* ============ Rapikan kartu "Pasang Aplikasi" (situs publik) ============
   Teks tidak meluber ke tombol X (dipotong titik-titik bila kepanjangan); ikon solid, bayangan tipis. */
.rs-pwa-go { flex: 1 1 auto; overflow: hidden; }
.rs-pwa-tx { overflow: hidden; }
.rs-pwa-tx b { overflow: hidden; text-overflow: ellipsis; }
.rs-pwa-x { margin-left: 2px; }
.rs-pwa-ic { background: var(--rs-primary-dark, #9D4245); box-shadow: none; }
.rs-pwa { box-shadow: 0 8px 22px -8px rgba(60, 30, 30, .35); }
