.ex-h4-span {
  font-size: 1.3333em;
  margin: 36px 0 26px;
  font-weight: 600 !important;
  display: block;
  position: relative;
  z-index: 1;
  color: #333;
  line-height: 1.35em;
  text-overflow: ellipsis;
  overflow: hidden;
  letter-spacing: normal;
  font-family: "Montserrat", Arial, sans-serif;
  margin-top: 0 !important;
}

.rab-results {
  margin: 32px 0!important;
}
@media (min-width: 768px) {
  .rab-results {
    margin: 54px 0!important;
  }
}


/* Контейнер списка */
.rab-results ul{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr; /* 1 колонка для мобильных */
  gap: 16px;
  counter-reset: step-counter;
}

.rab-results li {
  margin:0;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  transition: transform 0.2s ease, box-shadow 0.2s ease;

  box-sizing: border-box;
  height: 100%;
}

.rab-results li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Красивая нумерация блоком */
.rab-results li::before {
  counter-increment: step-counter;
  content: counter(step-counter, decimal);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  background-color: #e27c1d; /* Ваш цвет */
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border-radius: 40px;
  flex-shrink: 0;
  margin:0;
}

/* Адаптив: 2 колонки на десктопе */
@media (min-width: 768px) {
  .rab-results ul {
    grid-template-columns: repeat(2, 1fr); /* Элементы в ряду станут одной высоты */
    gap: 24px;
  }
}




.rab-results {
  margin: 50px 0;
}
.rab-results ul {
  list-style: none; /* Убираем стандартные точки */
  padding: 0;
}



/* Адаптив: переключение в 2 колонки на десктопе */
@media (min-width: 768px) {
  .rab-results ul {
    grid-template-columns: repeat(2, 1fr); /* 2 колонки равной ширины */
    gap: 12px; /* Чуть больше отступ на ПК */
  }
}
.rab-practic {
  padding: 0 0 32px 0;
}
@media (min-width: 768px) {
  .rab-practic {
    padding: 0 0 54px 0;
  }
}
/* Заголовок секции */
.rab-practic-title {
  color: #333;
  margin-bottom: 30px;
}

/* Сетка (Grid) */
.rab-practic-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr; /* 1 колонка на мобилках */
  gap: 20px;
}

/* Элемент списка и карточка (для одинаковой высоты в ряду) */
.rab-practic-grid li {
  box-sizing: border-box;
  height: 100%;
  list-style: none;
  margin: 0;
}
.rab-practic-grid li:before{
  content: '';
  display: none;
}
.rab-practic-card {
  border: 1px solid #f0f0f0; /* Тонкая серая рамка как на фото */
  border-radius: 4px;
  padding: 30px 25px;
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #fff;
}

/* Оранжевый кружок с цифрой */
.rab-practic-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #e27c1d; /* Оранжевый цвет */
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border-radius: 50%; /* Идеальный круг */
  margin-bottom: 20px;
}

/* Заголовок внутри карточки */
.rab-practic-card .rab-practic-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #17212a;
  margin: 0 0 12px 0;
  line-height: 1.4;
}

/* Описание */
.rab-practic-card p {
  font-size: 14px;
  color: #666; /* Серый текст */
  margin: 0;
  line-height: 1.5;
}

/* Адаптивность для планшетов и десктопов */
@media (min-width: 600px) and (max-width: 1024px) {
  .rab-practic-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 колонки на планшетах */
  }
}

@media (min-width: 1025px) {
  .rab-practic-grid {
    grid-template-columns: repeat(4, 1fr); /* 4 колонки на ПК */
    gap: 24px;
  }
}

/* Контейнер аккордеона */
.rab-grades {

}
.grade-accordion {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}

/* Шапка аккордеона */
.grade-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  font-weight: 700;
  font-size: 16px;
  color: #17212a;
  cursor: pointer;
  user-select: none;
}

/* Иконка плюс/минус */
.grade-accordion-icon {
  position: relative;
  width: 14px;
  height: 14px;
}
.grade-accordion-icon::before,
.grade-accordion-icon::after {
  content: '';
  position: absolute;
  background-color: #e27c1d;
  transition: transform 0.2s ease;
}
.grade-accordion-icon::before {
  top: 6px;
  left: 0;
  width: 14px;
  height: 2px;
}
.grade-accordion-icon::after {
  top: 0;
  left: 6px;
  width: 2px;
  height: 14px;
}

/* По умолчанию тело скрыто */
.grade-accordion-body {
  display: none;
  padding: 10px 24px 30px 24px;
  border-top: 1px solid #f5f5f5;
}


/* Стили при открытом состоянии (класс .is-open добавляется через JS) */
.grade-accordion.is-open .grade-accordion-body {
  display: block;
}
.grade-accordion.is-open .grade-accordion-icon::after {
  transform: rotate(90deg) scaleY(0); /* Превращаем плюс в минус */
}

