/* MAD Product Cards: independent FILTER PANEL ONLY. Existing product cards remain Divi's. */
.mad-wpc-filters {--mad-filter-accent:#7ab631;--mad-filter-bg:#fff;--mad-filter-outline:#dfe7df;max-width:100%;color:#17211e;font-family:inherit;margin:0 0 28px;}
.mad-wpc-filters *,.mad-wpc-filters *::before,.mad-wpc-filters *::after {box-sizing:border-box;}
.mad-wpc-filters .mad-wpc-filter-form {display:block!important;background:var(--mad-filter-bg);border:1px solid var(--mad-filter-outline);border-radius:18px;padding:20px 22px;margin:0;box-shadow:0 8px 34px rgba(12,39,18,.045);}
.mad-wpc-filter-pills {display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid var(--mad-filter-outline);}
.mad-wpc-filters .mad-wpc-filter-pill {appearance:none;background:#f4f7f3!important;border:1px solid var(--mad-filter-outline)!important;border-radius:100px!important;box-shadow:none!important;color:#203127!important;padding:10px 18px!important;margin:0!important;font-weight:700;font-size:13px;line-height:1.2;cursor:pointer;min-height:40px;transition:background .2s,color .2s,border-color .2s,transform .2s;}
.mad-wpc-filters .mad-wpc-filter-pill:hover {background:#e8efe5!important;transform:translateY(-1px);}
.mad-wpc-filters .mad-wpc-filter-pill.is-selected {background:var(--mad-filter-accent)!important;border-color:var(--mad-filter-accent)!important;color:#111d12!important;}
.mad-wpc-filter-controls {display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;}
.mad-wpc-filters .mad-wpc-filter-field {border:0;padding:0;margin:0;min-width:155px;flex:1 1 175px;display:flex;flex-direction:column;gap:7px;color:#4e6153;font-family:inherit;font-size:12px;font-weight:700;}
.mad-wpc-filters .mad-wpc-filter-field > span:first-child,.mad-wpc-filters .mad-wpc-filter-field legend {color:#425546;font:inherit;line-height:1.3;margin:0;padding:0 0 7px;}
.mad-wpc-filters .mad-wpc-filter-search {flex:1 1 235px;}
.mad-wpc-filters .mad-wpc-filter-price {flex:1 1 185px;}
.mad-wpc-filters .mad-wpc-filter-input-wrap {position:relative;display:block;}
.mad-wpc-filters .mad-wpc-filter-input-wrap svg {position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#607766;pointer-events:none;}
.mad-wpc-filters input[type=search],.mad-wpc-filters input[type=number],.mad-wpc-filters select {font-family:inherit;display:block;margin:0!important;background:#fff!important;border:1px solid #d7e1da!important;border-radius:9px!important;padding:0 13px!important;width:100%!important;min-height:43px;min-width:0;max-width:none!important;font-size:13px!important;color:#17211e!important;box-shadow:none!important;line-height:1.4!important;}
.mad-wpc-filters input[type=search] {padding-left:39px!important;}
.mad-wpc-filters input:focus-visible,.mad-wpc-filters select:focus-visible,.mad-wpc-filters button:focus-visible,.mad-wpc-filters a:focus-visible {outline:2px solid var(--mad-filter-accent);outline-offset:2px;}
.mad-wpc-filters input[type=number] {padding-left:25px!important;appearance:textfield;-moz-appearance:textfield;}
.mad-wpc-filters input[type=number]::-webkit-inner-spin-button {appearance:none;}
.mad-wpc-filter-price-inputs {display:flex;align-items:center;gap:5px;}
.mad-wpc-filter-price-inputs label {min-width:0;position:relative;flex:1;display:block;}
.mad-wpc-filter-currency {position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:1;color:#76877a;font-weight:700;font-size:12px;pointer-events:none;}
.mad-wpc-filter-price-dash {color:#91a396;}
.mad-wpc-filter-checks {display:flex;flex:0 1 auto;gap:13px;align-items:center;min-height:43px;padding:0 4px;}
.mad-wpc-filter-checks label {display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#435448;cursor:pointer;margin:0;white-space:nowrap;}
.mad-wpc-filter-checks input[type=checkbox] {appearance:auto!important;accent-color:var(--mad-filter-accent);height:17px!important;width:17px!important;margin:0!important;flex:0 0 17px;}
.mad-wpc-filter-actions {display:flex;gap:12px;align-items:center;min-height:43px;margin-top:0;}
.mad-wpc-filters button.mad-wpc-filter-apply {font-family:inherit;display:inline-flex!important;justify-content:center;align-items:center;gap:14px;min-height:43px;white-space:nowrap;border:1px solid var(--mad-filter-accent)!important;border-radius:9px!important;padding:0 19px!important;margin:0!important;background:var(--mad-filter-accent)!important;color:#17211e!important;font-size:13px!important;font-weight:800;cursor:pointer;box-shadow:none!important;transition:filter .18s,transform .18s;}
.mad-wpc-filters .mad-wpc-filter-apply:hover {filter:brightness(.92);transform:translateY(-1px);}
.mad-wpc-filters .mad-wpc-filter-clear {text-decoration:underline!important;text-underline-offset:3px!important;color:#526957!important;white-space:nowrap;font-size:12px;font-weight:700;}
.mad-wpc-filter-footer {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#697a6b;font-size:12px;min-height:18px;}
.mad-wpc-filter-active {color:#4e7953;font-weight:700;}
.mad-wpc-filters.is-loading .mad-wpc-filter-form {opacity:.7;}
.et_pb_shop.mad-wpc-filter-loading {opacity:.4;transition:opacity .2s;pointer-events:none;}
@media(max-width:980px){.mad-wpc-filter-controls{gap:12px}.mad-wpc-filter-checks{flex:1 1 100%}.mad-wpc-filter-actions{flex:1 1 100%;justify-content:flex-start}}
@media(max-width:767px){.mad-wpc-filters .mad-wpc-filter-form{padding:16px 14px;border-radius:14px}.mad-wpc-filter-pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin-left:-2px;margin-right:-2px;padding:2px 2px 14px}.mad-wpc-filters .mad-wpc-filter-pill{white-space:nowrap;flex-shrink:0;padding:9px 13px!important;font-size:12px!important}.mad-wpc-filters .mad-wpc-filter-field{flex:1 1 100%}.mad-wpc-filters .mad-wpc-filter-price{flex:1 1 100%}.mad-wpc-filter-actions{flex-wrap:wrap}.mad-wpc-filters button.mad-wpc-filter-apply{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.mad-wpc-filters *,.et_pb_shop.mad-wpc-filter-loading{transition:none!important;transform:none!important}}

/* --- v2.2: category pills replace the duplicate category dropdown --- */
.mad-wpc-filters .mad-wpc-filter-categories {
  margin:0 0 18px;
  padding:0 0 18px;
  border-bottom:1px solid var(--mad-filter-outline);
}
.mad-wpc-filters .mad-wpc-filter-pills {
  padding:0;
  margin:0;
  border:0;
  gap:8px;
}
.mad-wpc-filters .mad-wpc-filter-subcategories {
  margin-top:12px;
  padding:11px;
  background:#f5f8f4;
  border:1px solid var(--mad-filter-outline);
  border-radius:13px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.mad-wpc-filters button.mad-wpc-filter-pill.mad-wpc-filter-subpill {
  font-size:12px;
  min-height:35px;
  padding:8px 12px!important;
  background:#fff!important;
}
.mad-wpc-filters button.mad-wpc-filter-subpill.is-selected {
  background:var(--mad-filter-accent)!important;
}
/* Keep a usable tap area without allowing Divi's global button rules to move icons. */
.mad-wpc-filters button.mad-wpc-filter-pill {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center;
  vertical-align:middle;
  line-height:1.25!important;
  height:auto!important;
}
.mad-wpc-filters .mad-wpc-filter-controls {
  align-items:flex-end;
}
.mad-wpc-filters .mad-wpc-filter-search svg {
  position:absolute;
  left:13px;
  top:0;
  height:100%;
  width:18px;
  display:block;
  transform:none;
  color:#607766;
  pointer-events:none;
}
.mad-wpc-filters .mad-wpc-filter-currency {
  position:absolute;
  left:11px;
  top:0;
  height:43px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:none;
  z-index:1;
  line-height:1;
  pointer-events:none;
}
.mad-wpc-filters button.mad-wpc-filter-apply svg {
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:block;
  vertical-align:middle;
  stroke:currentColor;
}
.mad-wpc-filters .mad-wpc-filter-price {
  min-width:205px;
  flex:1 1 230px;
}
.mad-wpc-filters .mad-wpc-filter-price legend {
  float:none;
  width:auto;
  margin:0;
  padding:0 0 7px;
}
.mad-wpc-filter-price-current {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:6px;
  width:100%;
  color:#17211e;
  font-size:13px;
  line-height:1.35;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
.mad-wpc-filter-price-separator {color:#7c8d7f;font-weight:400;}
/* Two independent thumbs over one bar; prices are backed by the existing Woo filters. */
.mad-wpc-filters .mad-wpc-filter-range {
  --mad-range-start:0%;
  --mad-range-end:100%;
  position:relative;
  width:100%;
  height:31px;
  margin:1px 0 5px;
  touch-action:pan-y;
  cursor:pointer;
}
.mad-wpc-filters .mad-wpc-filter-range-track,
.mad-wpc-filters .mad-wpc-filter-range-fill {
  position:absolute;
  top:13px;
  height:6px;
  border-radius:99px;
  pointer-events:none;
}
.mad-wpc-filters .mad-wpc-filter-range-track {
  left:0;
  right:0;
  background:#e2e9e1;
}
.mad-wpc-filters .mad-wpc-filter-range-fill {
  left:var(--mad-range-start);
  right:calc(100% - var(--mad-range-end));
  background:var(--mad-filter-accent);
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"] {
  position:absolute;
  inset:0;
  width:100%!important;
  height:31px!important;
  min-height:31px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline-offset:4px;
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
  cursor:grab;
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]::-webkit-slider-runnable-track {
  height:6px;
  background:transparent;
  border:0;
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]::-moz-range-track {
  height:6px;
  background:transparent;
  border:0;
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  pointer-events:auto;
  width:19px;
  height:19px;
  margin-top:-7px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--mad-filter-accent);
  box-shadow:0 0 0 1px #93b780,0 2px 6px rgba(21,47,28,.18);
  cursor:grab;
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]::-moz-range-thumb {
  pointer-events:auto;
  width:14px;
  height:14px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--mad-filter-accent);
  box-shadow:0 0 0 1px #93b780,0 2px 6px rgba(21,47,28,.18);
  cursor:grab;
}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]:active::-webkit-slider-thumb {cursor:grabbing;}
.mad-wpc-filters .mad-wpc-filter-range input[type="range"]:active::-moz-range-thumb {cursor:grabbing;}
.mad-wpc-filters .mad-wpc-filter-price-inputs {width:100%;gap:9px;}
.mad-wpc-filters .mad-wpc-filter-price-dash {display:inline-flex;align-items:center;height:43px;flex:0 0 auto;}
.mad-wpc-filters .mad-wpc-filter-price-inputs input[type="number"] {padding-left:26px!important;}
@media(max-width:767px) {
  .mad-wpc-filters .mad-wpc-filter-categories {margin-bottom:16px;padding-bottom:14px;}
  .mad-wpc-filters .mad-wpc-filter-pills {flex-wrap:wrap;overflow:visible;padding:0;}
  .mad-wpc-filters .mad-wpc-filter-subcategories {padding:9px;}
  .mad-wpc-filters .mad-wpc-filter-price {min-width:0;flex:1 1 100%;}
}
/* Label text stays available to screen readers without shifting the price symbols. */
.mad-wpc-filters .mad-wpc-filter-price-inputs .screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
