@font-face {
    font-family: 'Circe';
    src: url('./fonts/fonts/circe.eot');
    /* IE 9 Compatibility Mode */
    src: url('./fonts/fonts/circe.eot?#iefix') format('embedded-opentype'),
        /* IE < 9 */
        url('./fonts/fonts/circe.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('./fonts/fonts/circe.woff') format('woff'),
        /* Firefox >= 3.6, any other modern browser */
        url('./fonts/fonts/circe.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('./fonts/fonts/circe.svg#circe') format('svg');
    /* Chrome < 4, Legacy iOS */
}

@font-face {
    font-family: 'Circe Bold';
    src: url('./fonts/fonts/circe_bold.eot');
    /* IE 9 Compatibility Mode */
    src: url('./fonts/fonts/circe_bold.eot?#iefix') format('embedded-opentype'),
        /* IE < 9 */
        url('./fonts/fonts/circe_bold.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('./fonts/fonts/circe_bold.woff') format('woff'),
        /* Firefox >= 3.6, any other modern browser */
        url('./fonts/fonts/circe_bold.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('./fonts/fonts/circe_bold.svg#circe_bold') format('svg');
    /* Chrome < 4, Legacy iOS */
}

body {
    font-family: 'Circe';
    background-color: #f2f2f2;
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: -0.5;
    padding-top: 120px;
}

a {
    color: black;
    text-decoration: none;
}

img {
    max-width: 100%;
}

/* .container_header{
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
} */

/* ШАПКА ПРОФИЛЯ */
.about_main
{
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    /* gap: 30px; */
}

.main_screen{
    margin: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

}
.main_screen_name {
    max-width: 100%;
    word-break: break-word;
    hyphens: auto;
}
.main_screen_name {
    font-weight: 400;
    font-size: 50px;
    text-transform: uppercase;
    color: #3B0041;
    max-width: 800px;
}
.videoframe{
    border-radius: 24px;
    min-width: 0; /* Снимаем ограничения */
    min-height: 0;
    object-fit: cover; /* Заполняет всю область с сохранением пропорций */
    background: #000;
    margin-right: 60px; /* Ключевое изменение - прижимает видео к правому краю */
}
.question1{

    margin-top: 10px;
    margin-left:10px;
    color: #fff;
    margin-bottom:20px;
    border: none;
    cursor: pointer;

    font-size: 24px;
    font-weight: 400;
    border-radius: 24px;

}
.bb{background-color: #854c9e;
    color: white;
    font-family: 'Circe';
    border: 0;
    font-size: 16px;
    border-radius: 16px;
    padding: 13px 30px;
    white-space: nowrap;
    text-align: right;
    cursor: pointer;
    transition: 0.3s ease;}

/*.question1::before,
.question1::after{
    content: '';
    position: absolute;
    top: 50%;
    width: 1.2rem;
    height: 0.1rem;
    background: rgb(0, 0, 0);
}*/


/*.question1::before{
    transform: rotate(-40deg);
    right: 2.1rem;
}

.question1::after{
    transform: rotate(40deg);
    right: 3rem;
}*/

.question1.active{
    box-shadow: -1rem -1rem 1rem #fff,
    1rem 1rem 1rem rgba(25, 25 112, .2),
    insert -1rem -1rem 1rem #fff,
    insert 1rem 1rem 1rem rgba(25, 25 112, .2);
}

.question1.active::before{
    transform: rotate(40deg);
    right: 2.1rem;
}

.question1.active::after{
    transform: rotate(-40deg);
    right: 3rem;
}



.answer1{
    display: none;
    padding: 15px;
    font-size: 2rem;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    color: black;
    background-color: #F5F7FF;
    border-radius: 12px;
    width: 100%;

    /* color: #3B0041; */
}

.answer1>a{
    color: #3B0041;
    cursor: pointer;
}
.photo_report>a{
    background-color: #ca1d71;
    padding: 20px 40px;
    color: white;
    font-weight: 400;
    margin-left: 30px;
    margin-bottom: 30px;
    border-radius: 10px;
    font-size: 20px;
    transition: 0.3s ease;
}

.photo_report>a:hover{
    background-color: #ad1860;
}
.wrapper{
    margin: 10px 15px;
    width: 95%;
}
.item{
    margin-bottom: 10px;
}
.about_statistics,
.about_text,
.about_experts,
.about_helping,
.about_FAQ{
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    /* gap: 30px; */
}

.steps{
    margin-left: 30px;
    margin-right: 30px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: stretch;
    align-self: center;
}

.steps>p>span{
    font-weight: 400;
    font-size: 90px;
    line-height: 128px;
    color: #8B4393;
}
.question{
    background-color: #F5F7FF;
    padding: 15px;
    position: relative;
    font-size: 24px;
    font-weight: 400;
    border: .2rem solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    box-shadow: -1rem -1rem 1rem #fff,
    1rem 1rem 1rem rgba(25, 25 112, .2);
    cursor: pointer;
    margin-bottom: 10px;


}

.question::before,
.question::after{
    content: '';
    position: absolute;
    top: 50%;
    width: 1.2rem;
    height: 0.1rem;
    background: rgb(0, 0, 0);
}

.question::before{
    transform: rotate(-40deg);
    right: 2.1rem;
}

.question::after{
    transform: rotate(40deg);
    right: 3rem;
}

.question.active{
    box-shadow: -1rem -1rem 1rem #fff,
    1rem 1rem 1rem rgba(25, 25 112, .2),
    insert -1rem -1rem 1rem #fff,
    insert 1rem 1rem 1rem rgba(25, 25 112, .2);
}

.question.active::before{
    transform: rotate(40deg);
    right: 2.1rem;
}

.question.active::after{
    transform: rotate(-40deg);
    right: 3rem;
}



.answer{
    display: none;
    padding: 15px;
    font-size: 2rem;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    color: black;
    background-color: #F5F7FF;
    border-radius: 12px;

    /* color: #3B0041; */
}

.answer>a{
    color: #3B0041;
    cursor: pointer;
}

header>a>img {
    width: 120px;

}
.programs_navigation_new{
    margin-top: 30px;
    margin-left: 30px;
    color: #8B4393;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0%;
    margin-left: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between; /* <-- ключевой момент */
    width: 95%;
}

.header {
    position: fixed;
    /* Фиксированное позиционирование */
    top: 0;
    /* Прижатие к верху */
    left: 0;
    right: 0;
    height: 100px;
    /* Фиксированная высота */
    background-color: white;
    border-radius: 24px 24px 24px 24px;
    /* Скругление только снизу */
    display: flex;
    align-items: center;
    justify-content: center;
    /* Центрирование контента */
    z-index: 1000;
    /* Чтобы шапка была поверх других элементов */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    /* Тень для эффекта "плавающей" шапки */
    margin: 30px 40px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.header--hidden {
    transform: translateY(-100%);
    /* Сдвигаем шапку вверх */
    opacity: 0;
    /* Делаем её прозрачной */
    box-shadow: none;
    /* Убираем тень, чтобы не было видно при скрытии */
}

.header .container_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header .container_header>a>img {
    width: 68;
    height: 58;
}

/*  */
.header__button {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;

}

/*  */
.rectangle {
    width: 43px;
    height: 43px;
   /* background-color: #0088cc;
    border: 3px solid #0088cc;*/
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -0.11px;
    left: 0.47px;
    cursor: pointer;

    position: relative;
    /* Добавляем для позиционирования псевдоэлемента */
    overflow: hidden;
}

.rectangle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    background-color: transparent;
    border: 2px solid rgb(255, 255, 255);
    border-radius: 50%;
    transition: all 0.3s ease-out;
    opacity: 0;
    z-index: 0;
}


.rectangle:hover::before {
    width: 130%;
    /* Размер круга */
    height: 130%;
    opacity: 1;
}

.header__button>button>img {
    width: 24px;
    align-items: center;
}

.button__header {
    background-color: #854c9e;
    color: white;
    font-family: 'Circe';
    border: 0;
    font-size: 16px;
    border-radius: 16px;
    padding: 13px 30px;
    white-space: nowrap;
    text-align: right;
    /* margin-right: 20px; */
    cursor: pointer;
    transition: 0.3s ease;
}

.button__header:hover {
    background-color: #7e389c;
}

.logo {
    font-family: 'Circe Bold';
    line-height: 1;
    display: flex;
    align-items: center;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0%;
    gap: 16px;
    /*  */
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);





    /* margin-right: 80px; */
    /* align-items:flex-end; */
}

.logo_photo {
    width: 68;
    height: 58;

}

.header__nav {
    background-color: #f2f2f2;
    border-radius: 16px;
    display: flex;
    gap: 50px;
    padding: 13px 20px;
    /*  */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    /* margin: 30px; */
    justify-content: space-between;

}

.header__link {
    font-weight: 500;
    font-size: 17px;
    line-height: 24px;
    letter-spacing: 0%;
    transition: 0.3s ease;
}

.header__link:hover {
    color: #8B4393;
}

.header__burger_btn {
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
    border: none;
    background-color: transparent;
    z-index: 10000;
    /* margin-bottom: 40px; */
}

.header__burger_btn span {
    position: absolute;
    width: 30px;
    height: 3px;
    background-color: black;
    left: 5px;
    transition: transform .5s, opacity .5s, background-color .5s;
}

.header__burger_btn span:nth-child(1) {
    transform: translateY(-10px);
}

.header__burger_btn span:nth-child(3) {
    transform: translateY(10px);
}

.header.open .header__burger_btn span {
    background-color: black;
}

.header.open .header__burger_btn span:nth-child(1) {
    transform: translateY(0) rotate(45deg);
}

.header.open .header__burger_btn span:nth-child(2) {
    opacity: 0;
}

.header.open .header__burger_btn span:nth-child(3) {
    transform: translateY(0) rotate(-45deg);
}


/* Обновленные стили для мобильного меню */

@media (max-width: 1400px) {
    .about_statistics, .about_text, .about_experts, .about_helping, .about_FAQ {

        margin: 30px 20px;}
   /* .custom-checkbox {
        width: 20px;
        height: 20px;
        margin-top: -30px;
    }
    .footer_private_data{
        flex-wrap: nowrap;
    }*/
/* button__header */

.button__header {
    white-space: normal; /* Разрешить перенос */
    word-wrap: break-word; /* Перенос длинных слов */
    text-align: center; /* Выравнивание текста */
    height: auto; /* Автоматическая высота */
    min-height: 50px; /* Минимальная высота */
    padding: 10px 15px; /* Адаптивные отступы */
    line-height: 1.2; /* Межстрочный интервал */
}




    .header__nav a {
        color: black;
        margin-right: 60px;
        text-align: left;
    }

    .header__burger_btn {
        display: block;
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* Затемнение и размытие фона */
    .header::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(5px);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
        z-index: 998;
    }

    .header.open::after {
        opacity: 1;
        visibility: visible;
    }

    /* Стили для самого меню */
    .nav_and_call {
        position: fixed;
        top: 43%;
        left: 50%;
        transform: translate(-50%, -50%) scale(0.8);
        width: 50%;
        max-width: 400px;
        background-color: #F5F7FF;
        padding: 40px 30px;
        border-radius: 24px;
        transition: transform 0.3s, opacity 0.3s;
        opacity: 0;
        z-index: 999;
        /* display: flex; */
        flex-direction: column;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        gap: 10px;
        visibility: hidden;
    }

    .header.open .nav_and_call {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
        margin-top: 30px;
        visibility: visible;
    }

    .header__nav {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin-bottom: 30px;
        background-color: transparent;
        margin-top: -55px;
        align-items: flex-start;
        margin-left: 40px;
    }

    .header__button {
        position: static;
        transform: none;
        /* flex-direction: column; */
        gap: 15px;
        align-items: flex-start;
        margin-top: 20px;
        z-index: 10000;
    }

    .header__link {
        color: white;
        font-size: 18px;
        padding: 10px 0;
        text-align: center;
    }

    .button__header {
        width: 100%;
        text-align: center;
    }

    .header__nav {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin-bottom: 30px;
        /* background-color: transparent;  */
    }

    .header__button {
        position: static;
        transform: none;
        flex-direction: column;
        gap: 15px;
        align-items: center;
        /* Центрируем кнопки */
        margin-top: 350px;
        z-index: 1000;
        display: flex;
        /* Явно включаем flex */
        width: 100%;
        /* Занимаем всю ширину */
    }

    /* Блокировка прокрутки при открытом меню */
    body.menu-open {
        overflow: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
    }

    /* Убираем псевдоэлемент ::after у header */
    .header::after {
        display: none;
    }

    /* Создаем новый overlay для размытия */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(5px);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
        z-index: 998;
    }

    .header.open~.menu-overlay {
        opacity: 1;
        visibility: visible;
    }

    /* Корректируем z-index шапки и меню */
    .header {
        z-index: 1000;
    }

    .nav_and_call {
        z-index: 1001;
        /* Меню должно быть выше overlay */
    }

    .rectangle {
        width: 55px;
        height: 45px;
    }

}
@media screen and (max-width: 700px) {
    .header{
        margin: 20px;
    }
    
}
@media (max-width: 500px) {
    .logo_photo {
        width: auto;
    }

    .rectangle {
        width: 45px;
        height: 45px;
    }

    .rectangle img {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 500px) {
    .logo {
        font-size: 0; /* Скрываем весь текст */
        gap: 8px; /* Уменьшаем отступ */
    }
    
    
    /* Альтернативный вариант: скрываем только часть текста */
    .logo {
        display: flex;
        align-items: center;
        gap: 8px;
        max-width: 60px; /* Ограничиваем ширину */
        overflow: hidden; /* Скрываем выходящий за пределы текст */
    }
    
    .logo br {
        display: none; /* Скрываем переносы строк */
    }
    
    .logo::after {
        content: "АСМДЗ"; /* Сокращенная версия */
        font-family: 'Circe Bold';
        font-size: 12px;
        line-height: 1.2;
        white-space: nowrap;
    }
}





/* ШАПКА ПРОФИЛЯ ЗАКОНЧЕНА */

/* ГЛАВНЫЙ ЭКРАН */



.carusel {
    /* overflow: hidden; */
    display: flex;
}

.welcome_slider {
  /*  background-color: #8B4393;*/
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all ease 1s;
    cursor: pointer;
}

.welcome_slider-2 {
    /*  background-color: #8B4393;*/
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all ease 1s;
    cursor: pointer;
}

.carusel {
    overflow: hidden;
    display: flex;
    transition: transform 1s ease;
}

.welcome_slider {
 /*   background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    width: 100%;
    /* Будет переопределено в JS */
    box-sizing: border-box;
}
.welcome_slider-2 {
    /*   background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    width: 100%;
    /* Будет переопределено в JS */
    box-sizing: border-box;
}

.welcome_slider .container_slider_line {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
}
.welcome_slider-2 .container_slider_line {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
}



.left-part {
    margin-left: 30px;
    max-width: 600px;
    height: 100%;
    /* ← Занимаем всю высоту родителя */
    display: flex;
    /* ← Включаем flex */
    flex-direction: column;
    /* ← Колонка */
    justify-content: space-between;
    margin-left: 45%;
    margin-top: 1%;
}

.date-time-block {
    display: flex;
    gap: 10px;
    /* расстояние между прямоугольниками */
    margin-top: 30px;

}

.rectangle1,
.rectangle2 {
    border: 0.1em solid white;
    border-radius: 7px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 400;
    padding: 0 8px;
    width: auto;


}

.rectangle1 {
    width: 150px;
    height: 40px;
}

.rectangle2 {
    width: 110px;
    height: 40px;
}

.course {
    font-weight: 400;
    letter-spacing: 6px;
    color: white;
}

.title {
    position: relative;
    padding-left: 20px; /* Отступ текста от линии */
    font-size: 3em !important;
}

.title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); /* Выравнивание линии строго по центру текста */
    width: 6px;                  /* Толщина полоски */
    height: 80%;                 /* Высота полоски относительно блока */
    background-color: #7b2db5;   /* Цвет полоски */
    border-radius: 2px;          /* Скругление углов полоски (по желанию) */
}


.course1 {
    font-weight: 400;
    letter-spacing: 6px;
    color: #7a787d;
    line-height: 1;
    line-height: 1.1;
    font-size: 1.2em;
}
.course2 {
    font-weight: 400;
    letter-spacing: 6px;
    color: #7a787d;
    line-height: 1;
    font-size: 10px;
    letter-spacing: 4px;
}

h1 {
    font-size: 50px;/*77px;*/
    font-weight: 600;
    color: black;
    word-spacing: 0.1em;
    line-height: 55px;
    margin: 0;
    letter-spacing: 0%;
}

h2 {
    margin-top: 30px;
}

.location {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
}

.location-image {
    width: 30px;
}

.location-text {
    color: white;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 18px;
    line-height: 36px;
    letter-spacing: 0%;

}
.location-text1 {
    color: #7237a5;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 18px;
    line-height: 36px;
    letter-spacing: 12px;

}

.buttons {
    display: flex;
    align-items: flex-start;
    justify-content: start;
    margin-top: 20px;
    gap: 10px;
    margin-bottom: 30px;
    align-self: flex-start;
    justify-self: flex-end;

}

.button1,
.button2 {
    border: 1px solid white;
    border-radius: 10px;
    width: 100px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: white;
    padding-right: 60px;
    padding-left: 60px;
    margin-top: 20px;


}

.button1_img,
.button2_img {
    width: 25px;
}

.button1{
    margin-top: 20px;
    color: white;
    width: 150px;
    border-radius: 10px;
}


.welcome_img {
    max-width: 600px;
    width: auto;
    height: auto;
    position: relative;
    z-index: 1;
    margin-top: 0;
    margin-bottom: -40px;
    /* Часть изображения уходит вниз */
    transform: translateY(40px);
}

.FIO_describe_place {
    font-size: 27px;
    align-self: flex-end;
    justify-self: flex-end;
    padding-bottom: -100px;
    text-align: right;
    width: 300px;
    z-index: 1;
}

.FIO {
    color: white;
    font-weight: 400;
    align-self: flex-end;
    justify-self: flex-end;
    text-align: right;
    width: 300px;
    margin: 0;
    z-index: 1;
    line-height: 36px;
    letter-spacing: 0%;

}


.FIO_describe {
    font-size: 15px;
    color: white;
    font-weight: 400;
    z-index: 1;

    line-height: 24px;
    letter-spacing: 0%;
    text-align: right;

}

.right {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

}

.right-part {
    position: relative;
    height: 100%;
    /* занимаем всю высоту */
    display: flex;
    align-items: flex-end;
    /* Выравниваем изображение по низу */
    justify-content: center;
    height: 100%;
    display: flex;
    align-items: flex-end;
    /* Выравниваем по нижнему краю */
    justify-content: flex-end;
    /* Выравниваем по правому краю */
    padding-bottom: 60px;
    /* Добавляем место для выхода изображения */
    margin-bottom: -60px;

}

.circle {
    position: absolute;
    border-radius: 50%;
    z-index: 0;
}

.circle1 {
    width: 1200px;
    height: 1200px;
    background-color: transparent;
    border: 2px solid rgba(255, 255, 255, 0.104);
    top: 60px;
    left: -390px;
}

.circle2 {
    width: 1000px;
    height: 1000px;
    border: 2px solid rgba(255, 255, 255, 0.242);
    top: 150px;
    left: -280px;

}

.circle3 {
    width: 800px;
    height: 800px;
    border: 2px solid rgba(255, 255, 255, 0.242);
    top: 250px;
    left: -160px;
}

.circle4 {
    width: 600px;
    height: 600px;
    border: 2px solid rgba(255, 255, 255, 0.242);
    top: 350px;
    left: -50px;

}

/* Общие стили анимации для всех кругов */
.circle {
    animation: pulse 6s infinite ease-in-out;
}

/* Индивидуальные настройки для каждого круга */
.circle1 {
    animation-delay: 0.5s;
}

.circle2 {
    animation-delay: 1s;
}

.circle3 {
    animation-delay: 1.5s;
}

.circle4 {
    animation-delay: 2s;
}

/* Ключевые кадры анимации */
@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
        /* Увеличение на 5% */
    }
}

