@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: 600;
    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;
} */

/* ШАПКА ПРОФИЛЯ */

header>a>img {
    width: 120px;

}

.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) {

/* 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;
        margin: 20px;
    }

    .nav_and_call {
        z-index: 1001;
        /* Меню должно быть выше overlay */
    }

    .rectangle {
        width: 55px;
        height: 45px;
    }

}

@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: white;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all ease 1s;
}

.carusel {
    overflow: hidden;
    display: flex;
    transition: transform 1s ease;
}

.welcome_slider {
    background-color: white;
    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; 
}




.left-part{
    margin-left: 30px;
    max-width: 600px;
    height: 100%; /* ← Занимаем всю высоту родителя */
    display: flex; /* ← Включаем flex */
    flex-direction: column; /* ← Колонка */
    justify-content: space-between;
}

.date-time-block {
    display: flex;
    gap: 10px; /* расстояние между прямоугольниками */
    margin-top: 30px;
    
}

.rectangle1, .rectangle2, 
.rectangle3{
    border: 0.1em solid #3B0041;
    border-radius: 7px;
    display: flex;              
    align-items: center;        
    justify-content: center; 
    color: #3B0041;
    font-weight: 400;
    padding: 0 8px;
    width: auto;


}

.rectangle1{
    width: 90px;
    height: 30px;
}

.rectangle2{
    width: 50px;
    height: 30px;
}

.rectangle3{
    width: 70px;
    height: 30px;
    border: 0.1em solid #E71B7F;
    color: white;
    background-color: #E71B7F;
}

.course{
    font-weight: 400;
    letter-spacing: 6px;
    color: #3B0041;


}

.page_navigation>p{
    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
}

.page_navigation>p>a{
    color: #3B0041;
}

.page_navigation>p>a:hover{
    text-decoration: underline;
}

.page_navigation>p>span{
    color: #C3C3C3;
}

h1{
    font-size: 75px;
    font-weight: 400;
    color: #3B0041;
    word-spacing: 0.1em;
    line-height: 80px;
    margin: 0;
    letter-spacing: 0%;



}

h2{
    margin-top: 30px;
}


.program_doctor{
    margin-top: 50px; /* ← Прижимаем к низу */
    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;
}


.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(0, 0, 0, 0.078);
    top: 60px;
    left: -390px;
}
.circle2 {
    width: 1000px;
    height: 1000px;
    border: 2px solid rgba(0, 0, 0, 0.078);
    top: 150px;
    left: -280px;
    
}
.circle3 {
    width: 800px;
    height: 800px;
    border: 2px solid rgba(0, 0, 0, 0.078);
    top: 250px;
    left: -160px;
}
.circle4 {
    width: 600px;
    height: 600px;
    border: 2px solid rgba(0, 0, 0, 0.078);
    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% */
    }
}



.carousel-container {
    width: calc(100% - 80px); /* Учитываем отступы 40px с каждой стороны */
    margin: 30px 40px; /* 30px сверху/снизу, 40px слева/справа */
    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: white;
    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 .container_slider_line {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    width: 100%;
}



/* БЛОК ГЛАВНАЯ СТРАНИЦА ЗАКОНЧЕН */


/* БЛОК ВТОРОЙ ВАРИАНТ ГЛАВНОЙ СТРАНИЦЫ */
/* ГЛАВНЫЙ ЭКРАН */



.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;
}

.carusel {
    overflow: hidden;
    display: flex;
    transition: transform 1s ease;
}

.welcome_slider {
    background-color: white;
    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;
}




.left-part {
    margin-left: 30px;
    max-width: 600px;
    height: 100%;
    /* ← Занимаем всю высоту родителя */
    display: flex;
    /* ← Включаем flex */
    flex-direction: column;
    /* ← Колонка */
    justify-content: space-between;
}

.date-time-block {
    display: flex;
    gap: 10px;
    /* расстояние между прямоугольниками */
    margin-top: 30px;

}

.rectangle1,
.rectangle2 {
    border: 0.1em solid #3B0041;
    border-radius: 7px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3B0041;
    font-weight: 400;
    padding: 0 8px;
    width: auto;


}

.rectangle1 {
    width: 170px;
    height: 30px;
}

.rectangle2 {
    width: 70px;
    height: 30px;
}

.course {
    font-weight: 400;
    letter-spacing: 6px;
    color: white;


}



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%;

}

.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: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;


}

.button1_img,
.button2_img {
    width: 14px;
}


.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: white;
    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 .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.slide-in-left {
    animation: slideInLeft 1s forwards;
    /* 1 секунда */
}

.welcome_slider.slide-out-right {
    animation: slideOutRight 1s forwards;
    /* 1 секунда */
}

