/* Search dropdown */
.search-dropdown {
  display: none;
  position: absolute;
  top: 100%; left: 0; right: 0;
  max-height: 400px; overflow-y: auto;
  background: #fff; border-radius: .35rem;
  z-index: 999;
}
.search-dropdown.show { display: block; }
.search-dropdown a { display: block; padding: 8px 12px; color: #222; text-decoration: none; border-bottom: 1px solid #eee; }
.search-dropdown a:hover { background: #f2f2f2; }
.search-dropdown .search-group-title { padding: 6px 12px; font-weight: bold; background: #fafafa; font-size: 12px; text-transform: uppercase; color: #888; }

/* Banner slider */
.banner-slider { position: relative; overflow: hidden; height: 340px; border-radius: .35rem; }
.banner-slide { display: none; width: 100%; height: 100%; }
.banner-slide.active { display: block; }
.banner-slide img { height: 340px; width: 100%; object-fit: cover; }

/* Horizontal scroll sliders (brand / category / trending / coming soon) */
.scroll-slider {
  display: flex; overflow-x: auto; gap: 14px; padding: 8px 2px 18px;
  scroll-behavior: smooth;
}
.scroll-slider::-webkit-scrollbar { height: 8px; }
.scroll-slider::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

.slider-card {
  flex: 0 0 auto; width: 130px; text-decoration: none; color: inherit; padding: 8px;
  background: #fff; border-radius: .35rem; box-shadow: 0 0.15rem 1.75rem 0 rgba(58,59,69,.1);
}
.slider-card img { width: 100%; height: 90px; object-fit: contain; }

.product-slide-card {
  flex: 0 0 auto; width: 190px; text-decoration: none; color: inherit; overflow: hidden;
  background: #fff; border-radius: .35rem; box-shadow: 0 0.15rem 1.75rem 0 rgba(58,59,69,.1);
}
.product-slide-card img { width: 100%; height: 160px; object-fit: cover; }

/* Infinite scroll grid */
.product-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px;
}
.product-grid-card {
  text-decoration: none; color: inherit; overflow: hidden;
  background: #fff; border-radius: .35rem; box-shadow: 0 0.15rem 1.75rem 0 rgba(58,59,69,.1);
}
.product-grid-card img { width: 100%; height: 180px; object-fit: cover; }

.product-name-clip {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.6em; padding: 0 4px;
}
.strike-price { text-decoration: line-through; color: #999; margin-left: 6px; }
