/* Дополнения для упрощённой версии сайта: расписание, изменения, учителя. */

.core-links-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.core-link-card {
  position: relative;
  display: flex;
  min-height: 330px;
  flex-direction: column;
  overflow: hidden;
  padding: 32px;
  border-radius: var(--radius-xl);
  transition: transform .18s ease, box-shadow .18s ease;
}

.core-link-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
}

.core-link-card--schedule { background: #dfe3ff; }
.core-link-card--changes { background: var(--yellow-soft); }
.core-link-card--teachers { background: var(--mint); }

.core-link-card__number {
  position: absolute;
  top: 10px;
  right: 22px;
  color: rgba(31, 45, 87, .08);
  font-size: 94px;
  font-weight: 900;
  line-height: 1;
}

.core-link-card h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
  font-size: clamp(30px, 3vw, 43px);
}

.core-link-card p {
  position: relative;
  z-index: 1;
  max-width: 360px;
  margin-bottom: 28px;
  color: var(--muted);
}

.core-link-card > strong {
  position: relative;
  z-index: 1;
  margin-top: auto;
  color: var(--primary-dark);
  font-size: 14px;
}

.core-link-card--teachers > strong { color: var(--mint-ink); }
.core-link-card--changes > strong { color: var(--yellow-ink); }

.footer__inner--compact {
  grid-template-columns: minmax(280px, 1.3fr) minmax(180px, .7fr) minmax(180px, .7fr);
}

.teacher-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.teacher-chip {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  color: var(--ink-2);
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.teacher-chip.is-active {
  border-color: var(--primary);
  color: #fff;
  background: var(--primary);
}

.teacher-select-wrap {
  display: none;
}

.teacher-select-wrap label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.teacher-page .page-hero__panel {
  background: var(--mint);
}

.teacher-page .sync-status {
  color: var(--mint-ink);
  background: #e8f7f1;
}

.teacher-schedule-grid .lesson-name {
  font-weight: 800;
}

/* Крупное расписание звонков ---------------------------------- */

.bell-details--large {
  margin-top: 34px;
  border: 1px solid var(--line-strong);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.bell-details--large > summary {
  padding: 24px 28px;
  color: var(--ink);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
}

.bell-details--large .bell-details__content {
  gap: 22px;
  padding: 0 28px 28px;
}

.bell-details--large .bell-column {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface-soft);
}

.bell-details--large .bell-column h3 {
  margin-bottom: 16px;
  font-size: 24px;
}

.bell-details--large .bell-row {
  min-height: 54px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 18px;
}

.bell-details--large .bell-row:last-child {
  border-bottom: 0;
}

.bell-details--large .bell-row span {
  font-size: 17px;
  font-weight: 750;
}

.bell-details--large .bell-row span em {
  color: var(--muted);
  font-size: 15px;
  font-style: normal;
  font-weight: 750;
}

.bell-details--large .bell-row strong {
  font-size: 21px;
  font-weight: 900;
  letter-spacing: .01em;
}

@media (max-width: 980px) {
  .core-links-grid { grid-template-columns: 1fr; }
  .core-link-card { min-height: 250px; }
  .teacher-buttons { display: none; }
  .teacher-select-wrap { display: block; }
}

@media (max-width: 700px) {
  .core-link-card { padding: 26px; }
  .core-link-card__number { font-size: 70px; }

  .bell-details--large > summary {
    padding: 20px;
    font-size: 24px;
  }

  .bell-details--large .bell-details__content {
    grid-template-columns: 1fr;
    padding: 0 16px 20px;
  }

  .bell-details--large .bell-column {
    padding: 18px;
  }

  .bell-details--large .bell-column h3 {
    font-size: 22px;
  }

  .bell-details--large .bell-row {
    min-height: 50px;
    font-size: 17px;
  }

  .bell-details--large .bell-row strong {
    font-size: 19px;
  }
}
