/* =========================================================
   ВРАЧИ (Doctors) — single-doctors.php
   ========================================================= */

/* Hero: профиль врача */
.doctor-hero {
  padding-top: 3vw;
  padding-bottom: 4vw; 
}
.doctor-hero__card {
  display: grid;
  grid-template-columns: 16.5vw 1fr;
  grid-template-areas:
    "photo info"
    "photo contacts";
  gap: 0 3vw;
  align-items: start;
}
.doctor-hero__photo {
  grid-area: photo;
  width: 16.5vw;
  aspect-ratio: 3 / 4;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: linear-gradient(135deg, #e2efe8, #cfe6da);
  box-shadow: 0 20px 45px -18px rgba(31, 122, 70, 0.45);
  position: relative;
}
.doctor-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.doctor-hero__initials {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5vw;
  font-weight: 800;
  color: rgba(49, 185, 57, 0.55);
}
.doctor-hero__info {
  grid-area: info;
}
.doctor-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5vw;
  margin-bottom: 1.2vw;
}
.doctor-hero__badge {
  display: inline-block;
  padding: 0.4vw 1.1vw;
  border-radius: 100rem;
  background: var(--main-color);
  color: #fff;
  font-size: 0.75vw;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.doctor-hero__name {
  font-size: 2.7vw;
  font-weight: 800;
  line-height: 1.15;
  color: #1c1c1c;
  letter-spacing: 0.02em;
  margin: 0 0 0.8vw;
}
.doctor-hero__spec {
  font-size: 1.15vw;
  font-weight: 500;
  color: #505050;
  margin-bottom: 1.4vw;
}
/* Факты: специализация и стаж */
.doctor-hero__facts {
  display: flex;
  flex-direction: column;
  gap: 0.9vw 2.5vw;
  margin-bottom: 1.5vw;
}
.doctor-fact {
  display: flex;
  align-items: flex-start;
  gap: 0.7vw;
}
.doctor-fact__icon {
  width: 2.2vw;
  height: 2.2vw;
  border-radius: 50%;
  background: rgba(49, 185, 57, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.05vw;
}
.doctor-fact__body {
  display: flex;
  flex-direction: column;
  gap: 0.15vw;
}

.doctor-fact__body ul {
	margin-left: 18px;
}

.doctor-fact__body b {
  font-size: 0.72vw;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9aa6a0;
}
.doctor-fact__body > span {
  font-size: 0.95vw;
  font-weight: 600;
  color: #2d2d2d;
  line-height: 1.4;
}
.doctor-hero__clinic {
  display: flex;
  align-items: center;
  gap: 0.6vw;
  font-size: 0.95vw;
  color: #333;
  margin-bottom: 0.5vw;
}
.doctor-hero__location {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2vw;
  font-size: 0.9vw;
  color: #6a6a6a;
  margin-bottom: 1.8vw;
}
.doctor-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9vw;
}
.doctor-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6vw;
  padding: 0.95vw 2vw;
  border-radius: 100rem;
  font-weight: 700;
  font-size: 0.9vw;
  text-decoration: none;
  transition: 0.3s;
  cursor: pointer;
  border: 0;
}
.doctor-hero__btn--primary {
  background: linear-gradient(135deg, #28b844, var(--main-color-darken));
  color: #fff;
  box-shadow: 0 14px 30px -12px rgba(49, 185, 57, 0.6);
}
.doctor-hero__btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 38px -12px rgba(49, 185, 57, 0.7);
}
.doctor-hero__btn--ghost {
  background: #fff;
  color: var(--main-color);
  border: 1.5px solid var(--main-color);
}
.doctor-hero__btn--ghost:hover {
  background: var(--main-color);
  color: #fff;
}

