.catalog-intro {
  margin-block: 12px;
  padding: 14px;
  border: 1px solid #e9dff6;
  border-radius: 24px;
  background: linear-gradient(120deg, #fff0e4, #f0e8ff 75%);
}

.catalog-heading,
.catalog-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}

.catalog-heading { justify-content: space-between; }
.catalog-heading img { border-radius: 15px; background: white; }
.catalog-label { margin: 0; color: #634692; font-size: .78rem; font-weight: 750; }
.catalog-heading h1 { margin: 2px 0 0; color: #261c40; font-size: clamp(1.45rem, 4vw, 2.4rem); line-height: 1.25; }
.catalog-tools { margin-top: 10px; }

.catalog-search,
.catalog-filter {
  display: flex;
  align-items: center;
  min-height: 44px;
  gap: 8px;
  padding-inline: 12px;
  border-radius: 14px;
}

.catalog-search { flex: 1; min-width: 0; background: white; color: #5533a0; border: 1px solid #dfd4ef; }
.catalog-search input { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; color: #261c40; font: inherit; }
.catalog-search:focus-within { outline: 2px solid #5533a0; }
.catalog-search input:focus { outline: none; }
.catalog-filter { border: 0; background: #5533a0; color: white; font: inherit; font-weight: 750; cursor: pointer; }
.catalog-tools svg { width: 18px; height: 18px; flex: none; stroke: currentColor; stroke-width: 1.7; fill: none; }

#productsFilters .filters-body { gap: 8px; border-color: #e8e0f4; box-shadow: none; }
#productsFilters .filter-item select,
#productsFilters .checkbox-inline { background: #f4effc; border-color: #e8e0f4; }
#productsFilters input { accent-color: #5533a0; }
#productsFilters .filters-footer-mobile .btn { background: #5533a0; color: white; }

#page-products { margin-block-start: 12px; padding-block-start: 0; }
#page-products #grid .card { border-radius: 18px; }
#page-products #grid .card-media { border-radius: 12px; }
#page-products #grid .card-body { display: flex; flex-direction: column; flex: 1; }
#page-products #grid .card-actions { margin-top: auto; padding-top: 8px; }

@media (min-width: 769px) {
  .catalog-intro { display: grid; grid-template-columns: 1fr minmax(240px, 45%); gap: 24px; align-items: center; }
  .catalog-heading { justify-content: flex-start; }
  .catalog-heading img { order: -1; }
  .catalog-tools { margin: 0; }
  .catalog-filter { display: none; }
  #productsFilters { margin-block: 0 12px; }
  #productsFilters .filters-body { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  #productsFilters:not(.is-open) { visibility: hidden; }
  #page-products { padding-inline: 0; }
  #page-products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}
