/* Responsive overrides extracted from main.css */

@media (max-width: 768px) {
    .updated-contacts .map-frame {
        height: 400px;
    }

    .text-block table {
        font-size: 14px;
    }
    .text-block table tr th, 
    .text-block table tr td {
        padding: 10px;
    }
}

@media (max-width: 768px) {
  .catalog-wrapper {
    flex-direction: column;
  }
  
  /* Показываем кнопку "Показать фильтры" */
  .mobile-filter-controls {
    display: block;
    margin-bottom: 20px;
  }
  #mobile-filter-toggle {
      width: 100%;
  }

  /* Превращаем сайдбар в оверлей */
  .catalog-sidebar {
    display: none; /* Скрываем по умолчанию */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    overflow-y: auto;
    border-radius: 0;
    padding-top: 20px;
  }
  
  /* Класс для отображения панели фильтров */
  body.filters-visible .catalog-sidebar {
      display: block;
      background: #fff;
  }
  /* Блокируем скролл фона, когда фильтры открыты */
  body.filters-visible {
      overflow: hidden;
  }

  /* Стили для хедера мобильного фильтра */
  .mobile-filter-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 20px 20px;
  }
  .mobile-filter-header h3 {
      font-size: 24px;
      margin: 0;
  }
  #close-filters {
      font-size: 30px;
      line-height: 1;
      background: none;
      border: none;
      cursor: pointer;
      color: #787878;
  }
  
  /* Сброс стилей для основного контента сайдбара */
  .catalog-sidebar .filter-group,
  .catalog-sidebar .sidebar-cta {
      padding: 0 20px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }
  .service-card.wide {
    grid-column: span 1;
    flex-direction: column;
  }
  .service-card.wide .service-img {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 0 18px;
    border-radius: 16px;
  }
}

