/* ==========================================
   PUCHAŁKA FILTERS — WYGLĄD PANELU
   ========================================== */


/* ==========================================
   KONTENER CAŁEGO PANELU
   ========================================== */

.ps-filters-wrapper {
    position: relative;
    width: 100%;

    padding: 20px;

    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}


/* ==========================================
   ZAWARTOŚĆ FILTRÓW
   ========================================== */

/*
 * Bez ograniczenia wysokości, bez ukrywania
 * elementów i bez gradientu na dole.
 *
 * Zwijanie filtrów do niskiej belki podczas
 * przewijania obsługuje wtyczka PS Toolkit.
 */

.ps-filters-content {
    position: relative;
    width: 100%;

    max-height: none;
    overflow: visible;

    background: transparent;
    mask-image: none;
    -webkit-mask-image: none;
}


/*
 * Wyłączenie ewentualnych starych nakładek
 * i gradientów.
 */

.ps-filters-content::before,
.ps-filters-content::after {
    display: none !important;
    content: none !important;
    background: none !important;
}


/* ==========================================
   UKŁAD KOLUMNOWY FILTRÓW
   ========================================== */

.ps-brand-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    gap: 40px;
}


/* Pojedyncza sekcja filtra */

.ps-filter-section {
    flex: 0 1 auto;
    min-width: 180px;
}


/* ==========================================
   NAGŁÓWKI FILTRÓW
   ========================================== */

.ps-filter-section h4 {
    margin: 0 0 12px;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.04em;

    color: #333333;
}


/* ==========================================
   OPCJE FILTRÓW I CHECKBOXY
   ========================================== */

.ps-brand-filter label {
    display: flex !important;
    align-items: center;

    gap: 8px;
    padding: 6px 0;

    cursor: pointer;

    font-size: 14px;
    line-height: 1.35;

    color: #444444;

    opacity: 1;
    filter: none;
}


/* Checkbox */

.ps-brand-filter input[type="checkbox"] {
    flex: 0 0 auto;

    width: 16px;
    height: 16px;
    margin: 0;

    accent-color: #111111;
}


/* Hover dostępnej opcji */

.ps-brand-filter label:hover {
    color: #000000;
}


/*
 * Ostatni element każdej kolumny ma wyglądać
 * dokładnie tak samo jak pozostałe.
 */

.ps-filter-section label:last-child,
.ps-filter-section > :last-child {
    opacity: 1;
    filter: none;
    mask-image: none;
    -webkit-mask-image: none;
}


/* ==========================================
   LICZBA PRODUKTÓW
   ========================================== */

.ps-filter-option-content {
    display: inline-flex;
    align-items: baseline;

    gap: 5px;
}


.ps-filter-option-count {
    font-size: 0.85em;
    font-weight: 400;
    white-space: nowrap;

    opacity: 0.55;
}


/* ==========================================
   HIERARCHIA KATEGORII
   ========================================== */

.ps-category-option {
    position: relative;
}


/*
 * Kategorie główne:
 * bez pogrubienia i bez przesunięcia.
 */

.ps-category-depth-0 {
    padding-left: 0;
    font-weight: 400;
}


/* Podkategorie pierwszego poziomu */

.ps-category-depth-1 {
    padding-left: 12px !important;
}


/* Podkategorie drugiego poziomu */

.ps-category-depth-2 {
    padding-left: 24px !important;
}


/* Podkategorie trzeciego poziomu */

.ps-category-depth-3 {
    padding-left: 36px !important;
}


/* Delikatna kreska przed podkategorią */

.ps-category-option:not(.ps-category-depth-0)::before {
    content: "–";

    position: absolute;
    left: 0;

    opacity: 0.45;
}


/* Położenie kreski na kolejnych poziomach */

.ps-category-depth-2::before {
    left: 12px;
}


.ps-category-depth-3::before {
    left: 24px;
}


/* ==========================================
   STARY PRZYCISK ROZWIJANIA
   ========================================== */

/*
 * Przycisku nie używamy już w obecnej wersji.
 * Ukrywamy go na wypadek, gdyby pozostał
 * w pamięci podręcznej lub starym HTML-u.
 */

.ps-filters-toggle,
.ps-filters-toggle-icon {
    display: none !important;
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {

    .ps-filters-wrapper {
        padding: 16px;
    }


    .ps-brand-filter {
        flex-direction: column;
        gap: 20px;
    }


    .ps-filter-section {
        width: 100%;
        min-width: 0;
    }
}