/* Базовые сбросы */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	scroll-behavior: smooth;
}
body {
    font-family: 'Inter', sans-serif;
    background: #fff;
    color: #1a1a1a;
    line-height: 1.55;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

a {
    text-decoration: none;
    color: black;
}

.downline{
    border-bottom: 2px solid #1a1a1a;
}
/* ТОП-БАР */
.top-bar {
    background: #abcdff;
    padding: 8px 0;
    font-size: 14px;
}
.top-bar .container {
    display: flex;
    /*justify-content: space-between;*/
    align-items: center;
    gap: 15px;
    padding: 0;

}

.top-left {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    align-items: center;
}
.top-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}
.top-item img {
    width: 18px;
    height: 18px;
}

.top-right {
    display: flex;
    gap: 16px;
    align-items: center;
}
.social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transition: opacity 0.2s;
}
.social-icon:hover {
    opacity: 0.7;
}
.social-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 900px) {
    .top-left {
        gap: 20px;
    }
    .top-item {
        font-size: 12px;
    }
    .top-item img {
        width: 14px;
        height: 14px;
    }
}

@media (max-width: 768px) {
    .top-bar .container {
/*         flex-direction: column; */
        gap: 10px;
    }
    .top-left {
        justify-content: start;
        gap: 15px;
    }
    .top-right {
        justify-content: start;
    }
}

@media (max-width: 600px) {
    .top-left {
        flex-wrap: wrap;
        justify-content: start;
        gap: 12px;
    }
    .top-item {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .top-left {
        gap: 10px;
    }
    .top-item {
        font-size: 10px;
    }
    .top-item img {
        width: 12px;
        height: 12px;
    }
}


/* ШАПКА */
.main-header {
    background: #fff;
    border-bottom: 1px solid #a9ccff;
    padding: 10px 0;
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.logo img {
    height: 80px;
}

/* Навигация с анимацией подчёркивания */
.nav-links {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.nav-links a {
    color: #000;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    padding-bottom: 6px;
}
.nav-links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #ff428d;
    transition: all 0.3s ease;
    transform: translateX(-50%);
}
.nav-links a:hover::after {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
}
.nav-links a:hover {
    color: #ff428d;
}

.header-contact-btn {
    display: flex;
}
.btn-pink {
    background: #ff428d;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    display: inline-block;
}
.btn-pink:hover {
    background: #e01b67;
}

/* Бургер-меню (десктоп скрыто, показывается на мобилках) */
.burger-menu {
    display: none;
}
.burger-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: transparent;
    border: none;
    transition: background 0.2s;
}
.burger-text {
    font-size: 16px;
    font-weight: 600;
    color: #ff428d;
    font-family: 'Inter', sans-serif;
}
.burger-icon {
    width: 24px;
    height: 2px;
    background: #ff428d;
    position: relative;
}
.burger-icon::before,
.burger-icon::after {
    content: '';
    position: absolute;
    width: 24px;
    height: 2px;
    background: #ff428d;
    transition: 0.3s;
}
.burger-icon::before {
    top: -8px;
}
.burger-icon::after {
    top: 8px;
}

/* Мобильное меню (выезжающее) */
.mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 50%;
    height: 100vh;
    background: #fff;
    z-index: 1001;
    box-shadow: -2px 0 20px rgba(0,0,0,0.1);
    transition: right 0.3s ease;
    padding: 20px;
    display: flex;
    flex-direction: column;
    overflow: auto;
}
.mobile-menu.active {
    right: 0;
}
.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 20px;
}
.mobile-menu-title {
    font-size: 20px;
    font-weight: 600;
    color: #ff428d;
}
.mobile-menu-close {
    font-size: 24px;
    cursor: pointer;
    color: #333;
}
.mobile-nav-links {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1;
    align-items: center;
}
.mobile-nav-links a {
    color: #000;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    padding: 8px 0;
}
.mobile-nav-links a:hover {
    color: #ff428d;
}

@media (max-width: 650px) {

    .mobile-menu {
        width: 100%;
    }
}


/* Соцсети в мобильном меню */
.mobile-social {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 20px 0;
    margin-top: auto;
    border-top: 1px solid #e0e0e0;
    margin-bottom: 20px;
}
.mobile-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    transition: opacity 0.2s;
}
.mobile-social-icon:hover {
    opacity: 0.7;
}
.mobile-social-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.mobile-contact-btn {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.mobile-contact-btn .btn-pink {
    display: block;
    text-align: center;
}
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    display: none;
}
.mobile-menu-overlay.active {
    display: block;
}
@media (max-width: 860px) {
    .nav-links {
        display: none;
    }
    .header-contact-btn {
        display: none;
    }
    .burger-menu {
        display: block;
    }
    .header-inner {
        justify-content: space-between;
    }
	
	.main-header , .social_icon_list{
        display: none;
    }
}
@media (min-width: 861px) {
    .burger-menu {
        display: none !important;
    }
    .nav-links {
        display: flex !important;
    }
    .header-contact-btn {
        display: flex !important;
    }
}



