/* === RESET COMPLET DES STYLES YITH === */
.yith-wcan-filters *,
.yith-wcan-filters *::before,
.yith-wcan-filters *::after {
    background: none !important;
    border: none !important;
    color: inherit !important;
    box-shadow: none !important;
}

/* === RESET DES FILTRES COULEUR === */
.yith-wcan-filter.filter-color label::before,
.yith-wcan-filter.yith-wcan-color-filter label::before,
.yith-wcan-filter .color-label::before,
.yith-wcan-filter .color-swatch {
    display: none !important;
}

/* === CONTAINER PRINCIPAL === */
.yith-wcan-filters {
    padding: 0;
    font-family: 'Montserrat', sans-serif;
}

/* === TITRES DES FILTRES === */
.yith-wcan-filter h3,
.yith-wcan-filter .filter-title {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #1a1a1a !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 0 0.75rem 0 !important;
}

/* === SECTIONS DE FILTRES === */
.yith-wcan-filter {
    width: 100% !important;
    margin-bottom: 2rem !important;
    padding-bottom: 2rem !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
}

.yith-wcan-filter:last-child {
    border-bottom: none !important;
}

/* === LISTE DES OPTIONS === */
.yith-wcan-filter ul,
.yith-wcan-filter .yith-wcan-list {
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    background: transparent !important;
    border: none !important;
}

.yith-wcan-filter li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* === CHECKBOXES CACHÉES === */
.yith-wcan-filter input[type="checkbox"],
.yith-wcan-filter input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    cursor: pointer !important;
    width: 0 !important;
    height: 0 !important;
}

/* === LABELS STYLE TAG - TOUS LES ÉTATS === */
.yith-wcan-filters .yith-wcan-filter label,
.yith-wcan-filters .yith-wcan-filter a.filter-item,
.yith-wcan-filters .yith-wcan-filter .yith-wcan-label,
.yith-wcan-filters .yith-wcan-filter span.filter-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    background: #fff !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 100px !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.yith-wcan-filters .yith-wcan-filter label:hover,
.yith-wcan-filters .yith-wcan-filter a.filter-item:hover,
.yith-wcan-filters .yith-wcan-filter .yith-wcan-label:hover,
.yith-wcan-filters .yith-wcan-filter span.filter-label:hover {
    background: #f5f5f5 !important;
    color: #1a1a1a !important;
    transform: none !important;
    box-shadow: none !important;
}

/* === TAG SÉLECTIONNÉ - TOUS LES CAS POSSIBLES === */
.yith-wcan-filters .yith-wcan-filter input[type="checkbox"]:checked + label,
.yith-wcan-filters .yith-wcan-filter input[type="checkbox"]:checked ~ label,
.yith-wcan-filters .yith-wcan-filter input[type="radio"]:checked + label,
.yith-wcan-filters .yith-wcan-filter input[type="radio"]:checked ~ label,
.yith-wcan-filters .yith-wcan-filter li.chosen label,
.yith-wcan-filters .yith-wcan-filter li.active label,
.yith-wcan-filters .yith-wcan-filter li.selected label,
.yith-wcan-filters .yith-wcan-filter a.filter-item.chosen,
.yith-wcan-filters .yith-wcan-filter a.filter-item.active,
.yith-wcan-filters .yith-wcan-filter a.filter-item.selected,
.yith-wcan-filters .yith-wcan-filter .chosen span.filter-label,
.yith-wcan-filters .yith-wcan-filter .active span.filter-label,
.yith-wcan-filters .yith-wcan-filter .selected span.filter-label {
    background: #1a1a1a !important;
    color: #fff !important;
    border: 1px solid #1a1a1a !important;
    box-shadow: none !important;
}

.yith-wcan-filters .yith-wcan-filter input[type="checkbox"]:checked + label:hover,
.yith-wcan-filters .yith-wcan-filter input[type="radio"]:checked + label:hover,
.yith-wcan-filters .yith-wcan-filter li.chosen label:hover,
.yith-wcan-filters .yith-wcan-filter li.active label:hover,
.yith-wcan-filters .yith-wcan-filter a.filter-item.chosen:hover,
.yith-wcan-filters .yith-wcan-filter a.filter-item.active:hover {
    background: #333 !important;
    color: #fff !important;
    border: 1px solid #333 !important;
    box-shadow: none !important;
}

