:root{
    --brand: #7A5AF8;          /* насыщенный фиолетовый */
    --brand-2: #C9B9FF;        /* светлый фиолетовый */
    --brand-3: #F5F1FF;        /* нежно-лиловый фон секций */
    --accent: #FF7A00;         /* оранжевые CTA */
    --text: #1F2340;           /* тёмный основной текст */
    --muted:#6B7280;
    --card-shadow: 0 10px 30px rgba(31,35,64,.08);
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{ font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color:var(--text); background:#fff; }
.container{
    max-width: 1206px;
}
/* Топбар */
.topbar{ font-size:.92rem; background:rgba(190, 134, 234, 1); height: 31px; }
.topbar .top-nav ul{
    display: flex;
    align-items: center;
    gap:  50px;
    justify-content: center;
    list-style-type: none;
    padding: 0;
    margin: 0;
    height: 31px;
}
.topbar .top-nav ul li{
    padding: 0;
    margin: 0;
}
.topbar ul li a{
    font-family: Inter;
    font-weight: 300;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #fff;
    text-decoration: none;
    transition: .2s;
}
.topbar ul li a:hover{
    color: #fff;
    opacity: .65;
}
.header{
    padding: 18px 0px;
}
.header-lines{
    padding-top: 12px;
    padding-left: 40px;
}
.header-line-1-content{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid #ccc;
}
.header-phone{

}
.header-phone a{
    font-family: Inter;
    font-weight: 700;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
    display: flex;
    gap: 20px;
}
.header-map{

}
.header-map span{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: rgba(0, 0, 0, 1);
    display: flex;
    gap: 20px;
}
.header-soc{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.header-soc a{
    text-decoration: none;
    white-space: nowrap;
}
.header-line-2-content{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
}
.header-line-2-menu{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    list-style-type: none;
    padding: 0;
    margin: 0;
    gap: 30px;
}
.header-line-2-menu li{

}
.header-line-2-menu li a{
    font-family: Inter;
    font-weight: 700;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    transition: .2s;
    text-decoration: none;
}
.header-line-2-menu li a:hover{
    color: rgba(111, 1, 198, 1);
}
#headerSearch button{
    border: none;
    background: none;
}
.hero-section {
    position: relative;
    min-height: 600px;
}

/* Фоновый блок слева - уходит до левого края экрана */
.left-side {
    background: url('../img/hero-left-bg.jpg') center/cover no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: calc(58.333333% + (100vw - 100%) / 2);
    z-index: 1;
}

/* Фоновый блок справа - уходит до правого края экрана */
.right-side {
    background: #fdfdfd url('../img/main-right-bg.png') no-repeat right center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: calc(41.666667% + (100vw - 100%) / 2);
    z-index: 1;
}

.right-side::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(1px);
}

/* Контейнер с контентом поверх фонов */
.hero-content-wrapper {
    position: relative;
    min-height: 600px;
    z-index: 2;
}

/* Блок с формой - повторяет фон правой стороны */
.hero-form-container {
    background: #fdfdfd;
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.hero-form-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(1px);
}

.registration-form {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 400px;
}

/* Мобильная версия */
@media (max-width: 767px) {
    .left-side,
    .right-side {
        position: relative;
        width: 100%;
    }
    
    .left-side {
        height: 250px;
        margin-bottom: 20px;
    }
    
    .right-side {
        display: none;
    }
    
    .hero-form-container {
        min-height: auto;
    }
    .hero-section{
        min-height: auto;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .left-side {
        width: calc(58.333333% + (100vw - 100%) / 2);
    }
    
    .right-side {
        width: calc(41.666667% + (100vw - 100%) / 2);
    }
}

.registration-form {
    padding: 60px 30px 60px;
    position: relative;
    z-index: 2;
    box-sizing: content-box;
}

.form-title {
    font-family: Inter;
    font-weight: 700;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 120%;
    letter-spacing: 0;
    color: #000;
    margin-bottom: 20px;
}

.form-subtitle {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    margin-bottom: 32px;
}
.register-form input.form-control{
    padding: 0 25px;
    height: 50px;
    display: flex;
    align-items: center;
    background: rgba(240, 240, 240, 1);
    border-radius: 25px;
    font-family: Inter;
    font-weight: 500;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    margin-bottom: 31px;
    box-shadow: none;
    border: none;
}

.form-control {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 16px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #f8fafc;
}

.form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
    background: white;
}

.btn-register {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 25px;
    background: rgba(244, 111, 36, 1);
    color: #fff;
    border: none;
    font-family: Inter;
    font-weight: 600;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    width: 100%;
    transition: .2s;
}

.btn-register:hover {
    background: rgba(255, 145, 83, 1);
    color: #fff;
}

.purple-accent {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #a855f7, #8b5cf6);
    border-radius: 12px;
    transform: rotate(45deg);
    opacity: 0.9;
}

.purple-accent::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    width: 18px;
    height: 18px;
    border: 3px solid white;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .left-side {
        min-height: 40vh;
    }

    .right-side {
        min-height: 60vh;
    }

    .registration-form {
        padding: 0;
        max-width: 100%;
        margin: 0 15px;
    }

    .form-title {
        font-size: 1.8rem;
    }

    .purple-accent {
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }

    .purple-accent::after {
        width: 15px;
        height: 15px;
        border-width: 2px;
    }
}