/* Контакты в hero */
.doctor-hero__contacts {
  grid-area: contacts;
  display: flex;
  flex-wrap: wrap;
  gap: 0 3vw;
  margin-top: 0.4vw;
  padding-top: 1.6vw; 
}
.doctor-contact {
  display: flex;
  align-items: center;
  gap: 0.7vw;
  text-decoration: none;
  margin-bottom: 0.9vw;
}
.doctor-contact__icon {
  width: 2.4vw;
  height: 2.4vw;
  border-radius: 50%;
  background: rgba(49, 185, 57, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.doctor-contact span b {
  display: block;
  font-size: 0.7vw;
  font-weight: 600;
  text-transform: uppercase;
  color: #9aa6a0;
  letter-spacing: 0.05em;
}
.doctor-contact > span:last-child {
  font-size: 0.95vw;
  color: #2d2d2d;
}

/* Блоки контента */
.doctor-content {
  padding: 3.5vw 0 1vw;
}
.doctor-content__text {
  max-width: 60vw;
}
.doctor-content__text p {
  font-size: 1.05vw;
  line-height: 1.7;
  color: #3f3f3f;
}
.doctor-block-title {
  font-size: 1.8vw;
  font-weight: 800;
  color: #1c1c1c;
  margin: 0 0 2vw;
  display: flex;
  align-items: center;
  gap: 0.8vw;
}
.doctor-block-title svg {
  flex-shrink: 0;
}

/* Детальная сетка */
.doctor-detail {
  padding: 1vw 0 5vw;
}
.doctor-detail__grid {
  display: grid;
  grid-template-columns: 1fr 22vw;
  gap: 3vw;
  align-items: start;
}
.doctor-block {
  padding: 2vw 2.4vw;
  background: #fff;
  border-radius: var(--brad-regular);
  box-shadow: 0 10px 40px -18px rgb(19 80 45 / 33%);
  margin-bottom: 2vw;
}

/* Таймлайн */
.doctor-timeline {
  position: relative;
  padding-left: 1.6vw;
}
.doctor-timeline::before {
  content: "";
  position: absolute;
  left: 0.28vw;
  top: 0.4vw;
  bottom: 0.4vw;
  width: 2px;
  background: linear-gradient(#d7ebdd, var(--main-color));
}
.doctor-timeline__item {
  position: relative;
  padding: 0 0 1.7vw 1.4vw;
}
.doctor-timeline__dot {
  position: absolute;
  left: -1.6vw;
  top: 0.3vw;
  width: 0.62vw;
  height: 0.62vw;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--main-color);
  box-shadow: 0 0 0 3px rgba(49, 185, 57, 0.2);
}
.doctor-timeline__org {
  font-size: 1.05vw;
  font-weight: 700;
  color: #232323;
  line-height: 1.4;
}
.doctor-timeline__year {
  display: inline-block;
  font-size: 0.8vw;
  font-weight: 700;
  color: #666e66;
  background: rgba(49, 185, 57, 0.1);
  padding: 0.25vw 0.9vw;
  border-radius: 100rem;
  margin: 0.4vw 0.5vw 0 0;
}
.doctor-timeline__year--period {
  display: inline-block;
  font-size: 0.85vw;
  margin: 0 0 0.4vw;
}
.doctor-timeline__type,
.doctor-timeline__spec {
  font-size: 0.9vw;
  color: #5b5b5b;
  line-height: 1.5;
  margin-top: 0.25vw;
}

/* Сертификаты */
.doctor-certs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
}
.doctor-certs__item {
  padding: 1.4vw 1.6vw;
  border-radius: var(--brad-regular);
  background: #f7faf8;
  border: 1px solid #e6efe8;
}
.doctor-certs__name {
  font-size: 0.95vw;
  font-weight: 600;
  color: #232323;
  line-height: 1.45;
}
.doctor-certs__meta {
	display: flex;
	flex-direction: column;
	gap: 0.6vw;
	margin-top: 0.6vw;
}
.doctor-certs__org {
  font-size: 0.8vw;
  color: #6f6f6f;
}
.doctor-certs__year {
	font-size: 0.75vw;
	font-weight: 700;
	color: #0c5c4b;
	border-radius: 100rem;
}

/* Галерея сертификатов */
.doctor-certs-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1vw;
}
.doctor-certs-gallery__item {
  position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: #f3f7f4;
  border: 1px solid #e4eee7;
  text-decoration: none;
  transition: 0.3s;
  aspect-ratio: 4 / 4;
}
.doctor-certs-gallery__item img {
  display: block;
  width: 100%;
  height: auto; 
  transition: transform 0.35s;
}
.doctor-certs-gallery__zoom {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(31, 122, 70, 0) 40%, rgba(31, 122, 70, 0.75) 100%);
  opacity: 0;
  transition: opacity 0.3s;
}
.doctor-certs-gallery__zoom svg {
  width: 2.4vw;
  height: 2.4vw;
  padding: 0.55vw;
  box-sizing: content-box;
  border-radius: 50%;
  background: var(--main-color);
  transform: scale(0.7);
  transition: transform 0.3s;
}
.doctor-certs-gallery__item:hover img {
  transform: scale(1.06);
}
.doctor-certs-gallery__item:hover .doctor-certs-gallery__zoom {
  opacity: 1;
}
.doctor-certs-gallery__item:hover .doctor-certs-gallery__zoom svg {
  transform: scale(1);
}

