/* Penyesuaian kecil di atas tema Soft UI Dashboard (dipakai bersama dari /crm/assets). */
body { font-family: 'Inter', -apple-system, 'Segoe UI', sans-serif; }
.brand-logo { box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.sidenav .nav-link .icon { background:#f0f2f5; border-radius:8px; width:30px; height:30px; }
.sidenav .nav-link.active .icon { background:linear-gradient(310deg,#5e72e4,#825ee4); color:#fff; }
.stat-card { border:none; box-shadow:0 4px 18px rgba(20,20,50,.08); }
.stat-card .stat-num { font-size:1.6rem; font-weight:700; line-height:1; }
.mini-bar { background:#e9ecef; border-radius:6px; height:10px; overflow:hidden; }
.mini-bar > span { display:block; height:100%; background:linear-gradient(310deg,#2dce89,#2dcecc); }
.table td, .table th { white-space:nowrap; }
.chip { display:inline-block; background:#f0f2f5; border-radius:20px; padding:2px 10px; font-size:.75rem; margin:2px 2px 2px 0; }

/* Soft UI baru menampilkan sidebar permanen mulai >=1200px; turunkan ke >=992px
   supaya di laptop/desktop biasa sidebar selalu tampil penuh & konten tergeser. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .g-sidenav-show .sidenav { transform: translateX(0) !important; }
  .g-sidenav-show .sidenav.fixed-start ~ .main-content { margin-left: 17.125rem !important; }
  #iconNavbarSidenav { display: none !important; }
}
@media (min-width: 992px) {
  .sidenav { height: calc(100vh - 2rem) !important; }
  .sidenav .navbar-collapse { height: auto !important; flex: 1 1 auto; overflow-y: auto; }
}

/* ---- Etalase publik (toko.php / katalog.php / item.php) ---- */
.pub-body { font-family:'Inter',sans-serif; color:#1a1f36; background:#fff; }
.pub-hero { position:relative; min-height:64vh; display:flex; align-items:flex-end; color:#fff; background-size:cover; background-position:center; }
.pub-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.78)); }
.pub-hero .inner { position:relative; z-index:2; padding:3rem 1rem; width:100%; }
.pub-logo { width:74px; height:74px; border-radius:16px; object-fit:cover; border:3px solid #fff; background:#fff; }
.pub-section { padding:3.25rem 0; }
.pub-section.alt { background:#f7f8fb; }
.item-card { border:1px solid #eef0f4; border-radius:16px; overflow:hidden; height:100%; transition:.2s; background:#fff; }
.item-card:hover { transform:translateY(-4px); box-shadow:0 14px 40px rgba(20,20,50,.12); }
.item-card img { width:100%; height:180px; object-fit:cover; }
.rev-stars { color:#fbbf24; letter-spacing:1px; }
.pub-chat-btn { position:fixed; right:20px; bottom:20px; z-index:60; border:none; border-radius:50px; padding:12px 20px; font-weight:600; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.pub-wa-btn { position:fixed; right:20px; bottom:78px; z-index:60; background:#25D366; color:#fff; border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.pub-chat-panel { position:fixed; right:20px; bottom:20px; z-index:61; width:340px; max-width:92vw; background:#fff; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.3); overflow:hidden; display:none; }
.pub-chat-panel.open { display:block; }
.pub-chat-log { height:300px; overflow-y:auto; padding:12px; background:#f7f8fb; }
.pub-chat-msg { margin-bottom:8px; max-width:80%; padding:8px 12px; border-radius:12px; font-size:.85rem; }
.pub-chat-msg.guest { background:#5e72e4; color:#fff; margin-left:auto; }
.pub-chat-msg.staff { background:#fff; border:1px solid #e5e7eb; }
