/* v1.3.2 — keep 1.3.1 look + add glossy shine + simple card hover */
.tc-wrapper { --tc-gap: 18px; }
.tc-title { margin-bottom: 12px; font-size: 1.5rem; text-align:center; }
.tc-tabs { display:flex; justify-content:center; border-bottom: 1px solid #e6eef5; margin-bottom: 16px; }
.tc-tabs__scroller { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.tc-tab { appearance:none; border:0; background:transparent; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:600; color:#3b5b7a; transition: color .2s ease, background .2s ease; }
.tc-tab:hover { color:#0b4e9a; background:#f1f6fd; }
.tc-tab.is-active { background:#e8f1fb; color:#0b4e9a; box-shadow: 0 8px 20px rgba(11,78,154,.08) }

.tc-panels { position:relative; }
.tc-panel { display:none; }
.tc-panel.is-active { display:block; }

/* Panel animation (from 1.3.1) */
.tc-panel.anim-show { display:block; }
.tc-panel.anim-enter { opacity:1; transform:none; }
.tc-panel.anim-leave { opacity:0; transform: translateY(8px); }
.tc-panel.anim-show, .tc-panel.anim-enter, .tc-panel.anim-leave { transition: opacity .28s ease, transform .28s ease; }
.tc-panel:not(.is-active){ opacity:0; transform: translateY(8px); }

/* Grid & card */
.tc-grid { display:grid; grid-template-columns: repeat(var(--tc-cols, 4), minmax(0,1fr)); gap: var(--tc-gap); }
.tc-card { background:#eaf3fb; border-radius:16px; padding:16px; box-shadow: 0 1px 0 rgba(5, 50, 95, 0.02); transition: transform .2s ease, box-shadow .2s ease, opacity .28s ease; opacity:0; transform: translateY(6px) scale(.98); }
.tc-panel.is-active .tc-card { opacity:1; transform:none; }
.tc-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(11,78,154,.10); }

/* Stagger reveal (from 1.3.1) */
.tc-panel.tc-stagger .tc-card { transition-delay: calc(var(--i, 0) * 45ms); }

/* Thumb + glossy shine */
.tc-thumb { display:flex; align-items:center; justify-content:center; background:#fff; border-radius:14px; overflow:hidden; aspect-ratio: 4/3; margin-bottom: 10px; padding: 12px; position:relative; }
.tc-thumb::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%);
}
.tc-card:hover .tc-thumb::after { animation: tc-shine .9s ease; }
@keyframes tc-shine { to { transform: translateX(120%); } }

.tc-thumb img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit: contain; object-position: center; display:block; }

/* Actions */
.tc-actions { margin-top:10px; display:flex; justify-content:flex-start; }
.tc-addtocart .button { background:#0b4e9a; color:#fff; border-radius:10px; padding:8px 12px; font-weight:700; font-size:12px; line-height:1; box-shadow: 0 6px 16px rgba(11,78,154,.14); transition: background .18s ease, box-shadow .18s ease; }
.tc-addtocart .button:hover { background:#0a3f7b; box-shadow: 0 10px 22px rgba(11,78,154,.18); }

.tc-card .tc-title { font-size: 14px; line-height:1.35; margin:8px 0 4px; font-weight:600; }
.tc-card .tc-title a { text-decoration:none; color:#073b62; }
.tc-price { color:#2a7d2e; font-weight:700; }

.tc-thumb__placeholder { width:100%; height:100%; background:#f6f7fb; }

@media (max-width: 900px){ .tc-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){
  .tc-grid { grid-template-columns: 1fr; }
  .tc-tab { padding:8px 10px; font-size: 14px; }
}