/* Стилизация исходного контента */
.profession-grade-column h3 {
  font-size: 18px;
  font-weight: 700;
  color: #17212a;
  margin: 16px 0 16px 0!important;
  /* Запрещаем перенос заголовка в другую колонку посередине текста */
  break-inside: avoid;
  text-align: left;
}

.profession-grade-column p {
  font-size: 14px;
  color: #17212a;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

.profession-grade-column ul {
  margin: 0;
}

.profession-grade-column li {
  font-size: 14px;
  color: #17212a;
  line-height: 1.6;
  margin-bottom: 8px;
}

/* Разделение на 2 колонки на Десктопе */
@media (min-width: 768px) {
  .profession-grade-column {
    column-count: 2; /* Ровно 2 колонки */
    column-gap: 60px; /* Отступ между ними */
  }

  /* Запрещаем элементам разрываться между колонками */
  .profession-grade-column h3,
  .profession-grade-column p,
  .profession-grade-column ul {
    break-inside: avoid;
    display: inline-block; /* Стабилизирует отображение в некоторых браузерах */
    width: 100%;
  }
}
/* Общие стили секции */
.rab-salary {
  padding: 32px 0;
}
@media (min-width: 768px) {
  .rab-salary {
    padding: 54px 0;
  }
}
/* Заголовок секции */
.salary-title {
  color: #333;
  margin-bottom: 30px;
}

/* Сетка для карточек */
.salary-grid {
  display: grid;
  grid-template-columns: 1fr; /* По умолчанию 1 колонка (мобильные) */
  gap: 20px;
  margin-bottom: 24px;
}

/* Карточка со штриховой рамкой */
.salary-card {
  border: 1px dashed #b0b0b0; /* Серый пунктир как на макете */
  border-radius: 4px;
  padding: 30px 25px;
  background: #fff;
  box-sizing: border-box;
}

.salary-value {
  font-size: 32px;
  font-weight: 700;
  color: #999;
  margin-bottom: 15px;
}

/* Жирный подзаголовок */
.salary-subtitle {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px;
}

/* Мелкое описание (курсив) */
.salary-desc {
  font-size: 13px;
  color: #5b6881;
  font-style: italic; /* Курсивный текст */
  line-height: 1.4;
}

/* Нижнее уведомление с оранжевой полосой */
.salary-alert {
  border-left: 4px solid #e27c1d;
  padding: 15px 20px;
  font-size: 14px;
  color: #17212a;
  line-height: 1.5;
  border-radius: 0 4px 4px 0;
}

/* Адаптивность для десктопов */
@media (min-width: 768px) {
  .salary-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 колонки одинаковой высоты */
    gap: 30px; /* Увеличенный отступ между карточками */
  }
}

/* Общий контейнер секции */
.how-to-proceed {
  padding: 54px 0!important;
  background-color: #fcfcfc;
}

.how-to-proceed h2 {
  margin-bottom: 12px;
}

.how-to-proceed > .maxwidth-theme > p {
  font-size: 16px;
  color: #666;
  margin-bottom: 40px;
  line-height: 1.5;
}

/* Главный список (ol) — по умолчанию в 1 колонку на мобильных */
.how-to-proceed ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  counter-reset: steps-counter;
}

/* Карточка шага (li внутри ol) */
.how-to-proceed ol > li {
  counter-increment: steps-counter;
  position: relative;
  display: flex;
  flex-direction: column; /* Элементы внутри карточки идут сверху вниз */
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.01);
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  height: 100%; /* Чтобы все карточки в ряду растягивались */
  margin: 0;
}

/* Эффект при наведении */
.how-to-proceed ol > li:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
  border-color: #e27c1d;
}

/* Круглая оранжевая цифра */
.how-to-proceed ol > li::before {
  content: counter(steps-counter);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  background-color: #e27c1d;
  color: #ffffff;
  font-weight: 700;
  font-size: 16px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(242, 133, 36, 0.2);
}

.how-to-proceed ol > li p {
  margin: 0;
  padding: 0;
}

