/* Doctors archive & single */

.doctors-archive {
  padding-bottom: 4vw;
}

.doctors-archive__title {
  margin-bottom: 3.125vw;
}

.doctors-archive__grid,
.doctors-related__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -1.0416666667vw;
}

.doctors-archive__empty {
  padding: 1.0416666667vw;
  font-size: 1.0416666667vw;
}

.doctors__item {
  width: calc(25% - 2.0833333333vw);
  margin: 1.0416666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: #fff;
  -webkit-box-shadow: 0 0.2083333333vw 1.0416666667vw rgba(0, 0, 0, 0.06);
          box-shadow: 0 0.2083333333vw 1.0416666667vw rgba(0, 0, 0, 0.06);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.doctors__item:hover {
  -webkit-box-shadow: 0 0.5208333333vw 1.5625vw rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.5208333333vw 1.5625vw rgba(0, 0, 0, 0.1);
}

.doctors__item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #eef2ef;
}

.doctors__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.doctors__item-content {
  padding: 1.25vw 1.0416666667vw 1.4583333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.doctors__item-name {
  font-weight: 700;
  font-size: 1.1458333333vw;
  line-height: 1.3541666667vw;
  margin-bottom: 0.4166666667vw;
}

.doctors__item-spec {
  font-size: 0.8333333333vw;
  line-height: 1.0416666667vw;
  color: var(--main-color);
  margin-bottom: 0.5208333333vw;
}

.doctors__item-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.4166666667vw 0.8333333333vw;
  font-size: 0.7291666667vw;
  color: #666;
  margin-bottom: 0.625vw;
}

.doctors__item-text {
  font-size: 0.78125vw;
  line-height: 1.1458333333vw;
  color: #444;
  margin-bottom: 1.0416666667vw;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.doctors__item-btn {
  margin-top: auto;
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  width: 13.0208333333vw;
  max-width: 100%;
  height: 3.125vw;
  padding: 0 1.0416666667vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
  background: #1d3077 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 100rem;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 600;
  line-height: 0.9895833333vw;
  letter-spacing: 0.02em;
  white-space: nowrap;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-animation: none !important;
          animation: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  overflow: hidden;
}

.doctors__item-btn::before,
.doctors__item-btn::after {
  display: none !important;
  content: none !important;
}

.doctor-stars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.15625vw;
  margin-bottom: 0.625vw;
}

.doctor-stars__item {
  color: #d0d0d0;
  font-size: 0.9375vw;
  line-height: 1;
}

.doctor-stars__item.is-active {
  color: #F5A623;
}

/* Single doctor */

.doctor-single {
  padding-bottom: 3.125vw;
}

.doctor-single__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125vw;
  margin-bottom: 3.125vw;
}

.doctor-single__photo {
  width: 28.6458333333vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: #eef2ef;
  min-height: 20vw;
}

