/* Category tiles */
.category-grid__list { display: grid; grid-template-columns: repeat(var(--cat-cols, 6), minmax(0, 1fr)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.category-grid__list > li { border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); margin: 0 -1px -1px 0; }
.category-tile { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); padding: var(--space-5) var(--space-3); text-align: center; height: 100%; transition: background-color .15s ease; }
.category-tile:hover { background: var(--color-bg-soft); color: inherit; }
.category-tile__media { width: 96px; height: 96px; display: grid; place-items: center; margin-bottom: var(--space-2); }
.category-tile__media img { width: 100%; height: 100%; object-fit: contain; }
.category-tile__icon { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary); transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.category-tile__icon .icon { width: 34px; height: 34px; stroke-width: 1.6; }
.category-tile:hover .category-tile__icon { background: var(--color-primary); color: #fff; transform: translateY(-2px); }
.category-tile__initial { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--fs-xl); font-weight: var(--fw-bold); }
.category-tile__name { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.category-tile__count { font-size: var(--fs-xs); color: var(--color-muted); }

@media (max-width: 1024px) { .category-grid__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .category-grid__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
