/* ACF Product Filter Stamex — filter.css — v1.1.0 */

#acf-filter-wrapper {
    --acf-primary: #E66445;
    --acf-text:    #000000;
    --acf-border:  #000000;
    font-family: inherit;
    color: var(--acf-text);
    width: 100%;
    box-sizing: border-box;
}
#acf-filter-wrapper *,
#acf-filter-wrapper *::before,
#acf-filter-wrapper *::after {
    box-sizing: border-box;
}

/* ─────────────────────────────────────────────────────────
   Universal button reset (defeats Elementor button styles)
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper button,
#acf-filter-wrapper input[type="button"],
#acf-filter-wrapper input[type="submit"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    font-family: inherit !important;
    text-transform: none !important;
    text-decoration: none !important;
    letter-spacing: normal !important;
    line-height: normal !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
}

#acf-filter-wrapper a {
    color: inherit;
    text-decoration: none;
}

#acf-filter-wrapper ul,
#acf-filter-wrapper li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

/* ─────────────────────────────────────────────────────────
   Toolbar (tabs + search) — aligned with products grid
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-toolbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

/* ── Parent tabs ───────────────────────────────────────── */
#acf-filter-wrapper #acf-parent-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-width: 0;
}
#acf-filter-wrapper .parent-tab,
#acf-filter-wrapper button.parent-tab {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    color: var(--acf-text) !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 18px !important;
    line-height: 26px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    cursor: pointer !important;
    white-space: nowrap;
    transition: color 0.15s, font-weight 0.15s, text-decoration 0.15s;
}
#acf-filter-wrapper .parent-tab.active,
#acf-filter-wrapper button.parent-tab.active,
#acf-filter-wrapper .parent-tab:hover,
#acf-filter-wrapper .parent-tab:focus,
#acf-filter-wrapper button.parent-tab:hover,
#acf-filter-wrapper button.parent-tab:focus {
    color: var(--acf-primary) !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    background: none !important;
    background-color: transparent !important;
}

/* ── Search (icon-collapsing) ──────────────────────────── */
#acf-filter-wrapper #acf-search-wrap {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    position: relative;
}
#acf-filter-wrapper #acf-search-input {
    width: 0 !important;
    padding: 6px 0 !important;
    border: none !important;
    border-bottom: 1.5px solid var(--acf-text) !important;
    background: transparent !important;
    background-color: transparent !important;
    font-family: inherit !important;
    font-size: 14px !important;
    color: var(--acf-text) !important;
    outline: none !important;
    opacity: 0;
    transition: width 0.3s ease, padding 0.3s ease, opacity 0.2s ease, margin 0.3s ease;
    box-sizing: border-box;
    pointer-events: none;
    box-shadow: none !important;
    border-radius: 0 !important;
}
#acf-filter-wrapper #acf-search-wrap.expanded #acf-search-input {
    width: 240px !important;
    padding: 6px 8px !important;
    opacity: 1;
    margin-right: 8px !important;
    pointer-events: auto;
}
#acf-filter-wrapper #acf-search-input::placeholder { color: #adb5bd !important; }

#acf-filter-wrapper #acf-search-toggle {
    padding: 6px !important;
    color: var(--acf-text) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
#acf-filter-wrapper #acf-search-toggle:hover { color: var(--acf-primary) !important; }
#acf-filter-wrapper #acf-search-toggle svg { display: block; }

/* ─────────────────────────────────────────────────────────
   Main layout : sidebar + products area
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-main-layout {
    display: flex !important;
    gap: 36px;
    align-items: flex-start;
}

#acf-filter-wrapper #acf-filter-sidebar {
    flex: 0 0 240px;
    min-width: 200px;
    /* Pushed down so "Affinez votre recherche" aligns with the first product row */
    padding-top: 58px;
}

#acf-filter-wrapper .filter-title {
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--acf-text) !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    line-height: 1.2 !important;
}

/* ── Accordion group (per parent) ──────────────────────── */
#acf-filter-wrapper .acf-accordion-group {
    margin-bottom: 16px;
}
#acf-filter-wrapper .acf-accordion-header,
#acf-filter-wrapper button.acf-accordion-header {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--acf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    color: var(--acf-text) !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 100% !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: left !important;
    cursor: pointer !important;
    height: auto !important;
}
#acf-filter-wrapper .acf-accordion-title {
    color: var(--acf-text) !important;
    font-weight: 600 !important;
}
#acf-filter-wrapper .acf-accordion-icon {
    color: var(--acf-primary) !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    margin-left: 12px !important;
    user-select: none;
    background: none !important;
    border: 0 !important;
}
#acf-filter-wrapper .acf-accordion-body {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    padding: 0;
    transition: grid-template-rows 0.3s ease, padding 0.3s ease;
}
#acf-filter-wrapper .acf-accordion-body.open {
    grid-template-rows: 1fr;
    padding-top: 10px;
    padding-bottom: 4px;
}
#acf-filter-wrapper .acf-accordion-body > .acf-child-list {
    min-height: 0;
    overflow: hidden;
}

