.home-hero .hero-banner{
  height: 280px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--border);
}

.home-cat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius: 14px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  text-decoration:none;
  color: var(--text);
  transition: transform .14s ease, box-shadow .14s ease;
}

.home-cat:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  color: var(--text);
}

/* Ad slots */
.adsterra-slot{
  border-radius: 16px;
  background: var(--surface-2);
  border: 1px dashed var(--border);
}

.adsterra-wide .adsterra-slot{
  min-height: 90px; /* 728x90 */
  display:flex;
  align-items:center;
  justify-content:center;
}

@media (max-width: 991px){
  .home-hero .hero-banner{height: 210px}
  .adsterra-wide .adsterra-slot{min-height: 60px}
}

@media (max-width: 575px){
  .adsterra-wide .adsterra-slot{min-height: 50px} /* 320x50 */
}

/* Mini widgets */
.mini-widget{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.mini-widget:hover{transform:translateY(-2px);border-color:rgba(255,153,0,.35);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.mw-ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,153,0,.12);border:1px solid rgba(255,153,0,.22);color:var(--accent);flex:0 0 auto}

/* Horizontal slider */
.hscroll{display:flex;gap:12px;overflow:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.hscroll::-webkit-scrollbar{height:8px}
.hscroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}
.hitem{flex:0 0 auto;width:240px;scroll-snap-align:start}
@media (min-width:992px){.hitem{width:260px}}
.hs-btn{min-width:38px}

/* Category icon tiles */
.home-cat{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.02);text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}
.home-cat:hover{transform:translateY(-2px);border-color:rgba(255,153,0,.35)}
.cat-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,153,0,.12);border:1px solid rgba(255,153,0,.22);color:var(--accent)}
.hero-banner{height:220px;object-fit:cover;border-radius:18px}
@media (min-width:992px){.hero-banner{height:280px}}

/* (removed duplicate adsterra-slot rule) */

/* Sidebar (Top sellers) */
.home-sidebar{padding-top:0}
.seller-mini{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;color:var(--text)}
.seller-mini:hover{transform:translateY(-2px);border-color:rgba(255,153,0,.35);box-shadow:0 16px 34px rgba(0,0,0,.16);color:var(--text)}
.seller-mini__logo{width:44px;height:44px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--surface-3);flex:0 0 auto}
.seller-mini__logo img{width:100%;height:100%;object-fit:cover;display:block}


/* HOME BANNERS (from Admin) */
.banner-shell{
  position:relative;
  overflow:hidden;
  border-radius: 18px;
}

.home-banner-carousel .carousel-inner{
  border-radius: 18px;
  overflow:hidden;
}

.banner-frame{
  position:relative;
}

.banner-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding: 16px 16px 14px;
  background: linear-gradient(to top, rgba(2,6,23,.85), rgba(2,6,23,.15), transparent);
}

.banner-title{
  font-weight: 900;
  font-size: 1.05rem;
  color: #fff;
  text-shadow: 0 10px 28px rgba(0,0,0,.5);
}

.banner-sub{
  font-size: .8rem;
  color: rgba(226,232,240,.9);
}

.banner-link{display:block;color:inherit;text-decoration:none}
.banner-link:hover{color:inherit}

.banner-side{border-radius:18px}
.banner-side-frame{
  position:relative;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}
.banner-side-img{
  display:block;
  width:100%;
  height: 140px;
  object-fit: cover;
}
.banner-side-title{
  position:absolute;
  inset-inline-start: 12px;
  bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(2,6,23,.55);
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
}

@media (min-width: 992px){
  .banner-side-img{ height: 154px; }
  .banner-title{ font-size: 1.2rem; }
}
