/* Horizontal filter bar with neutral reset button */
.cvf-wrap { margin: 12px 0 16px; }
.cvf-row { display:grid; gap:12px; }
.cvf-col { display:flex; flex-direction:column; gap:6px; }
.cvf-label { font-size:14px; color:#334155; }

/* Columns (desktop) */
.cvf-cols-5 .cvf-row { grid-template-columns: repeat(5, minmax(160px,1fr)); }
.cvf-cols-4 .cvf-row { grid-template-columns: repeat(4, minmax(160px,1fr)); }
.cvf-cols-3 .cvf-row { grid-template-columns: repeat(3, minmax(160px,1fr)); }

/* Selects */
.cvf-select { width:100%; height:42px; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#fff; }

/* Buttons */
.cvf-actions { margin-top:10px; display:flex; gap:8px; }
.cvf-btn { display:inline-block; padding:8px 12px; border-radius:8px; text-decoration:none; line-height:1; font-weight:500; }
.cvf-btn--primary { background:#16a34a; border:1px solid #16a34a; color:#fff; }
.cvf-btn--ghost { background:#fff; border:1px solid #e5e7eb; color:#111827; } /* neutral, nicht rot */

/* Responsive */
@media (max-width:1200px){ .cvf-row { grid-template-columns: repeat(3, minmax(160px,1fr)); } }
@media (max-width:800px){ .cvf-row { grid-template-columns: repeat(2, minmax(160px,1fr)); } }
@media (max-width:520px){ .cvf-row { grid-template-columns: 1fr; } }
