/* Native radios retain filtering and keyboard controls without JavaScript. */
.line-filter { padding: 28px 0; border-bottom: 1px solid var(--line); }
.filter-choice { position: relative; max-width: 100%; min-width: 0; cursor: pointer; }
.filter-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.filter-choice span { display: block; border: 1px solid var(--line); padding: 11px 17px; min-height: 44px; font-size: .86rem; overflow-wrap: anywhere; }
.filter-choice input:checked + span { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.filter-choice input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 5px; }
@media (max-width: 700px) { .line-filter { padding: 22px 0; } .filter-choice span { font-size: .82rem; padding: 10px 12px; } }
@media print { .line-filter { display: none; } }

.filter-count [data-count] { display: none; }
.line-filter:has(input[value="all"]:checked) [data-count="all"] { display: inline; }
.line-filter:has(input[value="forecasting-complexity"]:checked) [data-count="forecasting-complexity"] { display: inline; }
.line-filter:has(input[value="forecasting-complexity"]:checked) ~ .publication-group:not([data-group="forecasting-complexity"]) { display: none; }
.line-filter:has(input[value="financial-information"]:checked) [data-count="financial-information"] { display: inline; }
.line-filter:has(input[value="financial-information"]:checked) ~ .publication-group:not([data-group="financial-information"]) { display: none; }
.line-filter:has(input[value="explainability"]:checked) [data-count="explainability"] { display: inline; }
.line-filter:has(input[value="explainability"]:checked) ~ .publication-group:not([data-group="explainability"]) { display: none; }
.line-filter:has(input[value="gastronomy"]:checked) [data-count="gastronomy"] { display: inline; }
.line-filter:has(input[value="gastronomy"]:checked) ~ .publication-group:not([data-group="gastronomy"]) { display: none; }
