.catalog-filters { margin: 0 0 30px; padding: 26px 28px 18px; border: 2px solid #f4c747; border-radius: 18px; background: #fff8de; color: #073463; box-shadow: 0 4px 14px rgba(7,52,99,.05); }
.catalog-filters h3 { margin: 0 0 5px; font-size: clamp(1.25rem,2.4vw,1.65rem); }
.catalog-filters > p { margin: 0 0 18px; }
.catalog-filter-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr) auto; gap: 16px; align-items: end; }
.catalog-filter-fields label { display: flex; flex-direction: column; gap: 7px; font-weight: 800; min-width: 0; }
.catalog-filter-fields select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 50px; padding: 11px 30px 11px 12px; border: 1px solid #9cabb9; border-radius: 10px; background: white; color: #073463; font: inherit; font-size: 16px; font-weight: 600; }
.catalog-filter-fields .button { min-height: 50px; white-space: nowrap; }
.catalog-filter-fields select:focus-visible, .catalog-filter-fields button:focus-visible { outline: 3px solid #073463; outline-offset: 3px; }
.catalog-filter-fields button:disabled { opacity: .45; cursor: default; }
.catalog-filters #filter-count { margin: 14px 0 0; font-size: .9rem; font-weight: 700; }
.catalog-filters #filter-empty { margin: 14px 0 0; padding: 14px; border-radius: 10px; background: white; }
#catalog-grid > .card[hidden], .catalog-filters[hidden], #filter-empty[hidden] { display: none !important; }
@media(max-width: 760px) { .catalog-filters { padding: 20px 16px 16px; } .catalog-filter-fields { grid-template-columns: minmax(0,1fr); gap: 14px; } .catalog-filter-fields .button { width: 100%; } }
