:root {
    --black: #000;
    --white: #FFF;
    --primary: #120C2A;
    --secondary: #37296F;
    --gray: #A6A5B8;
    --gray2: #A79ABF;
    --red: #E23500;
    --gray-bg: #F0F0FA;
    --purple: #3A1D45;
    --border: #DBDBDB;
    --border2: #EBEEF3;
    --transition: .3s all ease;
}
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
}
body{
    font-family: "Jost", sans-serif;
    font-weight: 400;
    line-height: normal;
    font-style: normal;
    font-size: 18px;
}
.wrapper{
    overflow: hidden;
}
.container{
    width: 100%;
    padding: 0 30px;
    margin: 0 auto;
}
@media (min-width: 576px) {
    .container {
        max-width: 540px;
        padding: 0 16px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 750px;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 990px;
    }
}
@media (min-width: 1320px) {
    .container {
        max-width: 1318px;
    }
}
@media (max-width: 375px) {
    .container {
        padding-left: 10px;
        padding-right: 10px;
    }
}
.header-top{
    border-bottom: 1px solid var(--border);
}
.header-top__row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0 18px 0;
}
.hader-nav{
    display: flex;
    align-items: center;
    gap: 35px;
    list-style: none;
}
.header-nav__item{
    display: flex;
    align-items: center;
    gap: 8px;

    font-size: 22px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -0.22px;
    color: var(--primary);
    text-decoration: none;
}
.header-contact{
    font-weight: 500;
    line-height: 100%; 
    color: var(--primary);
    text-decoration: none;
}
.header-bottom__row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0 28px 0;
}
.brand-logo{
    display: flex;
    max-width: 312px;
}
.brand-logo img{
    width: 100%;
}
.work-time{
    display: flex;
    align-items: center;
    gap: 9px;
}
.work-time p{
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    color: var(--primary);
}
.work-time span{
    font-size: 16px;
    font-weight: 500;
    line-height: 100%;
    color: var(--gray);
}
.header-phone{
    display: flex;
    align-items: flex-start;
    gap: 4px;
}
.header-phone a{
    font-size: 27px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.27px;
    color: var(--primary);
    text-decoration: none;
}
.header-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 25px;
    border-radius: 20px;
    background-color: var(--red);

    font-weight: 500;
    line-height: 100%; 
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
}

/* HERO */
.hero{
    padding: 0 0 90px 0;
}
.hero-wrap{
    display: flex;
    max-width: 1923px;
    margin: 0 auto 40px auto;
}
.hero-left{
    width: 43.44%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    overflow: hidden;
    position: relative;
    z-index: 1;
    border-radius: 50px;
    padding: 60px 55px;
}
.hero-left::after{
    position: absolute;
    content: '';
    right: 60px;
    bottom: 60px;
    width: 386px;
    height: 161px;
    border-radius: 386px;
    background-color: var(--red);
    filter: blur(100px);
    z-index: -1;
}
.hero-lefy_title{
    font-size: 36px;
    font-weight: 500;
    line-height: 110%;
    letter-spacing: -0.72px;
    color: var(--white);
    margin: 0 0 20px 0;
    padding: 0 60px 0 0;
}
.hero-left__text{
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 15px;
    font-weight: 500;
    line-height: 100%; 
    color: var(--border2);
}
.hero-left__text span{
    font-weight: 700;
}
.hero-left__bg,
.hero-right__bg{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -2;
    object-fit: cover;
    object-position: center;
}
.hero-right{
    width: 56.56%;
    border-radius: 50px;
    background: #642054;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.hero-right__content{
    max-width: 706px;
    padding: 28px 0 45px 90px;
}
.hero-right-info__btn{
    font-size: 15px;
    font-weight: 500;
    line-height: 100%;
    color: var(--white);
    display: inline-flex;
    padding: 12px 20px;
    align-items: center;
    justify-content: center;
    border-radius: 200px;
    border: 1px solid var(--border2);
}
.hero-right__title{
    font-size: clamp(40px, 6vw, 85px);
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1.7px;
    color: var(--white);
    margin: 21px 0 15px 0;
}
.hero-right__title span{
    color: var(--red);
}
.hero-right__subtitle{
    font-size: clamp(24px, 3vw, 40px);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.8px;
    color: var(--white);
    margin: 0 0 28px 0;
}
.hero-line{
    display: block;
    height: 1px;
    width: calc(100% + 20px);
    margin: 0 0 0 -20px;
    background: rgba(217, 217, 217, 0.15);
}
.hero-right__bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 31px 0;
}
.hero-product__title{
    font-size: clamp(24px, 5vw, 36px);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.72px;
    color: var(--red);
    margin: 0 0 14px 0;
}
.hero-product__desc{
    font-size: clamp(16px, 2.5vw, 22px);
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.44px;
    color: var(--white);
}
.hero-price__new{
    font-size: clamp(28px, 5.5vw, 50px);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -1px;
    color: var(--primary);
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 20px;
    background-color: var(--white);
    white-space: nowrap;
    margin: 0 0 10px 0;
}
.hero-price__old{
    font-size: clamp(20px, 4vw, 30px);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.6px;
    color: var(--white);
    text-align: right;
    padding: 0 26px 0 0;
    text-decoration: line-through;
    text-decoration-color: var(--red);
}
.hero-actions{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 37px 0 0 0;
}
.hero-product__remaining{
    display: flex;
    align-items: center;
    gap: 17px;
    font-weight: 500;
    line-height: 100%;
    color: var(--border2);
}
.hero-product__remaining span{
    font-size: 24px;
    font-weight: 500;
    line-height: 90%;
    letter-spacing: -0.48px;
    color: var(--secondary);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    background-color: var(--white);
}
.hero-order__btn{
    font-size: 24px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.48px;
    text-align: center;
    color: var(--white);
    padding: 23px 30px;
    border-radius: 20px;
    background-color: var(--red);
    cursor: pointer;
    border: none;
}

