@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 */
}

.d-none {
    display: none !important;
}
@media (max-width: 1400px){
.text-dark {
    font-size: 22px;
	color: #fff;
    text-align: center;
    margin-bottom: 20px;
}
    .text-white {
        font-size: 22px;
        color: rgb(59, 0, 65);
        text-align: center;
        margin-bottom: 20px;
    }
}
.text-dark {
    margin-top: 0px;
    font-weight: 400;
    font-size: 27px;
	color: #fff;
}
.text-white {
    margin-top: 0px;
    font-weight: 400;
    font-size: 27px;
    color: rgb(59, 0, 65);
}


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;
    }
}





/* ШАПКА ПРОФИЛЯ ЗАКОНЧЕНА */

/* БЛОК ОГЛАВЛЕНИЕ */
.programs_main, 
.contacts_location_photos, 
.contact_information{
    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%;
    
}

.nav_and_name {
    flex: 1; /* Занимает доступное пространство */
    max-width: 800px; /* Или нужная вам ширина */
    margin-right: 15px;
}

.page_navigation>p{
    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
}

.page_navigation>p>a{
    color: #8B4393;
}

.page_navigation>p>a:hover{
    text-decoration: underline;
}

.page_navigation>p>span{
    color: #C3C3C3;
}

.main_screen_name{
    font-weight: 400;
    font-size: 50px;
    text-transform: uppercase;
    color: #3B0041;
    max-width: 800px;
}

.main_screen_name>P{
    margin-bottom: 25px;
    margin-top: 25px;
}

@media(max-width: 450px){

    .main_screen_name{
        font-size: 35px;
    }
}


/* БЛОК ОГЛАВЛЕНИЕ ЗАКОНЧЕН */

/* БЛОК МЕСТО ПРОВЕДЕНИЯ ОБУЧЕНИЯ */

/* Основной контейнер */
.location_container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Две равные колонки */
    margin: 30px;
}

/* Левая часть - две секции */
.location_left_part {
    display: flex;
    flex-direction: column;
}

/* Каждая секция с фотографиями */
.location_section {
    background: #ffffff;
    border-radius: 24px;
    padding-top: 30px;
    color: #ffffff;
}

.location_photos {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Две фотографии в ряд */
    gap: 20px;
    margin-top: 20px;
}

.location_photos .photos_only {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 16px;
    cursor: pointer;
}

/* Правая часть - карта */
.location_right_part {
    background: #ffffff;
    border-radius: 24px;
    padding: 30px;
    height: fit-content;
}