.doctor-single__photo img {
  width: 100%;
  height: 36.4583333333vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.doctor-single__info {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.doctor-single__name {
  margin-bottom: 0.8333333333vw;
}

.doctor-single__spec {
  font-size: 1.25vw;
  line-height: 1.5625vw;
  color: var(--main-color);
  font-weight: 600;
  margin-bottom: 1.0416666667vw;
}

.doctor-single__rating {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw;
  margin-bottom: 1.5625vw;
}

.doctor-single__rating .doctor-stars {
  margin-bottom: 0;
}

.doctor-single__rating .doctor-stars__item {
  font-size: 1.25vw;
}

.doctor-single__rating-value {
  font-weight: 700;
  font-size: 1.0416666667vw;
}

.doctor-single__facts {
  list-style: none;
  margin: 0 0 2.0833333333vw;
  padding: 0;
  border-top: 1px solid #e8e8e8;
}

.doctor-single__facts li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5625vw;
  padding: 1.0416666667vw 0;
  border-bottom: 1px solid #e8e8e8;
}

.doctor-single__fact-label {
  width: 10.4166666667vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 700;
  font-size: 0.9375vw;
  color: #1c1c1c;
}

.doctor-single__fact-value {
  font-size: 0.9375vw;
  line-height: 1.4583333333vw;
  color: #444;
}

.doctor-single__actions .md-main-color-btn {
  display: inline-flex;
  cursor: pointer;
  min-width: 14.5833333333vw;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.doctor-single__description {
  margin-bottom: 2.0833333333vw;
}

.doctor-single__section-title {
  font-size: 1.6666666667vw;
  font-weight: 700;
  margin-bottom: 1.25vw;
}

.doctor-single__content {
  font-size: 0.9375vw;
  line-height: 1.5625vw;
  color: #333;
}

.doctor-single__content p {
  margin-bottom: 0.8333333333vw;
}

.doctor-single__content p:last-child {
  margin-bottom: 0;
}

.doctor-single__content h3 {
  font-size: 1.1458333333vw;
  font-weight: 700;
  margin: 1.5625vw 0 0.8333333333vw;
}

.doctor-single__content ul {
  margin: 0 0 1.0416666667vw;
  padding-left: 1.25vw;
}

.doctor-single__content li {
  margin-bottom: 0.4166666667vw;
}

.doctor-single__documents {
  margin-bottom: 2.0833333333vw;
}

.doctor-single__documents-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25vw;
}

.doctor-single__document {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  max-width: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 0.625vw;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5ebe6;
  -webkit-box-shadow: 0 0.15625vw 0.625vw rgba(28, 28, 28, 0.04);
          box-shadow: 0 0.15625vw 0.625vw rgba(28, 28, 28, 0.04);
  -webkit-transition: -webkit-transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.doctor-single__document:hover {
  border-color: rgba(49, 185, 57, 0.35);
  -webkit-box-shadow: 0 0.4166666667vw 1.25vw rgba(28, 28, 28, 0.1);
          box-shadow: 0 0.4166666667vw 1.25vw rgba(28, 28, 28, 0.1);
  -webkit-transform: translateY(-0.2083333333vw);
          transform: translateY(-0.2083333333vw);
}

.doctor-single__document-preview {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  max-height: 14vw;
  background:
    linear-gradient(180deg, #f7f9f7 0%, #eef2ef 100%);
  overflow: hidden;
  position: relative;
}

.doctor-single__document-preview img {
  position: absolute;
  inset: 0.625vw;
  width: calc(100% - 1.25vw);
  height: calc(100% - 1.25vw);
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  display: block;
  border-radius: 0.2083333333vw;
  -webkit-box-shadow: 0 0.15625vw 0.5208333333vw rgba(0, 0, 0, 0.12);
          box-shadow: 0 0.15625vw 0.5208333333vw rgba(0, 0, 0, 0.12);
  background: #fff;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
}

.doctor-single__document:hover .doctor-single__document-preview img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}

.doctor-single__document-zoom {
  position: absolute;
  right: 0.625vw;
  bottom: 0.625vw;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  border-radius: 50%;
  background: rgba(28, 28, 28, 0.72);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.doctor-single__document:hover .doctor-single__document-zoom {
  opacity: 1;
}

.doctor-single__document-zoom svg {
  width: 0.9375vw;
  height: 0.9375vw;
}

.doctor-single__document-ext {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  font-size: 1.25vw;
  color: var(--main-color);
  letter-spacing: 0.08em;
}

.doctor-single__document-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125vw;
  padding: 0.8333333333vw 0.9375vw 1.0416666667vw;
  min-width: 0;
}

.doctor-single__document-type {
  font-size: 0.6770833333vw;
  line-height: 1;
  color: var(--main-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.doctor-single__document-title {
  font-size: 0.8333333333vw;
  line-height: 1.2;
  color: #1c1c1c;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.doctor-single__back {
  margin-top: 1.5625vw;
}

.doctor-single__back a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5208333333vw;
  text-decoration: none;
}

.doctor-single__back svg {
  width: 0.9895833333vw;
  height: 0.9895833333vw;
}

.doctors-related {
  padding-bottom: 4vw;
}

.doctors-related__title {
  margin-bottom: 2.6041666667vw;
}

@media (max-width: 1024px) {
  .doctors__item {
    width: calc(50% - 2.0833333333vw);
  }

  .doctors__item-img {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .doctors__item-name {
    font-size: 2.2vw;
    line-height: 1.3;
  }

  .doctors__item-spec,
  .doctors__item-meta,
  .doctors__item-text {
    font-size: 1.6vw;
    line-height: 1.4;
  }

  .doctors__item-btn {
    width: 28vw;
    height: 6vw;
    font-size: 1.8vw;
    line-height: 1.2;
    padding: 0 2vw;
  }

  .doctor-stars__item {
    font-size: 1.8vw;
  }

  .doctor-single__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  .doctor-single__photo {
    width: 100%;
  }

  .doctor-single__photo img {
    height: 70vw;
  }

  .doctor-single__spec {
    font-size: 2.4vw;
    line-height: 1.3;
  }

  .doctor-single__rating-value,
  .doctor-single__fact-label,
  .doctor-single__fact-value,
  .doctor-single__content {
    font-size: 2vw;
    line-height: 1.45;
  }

  .doctor-single__fact-label {
    width: 28vw;
  }

  .doctor-single__section-title {
    font-size: 3.2vw;
  }

  .doctor-single__rating .doctor-stars__item {
    font-size: 2.4vw;
  }

  .doctor-single__documents-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5vw;
  }

  .doctor-single__document {
    border-radius: 1.2vw;
  }

  .doctor-single__document-preview {
    max-height: 28vw;
  }

  .doctor-single__document-preview img {
    inset: 1.2vw;
    width: calc(100% - 2.4vw);
    height: calc(100% - 2.4vw);
  }

  .doctor-single__document-zoom {
    width: 4vw;
    height: 4vw;
    right: 1.2vw;
    bottom: 1.2vw;
  }

  .doctor-single__document-zoom svg {
    width: 2vw;
    height: 2vw;
  }

  .doctor-single__document-type,
  .doctor-single__document-title,
  .doctor-single__document-ext {
    font-size: 1.6vw;
    line-height: 1.35;
  }
}

@media (max-width: 767px) {
  .doctors-archive__grid,
  .doctors-related__grid {
    margin: -2vw;
  }

  .doctors__item {
    width: calc(100% - 4vw);
    margin: 2vw;
  }

  .doctors__item-img {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .doctors__item-content {
    padding: 4vw;
  }

  .doctors__item-name {
    font-size: 5vw;
    line-height: 1.3;
    margin-bottom: 2vw;
  }

  .doctors__item-spec {
    font-size: 3.6vw;
    line-height: 1.3;
    margin-bottom: 2vw;
  }

  .doctors__item-meta,
  .doctors__item-text {
    font-size: 3.4vw;
    line-height: 1.4;
  }

  .doctors__item-btn {
    width: 100%;
    height: 11vw;
    font-size: 3.6vw;
    line-height: 1.2;
    padding: 0 4vw;
  }

  .doctor-stars__item {
    font-size: 4vw;
  }

  .doctor-single__photo img {
    height: 90vw;
  }

  .doctor-single__spec {
    font-size: 4.2vw;
  }

  .doctor-single__facts li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5vw;
    padding: 3.5vw 0;
  }

  .doctor-single__fact-label {
    width: 100%;
    font-size: 3.6vw;
  }

  .doctor-single__fact-value,
  .doctor-single__content,
  .doctor-single__rating-value {
    font-size: 3.6vw;
    line-height: 1.45;
  }

  .doctor-single__section-title {
    font-size: 5.5vw;
  }

  .doctor-single__rating .doctor-stars__item {
    font-size: 5vw;
  }

  .doctor-single__actions .md-main-color-btn {
    width: 100%;
    min-width: 0;
  }

  .doctor-single__documents-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3vw;
  }

  .doctor-single__document {
    border-radius: 2.5vw;
  }

  .doctor-single__document-preview {
    max-height: 42vw;
  }

  .doctor-single__document-preview img {
    inset: 2vw;
    width: calc(100% - 4vw);
    height: calc(100% - 4vw);
  }

  .doctor-single__document-zoom {
    width: 8vw;
    height: 8vw;
    right: 2vw;
    bottom: 2vw;
    opacity: 1;
    background: rgba(28, 28, 28, 0.55);
  }

  .doctor-single__document-zoom svg {
    width: 4vw;
    height: 4vw;
  }

  .doctor-single__document-meta {
    padding: 3vw;
    gap: 1.5vw;
  }

  .doctor-single__document-type,
  .doctor-single__document-title,
  .doctor-single__document-ext {
    font-size: 3.2vw;
    line-height: 1.35;
  }
}

/* Homepage team slider: doctors as links */
a.team__slide {
  display: block;
  text-decoration: none;
  color: inherit;
}

.team__slide .slide-img--placeholder {
  width: 100%;
  height: 100%;
  background: #eef2ef;
}

/* Header: hours + phone on one line */
.header__contacts {
  width: auto;
  max-width: 22vw;
  align-items: flex-end;
}

.header__contacts-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.7291666667vw;
  white-space: nowrap;
  margin-bottom: 0.4166666667vw;
}

.header__contacts-row .header__time {
  margin-bottom: 0 !important;
  font-size: 0.8333333333vw;
  line-height: 1.2;
  white-space: nowrap;
}

.header__contacts-row .header__time::before,
.header__contacts-row .header__time::after {
  top: 0.45em;
  transform: none;
  -webkit-transform: none;
}

.header__contacts-row .header__phone {
  white-space: nowrap;
  font-size: 1.25vw;
  line-height: 1.2;
}

@media (max-width: 1024px) {
  .header__contacts {
    max-width: none;
  }

  .header__contacts-row {
    gap: 1.5vw;
  }

  .header__contacts-row .header__time {
    font-size: 1.6vw;
  }

  .header__contacts-row .header__phone {
    font-size: 2.2vw;
  }
}

@media (max-width: 767px) {
  .header__top .wrapper {
    position: relative;
    min-height: 14vw;
  }

  .header__logo {
    width: auto !important;
    max-width: 32vw;
    z-index: 2;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }

  .header__logo a img,
  .header__logo a svg {
    width: auto !important;
    max-width: 28vw !important;
    height: 12vw !important;
    max-height: 12vw !important;
    object-fit: contain;
  }

  .header__contacts {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto !important;
    max-width: 52vw;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    text-align: center;
    z-index: 1;
  }

  .header__contacts-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8vw;
    white-space: normal;
    margin-bottom: 0;
  }

  .header__contacts-row .header__time {
    font-size: 2.6vw !important;
    line-height: 1.2 !important;
  }

  .header__contacts-row .header__phone {
    font-size: 3.6vw !important;
    line-height: 1.2 !important;
  }

  .header__btn-wrap {
    z-index: 2;
    margin-left: auto;
  }

  /* Open mobile burger: white panel, dark text */
  .header.open {
    background: #fff !important;
    background-color: #fff !important;
  }

  .header.open .header__top {
    background: #fff !important;
  }

  .header.open .header__nav {
    background: #fff !important;
    background-color: #fff !important;
  }

  .header.open .header__nav .nav-wrap {
    background: transparent !important;
  }

  .header.open .header__contacts a,
  .header.open .header__contacts p,
  .header.open .header__contacts-row .header__time,
  .header.open .header__contacts-row .header__phone,
  .header.open .nav-wrap .nav .nav-item a {
    color: #1d3077 !important;
    -webkit-text-fill-color: #1d3077;
  }

  .header.open .nav-wrap .nav .nav-item a:hover {
    color: #01a2d3 !important;
    -webkit-text-fill-color: #01a2d3;
  }

  .header.open .header__btn span {
    background-color: #1d3077 !important;
  }

  .header.open .header__btn-wrap {
    background-color: #fff !important;
    box-shadow: 0 0 2vw rgba(0, 0, 0, 0.08);
  }
}

