/* Listing pages (CatalogPage.jsx): banner, chips, filters sidebar, toolbar. */
.dr-catalog__banner { margin-bottom: 20px; border-radius: var(--dr-r-card); overflow: hidden; }
.dr-catalog__chips { margin: -8px 0 20px; }
.dr-catalog__layout { display: grid; grid-template-columns: 1fr; gap: 20px; }
.dr-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.dr-toolbar__count { font-size: 13px; color: var(--dr-ink-muted); }
.dr-toolbar__select { min-height: 44px; width: auto; padding-inline-end: 32px; font-size: 14px; }
.dr-catalog__active { margin-bottom: 16px; }
.dr-filters__summary { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; font-weight: 700; list-style: none; position: relative; padding-inline-end: 28px; }
.dr-filters__summary::-webkit-details-marker { display: none; }
.dr-filters__summary .dr-dot { position: static; }
.dr-filters__body { padding-top: 8px; }
.dr-filters__clear { font-size: 13px; display: inline-block; margin-bottom: 8px; }
.dr-facet { border: 0; margin: 0 0 16px; padding: 0; }
.dr-facet__title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--dr-ink-muted); padding: 0; margin-bottom: 6px; }
[dir="rtl"] .dr-facet__title { letter-spacing: 0; }
.dr-facet__opt { display: flex; align-items: center; gap: 8px; min-height: 40px; font-size: 14px; }
.dr-facet__opt:hover { text-decoration: underline; }
.dr-facet__opt.is-active { font-weight: 700; color: var(--dr-brand); }
.dr-facet__count { margin-inline-start: auto; font-size: 12px; color: var(--dr-ink-faint); }
/* Phones and tablets: one compact head — title and "Filtres" side by side, the
   count and sort right under — instead of three stacked rows. The layout and
   main wrappers dissolve so their children join the page's wrapping row; the
   open filters drop down as a panel under the button rather than pushing the grid. */
@media (max-width: 1199.98px) {
  .dr-breadcrumb-wrap { padding-top: 8px; }
  .dr-catalog.dr-page { padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; }
  .dr-catalog > *, .dr-catalog__main > * { flex: 1 1 100%; min-width: 0; order: 3; }
  .dr-catalog__layout, .dr-catalog__main { display: contents; }
  .dr-catalog__banner { order: 0; }
  .dr-catalog > .dr-heading { flex: 1 1 auto; order: 1; margin-bottom: 8px; }
  .dr-catalog__filters { flex: none; order: 2; position: relative; margin-bottom: 8px; }
  .dr-catalog__chips { margin: 0 0 12px; }
  .dr-toolbar { margin-bottom: 12px; }
  .dr-filters__summary { padding-inline-end: 0; }
  .dr-filters__body { position: absolute; z-index: 20; top: 100%; inset-inline-end: 0; width: min(320px, calc(100vw - 2 * var(--dr-gutter))); max-height: 60vh; overflow: auto; padding: 12px 16px; background: var(--dr-white); border: 1px solid var(--dr-hairline); border-radius: var(--dr-r-card); box-shadow: var(--dr-shadow-lift); }
}
@media (min-width: 1200px) {
  .dr-catalog__layout { grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
  .dr-catalog__filters { position: sticky; top: calc(var(--dr-h-header) + 16px); }
  .dr-filters { border: 1px solid var(--dr-hairline); border-radius: var(--dr-r-card); padding: 12px 16px; }
  .dr-filters[open] .dr-filters__summary { margin-bottom: 4px; }
}
