/* FacetWP Shop V2 – filters, maatfinder, chips, sortering (alleen binnen .aw-shop-v2) */
.aw-shop-v2 {
    --sv2-teal: #00ACB2;
    --sv2-blue: #00649A;
    --sv2-black: #0C0C0C;
    --sv2-text: #191919;
    --sv2-muted: #55606a;
    --sv2-tint: #e8f7f8;
    --sv2-line: #d6dde2;
}

/* ---- Maatfinder ---- */
.aw-shop-v2 .aw-sv2-finder { border: 1.5px solid var(--sv2-text); border-radius: 15px; padding: 16px; margin-bottom: 18px; background: #fff; }
.aw-shop-v2 .aw-sv2-finder h2 { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: var(--sv2-teal); line-height: 1.2; font-family: inherit; }
.aw-shop-v2 .aw-sv2-finder__hint { display: block; font-size: 13px; font-weight: 400; color: var(--sv2-muted); margin-top: 3px; }
.aw-shop-v2 .aw-sv2-finder__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.aw-shop-v2 .aw-sv2-field label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: var(--sv2-text); }
.aw-shop-v2 .aw-sv2-field__inp { display: flex; align-items: center; border: 1.5px solid var(--sv2-text); border-radius: 8px; background: #fff; overflow: hidden; }
.aw-shop-v2 .aw-sv2-field__inp:focus-within { outline: 3px solid var(--sv2-black); outline-offset: 2px; }
.aw-shop-v2 .aw-sv2-field input { width: 100%; min-width: 0; border: 0 !important; padding: 10px !important; font: inherit; background: transparent; box-shadow: none !important; -moz-appearance: textfield; }
.aw-shop-v2 .aw-sv2-field input::-webkit-outer-spin-button,
.aw-shop-v2 .aw-sv2-field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.aw-shop-v2 .aw-sv2-field input:focus { outline: 0; }
.aw-shop-v2 .aw-sv2-field__unit { padding-right: 10px; color: var(--sv2-muted); font-size: 14px; }
.aw-shop-v2 .aw-sv2-finder__clear { background: none !important; border: 0 !important; color: var(--sv2-blue) !important; font: inherit; font-weight: 500; text-decoration: underline; cursor: pointer; padding: 10px 0 0 !important; }
.aw-shop-v2 .aw-sv2-finder__clear[hidden] { display: none; }

/* ---- Filtergroepen ---- */
.aw-shop-v2 .aw-sv2-panel-title { margin: 0 0 12px; }
.aw-shop-v2 .aw-sv2-panel-title .elementor-heading-title { font-family: inherit; font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--sv2-text); margin: 0; padding: 0; border: 0; }
.aw-shop-v2 .aw-sv2-fgroup { border-top: 1px solid var(--sv2-line); padding: 14px 0; }
.aw-shop-v2 .aw-sv2-fgroup--empty { display: none; }
.aw-shop-v2 .aw-sv2-fgroup .facet-wrap > h3 { font-size: 15px; font-weight: 600; margin: 0 0 8px; color: var(--sv2-text); font-family: inherit; line-height: 1.3; }
.aw-shop-v2 .aw-sv2-fgroup .facetwp-facet { margin-bottom: 0; }
.aw-shop-v2 .aw-sv2-fgroup--area .facet-wrap::after { content: var(--aw-sv2-in-m2, "in m²"); display: block; font-size: 14px; color: var(--sv2-muted); margin-top: 4px; }