/* Внутренний список контактов (ul) */
.how-to-proceed ol > li ul {
  list-style: none;
  padding: 0;
  margin: 12px 0 0 0;
  display: block;
  width: 100%;
}
.how-to-proceed ol > li ul li {
  display: block;
  height: unset;
  margin: 0;
  margin-bottom: 4px!important;

  font-size: 13px;
  background: #f5f7fa;
  padding: 6px 8px;
  border-radius: 6px;
  color: #555;
  border: 1px solid #e2e8f0;
  box-sizing: border-box;
  width: 100%;
}
.how-to-proceed ol > li ul li a {
  padding-left: 0;
}
.how-to-proceed ol > li ul li:before {
  display: none;
}
/* --- АДАПТИВНОСТЬ ДЛЯ ДЕСКТОПА --- */
@media (min-width: 992px) {
  /* Перестраиваем в 4 колонки в один ряд */
  .how-to-proceed ol {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  /* Оптимизируем отступы для горизонтального отображения */
  .how-to-proceed ol > li {
    padding: 28px 20px;
  }
}

/* Основные стили секции */
.rab-price {
  padding: 32px 0 0 0;
  background-color: #fff;
}
@media (min-width: 768px) {
  .rab-price {
    padding: 54px 0 0 0;
  }
}

/* Двухколоночный Grid-контейнер */
.price-container {
  display: grid;
  grid-template-columns: 1fr; /* 1 колонка на мобилках */
  gap: 40px;
  align-items: start;
}

/* --- ЛЕВАЯ КОЛОНКА --- */
.price-title {
  color: #333;
  margin: 0 0 20px 0;
}

.price-lead {
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  margin-bottom: 24px;
}

.price-lead strong {
  font-weight: 700;
}

/* Маркированный список */
.price-list {
  padding-left: 20px;
  margin: 0;
}

.price-list li {
  font-size: 15px;
  color: #333;
  line-height: 1.6;
  margin-bottom: 12px;
}

/* --- ПРАВАЯ КОЛОНКА (ФОРМА) --- */
.price-form-wrap {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  padding: 30px;
  border-radius: 4px;
  box-sizing: border-box;
}

/* Строки калькулятора параметров */
.calc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-direction: column;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #333;
}
@media (min-width: 992px) {
  .calc-row {
    flex-direction: row;
  }
}
.font-bold {
  font-weight: 700;
}

/* Строка с итоговой ценой */
.price-row {
  border-bottom: none;
  margin-bottom: 20px;
  align-items: center;
}

.calc-total {
  font-size: 26px;
  font-weight: 700;
  color: #e27c1d; /* Оранжевый цвет цены */
}

/* Поля ввода и кнопка */
.form-fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.form-fields input {
  width: 100%;
  height: 44px;
  padding: 0 15px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  font-size: 14px;
  color: #333;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s;
}

.form-fields input:focus {
  border-color: #e27c1d; /* Подсветка поля при фокусе */
}

/* Оранжевая кнопка */
.btn-submit {
  width: 100%;
  height: 48px;
  background-color: #e27c1d;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s;
}

.btn-submit:hover {
  background-color: #d97016; /* Потемнение при наведении */
}

/* --- АДАТИВНОСТЬ ДЛЯ ДЕСКТОПОВ --- */
@media (min-width: 992px) {
  .price-container {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
}
.people-review .flex-direction-nav {
  display: block!important;
  padding: 0 16px;
}
.people-review .flex-direction-nav li {
  list-style: none;
}
.people-review .flex-direction-nav li a {
  border: 1px solid #eff1f5;
  top:0;
}
.people-review .flex-direction-nav li a.flex-prev,
.mobile .people-review .flex-direction-nav li a.flex-prev {
  left:unset!important;
  right:75px!important;
}
.mobile .people-review .flex-direction-nav li a.flex-prev,
.mobile .people-review .flex-direction-nav li a.flex-next {
  width: 48px;
  height: 48px;
}
.people-review .flex-direction-nav li a.flex-next,
.mobile .people-review .flex-direction-nav li a.flex-next {
  left:unset!important;
  right:16px!important;
}


.about-sanitar button:hover {
  background-color: #e58c38;
  border-color: #e58c38;
}
.about-sanitar .content-course {
  margin-top: 32px!important;
}
@media (min-width: 768px) {
  .about-sanitar .content-course {
    margin-top: 54px!important;
  }
}
.documents {
  padding-top: 32px!important;
}
@media (min-width: 768px) {
  .documents {
    padding-top: 54px!important;
  }
}

.people-review {
  padding-top: 32px!important;
  padding-bottom: 32px!important;
}
@media (min-width: 768px) {
  .people-review {
    padding-top: 54px!important;
    padding-bottom: 54px!important;
  }
}
@media (min-width: 768px) {
  .documents .left_wrap:not(:last-child) {
    margin-bottom: 0!important;
  }
}

section.partners {
  padding-top: 0px!important;
  padding-bottom: 32px!important;
}

@media (min-width: 768px) {
  section.partners {
    padding-bottom: 54px!important;
  }
}

.item-views.staff.linked.sections.within {
  padding-bottom: 32px;
}

@media (min-width: 768px) {
  .item-views.staff.linked.sections.within {
    padding-bottom: 54px;
  }
}

.block__faq {
  margin-bottom: 0px!important;
}
.analog-cources{
  margin-top: 32px;
}

@media (min-width: 768px) {
  .analog-cources{
    margin-top: 54px;
  }
}

.analog-cources .section-block-link {
  padding-top: 0;
}
@media (max-width: 767px) {
  body .item-views.front.services-items {
    padding-top: 0px !important;
  }
}
.section-block-reason {
  padding: 0!important;
}
.about-sanitar .content-course h2 {
  border-bottom: 0!important;
  margin-bottom: 0!important;
}
.about-sanitar__content h3{
  text-align: left;
}