/* Contacts page: tighter left column + full photo without top crop */
.contacts__info {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25vw;
}

.contacts__info-title {
  margin-bottom: 0;
}

.contacts__info-container {
  margin-bottom: 0;
}

.contacts__info-container > div {
  margin-bottom: 0.7291666667vw;
}

.contacts__info-container > div:last-child {
  margin-bottom: 0;
}

.contacts__info-social {
  margin-bottom: 0;
}

.contacts__info-links {
  margin-top: 0.5vw;
}

.contacts__container.md-container-with-form .contacts__images-item > div {
  height: auto;
}

.contacts__container.md-container-with-form .contacts__images-item > div a:first-child {
  width: 100%;
  height: auto;
}

.contacts__container.md-container-with-form .contacts__images-item > div a:first-child img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top center;
     object-position: top center;
  display: block;
}

@media (max-width: 767px) {
  .contacts__info {
    gap: 4vw;
  }

  .contacts__info-container {
    -ms-flex-pack: start;
        justify-content: flex-start;
    margin-bottom: 4vw;
  }

  .contacts__info-container > div {
    margin-top: 3vw;
  }

  .contacts__info-container > div:first-child,
  .contacts__info-container > div:nth-child(2) {
    margin-top: 3vw;
  }

  .contacts__info-container > div:first-child {
    margin-top: 0;
  }

  .contacts__container .contacts__images-item > div,
  .contacts__container.md-container-with-form .contacts__images-item > div {
    height: auto;
  }

  .contacts__container .contacts__images-item > div a:first-child,
  .contacts__container.md-container-with-form .contacts__images-item > div a:first-child {
    width: 100%;
    height: auto;
  }

  .contacts__container .contacts__images-item > div a:first-child img,
  .contacts__container.md-container-with-form .contacts__images-item > div a:first-child img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: top center;
       object-position: top center;
    display: block;
  }
}

