/* ═══════════════════════════════════════════════════
   Shop / Catalog styles
   ═══════════════════════════════════════════════════ */

.shop-hero {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 140px;
  padding-bottom: var(--space-12);
}
.shop-hero h1 {
  background: linear-gradient(135deg, var(--text-shell) 0%, var(--lilac-light) 50%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: clamp(40px, 7vw, 68px);
  margin-bottom: var(--space-4);
}

/* Filter tabs */
.cat-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-bottom: var(--space-12);
  padding-inline: var(--space-4);
}
.cat-tab {
  padding: 10px 22px;
  border-radius: var(--radius-pill);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  color: var(--lavender);
  font-size: 14px;
  font-weight: 400;
  transition: all var(--t-fast) var(--ease-soft);
  cursor: pointer;
  backdrop-filter: blur(10px);
  font-family: inherit;
}
.cat-tab:hover { color: var(--text-shell); border-color: var(--lilac-light); }
.cat-tab.active {
  background: linear-gradient(135deg, var(--violet), var(--lilac));
  border-color: transparent;
  color: var(--text-shell);
  box-shadow: var(--shadow-glow);
}

/* Category headers */
.cat-section { margin-bottom: var(--space-20); scroll-margin-top: 200px; }
.cat-section-head {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}
.cat-section-head .cat-icon {
  font-size: 38px;
  flex: 0 0 auto;
}
.cat-section-head h2 {
  font-family: 'Frank Ruhl Libre', serif;
  font-size: clamp(26px, 3.5vw, 36px);
  color: var(--text-shell);
}
.cat-section-head .cat-counter {
  color: var(--gold);
  font-size: 13px;
  letter-spacing: 1.5px;
  margin-right: auto;
}

/* Product grid */
.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-5);
}

.product-card {
  background: var(--card-bg);
  color: var(--text-plum);
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--card-border);
  transition: all var(--t-mid) var(--ease-soft);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  position: relative;
}
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
  border-color: var(--lilac-light);
}
.product-img {
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--card-bg-soft), var(--lavender));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  color: var(--violet);
  overflow: hidden;
  position: relative;
}
.product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.product-card:hover .product-img img { transform: scale(1.05); }
.product-card:hover .product-img { background: linear-gradient(135deg, var(--lavender), var(--card-bg-soft)); }
.product-info { padding: var(--space-4) var(--space-4) var(--space-5); flex: 1; display: flex; flex-direction: column; }
.product-info h3 {
  font-family: 'Frank Ruhl Libre', serif;
  font-size: 18px;
  color: var(--text-plum);
  margin-bottom: var(--space-2);
  line-height: 1.3;
}
.product-info .product-desc {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: var(--space-4);
  flex: 1;
  line-height: 1.5;
}
.product-info .product-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.product-info .product-price {
  font-family: 'Frank Ruhl Libre', serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--violet);
}
.product-info .product-cta {
  background: var(--violet);
  color: var(--text-shell);
  padding: 7px 14px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  transition: background var(--t-fast);
  white-space: nowrap;
}
.product-card:hover .product-cta { background: var(--lilac); }
.product-tag {
  position: absolute;
  top: var(--space-3); right: var(--space-3);
  background: var(--gold);
  color: var(--text-plum);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  z-index: 2;
}

/* Featured product (mini fountains as the star) */
.featured-product {
  background: linear-gradient(135deg, rgba(212,168,67,0.12) 0%, rgba(168,85,212,0.1) 100%);
  border: 1px solid var(--gold-soft);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  margin-bottom: var(--space-12);
  text-align: center;
  backdrop-filter: blur(10px);
}
.featured-product .featured-eyebrow {
  color: var(--gold);
  letter-spacing: 3px;
  font-size: 12px;
  margin-bottom: var(--space-3);
}
.featured-product h3 {
  font-family: 'Frank Ruhl Libre', serif;
  font-size: clamp(24px, 3.5vw, 34px);
  color: var(--text-shell);
  margin-bottom: var(--space-3);
}
.featured-product p {
  color: var(--lavender);
  max-width: 540px;
  margin: 0 auto var(--space-6);
  line-height: 1.7;
}

/* Sticky filter bar on scroll */
.filter-sticky {
  position: sticky;
  top: 180px;
  z-index: 50;
  background: rgba(22,13,36,0.92);
  backdrop-filter: blur(20px);
  padding: var(--space-4) 0;
  margin-bottom: var(--space-10);
  border-bottom: 1px solid var(--glass-border);
}

/* Mobile tweaks */
@media (max-width: 768px) {
  .products { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
  .product-info { padding: var(--space-3); }
  .product-info h3 { font-size: 15px; }
  .product-info .product-desc { font-size: 12px; margin-bottom: var(--space-3); }
  .product-info .product-price { font-size: 17px; }
  .filter-sticky { top: 100px; }
}
@media (max-width: 380px) {
  .products { grid-template-columns: 1fr; }
}
