body{background:#f7f7f7;}
.card{border-radius:14px;}
.btn{border-radius:10px;}
.navbar{border-radius:0;}
.form-control,.form-select{border-radius:10px;}
.badge{border-radius:999px;}

/* --- Admin refinement (mobile-first, smaller & cleaner) --- */
body.admin{background:#f3f5f7; font-size:14px; color:#111827;}
body.admin .admin-navbar .navbar-brand{font-size:15px; letter-spacing:.2px;}
body.admin h1.h5{font-size:15px;}
body.admin .btn{font-size:13px; padding:.38rem .68rem;}
body.admin .btn.btn-sm{font-size:12px; padding:.25rem .55rem;}
body.admin .table{font-size:13px;}
body.admin .form-label{font-size:13px;}
body.admin .form-text{font-size:12px;}
body.admin .card{border-radius:16px;}
body.admin .nav-tabs{border-bottom:1px solid rgba(0,0,0,0.08);}
body.admin .nav-tabs .nav-link{font-size:13px; border:0; color:#374151; padding:.55rem .75rem;}
body.admin .nav-tabs .nav-link.active{color:#111827; font-weight:700; background:transparent; border-bottom:2px solid #2563eb;}
.admin-tabs-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.admin-tabs-wrap::-webkit-scrollbar{display:none;}
.admin-kpi{background:linear-gradient(135deg, rgba(37,99,235,.10), rgba(16,185,129,.08)); border:1px solid rgba(0,0,0,.06);}

/* Mobile-first UI helpers */
.hero-card{
  background: linear-gradient(135deg, rgba(13,110,253,0.12), rgba(25,135,84,0.10));
  border: 1px solid rgba(0,0,0,0.06);
}

.scroll-row{overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory;}
.scroll-row::-webkit-scrollbar{display:none;}
.scroll-item{scroll-snap-align:start;}

.product-gallery{max-width:800px;}
.product-img{aspect-ratio:1/1; object-fit:cover; width:100%; height:auto;}

/* --- Taobao-like detail UI (mobile-first) --- */
.tb-page{max-width:860px; margin:0 auto;}
.tb-card{border-radius:14px; overflow:hidden;}
.tb-gallery{max-width:800px;}
.tb-title{font-size:16px; font-weight:700; line-height:1.35;}
.tb-price{color:#e60012; font-size:22px; font-weight:800;}

.tb-bottom-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.08);
  display:flex;
  align-items:stretch;
  height:62px;
}
.tb-bar-icon{
  width:72px;
  text-decoration:none;
  color:#333;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  font-size:12px;
}
.tb-bar-icon i{font-size:18px; line-height:1; margin-bottom:2px;}
.tb-bar-btn{
  flex:1;
  border:none;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color:#fff;
  background: linear-gradient(90deg, #ff7a00, #ff0036);
  border-radius:0;
}
.tb-offcanvas{height:78vh; border-top-left-radius:16px; border-top-right-radius:16px;}


.fixed-action-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.08);
}

/* Give space for the fixed bottom bar on small screens */
@media (max-width: 767.98px){
  body.has-action-bar{padding-bottom:82px;}
}