/* Light footer */
.footer {
  background-color: #fff;
  color: var(--text-main-color);
  border-top: 0.0520833333vw solid rgba(28, 28, 28, 0.12);
}

.footer__logo {
  border-bottom-color: rgba(28, 28, 28, 0.15);
}

.footer__logo a {
  color: var(--text-main-color);
}

.footer__logo a img {
  border: 0.0520833333vw solid rgba(28, 28, 28, 0.12);
  border-radius: 0.4166666667vw;
  background: #fff;
}

.footer__top {
  border-bottom-color: rgba(28, 28, 28, 0.12);
}

.footer-title {
  color: var(--text-main-color);
}

.footer-text {
  color: #5a5a5a;
}

.footer-list a,
.footer-list span {
  color: #4a4a4a;
}

.footer-list a:hover,
.footer-list span:hover {
  color: var(--main-color);
}

.footer__bottom-item p {
  color: #6a6a6a;
}

.footer__bottom-item p span,
.footer__bottom-item p a {
  color: var(--main-color);
}

.footer__bottom-item .md-line-dotted::after {
  border-bottom-color: var(--main-color);
}

.footer__bottom-item .md-line-dotted:hover {
  color: var(--text-main-color);
}

.footer__bottom-item .md-line-dotted:hover::after {
  border-bottom-color: var(--text-main-color);
}