/* === SUPPRESSION DE TOUS LES PSEUDO-ÉLÉMENTS YITH === */
.yith-wcan-filters label::before,
.yith-wcan-filters label::after,
.yith-wcan-filters a::before,
.yith-wcan-filters a::after,
.yith-wcan-filters span::before,
.yith-wcan-filters span::after {
    content: none !important;
    display: none !important;
}

/* === COMPTEURS === */
.yith-wcan-filter .count {
    margin-left: 0.375rem !important;
    font-size: 0.75rem !important;
    opacity: 0.6 !important;
    color: inherit !important;
    background: transparent !important;
    border: none !important;
}

/* === SUPPRESSION DES TOOLTIPS === */
.yith-wcan-filter .yith-wcan-tooltip,
.yith-wcan-filter [data-tooltip],
.yith-wcan-filter .tooltip,
.yith-wcan-filter label[title],
.yith-wcan-filter a[title] {
    pointer-events: auto !important;
}

.yith-wcan-filter label[title]::after,
.yith-wcan-filter a[title]::after,
.yith-wcan-filter [data-tooltip]::after,
.yith-wcan-filter .tooltip::after {
    display: none !important;
}

/* === SLIDER DE PRIX === */
.yith-wcan-filter .price-slider {
    margin: 1.5rem 0 !important;
    background: transparent !important;
}

.yith-wcan-filter .ui-slider {
    height: 3px !important;
    background: #e5e5e5 !important;
    border: none !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

.yith-wcan-filter .ui-slider-handle {
    width: 1rem !important;
    height: 1rem !important;
    background: #1a1a1a !important;
    border: none !important;
    border-radius: 50% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    transition: transform 0.2s ease !important;
    box-shadow: none !important;
}

.yith-wcan-filter .ui-slider-handle:hover {
    transform: translateY(-50%) scale(1.1) !important;
    background: #1a1a1a !important;
}

.yith-wcan-filter .ui-slider-range {
    background: #1a1a1a !important;
    border: none !important;
    box-shadow: none !important;
}

.yith-wcan-filter .price-slider-amount {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 1rem !important;
    font-size: 0.875rem !important;
    color: #4a4a4a !important;
    background: transparent !important;
    border: none !important;
}

/* === BOUTONS === */
.yith-wcan-filter .yith-wcan-reset-filters,
.yith-wcan-filter button[type="submit"] {
    width: 100% !important;
    padding: 0.875rem 1.5rem !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    margin-top: 1.5rem !important;
    box-shadow: none !important;
}

.yith-wcan-filter .yith-wcan-reset-filters:hover,
.yith-wcan-filter button[type="submit"]:hover {
    background: #333 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

.yith-wcan-filter .yith-wcan-reset-filters {
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a !important;
}

.yith-wcan-filter .yith-wcan-reset-filters:hover {
    background: #f5f5f5 !important;
    color: #1a1a1a !important;
}

/* === FILTRES ACTIFS (affichés en haut) === */
.yith-wcan-active-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1.5rem !important;
    border: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    background: transparent !important;
}

.yith-wcan-active-filter {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1rem !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border-radius: 100px !important;
    border: none !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.yith-wcan-active-filter .remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1rem !important;
    height: 1rem !important;
    cursor: pointer !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
    background: transparent !important;
    border: none !important;
}

.yith-wcan-active-filter .remove:hover {
    opacity: 1 !important;
    background: transparent !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .yith-wcan-filter h3,
    .yith-wcan-filter .filter-title {
        font-size: 0.8125rem !important;
    }

    .yith-wcan-filters .yith-wcan-filter label,
    .yith-wcan-filters .yith-wcan-filter a.filter-item,
    .yith-wcan-filters .yith-wcan-filter span.filter-label {
        font-size: 0.75rem !important;
        padding: 0.4rem 0.875rem !important;
    }

    .yith-wcan-filter .count {
        font-size: 0.6875rem !important;
    }
}

/* === LOADING STATE === */
.yith-wcan-filters.loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
    position: relative !important;
}

.yith-wcan-filters.loading::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 2rem !important;
    height: 2rem !important;
    margin: -1rem 0 0 -1rem !important;
    border: 3px solid #f3f3f3 !important;
    border-top: 3px solid #1a1a1a !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
    z-index: 10 !important;
    background: transparent !important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* === FOCUS ACCESSIBILITY === */
.yith-wcan-filter input[type="checkbox"]:focus + label,
.yith-wcan-filter input[type="radio"]:focus + label {
    outline: 2px solid #1a1a1a !important;
    outline-offset: 2px !important;
}