/**
 * FacetWP Custom Styling met Tailwind
 * 
 * Dit bestand bevat aangepaste stijlen voor FacetWP elementen met Tailwind classes.
 */

  /* ========================
     Algemene FacetWP stijlen
     ======================== */
  /* Strakker dan Tailwind mb-5/mb-10 (sommige builds mappen anders); expliciet 20px. */
  .facetwp-facet {
    margin-bottom: 20px;
  }

  /* FacetWP front.css zet .facetwp-facet { margin-bottom: 40px } met dezelfde specificiteit maar laadt vaak later. */
  .rh-filter-sidebar .facetwp-facet {
    margin-bottom: 20px;
  }

  /* ========================
     Checkbox stijlen
     ======================== */
  .facetwp-checkbox {
    @apply relative flex items-center mb-2 pl-6 cursor-pointer text-sm !font-sans text-gray-800;
    /* Verwijder standaard styling */
    background-image: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: auto !important;
  }

  /* Mobiele aanpassingen */
  @media (max-width: 640px) {
    .facetwp-checkbox {
      @apply text-sm pl-5;
    }
    
    .facetwp-checkbox::before {
      @apply w-3.5 h-3.5;
    }
    
    .facetwp-checkbox.checked::after {
      @apply left-1 w-[5px] h-[8px];
    }
  }

  .facetwp-checkbox::before {
    content: "";
    @apply absolute left-0 top-1/2 -translate-y-1/2 w-4 h-4 border border-gray-300 bg-white rounded transition-all duration-200;
  }

  .facetwp-checkbox.checked::before {
    @apply bg-primary-600 border-primary-600;
  }

  .facetwp-checkbox.checked::after {
    content: "";
    @apply absolute left-[5px] top-1/2 -translate-y-[65%] rotate-45 w-[6px] h-[9px] border-white border-r-2 border-b-2;
  }

  .facetwp-checkbox:hover::before {
    @apply border-primary-600;
  }

  .facetwp-counter {
    @apply hidden;
  }

  /* ========================
     Slider stijlen (Prijs)
     ======================== */
  .facetwp-type-slider .facetwp-slider-wrap {
    /* Geef links/rechts ruimte zodat handles netjes op de uiteinden zitten */
    @apply py-2.5 px-2;
  }

  .facetwp-slider-reset {
    @apply hidden;
  }

  .facetwp-slider-reset:hover {
    @apply bg-gray-200 text-gray-800;
  }

  .facetwp-slider-label {
    @apply text-sm !font-sans text-body mb-2;
  }

  /* Slider elementen */
  .noUi-target {
    @apply !h-1.5 border-0 bg-gray-200 shadow-none rounded-sm;
  }

  .noUi-connect {
    @apply !bg-primary-600 !h-1.5;
  }

  .noUi-handle {
    @apply !bg-primary-600 !rounded-none !border-2 !border-primary-600 !h-4 !w-4 !-top-1.5;
  }

  /* Verwijder standaard lijnen binnen handle */
  .noUi-handle::before,
  .noUi-handle::after {
    @apply hidden;
  } 

  /* Pricing labels */
  .facetwp-slider-label {
    @apply text-sm text-gray-700 mb-2;
  }

  /* Minder ruimte tussen prijsslider (bedragen) en reset-knop in categorie-filterzijbalk */
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] {
    margin-bottom: 0.75rem;
  }

/* Prijs-slider exact gecentreerd met volle rail-lengte. */
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .facetwp-slider-wrap {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
  width: 195px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-target {
    box-sizing: border-box;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  }
/* Linker handle met halve breedte naar links voor nette edge-alignment. */
.rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-horizontal .noUi-handle-lower {
    right: -8px;
  }
/* Rechter handle niet extra naar rechts verschuiven. */
.rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-horizontal .noUi-handle-upper {
  right: -2px;
}

  /* Gebruik Van/Tot velden als enige prijsweergave onder de slider */
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .facetwp-slider-label {
    display: none;
  }

  /* Van/Tot labels exact volgens ontwerp */
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] label {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400;
    color: #32100E;
  }

  /* Duidelijke cursor-feedback op prijs-handles */
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-handle,
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-handle:hover {
    cursor: grab;
  }
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-handle:active,
  .rh-filter-sidebar .facetwp-facet[data-name="prijs"] .noUi-state-drag .noUi-handle {
    cursor: grabbing;
  }

  /* ========================
     Filter reset knop
     ======================== */
  .facetwp-reset-button {
    @apply block w-full mt-4 py-2 px-4 rounded bg-primary-600 text-white text-sm font-bold uppercase text-center transition-colors duration-300 border-0 cursor-pointer;
  }

  .facetwp-reset-button:hover {
    @apply bg-primary-700;
  }


/* Kleurvariabelen die overeenkomen met het thema */
:root {
  --primary-color: #e67e22; /* Primaire kleur, pas aan naar de hoofdkleur van het thema */
  --primary-hover-color: #d35400; /* Donkerdere versie voor hover effecten */
  --primary-light-color: #f39c12; /* Lichtere versie voor achtergronden */
  --text-color: #1a1a1a; /* Standaard tekstkleur */
  --light-border: #d1d1d1; /* Lichte randen */
  --light-bg: #f5f5f5; /* Lichte achtergrond */
}

/* ========================
   Subcategorie filter knoppen (product_cat)
   ======================== */
.rh-subcat-filter-wrap .facetwp-facet {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0;
}

.rh-subcat-filter-wrap .facetwp-checkbox,
.rh-subcat-filter-wrap .facetwp-radio {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 0.5rem 1rem !important;
  padding-left: 1rem;
  margin-bottom: 0;
  background-color: #ffffff;
  color: #AB3300;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transition-property: color, background-color;
  transition-duration: 200ms;
  /* Verberg de standaard checkbox/radio */
  background-image: none !important;
}

.rh-subcat-filter-wrap .facetwp-checkbox::before,
.rh-subcat-filter-wrap .facetwp-checkbox::after,
.rh-subcat-filter-wrap .facetwp-radio::before,
.rh-subcat-filter-wrap .facetwp-radio::after {
  display: none;
}

.rh-subcat-filter-wrap .facetwp-checkbox:hover,
.rh-subcat-filter-wrap .facetwp-radio:hover {
  background-color: #AB3300;
  color: #ffffff;
}

.rh-subcat-filter-wrap .facetwp-checkbox.checked,
.rh-subcat-filter-wrap .facetwp-radio.checked {
  background-color: #AB3300;
  color: #ffffff;
}

.rh-subcat-filter-wrap .facetwp-counter {
  display: none;
}

/* Verberg de show more/less toggle */
.rh-subcat-filter-wrap .facetwp-toggle {
  display: none;
}

/* Zorg dat alle items altijd zichtbaar zijn */
.rh-subcat-filter-wrap .facetwp-hidden {
  display: block !important;
}

/* ========================
   Mobiele optimalisaties
   ======================== */
@media (max-width: 768px) {
  .facetwp-checkbox {
    padding-left: 22px;
    font-size: 13px;
  }
  
  .facetwp-checkbox:before {
    width: 14px;
    height: 14px;
  }
  
  .facetwp-checkbox.checked:after {
    left: 4px;
    width: 5px;
    height: 8px;
  }
  
  /* Subcategorie knoppen blijven hetzelfde op mobiel */
  .rh-subcat-filter-wrap .facetwp-checkbox {
    @apply pl-4;
  }
}

