/* Container */
.tcc-wrap { position: relative; }

/* Grid */
.tcc-grid { display: grid; gap: var(--tcc-gap, 16px); grid-template-columns: repeat(var(--tcc-cols-desktop,4), 1fr); }
@media (max-width: 1023px){ .tcc-grid { grid-template-columns: repeat(var(--tcc-cols-tablet,2), 1fr); } }
@media (max-width: 767px){  .tcc-grid { grid-template-columns: repeat(var(--tcc-cols-mobile,1), 1fr); } }

/* Carousel structure: equal-height cards */
.tcc-swiper .swiper-wrapper { align-items: stretch; }
.tcc-swiper .swiper-slide { height: auto; }
.tcc-card { height: 100%; display:flex; flex-direction:column; background:#fff; border:1px solid #e8e8e8; border-radius:16px; overflow:hidden; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.tcc-body { padding:16px; margin-top:auto; }

/* Photo */
.tcc-photo { height:180px; background:#f6f6f6; display:flex; align-items:center; justify-content:center; overflow:hidden; flex:0 0 auto; }
.tcc-photo img { width:100%; height:100%; object-fit:var(--tcc-fit, cover); object-position:center center; display:block; }
.tcc-photo--ph { width:100%; height:100%; background:linear-gradient(135deg,#f0f0f0,#eaeaea); }

/* Socials bar */
.tcc-socials { display:flex; gap:16px; align-items:center; padding:10px 14px; background:#0f0f2a; color:#fff; font-weight:600; letter-spacing:.06em; text-transform:uppercase; flex:0 0 auto; }
.tcc-socials a, .tcc-socials a:hover { color:inherit; text-decoration:none; } /* remove underline */
.tcc-marquee { overflow:hidden; }
.tcc-marquee .tcc-scroller { display:flex; width:max-content; gap:var(--tcc-gap,16px); animation: tcc-marquee var(--tcc-speed,30s) linear infinite; }
.tcc-marquee-loop .tcc-scroller { min-width: 200%; } /* ensure no big gap */
.tcc-marquee .tcc-social-link { flex: 0 0 auto; white-space: nowrap; }
@keyframes tcc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Name & role */
.tcc-role { color:#444; font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; margin:8px 0 6px; }
.tcc-name { color:#b1150f; font-size:1.5rem; line-height:1.2; margin:0; font-weight:800; }

/* Carousel nav — left/right chevrons centered vertically */
.tcc-nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:999px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.12); cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; }
.tcc-prev { left:6px; }
.tcc-next { right:6px; }
.tcc-nav::before { content:''; width:12px; height:12px; border-right:2px solid #222; border-bottom:2px solid #222; display:block; }
.tcc-prev::before { transform: rotate(135deg); } /* left arrow */
.tcc-next::before { transform: rotate(-45deg); } /* right arrow */

/* Hide helpers for toggles */
.is-hidden { display:none !important; }

/* Dots BELOW the cards */
.tcc-wrap .tcc-dots.swiper-pagination { position: static !important; bottom: auto !important; left: auto !important; width: 100%; margin-top: 12px; text-align:center; z-index: 1; }
.tcc-wrap .tcc-dots .swiper-pagination-bullet { opacity: .7; background:#999; }
.tcc-wrap .tcc-dots .swiper-pagination-bullet-active { opacity: 1; background:#333; }
