/* Filter layouts for Programs and record collections. Unlayered so the standalone theme's element resets cannot flatten them. */
.edzen-el[data-filters] { display: grid; align-items: start; gap: 1.5rem 3rem; }
.edzen-el[data-filters="sidebar"] { grid-template-columns: minmax(0, 1fr); }
.edzen-el[data-filters] > * { grid-column: 1 / -1; min-inline-size: 0; }
@media (min-width: 64rem) {
 .edzen-el[data-filters="sidebar"] { grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); }
 .edzen-el[data-filters="sidebar"]::before { content: ""; grid-column: 1 / -1; grid-row: 1; }
 .edzen-el[data-filters="sidebar"] > .edzen-el-title { grid-row: 1; }
 .edzen-el[data-filters="sidebar"] > .edzen-el-filters { grid-column: 1; grid-row: 2 / span 12; position: sticky; inset-block-start: 6.5rem; }
 .edzen-el[data-filters="sidebar"] > :not(.edzen-el-title):not(.edzen-el-filters) { grid-column: 2; }
}
.edzen-el-filters--sidebar, .edzen-el-filters--bar { display: grid; gap: 1.5rem; margin: 0; max-inline-size: none; padding: 1.5rem; background: var(--edzen-color-surface-alt, #f3f6fa); border: 0; border-radius: 0; }
.edzen-el-filters--sidebar { align-content: start; }
.edzen-el-filters--bar { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); align-items: end; }
.edzen-el-filters--sidebar label:not(.edzen-el-filter-group label), .edzen-el-filters--bar label:not(.edzen-el-filter-group label) { display: block; margin: 0 0 0.375rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edzen-color-text, #3a4f66); }
.edzen-el-filters--sidebar input[type="search"], .edzen-el-filters--sidebar select, .edzen-el-filters--bar input[type="search"], .edzen-el-filters--bar select { inline-size: 100%; min-block-size: 3rem; padding: 0.625rem 0.875rem; font: inherit; color: var(--edzen-color-heading, #14202b); background: var(--edzen-color-surface, #fff); border: 1px solid var(--edzen-color-border, #d4dbe3); border-radius: 0; }
.edzen-el-filters--sidebar input[type="search"]:focus-visible, .edzen-el-filters--sidebar select:focus-visible, .edzen-el-filters--bar input[type="search"]:focus-visible, .edzen-el-filters--bar select:focus-visible { outline: 2px solid var(--edzen-color-primary, #0d4a3b); outline-offset: 1px; }
.edzen-el-filter-group { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.edzen-el-filter-group legend { padding: 0; margin: 0 0 0.625rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edzen-color-text, #3a4f66); }
.edzen-el-filter-group ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-block-start: 1px solid var(--edzen-color-border, #d4dbe3); }
.edzen-el-filter-group li { margin: 0; border-block-end: 1px solid var(--edzen-color-border, #d4dbe3); }
.edzen-el-filter-group input[type="radio"] { position: absolute; opacity: 0; inline-size: 1px; block-size: 1px; }
.edzen-el-filter-group li { position: relative; }
.edzen-el-filter-group label { display: flex; align-items: center; gap: 0.75rem; min-block-size: 2.75rem; padding: 0.5rem 0.75rem; margin: 0; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--edzen-color-heading, #14202b); cursor: pointer; border-inline-start: 3px solid transparent; transition: background-color 0.2s ease, border-color 0.2s ease; }
.edzen-el-filter-group label::before { content: ""; flex: none; inline-size: 0.875rem; block-size: 0.875rem; border: 2px solid var(--edzen-color-text, #3a4f66); border-radius: 50%; }
.edzen-el-filter-group label:hover { background: var(--edzen-color-surface, #fff); }
.edzen-el-filter-group input:checked + label { font-weight: 700; background: var(--edzen-color-surface, #fff); border-inline-start-color: var(--edzen-color-primary, #0d4a3b); }
.edzen-el-filter-group input:checked + label::before { background: var(--edzen-color-primary, #0d4a3b); border-color: var(--edzen-color-primary, #0d4a3b); box-shadow: inset 0 0 0 2px var(--edzen-color-surface, #fff); }
.edzen-el-filter-group input:focus-visible + label { outline: 2px solid var(--edzen-color-primary, #0d4a3b); outline-offset: -2px; }
.edzen-el-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; }
.edzen-el-filter-actions .edzen-el-btn { margin: 0; min-block-size: 3rem; }
html.edzen-filters-live .edzen-el-filters--sidebar .edzen-el-filter-actions .edzen-el-btn, html.edzen-filters-live .edzen-el-filters--bar .edzen-el-filter-actions .edzen-el-btn { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.edzen-el-filter-clear { display: inline-flex; align-items: center; min-block-size: 2.75rem; font-weight: 600; color: var(--edzen-color-primary, #0d4a3b); text-underline-offset: 0.25em; }
.edzen-el-filters--bar .edzen-el-filter-actions { align-self: end; }
@media (prefers-reduced-motion: reduce) { .edzen-el-filter-group label { transition: none; } }

/* Touch and small screens: option lists become one scrolling row, so results stay near the top. */
@media (max-width: 63.99rem) {
 .edzen-el-filters--sidebar { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); padding: 1.25rem; gap: 1rem; }
 .edzen-el-filters--sidebar .edzen-el-filter-group, .edzen-el-filters--sidebar .edzen-el-filter-actions { grid-column: 1 / -1; }
 .edzen-el-filter-group ul { display: flex; gap: 0.5rem; overflow-x: auto; padding-block-end: 0.25rem; border: 0; scroll-snap-type: x proximity; scrollbar-width: thin; }
 .edzen-el-filter-group li { flex: none; border: 0; scroll-snap-align: start; }
 .edzen-el-filter-group label { min-block-size: 2.75rem; padding: 0.5rem 1rem; white-space: nowrap; background: var(--edzen-color-surface, #fff); border: 1px solid var(--edzen-color-border, #d4dbe3); border-inline-start-width: 1px; }
 .edzen-el-filter-group label::before { display: none; }
 .edzen-el-filter-group input:checked + label { color: var(--edzen-color-on-primary, #fff); background: var(--edzen-color-primary, #0d4a3b); border-color: var(--edzen-color-primary, #0d4a3b); }
}
