/* Classe sul widget Carosello o sul contenitore: virtus-match-center.
 * Solo dati SportsPress. Sfondi, bordi, altezze, spazi, titoli e pulsanti
 * delle card restano nei controlli Elementor.
 */
.virtus-match-center {
  --virtus-match-text: #141414;
  --virtus-match-line: #a79d78;
  --virtus-match-logo: 76px;
  --virtus-match-center-column: 120px;
  --virtus-match-value-size: 36px;
}
/* Classe facoltativa sulla card con fondo scuro, non sullo shortcode. */
.virtus-match-center .virtus-match-card-dark {
  --virtus-match-text: #f4f1e9;
}
.virtus-match-center .sp-virtus,
.virtus-match-center .sp-template-event-blocks,
.virtus-match-center .sp-table-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  color: var(--virtus-match-text) !important;
  background: transparent !important;
}
.virtus-match-center .sp-table-wrapper { overflow: visible !important; }
.virtus-match-center table.sp-event-blocks {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--virtus-match-line) !important;
}
.virtus-match-center .sp-event-blocks :is(thead, .sp-event-title, .sp-event-matchday) {
  display: none !important;
}
.virtus-match-center .sp-event-blocks tbody tr td {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(var(--virtus-match-center-column), max-content) minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 18px 12px;
  width: 100% !important;
  min-height: 160px !important;
  height: auto !important;
  padding: 0 0 16px !important;
  float: none !important;
  position: relative !important;
  color: var(--virtus-match-text) !important;
  background: transparent !important;
  border: 0 !important;
}
.virtus-match-center .virtus-match-meta {
  position: static;
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--virtus-match-line) !important;
}
.virtus-match-center .virtus-match-meta :is(.virtus-match-competition, .virtus-match-round) {
  color: var(--virtus-match-text) !important;
  font-family: var(--vsp-font-body, inherit);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
  border: 0 !important;
}
.virtus-match-center .virtus-match-competition { display: inline-flex; align-items: center; gap: 8px; }
.virtus-match-center .virtus-match-round { text-align: right; opacity: .75; }
.virtus-match-center .virtus-match-competition-logo { width: 26px !important; height: 26px !important; object-fit: contain; }
.virtus-match-center .sp-event-blocks .team-logo {
  position: static !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 104px;
  max-height: none !important;
  margin: 0 !important;
}
.virtus-match-center .sp-event-blocks .team-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
}
.virtus-match-center .sp-event-blocks .team-logo img {
  width: var(--virtus-match-logo) !important;
  height: var(--virtus-match-logo) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: var(--virtus-match-logo) !important;
  object-fit: contain;
}
.virtus-match-center .sp-event-blocks .team-logo::after {
  content: attr(title);
  color: var(--virtus-match-text) !important;
  font-family: var(--vsp-font-body, inherit);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.virtus-match-center .logo-odd { grid-column: 1; grid-row: 2; }
.virtus-match-center .logo-even { grid-column: 3; grid-row: 2; }
.virtus-match-center .virtus-match-center-score {
  position: static;
  transform: none;
  grid-column: 2;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--virtus-match-text) !important;
}
.virtus-match-center .sp-event-blocks :is(.sp-event-date, .sp-event-results) {
  position: static !important;
  transform: none !important;
  width: auto;
  margin: 0 !important;
  color: var(--virtus-match-text) !important;
  font-family: var(--vsp-font-body, inherit) !important;
  text-align: center;
}
.virtus-match-center .sp-event-date .virtus-match-date { display: block; font-size: 20px !important; font-weight: 700; line-height: 1.3; }
.virtus-match-center .sp-event-date .virtus-match-time { display: block; margin-top: 7px; color: inherit !important; }
.virtus-match-center .sp-event-blocks .sp-event-results { margin-top: 8px !important; }
/* Un'unica tipografia per ora e punteggio: niente riduzione sul risultato. */
.virtus-match-center .sp-event-date .virtus-match-time,
.virtus-match-center .sp-event-blocks .sp-event-results {
  font-family: var(--vsp-font-body, inherit) !important;
  font-size: var(--virtus-match-value-size) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}
.virtus-match-center .sp-event-blocks .sp-result {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}
@media (max-width: 767px) {
  .virtus-match-center { --virtus-match-logo: 60px; --virtus-match-center-column: 100px; --virtus-match-value-size: 30px; }
  .virtus-match-center .sp-event-blocks tbody tr td { gap: 16px 8px; min-height: 148px !important; }
  .virtus-match-center .sp-event-blocks .team-logo::after { font-size: 11px; }
}

/* Facoltativo: aggiungere virtus-match-center-wide al SOLO widget Carosello.
 * Coppia desktop 64/36 SOLO con due slide e Slides da mostrare = 2.
 * Tablet/mobile, altri numeri di slide, loop attivo e altri caroselli sono nativi.
 */
@media (min-width: 1025px) {
  .virtus-match-center.virtus-match-center-wide:is([data-settings*='"slides_to_show":"2"'], [data-settings*='"slides_to_show":2,'], [data-settings*='"slides_to_show":2}']):not([data-settings*='"infinite":"yes"'], [data-settings*='"infinite":true']) .e-n-carousel > .swiper-wrapper:has(> .swiper-slide:nth-child(2)):not(:has(> .swiper-slide:nth-child(3))) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
    gap: 24px;
    transform: none !important;
    height: auto !important;
  }
  .virtus-match-center.virtus-match-center-wide:is([data-settings*='"slides_to_show":"2"'], [data-settings*='"slides_to_show":2,'], [data-settings*='"slides_to_show":2}']):not([data-settings*='"infinite":"yes"'], [data-settings*='"infinite":true']) .e-n-carousel > .swiper-wrapper:has(> .swiper-slide:nth-child(2)):not(:has(> .swiper-slide:nth-child(3))) > .swiper-slide {
    width: auto !important;
    margin-right: 0 !important;
    min-width: 0;
  }
}
