.tt-clist { line-height: 1.5; display: flex; flex-direction: column; padding: var(--tt-clist-pt) 40px var(--tt-clist-pb); background: var(--tt-clist-bg, #ffffff); }
.tt-clist__inner { display: flex; flex-direction: column; width: 100%; max-width: 1480px; margin: 0 auto; }
.tt-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 16px; width: 100%; margin-bottom: 22px; }
.tt-sec-head__title { margin: 0; line-height: 1.5; color: #0A1628; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.tt-sec-head__link { flex-shrink: 0; color: #4F46E5; font-size: 14px; font-weight: 700; text-decoration: none; }
.tt-sec-empty { margin: 0; padding: 36px 16px; background: #F7F8FA; border-radius: 10px; color: #5A6B7B; font-size: 14px; text-align: center; }
.tt-clist__grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 20px; }
.tt-clist__card { display: flex; flex-direction: column; align-items: center; gap: 13px; padding: 4px 0; color: inherit; text-decoration: none; }
.tt-clist__media { position: relative; width: 100%; aspect-ratio: 1 / 1; background: #F1F3F7; box-shadow: inset 0 0 0 1px rgba(10,22,40,0.05); overflow: hidden; }
.tt-clist__media--circle { border-radius: 50%; } .tt-clist__media--square { border-radius: 12px; }
.tt-clist__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-clist__fallback { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; margin: 0; padding: 0 12px; background: #E7EAF0; color: #0A1628; font-size: 13px; font-weight: 700; text-align: center; }
.tt-clist__name { display: -webkit-box; margin: 0; line-height: 1.5; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; color: #0A1628; font-size: 14px; font-weight: 700; letter-spacing: -0.01em; text-align: center; }
@media (max-width: 1024px) { .tt-clist__grid { grid-template-columns: repeat(var(--tcols), minmax(0, 1fr)); } }
@media (max-width: 640px) { .tt-clist { padding-left: 12px; padding-right: 12px; } .tt-clist .tt-sec-head__title { font-size: var(--tt-head-m); } .tt-clist__grid { grid-template-columns: repeat(var(--mcols), minmax(0, 1fr)); gap: 14px 8px; } }