/* Услуги */
.doctor-services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
}
.doctor-services__item {
  padding: 1.3vw 1.6vw;
  border-radius: var(--brad-regular);
  background: linear-gradient(135deg, #f4faf5, #eaf5ed);
  border: 1px solid #d8ecdd;
}
.doctor-services__name {
  font-size: 1vw;
  font-weight: 700;
  color: #1f5e35;
}
.doctor-services__descr {
  font-size: 0.85vw;
  color: #5b6b60;
  line-height: 1.55;
  margin-top: 0.5vw;
}

/* Sidebar */
.doctor-detail__side {
  position: sticky;
  top: 2vw;
  display: flex;
  flex-direction: column;
  gap: 1.4vw;
}
.doctor-card-side {
  background: #fff;
  border-radius: var(--brad-regular);
  padding: 1.8vw 1.7vw;
  box-shadow: 0 10px 40px -18px rgb(19 80 45 / 33%);
}
.doctor-card-side--cta {
  background: linear-gradient(150deg, #1b7d3f, var(--main-color-darken));
  color: #fff;
}
.doctor-card-side__phone {
  display: block;
  text-decoration: none;
  margin-bottom: 1.3vw;
}
.doctor-card-side__phone-num {
  display: block;
  font-size: 1.35vw;
  font-weight: 800;
  color: #1c1c1c;
}
.doctor-card-side__phone-label {
  font-size: 0.72vw;
  text-transform: uppercase;
  color: #9aa6a0;
  letter-spacing: 0.05em;
}
.doctor-card-side__row {
  display: flex;
  align-items: center;
  gap: 0.6vw;
  font-size: 0.9vw;
  color: #3f3f3f;
  text-decoration: none;
  padding: 0.55vw 0;
  line-height: 1.4;
}
.doctor-card-side__row--address {
  align-items: flex-start;
}
.doctor-card-side__row svg {
  flex-shrink: 0;
}
.doctor-card-side__map {
  display: flex;
  align-items: center;
  gap: 0.5vw;
  font-size: 0.9vw;
  font-weight: 700;
  color: var(--main-color);
  text-decoration: none;
  margin-top: 0.8vw;
}
.doctor-card-side__title {
  font-size: 1.3vw;
  font-weight: 800;
  margin-bottom: 0.6vw;
}
.doctor-card-side__text {
  font-size: 0.85vw;
  line-height: 1.5;
  opacity: 0.85;
  margin-bottom: 1.2vw;
}
.doctor-side-form input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.9vw 1.1vw;
  border-radius: 0.8vw;
  border: 0;
  margin-bottom: 0.7vw;
  font-size: 0.85vw;
  color: #1c1c1c;
}
.doctor-side-form__btn {
  width: 100%;
  padding: 0.95vw;
  border: 0;
  border-radius: 0.8vw;
  background: #fff;
  color: var(--main-color-darken);
  font-weight: 800;
  font-size: 0.9vw;
  cursor: pointer;
  transition: 0.3s;
}
.doctor-side-form__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -10px rgba(0, 0, 0, 0.3);
}

/* Карточка цен */
.doctor-card-side--price {
  background: linear-gradient(135deg, #fff, #f2faf4);
  border: 1px solid #ddf0e2;
}
.doctor-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8vw;
  padding: 0.85vw 0;
  border-bottom: 1px dashed #dfe9e2;
}
.doctor-price-row:last-child {
  border-bottom: 0;
}
.doctor-price-row__label {
  font-size: 0.9vw;
  color: #4a5650;
  line-height: 1.4;
}
.doctor-price-row__value {
  font-size: 1.15vw;
  font-weight: 800;
  color: #1b7d3f;
  white-space: nowrap;
}

  .doctor-content__text ul { margin-left: 18px; }