/* ГЕРОЙ */
.hero {
    background: #FAFAFA;
    padding: 60px 0;
    position: relative;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('pic/photo.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}
.hero .container {
    position: relative;
    z-index: 1;
}
.hero-grid {
    display: flex;
    align-items: stretch;
    gap: 40px;
    flex-wrap: wrap;
}
.hero-left { 
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero-arrow {
    margin-bottom: 10px;
}
.hero-arrow img {
    width: 50px;
    height: auto;
}
.hero-left h1 {
    font-size: 55px;
    font-weight: 500;
    color: #9e004f;
    margin-bottom: 20px;
    line-height: 1;
}
.hero-sub-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 15px 0;
}
.hero-arrow-inline {
    width: 40px;
    height: auto;
}
.hero-sub {
    font-size: 28px;
    font-weight: 300;
    margin: 0;
}
.hero-text {
    font-size: 25px;
    font-weight: 300;
    margin: 10px 0;
}
.hero-buttons {
    display: flex;
    gap: 20px;
    margin: 30px 0 20px;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;

}
.btn-primary {
    background: #ff428d;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    padding: 0 30px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s;
}
.btn-primary:hover { background: #e01b67; }
.btn-outline {
    border: 2px solid #e01b67;
    color: #000;
    padding: 0 30px;
    min-height: 60px;
    height: auto;
    min-width: 250px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    background: transparent;
    text-align: center;
    transition: background 0.2s;
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
}
.btn-outline:hover { background: #e01b67; color: #fff; }
.license-block {
    font-size: 14px;
    border-left: 3px solid #ff428d;
    padding-left: 12px;
    margin-top: 20px;
}
.license-block a {
    color: #9e004f;
    text-decoration: underline;
}
.hero-right { 
    flex: 1;
    display: flex;
    align-items: stretch;
}
.hero-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

@media (max-width: 850px) {
    .hero-grid {
        flex-direction: column;
    }
    .hero-left {
        order: 1;
    }
    .hero-right {
        order: 2;
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }
    .hero-buttons {
        justify-content: center;
    }
    .btn-outline {
        min-width: auto;
        padding: 12px 20px;
    }
}

@media (max-width: 800px) {
    .hero-left h1 { font-size: 40px; }
    .hero-sub { font-size: 22px; }
    .hero-text { font-size: 20px; }
    .hero-arrow img {
        width: 40px;
    }
}

@media (max-width: 550px) {
    .hero-buttons {
        flex-direction: column;
    }
    .btn-primary, .btn-outline {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
    .btn-outline {
        min-height: auto;
        padding: 14px 20px;
    }
}



/* БЛОК "ПРАВИЛЬНАЯ ПОСТАНОВКА РУК" */
.hands-block {
    padding: 60px 0;
    background: #fff;
    position: relative;
    overflow-x: clip;
}
.hands-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}

.hands-bg .bg-ellipse {
    position: absolute;
    width: 600px;
    height: 600px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: -15%;
    left: 20%;
    transform-origin: center center;
    animation: orbitRotate 12s linear infinite;
}
.hands-bg .bg-ellipse-1 {
    background-image: url('pic/Ellipse_105.svg');

}
.hands-bg .bg-ellipse-2 {
    background-image: url('pic/Ellipse_104.svg');
    animation-duration: 20s;
    animation-direction: reverse;
}
.hands-flex {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.hands-left {
    flex: 2;
    position: relative;
    display: flex;
    gap: 20px;
}
.hands-icon {
    margin-bottom: 20px;
}
.hands-icon img {
    width: 40px;
    height: auto;
    margin-top: -8px;
}
.hands-text {
    font-size: 18px;
    line-height: 1.6;
}
.teacher-info {
    flex: 1;
    text-align: center;
}
.teacher-info img {
    max-width: 260px;
    border-radius: 50%;
}
.teacher-name {
    margin-top: 20px;
    font-weight: 600;
}

@keyframes orbitRotate {
    from {
        transform: rotate(0deg) translateX(80px) rotate(0deg);
    }
    to {
        transform: rotate(360deg) translateX(100px) rotate(-360deg);
    }
}

@media (max-width: 900px) {
    .hands-bg .bg-ellipse {        
        width: 500px;
        height: 500px;
        top: 5%;
        left: 5%;
    }
}

@media (max-width: 700px) {
    .hands-flex { flex-direction: column; }
    .hands-left {
        order: 1;
    }
    .teacher-info {
        order: 2;
    }
    .hands-icon img{
        display: none;
    }
    .hands-bg .bg-ellipse {        
        width: 450px;
        height: 450px;
        top: 10%;
        left: 20%;
    }
}

@media (max-width: 550px) {
    .hands-bg {
        display: none;
    }
}



/* БЕСПЛАТНО (4 пункта) */
.free-section {
    padding: 45px 0;
}
.section-title {
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 40px;
}
.free-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.free-item {
    display: flex;
    gap: 20px;
}

.free-item a{
    color: rgb(158, 0, 79);
    border-bottom: 1px solid rgb(158, 0, 79);
    box-shadow: none;
    text-decoration: none;
}
.free-circle {
    width: 60px;
    height: 60px;
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 21px;
    padding-top: 13px;
    background: #9e004f;
    border-radius: 50%;
    flex-shrink: 0;
}
.free-item h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}
@media (max-width: 700px) {
    .free-grid { grid-template-columns: 1fr; }
}

/* 
.a{
    background: #fafaf2;
    padding: 45px 0;
} */
 .also-section{
    background-color: #fafaf2;
    padding-top: 70px;
    padding-bottom: 60px;
 }
.also-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 20px;
}
.also-item {
    display: flex;
    gap: 20px;
}
.also-icon {
    width: 50px;
    flex-shrink: 0;
}
.also-icon img { width: 100%; }
.also-item h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}
@media (max-width: 700px) {
    .also-grid { grid-template-columns: 1fr; }
}



/* ГАЛЕРЕЯ - SWIPER */
.gallery-section {
    padding: 45px 0;
}
.gallery-swiper {
    position: relative;
    padding: 0 50px;
    margin: 0 -50px;
}
.swiper-slide {
    height: auto;
}
.gallery-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -6px 8px 10px 2px rgba(0, 0, 0, 0.1);
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: 8px 43px 12px 43px;
}
.gallery-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.gallery-card p {
    padding: 15px;
    font-size: 14px;
    text-align: center;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-prev{
    left: 0px!important;
}

.swiper-button-next{
right: 0px!important;
}

/* Стрелки навигации */
.swiper-button-prev,
.swiper-button-next {
    top:45%!important;;
    width: 40px !important;
    height: 40px !important;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    transition: all 0.3s ease;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: #ff428d;
}
.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 40px;
    zoom: 0.4;
    font-weight: bold;
    color: #fff;
}

/* Пагинация */
.swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: #ff428d;
}

@media (max-width: 768px) {
    .gallery-swiper {
        padding: 0 30px;
        margin: 0 -30px;
    }
    .swiper-button-prev,
    .swiper-button-next {
        width: 30px;
        height: 30px;
    }
    .swiper-button-prev::after,
    .swiper-button-next::after {
        font-size: 14px;
    }
    .gallery-card img {
        height: 200px;
    }
}

@media (max-width: 550px) {
    .gallery-swiper {
        padding: 0 20px;
        margin: 0 -20px;
    }
    .swiper-button-prev,
    .swiper-button-next {
        display: none;
    }
    .gallery-card img {
        height: 180px;
    }
}



/* КОМУ ПОДОЙДЕТ */
.who-section {
    background: #fafafa;
    padding: 45px 0;
}
.who-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 20px;
}
.who-item h3 {
    font-size: 22px;
    font-weight: 300;
}
.who-line {
    width: 100%;
    height: 2px;
    background: #9e004f;
    margin: 20px 0 20px;
}
@media (max-width: 700px) {
    .who-grid { grid-template-columns: 1fr; }
}




/* СТАТЬИ */
.articles-section {
    padding: 45px 0;
}

/* Фильтры (категории) */
.articles-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
}
.filter-btn, .simple-filter-btn {
    background: transparent;
    border: 1px solid #ff428d;
    border-radius: 40px;
    padding: 6px 18px;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.filter-btn:hover, .simple-filter-btn:hover, .filter-btn.active:hover, .simple-filter-btn.active:hover {
    background: #e01b67;
    color: #fff;
}
.filter-btn.active, .simple-filter-btn.active {
    background: #ff428d;
    color: #fff;
}

/* Сетка статей */
.articles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.article-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.article-image {
    width: 100%;
    aspect-ratio: 1.3;
    overflow: hidden;
}
.article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.article-card:hover .article-image img {
    transform: scale(1.05);
}
.article-content {
    padding: 15px;
}
.article-date {
    font-size: 12px;
    color: #999;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.article-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    color: #000;
}
.wp-block-paragraph{
    margin-bottom: 20px;
}
.wp-block-paragraph a{
    text-decoration: underline;
}

/* Кнопка "Загрузить еще" */
.articles-more {
    text-align: center;
}
.btn-more {
    background: #ff428d;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.btn-more:hover {
    background: #e01b67;
}

@media (max-width: 1024px) {
    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .articles-filters {
        gap: 8px;
    }
    .filter-btn {
        font-size: 12px;
        padding: 5px 14px;
    }
}

@media (max-width: 768px) {
    .articles-filters {
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }
    .articles-filters::-webkit-scrollbar {
        display: none;
    }
    .filter-btn {
        white-space: nowrap;
    }
}

@media (max-width: 640px) {
    .articles-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .section-title {
        font-size: 28px;
    }
    .btn-more {
        padding: 12px 30px;
        font-size: 14px;
    }
}



/* КОНТАКТЫ */
.contacts-section {
    background: #ededff;
    padding: 60px 0;
    position: relative;
    overflow-x: clip;
}
.contacts-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}
.contacts-bg .contacts-bg-ellipse {
    position: absolute;
    width: 600px;
    height: 600px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: -15%;
    left: 20%;
    transform-origin: center center;
    animation: contactsOrbitRotate 12s linear infinite;
}
.contacts-bg .contacts-bg-ellipse-1 {
    background-image: url('pic/Ellipse_105.svg');
}
.contacts-bg .contacts-bg-ellipse-2 {
    background-image: url('pic/Ellipse_104.svg');
    animation-duration: 20s;
    animation-direction: reverse;
}
.contacts-section .container {
    position: relative;
    z-index: 1;
}
.contacts-flex {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
.contacts-info {
    flex: 1;
}
.contacts-info p {
    margin-bottom: 16px;
    font-size: 16px;
}
.contacts-info a {
    color: #9e004f;
    text-decoration: underline;
}
.contacts-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: opacity 0.2s;
    margin-top: 10px;
}
.contacts-social-icon:hover {
    opacity: 0.7;
}
.contacts-social-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.map {
    flex: 1;
    min-height: 350px;
}
.map iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.section-title.big {
    font-size: 48px;
}

