.genre-subcategories { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .25rem; text-align: start; }
.genre-subcategories a, .genre-unfilled { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding: .45rem .6rem; border-radius: .5rem; overflow-wrap: anywhere; line-height: 1.45; font-size: .875rem; }
.genre-subcategories a { color: inherit; text-decoration: none; border: 1px solid transparent; }
.genre-subcategories a:hover, .genre-subcategories a:focus-visible { border-color: currentColor; background: rgb(128 128 128 / .08); }
.genre-subcategories a span, .genre-unfilled span { font-variant-numeric: tabular-nums; flex-shrink: 0; opacity: .7; }
.genre-unfilled { opacity: .48; }
.genre-subcategories-wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); margin-top: 0; }
.taxonomy-card:has(.genre-subcategories) { align-items: start; }
.taxonomy-card:has(.genre-subcategories) .teaser-body { min-width: 0; width: 100%; }
.genre-more { margin-top: .65rem; border-top: 1px solid var(--line); padding-top: .65rem; }
.genre-more summary { cursor: pointer; font-size: .875rem; padding: .35rem .6rem; }
.genre-more summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: .3rem; }
.genre-more .genre-subcategories { margin-top: .4rem; }
@media (max-width: 640px) { .genre-subcategories { gap: .1rem; } .genre-subcategories a, .genre-unfilled { padding-block: .6rem; } }