.advantage-wrap{
    background-color: var(--gray-bg);
    border-radius: 30px;
    margin: 0 auto;
    max-width: 1554px;
}
.advantage-row{
    display: flex;
    align-items: center;
    padding: 33px 0;
    gap: 140px;
    position: relative;
}
.advantage-row::after{
    position: absolute;
    content: '';
    left: 29%;
    top: 17px;
    width: 1px;
    height: calc(100% - 34px);
    background-color: #DADAE7;
}
.advantage-row::before{
    position: absolute;
    content: '';
    right: 38%;
    top: 17px;
    width: 1px;
    height: calc(100% - 34px);
    background-color: #DADAE7;
}
.advantage-item{
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 20px;
    line-height: 90%;
    letter-spacing: -0.4px;
    color: var(--secondary);
}
.advantage-item span{
    font-weight: 700;
}
.catalog{
    padding: 0 0 140px 0;
    position: relative;
}
.catalog:has(+ footer){
    padding: 0 0 105px 0;
}
.bg1{
    position: absolute;
    top: 0;
    right: 0;
    width: 69%;
    height: auto;
    z-index: -1;
}
.bg2{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 69%;
    height: auto;
    z-index: -1;
}
.section-top{
    display: flex;
    align-items: center;
    margin: 0 0 50px 0;
}
.section-top.column{
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
    margin: 0 0 76px 0;
}
.section-top.column .section-title{
    width: 100%;
}
.section-top.column .section-desc{
    width: 100%;
}
.section-top .section-title{
    width: 38%;
}
.section-title{
    font-size: clamp(30px, 7vw, 80px);
    font-weight: 600;
    line-height: 90%;
    letter-spacing: -1.6px;
    color: var(--secondary);
}
.catalog .section-title span{
    color: var(--red);
}
.section-top .section-desc{
    width: 62%;
}
.section-desc{
    width: 60%;
    display: flex;
    align-items: flex-start;
    gap: 13px;

    font-size: clamp(16px, 3vw, 24px);
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.48px;
    color: var(--secondary);
}
.section-desc span{
    font-weight: 600;
}
.section-desc img{
    padding: 9px 0 0 0;
}
.subtitle{
    font-size: clamp(24px, 6vw, 50px);
    font-weight: 600;
    line-height: 90%;
    letter-spacing: -1px;
    color: var(--secondary);
    margin: 0 0 26px 0;
}
.subtitle span{
    color: var(--gray2);
}

.catalog-row{
    display: grid;
    grid-template-columns: repeat(4, 4fr);
    gap: 27px;
}
.product-item{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}
.product-top{
    margin: 0 0 15px 0;
    display: flex;
    flex-direction: column;
}
.section-top + .catalog-row{
    margin: 0 0 95px 0;
}
.product-img{
    display: flex;
    width: 100%;
    border-radius: 25px;
    margin: 0 0 15px 0;
    overflow: hidden;
}
.product-img img{
    max-width: 100%;
    width: 100%;
    height: 210px;
    object-fit: cover;
    object-position: center;
}
.product-massa{
    font-size: 15px;
    font-weight: 500;
    line-height: 100%;
    color: var(--red);
    padding: 6px 8px;
    border-radius: 200px;
    border: 1px solid var(--red);
    margin: 0 0 5px 0;
    display: inline-flex;
}
.product-title{
    width: 100%;
    display: flex;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 500;
    line-height: 110%;
    letter-spacing: -0.44px;
    color: var(--primary);
    text-decoration: none;
}
.product-prices{
    display: flex;
    align-items: flex-start;
    gap: 11px;   
    margin: 0 0 8px 0;
}
.product-price__new{
    font-size: 24px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.48px;
    color: var(--primary); 
}
.product-price__old{
    font-size: 18px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.36px;
    color: var(--primary);
    text-decoration: line-through;
    text-decoration-color: var(--red);
}
.product-btn{
    font-size: 16px;
    font-weight: 600;
    line-height: 100%;
    text-transform: uppercase;
    color: var(--white);
    padding: 14.5px 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 13px;
    background-color: var(--red);
    text-decoration: none;
}
.to-back{
    font-size: 27px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.54px;
    color: var(--secondary);
    text-decoration-color: #D7D3E5;

    display: flex;
    align-items: center;
    gap: 26px;
    margin: 114px 0 0 0;
}


