/* Variables base */
:root {
  --tp2-bg: #f6f9fc;
  --tp2-card: #fff;
  --tp2-primary: #173e6d;
  --tp2-green: #e9f7ee;
  --tp2-radius: 16px;
  --tp2-shadow: 0 6px 18px rgba(17,24,39,.08);
  --tp2-hover-primary: #004b87;
}

/* Estilo base */
.tp2 {
  font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #0f172a;
}
.tp2 a {
  color: var(--tp2-primary);
  text-decoration: none;
}
.tp2 .tp2-card {
  background: var(--tp2-card);
  border-radius: var(--tp2-radius);
  box-shadow: var(--tp2-shadow);
  padding: 24px;
}
.tp2 .tp2-title {
  font-size: 1.1rem;
  margin: 0 0 8px;
  font-weight: 600;
}
.tp2 .tp2-desc {
  color: #334155;
  margin: 0 0 12px;
  line-height: 1.55;
}

/* Vendor Grid */
.tp2-vendors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
}
.tp2-card.vendor {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tp2-card-header {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tp2-logo {
  max-height: 36px;
  object-fit: contain;
}

.tp2-metrics {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}
.tp2-metrics .metric {
  background: #eef2ff;
  border-radius: 12px;
  padding: 12px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.tp2-metrics .metric.green {
  background: var(--tp2-green);
}
.tp2-metrics .n {
  font-weight: 700;
  font-size: 1.25rem;
}
.tp2-metrics .l {
  font-size: .85rem;
  opacity: .8;
}

/* Botones */
.tp2-card-footer {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.tp2-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 16px;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.tp2-btn.primary {
  background: #0f3b73;
  color: #fff;
  border-color: #0f3b73;
}
.tp2-btn.ghost {
  background: #fff;
}
.tp2-btn .ext {
  font-size: .9em;
  opacity: .8;
}

/* Tabs */
.tp2-tabs {
  display: flex;
  gap: 8px;
  margin: 8px 0;
}
.tp2-tab {
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  cursor: pointer;
}
.tp2-tab.active {
  background: var(--tp2-primary);
  border-color: var(--tp2-primary);
  color: #fff;
}
.tp2-tabpanels {
  background: var(--tp2-card);
  border-radius: var(--tp2-radius);
  box-shadow: var(--tp2-shadow);
  padding: 20px;
}
.tp2-tabpanel {
  display: none;
}
.tp2-tabpanel.active {
  display: block;
}

/* Sesiones */
.tp2-sessions {
  margin-top: 10px;
}
.tp2-session-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tp2-card.session .row {
  display: grid;
  grid-template-columns: 1fr 160px 160px;
  gap: 12px;
  align-items: center;
}
@media (max-width: 720px) {
  .tp2-card.session .row {
    grid-template-columns: 1fr;
  }
}
.tp2-card.session .date {
  font-weight: 600;
}
.tp2-card.session .meta {
  opacity: .8;
  margin-top: 4px;
}
.tp2-card.session .price .p {
  font-weight: 700;
  font-size: 1.05rem;
  text-align: right;
}
@media (max-width: 720px) {
  .tp2-card.session .price .p {
    text-align: left;
  }
}
