/* Лікарі — portrait cards (макет zip) */

.doctors-section {
  background: var(--color-bg-page);
}

.doctors-section__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.doctors-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: 1fr;
}

.doctor-card {
  background: var(--color-white);
  border: 1px solid rgba(31, 74, 115, 0.08);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(31, 74, 115, 0.06);
  transition:
    transform var(--duration-ui) var(--ease-out),
    box-shadow var(--duration-ui) var(--ease-out);
}

.doctor-card__visual {
  position: relative;
  aspect-ratio: 3 / 3.4;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  background: var(--doctor-gradient, linear-gradient(160deg, #8AAFA8 0%, #739890 100%));
}

.doctor-card:nth-child(even) .doctor-card__visual {
  --doctor-gradient: linear-gradient(160deg, #4a7ba6 0%, #1F4A73 100%);
}

.doctor-card__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.doctor-card__initials {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 2.4rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1;
  pointer-events: none;
}

.doctor-card__silhouette {
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: -2px;
}

.doctor-card__body {
  padding: 1.25rem;
}

.doctor-card__name {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.35;
}

.doctor-card__role {
  margin: 0.375rem 0 0;
  font-size: 0.88rem;
  color: var(--color-graphite-muted);
  line-height: 1.45;
}

.doctor-card__link {
  display: inline-block;
  margin-top: 0.875rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-sage-dark);
  text-decoration: none;
  transition: color var(--duration-ui) var(--ease-out), gap var(--duration-ui) var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .doctor-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(31, 74, 115, 0.12);
  }

  .doctor-card:hover .doctor-card__link {
    color: var(--color-navy);
  }
}

@media (min-width: 640px) {
  .doctors-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .doctors-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .doctor-card:hover {
    transform: none;
  }
}