#acf-filter-wrapper .acf-child-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
#acf-filter-wrapper .acf-child-list > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─────────────────────────────────────────────────────────
   Child checkboxes — bullet-proof against Elementor
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper .acf-child-label,
#acf-filter-wrapper label.acf-child-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 26px !important;
    color: var(--acf-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    user-select: none;
}

/* Native input is rendered invisible but kept in DOM for state */
#acf-filter-wrapper .acf-child-label input[type="checkbox"],
#acf-filter-wrapper .acf-child-list input[type="checkbox"],
#acf-filter-wrapper input.acf-child-filter {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    overflow: hidden !important;
    background: none !important;
    box-shadow: none !important;
}

/* Custom visible checkbox square */
#acf-filter-wrapper .acf-child-label > .custom-checkbox,
#acf-filter-wrapper .custom-checkbox,
#acf-filter-wrapper span.custom-checkbox {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    flex: 0 0 14px !important;
    flex-shrink: 0 !important;
    border: 1px solid var(--acf-border) !important;
    background: #fff !important;
    background-color: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    transition: background-color 0.15s, border-color 0.15s;
}
#acf-filter-wrapper .acf-child-label input:checked ~ .custom-checkbox,
#acf-filter-wrapper .acf-child-list input:checked ~ .custom-checkbox {
    background: var(--acf-primary) !important;
    background-color: var(--acf-primary) !important;
    border-color: var(--acf-primary) !important;
}

#acf-filter-wrapper .acf-child-label .acf-child-text,
#acf-filter-wrapper span.acf-child-text {
    font-family: inherit !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 26px !important;
    color: var(--acf-text) !important;
    background: none !important;
    transition: color 0.15s, font-weight 0.15s;
}
#acf-filter-wrapper .acf-child-label input:checked ~ .acf-child-text {
    font-weight: 600 !important;
    color: var(--acf-primary) !important;
}

/* ── Reset button ──────────────────────────────────────── */
#acf-filter-wrapper #acf-reset-filters {
    margin-top: 14px !important;
    color: var(--acf-text) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: underline !important;
}

/* ─────────────────────────────────────────────────────────
   Products area + grid
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-products-area { flex: 1; min-width: 0; }

#acf-filter-wrapper #acf-products-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    column-gap: 48px !important;
    row-gap: 56px !important;
    transition: opacity 0.2s;
}

/* ── Product card ──────────────────────────────────────── */
#acf-filter-wrapper .acf-product-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    /* Desktop: product tile panel */
    padding: 20px !important;
    background: #FBFBFB !important;
}
#acf-filter-wrapper .card-image-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    position: relative;
}
#acf-filter-wrapper .card-image-wrap > img,
#acf-filter-wrapper .card-image-wrap > img[src] {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
#acf-filter-wrapper .card-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: #f3f4f6;
}

#acf-filter-wrapper .card-title,
#acf-filter-wrapper a.card-title,
#acf-filter-wrapper .card-title:hover,
#acf-filter-wrapper .card-title:focus,
#acf-filter-wrapper .card-title:visited {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 18px !important;
    letter-spacing: 0.05em !important;
    color: #000000 !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}
#acf-filter-wrapper .card-title-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#acf-filter-wrapper .card-arrow {
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Loader ────────────────────────────────────────────── */
#acf-filter-wrapper #acf-loader {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}
#acf-filter-wrapper .acf-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #f5d8cd;
    border-top-color: var(--acf-primary);
    border-radius: 50%;
    animation: acf-spin 0.65s linear infinite;
}
@keyframes acf-spin { to { transform: rotate(360deg); } }

