/* Pikfox Product Filter v1.1.0 — extended builder styling */
.pf-product-filter{
  box-sizing:border-box;
  width:var(--pf-pf-width,100%);
  max-width:var(--pf-pf-max-width,none);
  min-height:var(--pf-pf-min-height,0);
  max-height:var(--pf-pf-max-height,none);
  overflow-y:var(--pf-pf-overflow-y,auto);
  background:var(--pf-pf-bg,#fff);
  color:var(--pf-pf-text,#111827);
  border-width:var(--pf-pf-border-width,1px);
  border-style:var(--pf-pf-border-style,solid);
  border-color:var(--pf-pf-border,#e5e7eb);
  border-radius:var(--pf-pf-radius,10px);
  padding:var(--pf-pf-padding,16px);
  margin:var(--pf-pf-margin,0);
  box-shadow:var(--pf-pf-shadow,none);
}
.pf-product-filter.is-sticky{position:sticky;top:var(--pf-pf-sticky-top,16px)}
.pf-product-filter *{box-sizing:border-box}

.pf-product-filter__title{
  font-size:var(--pf-pf-title-size,14px);
  font-weight:var(--pf-pf-title-weight,800);
  line-height:var(--pf-pf-title-lh,1.2);
  letter-spacing:var(--pf-pf-title-ls,0);
  text-align:var(--pf-pf-title-align,center);
  text-transform:var(--pf-pf-title-transform,none);
  color:var(--pf-pf-title-color,#111827);
  background:var(--pf-pf-title-bg,transparent);
  border-width:var(--pf-pf-title-bw,1px);
  border-style:var(--pf-pf-title-bs,solid);
  border-color:var(--pf-pf-title-bc,#e5e7eb);
  border-radius:var(--pf-pf-title-radius,4px);
  padding:var(--pf-pf-title-padding,8px 10px);
  margin:var(--pf-pf-title-margin,0 0 18px);
}

.pf-product-filter__section{
  background:var(--pf-pf-section-bg,transparent);
  padding:var(--pf-pf-section-padding,0 0 18px);
  margin:var(--pf-pf-section-margin,0 0 18px);
  border-width:var(--pf-pf-section-bw,0 0 1px 0);
  border-style:var(--pf-pf-section-bs,solid);
  border-color:var(--pf-pf-section-border,#eee);
  border-radius:var(--pf-pf-section-radius,0);
}
.pf-product-filter__section:last-of-type{margin-bottom:0}
.pf-product-filter__label{
  color:var(--pf-pf-label-color,#111827);
  font-size:var(--pf-pf-label-size,13px);
  font-weight:var(--pf-pf-label-weight,800);
  line-height:var(--pf-pf-label-lh,1.3);
  letter-spacing:var(--pf-pf-label-ls,0);
  text-transform:var(--pf-pf-label-transform,uppercase);
  margin:var(--pf-pf-label-margin,0 0 12px);
}

.pf-product-filter__checks{display:flex;flex-direction:column;gap:var(--pf-pf-option-gap,9px)}
.pf-product-filter__check{
  position:relative;
  display:grid;
  grid-template-columns:var(--pf-pf-checkbox-size,16px) minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  min-height:20px;
  cursor:pointer;
  color:var(--pf-pf-option-color,#111827);
  font-size:var(--pf-pf-option-size,13px);
  font-weight:var(--pf-pf-option-weight,400);
  line-height:var(--pf-pf-option-lh,1.35);
  transition:color .16s ease;
}
.pf-product-filter__check:hover{color:var(--pf-pf-option-hover,#ef2b2d)}
.pf-product-filter__check input{position:absolute;opacity:0;pointer-events:none}
.pf-product-filter__box{
  width:var(--pf-pf-checkbox-size,16px);
  height:var(--pf-pf-checkbox-size,16px);
  border-width:var(--pf-pf-checkbox-bw,1px);
  border-style:var(--pf-pf-checkbox-bs,solid);
  border-color:var(--pf-pf-checkbox-bc,#444);
  background:var(--pf-pf-checkbox-bg,#fff);
  border-radius:var(--pf-pf-control-radius,4px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .16s ease,border-color .16s ease;
}
.pf-product-filter__check input:checked+.pf-product-filter__box{
  background:var(--pf-pf-checkbox-checked-bg,var(--pf-pf-accent,#ef2b2d));
  border-color:var(--pf-pf-checkbox-checked-bc,var(--pf-pf-accent,#ef2b2d));
}
.pf-product-filter__check input:checked+.pf-product-filter__box:after{
  content:'✓';
  font-size:calc(var(--pf-pf-checkbox-size,16px) * .68);
  font-weight:900;
  color:var(--pf-pf-checkbox-check,#fff);
  line-height:1;
}
.pf-product-filter__check:has(input:checked){color:var(--pf-pf-option-active,#111827)}
.pf-product-filter__option-name{min-width:0;overflow-wrap:anywhere}
.pf-product-filter__count{
  color:var(--pf-pf-count-color,var(--pf-pf-muted,#6b7280));
  font-size:var(--pf-pf-count-size,12px);
  font-weight:var(--pf-pf-count-weight,400);
  white-space:nowrap;
}

.pf-product-filter__select{
  width:100%;
  min-height:var(--pf-pf-select-height,38px);
  border-width:var(--pf-pf-select-bw,1px);
  border-style:var(--pf-pf-select-bs,solid);
  border-color:var(--pf-pf-select-bc,#d1d5db);
  border-radius:var(--pf-pf-select-radius,6px);
  background:var(--pf-pf-select-bg,#fff);
  color:var(--pf-pf-select-color,#111827);
  padding:var(--pf-pf-select-padding,7px 30px 7px 9px);
  font:inherit;
  font-size:var(--pf-pf-option-size,13px);
  font-weight:var(--pf-pf-option-weight,400);
  line-height:var(--pf-pf-option-lh,1.35);
  outline:none;
}
.pf-product-filter__select:focus{border-color:var(--pf-pf-accent,#ef2b2d);box-shadow:0 0 0 2px color-mix(in srgb,var(--pf-pf-accent,#ef2b2d) 15%,transparent)}

.pf-product-filter__actions{
  display:flex;
  gap:var(--pf-pf-actions-gap,8px);
  margin:var(--pf-pf-actions-margin,4px 0 0);
}
.pf-product-filter__apply,.pf-product-filter__reset{
  min-height:var(--pf-pf-button-height,36px);
  border-radius:var(--pf-pf-button-radius,6px);
  padding:var(--pf-pf-button-padding,7px 12px);
  font:inherit;
  font-size:var(--pf-pf-button-size,12px);
  font-weight:var(--pf-pf-button-weight,700);
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.pf-product-filter__apply{
  flex:1;
  border-width:var(--pf-pf-apply-bw,1px);
  border-style:var(--pf-pf-apply-bs,solid);
  border-color:var(--pf-pf-apply-bc,var(--pf-pf-accent,#ef2b2d));
  background:var(--pf-pf-apply-bg,var(--pf-pf-accent,#ef2b2d));
  color:var(--pf-pf-apply-color,#fff);
}
.pf-product-filter__apply:hover{background:var(--pf-pf-apply-hover-bg,#d91f22)}
.pf-product-filter__reset{
  border-width:var(--pf-pf-reset-bw,1px);
  border-style:var(--pf-pf-reset-bs,solid);
  border-color:var(--pf-pf-reset-bc,#d1d5db);
  background:var(--pf-pf-reset-bg,#fff);
  color:var(--pf-pf-reset-color,var(--pf-pf-muted,#6b7280));
}
.pf-product-filter__reset:hover{background:var(--pf-pf-reset-hover-bg,#f8fafc)}
.pf-product-filter__empty{font-size:12px;line-height:1.5;color:var(--pf-pf-muted,#6b7280);padding:4px 0}

@media(max-width:767px){
  .pf-product-filter{
    max-height:none;
    padding:var(--pf-pf-mobile-padding,14px);
  }
  .pf-product-filter__title{
    text-align:var(--pf-pf-mobile-title-align,left);
    font-size:var(--pf-pf-mobile-title-size,14px);
  }
  .pf-product-filter__section{
    margin-bottom:var(--pf-pf-mobile-gap,14px);
    padding-bottom:var(--pf-pf-mobile-gap,14px);
  }
  .pf-product-filter__label{font-size:var(--pf-pf-mobile-label-size,12px)}
  .pf-product-filter__check,.pf-product-filter__select{font-size:var(--pf-pf-mobile-option-size,13px)}
}
