/* Classic TaLim Default "All categories" (measured from the classic storefront, 29 Oct 2026). */
.tt-cats { line-height: 1.5; background: #ffffff; color: #0A1628; }
.tt-cats__intro { padding: 44px 40px 18px; }
.tt-cats__title { margin: 0; color: #0A1628; font-size: 36px; font-weight: 800; line-height: 1.5; letter-spacing: -0.03em; }
.tt-cats__sub { margin: 7px 0 0; color: #5A6B7B; font-size: 15px; }
.tt-cats__body { padding: 6px 40px 72px; }
.tt-cats__count { display: flex; gap: 5px; margin: 0 0 20px; font-size: 15px; line-height: 1.5; }
.tt-cats__count b { font-weight: 700; }
.tt-cats__count span { color: #5A6B7B; }
.tt-cats__grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 22px; margin-bottom: 1px; } /* classic: a 1px marker under the grid */
.tt-cats__tile { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #0A1628; border-radius: 12px; color: #0A1628; text-decoration: none; }
.tt-cats__img, .tt-cats__tile img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.tt-cats__fade { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; padding: 22px 18px 18px; background: linear-gradient(180deg, rgba(10,22,40,0), rgba(10,22,40,0.82)); }
.tt-cats__name { display: -webkit-box; margin: 0; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; color: #ffffff; font-size: 18px; font-weight: 800; line-height: 1.25; letter-spacing: normal; text-align: center; }
.tt-cats__desc { display: -webkit-box; margin: 0; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; color: rgba(255,255,255,0.88); font-size: 12.5px; line-height: 1.45; text-align: center; }
.tt-cats__fallback { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0 12px; background: #0A1628; color: #ffffff; font-size: 13px; font-weight: 700; line-height: 1.3; text-align: center; }
.tt-cats__empty { margin: 0; padding: 36px 16px; background: #F7F8FA; border-radius: 10px; color: #5A6B7B; font-size: 14px; text-align: center; }
@media (max-width: 1024px) { .tt-cats__grid { grid-template-columns: repeat(var(--tcols), minmax(0, 1fr)); } .tt-cats__count { font-size: 12.5px; } }
@media (max-width: 640px) {
  .tt-cats__intro { padding: 44px 14px 18px; }
  .tt-cats__body { padding: 6px 14px 72px; }
  .tt-cats__title { font-size: 27px; }
  .tt-cats__grid { grid-template-columns: repeat(var(--mcols), minmax(0, 1fr)); gap: 14px; }
}