/* Checkboxes */
.aw-shop-v2 .facetwp-checkbox { font-size: 16px; line-height: 1.5; display: flex; align-items: center; gap: 8px; padding: 3px 0 !important; margin: 0 !important; background: none !important; cursor: pointer; }
.aw-shop-v2 .facetwp-checkbox::before { content: ""; flex: none; width: 18px; height: 18px; border: 1.5px solid var(--sv2-text); border-radius: 4px; background: #fff center / 12px no-repeat; }
.aw-shop-v2 .facetwp-checkbox.checked::before { background-color: var(--sv2-teal); border-color: var(--sv2-teal); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E"); }
.aw-shop-v2 .facetwp-checkbox .facetwp-counter { margin-left: auto; color: var(--sv2-muted); font-size: 14px; }
.aw-shop-v2 .facetwp-checkbox.disabled { opacity: .5; }

/* Number range (sail area) */
.aw-shop-v2 .facetwp-type-number_range { display: flex; align-items: center; gap: 8px; }
.aw-shop-v2 .facetwp-type-number_range .facetwp-number { order: 1; width: 100%; min-width: 0; padding: 8px !important; border: 1.5px solid var(--sv2-text) !important; border-radius: 8px !important; font: inherit; background: #fff; }
.aw-shop-v2 .facetwp-type-number_range::after { content: var(--aw-sv2-to, "to"); order: 2; color: var(--sv2-muted); }
.aw-shop-v2 .facetwp-type-number_range .facetwp-number-max { order: 3; }
.aw-shop-v2 .facetwp-type-number_range .facetwp-submit { display: none; }

/* Slider (prijs) */
.aw-shop-v2 .facetwp-type-slider .facetwp-slider-wrap { padding: 0 !important; margin: 0 !important; }
.aw-shop-v2 .facetwp-type-slider .noUi-target { background: var(--sv2-line); border: 0; box-shadow: none; height: 6px; margin: 12px 9px 10px; }
.aw-shop-v2 .facetwp-type-slider .noUi-connect { background: var(--sv2-teal); }
.aw-shop-v2 .facetwp-type-slider .noUi-handle { width: 18px !important; height: 18px !important; top: -6px !important; right: -9px !important; border-radius: 50%; border: 2px solid var(--sv2-teal); background: #fff; box-shadow: none; cursor: pointer; }
.aw-shop-v2 .facetwp-type-slider .noUi-handle::before,
.aw-shop-v2 .facetwp-type-slider .noUi-handle::after { display: none; }
.aw-shop-v2 .facetwp-type-slider .facetwp-slider-label { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; color: var(--sv2-muted); line-height: 1.4; margin: 0; }
.aw-shop-v2 .facetwp-type-slider .facetwp-slider-label + div:empty { display: none; }
.aw-shop-v2 .facetwp-type-slider .facetwp-slider-reset { display: none !important; }

/* Reset: FacetWP verbergt hem (auto_hide) tot er een filter actief is */
.aw-shop-v2 .facetwp-reset,
.aw-shop-v2 .facetwp-type-reset button { font: inherit; font-weight: 500; background: #fff !important; color: var(--sv2-teal) !important; border: 1.5px solid var(--sv2-teal) !important; border-radius: 6px !important; padding: 8px 16px !important; cursor: pointer; margin-top: 4px; }
.aw-shop-v2 .facetwp-reset:hover,
.aw-shop-v2 .facetwp-type-reset button:hover { background: var(--sv2-tint) !important; }
.aw-shop-v2:not(.aw-sv2-has-filters) .aw-sv2-reset { display: none; }
.aw-shop-v2 .aw-sv2-reset .facetwp-facet:empty,
.aw-shop-v2 .aw-sv2-reset .facetwp-hidden { display: none; }

/* ---- Toolbar: chips, aantal, sortering ---- */
.aw-shop-v2 .aw-sv2-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.aw-shop-v2 .aw-sv2-chips[hidden] { display: none; }
.aw-shop-v2 .aw-sv2-chip { font: inherit; font-weight: 500; border: 1.5px solid var(--sv2-teal) !important; color: var(--sv2-teal) !important; background: #fff !important; border-radius: 999px !important; padding: 6px 16px !important; cursor: pointer; line-height: 1.5; }
.aw-shop-v2 .aw-sv2-chip[aria-pressed="true"] { background: var(--sv2-teal) !important; color: #fff !important; }
.aw-shop-v2 .facetwp-facet-rs_count { margin: 0; font-weight: 500; white-space: nowrap; }
.aw-shop-v2 .facetwp-facet-rs_sort { margin: 0; }
.aw-shop-v2 .facetwp-facet-rs_sort select { font: inherit; padding: 9px 30px 9px 12px; border: 1.5px solid var(--sv2-text); border-radius: 8px; background-color: #fff; color: var(--sv2-text); min-width: 210px; }

/* ---- Paginering ---- */
.aw-shop-v2 .facetwp-facet-rs_pager { margin: 30px 0 0; }
.aw-shop-v2 .facetwp-facet-rs_pager .facetwp-pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; }
.aw-shop-v2 .facetwp-facet-rs_pager .facetwp-page { min-width: 40px; height: 40px; display: inline-grid !important; place-items: center; border: 1.5px solid var(--sv2-teal) !important; border-radius: 8px !important; color: var(--sv2-teal) !important; background: #fff !important; text-decoration: none; font-weight: 600; padding: 0 12px !important; margin: 0 !important; }
.aw-shop-v2 .facetwp-facet-rs_pager .facetwp-page:hover { background: var(--sv2-tint) !important; }
.aw-shop-v2 .facetwp-facet-rs_pager .facetwp-page.active { background: var(--sv2-teal) !important; color: #fff !important; }
.aw-shop-v2 .facetwp-facet-rs_pager .facetwp-page.dots { border: 0 !important; }

/* ---- Mobiel: filterknop + inklapbaar paneel ---- */
.aw-shop-v2 .aw-sv2-filter-toggle { display: none; font: inherit; font-weight: 500; background: #fff !important; color: var(--sv2-teal) !important; border: 1.5px solid var(--sv2-teal) !important; border-radius: 6px !important; padding: 8px 16px !important; cursor: pointer; }
@media (max-width: 900px) {
    .aw-shop-v2 .aw-sv2-filter-toggle { display: inline-flex; }
    .aw-shop-v2 .aw-sv2-panel { display: none !important; }
    .aw-shop-v2.aw-sv2-filters-open .aw-sv2-panel { display: flex !important; margin-top: 10px; }
    .aw-shop-v2 .aw-sv2-panel-title { display: none; }
}

/* Filterlabels erven anders een afwijkend thema-font (FsJoey) */
.aw-shop-v2 .facetwp-facet,
.aw-shop-v2 .facetwp-facet * { font-family: inherit; }
body .aw-shop-v2 .facetwp-checkbox .facetwp-display-value { font-family: inherit; }
