/***********************************************
 *
 * Summary
 *
 ***********************************************/

.filters-sort-wrapper .table-filter-summary {
    flex: 1;
}

.table-filter-summary {
    display: flex;
    align-items: center;
    gap: 10px;
}

.table-filter-summary .state-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 5px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.025);
    font-family: 'Cinzel', serif;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--mist-dim);
    cursor: pointer;
    letter-spacing: 0.16em;
    transition: all 0.18s;
}

.table-filter-summary .state-button .material-symbols-outlined {
    font-size: 12px;
}

.table-filter-summary .state-button:hover {
    border-color: var(--border-hover);
    color: var(--cream);
    background: rgba(201, 148, 58, 0.05);
}

.table-filter-summary .state-button.active {
    border-color: rgba(201, 148, 58, 0.35);
    color: var(--gold-light);
    background: rgba(201, 148, 58, 0.08);
    box-shadow: 0 0 10px rgba(201, 148, 58, 0.08);
}

.table-filter-summary .filter-text, .table-filter-summary .filter-count {
    font-family: 'Crimson Pro', serif;
    font-size: 14px;
    font-style: italic;
}

.table-filter-summary .filter-text {
    color: var(--mist-dim);
}

.table-filter-summary .filter-count {
    color: var(--gold);
}

/***********************************************
 *
 * Filters row
 *
 ***********************************************/

.ent-list-table tr.filter-row {
    transition: all 0.5s ease-in-out;
    line-height: 0;
    background: none;
}

.ent-list-table tr.filter-row:not(.open) td > * {
    height: 0;
    padding: 0;
    opacity: 0;
}

.ent-list-table tr.filter-row:not(.open) td {
    padding: 0;
    opacity: 0;
}

.ent-list-table tr.filter-row td > *, .ent-list-table tr.filter-row td {
    transition: all 0.5s ease-in-out, opacity 0s ease-in;;
}

.ent-list-table .filter-row.open {
   line-height: 1;
}

.ent-list-table .filter-row td {
    padding: 8px 20px;
}

.inline-filters {
    display: none;
    margin-top: 20px;
    flex-direction: row;
    gap: 12px;
    align-items: center;
}

.inline-filters.open {
    display: flex;
}

.inline-filters .filter-separator {
    color: var(--mist-dim);
}

/***********************************************
 *
 * Filters actions
 *
 ***********************************************/

.ent-list-table .filter-row .filter-actions {
    text-align: right;
    white-space: nowrap;
}

.ent-list-table .filter-row .filter-actions a {
    font-family: Cinzel, serif;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--mist-dim);
    cursor: pointer;
    transition: color 0.18s;
}

.ent-list-table .filter-row .filter-actions a:hover {
    color: var(--gold);
}

.ent-list-table .filter-row .filter-actions span {
    color: var(--mist-dim);
    margin: 0 5px;
}

.inline-filters .filter-action {
    color: var(--mist-dim);
    text-transform: uppercase;
    font-family: Cinzel, serif;
    font-size: 12px;
    letter-spacing: 0.16em;
    cursor: pointer;
}

/***********************************************
 *
 * Header effect
 *
 ***********************************************/

.ent-list-table .filtered-column > * {
    display: flex;
    align-items: center;
    gap: 5px;
}

/***********************************************
 *
 * Filter indicator
 *
 ***********************************************/

.ent-list-table .filter-indicator, .table-filter-summary .filter-indicator {
    position: relative;
    height: 5px;
    width: 5px;
    padding-left: 5px;
}

.ent-list-table .filter-indicator::after, .table-filter-summary .filter-indicator::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--teal);
}

.ent-list-table .filter-indicator::before, .table-filter-summary .filter-indicator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid var(--teal);
    animation: dot-ripple 2s ease-out infinite;
}

@keyframes dot-ripple {
    0%   { width:5px; height:5px; opacity:0.7; }
    100% { width:12px; height:12px; opacity:0; }
}