.circle5 {
    background-color: #ed2889;
    width: 1100px;
    height: 1100px;
    border: 2px solid rgba(255, 255, 255, 0.242);
    top: 350px;
    left: -100px;
    filter: blur(600px);
}

.carousel-container {
    width: 95%; /* Или любое другое значение */
    margin: 30px auto; /* Центрирование */
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

.carusel {
    display: flex;
    width: 100%;
    position: relative;
    transition: transform 1s ease;
    /* Увеличили время анимации до 1s */
}

.welcome_slider {
    flex: 0 0 100%;
    width: 100%;
    /*background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 0;
    transition: all 1s ease;
    /* Увеличили время анимации до 1s */
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible;
    opacity: 1;

}
.welcome_slider-2 {
    flex: 0 0 100%;
    width: 100%;
    /*background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 0;
    transition: all 1s ease;
    /* Увеличили время анимации до 1s */
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible;
    opacity: 1;

}
.welcome_slider.active {
    visibility: visible;
    position: relative;
}
.welcome_slider-2.active {
    visibility: visible;
    position: relative;
}

.welcome_slider .container_slider_line {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    width: 100%;
}
.welcome_slider-2 .container_slider_line {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    width: 100%;
}
/* Анимация для перехода с увеличенным временем */
.welcome_slider.slide-out-left {
    animation: slideOutLeft 1s forwards;
    /* 1 секунда */
}
.welcome_slider-2.slide-out-left {
    animation: slideOutLeft 1s forwards;
    /* 1 секунда */
}
.welcome_slider.slide-in-left {
    animation: slideInLeft 1s forwards;
    /* 1 секунда */
}
.welcome_slider-2.slide-in-left {
    animation: slideInLeft 1s forwards;
    /* 1 секунда */
}
.welcome_slider.slide-out-right {
    animation: slideOutRight 1s forwards;
    /* 1 секунда */
}
.welcome_slider-2.slide-out-right {
    animation: slideOutRight 1s forwards;
    /* 1 секунда */
}
.welcome_slider.slide-in-right {
    animation: slideInRight 1s forwards;
    /* 1 секунда */
}
.welcome_slider-2.slide-in-right {
    animation: slideInRight 1s forwards;
    /* 1 секунда */
}
@keyframes slideOutLeft {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(-100%);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        transform: translateX(100%);
        opacity: 1;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 1;
    }
}