.contacts_map {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

.contacts_map iframe {
    border-radius: 24px;
    border: none;
    display: block;
    width: 100%;
    height: 800px; /* Высота чтобы вместить обе секции */
}

/* Стили для заголовков */
.programs_navigation {
    margin: 0;
    width: 100%;
}

.programs_title {
    font-weight: 400;
    font-size: 27px;
    line-height: 48px;
    color: #3B0041;
    margin: 0;
}

/* Мобильная версия */
@media (max-width: 1000px) {
    .location_container {
        grid-template-columns: 1fr; /* Одна колонка на мобильных */
        gap: 20px;
        margin: 20px;
    }
    
    .location_left_part {
        gap: 20px;
    }
    
    .location_section {
        padding: 20px;
    }
    
    .location_photos {
        grid-template-columns: 1fr; /* Одна фотография в ряд на мобильных */
        gap: 15px;
    }
    
    .location_photos .photos_only {
        height: 200px;
    }
    
    .contacts_map iframe {
        height: 400px; /* Меньшая высота на мобильных */
    }
    
    .location_right_part {
        padding: 20px;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
    .location_container {
        margin: 15px;
        gap: 15px;
    }
    
    .location_section {
        padding: 15px;
        border-radius: 16px;
    }
    
    .location_photos .photos_only {
        height: 150px;
        border-radius: 12px;
    }
    
    .programs_title {
        font-size: 22px;
        line-height: 1.3;
    }
    
    .contacts_map iframe {
        height: 300px;
    }
}



/* БЛОК КОНТАКТНАЯ ИНФОРМАЦИЯ */

.contact_information{
    display: flex;
    /* align-items: center; */
    display: flex;
    flex-direction: row; /* Основное направление - горизонтальное */
    justify-content: space-between; /* Распределяет пространство между блоками */
    align-items: flex-start; /* Выравнивание по верхнему краю */
    gap: 30px; /* Отступ между колонками */
    padding: 30px; /* Внутренние отступы */
    background-color: #ffffff;
    border-radius: 24px;
    margin: 30px 40px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
}

.contact_information > div:first-child {
    flex: 1; /* Занимает доступное пространство */
    min-width: 0; /* Позволяет сжиматься */
}

.callback{
    font-family: Circe;
    font-weight: 400;
    font-size: 25px;
    color: #3B0041;
    margin: 30px;
    background-color: #F5F7FF;
    width: 45%;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 16px;
    margin-bottom: 0px;
    padding-top: 10px;
}

.phone_number{
    display: flex;
    align-items: center;
    color: #3B0041;
    justify-content: space-between;
    padding-bottom: 20px;
    font-size: 30px;
}

.phone_number>a{
    color: #3B0041;
}

.call_button{
    background-color: transparent;
    border: 1px solid #E71B7F;
    padding: 10px 20px;
    border-radius: 16px;
    font-size: 20px;
    transition: 0.3s ease;
}

.call_button:hover{
    background-color: #E71B7F;
    color: white;
}

.social_media{
    display: flex;
    align-items: center;
    /* gap: 15px; */
}

.social_media_vk, 
.social_media_tg, 
.social_media_whatsapp,
.social_media_max{
    padding: 12px;
    padding-bottom: 0px;
    border-radius: 16px;
    transition: 0.3s ease;
}

.details{
    height: auto;/*310px;*/
    font-family: Circe;
    font-weight: 400;
    font-size: 25px;
    color: #3B0041;
    margin: 30px;
    background-color: #F5F7FF;
    width: 45%;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 16px;
    margin-bottom: 0px;
}

.callback, .details {
    width: 100% !important; /* Переопределяем ваше 45% */
    margin: 0 0 30px 0 !important; /* Упрощаем отступы */
    box-sizing: border-box;
}

.details{
    padding-bottom: 1px;
}

.callback:last-child, 
.details {
    margin-bottom: 0 !important;
}

.details>h3{
    padding-top: 30px;
    font-size: 25px;
    font-weight: 400;
}

.details>p{
    font-size: 15px;
}


.contacts_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;
}

.contacts_private_data>span>a{
    color: #E71B7F;

    font-weight: 600;
    font-size: 15px;
    line-height: 18px;
    transition: border-color 0.2s ease;
}

.contacts_private_data>span>a:hover{
    text-decoration: underline; /* Убираем стандартное подчеркивание */
    text-decoration-thickness: 1.5px; /* Толщина линии */
    text-underline-offset: 3px; /* Отступ от текста */
    transition: text-decoration-thickness 5s ease;
}

.custom-checkbox_contacts {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: white;
  border: 2px solid #E1E1E1;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
}

/* Стиль при выборе */
input[type="checkbox"]:checked + .custom-checkbox_contacts {
  background-color: #E71B7F;
}

/* Галочка (скрыта по умолчанию) */
.custom-checkbox_contacts::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_contacts::after {
  display: block;
}

.footer_private_data span:not(.custom-checkbox_contacts) {
    display: inline-block;
    align-items: center;
    line-height: 1.3; /* Оптимальный межстрочный интервал */
    transform: translateY(1px); /* Микро-корректировка */
}

/* БЛОК КОНТАКТНАЯ ИНФОРМАЦИЯ ЗАКОНЧЕН*/



/* БЛОК ПОДВАЛ САЙТА */
.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) {
    .programs_main, .contacts_location_photos, .contact_information, .photo_report 
{
    background-color: #ffffff;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    margin: 30px 20px;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    /* gap: 30px; */
}
    .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%;
    }
}


/* МОБЛИЛЬНАЯ ВЕРСИЯ ЗАКОНЧЕНА */



/* БЛОК ПОДВАЛ САЙТА ЗАКОНЧЕН */

.input_atribut_contacts, 
.input_atribut_message_contacts{
    font-family: Circe;
    font-weight: 400;
    font-size: 16px;
    background-color: transparent;
    border: 1px solid #E1E1E1;
    border-radius: 12px;
    padding: 20px;
    color: #3B0041;
}

.input_atribut_contacts::placeholder, 
.input_atribut_message_contacts::placeholder{
    color: #3B0041;

}

input{
    color: white;
}

::placeholder { /* Современные браузеры */
    color: white; /* Фиолетовый цвет как в вашем дизайне */
}


input:focus, 
.input_atribut_message:focus {
  outline: none; /* Полное отключение */
}

.input_atribut_message_contacts{
    grid-column: span 2;
    min-height: 70px; /* Начальная высота */
    resize: none; /* НЕ разрешаем изменять размер по вертикали и горизонтали */
    overflow-y: auto; /* Добавляем скролл при необходимости */
    font-weight: 400;
    font-size: 16px;
    background-color: transparent;
    border: 1px solid #E1E1E1;
    border-radius: 12px;
    padding: 20px;
    color: #3B0041;
    /* Автоматический перенос текста */
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* МОДАЛЬНОЕ ОКНО */
.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; }
}
/* МОДАЛЬНОЕ ОКНО ЗАКОНЧЕНО */

/* СЛАЙДЕР ФОТОГРАФИЙ */

.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;

}

.modal-content {
    margin: 10% auto; 
}

/* СЛАЙДЕР ФОТОГРАФИЙ ЗАКОНЧЕН */