/* Mobile fixed call bar: only phone, main-color */
.widget__contacts .header__seti {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.widget__contacts .header__seti > * {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}

.widget__contacts .header__phone.mobile {
  width: 100%;
}

.widget__contacts .header__phone.mobile .header__phone-number {
  width: 100%;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  background: var(--main-color) !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.widget__contacts .header__phone.mobile .header__phone-number img {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

/* Footer mobile: consistent list alignment */
@media (max-width: 768px) {
  .footer__top-item {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }

  .footer-title {
    text-align: center;
  }

  .footer-list {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
    width: 100% !important;
  }

  .footer-list > li {
    width: 100% !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .footer-list > .nav-item,
  .footer-list > .menu-item {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .footer-list > .nav-item > a,
  .footer-list > .menu-item > a,
  .footer-list > li > a {
    display: block;
    width: 100%;
    text-align: center;
  }

  /* Advantages with checkmarks: shared left edge, block centered */
  .footer-list > li:has(> svg) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100% !important;
    max-width: 82vw;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .footer-list > li:has(> svg) > span {
    text-align: left;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }

  .footer-list > li:has(> svg) > svg {
    margin-top: 1.6vw;
  }
}

/* Header appointment button: filled + icon */
.header__download a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5208333333vw;
  background-color: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}

.header__download a span {
  color: #fff;
}

.header__download a img,
.header__download a svg,
.header__download a .header__download-icon {
  width: 1.25vw;
  height: 1.25vw;
  margin-right: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  stroke: #fff;
  fill: none;
  color: #fff;
}

.header__download a img path,
.header__download a svg path {
  fill: none;
  stroke: currentColor;
}

.header__download a:hover {
  background-color: var(--main-color-darken);
  border-color: var(--main-color-darken);
}

.header__download a:hover img {
  filter: none;
}

.header__download a:hover span {
  color: #fff;
}

.header.md-white-header .header__download a {
  background-color: #fff;
  border-color: #fff;
  color: var(--main-color);
}

.header.md-white-header .header__download a span {
  color: var(--main-color);
}

.header.md-white-header .header__download a svg,
.header.md-white-header .header__download a .header__download-icon {
  stroke: var(--main-color);
  color: var(--main-color);
}

.header.md-white-header .header__download a:hover {
  background-color: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}

.header.md-white-header .header__download a:hover span {
  color: #fff;
}

.header.md-white-header .header__download a:hover svg,
.header.md-white-header .header__download a:hover .header__download-icon {
  stroke: #fff;
  color: #fff;
}

@media (max-width: 767px) {
  .header__download a img,
  .header__download a svg,
  .header__download a .header__download-icon {
    width: 4.5vw;
    height: 4.5vw;
  }
}

/* Services cards: CSS green gradient instead of baked-in image overlays */
.services__item .item-img {
  --services-gradient: #21AB87;
}

.services__item .item-img::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  border-radius: var(--brad-regular);
  background: -webkit-linear-gradient(
    left,
    rgba(33, 171, 135, 0.96) 0%,
    rgba(33, 171, 135, 0.88) 22%,
    rgba(33, 171, 135, 0.55) 42%,
    rgba(33, 171, 135, 0.2) 58%,
    rgba(33, 171, 135, 0) 72%
  );
  background: linear-gradient(
    90deg,
    rgba(33, 171, 135, 0.96) 0%,
    rgba(33, 171, 135, 0.88) 22%,
    rgba(33, 171, 135, 0.55) 42%,
    rgba(33, 171, 135, 0.2) 58%,
    rgba(33, 171, 135, 0) 72%
  );
}

.services__item .item-img img {
  position: relative;
  z-index: 0;
}

.services__item .item-img::after {
  z-index: 2;
}

/* Service detail: related services cards — CSS green gradient + white link */
.single-services .services-related .articles__item::after,
.services-related .articles__item::after {
  background-image:
    -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 43.5%, rgba(0, 0, 0, 0.79) 100%),
    -webkit-linear-gradient(left, rgba(33, 171, 135, 0.96) 0%, rgba(33, 171, 135, 0.88) 22%, rgba(33, 171, 135, 0.55) 42%, rgba(33, 171, 135, 0.2) 58%, rgba(33, 171, 135, 0) 72%);
  background-image:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 43.5%, rgba(0, 0, 0, 0.79) 100%),
    linear-gradient(90deg, rgba(33, 171, 135, 0.96) 0%, rgba(33, 171, 135, 0.88) 22%, rgba(33, 171, 135, 0.55) 42%, rgba(33, 171, 135, 0.2) 58%, rgba(33, 171, 135, 0) 72%);
}

.single-services .services-related .articles__item .item-link div,
.services-related .articles__item .item-link div,
.services-related .articles__item .item-link div span {
  color: #fff !important;
}

.single-services .services-related .articles__item .item-link div img,
.single-services .services-related .articles__item .item-link div svg,
.services-related .articles__item .item-link div img,
.services-related .articles__item .item-link div svg {
  fill: #fff !important;
  color: #fff;
}

.single-services .services-related .articles__item .item-link div img path,
.single-services .services-related .articles__item .item-link div svg path,
.services-related .articles__item .item-link div img path,
.services-related .articles__item .item-link div svg path {
  fill: #fff !important;
}

.single-services .services-related .articles__item .item-link .md-line-dotted::after,
.services-related .articles__item .item-link .md-line-dotted::after {
  border-bottom-color: #fff !important;
}

/* Service cards: whole card is a link, button stays visual */
a.services__item {
  display: block;
  text-decoration: none;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a.services__item .item-title,
a.services__item .item-text {
  color: #fff;
}

a.services__item .item-bottom__link,
a.services__item .item-bottom__link span {
  color: var(--main-color) !important;
  -webkit-text-fill-color: var(--main-color);
}

a.services__item .item-bottom__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
}

/* Price table header */
.price__table .table-header {
  background-color: #1d3077;
}



/* Doctor video business card */
.doctor-single__video {
  margin-bottom: 2.0833333333vw;
}

.doctor-single__video-box {
  background: #fff;
  border: 1px solid #e5ebe6;
  border-radius: var(--brad-regular);
  padding: 1.875vw;
  -webkit-box-shadow: 0 0.15625vw 0.8333333333vw rgba(28, 28, 28, 0.04);
          box-shadow: 0 0.15625vw 0.8333333333vw rgba(28, 28, 28, 0.04);
}

.doctor-single__video-box .doctor-single__section-title {
  margin-bottom: 1.25vw;
}

.doctor-single__video-card {
  position: relative;
  display: block;
  width: 14.5833333333vw;
  max-width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 0.7291666667vw;
  overflow: hidden;
  border: 0.1041666667vw solid #1d3077;
  background: #eef2ef;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.doctor-single__video-card:hover {
  -webkit-box-shadow: 0 0.4166666667vw 1.25vw rgba(29, 48, 119, 0.18);
          box-shadow: 0 0.4166666667vw 1.25vw rgba(29, 48, 119, 0.18);
}

.doctor-single__video-card img,
.doctor-single__video-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.doctor-single__video-placeholder {
  background: linear-gradient(180deg, #e8eef8 0%, #d5deef 100%);
}

.doctor-single__video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.6458333333vw;
  height: 3.6458333333vw;
  margin: -1.8229166667vw 0 0 -1.8229166667vw;
  border-radius: 50%;
  background: #1d3077;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 0 0.2083333333vw 0.8333333333vw rgba(29, 48, 119, 0.35);
          box-shadow: 0 0.2083333333vw 0.8333333333vw rgba(29, 48, 119, 0.35);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.doctor-single__video-play svg {
  width: 1.3541666667vw;
  height: 1.3541666667vw;
  margin-left: 0.15625vw;
}

.doctor-single__video-card:hover .doctor-single__video-play {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  background: #16265f;
}

@media (max-width: 1024px) {
  .doctor-single__video-box {
    padding: 3vw;
  }

  .doctor-single__video-card {
    width: 36vw;
  }

  .doctor-single__video-play {
    width: 8vw;
    height: 8vw;
    margin: -4vw 0 0 -4vw;
  }

  .doctor-single__video-play svg {
    width: 3.2vw;
    height: 3.2vw;
  }
}

@media (max-width: 767px) {
  .doctor-single__video-box {
    padding: 5vw;
  }

  .doctor-single__video-box .doctor-single__section-title {
    font-size: 5vw;
    margin-bottom: 4vw;
  }

  .doctor-single__video-card {
    width: 70vw;
    margin: 0 auto;
  }

  .doctor-single__video-play {
    width: 14vw;
    height: 14vw;
    margin: -7vw 0 0 -7vw;
  }

  .doctor-single__video-play svg {
    width: 5.5vw;
    height: 5.5vw;
  }
}

/* Quiz sidebar: attach doctor photo to name card and center vertically */
.calc-price__info {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.calc-price__info .info-person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.calc-price__info .info-person__img {
  height: auto;
  line-height: 0;
  margin: 0;
  padding: 0;
}

.calc-price__info .info-person__img img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 22vw;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom center;
     object-position: bottom center;
  vertical-align: bottom;
}

.calc-price__info .info-person__name {
  margin-top: -0.2083333333vw;
  position: relative;
  z-index: 1;
}

.calc-price__info .info-text {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin-bottom: 1.25vw;
}

.calc-price__info .info-bottom {
  margin-top: 0;
}




/* Cases (portfolio) cards & single */
.case-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(25% - 2.0833333333vw);
  margin: 1.0416666667vw;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e5ebe6;
  border-radius: var(--brad-regular);
  overflow: hidden;
  -webkit-box-shadow: 0 0.15625vw 0.8333333333vw rgba(28, 28, 28, 0.04);
          box-shadow: 0 0.15625vw 0.8333333333vw rgba(28, 28, 28, 0.04);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.case-card:hover {
  -webkit-box-shadow: 0 0.4166666667vw 1.25vw rgba(28, 28, 28, 0.1);
          box-shadow: 0 0.4166666667vw 1.25vw rgba(28, 28, 28, 0.1);
}

.case-card__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #eef2ef;
  overflow: hidden;
}

.case-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.case-card__body {
  padding: 0.8333333333vw 0.9375vw 1.0416666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5625vw;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.case-card__title {
  font-weight: 700;
  font-size: 0.9375vw;
  line-height: 1.25vw;
  color: var(--text-main-color);
}

.case-card__btn {
  margin-top: auto;
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  width: 13.0208333333vw;
  max-width: 100%;
  min-height: 0;
  height: 3.125vw;
  padding: 0 1.0416666667vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
  background: #1d3077 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 100rem;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 600;
  line-height: 0.9895833333vw;
  letter-spacing: 0.02em;
  white-space: nowrap;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-animation: none !important;
          animation: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  overflow: hidden;
}

.case-card__btn::before,
.case-card__btn::after,
.case-card__btn span::before,
.case-card__btn span::after {
  display: none !important;
  content: none !important;
  -webkit-animation: none !important;
          animation: none !important;
}

.portfolio__container .container-flex,
.cases-grid,
.cases-related__grid,
.doctor-cases__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -1.0416666667vw;
  gap: 0;
}

.portfolio__container .container-flex.cases-grid {
  gap: 0;
}

.case-single {
  padding-bottom: 4vw;
}

.case-single__title {
  margin-bottom: 1.25vw;
}

.case-single__doctors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625vw 1.0416666667vw;
  margin-bottom: 2.0833333333vw;
  font-size: 0.9375vw;
}