.heading-section{
    font-family: Inter;
    font-weight: 700;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}
.heading-section span{
    color: #f46f24;
}
.underheading-section{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}
section.numbers{
    padding-top: 82px;
    padding-bottom: 89px;
    background: url('../img/numbers-bg.png') no-repeat right bottom;
}
section.numbers .heading-section{
    margin-bottom: 27px;
}
section.numbers .numbers-content{
    background: rgba(250, 250, 250, 1);
    padding: 30px 55px 0;
    margin-top: 20px;
}
section.numbers .numbers-content .number-block{
    color: rgba(244, 111, 36, 1);
    position: relative;
    min-height: 143px;
}
section.numbers .numbers-content .number-block:after{
    content: '';
    width: 98px;
    height: 3px;
    background: rgba(190, 134, 234, 1);
    left: 0;
    top: calc( 100% - 3px );
    position: absolute;
}
section.numbers .numbers-content .number-block small{
    font-family: Inter;
    font-weight: 700;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0
}
section.numbers .numbers-content .number-block strong{
    font-family: Inter;
    font-weight: 800;
    font-size: 50px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    display: block;
    margin-bottom: 5px;
}
.section-about{
    padding: 0 0 190px;
    background: url('../img/about-bg.png') no-repeat left bottom;
}
.section-about .about-tab-buttons{
    display: flex;
    list-style-type: none;
    justify-content: flex-start;
    align-items: center;
    gap: 110px;
    margin: 0;
    padding: 0;
}
.section-about .about-tab-buttons li{
    position: relative;
}
.section-about .about-tab-buttons button{
    border: none;
    background: none;
    font-family: Inter;
    font-weight: 700;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    padding: 0;
    position: relative;
}
.section-about .about-tab-buttons li button.active:after{
    content: '';
    position: absolute;
    z-index: 1;
    top: calc(100% - 10px);
    left: 0;
    width: 100%;
    height: 10px;
    background: rgba(242, 226, 255, 1);
}
.section-about .about-tab-buttons li button span{
    position: relative;
    z-index: 2;
}
.about-tab-content{
    background: rgba(242, 226, 255, 1);
    border-radius: 8px;
    padding: 60px 50px;
    margin-top: 27px;
}
.about-tab-content p{
    line-height: 135%;
}
.about-tab-content .swiper{
    margin-top: 56px;
    margin-bottom: -145px;
}
.about-tab-content .swiper-button-next, .about-tab-content .swiper-button-prev{
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
}
.about-tab-content .swiper-button-next:after, .about-tab-content .swiper-button-prev:after{
    font-size: 17pt;
    color: rgba(111, 1, 198, 1);
}
section.section-reasons{
    padding-top: 108px;
    padding-bottom: 83px;
    background: #f7f7f7 url('../img/reason-bg.png') no-repeat left bottom;
}
.reasons-content{
    margin-top: 55px;
}
.reason-block{
    margin-bottom: 68px;
}
.reasons-content h6{
    font-family: Inter;
    font-weight: 700;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    margin: 20px 0px 13px;
}
.reasons-content p{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
    color: #000;
}