/* ============ Адаптивность ============ */
@media only screen and (max-width: 768px) {
  .doctor-hero { padding-top: 8vw; padding-bottom: 8vw; }
  .doctor-hero__card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "photo"
      "info"
      "contacts";
    gap: 4vw 0;
    justify-items: center;
    text-align: center;
  }
  .doctor-hero__photo { width: 55vw; }
  .doctor-hero__initials { font-size: 16vw; }
  .doctor-hero__badges { justify-content: center; }
  .doctor-hero__name { font-size: 9vw; }
  .doctor-hero__spec { font-size: 3.4vw; }
  .doctor-hero__facts { flex-direction: column; gap: 3vw; margin-bottom: 4vw; justify-content: flex-start; align-items: flex-start; }
  .doctor-fact { gap: 2vw; }
  .doctor-fact__icon { width: 7vw; height: 7vw; }
  .doctor-fact__body b { font-size: 2.2vw; }
  .doctor-fact__body > span { font-size: 2.9vw; }
  .doctor-hero__clinic { justify-content: center; font-size: 2.8vw; }
  .doctor-hero__location { justify-content: center; font-size: 2.6vw; }
  .doctor-hero__actions { justify-content: center; }
  .doctor-hero__btn { font-size: 2.8vw; padding: 3vw 5vw; }
  .doctor-hero__contacts { flex-direction: column; align-items: center; }
  .doctor-contact__icon { width: 8vw; height: 8vw; }
  .doctor-contact span b { font-size: 2.2vw; }
  .doctor-contact > span:last-child { font-size: 2.8vw; }
  .doctor-contact { gap: 2vw; }

  .doctor-content { padding: 6vw 0 2vw; }
  .doctor-content__text { max-width: 100%; }
  .doctor-content__text p { font-size: 3vw; }


  .doctor-block-title { font-size: 5.4vw; margin-bottom: 5vw; }
  .doctor-detail { padding: 2vw 0 12vw; }
  .doctor-detail__grid { grid-template-columns: 1fr; gap: 6vw; }
  .doctor-detail__side { position: static; }
  .doctor-block { padding: 6vw; }

  .doctor-timeline { padding-left: 5vw; }
  .doctor-timeline::before { left: 0.9vw; }
  .doctor-timeline__item { padding: 0 0 5vw 4vw; }
  .doctor-timeline__dot { left: -5vw; width: 1.8vw; height: 1.8vw; border-width: 2px; }
  .doctor-timeline__org { font-size: 3.2vw; }
  .doctor-timeline__year { font-size: 2.4vw; padding: 1vw 2.6vw; }
  .doctor-timeline__type, .doctor-timeline__spec { font-size: 2.7vw; }

  .doctor-certs { grid-template-columns: 1fr; gap: 3vw; }
  .doctor-certs__item { padding: 4vw; }
  .doctor-certs__name { font-size: 2.9vw; }
  .doctor-certs__org { font-size: 2.5vw; }
  .doctor-certs__year { font-size: 2.3vw; }

  .doctor-certs-gallery { grid-template-columns: 1fr 1fr; gap: 3vw; }
  .doctor-certs-gallery__zoom svg { width: 7vw; height: 7vw; padding: 1.6vw; }

  .doctor-services { grid-template-columns: 1fr; gap: 3vw; }
  .doctor-services__item { padding: 4vw; }
  .doctor-services__name { font-size: 3vw; }
  .doctor-services__descr { font-size: 2.6vw; }

  .doctor-card-side { padding: 6vw; }
  .doctor-card-side__phone-num { font-size: 5vw; }
  .doctor-card-side__phone-label { font-size: 2.2vw; }
  .doctor-card-side__row { font-size: 2.8vw; padding: 1.6vw 0; }
  .doctor-card-side__title { font-size: 4.4vw; }
  .doctor-card-side__text { font-size: 2.7vw; }
  .doctor-price-row { padding: 2.6vw 0; gap: 2vw; }
  .doctor-price-row__label { font-size: 2.8vw; }
  .doctor-price-row__value { font-size: 3.6vw; }
  .doctor-side-form input { padding: 3vw; font-size: 2.8vw; border-radius: 2vw; }
  .doctor-side-form__btn { padding: 3vw; font-size: 2.8vw; border-radius: 2vw; }
}