@keyframes slideInRight {
    from {
        transform: translateX(-100%);
        opacity: 1;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Стили для десктопной версии */
.desktop-layout {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.left-part,
.right {
    flex: 1;
}

/* Мобильная версия */
@media (max-width: 1400px) {

    .desktop-layout {
        flex-direction: column;
        /* Меняем направление flex на колонку */
    }

    .welcome_slider .container_slider_line {
        padding: 0 10px;
    }
    .welcome_slider-2 .container_slider_line {
        padding: 0 10px;
    }
    /* Правая часть теперь будет под левой */
    .right {
        order: 2;
        /* Правая часть идет второй по порядку */
        margin-top: 20px;
    }

    .left-part {
        order: 1;
        /* Левая часть идет первой */
    }

    .FIO_describe_place {
        display: none !important;
        /* Полностью скрываем блок */
    }

    .right-part {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .welcome_img {
        max-width: 500px;
        width: auto;
        height: auto;
        position: relative;
        z-index: 1;
        margin-top: 0;
        margin-bottom: -40px;
        /* Часть изображения уходит вниз */
        transform: translateY(40px);
    }

}

@media(max-width: 750px){

    .carousel-container{
        max-width: 91%;
    }

    .title {
        font-size: 2em !important;
        margin-right: 50px;
        line-height: 1.2;
    }
}

@media (max-width: 600px) {
    .title {
        font-size: 45px;
        margin-right: 50px;
        line-height: 1.2;
    }
}

@media (max-width: 460px) {
    .title {
        font-size: 38px;
        margin-right: 50px;
        line-height: 1.2;
    }

    .rectangle1{
        height: 40px;/*60зч*/
        width: 70px;
    }
    
    /* .rectangle2{
        height: 60px;
        width: 50px;
    } */

    .welcome_img{
        margin-left: 150px;
    }
}
.course-00{
    margin-top: 40px;
    color: #59257b;
    position: relative;
    font-size: 3em ;
    line-height: 1.1;
}
.course-01{
    margin-top: 20px;
    color: #000;
    position: relative;
    font-size: 1.6em !important;
    font-weight: 500;
    line-height: 1.1;
}
.course-02{
    color: #c03a77;
    position: relative;
    font-size: 1.6em !important;
    font-weight: 500;
    line-height: 1.1;
}
.course-03{
    color: #59257b;
    position: relative;
    font-size: 1.3em !important;
    line-height: 1.1;
    text-transform: uppercase;
    margin-top: 15px;
}
.course-04{
    margin-top: 20pz;
    color: #000;
    position: relative;
    font-size: 1.3em !important;
    font-weight: 400;
    line-height: 1.1;
}
.course-05{
    color: #fff;
    margin-top: 20px;
    position: relative;
    font-size: 1.1em !important;
    line-height: 1.1;

}
.right-part-1{
    margin-left: 140px;
}
@media screen and (max-width: 700px) {
    .right-part-1{
    margin-left: 10px;
    }
    .course-00{
        margin-top: 30px;
    }
    .welcome_slider-2 {
        background-image: url(images/general/sl2-2.jpg)!important;
        }
}
/*
@media (max-width: 700px) {.welcome_slider-2 {background-image: url(images/general/sl2-2.jpg)!important; height: 650px}}*/
@media (max-width: 300px) {
    .rectangle2{
        height: 60px;
        width: 50px;
    }
}

/* АНИМАЦИЯ КАРУСЕЛИ */
/* Обновляем стили для контейнера слайдера */
.welcome_slider {
    flex: 0 0 100%;
    width: 100%;
   /* background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden; /* Убедитесь, что здесь стоит hidden */
    box-sizing: border-box;
    padding: 20px 0;
    background-image: url(images/general/sl.jpg);
    background-size: cover;
    /*background-size: contain;*/
    background-repeat: no-repeat;
    background-position: center;
    min-height: 550px;
}

.welcome_slider-2 {
    flex: 0 0 100%;
    width: 100%;
    /* background-color: #8B4393;*/
    border-radius: 24px;
    position: relative;
    overflow: hidden; /* Убедитесь, что здесь стоит hidden */
    box-sizing: border-box;
    padding: 20px 0;
    background-image: url(images/general/sl2.jpg);
    background-size: cover;
    /*background-size: contain;*/
    background-repeat: no-repeat;
    background-position: center;
    min-height: 550px;
    margin-top: 30px;
}

/* Обновляем right-part */
.right-part {
    position: relative;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: 60px;
    margin-bottom: -60px;
    border-bottom-right-radius: 24px; /* Добавляем закругление */
}

/* Исправляем изображение */
.welcome_img {
    max-width: 600px;
    width: auto;
    height: auto;
    position: relative;
    z-index: 1;
    margin-top: 0;
    margin-bottom: -40px;
    transform: translateY(40px);
    border-bottom-right-radius: 24px; /* Добавляем закругление изображению */
}



/* АНИМАЦИЯ КАРУСЕЛИ ЗАКОНЧЕНА */

/* МОБИЛЬНАЯ ВЕРСИЯ ГЛАВНОЙ СТРАНИЦЫ */


@media (max-width: 1400px) and (min-width: 700px){
    .carousel-container{
        max-width: 91%;
    }
}


/* МОБИЛЬНАЯ ВЕРСИЯ ГЛАВНОЙ СТРАНИЦЫ ЗАКОНЧЕНА*/



/* ГЛАВНЫЙ ЭКРАН ЗАКОНЧЕН*/

/* БЛОК О НАС*/


.about {
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}

.about_description {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.about_right_part {
    margin-top: 30px;
    margin-left: 30px;
    max-width: 500px;
}

.path_to_block {
    color: #8B4393;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0%;

}

.title_about {
    font-size: 27px;
    color: #3B0041;
    font-weight: 550;
}


.buttons_about {
    align-self: flex-end;
}

.more_about_button {
    border: 1px solid #8B4393;
    color: #8B4393;
    border-radius: 10px;
    display: flex;
    padding: 22px 20px;
    padding-right: 25px;
    justify-content: space-between;
    background-color: white;
    cursor: pointer;
    width: 280px;
    font-size: 17px;
    margin-bottom: 10px;
    transition: 0.3s ease;
}

.more_about_button:hover {
    border: 1px solid #7e389c;
    color: #7e389c;
}

.buttons_about>button>img {
    width: 17px;
}

.view_pdf {
    border: 1px solid #8B4393;
    color: white;
    border-radius: 10px;
    display: flex;
    padding: 22px 20px;
    padding-right: 25px;
    justify-content: space-between;
    background-color: #8B4393;
    cursor: pointer;
    width: 280px;
    font-size: 17px;
    margin-bottom: 10px;
    transition: 0.3s ease;
}

.view_pdf:hover {
    background-color: #7e389c;
}

.about_left_part {
    margin-top: 10px;
    margin-right: 50px;
    max-width: 750px;
}

.mini_title {
    text-align: right;
    font-size: 17px;
    min-width: 300px;
    max-width: 500px;
    margin-left: auto;
    font-weight: 400;
    letter-spacing: 0%;
    text-align: right;
}

.stats {
    margin: 30px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: stretch;
    align-self: center;
}

.stats_items {
    width: 100%;
    height: 292;
    border-radius: 24px;
    padding: 24px;
    padding-top: 12px;
    background-color: #F5F7FF;
    font-weight: 400;
    font-size: 28px;
    line-height: 32px;

}

.stats>p>span {
    font-weight: 400;
    font-size: 90px;
    line-height: 128px;
    color: #8B4393;
}

/* МОБИЛЬНАЯ ВЕРСИЯ О НАС */
@media (max-width: 1000px) {
    .main_screen_name {
        font-size: clamp(22px, 4.5vw, 40px); /* Уменьшаем шрифт */
    }
}
/* Мобильная версия между 1000px и 1300px */
@media (max-width: 1300px) and (min-width: 1000px) {
    .about_description {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 40px;
    }
    
    .about_right_part {
        display: flex;
        flex-direction: column;
        margin-left: 30px;
        max-width: none;
        flex: 1;
    }
    
    .text_buttons {
        display: flex;
        align-items: flex-start;
        gap: 40px;
    }
    
    .title_about:first-child {
        flex: 1;
        margin: 0;
        max-width: 400px;
    }
    
    .buttons_about {
        display: flex;
        flex-direction: column;
        align-self: flex-start;
    }
    
    /* Скрываем mini_title */
    .mini_title {
        display: none;
    }
    
    .about_left_part .title_about {
        display: none;
    }
}

/* Мобильная версия меньше 1000px */
@media (max-width: 999px) {
    .about_description {
        display: flex;
        flex-direction: column;
    }
    
    .about_right_part {
        margin-left: 20px;
        margin-right: 20px;
        max-width: none;
        width: calc(100% - 40px);
    }
    .steps {
        flex-direction: column;
        margin: 20px;
        gap: 15px;
    }
    .text_buttons {
        display: flex;
        flex-direction: column;
    }
    
    .buttons_about {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 20px;
        width: 100%;
    }
    
    .more_about_button,
    .view_pdf {
        width: 100%;
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    
    /* Скрываем mini_title */
    .mini_title {
        display: none;
    }
    
    .about_left_part {
        margin: 20px;
        max-width: none;
        width: calc(100% - 40px);
    }
    
    .about_left_part .title_about {
        display: block;
        text-align: center;
        font-size: 22px;
    }
    
    /* Адаптация статистики */
    .stats {
        flex-direction: column;
        margin: 20px;
        gap: 15px;
    }
    
    .stats_items {
        text-align: center;
        padding: 20px;
    }
}

@media (max-width: 800px) {
    .about {
        margin: 20px; /* Уменьшаем отступы основного блока */
    }
    .steps {
        margin: 50px;
        gap: 15px;
        width: calc(100% - 40px); /* 100% минус отступы слева и справа */
    }
    .stats {
        margin: 20px;
        gap: 15px;
        width: calc(100% - 40px); /* 100% минус отступы слева и справа */
    }
    
    .stats_items {
        margin: 0;
        padding: 20px;
        width: 100%; /* Занимаем всю ширину */
        box-sizing: border-box;
    }
}

/* Дополнительно: скрываем mini_title на всех мобильных устройствах меньше 1300px */
@media (max-width: 1300px) {
    .mini_title {
        display: none !important;
    }
    .main_screen_name {
        font-size: clamp(24px, 5vw, 50px);
        line-height: 1.2;
        max-width: 100%;
        word-wrap: break-word; /* Перенос длинных слов */
        overflow-wrap: break-word;
    }
    .videoframe {
        order: 2;
        margin-right: 0;
        width: calc(100% - 40px); /* Отступы по 20px с каждой стороны */
        margin-left: 20px;
        margin-right: 20px;
        max-width: 600px;
        height: auto;
        align-self: center;
    }
}

    /* Также скрываем второй title_about в about_left_part на промежуточных разрешениях */
    @media (max-width: 1300px) and (min-width: 1000px) {
        .about_left_part .title_about {
            display: none;
        }
    }
}

/* Улучшаем внешний вид кнопок для мобильной версии */
@media (max-width: 999px) {
    .more_about_button,
    .view_pdf {
        padding: 18px 15px;
        font-size: 16px;
        justify-content: center;
        gap: 10px;
    }
    
    .more_about_button img,
    .view_pdf img {
        width: 14px;
    }
}

/* Оптимизация для очень маленьких экранов */
@media (max-width: 480px) {
    .about {
        margin: 20px;
        border-radius: 16px;
    }
    .item {
        margin-bottom: 10px;
        margin-right: 12px;
    }
    .question{

        padding: 15px 37px 15px 15px; font-size: 21px;



    }


    .question::before{
        transform: rotate(-40deg);
        right: 0.6rem;
    }

    .question::after{
        transform: rotate(40deg);
        right: 1.5rem;
    }

    .about_right_part,
    .about_left_part {
        margin-left: 15px;
        margin-right: 15px;
        width: calc(100% - 30px);
    }
    
    .title_about {
        font-size: 22px;
    }
    
    .path_to_block {
        font-size: 13px;
    }
    
    .stats_items {
        padding: 15px;
    }
    
    .stats_items span {
        font-size: 70px;
        line-height: 100px;
    }
    
    .stats_items {
        font-size: 22px;
        line-height: 28px;
    }
}


/* МОБИЛЬНАЯ ВЕРСИЯ О НАС ЗАКОНЧЕНА */

/* БЛОК О НАС ЗАКОНЧЕН */

/* БЛОК ПРОГРАММЫ */

.block_programs {
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;

}

.path_to_block1 {
    margin-top: 30px;
    margin-left: 30px;
    color: #8B4393;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0%;
}

.programs_navigation {
    margin-left: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* <-- ключевой момент */
    width: 95%;
}

.programs_buttons {
    display: flex;
    align-items: center;
}

.programs_title {
    font-weight: 400;
    font-size: 27px;
    line-height: 48px;
    color: #3B0041;
    margin-top: 0;
    margin-bottom: 0;
    transition: 0.3s ease;
}


.programs_view_all {
    background-color: #F5F7FF;
    padding: 13px 30px;
    font-family: 'Circe';
    border: 0;
    font-weight: 400;
    font-size: 16px;
    border-radius: 16px;
    align-self: center;
    margin-right: 30px;
    cursor: pointer;
    transition: 0.3s ease;
}

.programs_view_all1,
.programs_view_all2 {
    background-color: #F5F7FF;
    border: 1px solid #F5F7FF;
    border-radius: 10px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 15px;
    transition: 0.3s ease;
}

.programs_view_all1 {
    margin-right: 15px;
}

.programs_view_all:hover,
.programs_view_all1:hover,
.programs_view_all2:hover {
    background-color: #dcdee6;
}

.programs {
    margin: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 блока в ряд */
    gap: 10px;
    /* отступы между блоками */
    margin: 30px 30px;
    max-width: 100%;
    align-self: center;

}

.program1 {
    max-width: 100%;
    /* или 900px, если хочешь фиксированную ширину */
    /* height: 340px;
    gap: 0px;
    border-radius: 24px;
    padding: 18px;
    background-color: #F5F7FF;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    transition: 0.3s ease; */
    max-width: none;
    /* ← Убираем ограничение максимальной ширины */
    height: 340px;
    border-radius: 24px;
    padding: 18px;
    background-color: #F5F7FF;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    transition: 0.3s ease;
    /* box-sizing: border-box; */
}

.program1:hover {
    background-color: #8B4393;
    cursor: pointer;
}

.program1>img {
    height: 340px;
    border-radius: 24px;
}

.program_right {
    /* margin-left: 20px; */
    flex: 1;
    /* ← Занимаем всё доступное пространство */
    margin-left: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;

    position: relative;
    /* Делаем контейнер относительным для позиционирования */
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.date_time_block_programs {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    /* расстояние между прямоугольниками */
    /* margin-left: -60px; */
}


.program_rectangle1,
.program_rectangle2,
.program_rectangle3 {
    border: 0.1em solid white;
    background-color: white;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3B0041;
    font-weight: 400;
    padding: 0 8px;
    width: auto;
    padding: 2px 9px;

    font-size: 15px;
    letter-spacing: 0%;

}

.program_rectangle3 {
    align-self: flex-start;
    background-color: #8B4393;
    border: 0.1em solid #8B4393;
    color: white;
    align-self: center;
}

.program_rectangle1 {
    background-color: #8B4393;
    color: white;
    border-color: #8B4393;
}

.program1:hover .program_rectangle1,
.program1:hover .program_rectangle2,
.program1:hover .program_rectangle3 {
    background-color: transparent;
    color: white;
    border-color: white;
}






.program_content {
    /* display: flex;
    justify-content: space-between;
    gap: 80px; */
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.program_title {
    max-width: 100%;
    /* Убираем фиксированную ширину */
    width: 100%;
    font-weight: 400;
    font-size: 30px;
    line-height: 48px;
    letter-spacing: 0%;
    color: #3B0041;
}


.program1:hover .proprogramsgram_title,
.program1:hover .program_more>a,
.program1:hover .doctor_name,
.program1:hover .doctor_professtion,
.program1:hover .program_title {
    color: white;
}

.program_more {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    /* margin-bottom: 40px; */
    margin-top: 10px;
}

.program_more>a {
    font-family: Circe;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
    color: #E71B7F;
}

.program_more>a>img {
    width: 16px;
    height: 14px;
    transition: opacity 0.3s ease;
}

.arrows_animation {
    position: relative;
    display: flex;
    align-items: center;
    width: 16px;
    height: 16px;
}

.right_arrow_pink {
    opacity: 1;
    position: absolute;
}

.right_arrow_white {
    opacity: 0;
    position: absolute;
}

.program1:hover .right_arrow_pink {
    opacity: 0;
}

.program1:hover .right_arrow_white {
    opacity: 1;
}

.program_doctor {
    margin-top: auto;
    /* ← Прижимаем к низу */
    display: flex;
    align-items: flex-start;
    gap: 9px;

}

.doctor_photo {
    height: 70px;
    border-radius: 24px;
}

.doctor_description {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 70px;
    /* совпадает с высотой фото */
}

.doctor_name {
    font-weight: 400;
    font-size: 17px;
    color: #3B0041;
    padding: 0;
    margin: 0;
    margin-top: 10px;
}

.doctor_professtion {
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0%;
    color: #8B4393;
    margin: 0;
    margin-bottom: 10px;
    padding: 0;
}

/* МОБИЛЬНАЯ ВЕРСИЯ ПРОГРАММЫ */

/* Мобильная версия для программ */
@media (max-width: 768px) {
    .about_main {
        margin: 20px;
        border-radius: 16px;
    }
    .programs_navigation_new {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .main_screen {
        margin: 20px;
        gap: 20px;
    }
    
    .main_screen_name {
        font-size: clamp(20px, 4vw, 32px); /* Еще меньше */
        text-align: center;
        line-height: 1.3;
    }

    .videoframe {
        width: calc(100% - 40px); /* 20px слева + 20px справа */
        margin-left: 20px;
        margin-right: 20px;
        height: 250px;
        border-radius: 16px;
    }

    .block_programs {
        margin: 20px;
        border-radius: 16px;
    }
    
    .path_to_block1 {
        margin-left: 20px;
        margin-top: 20px;
    }
    
    .programs_navigation {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .programs_title {
        font-size: 22px;
        line-height: 1.3;
    }
    
    .programs_view_all {
        margin-right: 0;
        align-self: flex-start;
    }
    
    /* Ключевые изменения для программ */
    .programs {
        grid-template-columns: 1fr; /* 1 колонка вместо 2 */
        gap: 20px;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    .program1 {
        flex-direction: column; /* Меняем направление на колонку */
        height: auto; /* Автоматическая высота */
        padding: 20px;
        align-items: center;
        text-align: center;
    }
    
    .program1 > img {
        width: 100%;
        height: auto;
        max-width: 300px;
        margin-bottom: 20px;
        order: 1; /* Изображение первым */
    }
    
    .program_right {
        margin-left: 0;
        width: 100%;
        order: 2; /* Контент после изображения */
    }
    
    .program_content {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 15px;
        order: 3; /* Дата/время/цена после всего */
    }
    
    .date_time_block_programs {
        justify-content: center;
        gap: 10px;
    }
    
    .program_title {
        font-size: 22px;
        line-height: 1.3;
        margin-bottom: 15px;
        order: 2; /* Заголовок после изображения */
    }
    
    .program_more {
        justify-content: center;
        margin: 15px 0;
        order: 4; /* Кнопка подробнее */
    }
    
    .program_doctor {
        justify-content: center;
        text-align: center;
        margin-top: 15px;
        order: 5; /* Врач в конце */
    }
    
    .doctor_description {
        height: auto;
        gap: 5px;
    }
    
    .doctor_name {
        margin-top: 5px;
        font-size: 16px;
    }
    
    .doctor_professtion {
        margin-bottom: 5px;
        font-size: 12px;
    }
}

/* Дополнительная адаптация для очень маленьких экранов */
@media (max-width: 480px) {
    .about_main {
        margin: 15px;
    }

    .main_screen {
        margin: 15px;
    }
    .main_screen_name {
        font-size: clamp(18px, 3.5vw, 24px); /* Минимальный размер */
        line-height: 1.4;
    }

    .videoframe {
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
        height: 200px;
    }
    .program1 {
        padding: 15px;
    }
    
    .program1 > img {
        max-width: 250px;
    }
    
    .program_title {
        font-size: 20px;
    }
    
    .date_time_block_programs {
        flex-direction: column;
        gap: 8px;
    }
    
    .program_rectangle1,
    .program_rectangle2,
    .program_rectangle3 {
        width: 100%;
        max-width: 150px;
    }
    
    .doctor_photo {
        height: 60px;
        border-radius: 16px;
    }

    
}

/* Плавные переходы */
.program1 {
    transition: all 0.3s ease;
}

/* Улучшенная версия с более точным контролем порядка */
/* @media (max-width: 768px) {
    .program1 {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .program1 > img {
        order: 1;
        margin-bottom: 20px;
    }
    
    .program_title {
        order: 2;
        margin-bottom: 15px;
    }
    
    .program_content {
        order: 3;
        margin-bottom: 15px;
    }
    
    .program_more {
        order: 4;
        margin-bottom: 15px;
    }
    
    .program_doctor {
        order: 5;
    }
} */

/* Оптимизация для планшетов (если нужно) */
@media (max-width: 1400px) and (min-width: 700px) {
    .programs {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .program1 {
        height: auto;
        min-height: 340px;
        flex-direction: column;
    }
    
    .program1 > img {
        width: 100%;
        object-fit: cover;
        border-radius: 24px;
    }
    
    .program_right {
        margin-left: 0;
    }

    .program_content{
        margin-top: 20px;
    }

    .program_more{
        margin-bottom: 20px;
        margin-top: 0;
    }
}


/* МОБИЛЬНАЯ ВЕРСИЯ ПРОГРАММЫ ЗАКОНЧЕНА */

/* БЛОК ПРОГРАММЫ ЗАКОНЧЕН*/

/* БЛОК ФОТООТЧЕТ */

.photo_report {
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
}

.photos_and_videos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 2 колонки */
    gap: 20px;
    padding: 0px;
    margin: 30px;
    justify-content: space-between;

}


.photos_only {
    width: auto;
    cursor: pointer;
    /* max-width: 320px; */
}

.photos_only1 {
    height: 450px;
    width: auto;
    border-radius: 55px;
    /* Ключевые свойства для видео */
    width: 100%;
    height: 100%;
    min-width: 0;
    /* Снимаем ограничения */
    min-height: 0;
    object-fit: cover;
    /* Заполняет всю область с сохранением пропорций */
    grid-column: span 2;
    grid-row: span 2;
    /* Для корректного отображения контролов */
    display: block;
    background: #000;
    height: 450px;
    width: 700px;
    width: 100%;
    height: auto;
    cursor: pointer;
}


/* МОБИЛЬНАЯ ВЕРСИЯ */

/* Мобильная версия фотоотчета (меньше 900px) */
@media (max-width: 900px) {
    .about_main {
        overflow: hidden; /* Скрываем всё что выходит за границы */
    }
    .programs_navigation_new {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .videoframe {
        width: calc(100% - 60px); /* Увеличиваем отступы до 30px с каждой стороны */
        margin-left: 30px;
        margin-right: 30px;
        max-width: 100%; /* Убираем ограничение максимальной ширины */
    }
    .photo_report {
        margin: 20px;
        border-radius: 16px;
    }
    .videoframe {
        box-sizing: border-box; /* Учитываем padding и border в ширине */
        max-width: 100vw; /* Максимальная ширина - ширина viewport */
    }
    
    .path_to_block1 {
        margin-left: 20px;
        margin-top: 20px;
    }
    
    .programs_navigation {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .programs_title {
        font-size: 22px;
        line-height: 1.3;
    }
    
    .programs_view_all {
        margin-right: 0;
        align-self: flex-start;
    }
    
    /* Ключевые изменения для сетки фотоотчета */
    .photos_and_videos {
        grid-template-columns: 1fr; /* Одна колонка */
        grid-template-rows: auto; /* Автоматическая высота */
        gap: 15px;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    .photos_only1 {
        grid-column: 1; /* Занимает одну колонку */
        grid-row: 1; /* Первая строка */
        width: 100%;
        border-radius: 16px;
        object-fit: cover; /* Сохраняем пропорции */
    }
    
    .photos_only {
        width: 100%;
        height: auto;
        border-radius: 16px;
        object-fit: cover;
    }
    
    /* Создаем grid контейнер для фотографий */
    .photos_and_videos {
        display: grid;
        grid-template-columns: 1fr; /* Одна колонка для всего */
    }
}




/* МОБИЛЬНАЯ ВЕРСИЯ ЗАКОНЧЕНА */


/* БЛОК ФОТООТЧЕТ ЗАКОНЧЕН*/

/* БЛОК ОТЗЫВЫ */

.reviews {
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
}

.reviews_people {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    /* 2 колонки */
    gap: 20px;
    margin: 30px auto;

}

.reviews_people {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 равные колонки */
    gap: 20px;
    margin: 30px auto;
    max-width: 1200px; /* ограничиваем максимальную ширину */
    padding: 0 20px; /* добавляем отступы по бокам */
}

.reviews_people_1,
.reviews_people_2,
.reviews_people_3 {
    background-color: #F5F7FF;
    border-radius: 24px;
    padding: 12px;
    grid-column: span 1; /* каждый блок занимает 1 колонку */
    margin: 0; /* убираем индивидуальные отступы */
}

/* Убираем индивидуальные margin */
.reviews_people_1 {
    margin-left: 0;
}

.reviews_people_3 {
    margin-right: 0;
}

/* Остальные стили остаются без изменений */
.reviews_people_1 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.reviews_description {
    margin-left: 13px;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.name_people_1 {
    margin: 0;
    font-weight: 400;
    font-size: 27px;
    align-self: flex-start;
    color: #3B0041;
}

.rating_date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.rating_date > img {
    width: 15px;
    justify-self: flex-start;
}

.reviews_rectangle1 {
    border: 0.1em solid white;
    background-color: white;
    border-radius: 7px;
    color: #3B0041;
    font-weight: 400;
    width: auto;
    padding: 0px 6px;
    font-weight: 400;
    line-height: 24px;
    font-size: 10px;
    margin-left: auto;
}

.reviews_doctor {
    font-family: Circe;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
    letter-spacing: 0%;
    max-width: 480px;
}

.reviews_more {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin-top: 10px;
    transition: 1s ease;
    cursor: pointer;
}

.reviews_more > a {
    font-size: 14px;
    line-height: 24px;
    color: #E71B7F;
}

.reviews_more > a:hover {
    color: #ca1d71;
}

.reviews_naming {
    border-radius: 24px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.reviews_person_name {
    margin-left: 10px;
}

.reviews_naming > img {
    max-width: 65px;
}

.name_people_2 {
    font-weight: 400;
    font-size: 25px;
    color: #3B0041;
    margin: 0;
}

.doctor_professtion {
    font-weight: 400;
    font-size: 16px;
    color: #8B4393;
    margin: 0;
}

/* МОБИЛЬНАЯ ВЕРСИЯ */


/* Мобильная версия отзывов (меньше 1100px) */
@media (max-width: 1100px) {
    .reviews {
        margin: 20px;
        border-radius: 16px;
    }
    .programs_navigation_new {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
    }
    .path_to_block1 {
        margin-left: 20px;
        margin-top: 20px;
    }
    
    .programs_navigation {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
    }
    
    .programs_title {
        font-size: 22px;
        line-height: 1.3;
    }
    
    /* Ключевые изменения для отзывов */
    .reviews_people {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    /* Делаем все отзывы одинаковыми как reviews_people_2 */
    .reviews_people_1,
    .reviews_people_2,
    .reviews_people_3 {
        grid-column: span 1;
        width: 100%;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
    }
    
    /* Преобразуем первый отзыв в стиль второго */
    .reviews_people_1 {
        display: flex;
        flex-direction: column;
        background-color: #F5F7FF;
        border-radius: 16px;
    }
    
    .reviews_people_1 > img {
        display: none; /* Скрываем большую фотографию */
    }
    
    /* Создаем структуру как у reviews_people_2 */
    .reviews_people_1::before {
        content: '';
        display: flex;
        align-items: flex-start;
        margin-bottom: 15px;
    }
    
    /* Добавляем контейнер для имени и фото как у других отзывов */
    .reviews_people_1 .reviews_description {
        margin-left: 0;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    
    /* Создаем структуру naming для первого отзыва */
    .reviews_people_1 .reviews_naming {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 15px;
    }
    
    .reviews_people_1 .reviews_naming img {
        width: 65px;
        height: 65px;
        border-radius: 50%;
        object-fit: cover;
        display: block !important; /* Показываем маленькое фото */
    }
    
    .reviews_people_1 .reviews_person_name {
        margin-left: 0;
    }
    
    .reviews_people_1 .name_people_1 {
        font-size: 25px;
        margin: 0;
    }
    
    /* Выравниваем рейтинг и дату */
    .reviews_people_1 .rating_date {
        margin-top: 10px;
        justify-content: flex-start;
        gap: 10px;
    }
    
    .reviews_people_1 .reviews_rectangle1 {
        margin-left: auto;
    }
    
    /* Текст отзыва */
    .reviews_people_1 .reviews_doctor {
        margin: 10px 0;
        font-size: 14px;
        line-height: 1.5;
        max-width: 100%;
    }
    
    /* Кнопка подробнее */
    .reviews_people_1 .reviews_more {
        margin-top: 15px;
    }
    
    /* Делаем второй и третий отзывы полноwidth */
    .reviews_people_2,
    .reviews_people_3 {
        width: 100%;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
    }
    
    /* Улучшаем внешний вид всех отзывов */
    .reviews_naming {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 15px;
    }
    
    .reviews_naming img {
        width: 65px;
        height: 65px;
        border-radius: 50%;
        object-fit: cover;
    }
    
    .reviews_person_name {
        margin-left: 0;
    }
    
    .name_people_2 {
        font-size: 25px;
        margin: 0;
    }
    
    .doctor_professtion {
        font-size: 16px;
        margin: 5px 0 0 0;
    }
    
    .rating_date {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 10px 0;
    }
    
    .rating_date img {
        width: 15px;
        height: 15px;
    }
    
    .reviews_rectangle1 {
        margin-left: auto;
        padding: 4px 8px;
        font-size: 12px;
    }
    
    .reviews_doctor {
        font-size: 14px;
        line-height: 1.5;
        margin: 10px 0;
        max-width: 100%;
    }
    
    .reviews_more {
        margin-top: 15px;
    }
    
    .reviews_more a {
        font-size: 14px;
    }
}

/* Дополнительная адаптация для очень маленьких экранов */
@media (max-width: 480px) {
    .videoframe {
        width: calc(100% - 40px); /* 20px с каждой стороны */
        margin-left: 20px;
        margin-right: 20px;
        height: 180px; /* Немного уменьшаем высоту */
    }
    .reviews_people {
        gap: 15px;
        margin: 15px;
        width: calc(100% - 30px);
    }
    
    .reviews_people_1,
    .reviews_people_2,
    .reviews_people_3 {
        padding: 15px;
        border-radius: 12px;
        width: 88%!important;
    }
    
    .reviews_naming img {
        width: 50px;
        height: 50px;
    }
    
    .name_people_1,
    .name_people_2 {
        font-size: 20px;
    }
    
    .doctor_professtion {
        font-size: 14px;
    }
    
    .reviews_doctor {
        font-size: 13px;
        text-align: center;
    }
    
    .rating_date img {
        width: 12px;
        height: 12px;
    }
    
    .reviews_rectangle1 {
        font-size: 11px;
        padding: 3px 6px;
    }
}

@media (max-width: 1100px) {
    /* Скрываем первый отзыв */
    .reviews_people_1 {
        display: none;
    }
    
    /* Настраиваем layout для оставшихся отзывов */
    .reviews_people {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    .reviews_people_2,
    .reviews_people_3 {
        width: 100%;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
    }
}


/* МОБИЛЬНАЯ ВЕРСИЯ ЗАКОНЧЕНА */

/* БЛОК ОТЗЫВЫ ЗАКОНЧЕН*/

/* БЛОК ПОДВАЛ САЙТА */

.footer {
    background-color: #8B4393;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
}

.footer_data {
    display: flex;
    gap: 24px;
    /* Отступ между блоками */
    width: 100%;
    /* Растягиваем на весь доступный экран */
    margin: 30px;
}

.bank_data {
    color: white;
}


.footer_bank_data,
.footer_navig,
.footer_contacts {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.168);
    border-radius: 16px;
    padding: 60px;
    max-width: 250px;
    /* Максимальная ширина */
    max-height: 600px;
    color: white;
}

.footer_bank_data {
    flex: 1;
    /* Растягивается на всю доступную ширину слева */
    min-width: 250px;
    /* Минимальная ширина */
    max-width: 400px;
    /* Максимальная ширина (опционально) */
}

.footer_navig,
.footer_contacts {
    height: 225px;
    align-self: center;
}

.footer_contacts {
    margin-top: 24px;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: relative;
}




.logo_footer {
    font-family: 'Circe Bold';
    display: flex;
    align-items: center;
    gap: 16px;
    color: white;
    text-decoration: none;
    margin-bottom: 20px;
    /* Отступ после логотипа */
    position: static;
    /* Убираем абсолютное позиционирование */
    transform: none;
    left: auto;
    top: auto;
}

.bank_data p {
    font-weight: 400;
    font-size: 16px;
}

.footer_nav {
    font-weight: 400;
    font-size: 17px;
    display: flex;
    /* Включаем flex-контейнер */
    flex-direction: column;
    /* Располагаем элементы в колонку */
    gap: 20px;
    align-self: center;
    justify-self: center;
}

.footer_nav a {
    color: white;
}

.footer_contacts>a {
    font-weight: 400;
    font-size: 20px;
    color: white;
    margin-bottom: 5px;
    margin: 20px 0;
}

.footer_contacts>p {
    font-weight: 400;
    font-size: 20px;
    color: white;
    align-self: center;
    align-content: center;
}

.footer_social_media {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    gap: 8px;
}

.footer_social_media>a>img {
    width: 24px;
    transition: transform 0.3s ease;
}

.footer_vk,
.footer_tg,
.footer_whatsapp {
    width: 60px;
    height: 60px;
    background-color: transparent;
    border: 1px solid white;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    /* Анимация для контейнера */
    cursor: pointer;
}

.footer_vk:hover,
.footer_tg:hover,
.footer_whatsapp:hover {
    transform: translateY(-3px);
    /* Легкий подъем */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Тень для эффекта "поднятия" */
}

.footer_vk:hover img,
.footer_tg:hover img,
.footer_whatsapp:hover img {
    transform: scale(1.2);
    /* Увеличение на 20% */
}

.footer_contacts {
    margin-top: 24px;
    height: 225px;
    padding: 60px;
    position: relative;
    text-align: center;
    display: block;
}

.footer_contacts::before {
    content: '';
    height: 100%;
    vertical-align: middle;
}

.footer_contacts-inner {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
}

.footer_contacts>a {
    display: block;
    margin: 10px auto;
    text-align: center;
}


.footer_feedback {
    height: 595px;
    width: 800px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.168);
    border-radius: 16px;
    padding: 60px;
    color: white;

    flex: 1;
    /* Растягивается на всю доступную ширину справа */
    margin-right: 62px;
    padding-right: 50px;
    padding-left: 50px;

    /* width: 100%; 
    max-width: 800px;
    min-width: 250px;
    height: auto;  */
}


.footer_feedback p {
    margin-top: 0px;
    font-weight: 400;
    font-size: 27px;
}

.inputs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 колонки */
    gap: 20px;
}

.input_atribut,
.input_atribut_message {
    font-family: Circe;
    font-weight: 400;
    font-size: 16px;
    background-color: transparent;
    border: 1px solid white;
    border-radius: 12px;
    padding: 20px;
}

input {
    color: white;
}

::placeholder {
    /* Современные браузеры */
    color: white;
    /* Фиолетовый цвет как в вашем дизайне */
}


input:focus,
.input_atribut_message:focus {
    outline: none;
    /* Полное отключение */
}

.input_atribut_message {
    grid-column: span 2;
    min-height: 70px;
    /* Начальная высота */
    resize: none;
    /* НЕ разрешаем изменять размер по вертикали и горизонтали */
    overflow-y: auto;
    /* Добавляем скролл при необходимости */
    font-weight: 400;
    font-size: 16px;
    background-color: transparent;
    border: 1px solid white;
    border-radius: 12px;
    padding: 20px;
    color: white;
    /* Автоматический перенос текста */
    white-space: pre-wrap;
    word-wrap: break-word;
}


input:focus::placeholder,
textarea:focus::placeholder {
    color: transparent;
}

.footer_private_data {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 15px;
    gap: 7px;
    font-weight: 400;
    font-size: 15px;
    align-items: flex-start;
    transition: text-decoration 0.2s ease;
}

.footer_private_data>span>a {
    color: white;

    font-weight: 600;
    font-size: 15px;
    line-height: 18px;
    transition: border-color 0.2s ease;
}

.footer_private_data>span>a:hover {
    text-decoration: underline;
    /* Убираем стандартное подчеркивание */
    text-decoration-thickness: 1.5px;
    /* Толщина линии */
    text-underline-offset: 3px;
    /* Отступ от текста */
    transition: text-decoration-thickness 5s ease;
}

/* ИИ ЧЕКБОКС*/

/* Скрываем оригинальный чекбокс */
input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Стили для кастомного чекбокса */
.custom-checkbox {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: white;
    border: 2px solid #8B4393;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    
}

/* Стиль при выборе */
input[type="checkbox"]:checked+.custom-checkbox {
    background-color: #E71B7F;
}

/* Галочка (скрыта по умолчанию) */
.custom-checkbox::after {
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    top: 2px;
    width: 8px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.footer_private_data{
    flex-wrap: nowrap;
}

/* Показываем галочку при выборе */
input[type="checkbox"]:checked+.custom-checkbox::after {
    display: block;
}

.footer_private_data span:not(.custom-checkbox) {
    display: inline-block;
    align-items: center;
    line-height: 1.3;
    /* Оптимальный межстрочный интервал */
    transform: translateY(1px);
    /* Микро-корректировка */
}



/* ИИ ЧЕКБОКС ЗАКОНЧЕН*/

.footer_feedback_button {
    border-radius: 9px;
    padding: 17px 65px;
    background-color: #E71B7F;
	height:50px;
    border: none;
    color: white;
    font-family: Circe;
    font-weight: 400;
    font-size: 15px;
    margin-top: 15px;
    cursor: pointer;
    transition: 0.3s ease;
}

.footer_feedback_button:hover {
    background-color: #d21e75;
}

#sendText {
    color: white;
    margin-top: 15px;
    display: block;
    text-align: center;
}


.footer_private_data {
    position: relative;
    /* Чтобы ошибка позиционировалась правильно */
}

/* Стиль для сообщения об ошибке */
.checkbox-error {
    color: rgb(162, 255, 0);
    font-size: 14px;
    margin-left: 10px;
    display: none;
    /* По умолчанию скрыто */
}
/*
.privacy-captcha-container {
    grid-column: span 2;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 15px;
    flex-wrap: wrap;
}
*/
.captcha-wrapper {
    flex-grow: 1;
    min-width: 300px;
}

.footer_feedback_button {
    /* grid-column: span 2; */
    margin-top: 20px;
}

.error-message {
    color: rgb(162, 255, 0);
    font-size: 18px;
    margin-top: 5px;
    display: none;
    width: 100%;
}

/* Для позиционирования ошибки каптчи */
.captcha-wrapper {
    position: relative;
}

#captcha-error {
    position: absolute;
    top: -20px;
    left: 0;
}


/* МОБЛИЛЬНАЯ ВЕРСИЯ */
/* Мобильная версия футера */
@media (max-width: 1400px) {
    .footer {
        margin: 20px;
        border-radius: 16px;
    }
    
    .footer_data {
        flex-direction: column; /* Вертикальное расположение блоков */
        gap: 20px;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    /* Делаем все блоки полноwidth */
    .footer_bank_data,
    .footer_navig_contacts,
    .footer_feedback {
        width: 100%;
        max-width: 100%;
        margin: 0;
        box-sizing: border-box;
    }
    
    /* Стили для банковских данных */
    .footer_bank_data {
        padding: 30px;
        max-height: none;
        order: 1; /* Первый по порядку */
    }
    
    .logo_footer {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        margin-bottom: 20px;
    }
    
    .logo_footer img {
        margin-bottom: 10px;
    }
    
    .bank_data p {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 15px;
    }
    
    /* Стили для навигации и контактов */
    .footer_navig_contacts {
        display: flex;
        flex-direction: column;
        gap: 20px;
        order: 2; /* Второй по порядку */
    }
    
    .footer_navig,
    .footer_contacts {
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 30px;
        margin: 0;
    }
    
    .footer_nav {
        gap: 15px;
        text-align: center;
    }
    
    .footer_nav a {
        font-size: 16px;
    }
    
    .footer_contacts {
        text-align: center;
    }
    
    .footer_contacts > a {
        font-size: 18px;
        margin: 10px 0;
        display: block;
    }
    
    .footer_social_media {
        justify-content: center;
        margin-top: 20px;
    }
    
    .footer_vk,
    .footer_tg,
    .footer_whatsapp {
        width: 50px;
        height: 50px;
    }
    
    /* Стили для формы обратной связи */
    .footer_feedback {
        width: 100%;
        height: auto;
        padding: 30px;
        margin: 0;
        order: 3; /* Третий по порядку */
    }
    
    .footer_feedback p {
        font-size: 22px;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .inputs {
        grid-template-columns: 1fr; /* Одна колонка на мобильных */
        gap: 15px;
    }
    
    .input_atribut_message {
        grid-column: span 1;
        min-height: 100px;
    }
    
    .footer_private_data {
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 15px;
    }
    
    .footer_private_data span:not(.custom-checkbox) {
        font-size: 14px;
        line-height: 1.3;
    }
    
    .privacy-captcha-container {
        flex-direction: column;
        gap: 15px;
    }
    
    .captcha-wrapper {
        min-width: 100%;
    }
    
    .footer_feedback_button {
        width: 100%;
        padding: 15px;
        margin-top: 20px;
    }
    
    /* Убираем псевдоэлементы и выравнивания */
    .footer_contacts::before {
        display: none;
    }
    
    .footer_contacts-inner {
        display: block;
    }

    .footer_navig {
        display: flex;
        flex-direction: column;
        align-items: center; /* Центрирование по горизонтали */
        justify-content: center; /* Центрирование по вертикали */
        text-align: center;
    }
    
    .footer_nav {
        display: flex;
        flex-direction: column;
        align-items: center; /* Центрирование ссылок */
        gap: 15px;
        width: 100%;
    }
    
    .footer_nav a {
        font-size: 16px;
        text-align: center;
        width: auto; /* Чтобы ссылки не растягивались */
    }
    
    /* Центрирование содержимого footer_contacts */
    .footer_contacts {
        display: flex;
        flex-direction: column;
        align-items: center; /* Центрирование по горизонтали */
        justify-content: center; /* Центрирование по вертикали */
        text-align: center;
    }
    
    .footer_contacts > a {
        font-size: 18px;
        margin: 10px 0;
        display: block;
        text-align: center;
        width: 100%;
    }
    
    .footer_social_media {
        justify-content: center;
        margin-top: 20px;
        width: 100%;
    }
}


/* Дополнительная адаптация для очень маленьких экранов */
@media (max-width: 480px) {
    .footer {
        margin: 15px;
        border-radius: 12px;
    }
    
    .footer_data {
        margin: 15px;
        width: calc(100% - 30px);
        gap: 15px;
    }
    
    .footer_bank_data,
    .footer_navig,
    .footer_contacts,
    .footer_feedback {
        padding: 20px;
    }
    
    .bank_data p {
        font-size: 12px;
    }
    
    .footer_nav a {
        font-size: 14px;
    }
    
    .footer_contacts > a {
        font-size: 16px;
    }
    
    .footer_feedback p {
        font-size: 20px;
    }
    
    .input_atribut,
    .input_atribut_message {
        padding: 15px;
        font-size: 14px;
    }
    
    .footer_vk,
    .footer_tg,
    .footer_whatsapp {
        width: 45px;
        height: 45px;
    }
    
    .footer_social_media > a > img {
        width: 20px;
    }

    .custom-checkbox {

        width: 20px;
        height: 20px;
    }
    .footer_private_data{
        flex-wrap: nowrap;
    }

    .footer_private_data span:not(.custom-checkbox) {
        font-size: 12px;
    }
}
@media (max-width: 768px) {
   /* .nav_and_call{
        max-height: 0;

    }*/
   /* .nav_and_call {
        display: none !important;
    }**/
}
/* Улучшенная версия с анимациями */
@media (max-width: 1400px) {
    .footer_bank_data,
    .footer_navig,
    .footer_contacts,
    .footer_feedback {
        transition: all 0.3s ease;
        border: 1px solid rgba(255, 255, 255, 0.2);
    }
    
    .footer_nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 20px;
        text-align: left;
    }
    
    .footer_nav a {
        padding: 5px 0;
    }
}

/* Оптимизация для планшетов */
@media (max-width: 1400px) and (min-width: 768px) {
    .footer_data {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas:
            "bank"
            "nav"
            "feedback";
        gap: 25px;
    }
    
    .footer_bank_data {
        grid-area: bank;
    }
    
    .footer_navig_contacts {
        grid-area: nav;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 85px;
    }
    
    .footer_feedback {
        grid-area: feedback;
    }
    
    .footer_navig,
    .footer_contacts {
        height: auto;
        min-height: 200px;

    }

    .footer_contacts{
        max-width: 80%;
    }

    /* .footer_navig{
        padding-right: 5px;
    }

    .footer_contacts{
        padding-left: 5px;
    } */

}

/* Гарантия правильного порядка */
@media (max-width: 1400px) {
    .footer_data {
        display: flex;
        flex-direction: column;
    }
    
    .footer_bank_data {
        order: 1;
    }
    
    .footer_navig_contacts {
        order: 2;
    }
    
    .footer_feedback {
        order: 3;
    }
}

@media(max-width: 768px){
    .footer_navig, 
    .footer_contacts{
        max-width: 90%;
    }
}


/* МОБЛИЛЬНАЯ ВЕРСИЯ ЗАКОНЧЕНА */



/* БЛОК ПОДВАЛ САЙТА ЗАКОНЧЕН */




/* МОДАЛЬНОЕ ОКНО */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content {
    background-color: white;
    padding: 30px;
    border-radius: 16px;
    max-width: 400px;
   /* width: 100%;*/
    position: relative;
    animation: modalFadeIn 0.3s ease;
}

.modal-close {
    font-family: 'Circe';
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
}

h3 {
    font-size: 27px;
    font-weight: 400;
    margin: 0px;
}

.modal_description {
    font-weight: 500;
    margin: 0px;
    margin-bottom: 30px;
}

.callback-form {
    display: flex!important;
    flex-direction: column;
    gap: 15px;
}

.callback-form input,
.callback-form textarea {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    color: black;
}

.callback-form ::placeholder {
    color: black;
    /* Фиолетовый цвет */
    opacity: 0.7;
    /* Полупрозрачность */
}

.callback-form button {
    background-color: #8B4393;
    color: white;
    border: none;
    padding: 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}

.callback-form button:hover {
    background-color: #7a387e;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(0);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.modal-overlay.closing {
    animation: modalFadeOut 0.3s ease;
}

.modal_button {
  /*  pointer-events: none;*/
}

.modal_button--active {
    pointer-events: auto;
    background-color: #7a387e;
    cursor: pointer;
}


@keyframes modalFadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}









/* МОДАЛЬНОЕ ОКНО ЗАКОНЧЕНО */

/* СЛАЙДЕР ФОТОГРАФИЙ */

.slider {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
    z-index: 1000;
    /* Ключевое изменение - установите высокий z-index */
    transition: opacity 0.3s ease;
    justify-content: center;
    display: flex;
    /* Добавляем flex */
    justify-content: center;
    /* Центрирование по горизонтали */
    align-items: center;
}

.slider__container {
    position: relative;
    /* background-color: #fff; */
    width: auto;
    /* Меняем фиксированную ширину */
    max-width: 50vw;
    /* Ограничение по ширине */
    height: auto;
    /* Меняем фиксированную высоту */
    max-height: 90vh;
    /* Ограничение по высоте */
    padding: 20px;
    display: flex;
    /* Добавляем flex */
    justify-content: center;
    /* Центрирование по горизонтали */
    align-items: center;
}

.active {
    opacity: 1;
    pointer-events: all;
}

.slider__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 20px;
    font-size: 30px;
    z-index: 10;
    color: white;
    cursor: pointer;
    /* transition: 0.3s ease; */
}

.slider__btn_left {
    left: 270px;
}

.slider__btn_right {
    right: 270px;
}

.slider__close {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 30px;
    padding: 20px;
    color: white;
    background: none;
    border: none;
    cursor: pointer;

}

.d-none {
    display: none !important;
}
@media (max-width: 1400px){
.text-dark {
    font-size: 22px;
	color: #fff;
    text-align: center;
    margin-bottom: 20px;
}
}
.text-dark {
    margin-top: 0px;
    font-weight: 400;
    font-size: 27px;
	color: #fff;
}
.modal-content {
   margin: 10% auto; 
}

/* СЛАЙДЕР ФОТОГРАФИЙ ЗАКОНЧЕН */