.case-single__doctors-label {
  font-weight: 700;
  color: #1c1c1c;
}

.case-single__doctor-link {
  color: #1d3077;
  font-weight: 600;
}

.case-single__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5625vw;
  margin-bottom: 2.6041666667vw;
}

.case-single__figure {
  width: calc(50% - 0.78125vw);
  margin: 0;
}

.case-single__figure a {
  display: block;
  border-radius: var(--brad-regular);
  overflow: hidden;
  background: #eef2ef;
}

.case-single__figure img {
  width: 100%;
  aspect-ratio: 3 / 4;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.case-single__caption {
  margin-top: 0.7291666667vw;
  text-align: center;
  font-size: 0.9375vw;
  line-height: 1.25vw;
  color: #444;
}

.case-single__description {
  margin-bottom: 2.0833333333vw;
}

.case-single__section-title {
  font-size: 1.4583333333vw;
  font-weight: 700;
  margin-bottom: 1.0416666667vw;
}

.case-single__text,
.case-single__content {
  font-size: 0.9375vw;
  line-height: 1.5625vw;
  color: #333;
}

.case-single__text p,
.case-single__content p {
  margin-bottom: 0.8333333333vw;
}

.case-single__back {
  margin-top: 1.5625vw;
}

.case-single__back a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4166666667vw;
  color: #1d3077;
  font-weight: 700;
}