/* ── Load more ─────────────────────────────────────────── */
#acf-filter-wrapper #acf-loadmore-wrap {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}
#acf-filter-wrapper #acf-loadmore-btn,
#acf-filter-wrapper button#acf-loadmore-btn {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #E66445 !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: 'Manrope', inherit !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 26px !important;
    letter-spacing: 0.8px !important;
    text-decoration: underline !important;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-thickness: auto !important;
    text-underline-offset: 100% !important;
    text-underline-position: from-font !important;
    text-transform: uppercase !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: color 0.2s;
}
#acf-filter-wrapper #acf-loadmore-btn:hover,
#acf-filter-wrapper button#acf-loadmore-btn:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: #c8533a !important;
    text-decoration: underline !important;
}

/* ── No results / error ────────────────────────────────── */
#acf-filter-wrapper #acf-no-results {
    text-align: center;
    padding: 48px 20px;
    color: var(--acf-text);
    font-size: 0.9rem;
}
#acf-filter-wrapper .acf-error {
    color: #dc2626;
    text-align: center;
    font-size: 0.875rem;
}

/* ─────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────── */
.desktop-only { display: block; }
.mobile-only  { display: none; }

@media (max-width: 1100px) {
    #acf-filter-wrapper #acf-products-grid { grid-template-columns: repeat(2, 1fr) !important; column-gap: 32px !important; row-gap: 40px !important; }
}

@media (max-width: 768px) {
    .desktop-only { display: none !important; }
    .mobile-only  { display: block !important; }

    /* Mobile: product cards full-bleed (no panel padding/background) */
    #acf-filter-wrapper .acf-product-card { padding: 0 !important; background: none !important; }

    #acf-filter-wrapper #acf-main-layout { flex-direction: column !important; }
    #acf-filter-wrapper #acf-filter-sidebar { display: none !important; }

    /* Force-hide desktop toolbar (parent tabs + search) on mobile */
    #acf-filter-wrapper #acf-toolbar,
    #acf-filter-wrapper div#acf-toolbar.desktop-only,
    #acf-filter-wrapper #acf-parent-tabs,
    #acf-filter-wrapper #acf-toolbar #acf-search-wrap { display: none !important; }

    #acf-filter-wrapper #acf-products-grid { grid-template-columns: repeat(2, 1fr) !important; column-gap: 24px !important; row-gap: 32px !important; }
}

@media (max-width: 480px) {
    #acf-filter-wrapper #acf-products-grid { grid-template-columns: repeat(2, 1fr) !important; column-gap: 16px !important; row-gap: 28px !important; }
}

/* ─────────────────────────────────────────────────────────
   Mobile search bar (above the dark panel)
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-mobile-search {
    position: relative;
    width: 100%;
    background: #F5F5F5 !important;
    background-color: #F5F5F5 !important;
    margin-bottom: 0;
}
#acf-filter-wrapper #acf-mobile-search-input,
#acf-filter-wrapper input#acf-mobile-search-input {
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 16px 48px 16px 16px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    color: rgba(0, 0, 0, 0.75) !important;
    outline: none !important;
    box-sizing: border-box !important;
}
#acf-filter-wrapper #acf-mobile-search-input::placeholder {
    color: rgba(0, 0, 0, 0.25) !important;
}
#acf-filter-wrapper .acf-mobile-search-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(0, 0, 0, 0.4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
#acf-filter-wrapper .acf-mobile-search-icon svg { display: block; }

/* ─────────────────────────────────────────────────────────
   Mobile top-level accordion — dark panel
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-mobile-accordion,
#acf-filter-wrapper div#acf-mobile-accordion {
    margin-bottom: 24px;
    background: #182730 !important;
    background-color: #182730 !important;
    border: 0 !important;
    color: #fff !important;
}
#acf-filter-wrapper #acf-accordion-toggle,
#acf-filter-wrapper button#acf-accordion-toggle {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #182730 !important;
    background-color: #182730 !important;
    background-image: none !important;
    color: #fff !important;
    padding: 18px 20px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-align: left !important;
    border: 0 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
}
#acf-filter-wrapper #acf-accordion-toggle:hover,
#acf-filter-wrapper #acf-accordion-toggle:focus,
#acf-filter-wrapper button#acf-accordion-toggle:hover,
#acf-filter-wrapper button#acf-accordion-toggle:focus {
    background: #182730 !important;
    background-color: #182730 !important;
    color: #fff !important;
}
#acf-filter-wrapper #acf-accordion-toggle .chevron {
    transition: transform 0.25s ease;
    color: #fff !important;
    stroke: #fff !important;
}
#acf-filter-wrapper #acf-accordion-body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease;
    background: #182730 !important;
    background-color: #182730 !important;
    padding: 0 20px;
}
#acf-filter-wrapper #acf-accordion-body.open {
    max-height: 3000px;
    padding: 0 20px 20px;
}
#acf-filter-wrapper #acf-mobile-accordion #acf-active-tags {
    background: #182730 !important;
    background-color: #182730 !important;
}

/* ── Mobile parent tabs (inside the dark panel) ────────── */
#acf-filter-wrapper #acf-mobile-parent-tabs {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 24px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
#acf-filter-wrapper #acf-mobile-parent-tabs::-webkit-scrollbar { display: none; }
#acf-filter-wrapper #acf-mobile-parent-tabs .parent-tab,
#acf-filter-wrapper #acf-mobile-parent-tabs button.parent-tab {
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap;
    padding: 0 !important;
}
#acf-filter-wrapper #acf-mobile-parent-tabs .parent-tab.active,
#acf-filter-wrapper #acf-mobile-parent-tabs button.parent-tab.active,
#acf-filter-wrapper #acf-mobile-parent-tabs .parent-tab:hover,
#acf-filter-wrapper #acf-mobile-parent-tabs button.parent-tab:hover {
    color: var(--acf-primary) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* ── Mobile sub-categories: 2-column grid, grouped per parent ── */
