.filter-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px 12px;
    align-items: end;
}

.filter-grid > * { min-width: 0; }
.filter-keywords { grid-column: span 3; }
.filter-uf { grid-column: span 1; }
.filter-city { grid-column: span 2; }
.filter-date-kind { grid-column: span 2; }
.filter-from, .filter-to { grid-column: span 2; }
.filter-object, .filter-modality, .filter-clear { grid-column: span 4; }
.filter-grid input, .filter-grid select { width: 100%; min-width: 0; height: 43px; }
.filter-grid label { white-space: normal; }
.filter-clear { width: 100%; }

@media (max-width: 1100px) {
    .filter-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .filter-keywords { grid-column: span 3; }
    .filter-uf { grid-column: span 1; }
    .filter-city { grid-column: span 2; }
    .filter-date-kind, .filter-from, .filter-to { grid-column: span 2; }
    .filter-object, .filter-modality, .filter-clear { grid-column: span 2; }
}

@media (max-width: 700px) {
    .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filter-keywords, .filter-city, .filter-date-kind,
    .filter-object, .filter-modality, .filter-clear { grid-column: span 2; }
    .filter-uf, .filter-from, .filter-to { grid-column: span 1; }
}

@media (max-width: 430px) {
    .filter-grid { grid-template-columns: 1fr; }
    .filter-grid > * { grid-column: 1 !important; }
}