@keyframes contactsOrbitRotate {
    from {
        transform: rotate(0deg) translateX(80px) rotate(0deg);
    }
    to {
        transform: rotate(360deg) translateX(100px) rotate(-360deg);
    }
}

@media (max-width: 900px) {
    .contacts-bg .contacts-bg-ellipse {        
        width: 500px;
        height: 500px;
        top: 5%;
        left: 5%;
    }
}

@media (max-width: 700px) {
    .contacts-bg .contacts-bg-ellipse {        
        width: 450px;
        height: 450px;
        top: 10%;
        left: 20%;
    }
}

@media (max-width: 550px) {
    .contacts-bg {
        display: none;
    }
}

@media (max-width: 768px) {
    .contacts-flex {
        flex-direction: column;
    }
    .contacts-info {
        order: 1;
    }
    .map {
        order: 2;
        width: 100%;
        min-height: 300px;
    }
}

@media (max-width: 550px) {
    .map {
        min-height: 250px;
    }
}





/* ФУТЕР */
.footer {
    background: #fff;
    padding: 45px 0 30px;
}
.footer-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
    padding-bottom: 30px;
}
.footer-col ul {
    list-style: none;
}
.footer-col li {
    margin-bottom: 10px;
}
.footer-col a , .footer_text{
    color: #000;
    text-decoration: none;
    font-size: 14px;
}

.city_choose_list_footer {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.city_choose_list_footer  .phone-block-social {
    display: flex;
    flex-direction: column;
}

.copyright {
    text-align: center;
    font-size: 14px;
}

.floating {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 99;
}
.floating a {
    width: 55px;
    height: 55px;
    background: #ff428d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 28px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}



/* ПОПАП ФОРМЫ */
.custom-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
}
.custom-popup.active {
    display: flex;
}
.custom-popup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(237, 237, 255, 0.95);
    backdrop-filter: blur(3px);
}
.custom-popup-container {
    position: relative;
    max-width: 560px;
    width: 90%;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    z-index: 10001;
    animation: popupFadeIn 0.3s ease;
}
@keyframes popupFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.custom-popup-close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10002;
}
.popup-close-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}
.popup-close-btn:hover {
    opacity: 0.7;
}
.popup-close-btn svg {
    width: 20px;
    height: 20px;
}
.custom-popup-content {
    padding: 50px 45px 40px;
    text-align: center;
}
.popup-title {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.23;
    margin-bottom: 24px;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.popup-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.form-group {
    text-align: left;
}
.form-group label {
    display: block;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 5px;
    color: #000;
}
.form-group input {
    width: 100%;
    height: 60px;
    padding: 0 20px;
    border: 1px solid #abcdff;
    border-radius: 5px;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    transition: border-color 0.2s;
    outline: none;
}
.form-group input:focus {
    border-color: #ff428d;
}
.form-group input::placeholder {
    color: #000;
    opacity: 0.5;
}
.popup-submit {
    background: #ff428d;
    color: #fff;
    border: none;
    border-radius: 5px;
    height: 60px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Inter', sans-serif;
}
.popup-submit:hover {
    background: #e01b67;
}
.popup-bottom-text {
    margin-top: 20px;
    font-size: 14px;
    text-align: center;
}
.popup-bottom-text a {
    color: #000;
    border-bottom: 1px solid #ff428d;
    text-decoration: none;
    font-size: 26px;
    font-weight: 400;
    display: inline-block;
    margin-top: 10px;
}
@media (max-width: 640px) {
    .custom-popup-content {
        padding: 40px 25px 30px;
    }
    .popup-title {
        font-size: 28px;
    }
    .popup-bottom-text a {
        font-size: 20px;
    }
    .form-group input {
        height: 50px;
    }
    .popup-submit {
        height: 50px;
    }
}


.map {
    flex: 1;
    min-height: 350px;
}
.map-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}