/* Карточка врача (используется в списке на странице /vrachi/) */
.doctors-card {
  background: #fff;
  border-radius: var(--brad-regular);
  overflow: hidden;
  box-shadow: 0 12px 40px -20px rgba(31, 122, 70, 0.25);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
}
.doctors-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px -20px rgba(31, 122, 70, 0.4);
}
.doctors-card__photo {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 3.2;
  overflow: hidden;
  background: linear-gradient(135deg, #e2efe8, #cfe6da);
  position: relative;
}
.doctors-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.doctors-card__no-photo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4vw;
  font-weight: 800;
  color: rgba(49, 185, 57, 0.5);
}
.doctors-card__body {
  padding: 1.6vw;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.doctors-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4vw;
  margin-bottom: 0.9vw;
}
.doctors-card__badge {
  font-size: 0.7vw;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--main-color);
  background: rgba(49, 185, 57, 0.1);
  padding: 0.25vw 0.8vw;
  border-radius: 100rem;
}
.doctors-card__name {
  font-size: 1.15vw;
  font-weight: 800;
  color: #1c1c1c;
  line-height: 1.3;
  text-decoration: none;
  margin-bottom: 0.5vw;
}
.doctors-card__spec {
  font-size: 0.9vw;
  color: #505050;
  line-height: 1.4;
  margin-bottom: 0.6vw;
}
.doctors-card__stazh {
  font-size: 0.85vw;
  font-weight: 600;
  color: #7a8580;
  line-height: 1.4;
  margin-bottom: 0.6vw;
}
.doctors-card__clinic {
  font-size: 0.85vw;
  color: var(--main-color);
  margin-bottom: 1.2vw;
}
.doctors-card__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.5vw;
  font-size: 0.85vw;
  font-weight: 700;
  color: var(--main-color);
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  .doctors-card__body { padding: 4vw; }
  .doctors-card__badge { font-size: 2.2vw; padding: 1vw 2.4vw; }
  .doctors-card__name { font-size: 3.6vw; }
  .doctors-card__spec { font-size: 2.8vw; }
  .doctors-card__stazh { font-size: 2.7vw; }
  .doctors-card__clinic { font-size: 2.7vw; }
  .doctors-card__link { font-size: 2.7vw; }
  .doctors-card__no-photo { font-size: 9vw; }
}

/* =========================================================
   Список врачей — страница /vrachi/ (template-vrachi.php)
   ========================================================= */
.vrachi-list {
  padding-top: 1vw;
  padding-bottom: 5vw;
}
.vrachi-list__title {
  margin-bottom: 0.6vw;
}
.vrachi-list__subtitle {
  text-align: center;
  color: #7a8580;
  font-size: 1.1vw;
  margin-bottom: 2.8vw;
}
.vrachi-list__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.8vw;
}
.vrachi-list__pagination {
  display: flex;
  justify-content: center;
  gap: 0.6vw;
  margin-top: 3vw;
}
.vrachi-list__pagination .page-numbers {
  min-width: 2.6vw;
  height: 2.6vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.7vw;
  border-radius: 0.7vw;
  background: #fff;
  border: 1px solid #e1e9e4;
  color: #333;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s;
}
.vrachi-list__pagination .page-numbers.current,
.vrachi-list__pagination .page-numbers:hover {
  background: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}
.vrachi-list__empty {
  text-align: center;
  color: #7a8580;
  padding: 3vw 0;
  font-size: 1.1vw;
}

/* ============ Адаптивность списка ============ */
@media only screen and (max-width: 992px) {
  .vrachi-list__grid { grid-template-columns: repeat(2, 1fr); }
}
@media only screen and (max-width: 576px) {
  .vrachi-list { padding: 4vw 0 12vw; }
  .vrachi-list__subtitle { font-size: 3vw; margin-bottom: 7vw; }
  .vrachi-list__grid { grid-template-columns: 1fr; gap: 5vw; }
  .vrachi-list__empty { font-size: 3vw; }
  .vrachi-list__pagination .page-numbers {
    min-width: 9vw;
    height: 9vw;
    border-radius: 2vw;
    font-size: 3vw;
  }
}

