/* Cutting Paths Filters: sidebar box and the filtered results. */
.cp-filters-widget { margin-bottom: 2.5em; }
.cp-filters-sort { display: flex; gap: .5em; margin-bottom: 1.25em; }
.cp-filters-sort select { flex: 1 1 auto; width: 100%; min-width: 0; }
.cp-filters-toggle, .cp-filters-done { display: none; }
/* Phones and tablets: Porto puts the sidebar above the designs, so the list stays behind a Filters button. */
@media (max-width: 991px) {
  .cp-filters-widget { margin-bottom: 1.5em; }
  .cp-filters-toggle { display: inline-flex; flex: none; align-items: center; padding: 0 1em; border: 1px solid #0e39ff; border-radius: 4px; background: #fff; color: #0e39ff; font-weight: 600; cursor: pointer; }
  .cp-filters.is-open .cp-filters-toggle { background: #0e39ff; color: #fff; }
  .cp-filters-panel { display: none; }
  .cp-filters.is-open .cp-filters-panel { display: block; }
  .cp-filters-done { display: block; width: 100%; margin-top: .5em; padding: .75em 1em; border: 0; border-radius: 4px; background: #0e39ff; color: #fff; font-weight: 600; cursor: pointer; }
}
.cp-filters-section { margin-bottom: 1.5em; }
.cp-filters-title { margin: 0 0 .6em; font-size: 1em; font-weight: 600; text-transform: none; letter-spacing: normal; }
.cp-filters-list { list-style: none; margin: 0; padding: 0; }
.cp-filters-item { margin: 0; padding: 0; }
.cp-filters-item.cp-filters-child { padding-left: 1.4em; }
.cp-filters-item label { display: flex; align-items: center; gap: .55em; margin: 0; padding: .28em 0; font-weight: 400; line-height: 1.35; cursor: pointer; }
.cp-filters-item input[type=checkbox] { flex: none; width: 16px; height: 16px; margin: 0; accent-color: #0e39ff; cursor: pointer; }
.cp-filters-name { flex: 1 1 auto; }
.cp-filters-count { flex: none; min-width: 1.8em; text-align: right; font-size: .85em; color: #777; }
.cp-filters-active { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: 1.25em; }
.cp-filters-active[hidden] { display: none; }
.cp-filters-chip { display: inline-flex; align-items: center; gap: .35em; padding: .3em .7em; border: 1px solid #0e39ff; border-radius: 999px; background: #fff; color: #0e39ff; font-size: .85em; line-height: 1.3; cursor: pointer; }
.cp-filters-chip::after { content: "\00d7"; font-size: 1.15em; line-height: 1; }
.cp-filters-chip:hover, .cp-filters-chip:focus-visible { background: #0e39ff; color: #fff; }
.cp-filters-reset { padding: .3em .2em; border: 0; background: none; color: #555; font-size: .85em; text-decoration: underline; cursor: pointer; }
.cp-filters-empty .cp-filters-reset { padding: .5em 1.2em; font-size: .95em; text-decoration: none; }
.cp-filters-busy { opacity: .55; transition: opacity .15s; pointer-events: none; }
.cp-filters-empty { padding: 2.5em 1em; text-align: center; }
.cp-filters-empty p { margin-bottom: 1em; }
.cp-filters-sentinel { height: 1px; }
.cp-filters-failed .cp-filters-body::after { content: "Filters could not load. Please refresh the page."; display: block; margin-top: .5em; color: #8a1c16; font-size: .9em; }
