.teacher-row {
  grid-template-columns: 176px minmax(0, 1fr) 150px;
}

.course-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 18px;
}

.course-tabs button {
  min-width: 170px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font: 700 16px/1.5 Vazirmatn, sans-serif;
  cursor: pointer;
}

.course-tabs button span {
  margin-right: 8px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.course-tabs button.active {
  border-color: #c4ff4d;
  background: #c4ff4d;
  color: #201a2b;
}

.course-tabs button.active span { color: #594d31; }
.course-tabs button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.teacher-index {
  width: 176px;
  height: 176px;
  border-radius: 50%;
}

.photo-pending {
  background: radial-gradient(circle at 35% 30%, #f1e9ff 0 18%, transparent 19%), linear-gradient(145deg, #eee6fb, #ddd0f3);
  border: 1px dashed #a989d1;
  color: #654091;
  text-align: center;
}

.teacher-index.photo-pending .teacher-monogram,
.profile-portrait.photo-pending .teacher-monogram {
  font: 800 46px/1 Vazirmatn, sans-serif;
  letter-spacing: -4px;
}

.teacher-index.photo-pending span,
.profile-portrait.photo-pending span {
  max-width: 110px;
  font-size: 11px;
  line-height: 1.5;
}

.profile-portrait.photo-pending {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.profile-portrait {
  width: 300px;
  height: 300px;
}

.teacher-index.has-photo img,
.profile-portrait img {
  transform: translateY(var(--portrait-shift, 0%)) scale(var(--portrait-scale, 1.08));
  transform-origin: center bottom;
}

.teacher-index.has-photo img[src$="/babak-sadat.png"],
.profile-portrait img[src$="/babak-sadat.png"] {
  transform: translateY(14%) scale(1.05);
}

.teacher-index.has-photo img.source-photo,
.profile-portrait img.source-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--portrait-position, center);
  transform: scale(var(--source-scale, 1));
  transform-origin: var(--source-origin, center);
}

.teacher-index.has-photo img.source-photo[src$="/majid-moshfeghi.jpg"],
.profile-portrait img.source-photo[src$="/majid-moshfeghi.jpg"] {
  transform: scale(1.9);
  transform-origin: 24% 42%;
}

.teacher-index.has-photo img.source-photo[src$="/omid-salmani.webp"],
.profile-portrait img.source-photo[src$="/omid-salmani.webp"] {
  transform: scale(2.3);
  transform-origin: 18% 10%;
}

.teacher-index.has-photo img.source-photo[src$="/kazem-ajlali.webp"],
.profile-portrait img.source-photo[src$="/kazem-ajlali.webp"] {
  transform: scale(4.6);
  transform-origin: 18% 43%;
}

.teacher-index.has-photo img.source-photo[src$="/mohammad-mehrban.webp"],
.profile-portrait img.source-photo[src$="/mohammad-mehrban.webp"] {
  transform: scale(2.3);
  transform-origin: 94% 47%;
}

.teacher-index.has-photo img.source-photo[src$="/sahel-khodabakhshi-source.webp"],
.profile-portrait img.source-photo[src$="/sahel-khodabakhshi-source.webp"] {
  transform: scale(2.2);
  transform-origin: 5% 28%;
}

@media (max-width: 1100px) {
  .teacher-row {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .teacher-index {
    width: 132px;
    height: 132px;
  }
}

@media (max-width: 760px) {
  .course-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 14px; scrollbar-width: thin; }
  .course-tabs button { min-width: 145px; padding: 10px 14px; }

  .teacher-index {
    width: 116px;
    height: 116px;
  }

  .teacher-index.photo-pending .teacher-monogram {
    font-size: 36px;
  }

  .profile-portrait {
    width: 250px;
    height: 250px;
  }
}