/* =========================================================
   Карточки врачей в слайдере «Команда» (ид#members) на главной
   ========================================================= */
.team__slider .swiper-slide {
  display: flex;
  height: auto;
}
.team__slider .swiper-slide .doctors-card {
  width: 100%;
  height: 100%;
}

/* =========================================================
   ВРАЧ — страница врача с табами (single-doctors.php новый)
   ========================================================= */

/* Двухколоночный макет: слева sticky-фото, справа контент с табами */
.doctor-layout {
  display: grid;
  grid-template-columns: 22vw 1fr;
  gap: 3vw;
  align-items: start;
  padding-top: 2vw;
  padding-bottom: 4vw;
}

/* Левая sticky-колонка (фото + кнопка) */
.doctor-sticky {
  position: sticky;
  top: 2.5vw;
  display: flex;
  flex-direction: column;
}
.doctor-sticky__inner {
  display: flex;
  flex-direction: column;
  gap: 1.2vw;
}
.doctor-sticky__photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: linear-gradient(135deg, #e2efe8, #cfe6da);
  box-shadow: 0 20px 45px -18px rgba(31, 122, 70, 0.45);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.doctor-sticky__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.doctor-sticky__photo .doctor-hero__initials {
  font-size: 6vw;
}
.doctor-sticky__cta {
  width: 100%;
  box-sizing: border-box;
}

/* Карточка врача в правой колонке (без фото) */
.doctor-hero__card--tabs {
  display: block;
  padding-bottom: 1.5vw;
  margin-bottom: 1vw;
}
.doctor-hero__card--tabs .doctor-hero__info {
  grid-area: auto;
}

/* Панель табов */
.doctor-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6vw;
  margin-bottom: 2vw;
  border-bottom: 1px solid #e4eee7;
  padding-bottom: 0;
}
.doctor-tabs__btn {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 1vw 1.8vw;
  font-size: 1.02vw;
  font-weight: 700;
  color: #6a7670;
  position: relative;
  transition: color 0.3s;
}
.doctor-tabs__btn::after {
  content: "";
  position: absolute;
  left: 1.2vw;
  right: 1.2vw;
  bottom: -1px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--main-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}
.doctor-tabs__btn:hover {
  color: var(--main-color);
}
.doctor-tabs__btn.is-active {
  color: var(--main-color);
}
.doctor-tabs__btn.is-active::after {
  transform: scaleX(1);
}

/* Панели табов */
.doctor-tab-panel {
  display: none;
}
.doctor-tab-panel.is-active {
  display: block;
  animation: doctorFade 0.35s ease;
}
@keyframes doctorFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Таб «Цены» */
.doctor-price-panel .doctor-tab-prices-rows {
  display: flex;
  flex-direction: column;
}
.doctor-panel-info .doctor-card-side__row {
  font-size: 1vw;
  padding: 0.7vw 0;
}
.doctor-break-form {
  color: #fff;
}
.doctor-break-form .doctor-block-title {
  color: #fff;
}
.doctor-break-form .doctor-card-side__text {
  color: rgba(255, 255, 255, 0.9);
}

@media only screen and (max-width: 768px) {
  .doctor-layout {
    grid-template-columns: 1fr;
    gap: 5vw;
  }
  .doctor-sticky {
    position: static;
  }
  .doctor-sticky__photo {
    width: 62vw;
    margin: 0 auto;
  }
  .doctor-sticky__photo .doctor-hero__initials { font-size: 18vw; }
  .doctor-tabs__nav {
    gap: 0;
  }
  .doctor-tabs__btn {
    flex: 1 1 auto;
    padding: 3vw 2vw;
    font-size: 2.8vw;
  }
  .doctor-tabs__btn::after {
    left: 0.6vw;
    right: 0.6vw;
  }
  .doctor-panel-info .doctor-card-side__row {
    font-size: 2.9vw;
  }
}
