/* ============================================================
   Barre de filtrage catalogue - partagée admin + viewer
   Repose sur les variables --bg/--surface/--border/--text/--text-muted/--accent
   déjà définies dans admin.css et viewer.css.
   ============================================================ */

.filter-bar {
    margin-bottom: 20px;
}

.filter-details {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 0;
}

.filter-details summary {
    cursor: pointer;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.filter-details summary::-webkit-details-marker { display: none; }
.filter-details summary::before {
    content: '▸';
    font-size: 11px;
    transition: transform 0.15s ease;
}
.filter-details[open] summary::before { transform: rotate(90deg); }

.filter-active-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    padding: 4px 16px 16px;
    border-top: 1px solid var(--border);
}

.filter-field label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
    margin: 10px 0 5px;
}
.filter-field:first-child label,
.filter-grid label { margin-top: 0; }

.filter-field input,
.filter-field select {
    width: 100%;
    max-width: none;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    background: #FCFCFD;
    font-family: inherit;
}

.filter-range-inputs {
    display: flex;
    align-items: center;
    gap: 6px;
}
.filter-range-inputs input { width: 0; flex: 1; }
.filter-range-inputs span { color: var(--text-muted); font-size: 12px; }

.filter-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px 16px;
}

.btn-filter-apply {
    padding: 8px 18px;
    background: var(--text);
    color: var(--surface);
    border: none;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.btn-filter-apply:hover { background: var(--accent); }

.btn-filter-reset {
    font-size: 13px;
    color: var(--text-muted);
    text-decoration: none;
}
.btn-filter-reset:hover { color: var(--error); }

.result-count {
    font-size: 12px;
    color: var(--text-muted);
    margin: 0 0 12px;
}
