/*
Элементы, которые повторяются в разных блоках
*/

.courses-common-wrapper .button-wrapper{
    display: flex;
    justify-content: center;
    width: 100%;
}
.courses-common-wrapper .button-wrapper .button{
    min-width: 152px;
}
.courses-common-wrapper .button{
    display: flex;
    width: fit-content;
    justify-content: center;
}
.courses-common-wrapper .section{
    padding: 32px 12px;
    width: 100%;
}
.courses-common-wrapper .section .content{
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}
/*
Заголовок секции или контента
*/
.courses-common-wrapper .section >.title, .courses-common-wrapper .section .content >.title{
    color: #353339;
    font-size: 36px;
    line-height: 44px;
    font-weight: 700;
}
.courses-common-wrapper .section >.title{
    text-align: center;
}
.courses-common-wrapper .section .content >.title span{
    color: #0047FF;
}


.courses-common-wrapper{
    display: flex;
    flex-direction: column;
    font-family: Roboto, serif;
    font-style: normal;
    font-weight: 400;
    gap: 32px;
    background: #FAFAFA;
    overflow: hidden;
}

.courses-common-header{
    width: 100%;
    background: #F2A904;
    height: 500px;
}

.courses-common-wrapper .header-wrapper{
    border-radius: 40px;
    border: 1px solid #F2F2F2;
    background: #FFF;
    box-shadow: 0px 4px 32px 0px rgba(0, 0, 0, 0.24);
    height: 484px;
    margin-top: 32px;

    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    overflow: hidden;
    padding: 0;
}

.courses-common-wrapper .header-wrapper .content{
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 526px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}

