/* The /games/ catalogue (2026-10-28): the existing case-card look in a list, plus the filter rows. */
.cat-grid { list-style: none; margin: 0; padding: 0 0 clamp(3rem, 7vw, 5rem); }
.cat-item[hidden], .cat-empty[hidden], .cat-filters[hidden] { display: none; }
.cat-item { display: flex; }
.cat-card { display: flex; flex-direction: column; width: 100%; gap: 0.45rem; }
.cat-card .poster-frame img { display: block; width: 100%; height: auto; aspect-ratio: 896 / 1206; object-fit: cover; }
.cat-card .case-link { display: block; }
.cat-line { margin: 0; font-size: 0.95rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.cat-chips, .cat-facts { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.cat-chips { align-items: flex-start; }
.cat-chips li { line-height: 1.2; font-size: 0.72rem; font-family: var(--mono); font-weight: 700; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 99px; border: 1px solid #6b4d10; background: rgba(0, 0, 0, 0.06); color: #3d2c0a; }
.cat-chips li[class^="cat-free"] { background: #2f6b2a; border-color: #2f6b2a; color: #fff; }
.cat-chips li.cat-coming-soon { background: #3d2c0a; border-color: #3d2c0a; color: #f6d878; }
.cat-chips li.cat-in-party-pack-01, .cat-chips li.cat-for-work { background: #f6d878; border-color: #6b4d10; color: #2a1c04; }
.cat-chips li.cat-daily { background: #1f4d6b; border-color: #1f4d6b; color: #fff; }
.cat-facts li { font-family: var(--mono); font-size: 0.78rem; color: #4a3a1c; }
.cat-facts li + li::before { content: "/"; margin-right: 0.35rem; opacity: 0.6; }
.cat-play { margin-top: auto; align-self: flex-start; }
.cat-filters { margin-bottom: 1.4rem; }
.cat-row .filter-label { min-width: 7.5rem; }
.cat-count { margin: 0; }
@media (max-width: 559px) { .cat-row .filter-label { min-width: 100%; } .cat-grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; } }
@media (max-width: 559px) { .cat-line { -webkit-line-clamp: 4; font-size: 0.85rem; } .cat-card .town { font-size: 1.05rem; } .cat-play { padding-inline: 0.8rem; } }
@media (max-width: 329px) { .cat-grid { grid-template-columns: 1fr; } }
@media (max-width: 559px) { .cat-facts { flex-direction: column; gap: 0.1rem; } .cat-facts li + li::before { content: none; } }