@media (max-width: 992px) {
    .equip-visual {
        margin-top: 30px;
        flex-direction: column;
    }
    .equip-thumbnails {
        flex-direction: row;
        width: 100%;
    }
    .equip-info {
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .cookie-notification {
        width: calc(100% - 30px);
        bottom: 60px;
        flex-direction: column;
        text-align: center;
    }
    
    .cookie-notification p {
        max-width: 100%;
        margin-bottom: 10px;
    }
}

@media (max-width: 991px) {
    .row.auto-h .col-4 > .news-item {
        height: auto;
        margin-bottom: 0;
    }
    .quiz .quiz__header h2 {
        font-size: 26px;
    }
    .quiz .quiz__header {
        margin-bottom: 0;
    }
    .quiz-step__title {
        font-size: 18px;
    }
    .quiz-item {
        padding: 8px 16px;
    }
    .news-item__title a {
        font-size: 16px;
    }
    .updated-contacts .card_contacts__in {
        padding: 30px 20px;
    }
    .contact-phone {
        font-size: 26px;
    }
    .updated-contacts h2 {
        font-size: 32px;
        margin-bottom: 20px;
    }
    .contact-divider {
        margin: 30px 0;
    }
    .social-btn {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 768px) {
    
    .post-author-divider {
        max-width: 100%; /* На телефоне линия на всю ширину */
        margin: 25px 0;
    }
}

@media (max-width: 991px) {
    .filter-label {
        padding: 16px 0;
        border: none;
    }
    .card .search .search-full__in .btn {
        width: 100px;
    }
    .search-form-wrapper {
        position: fixed;
        top: 0;          /* Прижимаем к самому верху */
        left: 0;
        right: 0;
        width: 100%;     /* Во всю ширину */
        height: 60px;    /* Высота вашей мобильной шапки */
        max-width: none; /* Сбрасываем ограничения ширины десктопа */
        
        transform: translateY(-100%); /* Спрятан за верхней границей экрана */
        transition: transform 0.3s ease;
        z-index: 1001;   /* Поверх всего (меню, шапки) */
        background: #fff; 
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        
        /* Сброс десктопных стилей скрытия, если они сделаны через opacity/visibility */
        visibility: visible; 
        opacity: 1;
        display: flex;   /* Для центрирования формы внутри */
        align-items: center;
    }

    /* Состояние открытия */
    .search-form-wrapper.active {
        transform: translateY(0); /* Выезжает вниз */
        /* width: 100%; - не обязательно дублировать */
    }
    
    /* Немного поправить внутренности формы для мобилки */
    .search-form {
        width: 100%;
        padding: 0 15px;
    }
    .search-form__inner {
        border: none; /* Убрать рамки, если мешают */
    }
}

@media (max-width: 991px) {
    .bottom-panel {
        display: block;
    }
}

@media (max-width: 768px) {
    /* Ломаем стандартную табличную структуру, делаем её блочной */
    .prices-table table, 
    .prices-table tbody, 
    .prices-table tr, 
    .prices-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    /* Убираем стандартные рамки и паддинги ячеек */
    .prices-table table td {
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Каждая строка (<tr>) теперь работает как отдельная Flex-карточка */
    .prices-table tr.price-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 20px 0 !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }

    /* 1. Код услуги (самый верхний, мелкий и серый) */
    .prices-table td.service-code {
        width: 100%;
        font-size: 13px !important;
        color: #999;
        order: 1; /* Порядок вывода: 1 */
        margin-bottom: 6px;
    }

    /* 2. Название услуги (крупное, жирное, на всю ширину) */
    .prices-table td.service-name {
        width: 100%;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.4;
        color: #2c2c2c;
        order: 2; /* Порядок вывода: 2 */
        margin-bottom: 16px;
    }

    /* 3. Длительность процедуры */
    .prices-table td.service-price__duration {
        width: auto;
        font-size: 14px !important;
        color: #787878;
        order: 3; /* Порядок вывода: 3 */
    }

    /* 4. Цена (выделяем её) */
    .prices-table td.service-price {
        width: auto;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--red) !important; /* Используем ваш фирменный золотой */
        order: 4; /* Порядок вывода: 4 */
        flex-grow: 1; /* Цена занимает всё свободное место, отталкивая кнопку, если она в той же строке */
    }

    /* 5. Кнопка записи */
    .prices-table td.service-action {
        width: 100%;
        order: 5; /* Порядок вывода: 5 (самая нижняя) */
        display: block !important; /* ВАЖНО: принудительно возвращаем кнопку, которая скрывалась старым кодом */
        margin-top: 15px;
    }

    /* Делаем кнопку на всю ширину для удобного тапа на телефоне */
    .prices-table td.service-action .btn {
        width: 100%;
        display: block;
        text-align: center;
        padding: 0; /* Чтобы текст был ровно по центру */
    }

    /* Компактный мобильный вид цен на страницах услуг */
    .prices-table tr.price-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto 42px;
        grid-template-areas:
            "name price action"
            "desc desc desc";
        column-gap: 10px;
        row-gap: 4px;
        align-items: center;
        flex-wrap: initial;
        padding: 14px 0 !important;
        border-bottom: 1px solid #d7d7d7 !important;
    }
    .prices-table tr.price-row[hidden] {
        display: none !important;
    }
    .prices-table td.service-name,
    .prices-table td.service-price,
    .prices-table td.service-action {
        order: 0;
    }
    .prices-table td.service-name {
        grid-area: name;
        width: auto;
        min-width: 0;
        margin-bottom: 0;
        font-size: 16px !important;
        line-height: 1.28;
        font-weight: 500 !important;
        color: var(--black);
    }
    .prices-table td.service-name .service-title {
        display: block;
    }
    .prices-table td.service-price__duration {
        display: none !important;
    }
    .prices-table td.service-price {
        grid-area: price;
        width: auto;
        min-width: 76px;
        flex-grow: 0;
        text-align: right !important;
        white-space: nowrap;
        font-size: 16px !important;
        line-height: 1.2;
        font-weight: 600 !important;
        color: var(--black) !important;
    }
    .prices-table td.service-action {
        grid-area: action;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        margin-top: 0;
        text-align: right !important;
    }
    .prices-table td.service-action .service-price-action {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 42px !important;
        height: 42px;
        min-width: 42px;
        padding: 0 !important;
        border-radius: 50%;
        font-size: 0;
        line-height: 1;
    }
    .prices-table td.service-action .service-price-action::after {
        content: "";
        width: 9px;
        height: 9px;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        transform: rotate(45deg);
        margin-left: -3px;
    }
    .prices-table .price-row__desc {
        grid-area: desc;
        margin: 4px 52px 0 0;
        font-size: 13px;
        line-height: 1.35;
        color: var(--gray);
    }
    .service-prices-toggle {
        margin: 18px 0 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        color: var(--black);
        font-size: 16px;
        line-height: 1.2;
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .service-prices-toggle svg {
        display: none;
    }
    .service-prices-toggle.is-expanded {
        margin: 18px 0 0;
    }
    .faq-list .faq-question {
        font-size: 16px;
    }
}

@media (max-width: 576px) {
    .contact-route-actions__buttons {
        flex-direction: column;
    }
}

@media (max-width: 991px) {

    .service-card {
        display: flex;
        flex-direction: row;
        gap: 16px;
    }

    /* На мобильных делаем блоки друг под другом: Фото -> Текст -> Карта */
    .contacts-page .contacts-image-col,
    .contacts-page .contacts-text-col {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    /* Ограничиваем высоту картинки на телефоне */
    .contacts-page .contacts-main-img {
        height: 300px; 
    }
    
    .contacts-page .card_contacts__in {
        padding: 20px 0;
    }
    .contacts-page h1 {
        font-size: 32px;
        margin-bottom: 20px;
    }
    .contacts-page .contact-phone {
        font-size: 26px;
    }
    .contacts-page .contacts-map-bottom .map-frame {
        height: 400px;
    }
}

@media (max-width: 991px) {
    .header__mic-btn {
        display: none; /* На мобильных обычно и так мало места в шапке */
    }
    .search-form-wrapper.active {
        width: 100%; /* На мобильном растягиваем на весь экран */
    }
}

@media (max-width: 991px) {
    .features-card .row.auto-h {
        margin: 0;
    }
    /* На планшетах по 2 в ряд */
    .sales-row .col-4 {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
    }
}

@media (max-width: 768px) {
    /* На телефонах всё в 1 колонку */
    .sales-row .col-4,
    .sales-row .col-12 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
    
    /* Ломаем горизонтальную структуру первой карточки */
    .sale-card--featured {
        flex-direction: column;
        align-items: stretch;
    }
    
    .sale-card--featured .sale-card__img {
        width: 100%;
        height: 250px;
        min-height: auto;
    }
    
    .sale-card--featured .sale-card__content {
        width: 100%;
        padding: 24px;
    }
    
    .sale-card--featured .sale-card__title {
        font-size: 24px;
    }
    
    .sale-card--featured .sale-card__short {
        font-size: 15px;
    }
}

@media (max-width: 991px) {
    .container {
        width: 100%;
        max-width: 600px;
    }
    .in-text-block.card,
    .article-body-row .in-text-block.card {
        padding: 25px 15px;
    }
    .article-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    .article-list li a {
        font-size: 14px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .form input[type="email"], .form input[type="text"], .form select {
        height: 44px;
    }

    .form__submit .btn {
        width: 100%;
    }

    .cta__sub br {
        display: none;
    }

    .service-hero__image img {
        height: 280px;
    }

    .wide .service-info {
        width: 100%;
    }

    .panel-adaptive ul .sub-menu li a {
        font-weight: normal;
    }
    .page-template-contacts .contact-item_phone {
        font-size: 22px;
        font-weight: bold;
    }
    .page-template-contacts .card__contacts-list {
        gap: 10px;
        padding: 25px 15px;
    }
    .hero__in .hero__image .hero-img {
        width: 100%;
        height: 200px;
        border-radius: 0;
        
    }
    .hero__in .hero__image {
        position: relative;
        top: 0;
        right: inherit;
        margin: 40px -15px 0;
        width: calc(100% + 30px);
    }
    .hero_service.hero {
        margin-bottom: 0;
    }
    .price-item__val {
        margin-top: 10px;
    }
    h2 {
        font-size: 24px;
    }
    .service-content h2 {
        font-size: 24px;
    }
    h3,
    .service-content h3 {
        font-size: 20px;
    }

    .card__contacts-lists {
        flex-direction: column;
    }
    .card_contacts__in {
        padding: 25px 15px;
    }
    .cta__image {
        display: none;
    }
    .quiz-step__title {
        font-size: 18px;
    }
    .quiz-item {
        font-size: 14px;
        white-space: inherit;
    }
    .reviews-row.auto-h {
        margin: 0;
    }
    .reviews-row.auto-h .col-4 {
        padding: 0;
    }
    .alert-text {
        align-items: flex-start;
        padding: 24px;
        flex-direction: column;
    }
    .alert-text__in {
        font-size: 16px;
    }
}

@media (max-width: 991px) {

    .form-group {
        margin-bottom: 20px;
    }
    .form__submit {
        margin: 0 0 20px;
    }

    .about-block__content {
        padding: 0;
    }

    .h2__sub {
        margin-top: 0;
    }
    .header__top {
        height: 56px;
        align-items: center;
    }
    .header__brand {
        width: auto;
        height: auto;
    }
    .about__numbs .ben-item__title {
        font-size: 32px;
    }
    .about__numbs .ben-item__text {
        font-size: 16px;
    }
    .why__text {
        margin-bottom: 40px;
    }
    .ben-item {
        margin-bottom: 20px;
    }
    .reviews-card__sub {
        margin-top: 0;
    }
    .reviews-card__action {
        margin: 20px 0 0;
    }
    .photos-clinic__bottom {
        flex-direction: column;
    }
    .about-photo__img {
        width: 100%;
        height: 200px;
    }
    body {
        padding-top: 65px;
    }
    .price-controls .price-search-wrapper {
        flex: 1;
    }
    .card__contacts-list {
        padding-top: 0;
        margin-bottom: 40px;
    }
    .card__contacts-list {
        margin-bottom: 16px;
    }
    .card__contacts-text {
        font-size: 16px;
        margin-top: 20px;
    }
    .contact-item__icon {
        width: 16px;
        height: 16px;
    }
    .contact-item {
        font-size: 16px;
    }
    .contact-item__icon svg {
        width: 16px;
        height: 16px;
    }
    .title-block {
        gap: 20px;
    }
    .service-item__title a {
        font-size: 16px;
    }
    .service-item__short {
        font-size: 14px;
    }
    .service-item {
        padding: 20px 20px 150px;
    }
    .service-item__img {
        top: inherit;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 140px;
    }
    .service-item__img img {
        border-radius: 50% 50% 0 0;
    }
    .cta__img {
        display: none;
    }
    .cta__content {
        padding: 0;
    }
    .row.auto-h.bens__bottom-list .col-6:nth-child(3) {
        margin-bottom: 10px;
    }
    .ben-bottom__icon {
        margin-bottom: 10px;
    }
    .ben-bottom__icon {
        width: 50px;
    }
    .ben-bottom__icon img {
        max-width: 44px;
        max-height: 50px;
        object-fit: cover;
    }
    .hero__features {
        margin-top: 40px;
    }
    .hero__feature-img {
        width: 40px;
        height: 40px;
    }
    .hero__feature-img img {
        max-width: 40px;
        height: auto;
        object-fit: cover;
    }
    .about__cats {
        position: relative;
        gap: 10px;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .about__cat-icon img {
        max-width: 80%;
    }
    .about__cat-icon {
        width: 60px;
        height: 60px;
    }
    .about__cat {
        padding: 20px;
        width: 100%;
    }
    .about__cat-title {
        font-size: 14px;
    }
    .hero__sub {
        margin: 0 auto 40px;
    }
    .hero__feature {
        width: calc(50% - 10px);
        margin-bottom: 20px;
        flex-direction: column;
        height: auto;
    }
    .hero__feature-title {
        font-size: 14px;
    }
    .hero_front .hero__image {
        display: block;
        margin-top: 40px;
        bottom: inherit;
    }
    .hero_front .hero__image img {
        max-width: 90%;
    }
    .contacts-page .contact-item {
        padding: 10px;
    }
    .contact-form {
        padding: 20px;
    }
    .footer__list {
        text-align: left;
    }
    .footer__sub {
        font-size: 14px;
        margin-bottom: 12px;
    }
    .footer__contacts-item, .footer__mail a, .footer__phone-link {
        text-align: left;
        font-size: 16px;
    }
    .footer__list li a {
        font-size: 14px;
    }
    .footer__links {
        text-align: left;
    }
    .footer__links li a {
        font-size: 14px;
    }
    .footer__author-text {
        font-size: 14px;
    }
    .bread__line {
        margin-bottom: 14px;
    }
    .breadcrumb,
    .breadcrumb a {
        font-size: 14px;
    }
    .breadcrumb {
        margin-top: 14px;
    }
    .serv-item {
        padding: 20px;
    }
    .header__middle {
        height: 60px;
    }
    .sales-grid {
        display: block;
    }
    .panel-adaptive__contact .footer__tel {
        justify-content: left;
    }
    .panel-adaptive {
        display: block;
    }
    .header__nav {
        display: none;
    }
    .hero__logo img {
        width: 200px;
    }
    .medmaket-legacy-header {
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 66;
        background: #fff;
    }
    .header__brand img {
        max-width: 130px;
    }
    .header__in {
        height: 56px;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
    }
    .medmaket-legacy-header.header_scroll {
        top: 0;
    }
    .main-hero {
        padding-top: 160px;
        height: 400px;
        margin-bottom: 40px;
    }
    .medmaket-legacy-footer {
        padding: 30px 0;
    }
    .footer__lists {
        gap: 20px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .footer-list {
        width: calc(50% - 10px);
    }
    .footer__in {
        align-items: flex-start;
        text-align: left;
    }
    .footer__tel {
        justify-content: center;
    }
    .footer__brand {
        margin-bottom: 20px;
    }
    .footer__brand img {
        max-width: 200px;
    }
    .footer-contact__icon {
        position: relative;
        margin-right: 4px;
        display: inline-block;  
    }
    .footer-contact {
        padding-left: 0;
    }
    .footer__schedule {
        padding-left: 0;
    }
    .footer__list {
        margin: 20px 0;
    }
    .footer__copy {
        text-align: center;
    }
    .btn {
        max-width: 100%;
        font-size: 16px;
        line-height: 44px;
        height: 44px;
    }
    .sales-col {
        width: 100%;
    }
    .sales-grid {
        flex-wrap: wrap;
    }
    .card {
        padding: 25px 15px;
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    h2 {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .sale-item__title {
        margin-top: 12px;
        font-size: 18px;
    }
    .sale-item__more {
        gap: 15px;
        font-size: 14px;
    }
    .sale-item__sub {
        font-size: 13px;
        margin-bottom: 4px;
    }
    .bens {
        display: block;
    }
    .ben-item__numb {
        font-size: 35px;
        margin-bottom: 15px;
    }
    .ben-item__title {
        font-size: 18px;
    }
    .title-block {
        margin-bottom: 40px;
    }
    .title-block__btn a {
        gap: 10px;
        font-size: 14px;
    }
    .title-block__btn svg {
        width: 20px;
    }
    .app__text {
        font-size: 16px;
        line-height: 1.6;
    }
    .app__btn {
        margin-bottom: 20px;
    }
    .star_1 img {
        height: 250px;
    }
    .star_2 .star__name {
        top: inherit;
        left: inherit;
        right: 10px;
        bottom: 10px;
    }
    .photos__text {
        padding-top: 0;
        font-size: 16px;
        line-height: 1.5;
    }
    .photos__btn {
        margin-bottom: 40px;
    }
    .slider-nav {
        display: none;
    }
    .header__menu {
        display: block;
    }
    .header-mobile__phone {
        display: block;
    }
    .header-mobile__phone {
        margin-left: auto;
    }
    .form__title {
        font-size: 26px;
    }
    .screen__bens {
        display: none;
    }
    .text-block {
        font-size: 16px;
    }
    h1.hero__title {
        font-size: 32px;
        line-height: 1.2;
    }
    .hero__sub {
        font-size: 16px;
    }
    .hero_service {
        background: none !important;
        padding-bottom: 0;
    }
    .hero__btn-price {
        flex-wrap: wrap;
    }
    .hero__price {
        margin-top: 20px;
    }
    .sben-item__title {
        font-size: 20px;
    }
    .expert__title-in {
        display: block;
    }
    .expert__header {
        display: block;
    }
    .expert__info {
        margin: 20px 0;
    }
    .expert__btn .btn {
        font-size: 12px;
        padding: 0 20px;
    }
    .expert__btn {
        margin: 20px 0 0;
    }
    .price-item {
        display: block;
    }
    .expert__text {
        padding-left: 0;
    }
    .expert__text:before {
        left: 0;
    }
    .text-block h2 {
        font-size: 30px;
        margin-bottom: 33px;
    }
    .problems-list li a {
        font-size: 14px;
    }
    .equipment-item {
        padding: 20px;
    }
    .equipment-item__text {
        font-size: 16px;
    }
    h1 {
        font-size: 30px;
        margin-bottom: 30px;
    }
    .spec-page__btns {
        flex-wrap: wrap;
        gap: 20px;
    }
    .price-list .faq-question {
        font-size: 16px;
    }
    .header__contacts,
    .header__btn {
        display: none;
    }
    .features__list {
        flex-wrap: wrap;
    }
    .feature {
        flex: 0 0 100%;
    }
    .hero__image {
        position: relative;
        right: inherit;
    }
    .hero__image img {
        max-width: 100%;
    }
    .hero__in {
        padding-bottom: 0;
    }
    .hero_service .hero__in {
        padding: 25px 15px;
    }
    .title-block {
        flex-wrap: wrap;
    }
    .hero {
        min-height: auto;
    }
    .hero__title h1 {
        font-size: 28px;
        line-height: 1.2;
    }
    .hero__btns {
        display: block;
        margin-bottom: 40px;
    }
    .hero__btns a {
        width: 100%;
        margin-bottom: 10px;
    }
    .feature {
        border-right: none;
        margin-bottom: 30px;
    }
    .feature__title {
        font-size: 18px;
    }
    .feature__text {
        font-size: 16px;
    }
    .title-block .h2__sub {
        padding-left: 0;
        border: none;
        margin: 20px 0 40px;
    }
    .card-callback__title {
        font-size: 24px;
    }
    .front-faq .faq-question {
        font-size: 18px;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-right: 50px;
    }
    .faq-item__btn svg {
        width: 12px;
        height: 12px;
    }
    .ben-bottom__text {
        font-size: 14px;
    }
    .ben-bottom {
        display: flex;
        flex-direction: row;
        gap: 20px;
        margin-bottom: 40px;
    }
    .ben-bottom__title {
        font-size: 30px;
    }
    .footer__callback {
        margin-bottom: 40px;
    }
    .text-block h2,
    .text-block h3 {
        text-align: left !important;
    }
    .text-block h2 {
        font-size: 24px;
        line-height: 1.2;
    }
    .text-block h3 {
        font-size: 20px;
        line-height: 1.2;
    }
    .service-link > ul.sub-menu {
        columns: 2;
        padding: 20px;
        display: none;
    }
    .header__search-btn {
        display: none;
    }
    .text-block .card_callback .card-callback__text h5 {
        font-size: 20px;
        line-height: 1.2;
    }
    .text-block .bsf-info-box:before {
        display: block;
        margin: 0 auto 12px;
        position: relative;
        top: 0;
        left: 0;
    }
    .text-block .bsf-info-box {
        padding: 20px 20px 40px 20px;
    }
    .text-block .alignright {
        float: none !important;
        max-width: 100% !important;
        height: auto !important;
        display: block;
        margin: 10px auto 10px;
    }
    .medmaket-legacy-header {
        position: fixed;
    }
    .panel-adaptive .sub-menu {
        display: none;
    }
    .text-block table tr td:last-child {
        min-width: 100px;
    }
    .faq-item__btn {
        top: 30px;
        right: 12px;
    }
    .prices-table table td {
        font-size: 14px;
    }
    .prices-table table td:last-child {
        min-width: 100px;
    }
    .spec-page__img {
        margin-bottom: 20px;
    }
    .app__img {
        margin-bottom: 20px;
    }
    .table-responsive {
        width: 100%;
        overflow-x: auto;
    }

    /* new */
    .header__sub,
    .header__address-place {
        display: none;
    }

    .footer__bottom-in {
        flex-direction: column;
        padding: 20px 0;
        align-items: flex-start;
    }

    .footer__alert img {
        width: 100%;
    }

    /* new */
    .header__middle {
        display: none;
    }
    .footer__bottom-in {
        font-size: 14px;
    }
    .footer__in {
        flex-direction: column;
    }
    .header__slabo {
        display: none;
    }
    .header__place,
    .header__schedule,
    .header__address {
        display: none;
    }
    .medmaket-legacy-footer .header__schedule {
        display: block;
    }
    .footer__brand {
        width: 100%;
        height: auto;
    }
    .footer__address {
        margin-bottom: 20px;
    }
    .card_row.row {
        margin: 0;
    }
    .card_row.row .col-4,
    .card_row.row .col-6,
    .card_row.row .col-8 {
        padding: 0;
    }
    .hero {
        padding-top: 0;
        overflow: hidden;
    }
    .hero__title {
        font-size: 32px;
    }
    .hero-item__image img {
        width: 100%;
        height: 250px;
    }
    .hero-item__title {
        font-size: 18px;
    }
    .hero-item__sub {
        font-size: 14px;
    }
    .hero-item__image {
        width: 100%;
    }
    .hero-item {
        width: 100%;
    }
    .about__numbs {
        margin-top: 40px;
    }
    .ben-item__text {
        font-size: 14px;
    }
    .load-more-container {
        margin-top: 20px;
    }
    .btn.btn_ghost {
        height: 44px;
        line-height: 42px;
    }
    .folio-name {
        font-size: 16px;
    }
    .reviews-card__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .quiz__content {
        padding: 25px 15px;
    }
    .last-posts__header {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
        padding: 25px 15px;
    }
    .news-item {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    .last-posts .row .col-6 {
        margin-bottom: 10px;
    }
    .quiz__content {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    .hero__top {
        margin-top: 20px;
        flex-direction: column;
        gap: 20px;
    }

    /* Уменьшаем контейнер кнопки */
    .circle-btn {
        width: 120px;
        height: 120px;
    }

    /* Уменьшаем вращающийся SVG с текстом */
    .circle-btn__svg {
        width: 120px;
        height: 120px;
    }

    /* Пропорционально уменьшаем иконку карандаша внутри */
    /* 64px было при 200px, значит для 120px нужно около 38px */
    .circle-btn__icon svg {
        width: 38px;
        height: 38px;
    }
    .hero__top {
        position: relative;
        margin-bottom: 0;
        padding-bottom: 100px;
    }
    .hero__action {
        position: absolute;
        bottom: 24px;
        right: 0;
        z-index: 4;
    }
    .hero__sub br {
        display: none;
    }
    .why__video {
        display: flex;
        justify-content: flex-end;
    }
    .about__action {
        display: flex;
        justify-content: flex-end;
    }
    .reviews-card__action {
        margin-left: auto;
    }
    .last-posts__action .btn {
        width: 100%;
        justify-content: center;
    }

    /* 991 */
}

@media (max-width: 768px) {
    .price-table__row .price-table__cell:first-child {
        font-size: 10px;
    }
}

@media (max-width: 400px) {
    .folio-item {
        height: 240px;
    }
    .folio-item img {
        height: 240px;
    }
}

@media (max-width: 991px) {
    .service-img {
        margin-bottom: 0;
    }
    .service-intro__breadcrumbs {
        margin: 0;
    }
    body .breadcrumb li a {
        font-size: 14px;
    }
    .service-intro__breadcrumbs .container {
        padding: 0 !important;
    }

    .service-intro--front .service-intro__inner { padding: 140px 20px 0; }
    .service-intro--front .service-intro__row {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "left right"
            "center center";
        gap: 16px 24px;
    }
    .service-intro--front .service-intro__left   { grid-area: left; padding-bottom: 24px; }
    .service-intro--front .service-intro__center {
        grid-area: center;
        margin-right: 0;
        justify-content: center;
    }
    .service-intro--front .hero-front__promos    { grid-area: right; padding: 0; }
    .service-intro--front .service-intro__title { font-size: 32px; }
    .hero-front__person-img { max-height: 480px; max-width: 100%; }
}

@media (max-width: 600px) {
    .service-intro--front .service-intro__inner { padding: 50px 16px 0; }
    .service-intro--front .service-intro__row {
        grid-template-columns: 1fr;
        grid-template-areas:
            "left"
            "center"
            "right";
    }
    .service-intro--front .service-intro__title { font-size: 26px; }
    .hero-front__person-img { max-height: 360px; }
    .hero-promo { padding-right: 130px; }
    .hero-promo__image { width: 110px; height: 110px; }
}

@media (max-width: 991px) {

    .service-intro__person {
        object-position: center;
    }

    .hero-front__rating {
        margin: 0 auto;
    }

    .service-intro__btn, .service-intro .btn.service-intro__btn {
        margin: 0 0 20px;
    }
    .service-intro--front .hero-front__promos {
        margin-top: -45px;
    }

    .service-intro--front .service-intro__left {
        padding: 20px 0 0;
    }

    .medmaket-legacy-header .header__in { padding: 12px 16px; height: auto; min-height: auto; }
    .header__in .header__top { flex-wrap: wrap; gap: 12px 16px; font-size: 13px; margin-bottom: 12px; }
    .header__in .header__middle { gap: 16px; }
    .header__in .header__search-group { display: none; }
    .header__in .header__slabo { display: none; }

    .service-intro__inner { padding: 140px 20px 0; }
    .service-intro__row { flex-direction: column; gap: 0; }
    .service-intro__left { padding-bottom: 24px; max-width: 100%; }
    .service-intro__right { width: 100%; flex-basis: auto; min-height: 260px; margin-right: 0; }
    .service-intro__title { font-size: 36px; }
    .service-intro__price { left: auto; right: 4%; bottom: 6%; }
    .service-intro__mask, .service-intro__person { width: 100%; height: 100%; right: 0; bottom: 0; }
}

@media (max-width: 600px) {
    .header__in .header__top { display: none; }
    .header__in .header__middle { gap: 12px; }
    .service-intro { border-radius: 0 0 20px 20px; margin-bottom: 24px; }
    .service-intro__inner { padding: 70px 16px 0; }
    .service-intro__title { font-size: 28px; }
    .service-intro__subtitle { font-size: 15px; }
    .service-intro__btn { width: 100%; align-self: stretch; }
    .service-intro__stats { gap: 8px 20px; }
    .service-intro__right { height: 280px; }
}

@media (max-width: 768px) {
    .card.card_purple { padding: 16px; }
    .card.card_purple .expert__text { font-size: 16px; }
    .card.card_purple .expert__header {
        flex-wrap: wrap;
        padding: 4px 4px 16px;
        gap: 12px;
    }
    .card.card_purple .expert__image { width: 72px; height: 72px; }
    .card.card_purple .expert__btn { margin: 8px 4px 0; width: 100%; }
    .card.card_purple .expert__btn .btn { width: 100%; }
}

@media (max-width: 1199px) {
    .steps__title { font-size: 32px; }
    .steps .swiper-slide { width: 280px; }
}

@media (max-width: 767px) {
    .steps__head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
    .steps__title { font-size: 24px; }
    .steps .swiper-slide { width: 260px; }
    .step-card { padding: 20px; }
    .step-card__title { font-size: 20px; }
    .step-card__text { font-size: 16px; }
}

@media (max-width: 991px) {
    .steps-process__head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
    .steps-process__title { font-size: 28px; }
    .step-row.row { flex-direction: column; gap: 8px; }
    .step-row > .col-4,
    .step-row > .col-8 { width: 100%; }
    .step-row__head { padding: 22px; gap: 18px; }
    .step-row__text { padding: 22px; font-size: 16px; }
}

@media (max-width: 575px) {
    .steps-process__title { font-size: 22px; }
    .step-row__title { font-size: 18px; }
    .step-row__counter { height: 36px; padding: 0 8px; gap: 4px; }
    .step-row__counter__bar { height: 18px; }
}

@media (max-width: 991px) {
    .cta__title { font-size: 24px; }
    .cta-block {
        padding: 25px 15px;
        margin: 0 -15px 10px;
        width: calc(100% + 30px);
        border-radius: 0;
        border: none;
    }
    .cta-block .cta__image {
        position: relative;
        bottom: inherit;
        right: inherit;
    }
    .cta-block .cta__image img {
        display: block;
        width: 100%;
        max-width: 230px;
        margin: 0 auto;
    }
    .cta-form .row { flex-direction: column; gap: 0px; margin: 0; }
    .cta-form .row .col-4 { width: 100%; padding: 0; }
    .cta-block .cta__content { max-width: 100%; }
}

@media (max-width: 991px) {
    .case-card {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }
    .case-card__right {
        border-left: 0;
        border-top: 0;
    }
    .case-card__left,
    .case-card__right {
        padding: 28px 20px;
    }
    .case-card__doctors-list {
        grid-template-columns: 1fr;
    }
    .case-card__stats {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px 20px;
    }
    .case-card__title { font-size: 22px; }
    .case-timeline {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .case-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    .case-cta__btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .case-card__left,
    .case-card__right { padding: 20px 16px; }
    .case-card__title { font-size: 20px; }
    .case-timeline { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
    .spec-hobby {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 16px;
    }
    .spec-hobby__icon { width: 88px; height: 88px; }
}

@media (max-width: 575px) {
    .spec-certs-teaser__item {
        width: 96px;
        height: 96px;
        margin-left: -22px;
    }
}

@media (max-width: 991px) {
    .spec-page__top .col-4 .spec-page__img {
        position: static;
    }
    .spec-stats { gap: 24px; }
    .spec-page__tabs a {
        padding: 10px 16px;
        font-size: 14px;
    }
}