.welcome_slider.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;
    }

    /* Правая часть теперь будет под левой */
    .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: 58px;
        margin-right: 50px;
        line-height: 1.2;
    }
}

@media (max-width: 600px) {
    .title {
        font-size: 45px;
        margin-right: 50px;
        line-height: 1.2;
    }
}

/* АНИМАЦИЯ КАРУСЕЛИ */
/* Обновляем стили для контейнера слайдера */
.welcome_slider {
    flex: 0 0 100%;
    width: 100%;
    background-color: white;
    border-radius: 24px;
    position: relative;
    overflow: hidden; /* Убедитесь, что здесь стоит hidden */
    box-sizing: border-box;
    padding: 20px 0;
}

/* Обновляем 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%;
    }
}


/* Мобильная версия меньше 1100px */
@media (max-width: 1100px) {
    .welcome_slider .container_slider_line {
        flex-direction: column;
        padding: 0 10px;
    }

    /* Левая часть с информацией - первый по порядку */
    .left-part {
        order: 1;
        margin-left: 0;
        max-width: 100%;
        width: 100%;
    }

    /* Правая часть с фото - второй по порядку (ниже информации) */
    .right {
        order: 2;
        margin-top: 30px;
        width: 100%;
    }

    .right-part {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-bottom: 0;
        margin-bottom: 0;
        width: 100%;
    }

    .welcome_img {
        max-width: 500px;
        width: 100%;
        height: auto;
        transform: translateY(0);
        margin-bottom: 0;
        border-radius: 16px;
    }

    /* Скрываем круги на мобильных */
    .circle1, .circle2, .circle3, .circle4 {
        display: none;
    }

    /* Центрируем контент */
    .page_navigation {
        text-align: center;
        margin-bottom: 20px;
    }

    .naming {
        text-align: center;
    }

    .date-time-block {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .program_doctor {
        justify-content: center;
        text-align: center;
        margin-top: 30px;
    }

    .doctor_description {
        align-items: center;
    }
}

@media (max-width: 768px) {
    .title{ 
        font-size: 20px;
    }
}



/* МОБИЛЬНАЯ ВЕРСИЯ ГЛАВНОЙ СТРАНИЦЫ ЗАКОНЧЕНА*/



/* ГЛАВНЫЙ ЭКРАН ЗАКОНЧЕН*/
/* БЛОК ВТОРОЙ ВАРИАНТ ГЛАВНОЙ СТРАНИЦЫ ЗАКОНЧЕН */

/* БЛОК ЭТАПЫ */

.programs_steps{
    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; */
}

.program_steps_left_part{
    margin-left: 30px;
    max-width: 500px;
    /* display: flex; */
}

.path_to_block{
    color: #8B4393;
    font-size: 15px;
    font-weight: 400;   
    line-height: 24px;
    letter-spacing: 0%;

}

.title_about{
    font-size: 34px;
    color: #3B0041;
    font-weight: 550;
}

.steps_buttons{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}

.steps_buy_now{
    font-weight: 400;
    font-size: 17px;
    color: white;
    background-color: #E71B7F;
    padding: 20px 50px;
    border: none;
    border-radius: 14px;
    transition: 0.3s ease;
    padding-left: 80px;
    padding-right: 80px;
}

.program_steps_img{
    max-width: 450px;
}

.steps_buy_now:hover{
    background-color: #d21e75;
    cursor: pointer;
}

.steps_buttons>a{
    font-weight: 400;
    font-size: 18px;
    color: #8B4393;
    background-color: transparent;
    border: 1px solid #8B4393;
    padding: 15px 35px;
    border-radius: 14px;
    transition: 0.3s ease;
}

.steps_buttons>a:hover{
    color: white;
    background-color: #8B4393;
}

/* ИИ */

.programs_steps {
    display: flex;
    justify-content: space-between; /* Распределение пространства */
    align-items: flex-start; /* Выравнивание по верху */
    background-color: #ffffff;
    border-radius: 24px;
    margin: 30px 40px;
    padding: 30px; /* Добавим отступы внутри секции */
    gap: 140px; /* Расстояние между левой и правой частями */
}

.program_steps_right_container {
    display: flex;
    flex-direction: column; /* Блоки идут вертикально */
    gap: 10px; /* Расстояние между правыми блоками */
    flex: 1; /* Занимает доступное пространство */
    /* max-width: 500px;  */
    margin-top: 190px;
}


.program_steps_right_part {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0; /* Убираем старые отступы */
}

/* ИИ ЗАКОНЧЕН*/


.number_step{
    background-color: #F5F7FF;
    border-radius: 100%;
    padding: 10px 15px;
    color: #3B0041;
    font-family: Circe;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0%;
    text-align: center;
}

.program_steps_right_part>p{
    color: #3B0041;
    font-family: Circe;
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
}

/* БЛОК ЭТАПЫ МОБИЛЬНАЯ ВЕРСИЯ */

/* Мобильная версия меньше 1100px */
@media (max-width: 1100px) {
    .programs_steps {
        flex-direction: column; /* Вертикальное расположение */
        gap: 40px; /* Отступ между блоками */
        margin: 20px;
        padding: 20px;
    }

    .program_steps_left_part {
        margin-left: 0;
        max-width: 100%;
        width: 100%;
        order: 1; /* Первый блок */
    }

    .program_steps_right_container {
        order: 2; /* Второй блок (ниже левой части) */
        width: 100%;
    }

    .program_steps_img {
        max-width: 100%; /* Адаптивная ширина */
        width: 100%;
        height: auto; /* Сохраняем пропорции */
    }

    .steps_buttons {
        flex-direction: column; /* Кнопки вертикально */
        gap: 15px;
        align-items: stretch; /* Растягиваем на всю ширину */
    }

    .steps_buttons > a,
    .steps_buy_now {
        width: 100%; /* Полная ширина для кнопок */
        text-align: center;
        box-sizing: border-box;
    }
}

/* Дополнительная адаптация для планшетов */
@media (max-width: 900px) {
    .program_steps_img {
        max-width: 80%; /* Немного уменьшаем фото */
        display: block;
        margin: 0 auto; /* Центрируем */
    }
}

/* Для маленьких экранов */
@media (max-width: 768px) {
    .programs_steps {
        margin: 15px;
        padding: 20px;
        border-radius: 16px;
    }

    .program_steps_img {
        max-width: 100%; /* Полная ширина на маленьких экранах */
    }

    .title_about {
        font-size: 22px;
        text-align: center;
    }

    .path_to_block {
        text-align: center;
    }

    .program_steps_right_part {
        flex-direction: column; /* Номер и текст вертикально */
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 20px;
    }

    .number_step {
        align-self: flex-start; /* Номер слева */
    }

    .program_steps_right_part > p {
        font-size: 16px;
        line-height: 1.4;
        margin: 0;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
    .programs_steps {
        margin: 10px;
        padding: 15px;
        gap: 30px;
    }

    .program_steps_img {
        max-width: 100%;
        height: auto;
    }

    .title_about {
        font-size: 20px;
    }

    .steps_buttons {
        gap: 10px;
    }

    .steps_buy_now {
        padding: 15px 20px;
        font-size: 16px;
    }

    .steps_buttons > a {
        padding: 12px 20px;
        font-size: 16px;
    }

    .number_step {
        font-size: 16px;
        padding: 8px 12px;
    }

    .program_steps_right_part > p {
        font-size: 14px;
        line-height: 1.3;
    }
}

/* Плавное уменьшение фотографии */
@media (max-width: 1100px) {
    .program_steps_img {
        transition: all 0.3s ease; /* Плавное изменение размера */
    }
}
/* БЛОК ЭТАПЫ МОБИЛЬНАЯ ВЕРСИЯ ЗАКОНЧЕНА */


/* БЛОК ЭТАПЫ ЗАКОНЧЕН */


/* БЛОК ПРОГРАММЫ */

.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;
    
}

.programs_navigation{
    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%;
}

.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-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;
}

.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;
    margin-top: 20px;

}

.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) {
    .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) {
    .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;
    }
}


/* МОБИЛЬНАЯ ВЕРСИЯ ПРОГРАММЫ ЗАКОНЧЕНА */


/* БЛОК ПРОГРАММЫ ЗАКОНЧЕН */

/* БЛОК ПОДВАЛ САЙТА */
.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: 590px;
    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;

    /* 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;
    align-items: flex-start;
    font-weight: 400;
    font-size: 15px;
    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);
}

/* Показываем галочку при выборе */
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;
}

/* МОБЛИЛЬНАЯ ВЕРСИЯ */
/* Мобильная версия футера */
@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: 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 {
    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; }
}

/* МОДАЛЬНОЕ ОКНО ЗАКОНЧЕНО */
.notification {
    padding: 15px 15px 0px 20px;
    border-radius: 5px;
    margin: 10px;
}
.notification.success {
    background-color: #dff0d8;
    color: #3c763d;
    border: 1px solid #d6e9c6;
}

.notification.error {
    background-color: #f2dede;
    color: #a94442;
    border: 1px solid #ebccd1;
}

#paymentModal {
    max-height: 100%; 
}

#paymentModal > div {
    max-height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    max-width: 460px;
}
.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; 
}