/**
 * Innomis Accordion CSS
 * Styles für das Ein- und Ausklappen der Filter-Panels
 * 
 * Version 2.2: UI-Optimierungen
 * - Standardmäßig geöffnete Panels
 * - Dynamische Sichtbarkeit der Select/Clear-Buttons
 * - Keine weiße Restfläche nach Schließen
 * - Kompaktere Listeneinträge
 * - Einheitlicher, kleiner Border-Radius (2px)
 */

/* Gemeinsame Design-Variablen */
:root {
    --innomis-border-radius: 1px;
}

:root:root {
    font-size: 16px !important;
    --space-scale: 1 !important; 
}


/* Panel-Animation und Basis-Stil */
.innomis-filter-content {
    overflow: hidden;
    transition: max-height 0.25s ease-in-out, opacity 0.2s ease-in-out;
    max-height: 0 !important;
    /* Standardmäßig unsichtbar - wird durch JS überschrieben */
    opacity: 0 !important;
    /* Standardmäßig ausgeblendet - wird durch JS überschrieben */
    display: none !important;
    /* Keine weiße Restfläche */
    margin: 0 !important;
    padding: 0 !important;
    /* Komplett unsichtbar */
    height: 0 !important;
    /* Sauberes Box-Modell */
    box-sizing: border-box;
    border-radius: var(--innomis-border-radius, 2px);
}

/* Geöffneter Zustand */
.innomis-filter-content.open {
    max-height: 1000px !important; /* Groß genug für alle Inhalte */
    opacity: 1 !important;
    display: block !important;
    height: auto !important;
}

/* Kompaktere Listeneinträge */
.innomis-filter-content ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.innomis-filter-content li {
    margin: 0 0 0.15rem !important; /* Minimaler vertikaler Abstand */
    padding: 0 !important;
    line-height: 1.25;
}

.innomis-filter-content li:last-child {
    margin-bottom: 0 !important; /* Kein Abstand nach dem letzten Element */
}

/* Checkbox-Labels kompakter */
.innomis-filter-content label {
    display: flex;
    align-items: center;
    font-size: 0.85rem; /* Noch kleinere Schrift */
    cursor: pointer;
    padding: 2px 0; /* Minimales Padding für bessere Klickbarkeit */
}

.innomis-filter-content input[type="checkbox"] {
    margin-right: 0.5rem;
    flex-shrink: 0;
}

/* Chevron-Animation */
.innomis-filter-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    color: #777;
}

.innomis-filter-arrow svg {
    width: 16px;
    height: 16px;
    transition: inherit;
}

.innomis-filter-arrow.open {
    transform: rotate(-180deg);
}

/* Aktiver Header-Zustand */
.innomis-filter-header {
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--innomis-border-radius, 2px);
}

.innomis-filter-header.active {
    background-color: var(--search-accordion-active, #f3f4f6);
    border-left: 3px solid var(--search-accent, #0063e5);
}

/* Styling für die Eintragsanzahl im Header */
.innomis-filter-title {
    flex: 1;
    margin-right: 0.5rem;
}

.innomis-entry-count {
    color: #6b7280; /* Dezentere Textfarbe */
    font-size: 0.9em;
    font-weight: normal;
    white-space: nowrap;
}

/* Button-Styling mit einheitlichem Border-Radius */
.innomis-search-button,
.innomis-search-reset,
.innomis-filter-content button {
    border-radius: var(--innomis-border-radius, 2px) !important;
}

/* Listeneinträge und andere UI-Elemente */
.innomis-search-item,
.innomis-search-filters-column .innomis-filter,
.innomis-search-input,
.innomis-search-select {
    border-radius: var(--innomis-border-radius, 2px) !important;
}

/* ===================================================================
 * Forced Filter Styles - Visuelle Kennzeichnung gesperrter Filter
 * =================================================================== */

/* Header-Styling für erzwungene Filter */
.innomis-filter-header.innomis-filter-forced {
    background-color: #f8fafc;
    border-left: 3px solid #64748b;
    position: relative;
}

.innomis-filter-header.innomis-filter-forced:hover {
    background-color: #f1f5f9;
}

/* Locked Badge im Header */
.innomis-forced-badge {
    margin-left: 8px;
    font-size: 12px;
    opacity: 0.7;
    cursor: help;
}

/* Erzwungene Checkbox-Items */
.innomis-forced-item {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    opacity: 0.8;
    position: relative;
}

.innomis-forced-item:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    background-color: #64748b;
    border-radius: 1px 0 0 1px;
}

/* Deaktivierte Checkboxen in erzwungenen Filtern */
.innomis-forced-checkbox {
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

.innomis-forced-checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Labels für erzwungene Items */
.innomis-forced-item .innomis-filter-label {
    cursor: not-allowed !important;
    color: #64748b !important;
    font-weight: 500;
}

/* Forced Indicator innerhalb des Labels */
.innomis-forced-indicator {
    font-size: 10px;
    margin-left: 4px;
    opacity: 0.6;
    cursor: help;
}

/* Tooltip-artige Verbesserungen */
.innomis-forced-badge[title]:hover,
.innomis-forced-indicator[title]:hover {
    opacity: 1;
}

/* Visueller Hinweis für Read-Only Charakter */
.innomis-filter-forced .innomis-filter-arrow {
    opacity: 0.5;
}

/* Spezielle Behandlung für Multi-Select in erzwungenen Filtern */
.innomis-filter-forced .innomis-filter-search-wrapper {
    display: none; /* Suchfeld ausblenden bei erzwungenen Filtern */
}

/* Hover-Effekte für erzwungene Items deaktivieren */
.innomis-forced-item:hover {
    background-color: #f8fafc !important;
    transform: none !important;
}
