.rv-filter-panel { border-top: 1px solid var(--rv-border); border-bottom: 1px solid var(--rv-border); margin-bottom: var(--rv-space-4); }
.rv-filter-panel > summary { padding: 14px 0; cursor: pointer; font-size: var(--rv-sm); font-weight: 600; }
.rv-filter-panel > summary span { margin-left: 12px; color: var(--rv-accent); font-weight: 400; }
.rv-filter-panel .rv-filters { margin: 0; border: 0; padding-top: 0; gap: 16px; }
.rv-price-options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.rv-price-options a { padding: 8px 10px; border: 1px solid var(--rv-border); border-radius: 6px; font-size: .8125rem; text-decoration: none; }
.rv-price-options a:hover, .rv-price-options a[aria-current] { color: var(--rv-accent); border-color: currentColor; background: var(--rv-tint); }
.rv-filter-note { color: var(--rv-muted); font-size: .8125rem; margin: 8px 0 0; }
.rv-filter-panel .rv-free { flex-wrap: wrap; max-width: 200px; }
.rv-free .rv-filter-note { flex-basis: 100%; margin: 0 0 0 23px; }
.rv-price-options a:focus-visible, .rv-filter-panel > summary:focus-visible { outline: 2px solid var(--rv-accent); outline-offset: 3px; }
@media (max-width: 640px) {
  .rv-filter-panel .rv-filters { align-items: center; gap: 12px; padding-bottom: 16px; }
  .rv-price-filter { width: 100%; min-width: 0; }
  .rv-price-filter fieldset { flex-wrap: wrap; }
  .rv-filter-panel .rv-free { max-width: none; flex-basis: 100%; }
  .rv-filter-panel .rv-sort { margin-left: 0; }
  .rv-filter-panel .rv-filter-reset { margin-left: auto; }
}
