/* Structural defaults only. Appearance is exposed in the Elementor Style tab. */
.peach-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; width: 100%; min-width: 0; margin: 0; color: var(--peach-active-color, #171717); font-family: inherit; }
.peach-active-filters[hidden] { display: none; }
.peach-active-filters a, .peach-catalog-grid .peach-empty-clear { box-sizing: border-box; }
.peach-active-filters .peach-active-filters__list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.peach-active-filters__list li { margin: 0; padding: 0; max-width: 100%; }
.peach-active-filters a.peach-active-filter { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--peach-active-border, #dad7d3); border-radius: var(--peach-active-radius, 10px); color: var(--peach-active-color, #171717); background: var(--peach-active-background, #fff); font-size: var(--peach-active-size, 12px); font-weight: 400; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.peach-active-filter span { font-size: 18px; line-height: 1; flex-shrink: 0; }
.peach-active-filters a.peach-active-clear { display: inline-flex; align-items: center; min-height: 44px; color: var(--peach-active-color, #171717); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.peach-catalog-grid .e-loop-nothing-found-message a.peach-empty-clear { display: inline-flex; align-items: center; justify-content: center; margin-top: 20px; padding: 12px 22px; min-height: 44px; border: 1px solid #171717; border-radius: 0; background: #171717; color: #fff; font: inherit; font-size: 13px; text-decoration: none; }
.peach-active-filters a.peach-active-filter:is(:hover, :focus-visible, :active) { background: var(--peach-active-color, #171717); color: var(--peach-active-background, #fff); border-color: var(--peach-active-color, #171717); }
.peach-catalog-grid .e-loop-nothing-found-message a.peach-empty-clear:is(:hover, :focus-visible, :active) { background: #fff; color: #171717; }
.peach-active-filters a:focus-visible, .peach-empty-clear:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.peach-catalog-controls { display: grid; gap: 20px; }
.peach-catalog-controls .peach-catalog-field { display: grid; gap: 8px; min-width: 0; }
.peach-catalog-controls .peach-catalog-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.peach-catalog-controls .peach-catalog-field :is(input, select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; font: inherit; color: inherit; }
.peach-catalog-controls .peach-catalog-apply,
.peach-catalog-controls .peach-catalog-reset { display: block; box-sizing: border-box; min-height: 44px; padding: 12px 16px; text-align: center; font: inherit; cursor: pointer; }
.peach-catalog-controls :is(input, select, button, a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* Initial title appearance; the dedicated Elementor "Titre Trier par" controls
   override this fallback independently of the two price labels. */
.peach-catalog-field label.peach-catalog-sort-title { font-family: "Cormorant Garamond", serif; font-size: 22px; font-weight: 600; line-height: 28px; }

/* Elementor exposes normal/hover/active colours, but not keyboard focus.
   Reuse those same editable values and keep an explicit focus indicator. */
.e-off-canvas:has(.peach-catalog-controls) .elementor-widget-taxonomy-filter .e-filter-item:focus-visible {
  color: var(--e-filter-hover-text-color, #fff);
  background-color: var(--e-filter-hover-background-color, #171717);
  outline: 2px solid var(--e-filter-normal-text-color, #171717);
  outline-offset: 3px;
}

/* Two native, keyboard-accessible range inputs; only thumbs intercept pointers.
   Colours and thumb size are editable in the widget's Elementor Style tab. */
.peach-price-slider { --peach-slider-track: #d9d9d9; --peach-slider-active: #211916; --peach-slider-thumb: #fff; --peach-slider-thumb-size: 16px; position: relative; height: 44px; margin-inline: 8px; }
.peach-price-slider[hidden] { display: none; }
.peach-price-track { position: absolute; inset: 21px 0 auto; height: 2px; background: var(--peach-slider-track); }
.peach-price-track span { position: absolute; left: var(--peach-slider-from, 0%); right: calc(100% - var(--peach-slider-to, 100%)); height: 100%; background: var(--peach-slider-active); }
.peach-price-slider .peach-price-handle { appearance: none; -webkit-appearance: none; position: absolute; inset: 0; width: 100%; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; pointer-events: none; box-shadow: none; }
.peach-price-handle::-webkit-slider-runnable-track { height: 2px; background: transparent; }
.peach-price-handle::-moz-range-track { height: 2px; background: transparent; }
.peach-price-handle::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; height: var(--peach-slider-thumb-size); width: var(--peach-slider-thumb-size); margin-top: calc((2px - var(--peach-slider-thumb-size)) / 2); border: 2px solid var(--peach-slider-active); border-radius: 50%; background: var(--peach-slider-thumb); cursor: grab; pointer-events: auto; touch-action: none; }
.peach-price-handle::-moz-range-thumb { height: var(--peach-slider-thumb-size); width: var(--peach-slider-thumb-size); box-sizing: border-box; border: 2px solid var(--peach-slider-active); border-radius: 50%; background: var(--peach-slider-thumb); cursor: grab; pointer-events: auto; touch-action: none; }
.peach-price-slider .peach-price-handle:focus-visible { outline: 2px solid var(--peach-slider-active); outline-offset: 2px; z-index: 2; }

/* Match the Soins drawer backdrop; never blur the drawer content or other menus.
   Overlay colour and opacity remain native Off-Canvas settings in Elementor. */
.e-off-canvas:has(.peach-catalog-controls) > .e-off-canvas__overlay {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
@media (max-width: 520px) {
  .e-off-canvas:has(.peach-catalog-controls) > .e-off-canvas__overlay {
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
}
