.wsrl-research-library {
    max-width: 100%;
}

/* --- Filters --- */

.wsrl-filters {
    margin-bottom: 2em;
    padding: 0;
    background: none;
}

.wsrl-filter-label {
    font-weight: 600;
    margin-bottom: 0.25em;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.wsrl-filter-group {
    margin-bottom: 0.5em;
}

.wsrl-filter-group-label {
    display: block;
    margin-bottom: 0.25em;
}

a.entry-tags.active {
    outline: 3px solid #354253;
    outline-offset: 2px;
}

.wsrl-clear-filters {
    margin-top: 0.75em;
    padding: 0.3em 0.75em;
    border: none;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: 0.8em;
    cursor: pointer;
    text-decoration: underline;
    opacity: 0.6;
}

.wsrl-clear-filters:hover {
    opacity: 1;
}

/* --- Results Info --- */

.wsrl-results-info {
    font-size: 0.85em;
    opacity: 0.6;
    margin-bottom: 1.5em;
}

/* --- Citation Groups --- */

.wsrl-post-group {
    margin-bottom: 2em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.wsrl-post-group:last-child {
    border-bottom: none;
}

.wsrl-post-title {
    font-size: 1.1em;
    margin-bottom: 0.4em;
}

.wsrl-post-title a {
    color: inherit;
    text-decoration: none;
}

.wsrl-post-title a:hover {
    text-decoration: underline;
}

.wsrl-post-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em;
    margin-bottom: 0.75em;
}

.wsrl-term-badge {
    display: inline-block;
    font-size: 0.75em;
    padding: 0.15em 0.55em;
    border-radius: 12px;
    background: var(--color-alt-bg, #f0f0f0);
    opacity: 0.7;
}

/* --- Citation List --- */

.wsrl-citation-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wsrl-citation {
    padding: 0.4em 0;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
    font-size: 0.9em;
    line-height: 1.4;
}

.wsrl-citation:first-child {
    border-top: none;
}

.wsrl-citation-text {
    display: inline;
}

.wsrl-citation-source {
    display: inline;
    font-style: italic;
    opacity: 0.6;
}

.wsrl-citation-link {
    display: inline;
    margin-left: 0.3em;
    font-size: 0.85em;
    opacity: 0.6;
}

.wsrl-citation-link:hover {
    opacity: 1;
}

.wsrl-citation-parent {
    display: block;
    font-size: 0.85em;
    opacity: 0.5;
    margin-top: 0.15em;
}

/* --- Loading State --- */

.wsrl-results.loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* --- No Results --- */

.wsrl-no-results {
    padding: 2em;
    text-align: center;
    opacity: 0.5;
}