.useful{
    padding: 0 0 120px 0;
}
.useful-wrap{
    max-width: 1923px;
    margin: 0 auto;
    border-radius: 50px;
    background-color: var(--purple);
    position: relative;
    z-index: 1;
    padding: 48px 0 66px 0;
}
.useful-bg{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    border-radius: 50px;
}
.useful-img{
    position: absolute;
    right: 10%;
    top: -9%;
    z-index: -1;
    /* width: 39%; */
    height: auto;
}
.useful-title{
    font-size: clamp(30px, 6vw, 70px);
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1.4px;
    color: var(--white);
    max-width: 720px;
    margin: 31px 0;
}
.useful-title span{
    color: var(--red);
    margin: 0 0 31px 0;
}
.useful-desc{
    font-size: clamp(20px, 4vw, 30px);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.6px;
    color: var(--border2);
    max-width: 847px;
    margin: 0 0 31px 0;
}
.usefull-small__desc{
    font-size: clamp(16px, 2.5vw, 20px);
    font-weight: 500;
    line-height: 130%;
    letter-spacing: -0.4px;
    color: var(--border2);
    max-width: 1144px;
    margin: 0 0 31px 0;
}
.useful-order__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 9px;
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    color: var(--white);
    padding: 25px 53px;
    border-radius: 20px;
    background-color: var(--red);
    cursor: pointer;
}
.ready-time{
    position: absolute;
    width: 166px;
    height: 166px;
    right: 23%;
    top: 32%;
    z-index: 2;
    border-radius: 50%;
    background-image: url(./img/useful/ready-time.png);
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 13px;
    padding: 0 0 31px 36px;
}
.ready-time div{
    font-size: clamp(31px, 3.5vw, 42px);
    font-weight: 500;
    line-height: 60%;
    letter-spacing: -0.848px;
    color: var(--white);
}
.delivery .ready-time div{
    font-size: clamp(24px, 3.5vw, 40px);
    line-height: 80%;
}
.ready-time p{
    font-size: 21.191px;
    font-weight: 400;
    line-height: 60%;
    color: #ED8E71;
}



