/* Fixture — presentación visual de equipos y partidos */
.zone-teams-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.zone-teams-title i {
  color: var(--tennis-green, #2E8B57) !important;
}

.zone-teams-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 1.6rem !important;
  height: 1.6rem !important;
  padding: 0 8px !important;
  margin-left: auto !important;
  border-radius: 999px !important;
  background: var(--tennis-green, #2E8B57) !important;
  color: #fff !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

.fixture-teams-grid {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 10px !important;
}

.fixture-team-chip {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(46, 139, 87, 0.18) !important;
  background: linear-gradient(135deg, rgba(46, 139, 87, 0.04) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
  box-shadow: 0 2px 6px rgba(46, 139, 87, 0.06) !important;
  min-width: 0 !important;
}

.fixture-team-chip-icon {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(46, 139, 87, 0.12) !important;
  color: var(--tennis-green, #2E8B57) !important;
  font-size: 0.85rem !important;
}

.fixture-team-chip-name {
  font-weight: 600 !important;
  color: var(--gray-dark, #2C3E50) !important;
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

.fixture-empty-note {
  margin: 0 !important;
  color: #6c757d !important;
  font-size: 0.92rem !important;
}

.date-title {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.date-title-day {
  font-weight: 500 !important;
  opacity: 0.9 !important;
}

.date-title-sep {
  opacity: 0.55 !important;
}

.fixture-match-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.fixture-match-card {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 12px 16px !important;
  padding: 16px 18px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(46, 139, 87, 0.14) !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(46, 139, 87, 0.07) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.fixture-match-card:hover {
  box-shadow: 0 6px 18px rgba(46, 139, 87, 0.12) !important;
  transform: translateY(-1px) !important;
}

.fixture-match-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.fixture-match-local {
  text-align: right !important;
  align-items: flex-end !important;
}

.fixture-match-visitante {
  text-align: left !important;
  align-items: flex-start !important;
}

.fixture-match-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  background: rgba(46, 139, 87, 0.1) !important;
  color: var(--tennis-green, #2E8B57) !important;
}

.fixture-match-visitante .fixture-match-badge {
  background: rgba(255, 107, 53, 0.12) !important;
  color: var(--orange-sport, #FF6B35) !important;
}

.fixture-match-team {
  font-weight: 700 !important;
  color: var(--tennis-green-dark, #1B5E3A) !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

.fixture-match-vs {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, var(--orange-sport, #FF6B35) 0%, #FF8C42 100%) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 4px 10px rgba(255, 107, 53, 0.28) !important;
  flex-shrink: 0 !important;
}

.fixture-match-libre {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  background: rgba(46, 139, 87, 0.06) !important;
  color: #4a5568 !important;
  font-size: 0.85rem !important;
}

.fixture-match-libre i {
  color: var(--tennis-green, #2E8B57) !important;
}

@media (max-width: 768px) {
  .fixture-teams-grid {
    grid-template-columns: 1fr !important;
  }

  .fixture-match-card {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 14px !important;
  }

  .fixture-match-local,
  .fixture-match-visitante {
    text-align: center !important;
    align-items: center !important;
  }

  .fixture-match-vs {
    margin: 2px auto !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 0.68rem !important;
  }

  .fixture-match-team {
    font-size: 0.92rem !important;
  }

  .zone-teams-count {
    margin-left: 0 !important;
  }
}

/* Más espacio para listas largas de partidos en el acordeón */
.fixture-section .date-accordion-item.active .date-accordion-content {
  max-height: 8000px !important;
}
