/*
 * Sidebar Filter Widgets
 * Style guide tokens:
 * Primary  — #6366F1 (indigo-500), #4F46E5 (indigo-600), #E0E7FF (indigo-100), #EEF2FF (indigo-50)
 * Neutral  — #111827 (900), #6B7280 (500), #9CA3AF (400), #D1D5DB (300), #E5E7EB (200), #F3F4F6 (100)
 * Spacing  — 4px grid: 4 8 12 16 20 24px
 */

.widget { margin: 0 !important; padding: 0 !important; }

/* ── Global search ── */
.pf-global-search-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #F3F4F6 !important;
    border: 1.5px solid #E5E7EB !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin: 16px 16px 8px !important;
    box-sizing: border-box !important;
}
.pf-global-search {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
    color: #111827 !important;
    outline: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.pf-global-search::placeholder { color: #9CA3AF !important; }

/* ── Section ── */
.pf-section { border-bottom: 1px solid #E5E7EB !important; }
.pf-section:last-child { border-bottom: none !important; }

/* Section header */
.pf-section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 16px !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    text-align: left !important;
    gap: 8px !important;
    box-shadow: none !important;
}
.pf-section-header__title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #6B7280 !important;
    flex: 1 !important;
}
.pf-chevron {
    flex-shrink: 0 !important;
    color: #9CA3AF !important;
    transition: transform .2s ease !important;
}
.pf-section.is-open .pf-chevron { transform: rotate(180deg) !important; }

/* Section body */
.pf-section-body { padding: 4px 12px 16px !important; }
.pf-section-body[hidden] { display: none !important; }

/* ── List ── */
.pf-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.pf-item {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 6px !important;
    transition: background .12s !important;
}
.pf-item[hidden] { display: none !important; }
.pf-item:hover { background: #EEF2FF !important; }
.pf-item:hover .pf-checkbox { border-color: #818CF8 !important; }

/* ── Label row ── */
.pf-label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 9px 8px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 16px !important;
    margin: 0 !important;
}

/* ── Checkbox ── */
.pf-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border: 1.5px solid #D1D5DB !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: border-color .15s, background .15s !important;
    box-shadow: none !important;
}
.pf-checkbox:checked {
    background: #6366F1 !important;
    border-color: #6366F1 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: 10px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ── Radio (sort by) ── */
.pf-radio {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border: 1.5px solid #D1D5DB !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: border-color .15s, background .15s !important;
    box-shadow: none !important;
    position: relative !important;
}
.pf-radio:checked {
    border-color: #6366F1 !important;
}
.pf-radio:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #6366F1 !important;
}

/* ── Name + code grouped, count right ── */
.pf-label__name-group {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
}
.pf-label__text { flex-shrink: 1 !important; }

/* Code chip — indigo-100 bg, indigo-500 text */
.pf-label__code {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .4px !important;
    text-transform: uppercase !important;
    color: #6366F1 !important;
    background: #E0E7FF !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    flex-shrink: 0 !important;
}

/* Count */
.pf-label__count {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #9CA3AF !important;
    flex-shrink: 0 !important;
}

/* ── Show all results ── */
.pf-show-results {
    display: block !important;
    width: calc(100% - 32px) !important;
    margin: 12px 16px 20px !important;
    padding: 14px 24px !important;
    background: #6366F1 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background .15s !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}
.pf-show-results:hover {
    background: #4F46E5 !important;
    color: #fff !important;
}

/* ── Active Filters ── */
.pf-active-filters {
    padding: 12px 16px 16px !important;
}

/* Chips row */
.pf-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

/* Individual chip — style guide: outlined, indigo accent */
.pf-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 10px !important;
    background: #EEF2FF !important;
    border: 1px solid #C7D2FE !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #4338CA !important;
    text-decoration: none !important;
    transition: background .12s, border-color .12s !important;
    line-height: 1 !important;
}

.pf-chip:hover {
    background: #E0E7FF !important;
    border-color: #818CF8 !important;
    color: #3730A3 !important;
}

.pf-chip__label { flex-shrink: 1 !important; }

.pf-chip__remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 14px !important;
    height: 14px !important;
    background: #C7D2FE !important;
    border-radius: 50% !important;
    color: #4338CA !important;
    transition: background .12s !important;
}

.pf-chip:hover .pf-chip__remove {
    background: #818CF8 !important;
    color: #fff !important;
}

/* Clear filters button — Primary/50 fill, Primary/100 stroke, 8px radius */
.pf-clear-all {
    display: block !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: #EEF2FF !important;
    color: #4338CA !important;
    border: 1px solid #E0E7FF !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .15s, border-color .15s !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
}
.pf-clear-all:hover {
    background: #E0E7FF !important;
    border-color: #C7D2FE !important;
    color: #3730A3 !important;
}

/* Mobile drawer — disabled, handled separately */
.pf-overlay,
.pf-filter-trigger,
.pf-drawer-header { display: none !important; }