.steps{
    padding: 0 0 53px 0;
    position: relative;
}
.bg3{
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 80%;
}
.steps .section-title{
    margin: 0 0 85px 0;
}
.steps .section-title span{
    color: var(--gray2);
}
.step-row{
    display: flex;
    align-items: flex-start;
    gap: 21px;
    margin: 0 0 68px 0;
}
.step-item{
    border-radius: 20px;
    border: 4px solid #E8E7F0;
    background-color: var(--white);
    padding: 22px 20px 22px 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-start;
}
.step-item:last-child{
    border-color: var(--red);
}
.step-item:first-child,
.step-item:nth-child(2){
    width: 306px;
}
.step-item:nth-child(3){
    width: 358px;
}
.step-item:nth-child(4){
    width: 255px;
    cursor: pointer;
}
.step-number{
    display: inline-flex;
    width: 50px;
    height: 60px;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 800px;
    background-color: var(--secondary);
    font-size: 24px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.48px;
    color: var(--white);
    margin: -44px 0 0 0;
}
.step-item:last-child .step-number{
    background-color: var(--red)    ;
}
.step-text{
    width: calc(100% - 65px);
    font-size: 24px;
    font-weight: 600;
    line-height: 110%;
    letter-spacing: -0.48px;
    color: var(--secondary);
}
.step-text span{
    font-weight: 400;
}
.step-video{
    display: flex;
    align-items: flex-start;
    gap: 15px;
    font-size: 18px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.36px;
    color: var(--red);
}
.step-wrap{
    max-width: 1923px;
    margin: 0 auto;
}
.step-wrap .container{
    max-width: 100%;
    display: flex;
    gap: 7.8px;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.step-card{
    width: calc(25% - 6px);
    position: relative;
    border-radius: 40px;
    display: flex;
    overflow: hidden;
}
.step-card__img{
    width: 100%;
}
.video-cover{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(226, 53, 0, 0.70);
    backdrop-filter: blur(5px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 30px 50px;
}
.video-cover img{
    align-self: flex-end;
    width: 31%;
}
.step-video__text{
    font-size: clamp(23px, 3vw, 36px);
    font-weight: 500;
    line-height: 75%;
    letter-spacing: -0.72px;
    color: var(--white);
    margin: 0 0 20px 0;
}
.video-cover p{
    font-size: 21.191px;
    font-weight: 400;
    line-height: 60%;
    color: #ED8E71;
}



.priority{
    padding: 0 0 110px 0;
}
.title-icon{
    margin: 0 0 21px 36px;
}
.priority .section-title{
    margin: 0 0 40px 0;
}
.priority-desc{
    font-size: clamp(18px, 3vw, 24px);
    line-height: 120%;
    letter-spacing: -0.48px;
    color: var(--secondary);
    margin: 0 0 44px 0;
}
.priority-desc span{
    color: var(--red);
}
.priority-row{
    display: flex;
    flex-wrap: wrap;
    gap: 64px 32px;
    margin: 0 0 70px 0;
}
.priority-item{
    width: calc(50% - 16px);
    display: flex;
    align-items: flex-start;
    gap: 33px;

    font-size: clamp(20px, 3.5vw, 27px);    
    line-height: 110%;
    letter-spacing: -0.4px;
    color: var(--secondary);
}
.priority-item span{
    font-weight: 600;
}
.d-flex{
    display: flex;
}
.justify-center{
    justify-content: center;
}
.w-100{
    width: 100%;
}



.certificate{
    padding: 0 0 133px 0;
}
.certificate .section-title{
    margin: 0 0 44px 0;
}
.certificate-row{
    display: grid;
    grid-template-columns: repeat(4, 4fr);
    gap: 9px;
}
.certificate-item{
    display: flex;
    border-radius: 15px;
    overflow: hidden;
}
.certificate-item img{
    width: 100%;
    object-fit: cover;
    object-position: center;
}



.delivery-line {
    display: block;
    height: 1px;
    width: 703px;
    margin: 0 0 0 -20px;
    background: rgba(217, 217, 217, 0.15);
}
.delivery{
    padding: 0 0 80px 0;
}
.delivery-wrap{
    max-width: 1923px;
    margin: 0 auto;
    border-radius: 50px;
    background-color: var(--purple);
    position: relative;
    z-index: 1;
    padding: 48px 0 70px 0;
}
.delivery-bg{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
    z-index: -2;
    border-radius: 50px;
}
.delivery-img{
    position: absolute;
    width: 40%;
    right: 10%;
    top: -9%;
    z-index: -1;
}
.delivery .useful-title{
    max-width: 774px;
}
.delivery .useful-desc{
    max-width: 761px;
}
.delivery .useful-order__btn{
    margin: 0 0 31px 0;
}
.delivery-row{
    display: flex;
    align-items: flex-start;
    gap: 57px;
    margin: 50px 0 0 0;
}
.delivery-title{
    font-size: clamp(30px, 4vw, 36px);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.72px;
    color: var(--red);
    margin: 0 0 18px 0;

    display: flex;
    align-items: center;
    gap: 10px;
}
.delivery-desc{
    font-size: 20px;
    line-height: 120%;
    color: var(--border2);
    margin: 0 0 18px 0;
    max-width: 276px;
    text-shadow: 10px 6px 6px black;
}
.delivery-desc span{
    font-weight: 600;
}
.delivery-desc__small{
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    color: var(--white);
    max-width: 224px;
    text-shadow: 10px 6px 6px black;
}
.delivery-prices{
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 57px 0 0 0;
}
.delivery-item{
    max-width: 154px;
}
.delivery-price{
    font-size: clamp(20px, 3vw, 24px);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.48px;
    color: var(--border2);
    margin: 0 0 10px 0;
}
.delivery-item:first-child .delivery-price{
    font-size: clamp(20px, 5vw, 30px);
    color: var(--red);
}
.delivery-required{
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.3px;
    color: #FFF;
    text-shadow: 10px 6px 6px black;
}
.delivery .ready-time{
    right: 27%;
    top: 31%;
    padding: 0 0 50px 35px;
    width: 196px;
    height: 196px;
}


footer{
    padding: 0 0 46px 0;
    position: relative;
}
footer.with-border{
    padding: 47px 0 42px 0;
    border-top: 1px solid var(--gray2);
}
.footer-row{
    display: flex;
    align-items: flex-start;
    gap: 130px;
}
.footer-left .brand-logo{
    margin: 0 0 36px 0;
}
.footer-text{
    font-size: 16px;
    line-height: 110%;
    letter-spacing: -0.32px;
    color: var(--secondary);
}
.footer-left .footer-text{
    max-width: 196px;
}
.footer-left .footer-text + .footer-text{
    max-width: 157px;
    margin: 15px 0 0 0;
}
.footer-left .payments{
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 41px 0 0 0;
}
.footer-links{
    list-style: none;
    margin: 0 100px 0 0;
}
.footer-links a{
    font-size: 16px;
    line-height: 150%;
    letter-spacing: -0.32px;
    color: var(--secondary);
    text-decoration: none;
}
.footer-right{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 31px;
}
.footer-right .payments{
    display: none;
}
.footer-right .work-time{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.footer-absolute{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 18px;

    position: absolute;
    right: 4%;
    top: -3%;
    z-index: 2;
}
.with-border .footer-absolute{
    top: 35%;
}

.header-mob,
.mobile-menu,
.hero-right__img{
    display: none;
}
.back-overlay{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    background: rgba(1, 2, 4, 0.10);
    transition: var(--transition);
}
.back-overlay.open{
    opacity: 1;
    visibility: visible;
}
.product-modal{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    max-width: calc(100% - 20px);
    width: 1280px;
    border-radius: 25px;
    background-color: var(--white);
    box-shadow: 0px 50px 150px 0px rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}
.product-modal.open{
    opacity: 1;
    visibility: visible;
}
.modal-body{
    padding: 54px 65px 58px 56px;
    max-height: calc(100vh - 20px);
    height: 100%;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.modal-top{
    display: flex;
    align-items: flex-start;
    gap: 54px;
    margin: 0 0 40px 0;
}
.product-images{
    width: calc(55% - 27px);
}
.product-modal__texts{
    width: calc(45% - 27px);
}
.product-slider{
    width: 100%;
    margin: 0 0 12px 0;
    position: relative;
}
.product-images .swiper-slide{
    display: flex;
    overflow: hidden;
    height: auto;
}
.product-thumbs .swiper-slide{
    border-radius: 20px;
    max-height: 93px;
}
.product-slider .swiper-slide{
    border-radius: 25px;
    max-height: 383px;
}
.swiper-slide__img{
    width: 100%;
    object-fit: cover;
}
.product-images .video-cover{
    padding: 0;
    justify-content: center;
    align-items: center;
}
.slide-prev,
.slide-next{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background-color: var(--white);
    filter: drop-shadow(0px 20px 50px rgba(16, 7, 31, 0.20));
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 2;
}
.slide-prev{
    left: 27px;
}
.slide-next{
    right: 28px;
}
.product-modal__title{
    font-size: clamp(24px, 5vw, 40px);
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.8px;
    color: var(--secondary);
    margin: 3px 0 22px 0;
}
.product-modal .product-prices{
    margin: 0 0 14px 0;
}
.product-modal .product-price__new{
    font-size: clamp(30px, 4vw, 40px);
    color: var(--red);
}
.caption{
    font-size: 20px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.4px;
    color: var(--secondary);
    margin: 0 0 6px 0;
}
.modal-small__text{
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.36px;
    color: var(--secondary);
}
.modal-small__text span{
    font-weight: 600;
}
.modal-small__text + .caption{
    margin: 22px 0 6px 0;
}
.modal-bottom{
    display: flex;
    align-items: center;
    gap: 54px;
}
.product-modal__info{
    width: calc(55% - 27px);
    border: 4px solid #E8E7F0;
    border-radius: 20px;
    padding: 32px 121px 41px 44px;
}
.modal-info__item{
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.modal-info__item p{
    line-height: 120%;
    letter-spacing: -0.36px;
    color: var(--secondary);
}
.modal-info__item p span{
    font-weight: 600;
}
.modal-info__item + .modal-info__item{
    margin: 15px 0 0 0;
}

.product-modal__actions{

}
.product-counter{
    display: inline-flex;
    align-items: center;
    gap: 30px;
    padding: 27px 17px;
    border-radius: 20px;
    border: 1px solid #CFD3E6;
    margin: 0 0 20px 0;
}
.product-counter img{
    cursor: pointer;
    width: 24px;
    height: 24px;
}
.product-counter input{
    width: 26px;
    text-align: center;
    font-family: Jost;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.4px;
    color: var(--secondary);
    border: none;
    outline: none;
}
.phone-input{
    width: 100%;
    border-radius: 20px;
    background: #F1F2FC;
    font-family: Jost;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.4px;
    color: var(--secondary);
    padding: 28px 28px;
    border: none;
    margin: 0 0 5px 0;
    outline: none;
}
.input-label{
    display: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.28px;
    color: #A6A5B8;
    margin: 0 0 10px 0;
    color: var(--red);
}
.phone-input.input-error + .input-label{
    display: block;
}
.input-desc{
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.28px;
    color: #A6A5B8;
    margin: 0 0 20px 0;
}
.product-modal .hero-order__btn{
    width: 100%;
    margin: 0 0 16px 0;
}
.form-desc{
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.28px;
    color: var(--gray);
}
.modal-close{
    position: absolute;
    top: 24px;
    right: 42px;
    cursor: pointer;
    z-index: 3;
}
.product-images .product-massa,
.product-images .product-modal__title,
.product-images .product-prices{
    display: none;
}

.call-modal{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    max-width: calc(100% - 20px);
    width: 1280px;
    border-radius: 25px;
    background-color: var(--white);
    box-shadow: 0px 50px 150px 0px rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    max-height: calc(100vh - 20px);
    min-height: 446px;
    height: auto;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 22px 0 31px 0;
    transition: var(--transition);
    display: flex;
}
.call-modal.open{
    opacity: 1;
    visibility: visible;
}
.modal-row{
    display: flex;
    align-items: center;
    gap: 54px;
    width: 100%;
}
.call-modal__left{
    width: calc(55% - 27px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 36px 20px 34px 110px;
    position: relative;
    z-index: 1;
    height: 100%;
}
.modal-bg{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}
.call-modal__work-time{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 100%;
    color: var(--gray2);
    padding: 6px 8px;
    border-radius: 200px;
    border: 1px solid #C4C7D7;
    margin: 0 0 5px 0;
}
.call-modal__desc{
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -0.32px;
    color: var(--secondary);
    max-width: 428px;
}
.call-modal__right{
    width: calc(45% - 27px);
    padding: 10px 68px 10px 10px;
}
.call-modal .hero-order__btn{
    width: 100%;
    margin: 0 0 16px 0;
}
@media (max-width: 1600px){

}
@media (max-width: 1320px){
    .brand-logo {
        max-width: 220px;
    }
    .header-phone a {
        font-size: 20px;
    }
    footer .header-phone a{
        font-size: 30px;
    }
    .header-bottom .work-time span{
        display: none;
    }
    .useful-img,
    .delivery-img{
        right: 3%;
        /* top: -3%; */
    }
    .ready-time,
    .delivery .ready-time{
        right: 11%;
        top: 24%;
    }
    .step-row{
        flex-direction: column;
    }
    .step-item:first-child, .step-item:nth-child(2),
    .step-item:nth-child(3),.step-item:nth-child(4){
        width: 100%;
    }
    .step-video{
        align-items: center;
    }
    .step-card {
        min-width: 400px;
    }
    .delivery-row{
        flex-direction: column;
        gap: 26px;
    }
    .delivery-prices{
        padding: 0;
    }


    .footer-row{
        gap: 100px;
    }
    .footer-links{
        margin: 0;
    }
}
@media (max-width: 992px){
    .header-top{
        display: none;
    }
    .header-bottom .header-btn,
    .header-bottom .brand-logo{
        display: none;
    }
    .header-bottom__row{
        flex-direction: row-reverse;
        padding: 14px 0;
        border-bottom: 1px solid var(--border2);
    }
    .header-mob{
        display: block;
        padding: 17px 0 10px 0;
    }
    .header-mob .container{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .header-mob .brand-logo{
        max-width: 230px;
    }
    .hamburger,
    .menu-close{
        cursor: pointer;
        display: flex;
        padding: 3px;
    }
    .mobile-menu{
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        height: 100%;
        overflow-y: auto;
        width: 350px;
        position: fixed;
        top: 0;
        left: -350px;
        z-index: 4;
        background-color: var(--white);
        padding: 20px 40px 50px 30px;
        transition: var(--transition);
    }
    .mobile-menu.open{
        left: 0px;
    }
    .menu-head{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 0 18px 0;
        border-bottom: 1px solid var(--border2);
    }
    .mobile-menu__content{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        padding: 23px 0 0 0;
        height: -webkit-fill-available;
    }
    .menu-top{
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 35px;
    }
    .hader-nav{
        flex-direction: column;
        align-items: unset;
        gap: 35px;
        width: 100%;
    }
    .mobile-menu .header-phone{
        margin: 0 0 20px 0;
    }
    .mobile-menu .header-phone a{
        font-size: 27px;
    }
    .mobile-menu .work-time{
        flex-direction: column;
        align-items: flex-start;
        margin: 0 0 10px 0;
    }
    .mobile-menu .header-btn{
        width: 100%;
    }

    .hero {
        padding: 0 0 34px 0;
    }
    .hero-wrap{
        margin: 0 0 20px 0;
    }
    .hero-left{
        display: none;
    }
    .hero-right{
        width: 100%;
        border-radius: 30px;
    }
    .hero-right__content{
        padding: 30px;
    }
    .hero-left__bg{
        width: 87%;
        height: auto;
    }
    .hero-right__img{
        display: block;
        position: absolute;
        top: 60px;
        right: -15px;
        z-index: 2;
    }
    .hero-right__title{
        letter-spacing: -0.4px;
        max-width: 56%;
        margin: 0 0 10px 0;
    }
    .hero-right__subtitle{
        margin: 0 0 22px 0;
        letter-spacing: -0.24px;
    }
    .hero-line{
        width: calc(100% + 10px);
        margin: 0 0 0 -10px;
    }
    .hero-right__bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 9px 0 16px 0;
    }
    .hero-right__prices{
        display: flex;
        gap: 23px;
        align-items: flex-start;
    }
    .hero-price__new{
        margin: 0;
    }
    .hero-actions{
        flex-direction: column-reverse;
        gap: 20px;
    }
    .advantage-wrap{
        background-color: transparent;
    }
    .advantage-row{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 22px 10px 25px 40px;
        background-color: #F0F0FA;
        border-radius: 30px;
    }
    .advantage-row::before,
    .advantage-row::after{
        display: none;
    }
    .advantage-item:nth-child(3){
        margin: 0 0 0 -15px;
    }

    .section-top{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin: 0 0 28px 0;
    }
    .section-top .section-title,
    .section-top .section-desc{
        width: 100%;
    }
    .catalog-row{
        grid-template-columns: repeat(2, 4fr);
    }
    .catalog {
        padding: 0 0 60px 0;
    }

    .useful {
        padding: 0 0 50px 0;
    }
    .useful-img,
    .delivery-img{
        position: unset;
        margin: -35px auto 0;
        width: 55%;
    }
    .useful-wrap,
    .delivery-wrap{
        display: flex;
        flex-direction: column;
        padding: 0 30px 30px;
        border-radius: 30px;
    }
    .useful-bg,
    .delivery-bg{
        border-radius: 30px;
    }
    .ready-time,
    .delivery .ready-time{
        width: 125px;
        height: 125px;
        padding: 0 0 24px 20px;
        right: 22%;
        top: 13%;
    }
    .delivery .ready-time{
        gap: 5px;
    }

    .step-wrap .container{
        padding-left: 30px;
        padding-right: 30px;
    }
    .delivery-desc,
    .delivery-desc__small{
        max-width: 100%;
    }
    .delivery-prices{
        flex-wrap: wrap;
        gap: 24px;
    }
    .delivery-item{
        max-width: 50%;
        width: calc(50% - 12px);
    }
    .delivery .ready-time p{
        font-size: 12px;
    }

    .footer-row{
        flex-wrap: wrap;
        gap: 30px 100px;
    }
    .to-back{
        display: none;
    }
    .section-top.column{
        margin: 0 0 25px 0;
        gap: 12px;
    }
    .subtitle{
        margin: 0 0 20px 0;
    }

    .modal-body{
        padding: 28px 20px;
    }
    .modal-top{
        gap: 24px;
    }
    .modal-row{
        gap: 24px;
    }
    .product-images,
    .call-modal__left{
        width: calc(55% - 12px);
    }
    .product-modal__texts,
    .call-modal__right{
        width: calc(45% - 12px);
    }
    .modal-bottom{
        gap: 24px;
    }
    .product-modal__info{
        width: calc(55% - 12px);
        padding: 30px 15px;
    }

    .call-modal__right{
        padding: 10px 20px 10px 0;
    }
    .call-modal__left{
        padding: 36px 20px 34px 20px;
    }
}
@media (max-width: 768px){
    .catalog-row {
        grid-template-columns: repeat(1, 4fr);
        gap: 15px;
    }
    .product-item{
        gap: 8px;
        padding: 0 0 13px 0;
        border-bottom: 1px solid var(--border2);
    }
    .product-top{
        flex-direction: row;
        gap: 20px;
        margin: 0;
    }
    .product-img{
        margin: 0;
        border-radius: 20px;
        width: calc(40% - 10px);
    }
    .product-top .product-img + div{
        width: calc(60% - 10px);
    }
    .product-img img{
        height: auto;
    }
    .product-bottom{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .section-top + .catalog-row {
        margin: 0 0 41px 0;
    }

    .useful-img{
        width: 70%;
    }
    .step-row{
        margin: 0 0 30px 0;
    }

    .priority-item{
        width: 100%;
    }
    .priority-row{
        gap: 20px;
        margin: 0 0 30px 0;
    }
    .priority{
        padding: 0 0 36px 0;
    }
    .certificate .section-title{
        margin: 0 0 26px 0;
    }

    .certificate .container{
        max-width: 100%;
    }
    .certificate-row{
        width: calc(100% + 63px);
        margin: 0 0 0 -33px;
        padding-left: 30px;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .certificate-item {
        min-width: 280px;
    }
    .certificate {
        padding: 0 0 85px 0;
    }
    .delivery .useful-order__btn{
        margin: 0 0 15px 0;
    }
    .delivery-row{
        margin: 20px 0 0 0;
    }
    .delivery-title{
        margin: 0 0 10px 0;
        letter-spacing: -0.6px;
    }
    .delivery-desc{
        margin: 0 0 10px 0;
        letter-spacing: -0.36px;
    }
    .delivery-desc__small{
        margin: 0 0 10px 0;
        letter-spacing: -0.3px;
    }
    .delivery {
        padding: 0 0 60px 0;
    }
    .delivery-bg,
    .useful-bg{
        object-position: left;
    }


    .footer-left .payments{
        display: none;
    }
    .footer-left .footer-text{
        max-width: 100%;
    }
    .footer-links{
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
    }
    .footer-links li{
        width: calc(50% - 10px);
    }
    .footer-links li:nth-child(1){
        order: 1;
    }
    .footer-links li:nth-child(2){
        order: 3;
    }
    .footer-links li:nth-child(3){
        order: 5;
    }
    .footer-links li:nth-child(4){
        order: 7;
    }
    .footer-links li:nth-child(5){
        order: 2;
    }
    .footer-links li:nth-child(6){
        order: 4;
    }
    .footer-links li:nth-child(7){
        order: 6;
    }
    .footer-right .payments{
        display: flex;
        gap: 15px;
        margin: 0 0 21px 0;
    }
    footer .header-phone{
        margin: 0 0 17px 0;
    }
    .footer-right{
        gap: 0;
    }
    .footer-right .work-time{
        margin: 0 0 10px 0;
    }
    footer {
        padding: 0 0 30px 0;
    }


    .modal-top{
        flex-direction: column;
        gap: 17px;
        margin: 0 0 24px 0;
    }
    .product-images, .product-modal__texts{
        width: 100%;
    }
    .product-images .product-massa{
        display: inline-flex;
    }
    .product-images .product-modal__title,
    .product-images .product-prices{
        display: flex;
    }
    .product-modal__texts .product-massa,
    .product-modal__texts .product-modal__title,
    .product-modal__texts .product-prices{
        display: none;
    }
    .product-modal__title{
        margin: 3px 0 11px 0;
    }
    .product-modal .product-prices{
        margin: 0 0 10px 0  ;
    }
    .product-slider{
        margin: 0 0 6px 0;
    }
    .product-slider .swiper-slide{
        border-radius: 14px;
    }
    .product-thumbs .swiper-slide{
        border-radius: 11px;
    }
    .slide-prev, .slide-next{
        width: 30px;
        height: 30px;
    }
    .slide-prev svg, .slide-next svg{
        height: 15px;
    }
    .slide-prev {
        left: 15px;
    }
    .slide-next {
        right: 15px;
    }
    .product-images .video-cover svg{
        width: 40%;
    }
    .modal-small__text{
        font-size: 16px;
    }
    .modal-bottom{
        flex-direction: column-reverse;
        gap: 18px;
    }

    .product-counter input{
        font-size: 18px;
    }
    .product-counter{
        padding: 17px 17px;
    }
    .phone-input{
        font-size: 18px;
        padding: 19px 25px;
    }
    .product-modal__info{
        width: 100%;
    }
    .modal-info__item p{
        font-size: 16px;
    }

    .modal-row{
        flex-direction: column;
        gap: 56px;
    }
    .call-modal__left{
        width: 100%;
    }
    .call-modal__right{
        width: 100%;
        padding: 0 22px;
    }
    .call-modal__left{
        padding: 37px 23px 0 23px;
    }
    .modal-bg{
        width: auto;
        height: 100%;
    }
    .modal-close{
        top: 10px;
        right: 18px;
    }
}
@media (max-width: 576px){
    .bg1 {
        right: unset;
        left: 0;
        width: auto;
        height: 31%;
    }
    .bg2{
        display: none;
    }
    .header-bottom .work-time p{
        font-size: 12px;
    }
    .header-btn{
        padding: 16px 25px;
        width: 100%;
    }
    .hero-right__title{
        margin: 31px 0 10px 0;
    }
    .menu-bottom{
        width: 100%;
    }
    .hero-order__btn{
        font-size: 20px;
        letter-spacing: -0.2px;
        padding: 15px 20px;
        width: 100%;
    }
    .hero-product__title{
        margin: 0 0 7px 0;
    }
    .hero-actions{
        margin: 15px 0 0 0;
    }
    .hero-price__new{
        border-radius: 11px;
        padding: 6px 8px;
    }
    .advantage-item{
        font-size: 18px;
        letter-spacing: -0.36px;
    }
    .product-btn {
        font-size: 14px;
        padding: 13px 15px;
    }
    .product-prices{
        gap: 15px;
    }
    .product-price__new {
        font-size: 22px;
        letter-spacing: -0.44px;
    }
    .product-price__old {
        font-size: 16px;
        letter-spacing: -0.32px;
    }

    .useful-img {
        width: 85%;
        margin: -30px auto 60px;
    }
    .delivery-img{
        width: 85%;
        margin: -50px auto 60px;
    }
    .delivery .ready-time p{
        font-size: 13px;
    }
    .delivery .ready-time{
        right: 32%;
        top: 9%;
    }
    .ready-time {
        right: 27%;
        top: 11%;
    }
    .hero-right-info__btn{
        padding: 10px 20px;
    }
    .useful-desc{
        letter-spacing: -0.4px;
        margin: 0 0 20px 0;
    }
    .usefull-small__desc{
        letter-spacing: -0.32px;
        margin: 0 0 20px 0;
    }
    .useful-title{
        margin: 15px 0 20px 0;
    }
    .useful-order__btn{
        width: 100%;
        padding: 15px 53px;
    }

    .useful-wrap, .delivery-wrap{
        padding: 0 0px 30px;
    }

    .step-card {
        min-width: 310px;
        border-radius: 26px;
    }
    .title-icon{
        width: 45px;
        height: 45px;
        margin: 0 0 -52px 0;
    }
    .catalog .title-icon{
        margin: 0 0 7px 20px;
    }
    .priority .section-title{
        margin: 0 0 22px 57px;
    }
    .priority-desc{
        margin: 0 0 12px 0;
    }
    .priority-item img{
        width: 30px;
        height: 36px;
    }

    .bg3{
        top: 52%;
        right: unset;
        left: -49%;
        height: 156%;
        width: auto;
    }
    .footer-right{
        width: 100%;
    }
    .footer-left .brand-logo{
        max-width: 177px;
    }
    .footer-absolute{
        flex-direction: row-reverse;
        gap: 28px;
    }
    .footer-absolute a{
        display: flex;
        max-width: 50px;
    }
    .footer-absolute a:first-child{
        max-width: 40px;
    }
    .footer-absolute img{
        max-width: 100%;
    }
    .with-border .footer-absolute {
        top: 6%;
    }
}