:root{ --nc-radius:.6rem; }
body{ font-family: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.store-body{ background:#f6f7fb; }
.cat-strip a:hover{ color:var(--bs-primary)!important; }
.cart-badge{ position:absolute; top:2px; right:-6px; font-size:.65rem; }

/* Product cards */
.product-card{ transition:.15s; border:1px solid #eee; border-radius:var(--nc-radius); overflow:hidden; background:#fff; height:100%; }
.product-card:hover{ box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.product-card img{ width:100%; aspect-ratio:1/1; object-fit:cover; background:#f2f2f2; }
.product-card .p-body{ padding:.6rem .7rem; }
.price{ font-weight:700; }
.mrp{ text-decoration:line-through; color:#999; font-size:.85rem; }
.off{ color:#0a7d33; font-weight:600; font-size:.8rem; }

/* Category tiles */
.cat-tile{ text-align:center; text-decoration:none; color:inherit; display:block; }
.cat-tile .circle{ width:64px;height:64px;border-radius:50%;background:#eef2ff;display:flex;align-items:center;justify-content:center;margin:0 auto .35rem;font-size:1.6rem; }

/* Hero banner */
.hero{ border-radius:var(--nc-radius); overflow:hidden; }
.hero-slide{ min-height:180px; display:flex; align-items:center; padding:1.5rem; color:#fff; }

/* Panels */
.panel-sidebar{ width:250px; min-height:calc(100vh - 56px); }
@media(min-width:992px){ .panel-sidebar{ position:sticky; top:56px; } }
.panel-main{ min-height:calc(100vh - 56px); }
.stat-card{ border:0; border-radius:var(--nc-radius); color:#fff; }
.stat-card .val{ font-size:1.6rem; font-weight:700; line-height:1; }
.stat-card i{ font-size:1.8rem; opacity:.6; }
.table-sm td,.table-sm th{ vertical-align:middle; }
.bottom-tabbar{ display:none; }

/* Mobile bottom tab bar for storefront */
@media(max-width:767px){
  .bottom-tabbar{ display:flex; position:fixed; bottom:0; left:0; right:0; background:#fff; border-top:1px solid #eee;
    justify-content:space-around; padding:.35rem 0; z-index:1030; }
  .bottom-tabbar a{ color:#555; text-decoration:none; font-size:.68rem; text-align:center; flex:1; }
  .bottom-tabbar a i{ display:block; font-size:1.2rem; }
  .bottom-tabbar a.active{ color:var(--bs-primary); }
  .store-body{ padding-bottom:64px; }
}