.case-single__back svg {
  width: 0.9895833333vw;
  height: 0.9895833333vw;
}

.cases-related,
.doctor-cases {
  padding: 2vw 0 4vw;
}

.cases-related__title,
.doctor-cases__title {
  margin-bottom: 2vw;
}

@media (max-width: 1024px) {
  .case-card {
    width: calc(50% - 2.0833333333vw);
  }

  .case-card__title {
    font-size: 2vw;
    line-height: 1.3;
  }

  .case-card__btn {
    width: 28vw;
    height: 6vw;
    font-size: 1.8vw;
    line-height: 1.2;
    padding: 0 2vw;
  }

  .case-single__figure {
    width: calc(50% - 1vw);
  }

  .case-single__caption,
  .case-single__text,
  .case-single__content,
  .case-single__doctors {
    font-size: 1.8vw;
    line-height: 1.4;
  }
}

@media (max-width: 767px) {
  .case-card {
    width: calc(100% - 4vw);
    margin: 2vw;
  }

  .case-card__body {
    padding: 4vw;
    gap: 3vw;
  }

  .case-card__title {
    font-size: 4.5vw;
    line-height: 1.3;
  }

  .case-card__btn {
    width: 100%;
    height: 11vw;
    font-size: 3.6vw;
    line-height: 1.2;
    padding: 0 4vw;
  }

  .case-single__gallery {
    gap: 5vw;
  }

  .case-single__figure {
    width: 100%;
  }

  .case-single__caption,
  .case-single__text,
  .case-single__content,
  .case-single__doctors {
    font-size: 3.6vw;
    line-height: 1.4;
  }

  .case-single__section-title {
    font-size: 5vw;
  }
}

/* Allow text selection / copy on the site */
.page *,
.page {
  -webkit-user-select: text !important;
     -moz-user-select: text !important;
      -ms-user-select: text !important;
          user-select: text !important;
}

/* Services groups on homepage */
.services__group-title {
  margin: 3.125vw 0 1.5625vw;
  font-size: 1.875vw;
  line-height: 1.25;
  font-weight: 700;
  color: #1c1c1c;
}

.services__container--other {
  margin-top: 0;
}

@media (max-width: 1000px) {
  .services__group-title {
    margin: 8vw 0 4vw;
    font-size: 5.5vw;
    line-height: 1.25;
  }
}

/* Reply card 3: light image background — use dark text */
.reply__block:nth-child(3) {
  color: #1c1c1c;
}