#acf-filter-wrapper #acf-mobile-subcats,
#acf-filter-wrapper div#acf-mobile-subcats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
}
#acf-filter-wrapper .acf-mobile-group {
    min-width: 0;
}
#acf-filter-wrapper .acf-mobile-group-title {
    color: #fff !important;
    font-family: 'Outfit', inherit !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 26px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Orange separator (208×1 #E66445) under the parent label */
    position: relative;
    padding-bottom: 6px !important;
    margin-bottom: 10px !important;
}
#acf-filter-wrapper .acf-mobile-group-title::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 208px;
    max-width: 100%;
    height: 1px;
    background: #E66445;
}
#acf-filter-wrapper .acf-mobile-child-list,
#acf-filter-wrapper ul.acf-mobile-child-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
#acf-filter-wrapper .acf-mobile-child-list > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile checkboxes: light text on dark bg, Outfit typography */
#acf-filter-wrapper #acf-mobile-subcats .acf-child-label,
#acf-filter-wrapper #acf-mobile-subcats label.acf-child-label {
    color: #fff !important;
    font-family: 'Outfit', inherit !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: 26px !important;
    align-items: center !important;
    gap: 10px !important;
}
#acf-filter-wrapper #acf-mobile-subcats .custom-checkbox,
#acf-filter-wrapper #acf-mobile-subcats span.custom-checkbox {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #fff !important;
}
#acf-filter-wrapper #acf-mobile-subcats .acf-child-label input:checked ~ .custom-checkbox {
    background: var(--acf-primary) !important;
    background-color: var(--acf-primary) !important;
    border-color: var(--acf-primary) !important;
}
#acf-filter-wrapper #acf-mobile-subcats .acf-child-text,
#acf-filter-wrapper #acf-mobile-subcats span.acf-child-text {
    color: #fff !important;
    font-family: 'Outfit', inherit !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: 26px !important;
}
#acf-filter-wrapper #acf-mobile-subcats .acf-child-label input:checked ~ .acf-child-text {
    color: var(--acf-primary) !important;
    font-weight: 400 !important;
}

/* ─────────────────────────────────────────────────────────
   Active chips (mobile)
   ───────────────────────────────────────────────────────── */
#acf-filter-wrapper #acf-active-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 0 20px 20px;
}
#acf-filter-wrapper #acf-active-tags:empty { padding: 0; }
#acf-filter-wrapper #acf-mobile-accordion .active-tag-remove,
#acf-filter-wrapper #acf-mobile-accordion button.active-tag-remove {
    color: #fff !important;
}
#acf-filter-wrapper #acf-mobile-accordion #acf-clear-all-tags,
#acf-filter-wrapper #acf-mobile-accordion button#acf-clear-all-tags {
    color: #fff !important;
}
#acf-filter-wrapper .active-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
    color: var(--acf-primary) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}
#acf-filter-wrapper .active-tag-label {
    color: var(--acf-primary) !important;
}
#acf-filter-wrapper .active-tag-remove,
#acf-filter-wrapper button.active-tag-remove {
    width: 20px !important;
    height: 20px !important;
    color: var(--acf-text) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#acf-filter-wrapper #acf-clear-all-tags,
#acf-filter-wrapper button#acf-clear-all-tags {
    color: var(--acf-text) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
}
