.circle {
    border-radius: 50%;
    overflow: hidden;
}

@media (max-width: 639px) {
  .hide-img-640 {
    display: none !important;
  }
}

.schedule-wrapper {
  font-family: "mont", Arial, sans-serif;
  font-size: 18px;
  width: 100%;
  overflow-x: auto;
  margin-bottom: 40px;
}

.schedule-loader {
  width: 100%;
  text-align: center;
  padding: 20px 0;
  font-size: 18px;
  color: #8554c5;
  font-weight: 600;
}

.schedule-table {
  display: none;
  background-color: #ffffff;
  width: 100%;
  box-sizing: border-box;
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}

.schedule-table th,
.schedule-table td {
  border: none;
  padding: 8px;
  vertical-align: top;
}

.schedule-table tr > * {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.schedule-table tbody tr > *:first-child {
  border-left: 1px solid #ddd;
}

.schedule-table thead th:first-child {
  border-left: 1px solid #8554c5;
}

.schedule-table thead th:last-child {
  border-right: 1px solid #8554c5;
}

.schedule-table thead tr:first-child > * {
  border-top: 1px solid #8554c5;
}

.schedule-table thead th {
  background-color: #8554c5;
  color: #ffffff;
  font-weight: 600;
  text-align: center;
  padding: 10px;
  border-bottom: 2px solid #6d3ea8;
  position: sticky;
  top: 0;
  z-index: 4;
}

.schedule-table th:first-child,
.schedule-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
}

.schedule-table thead th:first-child {
  z-index: 5;
}

.schedule-table tbody tr:nth-child(odd) td {
  background-color: #f8fafc;
}

.schedule-table tbody tr:nth-child(even) td {
  background-color: #ffffff;
}

.schedule-table tbody tr:hover td {
  background-color: #f4f7fa;
  transition: background-color 0.2s ease;
}

.lesson-block {
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  border: 1px solid transparent;
}

.lesson-title {
  font-weight: 600;
  font-size: 16px;
  color: #111827;
}

.lesson-time,
.lesson-age,
.lesson-coach {
  font-size: 14px;
  color: #4b5563;
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 1199px) {
  .schedule-wrapper {
    font-size: 17px;
  }
  .schedule-table th,
  .schedule-table td {
    font-size: 15px;
    padding: 7px;
  }
  .lesson-title {
    font-size: 15px;
  }
  .lesson-time,
  .lesson-age,
  .lesson-coach {
    font-size: 13px;
  }
}

@media (max-width: 959px) {
  .schedule-wrapper {
    font-size: 16px;
  }
  .schedule-table th,
  .schedule-table td {
    font-size: 14px;
    padding: 6px;
  }
  .lesson-title {
    font-size: 14px;
  }
  .lesson-time,
  .lesson-age,
  .lesson-coach {
    font-size: 12px;
  }
}

@media (max-width: 639px) {
  .schedule-wrapper {
    font-size: 14px;
  }
  .schedule-table th,
  .schedule-table td {
    font-size: 12px;
    padding: 5px;
  }
  .lesson-title {
    font-size: 13px;
  }
  .lesson-time,
  .lesson-age,
  .lesson-coach {
    font-size: 11px;
  }
}


/* Карточки занятий */
.type-crossfit_7_16 {
  border-color: #4ED1A1;
  background: #E6FFF4;
}

.type-crossfit_12_16 {
  border-color: #B4AEE8;
  background: #F1F0F7;
}

.type-crossfit_3_6 {
  border-color: #8BB7FF;
  background: #E3EFFF;
}

.type-crossfit_7_12 {
  border-color: #5BB1E3;
  background: #EAF7FF;
}

.type-sfp {
  border-color: #FFD43B;
  background: #FFF9DB;
}

.type-crossfit {
  border-color: #FF6F61;
  background: #FFF0EB;
}

.type-fitness_55 {
  border-color: #8BCF5A;
  background: #F1FBEA;
}

.type-healthy_back {
  border-color: #6FA8FF;
  background: #EEF6FF;
}

.type-fitness_12_16 {
  border-color: #A3B86C;
  background: #F6F8EC;
}

.type-fitness_3_6 {
  border-color: #9C8ADE;
  background: #F4F1FA;
}

.type-fitness_7_11 {
  border-color: #D7B279;
  background: #F9F4EC;
}

.type-fitness_7_12 {
  border-color: #FFA64D;
  background: #FFEBD2;
}

.type-healthy_back_10 {
  border-color: #6FA8FF;
  background: #EEF6FF;
}

.type-neurogym_1_2 {
  border-color: #B39DDB;
  background: #F8F5FF;
}

.type-neurogym_2_3 {
  border-color: #6FA8FF;
  background: #EEF6FF;
}

.type-roller_club {
  border-color: #0F5C45;
  background: #E6F1EC;
}

.type-body_sculpt {
  border-color: #D6AF72;
  background: #FFF5E4;
}

.type-stretching {
  border-color: #8BCF5A;
  background: #F1FBEA;
}

.type-beautyfit {
  border-color: #FF6F61;
  background: #FFF0EB;
}