section.section-our-team{
    padding-top: 63px;
    padding-bottom: 67px;
}
.our-team-content{
    background: rgba(242, 226, 255, 1);
    border-radius: 8px;
    padding: 58px 35px;
    padding-bottom: 100px;
}
.our-team-content h2{
    text-align: left;
    color: rgba(84, 11, 142, 1);
    margin-bottom: 35px;
}
.team-block .team-image{
    background: #fff;
    border-radius: 8px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 228px;
    margin-bottom: 33px;
}
.team-block .team-name{
    font-family: Inter;
    font-weight: 700;
    font-size: 20px;
    leading-trim: NONE;
    letter-spacing: 0;
    line-height: 115%;
    margin-bottom: 9px;
    min-height: 70px;
}
.team-block .team-position{
    font-family: Inter;
    font-weight: 700;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
    color: rgba(111, 1, 198, 1);
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.team-block .team-position:after{
    position: absolute;
    content: '';
    height: 3px;
    width: 57px;
    background: rgba(111, 1, 198, 1);
    top: 100%;
    left: 0;
}
.team-block .team-description{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
}
.our-team-content .swiper-button-next, .our-team-content .swiper-button-prev{
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
}
.our-team-content .swiper-button-next:after, .our-team-content .swiper-button-prev:after{
    font-size: 17pt;
    color: rgba(111, 1, 198, 1);
}
.swiper-3-wrapper{
    position: relative;
}
.our-team-content .swiper-button-next{
    right: -20px;
}
.our-team-content .swiper-button-prev{
    left: -20px;
}

section.section-events{
    background: #f7f7f7 url('../img/events-bg.png') no-repeat left bottom;
    padding: 95px 0;

}
section.section-events .events-wrapper{
    margin-top: 69px;
}
.section-events .event-block{
    cursor: pointer;
    min-height: 550px;
}
.section-events .event-description{
    padding: 22px 30px;
    border-radius: 8px;
    transition: .2s;
    position: relative;
    z-index: 2;
}
.section-events .event-description h6{
    font-family: Inter;
    font-weight: 700;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    margin-bottom: 17px;
}
.section-events .event-block:hover .event-description{
    background: #fff;
    margin-top: -50px;
}
.section-events .event-description p{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
    color: #000;
}
.section-events .event-description .event-buttons{
    height: 0;
    overflow: hidden;
    transition: .2s;
}
.section-events .event-block:hover .event-description .event-buttons{
    height: auto;
}
.section-events .event-description .btn{
    height: 50px;
    border-radius: 25px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Inter;
    font-weight: 600;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    color: #fff;
    letter-spacing: 0;
    transition: .2s;
}
.section-events .event-description .btn:hover{
    opacity: .85;
}
.section-events .event-description .btn.btn-event-more{
    background: rgba(244, 111, 36, 1);
    margin-bottom: 20px;
}
.section-events .event-description .btn.btn-event-action{
    background: rgba(111, 1, 198, 1);
}

.section-events .swiper-button-next, .section-events .swiper-button-prev{
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
}
.section-events .swiper-button-next:after, .section-events .swiper-button-prev:after{
    font-size: 17pt;
    color: rgba(111, 1, 198, 1);
}
.swiper-4-wrapper{
    position: relative;
}
.section-events .swiper-button-next{
    right: -20px;
    top: 105px;
}
.section-events .swiper-button-prev{
    left: -20px;
    top: 105px;
}

.section-reviews{
    padding: 90px 0;
    border-bottom: 1px solid #ddd;
}
.section-reviews .reviews-wrapper{
    margin-top: 67px;
}
.section-reviews .reviews-wrapper .review-block{
    padding: 50px 40px 85px 50px;
    background: rgba(250, 250, 250, 1);
    border-radius: 8px;
}
.section-reviews .swiper-wrapper .swiper-slide:nth-child(2n) .review-block{
    background: rgba(242, 226, 255, 1);
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 38px;
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left{
    display: flex;
    gap: 20px;
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left .review-image{

}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left .review-name-date{
    padding: 10px;
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left .review-name-date .review-date{
    font-family: Inter;
    font-weight: 400;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left .review-name-date .review-name{
    font-family: Inter;
    font-weight: 700;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom: 12px;
}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-right{

}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-right .rating{

}
.section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-right .rating i{
    font-size: 14pt;
    color: rgba(111, 1, 198, 1);
}
.section-reviews .reviews-wrapper .review-block .review-block-second-line{

}
.section-reviews .reviews-wrapper .review-block .review-block-second-line .review-description{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0;
    color: #000;

}

.section-reviews .swiper-button-next, .section-reviews .swiper-button-prev{
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
}
.section-reviews .swiper-button-next:after, .section-reviews .swiper-button-prev:after{
    font-size: 17pt;
    color: rgba(111, 1, 198, 1);
}
.swiper-5-wrapper{
    position: relative;
}
.section-reviews .swiper-button-next{
    right: -20px;
    top: 50%;
}
.section-reviews .swiper-button-prev{
    left: -20px;
    top: 50%;
}
/* Базовые стили остаются без изменений для экранов 1024px+ */
section.section-howto{
    padding: 100px 0;
    background: url('../img/kids-bg-top.png') no-repeat left top, url('../img/kids-bg-bottom.png') no-repeat right bottom #f7f7f7;
}
.kids-how-to-wrapper{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
}
.section-howto .kids-main-image{
    margin-top: 135px;
    background: #9575d5;
    border-radius: 50%;
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(1){
    top: 86px;
    left: 222px;
    transform: rotate(3deg);
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(2){
    top: 163px;
    left: -9px;
    transform: rotate(8deg);
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(3){
    top: 209px;
    left: -100px;
    transform: rotate(-1deg);
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(4){
    top: 326px;
    left: -90px;
    transform: rotate(-9deg);
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(5){
    top: 445px;
    left: 43px;
    transform: rotate(-3deg);
}
.section-howto .labels-left-wrapper .kids-text-label:nth-child(6){
    top: 550px;
    left: 113px;
    transform: rotate(-13deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(1){
    top: 92px;
    right: 16px;
    transform: rotate(-9deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(2){
    top: 222px;
    right: 55px;
    transform: rotate(-11deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(3){
    top: 317px;
    right: -54px;
    transform: rotate(-21deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(4){
    top: 409px;
    right: 82px;
    transform: rotate(10deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(5){
    top: 492px;
    right: -67px;
    transform: rotate(1deg);
}
.section-howto .labels-right-wrapper .kids-text-label:nth-child(6){
    top: 585px;
    right: 330px;
    transform: rotate(8deg);
}
.kids-text-label{
    font-family: Inter;
    font-weight: 700;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    display: flex;
    padding: 10px 50px;
    border-radius: 50px;
    background: rgba(251, 169, 123, 1);
    max-width: 480px;
    align-items: center;
    justify-content: center;
    position: absolute;
    min-height: 52px;
}
.kids-text-label.type-label-2{
    background: rgba(222, 253, 120, 1);
}
.kids-text-label.type-label-3{
    color: #fff;
    background: rgba(111, 1, 198, 1);
}

/* Адаптивные стили для планшетов */
@media (max-width: 1023px) and (min-width: 769px) {
    section.section-howto{
        padding: 80px 20px;
    }

    .section-howto .kids-main-image{
        margin-top: 100px;
        max-width: 300px;
        height: auto;
    }

    .kids-text-label{
        font-size: 20px;
        padding: 8px 30px;
        max-width: 320px;
        min-height: 48px;
    }

    /* Левые метки для планшета */
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(1){
        top: 70px;
        left: 150px;
        transform: rotate(2deg);
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(2){
        top: 130px;
        left: 10px;
        transform: rotate(6deg);
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(3){
        top: 180px;
        left: -50px;
        transform: rotate(-1deg);
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(4){
        top: 260px;
        left: -40px;
        transform: rotate(-6deg);
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(5){
        top: 340px;
        left: 30px;
        transform: rotate(-2deg);
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(6){
        top: 420px;
        left: 80px;
        transform: rotate(-10deg);
    }

    /* Правые метки для планшета */
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(1){
        top: 75px;
        right: 20px;
        transform: rotate(-7deg);
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(2){
        top: 160px;
        right: 40px;
        transform: rotate(-8deg);
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(3){
        top: 240px;
        right: -20px;
        transform: rotate(-15deg);
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(4){
        top: 310px;
        right: 60px;
        transform: rotate(8deg);
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(5){
        top: 380px;
        right: -30px;
        transform: rotate(1deg);
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(6){
        top: 450px;
        right: 200px;
        transform: rotate(6deg);
    }
}

/* Адаптивные стили для мобильных устройств */
@media (max-width: 768px) {
    section.section-howto{
        padding: 60px 15px;
        background: #f7f7f7; /* Убираем фоновые изображения на мобильных */
    }

    .kids-how-to-wrapper{
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }

    .section-howto .kids-main-image{
        margin-top: 0;
        max-width: 200px;
        height: auto;
        order: 1;
    }

    .section-howto .labels-left-wrapper,
    .section-howto .labels-right-wrapper {
        position: static;
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: center;
        width: 100%;
    }

    .section-howto .labels-left-wrapper {
        order: 2;
    }

    .section-howto .labels-right-wrapper {
        order: 3;
    }

    .kids-text-label{
        position: static !important;
        font-size: 18px;
        padding: 12px 24px;
        max-width: 100%;
        width: 100%;
        max-width: 350px;
        min-height: 44px;
    }

    /* Добавляем небольшие наклоны для мобильной версии */
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(1){
        transform: rotate(2deg) !important;
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(2){
        transform: rotate(-1deg) !important;
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(3){
        transform: rotate(3deg) !important;
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(4){
        transform: rotate(-2deg) !important;
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(5){
        transform: rotate(1deg) !important;
    }
    .section-howto .labels-left-wrapper .kids-text-label:nth-child(6){
        transform: rotate(-3deg) !important;
    }

    .section-howto .labels-right-wrapper .kids-text-label:nth-child(1){
        transform: rotate(-2deg) !important;
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(2){
        transform: rotate(3deg) !important;
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(3){
        transform: rotate(-1deg) !important;
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(4){
        transform: rotate(2deg) !important;
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(5){
        transform: rotate(-3deg) !important;
    }
    .section-howto .labels-right-wrapper .kids-text-label:nth-child(6){
        transform: rotate(1deg) !important;
    }
}

/* Дополнительные стили для очень маленьких экранов */
@media (max-width: 480px) {
    section.section-howto{
        padding: 40px 10px;
        margin-top: 50px;
    }

    .kids-how-to-wrapper{
        gap: 30px;
    }

    .section-howto .kids-main-image{
        max-width: 150px;
    }

    .kids-text-label{
        font-size: 16px;
        padding: 10px 20px;
        min-height: 40px;
    }
}


.search-modal .modal-content {
    border: none;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    overflow: hidden;
}

.search-modal .modal-header {
    background: #4272b9;
    color: white;
    border: none;
    padding: 25px 30px;
}

.search-modal .modal-title {
    font-weight: 600;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.search-modal .btn-close {
    filter: invert(1);
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.search-modal .btn-close:hover {
    opacity: 1;
}

.search-modal .modal-body {
    padding: 40px 30px;
    background: #f8f9fa;
}

.search-input-container {
    position: relative;
}

.search-modal .form-control {
    border-radius: 50px;
    padding: 18px 25px 18px 55px;
    font-size: 16px;
    border: 2px solid #e9ecef;
    background: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.search-modal .form-control:focus {
    border-color: #0d6efd;
    box-shadow: 0 4px 20px rgba(13, 110, 253, 0.2);
    transform: translateY(-2px);
}

.search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    font-size: 18px;
    transition: color 0.3s ease;
}

.search-modal .form-control:focus + .search-icon {
    color: #0d6efd;
}

.search-modal .modal-footer {
    padding: 25px 30px;
    background: white;
    border: none;
    gap: 15px;
}

.search-modal .btn {
    border-radius: 25px;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.3s ease;
    border: none;
}

.search-modal .btn-secondary {
    background: #6c757d;
    color: white;
}

.search-modal .btn-secondary:hover {
    background: #5a6268;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
}

.search-modal .btn-primary {
    background: #198754;
    color: white;
}

.search-modal .btn-primary:hover {
    background: #157347;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(25, 135, 84, 0.4);
}

/* Анимация появления модального окна */
.search-modal.fade .modal-dialog {
    transform: translateY(-100px);
    transition: transform 0.3s ease-out;
}

.search-modal.show .modal-dialog {
    transform: translateY(0);
}

.section-map{
    margin-bottom: 80px;
}

.contact-section {
    background: #fff url('../img/contacts-bg.png') no-repeat left bottom;
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.contact-section .contact-card, .contact-section .form-card {
    background: rgba(250, 250, 250, 1);
    border-radius: 8px;
    padding: 55px 65px;
    height: 100%;
    position: relative;
}
.contact-section .contact-card{
    overflow: hidden;
    background: rgba(250, 250, 250, 1) url('../img/contacts-card-bg.png') no-repeat right bottom;
}
.contact-section .form-card {
    background: rgba(242, 226, 255, 1);
    color: white;
}

.contact-section .contact-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 2rem;
}

.contact-section .form-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    margin-bottom: 1rem;
    font-family: Inter;
    font-weight: 700;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
}
.contact-section .form-title.purple{
    color: rgba(111, 1, 198, 1);
    margin-top: 30px;
}
.contact-section .form-subtitle {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: rgba(111, 1, 198, 1);
}

.contact-section .contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    padding: 0;
    font-family: Inter;
    font-weight: 400;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;

}

.contact-section .contact-icon {
    width: 48px;
    height: 48px;
    background: rgba(190, 134, 234, 1);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    font-size: 1.2rem;
}

.contact-section .contact-text {
    font-size: 1.1rem;
    color: #333;
    font-weight: 500;
}
.contact-section .contact-text.bold{
    font-weight: bold;
}
.contact-section .messengers {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-section .messenger-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    transition: transform 0.3s ease;
}

.contact-section .messenger-icon:hover {
    transform: scale(1.1);
}

.contact-section .whatsapp { background: #25D366; }
.contact-section .telegram { background: #0088cc; }

.contact-section .messenger-text {
    font-size: 1.1rem;
    color: #333;
    font-weight: 500;
    margin-left: 10px;
}

.contact-section .form-control {
    background: #fff;
    border: none;
    border-radius: 25px;
    color: white;
    font-size: 1rem;
    padding: 15px 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    font-family: Inter;
    font-weight: 600;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: rgba(84, 11, 142, 1);
    padding: 15px 25px;
    min-height: 50px;
}


.contact-section .form-control::placeholder {
    color: rgba(190, 134, 234, 1);
}

.contact-section .btn-submit {
    font-family: Inter;
    font-weight: 600;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    height: 50px;
    display: flex;
    border-radius: 25px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 100%;
    color: rgba(84, 11, 142, 1);
}

.contact-section.btn-submit:hover {
    border: 1px solid #fff;
    background: none;
    color: rgba(84, 11, 142, 1);
}

.contact-section .privacy-text {
    opacity: 0.8;
    margin-top: 15px;
    font-family: Inter;
    font-weight: 500;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: rgba(111, 1, 198, 1);
    display: flex;
    gap: 15px;
}

.contact-section .privacy-text i {
    margin-right: 8px;
}
.header-mobile-line{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px;
    padding-top: 4px;
}
.mobile-contacts{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 19px;
    margin-bottom: 38px;
}
.mobile-contacts a.btn{
    height: 30px;
    border-radius: 30px;
    border: 1px solid;
    font-family: Inter;
    font-weight: 400;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.mobile-contacts a.btn.mobile-whatsapp{
    color: rgba(32, 206, 101, 1);
    border-color: rgba(32, 206, 101, 1);
}
.mobile-contacts a.btn.mobile-telegram{
    color: rgba(40, 166, 230, 1);
    border-color: rgba(40, 166, 230, 1);
}
.heading-mobile-action{
    font-family: Inter;
    font-weight: 700;
    font-size: 24px;
    line-height: 125%;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 7px;
}
.underheading-mobile-action{
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    line-height: 125%;
    letter-spacing: 0;
    text-align: center;
}
.mobile-button-action{
    background: rgba(244, 111, 36, 1);
    color: #fff;
    transition: .2s;
    font-family: Inter;
    font-weight: 600;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    border-radius: 25px;
    text-decoration: none;
}
.mobile-button-action:hover{
    opacity: .85;
}
@media (max-width: 768px) {
    .contact-title, .form-title {
        font-size: 2rem;
    }

    .contact-card, .form-card {
        padding: 30px 20px;
        margin-bottom: 30px;
    }

    .contact-section {
        padding: 50px 0;
    }

    .right-side{
        display: none;
    }
    .left-side{
        min-height: 195px;
    }
    .header{
        padding: 7px 5px 5px;
    }
    .heading-section{
        font-family: Inter;
        font-weight: 700;
        font-size: 24px;
        leading-trim: NONE;
        line-height: 110%;
        letter-spacing: 0;
        text-align: center;
    }
    section.numbers{
        padding-top: 50px;
        padding-bottom: 65px;
        background: none;
        border-top: 1px solid #eee;
    }
    section.numbers .numbers-content{
        padding: 25px;
    }
    section.numbers .numbers-content .number-block small{
        font-size: 16px;
    }
    section.numbers .numbers-content .number-block strong{
        font-size: 36px;
    }
    section.numbers .numbers-content{
        margin-top: 32px;
    }
    .section-about{
        background: none;
        padding-bottom: 40px;
    }
    .section-about .about-tab-buttons{
        gap: 50px;
    }
    .section-about .about-tab-buttons button{
        font-size: 24px;
        white-space: nowrap;
    }
    .about-tab-content{
        margin-top: 20px;
        padding: 20px 24px;
    }
    .about-tab-content .swiper{
        margin-bottom: 0;
    }
    section.section-reasons{
        padding-top: 40px;
    }
    .reason-block{
        display: flex;
        gap: 20px;
        margin-bottom: 10px;
    }
    .reason-block > img{
        width: 140px;
        height: 104px;
    }
    .reason-block h6{
        font-family: Inter;
        font-weight: 700;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: 0;
        margin-top: 0;
    }
    .reason-block h6 p{
        font-family: Inter;
        font-weight: 400;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 140%;
    }
    .contact-section .contact-card, .contact-section .form-card{
        padding: 25px;
    }
    .our-team-content .swiper-button-next{
        right: -15px;
        top: 120px;
    }
    .our-team-content .swiper-button-prev{
        left: -15px;
        top: 120px;
    }
    .section-events .swiper-button-next{
        right: 0;
        top: 105px;
    }
    .section-events .swiper-button-prev{
        left: 0;
        top: 105px;
    }
    .section-reviews .swiper-button-next{
        right: 0;
        top: 120px;
    }
    .section-reviews .swiper-button-prev{
        left: 0;
        top: 120px;
    }
    section.section-events{
        padding: 25px;
        background: #f7f7f7;
    }
    .section-reviews{
        padding-bottom: 0;
        padding-top: 40px;
    }
    .swiper-button-next, .swiper-button-prev{
        width: 40px !important;
        height: 40px !important;
    }
    .section-reviews .reviews-wrapper .review-block{
        padding: 25px 30px;
    }
    .section-reviews .reviews-wrapper .review-block .review-block-first-line{
        flex-wrap: wrap;
    }
    .section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left {
        flex-wrap: wrap;
        margin-bottom: 10px;
        width: 100%;
    }
    .section-reviews .reviews-wrapper .review-block .review-block-first-line .review-block-left .review-name-date{
        padding: 10px 0;
    }
}

/* Кнопка для демонстрации */
.demo-btn {
    background: linear-gradient(135deg, #8b5cf6, #a78bfa);
    border: none;
    color: white;
    padding: 15px 30px;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.3);
}

/* Overlay */
.menu-offcanvas-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.menu-offcanvas-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* Мобильное меню */
.offcanvas-main {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 400px;
    height: 100vh;
    background: #ffffff;
    z-index: 1050;
    transition: right 0.3s ease;
    overflow-y: auto;
}

.offcanvas-main.show {
    right: 0;
}

/* Заголовок меню */
.offcanvas-main .menu-header {
    padding: 20px;
    position: relative;
}

.offcanvas-main .menu-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.offcanvas-main .menu-close:hover {
    color: #333;
}

.mobile-menu-offcanvas .contact-info {
    margin-bottom: 15px;
}

.mobile-menu-offcanvas .phone-number {
    font-family: Inter;
    font-weight: 700;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    display: flex;
    gap: 15px;
    color: #000;
    text-decoration: none;
    margin-bottom: 20px;
}

.mobile-menu-offcanvas.phone-number i {
    color: #8b5cf6;
    margin-right: 10px;
    font-size: 1rem;
}

.mobile-menu-offcanvas .address {
    font-size: 0.95rem;
    color: #666;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.mobile-menu-offcanvas .address i {
    color: #8b5cf6;
    margin-right: 10px;
    font-size: 0.9rem;
    margin-top: 2px;
}

/* Навигационное меню */
.mobile-menu-offcanvas.menu-nav {
    padding: 0;
}

.mobile-menu-offcanvas .nav-section {
}

.mobile-menu-offcanvas .nav-item {
    display: block;
    padding: 18px 20px;
    color: #333;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 500;
    position: relative;
    transition: background-color 0.2s ease;
}

.mobile-menu-offcanvas .nav-item:hover {
    background-color: #f8f9fa;
    color: #333;
}

/* Фиолетовые пункты меню */
.mobile-menu-offcanvas nav-item.primary {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(167, 139, 250, 0.1));
    border-left: 4px solid #8b5cf6;
}

.mobile-menu-offcanvas .nav-item.primary:hover {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(167, 139, 250, 0.15));
}


/* Мессенджеры */
.mobile-menu-offcanvas .messengers {
    padding: 20px;
    border-top: 1px solid #f0f0f0;
    background: #f8f9fa;
}

.mobile-menu-offcanvas .messengers-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mobile-menu-offcanvas .messenger-icons {
    display: flex;
    gap: 12px;
}

.mobile-menu-offcanvas .messenger-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.mobile-menu-offcanvas.messenger-link:hover {
    transform: scale(1.1);
}

.mobile-menu-offcanvas .whatsapp { background: #25D366; }
.mobile-menu-offcanvas .telegram { background: #0088cc; }

.mobile-menu-offcanvas .messengers-text {
    font-size: 1rem;
    color: #333;
    font-weight: 500;
}

/* Анимация появления пунктов */
.mobile-menu-offcanvas.show .nav-item {
    animation: slideInRight 0.3s ease forwards;
}

.mobile-menu-offcanvas.show .nav-item:nth-child(1) { animation-delay: 0.1s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(2) { animation-delay: 0.15s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(3) { animation-delay: 0.2s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(4) { animation-delay: 0.25s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(5) { animation-delay: 0.3s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(6) { animation-delay: 0.35s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(7) { animation-delay: 0.4s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(8) { animation-delay: 0.45s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(9) { animation-delay: 0.5s; }
.mobile-menu-offcanvas.show .nav-item:nth-child(10) { animation-delay: 0.55s; }

.mobile-menu-offcanvas .nav-category{
    padding: 0 20px 20px 20px;
}
.mobile-menu-offcanvas .nav-category .nav-item{
    background: rgba(244, 231, 255, 1);
    margin-bottom: 5px;
    border-radius: 8px;
    padding: 0 20px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: Inter;
    font-weight: 700;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
}
.mobile-menu-offcanvas .nav-blocks{
    padding: 0 20px;
}
.mobile-menu-offcanvas .nav-blocks .nav-item {
    padding: 0 20px 0 0;
    margin-bottom: 5px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: Inter;
    font-weight: 400;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    color: #000;
    border-bottom: 1px solid #f7f7f7;
}
.mobile-menu-offcanvas .nav-blocks .nav-item:last-child{
    border-bottom: 0;
}
@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}



/* Медиа-запросы */
@media (max-width: 480px) {
    .mobile-menu-offcanvas {
        width: 100%;
        max-width: none;
    }
}

.footer {
    background: #f8f9fa url('../img/footer-bg.png') no-repeat right bottom;
    padding: 60px 0 30px;
    position: relative;
    overflow: hidden;
}

.footer::before {
    content: '';
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: linear-gradient(45deg, #ff9a56, #ffc48c);
    border-radius: 60% 40% 60% 40%;
    opacity: 0.1;
    transform: rotate(15deg);
}

.footer::after {
    content: '';
    position: absolute;
    top: 20%;
    right: 5%;
    width: 80px;
    height: 80px;
    background: linear-gradient(45deg, #8b5cf6, #a78bfa);
    border-radius: 20px;
    opacity: 0.1;
    transform: rotate(25deg);
}

.footer-logo {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}
.footer-logo img{
    width: 275px;
}
.logo-icon {
    width: 40px;
    height: 40px;
    margin-right: 12px;
    position: relative;
}

.logo-icon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: #8b5cf6;
    transform: rotate(45deg);
    border-radius: 3px;
}

.logo-icon::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: 20px;
    height: 20px;
    background: #ff9a56;
    transform: rotate(45deg);
    border-radius: 3px;
}

.logo-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}

.logo-subtitle {
    font-size: 0.85rem;
    color: #666;
    font-weight: 400;
}

.footer-links {
    margin-bottom: 3rem;
}

.footer-links h6 {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1.5rem;
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links ul li {
    margin-bottom: 0.8rem;
}

.footer-links ul li a {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
}

.footer-links ul li a:hover {
    color: rgba(163, 163, 163, 1);
}

.footer-contact {
    margin-bottom: 2rem;
}

.contact-phone {
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1rem;
    display: block;
    text-decoration: none;
}

.contact-messengers {
    margin-bottom: 1.5rem;
}

.contact-messengers span {
    color: #666;
    font-size: 0.9rem;
    margin-right: 10px;
}

.messenger-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: white;
    text-decoration: none;
    margin-right: 10px;
    font-size: 1.1rem;
    transition: transform 0.3s ease;
    margin-top: 10px;
}

.messenger-link:hover {
    transform: scale(1.1);
}

.whatsapp { background: #25D366; }
.telegram { background: #0088cc; }

.contact-address {
    margin-bottom: 1rem;
}

.contact-address span {
    color: #666;
    font-size: 0.9rem;
    display: block;
    margin-bottom: 5px;
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
}

.address-text {
    color: #333;
    font-weight: 500;
}

.contact-email span {
    color: #666;
    font-size: 0.9rem;
    display: block;
    margin-bottom: 5px;
}

.email-text {
    color: #333;
    font-weight: 500;
}

.footer .footer-bottom {
    border-top: 1px solid #e9ecef;
    padding-top: 20px;
    margin-top: 40px;
}

.footer.copyright {
    font-family: Calibri;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0;
    color: rgba(110, 111, 113, 1);
}

.section-information, .section-category{
    padding: 20px;
}
.section-information h1, .section-category h1{
    font-family: Inter;
    font-weight: 700;
    font-size: 42px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 15px 0;
    margin: 0;
    list-style: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 14px;
    color: #777;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin: 0 12px;
    color: #ddd;
    font-size: 16px;
}

.breadcrumb a {
    color: #555;
    text-decoration: none;
    transition: color 0.2s ease;
    padding: 2px 0;
}

.breadcrumb a:hover {
    color: #222;
}

.breadcrumb li:last-child a {
    color: #888;
    font-weight: 500;
    pointer-events: none;
}

/* Стрелка только у пунктов с подменю */
.header-line-2-menu .has-children > a .menu-arrow {
    display: inline-block;
    margin-left: 1px;
    font-size: 10px;
    line-height: 1;
    color: #888;
    /* Сохраняем оригинальный цвет текста, но чуть тише */
}

/* Подменю (второй уровень) */
.header-line-2-menu .has-children {
    position: relative;
}

.header-line-2-menu .header-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    min-width: 220px;
    padding: 8px 0;
    list-style: none;
    margin: 8px 0 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 1000;
}

.header-line-2-menu .has-children:hover .header-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header-line-2-menu .header-submenu li {
    margin: 0;
    padding: 0;
}

.header-line-2-menu .header-submenu a {
    display: block;
    padding: 8px 20px;
    color: #333 !important;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.15s ease;
}

.header-line-2-menu .header-submenu a:hover {
    background-color: #f8f9fa;
    color: #007bff !important;
}

.section-about .swiper-button-next, .section-about .swiper-button-prev{
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08);
}
.section-about .swiper-button-next:after, .section-about .swiper-button-prev:after{
    font-size: 12pt;
    color: rgba(111, 1, 198, 1);
}

.colorized-link{
    color: rgba(111, 1, 198, 1) !important;
}
.colorized-link:hover{
    opacity: .75;
}

@media (max-width: 768px) {
    .footer {
        padding: 40px 0 20px;
    }

    .footer-links {
        margin-bottom: 2rem;
    }

    .footer-contact {
        margin-bottom: 1.5rem;
    }

    .footer .contact-phone {
        font-size: 1.2rem;
    }

    .footer .logo-text {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    .footer-links h6 {
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }

    .footer-links ul li a {
        font-size: 0.9rem;
    }
}