.courses-common-wrapper .header-wrapper .content .title{
    font-size: 45px;
    line-height: 52px;
}
.courses-common-header .header-wrapper .content .subtitle{
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
    margin-top: -12px;/* компенсируем gap */
}
.courses-common-wrapper .header-wrapper .content .buttons{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.courses-common-wrapper .header-wrapper .main-image{
    width: 50%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.courses-common-wrapper .header-wrapper .main-image img{
    max-width: 100%;
}

.courses-common-target{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.courses-common-target > img{
    max-width: 50%;
}
.courses-common-target .content{
    border-radius: 40px;
    border: 1px solid #EBEBEB;
    background: #FFF;

    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 50%;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    padding: 48px;
}
.courses-common-target .content .subtitle{
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}
.courses-common-target .content ul{
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.courses-common-target .content ul li{
    display: flex;
    background: url("/img/icons/tick.png") no-repeat;
    min-height: 24px;
    padding-left: 34px;
    align-items: center;
}

.courses-common-how-does-it-work{
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.courses-common-how-does-it-work .tiles{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: flex-start;
}
.courses-common-how-does-it-work .tiles .tile{
    border-radius: 40px;
    border: 1px solid #E7E0EC;
    background: #FFF;

    padding: 32px 48px;
    width: calc(100% / 4 - 3 / 4 * 24px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;

    min-height: 320px;

    color: #625B71;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}
.courses-common-how-does-it-work .tiles .tile .title{
    color: #353339;

    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}

.courses-common-what-for{
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.courses-common-what-for .tiles{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: flex-start;
}
.courses-common-what-for .tiles .tile{
    border-radius: 40px;
    border: 1px solid #F2F2F2;
    background: #FFF;

    padding: 24px 48px;
    width: calc(100% / 3 - 2 / 3 * 24px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;

    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    min-height: 300px;
}
.courses-common-what-for .tiles .tile .title{
    color: #F2A904;

    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
    height: 56px;
    display: flex;
    align-items: center;
}
.courses-common-what-for .tiles .tile:nth-of-type(2n) .title{
    color: #0047FF;
}

.courses-common-how-lessons-going{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.courses-common-how-lessons-going .items{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: space-between;
}
.courses-common-how-lessons-going .items .item{
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: calc(100% / 3 - 2 / 3 * 24px);

    border-radius: 40px;
    border: 1px solid #F2F2F2;
    background: #FFF;

    padding: 32px;

    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}
.courses-common-how-lessons-going .items .item img{
    border-radius: 40px;
}
.courses-common-how-lessons-going .items .item .labels{
    display: flex;
    flex-direction: row;
    gap: 12px;

    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
    flex-wrap: wrap;
}
.courses-common-how-lessons-going .items .item .labels .label{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    border-radius: 40px;
    background: #F2A904;
}
.courses-common-how-lessons-going .items .item:nth-of-type(2) .labels .label{
    background: #40BF55;
}
.courses-common-how-lessons-going .items .item:nth-of-type(3) .labels .label{
    background: #0047FF;
}
.courses-common-how-lessons-going .items .item .labels .label:nth-of-type(2){
    background: none;
    border: 1px solid #79747E;
    color: #353339;
}

.courses-common-how-lessons-going .items .item.wide{
    width: calc(100%/2 - 24px);
    flex-direction: row;
    align-items: flex-start;
}
.courses-common-how-lessons-going .items .item.wide img{
    width: 50%;
    border-radius: 40px;
}
.courses-common-how-lessons-going .items .item.wide .content{
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 24px;

    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
}
.courses-common-how-lessons-going .items .item .title{
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}

.courses-common-our-lessons{
    width: 100%;
    background: #F2A904 url("/img/courses/common/our-lessons-bg.png") no-repeat center top;
    background-size: 100% auto;
}
.our-lessons-wrapper{
    display: flex;
    flex-direction: row;
    gap: 48px;
    padding: 64px 12px;
    align-items: center;
    justify-content: space-between;
}
.our-lessons-wrapper .info{
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 50%;
}
.our-lessons-wrapper .info >.title{
    color: #FFF;
    font-size: 36px;
    line-height: 44px;
    font-weight: 700;
}
.our-lessons-wrapper .info >.items{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.our-lessons-wrapper .info >.items .item{
    display: flex;
    flex-direction: row;
    gap: 24px;
    padding: 24px 32px;

    border-radius: 40px;
    background: #FFF;
}
.our-lessons-wrapper .info >.items .item .number{
    color: #0047FF;
    font-size: 48px;
    font-weight: 700;
    line-height: 60px;
}
.our-lessons-wrapper .info >.items .item .text{
    display: flex;
    flex-direction: column;
    gap: 12px;

    font-size: 14px;
    line-height: 20px;
}
.our-lessons-wrapper .info >.items .item .text >.title{
    color: #353339;
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}
.our-lessons-wrapper > img{
    max-width: 50%;
}
.courses-common-faq{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.courses-common-faq .questions{
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 30px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 0px 10px 25px 0px rgba(104, 104, 104, 0.10);
}
.courses-common-faq .questions .question{
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 24px;
    border-bottom: 1px solid #EBEBEB;
    min-height: 80px;
    cursor: pointer;
}
.courses-common-faq .questions .question .title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}
.courses-common-faq .questions .question.opened .title img{
    transform: rotate(90deg);
}
.courses-common-faq .questions .question .answer{
    width: calc(100% - 48px);
    color: #625B71;
    display: none;
    font-size: 14px;
    line-height: 20px;
}
.courses-common-faq .questions .question.opened .answer{
    display: flex;
}

.courses-common-what-is{
    border-radius: 40px;
    background: #EBEEFB;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.courses-common-what-is.section{
    padding: 48px 110px;
}
.courses-common-what-is .items{
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}
.courses-common-what-is .items .item{
    display: flex;
    flex-direction: row;
    gap: 24px;

    border-radius: 40px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    overflow: hidden;
    align-items: center;
}
.courses-common-what-is .items .item .content{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;

    font-size: 14px;
    line-height: 20px;
    padding: 32px 32px 32px 0;
}

.courses-common-what-is .items .item .content .label{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border-radius: 40px;
    background: #F2A904;
    color: #FFF;

    font-size: 28px;
    font-weight: 700;
    line-height: 36px;
}
.courses-common-what-is .items .item:nth-of-type(2) .content .label{
    background: #40BF55;
}
.courses-common-what-is .items .item:nth-of-type(3) .content .label{
    background: #0047FF;
}
.courses-common-what-is .items .item .content .title{
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}

.courses-common-course-sections{
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.courses-common-course-sections .tiles{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: flex-start;
}
.courses-common-course-sections .tiles .tile{
    border-radius: 40px;
    border: 1px solid #F2F2F2;
    background: #FFF;

    padding: 0;
    width: calc(100% / 3 - 2 / 3 * 24px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-height: 300px;
    overflow: hidden;
}
.courses-common-course-sections .tiles .tile .content{
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 24px 48px 24px;

    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
}
.courses-common-course-sections .tiles .tile .content .title{
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}
.courses-common-course-sections .tiles .tile .content ul{
    padding-left: 24px;
    margin-bottom: 0;
}
.courses-common-course-sections .tiles .tile .content ul li{
    margin: 12px 0;
    color: #625B71;
}
.courses-common-course-sections .tiles .tile .content ul li::marker{
    color: #2899F9;
}

.courses-common-course-form-us{
    display: flex;
    flex-direction: row;
    gap: 24px;
    width: 100%;
    align-items: center;
}
.courses-common-course-form-us .content{
    display: flex;
    flex-direction: column;
    gap: 24px;

    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;

}
.courses-common-course-form-us .content .row{
    display: flex;
    padding: 24px;
    align-items: flex-start;
    gap: 24px;
    border-radius: 40px;
    border: 1px solid #EBEBEB;
    background: #FFF;
}

.courses-common-wrapper .courses-common-what-you-get{
    display: flex;
    flex-direction: column;
    gap: 32px;
    border-radius: 40px;
    background: #EBEEFB;
    padding: 48px 110px;
}
.courses-common-wrapper .courses-common-what-you-get .list{
    display: flex;
    flex-direction: column;
    gap: 48px;
    width: 100%;
}
.courses-common-wrapper .courses-common-what-you-get .list .item{
    display: flex;
    flex-direction: row;
    gap: 24px;
    width: 100%;
    align-items: center;
}
.courses-common-wrapper .courses-common-what-you-get .list .item:nth-of-type(2n){
    flex-direction: row-reverse;
}
.courses-common-wrapper .courses-common-what-you-get .list .item .content{
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-radius: 40px;
    background: #FFF;
    padding: 24px 48px;

    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}
.courses-common-wrapper .courses-common-what-you-get .list .item .content .title{
    font-size: 28px;
    font-weight: 700;
    line-height: 36px;
    padding: 12px 0px;

    color: #F50882;
}
.courses-common-wrapper .courses-common-what-you-get .list .item:nth-of-type(2) .content .title{
    color: #0047FF;
}
.courses-common-wrapper .courses-common-what-you-get .list .item:nth-of-type(3) .content .title{
    color: #F2A904;
}
.courses-common-wrapper .courses-common-what-you-get .list .item:nth-of-type(4) .content .title{
    color: #40BF55;
}

/* Правки к Свайперу */
.swiper{
    overflow: visible;
}
.swiper .swiper-wrapper .swiper-slide{
    height: auto;
}

.swiper-controls{
    flex-direction: row;
    width: 100%;
    justify-content: center;
    gap: 16px;
    display: none;
}
.swiper-controls .swiper-control{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #49454F;
    cursor: pointer;
}
.swiper-controls .swiper-prev img{
    transform: rotateY(180deg);
}
.swiper-controls img{
    width: 24px;
    height: 24px;
}

@media(max-width: 767px){
    .swiper-controls{
        display: flex;
    }
}