/* БЛОК ВЫБОРА КУРСОВ */
.courses-choice-section {
    padding: 105px 0 0;
}
.courses-choice-wrapper {
    text-align: center;
}
.courses-choice-title {
    font-size: 42px;
    font-weight: 600;
    line-height: 1.23;
    margin-bottom: 30px;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.courses-choice-tabs {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.courses-tab {
    display: inline-block;
    padding: 12px 30px;
    border: 2px solid #ff428d;
    border-radius: 5px;
    background: #fff;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.courses-tab:hover,
.courses-tab.active {
    background: #ff428d;
    color: #fff;
    border-color: #ff428d;
}

/* БАННЕР "КОГДА ЛУЧШЕ ВЫБРАТЬ ОНЛАЙН?" */
.online-banner-section {
    padding: 100px 0;
    background: #fff;
}
.online-banner-wrapper {
    background: #fff;
    border-radius: 0;
}
.online-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    background: #fff;
}
.online-banner-arrow {
    flex-shrink: 0;
}
.online-banner-arrow img {
    width: 53px;
    height: auto;
    transform: rotate(180deg);
}
.online-banner-title {
    flex: 1;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.3;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.online-banner-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff428d;
    color: #fff;
    padding: 0 30px;
    height: 70px;
    border-radius: 5px;
    font-size: 20px;
    font-weight: 400;
    text-decoration: none;
    transition: background 0.3s ease;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
}
.online-banner-btn:hover {
    background: #e01b67;
}


@media (max-width: 960px) {
    .courses-choice-title {
        font-size: 38px;
    }
    .courses-tab {
        padding: 10px 25px;
        font-size: 13px;
    }
    .online-banner-title {
        font-size: 34px;
    }
    .online-banner-btn {
        height: 60px;
        font-size: 18px;
        padding: 0 25px;
    }
}

@media (max-width: 768px) {
    .courses-choice-section {
        padding: 60px 0 0;
    }
    .courses-choice-title {
        font-size: 32px;
    }
    .courses-choice-tabs {
        gap: 15px;
    }
    .courses-tab {
        padding: 8px 20px;
        font-size: 12px;
    }
    .online-banner-content {
        flex-direction: column;
        text-align: center;
    }
    .online-banner-title {
        font-size: 28px;
    }
    .online-banner-arrow img {
        transform: rotate(270deg);
    }
    .online-banner-btn {
        height: 50px;
        font-size: 16px;
        padding: 0 20px;
    }
}

@media (max-width: 640px) {
    .courses-choice-title {
        font-size: 28px;
    }
    .courses-choice-tabs {
        flex-direction: column;
        align-items: center;
    }
    .courses-tab {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
    .online-banner-title {
        font-size: 24px;
    }
    .online-banner-arrow img {
        width: 40px;
    }
}

@media (max-width: 480px) {
    .courses-choice-title {
        font-size: 22px;
    }
    .online-banner-title {
        font-size: 18px;
    }
}

.greyBack{
    background-color: #fafafa;
}


/* РАСПИСАНИЕ ЗАНЯТИЙ */
.schedule-section {
    padding: 30px 0 105px;
}
.schedule-header {
    text-align: left;
    margin-bottom: 20px;
}
.schedule-title {
    font-size: 40px;
    font-weight: 400;
    line-height: 1.55;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.schedule-tabs {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.schedule-tab {
    display: inline-block;
    padding: 10px 30px;
    border: 2px solid #ff428d;
    border-radius: 5px;
    background: #fff;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.schedule-tab:hover,
.schedule-tab.active {
    background: #ff428d;
    color: #fff;
    border-color: #ff428d;
}
.schedule-content {
    margin-top: 20px;
}
.schedule-table-wrapper {
    margin-bottom: 30px;
}
.schedule-table {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.5em;
    border-collapse: collapse;
    border: 1px solid #ff428d;
    border-radius: 4px;
}
.schedule-table tr th {
    padding: 0.5em;
    vertical-align: top;
    text-align: center;
}
.schedule-table tr th h3, .schedule-month-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
}
.schedule-table tr td {
    padding: 0.5em;
    border: 1px solid #ff428d;

    border-left: 0;
    background: linear-gradient(140deg, #f6f3fa 0%, #eadffb 100%);
}
.schedule-table tr td:first-child {
    background: linear-gradient(140deg, #faf9f9 0%, #faeaf0 100%);
}
.schedule-table .schedule-btn {
    display: inline-block;
    color: #030303;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    line-height: 1.55;
    font-weight: 500;
    border: 2px solid #000;
    border-radius: 4px;
    padding: 0.7em 1.5em;
    text-decoration: none;
    transition: all 0.2s ease;
}
.schedule-table .schedule-btn:hover {
    background-color: #e01b67;
    border-color: #e01b67;
    color: #fff;
}
.schedule-table a {
    color: #9e004f;
    text-decoration: underline;
}
.schedule-table small {
    font-size: 13px;
    color: #666;
}


@media (max-width: 960px) {
    .schedule-section {
        padding: 0 0 60px;
    }
    .schedule-title {
        font-size: 35px;
    }
    .schedule-tab {
        padding: 8px 25px;
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .schedule-title {
        font-size: 30px;
        text-align: center;
    }
    .schedule-tabs {
        justify-content: center;
    }
    .schedule-table {
        font-size: 14px;
    }
    .schedule-table tr th h3, .schedule-month-title {
        font-size: 16px;
    }
    .schedule-table .schedule-btn {
        font-size: 14px;
        padding: 0.5em 1em;
    }
}

@media (max-width: 640px) {
    .schedule-tabs {
        flex-direction: column;
        align-items: center;
    }
    .schedule-tab {
        width: 100%;
        max-width: 250px;
        text-align: center;
    }

}

@media (max-width: 480px) {
    .schedule-section {
        padding: 0 0 40px;
    }
    .schedule-title {
        font-size: 24px;
    }
}





/* ЗАГОЛОВОК СТАТЕЙ */
.articles-header-section {
    padding: 100px 0 100px;
}
.articles-header-wrapper {
    text-align: center;
}
.articles-header-title {
    font-size: 62px;
    font-weight: 600;
    line-height: 1.23;
    margin-bottom: 20px;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.articles-header-description {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.55;
    color: #000;
    max-width: 540px;
    margin: 0 auto;
    font-family: 'Inter', sans-serif;
}


@media (max-width: 960px) {
    .articles-header-title {
        font-size: 52px;
    }
    .articles-header-description {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .articles-header-section {
        padding: 60px 0 80px;
    }
    .articles-header-title {
        font-size: 42px;
    }
    .articles-header-description {
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    .articles-header-title {
        font-size: 36px;
    }
    .articles-header-description {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .articles-header-title {
        font-size: 30px;
    }
    .articles-header-description {
        font-size: 13px;
    }
}


/* БЛОК ОТЗЫВОВ С ГАЛЕРЕЕЙ (Swiper) */
.reviews-section {
    padding: 80px 0 80px;
    background: #fff;
}
.reviews-header {
    text-align: center;
    margin-bottom: 40px;
}
.reviews-title {
    font-size: 42px;
    font-weight: 600;
    line-height: 1.23;
    color: #000;
    font-family: 'Inter', sans-serif;
}   
.reviews-wrapper {
    position: relative;
}
.reviews-swiper {
    max-width: 935px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0;
}
.reviews-swiper .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

/* Стрелки Swiper */
.reviews-swiper .swiper-button-prev,
.reviews-swiper .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #ff428d;
    border-radius: 50%;
    transition: all 0.3s ease;
}
.reviews-swiper .swiper-button-prev:hover,
.reviews-swiper .swiper-button-next:hover {
    background: #e01b67;
}
.reviews-swiper .swiper-button-prev::after,
.reviews-swiper .swiper-button-next::after {
    font-size: 18px;
    font-weight: bold;
    color: #ededff;
}
.reviews-swiper .swiper-button-prev {
    left: 20px;
}
.reviews-swiper .swiper-button-next {
    right: 20px;
}

/* Пагинация Swiper */
.reviews-swiper .swiper-pagination {
    bottom: -6px !important;
}
.reviews-swiper .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #ff428d;
    opacity: 1;
    margin: 0 7.5px;
}
.reviews-swiper .swiper-pagination-bullet-active {
    background: #abcdff;
}

/* Кнопки действий */
.reviews-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 50px;
}
.reviews-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    height: 80px;
    border-radius: 4px;
    font-size: 20px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.reviews-btn-flamp {
    background: #ff428d;
    color: #fff;
    border: none;
}
.reviews-btn-flamp:hover {
    background: #e01b67;
    
}
.reviews-btn-add {
    background: #ff428d;
    color: #fff;
    border: none;
}
.reviews-btn-add:hover {
    background: #e01b67;
    
}

@media (max-width: 960px) {

    .reviews-title {
        font-size: 36px;
    }
    .reviews-btn {
        height: 70px;
        font-size: 18px;
        padding: 0 25px;
    }
    .reviews-swiper .swiper-button-prev,
    .reviews-swiper .swiper-button-next {
        width: 35px;
        height: 35px;
    }
    .reviews-swiper .swiper-button-prev::after,
    .reviews-swiper .swiper-button-next::after {
        font-size: 16px;
    }
    .reviews-swiper .swiper-slide img, .popup-image{
        height: 330px;
        object-fit: contain;
    }
}

@media (max-width: 768px) {

    .reviews-title {
        font-size: 32px;
    }
    .reviews-buttons {
        gap: 15px;
    }
    .reviews-btn {
        height: 60px;
        font-size: 16px;
        padding: 0 20px;
    }
    .reviews-swiper .swiper-button-prev,
    .reviews-swiper .swiper-button-next {
        width: 30px;
        height: 30px;
    }
    .reviews-swiper .swiper-button-prev::after,
    .reviews-swiper .swiper-button-next::after {
        font-size: 14px;
    }
}

@media (max-width: 640px) {
    .reviews-title {
        font-size: 28px;
    }
    .reviews-buttons {
        flex-direction: column;
        align-items: center;
    }
    .reviews-title {
        font-size: 24px;
    }
    .reviews-btn {
        width: 100%;
        max-width: 280px;
        height: 55px;
        font-size: 15px;
    }
    .reviews-swiper .swiper-button-prev {
        left: 10px;
    }
    .reviews-swiper .swiper-button-next {
        right: 10px;
    }
    .reviews-swiper .swiper-pagination {
        bottom: -20px;
    }
}

@media (max-width: 480px) {

    .reviews-btn {
        height: 50px;
        font-size: 14px;
    }
}



/* ЗАГОЛОВОК СТРАНИЦЫ "ИСТОРИИ НАШИХ ВЫПУСКНИКОВ" */
.stories-header-section {
    padding: 78px 0 0;
    background: #fff;
}
.stories-header-wrapper {
    text-align: center;
}
.stories-header-title {
    font-size: 60px;
    font-weight: 400;
    line-height: 1.1;
    color: #9e004f;
    font-family: 'Inter', sans-serif;
}
@media (max-width: 960px) {
    .stories-header-title {
        font-size: 48px;
    }
}
@media (max-width: 640px) {
    .stories-header-title {
        font-size: 40px;
    }
}
@media (max-width: 480px) {
    .stories-header-title {
        font-size: 35px;
    }
}



/* СТИЛИ ДЛЯ АККОРДЕОНОВ ИСТОРИЙ */
.stories-year-section {
    padding: 0 0 60px;
    background: #fff;
}
.stories-year-title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.35;
    color: #ff428d;
    font-family: 'Inter', sans-serif;
    margin-bottom: 30px;
}
.stories-accordion-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.story-accordion {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 15px;
}
.story-accordion-header {
    margin: 0;
}
.story-accordion-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: 'Inter', sans-serif;
    transition: background 0.2s;
    background: #ff428d0f;
    border-radius: 10px;
}
.story-accordion-trigger:hover {
    background: #fafafa;
}
.story-accordion-title {
    font-size: 24px;
    font-weight: 500;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.story-accordion-icon {
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.story-accordion.active .story-accordion-icon {
    transform: rotate(45deg);
}
.story-accordion-content {
    display: none;
    overflow: hidden;
    padding: 0 25px;
}
.story-accordion.active .story-accordion-content {
    display: block;
    padding: 0 25px 25px 25px;
}
.story-text {
    font-size: 18px;
    line-height: 1.65;
    color: #000;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}


@media (max-width: 960px) {
    .stories-year-title {
        font-size: 34px;
    }
    .story-accordion-title {
        font-size: 20px;
    }
    .story-text {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .stories-year-title {
        font-size: 30px;
    }
    .story-accordion-trigger {
        padding: 15px 20px;
    }
    .story-accordion-title {
        font-size: 18px;
    }
    .story-text {
        font-size: 15px;
    }
    .story-accordion.active .story-accordion-content {
        padding: 0 20px 20px 20px;
    }
}
@media (max-width: 640px) {
    .stories-year-title {
        font-size: 28px;
    }
}
@media (max-width: 480px) {
    .stories-year-title {
        font-size: 24px;
    }
    .story-accordion-title {
        font-size: 16px;
    }
    .story-text {
        font-size: 14px;
    }
    .story-accordion-trigger {
        padding: 12px 15px;
    }
    .story-accordion.active .story-accordion-content {
        padding: 0 15px 15px 15px;
    }
}

/* КНОПКА ЗАПИСАТЬСЯ НА КУРСЫ МАССАЖА */
.stories-bottom-btn-section {
    padding: 0 0 105px;
    background: #fff;
}
.stories-bottom-btn-wrapper {
    text-align: center;
}
.stories-bottom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff428d;
    color: #fff;
    padding: 0 30px;
    height: 80px;
    border-radius: 4px;
    font-size: 20px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}
.stories-bottom-btn:hover {
    background: #e01b67;
}
@media (max-width: 640px) {
    .stories-bottom-btn {
        height: 60px;
        font-size: 16px;
        padding: 0 20px;
    }
}






/* КАРТОЧКИ ИСТОРИЙ  */
.story-card {
    display: flex;
    gap: 30px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}
.story-card-image {
    flex: 1;
    min-width: 250px;
}
.story-card-image img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: cover;
}
.story-card-gallery {
    flex: 1;
    min-width: 250px;
}
.story-card-content {
    flex: 2;
}
.story-card-author {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
}
.story-card-author a {
    color: #000;
    text-decoration: none;
    border-bottom: 1px solid #ff428d;
}
.story-card-text {
    font-size: 16px;
    line-height: 1.55;
    font-weight: 300;
    color: #000;
}

/* ГАЛЕРЕИ ДЛЯ ИСТОРИЙ */
.story-card-gallery .swiper {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}
.story-card-gallery .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}
.story-card-gallery .swiper-button-prev,
.story-card-gallery .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #ff428d;
    border-radius: 50%;
}
.story-card-gallery .swiper-button-prev::after,
.story-card-gallery .swiper-button-next::after {
    font-size: 18px;
    color: #ededff;
}
.story-card-gallery .swiper-pagination-bullet-active {
    background: #ff428d;
}

@media (max-width: 768px) {
    .story-card {
        flex-direction: column;
    }
    .story-card-image,
    .story-card-gallery {
        max-width: 100%;
    }
    .story-card-author {
        font-size: 18px;
    }
    .story-card-text {
        font-size: 14px;
    }
    .story-card-gallery .swiper-button-prev,
    .story-card-gallery .swiper-button-next {
        width: 30px;
        height: 30px;
    }
}






/* Фоновые вращающиеся круги для блоков историй */
.stories-year-section {
    position: relative;
    overflow-x: clip;
    overflow-y: visible;
}

.stories-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}

.stories-bg-ellipse {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: storiesOrbitRotate 25s linear infinite;
}

.stories-bg-ellipse-1 {
    background-image: url('pic/Ellipse_104.svg');
}
.stories-bg-ellipse-2 {
    background-image: url('pic/Ellipse_105.svg');
    animation-direction: reverse;
}
.stories-bg-ellipse-3 {
    background-image: url('pic/Ellipse_121.svg');
}

.stories-year-section .container {
    position: relative;
    z-index: 1;
}

.story-accordion {
    position: relative;
    z-index: 1;
    background: #fff;
}

.story-accordion-content {
    position: relative;
    z-index: 1;
    background: #fff;
}

@keyframes storiesOrbitRotate {
    from {
        transform: rotate(0deg) translateX(100px) rotate(0deg);
    }
    to {
        transform: rotate(360deg) translateX(100px) rotate(-360deg);
    }
}

@media (max-width: 768px) {
    .stories-bg-ellipse {
        animation: none;
        opacity: 0.2 !important;
    }
}

@media (max-width: 550px) {
    .stories-bg {
        display: none;
    }
}












/* БЛОК КОНТАКТЫ С ФОРМОЙ */
.contacts-form-section {
    background-color: #ededff;
    padding: 60px 0;
    margin-bottom: 40px;
}
.contacts-form-wrapper {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
.contacts-form-left {
    flex: 1;
    background: #d9d9ff;
    border-radius: 10px;
    padding: 40px 30px;
}
.contacts-form-title {
    font-size: 40px;
    font-weight: 400;
    line-height: 1.35;
    color: #000;
    font-family: 'Inter', sans-serif;
    margin-bottom: 30px;
    text-align: center;
}
.contacts-form {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.contacts-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.contacts-form .form-group label {
    font-size: 16px;
    font-weight: 400;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.contacts-form .form-group input {
    width: 100%;
    height: 75px;
    padding: 0 20px;
    border: 2px solid #ff428d;
    border-radius: 10px;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    background: transparent;
    transition: border-color 0.2s;
    outline: none;
}
.contacts-form .form-group input:focus {
    border-color: #e01b67;
}
.contacts-form .form-group input::placeholder {
    color: #999;
    opacity: 0.5;
}
.contacts-submit-btn {
    background: #ff428d;
    color: #fff;
    border: none;
    border-radius: 5px;
    height: 70px;
    width: 300px;
    font-size: 20px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: 'Inter', sans-serif;
    margin: 0 auto;
    display: block;
}
.contacts-submit-btn:hover {
    background: #e01b67;
}

/* Правая часть */
.contacts-form-right {
    flex: 1;
    padding: 20px 0;
}
.contacts-right-title {
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;
    color: #000;
    font-family: 'Inter', sans-serif;
    margin-bottom: 30px;
}
.contacts-info-item {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.55;
    color: #000;
    font-family: 'Inter', sans-serif;
}
.contacts-info-item a {
    color: #9e004f;
    text-decoration: none;
    border-bottom: 1px solid #9e004f;
}
.contacts-info-item a:hover {
    color: #e01b67;
    border-bottom-color: #e01b67;
}
.contacts-social-icons {
    margin-top: 10px;
}
.contacts-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    transition: opacity 0.2s;
}
.contacts-social-link:hover {
    opacity: 0.7;
}
.contacts-social-link img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* БЛОК КАРТЫ */
.contacts-map-section {
    background-color: #fff;
    padding: 0 0 60px;
}
.contacts-map-wrapper {
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.contacts-map-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
}


@media (max-width: 960px) {
    .contacts-form-wrapper {
        flex-direction: column;
    }
    .contacts-right-title {
        font-size: 40px;
    }
    .contacts-form-title {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .contacts-form-section {
        padding: 40px 0;
    }
    .contacts-form-left {
        padding: 30px 20px;
    }
    .contacts-form-title {
        font-size: 28px;
    }
    .contacts-right-title {
        font-size: 32px;
    }
    .contacts-form .form-group input {
        height: 60px;
    }
    .contacts-submit-btn {
        height: 60px;
        width: 250px;
        font-size: 18px;
    }
}

@media (max-width: 640px) {
    .contacts-map-section {
        padding: 0 0 40px;
    }
    .contacts-map-wrapper {
        height: 300px;
    }
    .contacts-right-title {
        font-size: 28px;
    }
    .contacts-info-item {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .contacts-form-title {
        font-size: 24px;
    }
    .contacts-right-title {
        font-size: 24px;
    }
    .contacts-submit-btn {
        width: 100%;
        height: 55px;
        font-size: 16px;
    }
    .contacts-form .form-group input {
        height: 50px;
    }
}


/* БЛОК КАРТЫ */
.contacts-map-section {
    background-color: #fff;
    padding: 0 0 60px;
}
.contacts-map-wrapper {
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.contacts-map-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.rank-math-breadcrumb {
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Адаптив */
@media (max-width: 640px) {
    .contacts-map-section {
        padding: 0 0 40px;
    }
    .contacts-map-wrapper {
        height: 300px;
    }
}

.popup-submit {
    width: 100%;
    margin-top: 10px;
}




























/* HERO2 */
.hero2 {
    background: #FAFAFA;
    padding: 60px 0;
    position: relative;
}
.hero2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('pic/photo.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}
.hero2 .container {
    position: relative;
    z-index: 1;
}
.hero2-grid {
    display: flex;
    align-items: stretch;
    gap: 40px;
    flex-wrap: wrap;
}
.hero2-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero2-left h1 {
    font-size: 35px;
    font-weight: 600;
    line-height: 1.1;
    color: #000;
    margin-bottom: 20px;
}
.hero2-text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 30px;
}
.hero2-info-block {
    background: #d6e6fe;
    border: 1px solid #c3dbfe;
    border-radius: 4px;
    padding: 15px 20px;
    margin-bottom: 25px;
}
.hero2-info-block blockquote {
    border-left: 5px solid #d90757;
    padding-left: 1em;
    margin: 0;
}
.hero2-info-item {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.5;
}
.hero2-info-item:last-child {
    margin-bottom: 0;
}
.hero2-info-label {
    font-weight: 700;
}
.hero2-info-value {
    font-weight: 400;
}
.hero2-bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
    justify-content: space-between;
}
.hero2-price {
    font-size: 45px;
    font-weight: 500;
    color: #ff428d;
}
.hero2-buttons {
    display: flex;
}
.hero2-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.hero2-link {
    color: #000;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
}
.hero2-link:hover {
    color: #ff428d;
}
.hero2-contacts {
    font-size: 18px;
    font-weight: 500;
}
.hero2-contacts a {
    color: #ff428d;
    text-decoration: none;
    border-bottom: 1px solid #ff428d;
}
.hero2-right {
    flex: 1;
    display: flex;
    align-items: stretch;
}
.hero2-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

@media (max-width: 960px) {
    .hero2-left h1 { font-size: 30px; }
    .hero2-text { font-size: 16px; }
    .hero2-price { font-size: 35px; }
}
@media (max-width: 768px) {
    .hero2-grid { flex-direction: column; }
    .hero2-right { order: 2; }
    .hero2-left { order: 1; }
    .hero2-bottom { flex-direction: column; align-items: flex-start; gap: 15px; }
}
@media (max-width: 480px) {
    .hero2-price { font-size: 28px; }
}

/* ПРОГРАММА КУРСА */
.program-header {
    padding: 45px 0 20px;
    background: #fff;
}
.program-header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.program-title-block {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    border: 2px dashed #ff428d;
    border-radius: 5px;
    padding: 15px 25px;
}
.program-title {
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
    color: #000;
    margin: 0;
}
.program-icon {
    width: 81px;
    height: 44px;
}

.program-day {
    padding: 20px 0;
    background: #fff;
}
.program-day-title {
    font-size: 40px;
    font-weight: 400;
    color: #ff428d;
    margin-bottom: 15px;
}
.program-day-subtitle {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 30px;
    color: #000;
}
.program-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.program-item {
    display: flex;
    align-items: center;
    gap: 20px;
}
.program-number {
    width: 56px;
    height: 56px;
    border: 1px solid #000;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 400;
    flex-shrink: 0;
}
.program-text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.65;
    flex: 1;
}
.program-button {
    text-align: center;
    margin-top: 50px;
}

/* БЛОК "МЫ ПОДГОТОВИЛИ СЕМИНАР" */
.seminar-description {
    padding: 45px 0;
    background: #fff;
}
.seminar-description-block {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    color: #000;
    max-width: 950px;
}

@media (max-width: 960px) {
    .program-title { font-size: 40px; }
    .program-day-title { font-size: 34px; }
    .program-day-subtitle { font-size: 18px; }
    .program-text { font-size: 16px; }
    .seminar-description-block { font-size: 25px; }
}
@media (max-width: 768px) {
    .program-title { font-size: 30px; }
    .program-icon { width: 60px; height: 33px; }
    .program-day-title { font-size: 28px; }
    .program-day-subtitle { font-size: 16px; }
    .seminar-description-block { font-size: 20px; }
    .hero2-buttons{
        width: 100%;
    }
}
@media (max-width: 480px) {
    .program-title { font-size: 22px; }
    .program-icon { width: 45px; height: 24px; }
    .program-day-title { font-size: 24px; }
    .program-text { font-size: 14px; }
    .program-number { width: 36px; height: 36px; font-size: 18px; }
    .seminar-description-block { font-size: 18px; }
}


.hero2-price p{
    color: #1a1a1a;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}

.hero2 .hero2-buttons a{
    padding: 0 50px;
}

.site-krsk, .site-active, .site-active span {
    color: #bb356a;
    font-weight: 500;
}

/* Load more */
.load-more-block {
	display: flex;
	justify-content: center;
	padding-bottom: 30px;
}
.police_block {
    margin-bottom: 50px;
}
.police_block_item h5{
    font-size: 16px;
    margin-bottom: 20px;
    margin-top: 20px;
}
.police_block_item {
    font-size: 14px;
}

 .privacy-table {
     width: 100%;
     border-collapse: collapse;
 }

.privacy-table th,
.privacy-table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
    vertical-align: top;
}

.privacy-table th {
    width: 30%;
    font-weight: 600;
    background: #f5f5f5;
}

.privacy-table ul {
    margin: 0;
    padding-left: 20px;
}

.statii_container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding-bottom: 40px;
	gap: 20px;
}

@media (max-width: 1024px) {
	.statii_container {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Woocommerce */

.woocommerce ul.products li.product .button{
    display: none !important;
}

.woocommerce ul.products li.product a img {
	height: 220px !important;
    object-position: center;
    object-fit: cover;
    border-radius: 5px;
	margin: 0 !important;
}

.woocommerce-loop-product__title {
	font-size: 16px;
	text-transform: uppercase;
    transition: 0.15s;
}

.woocommerce ul.products li.product {
	margin: 0 24px 24px 0 !important;
}

.woocommerce ul.products li.product:last-child {
	margin-right: 0 !important;
}

@media (max-width: 767px) {
	.woocommerce ul.products li.product {
		margin: 0 0 14px 0 !important;
	}
}

@media (max-width: 490px) {
	.woocommerce ul.products[class*=columns-] li.product {
		width: 100% !important;
	}
}

.woocommerce-info::before  {
	display: none !important;
}

.button.alt {
	margin-top: 10px !important;
}

.coupon {
	display: flex;
    width: 100%;
    gap: 15px;
	margin-bottom: 20px;
}

.coupon .button {
	max-width: 205px;
}

.woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 80px;
	border-radius: 10px;
}

.cart_totals.calculated_shipping h2 {
	margin-bottom: 15px;
}

.title-block {
    margin-top: 40px;
    font-size: 30px;
    margin-bottom: 30px;
}
.packets-section {
    margin-bottom: 50px;
}
.package-title{
    text-align: center;
}
.blog-block {
    display: flex;
    justify-content: space-between;
    align-items: end;
}
.blog-section {
    margin: 100px 0;
}
.blog-link a{
    color: #ffffff;
    font-size: 20px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.55;
    font-weight: 400;
    border-radius: 5px;
    background-position: center center;
    --t396-borderwidth: 1px;
    --t396-speedhover: 0.2s;
    transition: background-color var(--t396-speedhover, 0s) ease-in-out, color var(--t396-speedhover, 0s) ease-in-out, border-color var(--t396-speedhover, 0s) ease-in-out, box-shadow var(--t396-shadowshoverspeed, 0.2s) ease-in-out;
    --t396-bgcolor-color: #ff428d;
    --t396-bgcolor-image: none;
    background-color: var(--t396-bgcolor-color, transparent);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 25px 40px;
}
.blog-text {
    font-size: 40px;
    width: 60%;
}
.blog-link{
    position: relative;
}
.blog-link svg {
    position: absolute;
    left: -40%;
    transform: rotate(180deg);
}
.bonus-section{
    padding: 70px 0;
    background-color: rgb(250, 250, 250);
}
.bonus-block{
    border-radius: 4px;
    background-color: #ffdeec;
    background-position: center center;
    padding: 30px 90px 30px 40px;
}
.bonus-text {
    font-size: 20px;
}
.program-block h3{
    font-size: 50px;
    margin-bottom: 40px;
}
.program-section {
    margin: 100px 0;
}
.prog-num-block-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    row-gap: 50px;
    justify-content: space-between;
}
.number-block-prog-item {
    width: 32%;
}
.number-prog {
    width: 46px;
    height: 46px;
    border: 1px solid black;
    padding: 5px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
.text-prog {
    margin-top: 20px;
    color: #000000;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 500;
}
.text-prog-section {
    margin: 100px 0;
    font-size: 30px;
}
.kursy-section {
    margin: 100px 0;
}
.text-prog-list {
    width: 80%;
}
.kurs-block {
    display: flex;
    gap: 100px;
    align-items: center;
}
.kurs-block .kurs-text {
    width: 60%;
    color: #000000;
    font-size: 40px;
    font-weight: 500;
}
.kurs-city-list {
    display: flex;
    flex-direction: column;
    gap: 30px;

}
.kurs-city-list .kurs-city-item a{
    color: #ffffff;
    font-size: 20px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.55;
    font-weight: 400;
    border-radius: 5px;
    padding: 25px 40px;
    background: #ff428d;
    display: block;
    max-width: 250px;
    width: 250px;
    text-align: center;
}
.gallery-block-list{
    max-width: 50%;
    width: 100%;
    margin: 0 !important;
    height: 500px;
}
.gallery-block-list img{
    object-fit: cover;
    width: 100%;
}
.raboty_vypusknikov-section {
    padding-top: 45px;
    padding-bottom: 45px;
    background-color: rgb(250, 250, 242);
}
.question-section {
    padding-top: 45px;
    padding-bottom: 45px;
}
.raboty_vypusknikov-section h2{
    margin-bottom: 30px;
    font-size: 40px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.35;
    font-weight: 400;
}
.swiper-button-block{
    position: relative;
    width: 10%;
    margin-top: 60px;
}
.question-block-list .story-accordion-trigger,.question-block-list .story-accordion {
    border: none;
    background: none;
}
.question-block-list .black-block-icon {
    background: black;
    padding: 8px 9px;
    border-radius: 50%;
    transition:  0.3s ease;
}
.question-block-list .black-block-icon:hover{
    background: #ff428d;
}
.black-block-icon .story-accordion-icon svg{
    transition: transform 0.3s ease;
}
.story-accordion.active  .black-block-icon .story-accordion-icon svg{
    transform: rotate(45deg);
}
.question-block-list  .story-accordion-title{
    font-size: 18px;
    line-height: 1.5;
    color: #000000;
    font-family: 'Gilroy', Arial, sans-serif;
    font-weight: 500;
}
.question-block-list  .story-text{
    font-size: 14px;
    line-height: 1.5;
    font-family: 'Gilroy', Arial, sans-serif;
    font-weight: 500;
}
.seminar-section {
    padding-top: 45px;
    padding-bottom: 45px;
    background-color: rgb(237, 237, 255);
}
.seminar-text {
    width: 60%;
    font-size: 50px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.35;
    font-weight: 500;
    margin-bottom: 15px;
}
.seminar-block .show-payment-btn {
    background: #ff428d;
    color: white;
    border: 0;
}
.obucheniya-section {
    padding-top: 45px;
    padding-bottom: 45px;
}
.obucehnie-block{
    border-radius: 4px;
    background-color: #ededff;
    padding: 40px 80px;
}
.obucehnie-block h2{
    font-size: 40px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.3;
    font-weight: 500;
    margin-bottom: 40px;
}
.obucehnie-block-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.obucehnie-block-item{
    display: flex;
    gap: 30px;
    align-items: center;
}
.video-block, .video-block iframe, .video-block video {
    width: 370px;
    height: 300px;
}
.text-info .list-punkt ul {
    padding-left: 20px;
    margin-top: 20px;
}
.text-info .list-punkt ul  li {
    font-size: 18px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 1.55;
    font-weight: 400;
}
.titel-block-obuchenie {
    font-size: 18px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 28px;
    font-weight: 700;
}

.first_block {
    background: #ededff;
    padding: 80px 0;
}

.second_block {
    background: rgb(250, 250, 242);
    padding: 80px 0;
}

.block_text_first {
    color: #000000;
    font-size: 40px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 45px;
    font-weight: 400;
    margin-bottom: 80px;
}
.block_text_firsts:last-child{
    margin-top: 50px;
}
.block_text_first:last-child{
    margin-top: 80px;
}
.block_text_firsts {
    color: #000000;
    font-size: 40px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 40px;
    font-weight: 400;
    margin-bottom: 50px;
}

.block_text_list {
    display: flex;
    align-items: center;
    gap: 100px;
}
.block-text-item:first-child {
    padding: 20px;
    border-radius: 5px;
    background-color: #abcdff;
    border: 2px dashed #ff428d;
    color: #000000;
    font-size: 25px;
    font-family: 'Gilroy', Arial, sans-serif;
}

.block-text-item:last-child {
    padding: 20px;
    border-radius: 5px;
    background-color: #ffc4db;
    border: 2px dashed #ff428d;
    color: #000000;
    font-size: 25px;
    font-family: 'Gilroy', Arial, sans-serif;
}

.block_text_second {
    color: #000000;
    font-size: 35px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 46px;
    font-weight: 500;
    margin-bottom: 30px;
}
.block_text_list_second {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.block_text_list_second .block-text-items {
    background-color: white !important;
    padding: 40px;
    color: #000000;
    font-size: 18px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 30px;
    font-weight: 500;
    max-width: 550px;
    width: max-content;
    background-size: cover !important;
    background-repeat: no-repeat;
    border: 1px solid;
}
.tekst_vtorogo_bloka_posles {
    color: #000000;
    font-size: 35px;
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 46px;
    font-weight: 500;
    margin-top: 50px;
}

.program-text-posle {
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 39px;
    color: #000000;
    font-size: 30px;
    margin-top: 60px;

}
.posle_block_second {
    margin-top: 50px;

}
.posle_block_second .text-second_posle {
    font-family: 'Gilroy', Arial, sans-serif;
    line-height: 34px;
    color: #000000;
    font-size: 22px;
}

.our-us-section {
    padding: 100px 0;
}
.our-us-section .section-title {
    font-weight: 500;
    font-size: 44px;
    leading-trim: NONE;
    line-height: 110.00000000000001%;
    letter-spacing: 0;
    margin-bottom: 48px;
}
.our_us_list {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(4, 1fr);
}

.our_us_list .our_us_item {

    max-width: 270px;
    width: 100%;
    background: rgba(245, 245, 245, 1);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 56px;
    border-radius: 20px;
}
.our_us_list .our_us_item .info_our_us p.name{
    font-weight: 500;
    font-size: 20px;
    line-height: 110.00000000000001%;
    letter-spacing: 0;
    margin-bottom: 24px;
}
.our_us_list .our_us_item .info_our_us p.desc_our_us{
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
    margin-bottom: 0;
}

.why-us-section {
    padding: 120px 0;
}

.why_us_img {
    max-width: 570px;
    width: 100%;
    max-height: 256px;
}
.why_us_img img {
    width: 100%;
    border-radius: 20px;
    height: 100%;
    object-fit: cover;
}

.why_us_info_block {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 90px;
}

.why_us_text h2 {
    font-weight: 500;
    font-size: 44px;
    line-height: 110.00000000000001%;
    letter-spacing: 0;
    margin-bottom: 40px;
}
.why_us_text p {
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 24px;
}

.why_us_text {
    max-width: 510px;
    width: 100%;
}
.list-info-why-us {
    display: grid;
    gap: 90px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 100px;
}

.why_us_item.white_block {

    display: flex;
    justify-content: center;
    align-items: center;
    background: white;
    border-radius: 20px;
    padding: 22px 0;
}

.why_us_item p.title{
    font-weight: 500;
    font-size: 44px;
    line-height: 110.00000000000001%;
    letter-spacing: 0;
    color: rgba(158, 0, 79, 1);
    margin-bottom: 28px;
}

.why_us_item  p.desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
    margin-bottom: 0;
}
.top-bar {
    display: none;
}
.city-mobile {
    display: none;
}

@media (max-width: 1023px){
    .our_us_list {
        grid-template-columns: repeat(2, 1fr);
    }
    .list-info-why-us {
        grid-template-columns: repeat(2, 1fr);

    }
    .why_us_info_block {
        gap: 50px;
        grid-template-columns: repeat(1, 1fr);
    }
    .why_us_text , .why_us_img {
        max-width: 100%;
    }

}

@media (max-width: 767px){
    .top-bar {
        display: grid;
        padding: 10px;
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
    }
    .city-mobile , .city_choose_list{
        display: none;
    }
    .our_us_list {
        grid-template-columns: repeat(1, 1fr);
    }
    .our_us_list .our_us_item {
        max-width: 100%;
    }
    .gallery-block-list{
        height: 400px;
        max-width: 100%;
    }
    .swiper-button-block{
        width: 100px;
    }
    .obucehnie-block-item{
        flex-direction: column;
    }
    .packets{
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .number-block-prog-item{
        width: 47%;
    }
    .kurs-block .kurs-text{
        width: 100%;
    }
    .kurs-block{
        gap: 40px;
        flex-direction: column;
    }
    .kurs-city-list{
        flex-direction: row;
        flex-wrap: wrap;
    }
    .blog-block{
        align-items: baseline;
        flex-direction: column;
        gap: 34px;
    }
    .blog-text, .kurs-block .kurs-text , .text-prog-list, .seminar-text, .obucehnie-block h2{
        font-size: 28px;
        width: 100%;
    }
    .obucehnie-block{
        padding: 40px 30px;
    }
    .video-block, .video-block iframe, .video-block video{
        width: 100%;
    }
}
.first_block_header {
    padding-top: 28px;
}

.first_block_header .logo{
    max-width: 270px;
}
.first_block_header .logo img{
    height: max-content;
}

.city-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 135px;
    width:135px;
}
 a.item-phone {
    font-weight: 700;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
}
.city-link a span {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
}
.city-link a {
    display: flex;
    align-items: center;
    gap: 8px;
}
.city_choose_list {
    display: flex;
    gap: 50px;
}
.social_icon_list {
    display: flex;
    gap: 12px;
}
.first_block_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.phone-block-social a{
    font-weight: 700;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
}

.phone-block-social  span {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
}
.link_mail a{
    display: flex;
    gap: 8px;
    align-items: center;
}

.d_none, .mobile-hidden {
    display: none;
}
.city-mobile{
    position:relative;
}

.city-current{
    cursor:pointer;
    display:flex;
    align-items:center;
    flex-direction: column;
    gap: 7px;
}

.city-current-top{
    display:flex;
    align-items:center;
    gap:10px;
}


.city-arrow{
    margin-left:auto;
    transition:.3s;
}

.city-mobile.open .city-arrow{
    transform:rotate(180deg);
}

.city_choose_list{
    display:none;

}

.city-mobile.open .city_choose_list{
    display:block;
}

.mobile-menu .social_icon_list {
    display: flex;
}


.city-link{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#000;
}
.second_block_footer {
    padding-top: 40px;
}

.footer-col .social_icon_list {
    margin-top: 30px;
    justify-content: center;
}

.fix_block_page {
    position: fixed;
    bottom: 50px;
    right: 40px;
    width: 50px;
    height: 50px;
    background: #ff428d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    cursor: pointer;
    z-index: 10;
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 66, 141, 0.7);
    }

    70% {
        transform: scale(1.08);
        box-shadow: 0 0 0 15px rgba(255, 66, 141, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 66, 141, 0);
    }
}


@media(min-width:769px){

    .city_choose_list{
        display:flex;
    }

    .city-arrow{
        display:none;
    }

}


@media (max-width: 1023px) {
    .mobile-hidden {
        display: flex;
        align-items: center;
        gap: 30px;
    }

    .mobile-menu .phone-block-social {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 32px;
    }

    .mobile-menu .social_icon_list {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 32px;
    }

    .mobile-menu .link_mail a {
        justify-content: center;
        margin-top: 52px;
        margin-bottom: 32px;
    }

    .city-mobile.open .city_choose_list {
        position: absolute;
        z-index: 10;
        background: white;
        top: 100%;
        padding: 16px;
        border-radius: 20px;
        border: 1px #ff428d solid;
    }
    .city-item {
        max-width: 156px;
        width: 159px;
    }
    .mobile-hidden-none {
        display: none;
    }
    .first_block_header .logo img {
        height: 69px;
    }
    .header-inner {
        gap: 8px;
    }
    .nav-links a {
        padding-bottom: 0;
    }
    .main-header , .social_icon_list{
/*         display: none; */
    }
    .burger-btn {
        width: 102px;
        background: rgba(158, 0, 79, 1);
        height: 52px;
        text-align: center;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
    }
    .burger-text {
        color: white;
        font-weight: 700;
        font-size: 14px;
        line-height: 140%;
        letter-spacing: 0;
    }

    .our-us-section .section-title, .why_us_text h2, .why_us_item p.title {
        font-size: 28px;
    }
    .our_us_list .our_us_item {
        gap: 25px;
    }
    .our_us_list .our_us_item .info_our_us p.name {
        font-size: 18px;
    }
    .why_us_text p {
        font-size: 14px;
    }

    .list-info-why-us {
        margin-top: 80px;
        gap: 40px;
    }

}

.articles-search{
    margin:30px auto;
}

.articles-search form{
    display:flex;
    gap:10px;
}

.articles-search input{
    flex:1;
    height:48px;
    padding:0 16px;
    border:1px solid #ddd;
    border-radius:8px;
}

.articles-search button{
    padding:0 24px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    color: white;
    background: #ff428d;
}


.related-posts {
    margin-top: 70px;
}

.related-posts h2 {
    margin-bottom: 30px;
    font-size: 32px;
}

.related-posts__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.related-post {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    transition: .3s;
    background: #fff;
}

.related-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,.12);
}

.related-post__image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    object-position: top;
}

.related-post__content {
    padding: 18px;
}

.related-post__content h3 {
    margin: 0 0 12px;
    font-size: 20px;
}

.related-post__content p {
    margin: 0;
    color: #666;
    line-height: 1.6;
}

.course-schedule__title{
    font-size: 16px;
    font-weight:700;
}

.course-schedule__date{
    margin:10px 0 20px;
    font-size:42px;
    font-weight:700;
    color:#ff428d;
    line-height:1.1;
}

.course-schedule__select{
    width:100%;
    height:50px;
    border-radius:10px;
    border:none;
    padding:0 18px;
    margin-bottom:25px;
    font-size:16px;
}

@media (max-width: 991px) {
    .related-posts__list {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 767px) {
   .main-header , .social_icon_list{
       display: none;
   }

    .city-current-top span{
        text-decoration:underline;
        font-size:16px;
    }


}
@media (max-width: 500px) {
    .list-info-why-us {
        grid-template-columns: repeat(1, 1fr);

    }
}

.payment-package .hero2-link {
	color: #ff428d;
	font-weight: 600;
}


@media (min-width:1200px) {
	.popUp_which_curse.active {
		width:50% !important;
	}
}

@media (min-width:1600px) {
	.popUp_which_curse.active {
		width:40% !important;
	}
}


