/* ============================================================
   Velvet Nights — catalog page styles (filter bar, pagination,
   price-on-request). Kept separate from style.css so the live
   design-system file is not disturbed.
   ============================================================ */
.catalog-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
}
.catalog-head { margin-bottom: 1.25rem; }
.catalog-count { color: var(--muted-foreground, #7a6a58); font-size: 0.95rem; }

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(185, 161, 133, 0.3);
}
.filter-search {
  flex: 1 1 260px;
  min-width: 200px;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(185, 161, 133, 0.5);
  border-radius: 980px;
  font-family: inherit;
  font-size: 0.95rem;
  background: #fff;
}
.filter-select {
  padding: 0.6rem 0.9rem;
  border: 1px solid rgba(185, 161, 133, 0.5);
  border-radius: 980px;
  font-family: inherit;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.filter-search:focus,
.filter-select:focus { outline: 2px solid var(--gold, #BD9568); outline-offset: 1px; }
.filter-clear {
  padding: 0.6rem 1.1rem;
  border: 1px solid var(--burgundy, #140102);
  border-radius: 980px;
  background: transparent;
  color: var(--burgundy, #140102);
  font-family: inherit;
  font-size: 0.9rem;
  cursor: pointer;
}
.filter-clear:hover { background: var(--burgundy, #140102); color: #fff; }

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
.page-btn {
  padding: 0.55rem 1.2rem;
  border: 1px solid var(--burgundy, #140102);
  border-radius: 980px;
  background: transparent;
  color: var(--burgundy, #140102);
  font-family: inherit;
  cursor: pointer;
}
.page-btn:disabled { opacity: 0.35; cursor: default; }
.page-info { font-size: 0.9rem; color: var(--muted-foreground, #7a6a58); }

.product-price.price-tbc {
  font-size: 0.9rem;
  font-style: italic;
  color: #8a7a68;
}

.header-search { display: flex; align-items: center; margin-left: 0.5rem; }
.header-search input[type="search"] {
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(185, 161, 133, 0.5);
  border-radius: 980px;
  font-family: inherit;
  font-size: 0.85rem;
  background: rgba(255, 255, 255, 0.6);
  min-width: 160px;
}
.header-search input[type="search"]:focus {
  outline: 2px solid var(--gold, #BD9568);
  outline-offset: 1px;
  background: #fff;
}
@media (max-width: 768px) { .header-search { display: none; } }