html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:var(--color-black);text-decoration:none}mark{background-color:#ff9;color:var(--color-black);font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}ul{list-style: none;}input:focus,select:focus,textarea:focus{outline: none;}







html{overflow-x: hidden; position: relative;}
html.open:after{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); content: ''; z-index: 999;}


:root{
    --black: #0b0b0b;
    --gold: #af7846;
    --Cormorant: "Cormorant Garamond", serif;;
    --Montserrat: "Montserrat", sans-serif;;
}


body{
    font-family: var(--Montserrat);
    font-variant-numeric: lining-nums;
	background: #f2eeeb;
    font-size: 18px;
    line-height: 150%;
	color: var(--black);
	min-width: 320px;
    font-weight: normal;
    position: relative;
    padding: 99px 0 0;
}




html.open,.open body{overflow: hidden;}


.container{max-width: 1380px; margin: 0 auto; box-sizing: border-box; width: 100%; padding: 0 20px;}





header{position: fixed; top: 0; left: 0; width: 100%; background: var(--black); color: #fff; transition: all 0.2s; z-index: 1000; padding: 20px 0; font-size: 16px;}
    header.f-nav{padding: 10px 0;}
    header .flex{align-items: center;}
    header .logo{}
        header .logo a{display: flex; align-items: flex-end; justify-content: flex-start; width: 190px; height: 60px; background: url("../img/logo.svg") -25px calc(50% - 8px) no-repeat; background-size: 100%; color: var(--gold); text-transform: uppercase; font-size: 10px; font-weight: 600;}
            header .logo:hover a{color: #fff;}
    header .data{gap: 50px;}
    header nav ul{display: flex; justify-content: center; flex-wrap: wrap; text-transform: uppercase; font-weight: 600; gap: 32px;}
        header nav ul li a{color: #fff; position: relative; display: flex; padding: 10px 0;}
            header nav ul li a:after{position: absolute; bottom: 0; left: 25%; width: 0%; content: ''; height: 2px; transition: all 0.2s; background: var(--gold);}
            header nav ul li:hover > a:after,header nav ul li.menu-item-has-children > a:after{width: 50%;}
            header nav ul li:hover > a,header nav ul li.menu-item-has-children > a{color: var(--gold);}
    header .pull{display: none;}





#promo{background: #000; color: #fff; overflow: hidden; position: relative;}
    #promo .image{background: #000; height: 100%; width: 100%; position: absolute;}
        #promo .image img{width: 100%; height: 100%;}
    #promo:after{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; content: ''; background: red; background: linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.82) 30%, rgba(0, 0, 0, 0.45) 55%, rgba(0, 0, 0, 0.15) 75%, rgba(0, 0, 0, 0) 100%);}
        #promo.white{color: var(--black);}
        #promo.white #breadcrumbs .sep{color: var(--black);}
        #promo.white #breadcrumbs a{color: var(--black);}
            #promo.white #breadcrumbs a:hover{color: var(--gold);}
            #promo.white .btn:hover{background: var(--black); border-color: var(--black);}
        #promo.white:after{inset: 0; background: linear-gradient(90deg, rgba(250,248,245,0.98) 0%, rgba(250,248,245,0.95) 30%, rgba(250,248,245,0.78) 52%, rgba(250,248,245,0.38) 72%, rgba(250,248,245,0) 100%); backdrop-filter: blur(2px); width: 70%;}
    #promo .data{position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-start; z-index: 2; padding: 150px 0;}
        #promo .data.breadcrumbs{padding-top: 32px;}
        #breadcrumbs{margin-bottom: 100px; color: var(--gold); font-size: 16px;}
            #breadcrumbs a{color: #fff; border-bottom: 1px solid transparent;}
                #breadcrumbs a:hover{color: var(--gold); border-color: var(--gold);}
            #breadcrumbs .sep{color: #fff; margin: 0 5px;}

    #promo .title,.bt__s{color: var(--gold); text-transform: uppercase; font-size: 16px; font-weight: 600; margin-bottom: 10px;}
    #promo .bt__promo{font-family: var(--Cormorant); line-height: normal; font-size: 60px; margin-bottom: 16px; position: relative;}
        #promo .bt__promo.bt__line{padding-bottom: 40px;}
            #promo .bt__promo.bt__line:after{position: absolute; bottom: 15px; left: 0; width: 60px; height: 4px; content: ''; background: var(--gold);}
    #promo .text{max-width: 480px;}
        #promo .text p{font-size: 18px; margin-bottom: 24px; max-width: 440px}





.item__advantages{text-align: center; box-sizing: border-box; padding: 0 24px;}
    .item__advantages .icon{display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; width: 100px; height: 100px;}
        .item__advantages .icon img{width: 80px; height: 80px;}
    .item__advantages .title, .item__advantages .title a{font-weight: 700; font-family: var(--Cormorant); color: var(--black); font-size: 28px; line-height: 150%; margin-bottom: 16px; padding: 0 20px; display: block}
.item__advantages .title a:hover {color: var(--gold);}
        .item__advantages .title.title__st{font-family: var(--Montserrat); text-transform: uppercase; font-size: 20px; font-weight: 600;}
    .item__advantages p{font-size: 18px;}
    .item__advantages.ia__full{position: relative; padding: 20px 20px 20px 460px; text-align: left; border: 1px solid rgba(0, 0, 0, 0.1); margin-bottom: 16px;}
        .item__advantages.ia__full:last-child{margin: 0}
        .item__advantages.ia__full .image{width: 340px; position: absolute; top: 0; left: 0; height: 100%;}
            .item__advantages.ia__full .image img{width: 100%; height: 100%;}
        .item__advantages.ia__full .icon{position: absolute; top: 20px; left: 380px; width: 60px; height: 60px; margin: 0}
            .item__advantages.ia__full .icon img{width: 100%; height: auto;}
        .item__advantages.ia__full .title{font-family: var(--Montserrat); font-weight: 600; font-size: 24px; margin-bottom: 6px; text-align: left; padding: 0}
        .item__advantages.ia__full p{max-width: 500px; margin-bottom: 16px;}





#about{background: var(--black); color: #fff;}
    #about .flex{align-items: center;}
    #about .image,#about .text{width: calc(50% - 24px)}
    #about .image{height: 400px;}
        #about .image img{width: 100%; height: 100%;}
    #about .text p{margin-bottom: 32px;}





#reviews{overflow: hidden;}
    #reviews .container{position: relative;}
    #reviews .flex{align-items: flex-start;}
    #reviews .text{width: 50%;}
    #reviews .block__title{text-align: left;}
        #reviews .block__title .bt:after{left: 0;}
    #reviews .reviews{width: 50%;}
    .item__review{position: relative;}
        .item__review .rating{margin-bottom: 16px; display: flex; align-items: center; justify-content: flex-start; gap: 8px;}
            .item__review .rating span{width: 24px; height: 24px; background: url("../img/star.svg") 50% 50% no-repeat; background-size: 100%;}
        .item__review .review{margin-bottom: 16px;}
        .item__review .user{font-size: 16px; opacity: 0.7;}





#ready{background: url("../img/image_services.webp") 50% 50% no-repeat; background-size: cover; color: #fff;}
    #ready.transparent{background: transparent; color: var(--black);}
        #ready.transparent:after{display: none;}
        #ready.transparent .btn:hover{background: var(--black); border-color: var(--black);}
        #ready.transparent .container{max-width: 1100px; background: url("../img/icon-home.svg") 10px 50% no-repeat; background-size: 60px; position: relative;}
            #ready.transparent .container:after{position: absolute; top: calc(50% - 40px); left: 0; width: 80px; height: 80px; content: ''; border-radius: 50%; border: 1px solid var(--gold);}
        #ready.transparent .text{padding-left: 100px; box-sizing: border-box;}
    #ready:after{position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; background: rgba(0, 0, 0, 0.8);}
    #ready .flex{align-items: center; gap: 24px; position: relative; z-index: 2}
    #ready .text{width: 70%;}
    #ready .title{font-family: var(--Cormorant); font-weight: 600; font-size: 42px; line-height: normal; margin-bottom: 16px;}
    #ready .btn{height: 60px;}





#works{border-top: 1px solid rgba(0, 0, 0, 0.1); overflow: hidden;}
    #works .swiper-wrapper{transition-timing-function: linear !important;}
    #works .swiper-slide{width: 320px;}
    #works .swiper{overflow-x: hidden;}
    .item__work{position: relative;}
        .item__work img{width: 100%; height: 280px;}
        .item__work .data{padding: 16px;}
        .item__work .title{font-weight: 600;}
        .item__work p{font-size: 16px; opacity: 0.6}
    .item__work.iw__page{border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 10px; overflow: hidden;}
        .item__work.iw__page .title{text-transform: uppercase; font-family: var(--Montserrat); color: var(--gold); font-size: 14px; margin-bottom: 10px;}
        .item__work.iw__page p{font-size: 24px; font-weight: 600; font-family: var(--Cormorant); opacity: 1; padding-right: 20px;}





#content{border-top: 1px solid rgba(0, 0, 0, 0.1);}
    #content .flex{align-items: flex-start;}
    #content .left,#content .right{box-sizing: border-box; width: 48%; border-radius: 10px; overflow: hidden;}
    #content .right{padding: 20px 20px 20px 260px; position: relative; background: rgba(0, 0, 0, 0.04); font-size: 16px;}
        #content .right img{position: absolute; top: 0; left: 0; width: 240px; height: 100%;}
        #content .right h3{font-family: var(--Cormorant); font-weight: 600; line-height: normal; font-size: 32px; margin-bottom: 16px;}
    #content .block__title{margin-bottom: 10px;}
    #content .block__title .bt{text-align: left; padding: 0; margin-bottom: 0;}
        #content .block__title .bt:after{display: none;}
    #content ul{display: flex; align-items: flex-end; justify-content: flex-start; flex-wrap: wrap; font-size: 16px;}
        #content ul li{box-sizing: border-box; width: 48%; margin-bottom: 10px; padding-left: 28px; background: url("../img/ls.svg") 0 50% no-repeat; background-size: 20px;}




#tags{border-top: 1px solid rgba(0, 0, 0, 0.1);}
    #tags span{display: flex; align-items: center; justify-content: center; gap: 15px; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.05); padding: 5px 10px; height: 72px;}
    #tags img{width: 40px;}





#advantages__last{border-top: 1px solid rgba(0, 0, 0, 0.1);}
    #advantages__last .item__advantages p{font-size: 16px;}





#materials{padding-top: 0}
    #materials .container{padding: 20px; box-sizing: border-box; border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.1); align-items: center;}
    #materials .block__title{margin-bottom: 0; width: 30%; text-align: left;}
        #materials .block__title .bt{font-size: 28px; padding-bottom: 10px;}
        #materials .block__title .bt:after{display: none;}
        #materials .block__title p{font-size: 16px;}
    #materials .items{width: 66%;}
    #materials .icon{width: 80px; height: 80px; margin: 0 auto 10px; border-radius: 50%; overflow: hidden; background: var(--gold);}
    #materials .item{text-align: center; font-size: 16px;}





#about__info{border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
    #about__info .text{width: 36%;}
    #about__info .image{width: 60%; height: 400px; overflow: hidden; border-radius: 10px;}
        #about__info .image img{width: 100%; height: 100%;}
    #about__info .block__title{text-align: left;}
        #about__info .block__title .bt:after{left: 0}
    #about__info p{margin-bottom: 20px;}
        #about__info p:last-child{margin: 0}





#about__why{border-top: 1px solid rgba(0, 0, 0, 0.1);}
    #about__why .data{border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.1); background: rgba(0, 0, 0, 0.02); overflow: hidden;}
    #about__why .text{width: 40%; order: 1; box-sizing: border-box; padding: 20px;}
    #about__why .image{width: 56%; height: 320px; min-height: 100%; overflow: hidden; order: 0}
        #about__why .image img{width: 100%; height: 100%;}
    #about__why .block__title{text-align: left;}
        #about__why .block__title .bt:after{left: 0}
    #about__why p{margin-bottom: 20px;}
        #about__why p:last-child{margin: 0}
    #about__why .block__title{margin-bottom: 10px;}
    #about__why li{margin-bottom: 10px; padding-left: 30px; background: url("../img/ls.svg") 0 50% no-repeat; background-size: 24px;}





#contacts{}
    #contacts .data{border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.1); background: rgba(0, 0, 0, 0.02); overflow: hidden; padding-top: 32px;}
    #contacts #map{margin-top: 32px; width: 100%;}
        #contacts #map iframe{width: 100%; height: 340px; display: block;}
    #contacts .form{box-sizing: border-box; width: 60%; border-right: 1px solid rgba(0, 0, 0, 0.1); padding: 0 32px;}
    #contacts .contact__list{width: 40%; padding: 0 32px; box-sizing: border-box;}
        #contacts .contact__list .row{margin-bottom: 32px; padding-left: 70px; position: relative;}
            #contacts .contact__list .row:after{position: absolute; top: 0; left: 0; width: 50px; height: 50px; border-radius: 50%; border: 2px solid var(--gold); content: ''; box-sizing: border-box; background: url("../img/phone.svg") 50% 50% no-repeat;}
            #contacts .contact__list .row.email:after{background: url("../img/email.svg") 50% 50% no-repeat;}
            #contacts .contact__list .row.location:after{background: url("../img/location.svg") 50% 50% no-repeat;}
            #contacts .contact__list .row.timework:after{background: url("../img/clock.svg") 50% 50% no-repeat;}
            #contacts .contact__list .row:last-child{margin: 0}
            #contacts .contact__list .row span{font-weight: 600; display: block; margin-bottom: 8px;}
            #contacts .contact__list .row p{font-size: 16px;}
            #contacts .contact__list .row i{display: block; font-style: normal; opacity: 0.6}
            #contacts .contact__list .row a{color: var(--black);}
                #contacts .contact__list .row a:hover{color: var(--gold);}





#project__info{padding-top: 0}
    #project__info .data{border: 1px solid rgba(0, 0, 0, 0.1); background: #fff; border-radius: 10px; overflow: hidden;}
    #project__info .block__title{text-align: left;}
        #project__info .block__title .bt{font-size: 32px;}
        #project__info .block__title .bt:after{left: 0}
    #project__info .contacts{box-sizing: border-box; padding: 24px; width: 400px;}
        #project__info .contacts .row{padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); text-align: center; font-size: 16px; padding: 0 40px 16px;}
            #project__info .contacts .row .icon{background: rgba(0, 0, 0, 0.05); width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; border-radius: 50%;}
        #project__info .contacts .ct{padding: 16px; border-radius: 10px; background: rgba(0, 0, 0, 0.02); border: 1px solid rgba(0, 0, 0, 0.1);}
            #project__info .contacts .ct .bt{font-size: 24px; margin-bottom: 0; padding-bottom: 10px;}
                #project__info .contacts .ct .bt:after{height: 2px; bottom: 5px; width: 30px;}
            #project__info .contacts .block__title{margin-bottom: 16px;}
            #project__info .contacts .block__title p{font-size: 16px;}
            #project__info .contacts .ct a{color: var(--black); display: block; padding-left: 32px; background: url("../img/phone.svg") 0 50% no-repeat; background-size: 20px;}
                #project__info .contacts .ct a:hover{color: var(--gold);}
            #project__info .contacts .ct .email{margin-top: 10px;}
                #project__info .contacts .ct .email a{background: url("../img/email.svg") 0 50% no-repeat; background-size: 20px;}
    #project__info .form{width: calc(100% - 400px); padding: 24px; box-sizing: border-box; border-right: 1px solid rgba(0, 0, 0, 0.1);}





#error__page{position: relative; overflow: hidden;}
    #error__page:after{position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; background: rgba(255, 255, 255, 0.6); z-index: 2; opacity: 0;}
    #error__page .image{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;}
        #error__page .image img{width: 100%; height: 100%;}
    #error__page .data{position: relative; z-index: 3; text-align: center; padding: 200px 0;}
    #error__page .title{font-family: var(--Cormorant); font-weight: normal; font-size: 150px; line-height: normal;}
    #error__page .inn{width: 600px; background: #fff; box-sizing: border-box; margin: 0 auto; padding: 60px 32px;}
        #error__page .inn img{max-width: 80px; margin: 40px auto;}
        #error__page .inn .note{font-size: 16px; margin: 0 auto; max-width: 300px; border-top: 1px solid rgba(0, 0, 0, 0.1); padding-top: 40px;}
        #error__page .inn .bt__small{line-height: normal;}





#meantime{}
    #meantime .flex{gap: 24px;}
    #meantime .btn:hover{background: var(--black); border-color: var(--black);}








footer{background: var(--black); color: #fff; padding: 60px 0 0}
    footer .copyright{width: 100%; padding: 32px 0; text-align: center; font-size: 16px; opacity: 0.5}
    footer .col{max-width: 260px;}
        footer .col p{font-size: 16px;}
    footer .logo{margin-bottom: 16px;}
    footer .logo a{display: flex; align-items: flex-end; justify-content: flex-start; width: 220px; height: 80px; background: url("../img/logo.svg") -26px calc(50% - 8px) no-repeat; background-size: 100%; color: var(--gold); text-transform: uppercase; font-size: 14px; font-weight: 600;}
        footer .logo:hover a{color: #fff;}
    footer .title{text-transform: uppercase; font-weight: 600; color: var(--gold); margin-bottom: 16px;}
    footer ul li{margin-bottom: 5px;}
        footer ul li a{color: #fff; border-bottom: 1px solid transparent;}
            footer ul li a:hover{color: var(--gold); border-color: var(--gold);}
    footer .ct{margin-bottom: 10px; padding: 2px 0 2px 36px; background: url("../img/phone.svg") 0 50% no-repeat;}
        footer .ct.email{background: url("../img/email.svg") 0 50% no-repeat;}
        footer .ct.location{background: url("../img/location.svg") 0 50% no-repeat;}
        footer .ct a{color: #fff;}
            footer .ct a:hover{color: var(--gold);}





























/* common styles */

    .section{padding: 80px 0; overflow: hidden;}
    .section__top{padding: 80px 0 0;}
    .section__bottom{padding: 0 0 80px;}



    .block__title{margin-bottom: 40px; text-align: center;}
        .block__title.flex{text-align: center; gap: 24px;}
            .block__title.flex .bt{padding: 0; text-align: left;}
                .block__title.flex .bt:after{display: none;}
        .block__title.bt__ns{text-align: left; margin-bottom: 24px;}
            .block__title.bt__ns .bt{padding: 0}
                .block__title.bt__ns .bt:after{display: none;}
        .block__title .bt{font-weight: 700; font-family: var(--Cormorant); font-size: 42px; line-height: normal; position: relative; padding-bottom: 32px;}
            .block__title .bt:after{position: absolute; bottom: 16px; left: calc(50% - 30px); width: 60px; height: 4px; background: var(--gold); content: ''}
        .block__title p{margin: 0 auto; max-width: 600px; line-height: 150%; font-size: 20px;}


    .bt__small{font-family: var(--Cormorant); font-weight: 600; font-size: 32px; margin-bottom: 32px;}


    .filters{display: flex; justify-content: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 24px;}
        .filters .filter__it{display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid rgba(0, 0, 0, 0.1); padding: 0 16px; height: 44px; transition: all 0.2s; border-radius: 10px; background: rgba(0, 0, 0, 0.02); cursor: pointer;}
            .filters .filter__it img{width: 24px; height: 24px; object-fit: contain; transition: filter 0.2s;}
            .filters .filter__it.active,.filters .filter__it:hover{color: #fff; background: var(--gold); border-color: var(--gold);}
            .filters .filter__it.active svg path,.filters .filter__it:hover svg path{stroke: #fff;}
            .filters .filter__it.active img,.filters .filter__it:hover img{filter: brightness(0) invert(1);}






    .form__select{position: relative; cursor: pointer; z-index: 30; font-weight: normal; font-size: 16px;}
        .form__select:after{position: absolute; left: 0; top: calc(50% - 10px); width: 20px; height: 20px; content: ''; background: url("../img/icon-sort.svg") 50% 50% no-repeat; transition: all 0.2s;}
        .form__select .select__current{display: flex; height: 48px; box-sizing: border-box; align-items: center; width: auto; padding: 0 0 0 24px; font-size: 16px; color: var(--text); font-weight: 500;}
        .form__select.open:after{transform: rotate(180deg);}
        .form__select ul{position: absolute; font-size: 14px; top: 100%; right: 0; width: 200px; background: #fff; box-sizing: border-box; border-radius: 4px; box-shadow: 0px 4px 7.1px 2px rgba(0, 0, 0, 0.05); overflow: hidden; margin-top: 10px; display: none1;}
            .form__select ul li{transition: all 0.2s; padding: 13px 16px; line-height: 1.2;}
                .form__select ul li:last-child{border: none;}
                .form__select ul li:hover,.form__select ul li.active{background-color: rgba(0, 0, 0, 0.1)!important;}
                .form__select ul li.active{background: url("../img/arrf.svg") calc(100% - 10px) 50% no-repeat;}


    .socials{display: flex; align-items: center; justify-content: flex-start; gap: 16px;}
        .socials__icon{display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 64px; height: 64px; border: 1px solid var(--text); border-radius: 50%;}
            .socials__icon:hover{border-color: var(--gold); background: #F6EDE6}
                .socials__icon:hover svg,.socials__icon:hover img{transform: scale(1.2);}


/* common styles */









.swiper__standart__all{padding-bottom: 0px!important;}

.slider-products .swiper{padding: 0 1px}

.slider-sw,.list__swiper{position: relative;}

.swiper-button-prev,.swiper-button-next{width: 40px!important; opacity: 1!important; height: 40px!important; top: 100%!important; transition: all 0.2s ease-out; margin: -40px 0 0; overflow: hidden; box-sizing: border-box; border: 2px solid rgba(0, 0, 0, 0.5); transition: all 0.2s;}
.swiper-button-prev{left: 20px!important; transform: rotate(180deg);}
.swiper-button-next{right: calc(100% - 120px)!important;}

.swiper-button-prev svg,.swiper-button-next svg{width: 8px!important; height: 16px!important;}
.swiper-button-prev:hover,.swiper-button-next:hover{background: var(--black); border-color: var(--black);}
.swiper-button-prev svg path,.swiper-button-next svg path{stroke: var(--black);}
.swiper-button-prev:hover svg path,.swiper-button-next:hover svg path{stroke: #fff!important;}



.slider-sw .swiper-button-disabled{opacity: 1!important}
.swiper-button-prev:hover,.swiper-button-next:hover{opacity: 1!important;}


.swiper-button-prev:after,.swiper-button-next:after{display: none;}

.swiper-counter{position: absolute; bottom: -48px; left: 0; width: 100%; text-align: center; font-family: var(--JetBrains); font-size: 13px; font-weight: 500; color: #104172}
.swiper-counter .total{opacity: 0.5}


.slider-sw .swiper-pagination{bottom: 0px!important; display: flex; align-items: center; justify-content: center; padding: 0; margin: -40px 0 0 0!important; width: 100%!important; top: 100%!important; left: 0!important;}
.slider-sw .swiper-pagination-bullet{width: 16px; height: 8px; border-radius: 20px; background: rgba(255, 255, 255, 0.5); transition: all 0.2s; opacity: 1!important;}
.slider-sw .swiper-pagination-bullet.swiper-pagination-bullet-active{opacity: 1!important; background: #fff; width: 40px; border-radius: 20px;}









section{position: relative; z-index: 2;}






.flex{display: flex; justify-content: space-between; flex-wrap: wrap;}
    .flex.flex__center{justify-content: center;}
    .flex.flex__start{justify-content: flex-start; gap: 16px;}
    .flex.flex__end{justify-content: flex-end;}




.grid{display: grid; grid-template-columns: repeat(1,1fr); gap: 24px;}
    .grid.grid-2{grid-template-columns: repeat(2,1fr);}
    .grid.grid-3{grid-template-columns: repeat(3,1fr);}
    .grid.grid-4{grid-template-columns: repeat(4,1fr);}
    .grid.grid-5{grid-template-columns: repeat(5,1fr);}
    .grid.grid-6{grid-template-columns: repeat(6,1fr);}
    .grid.grid-7{grid-template-columns: repeat(7,1fr);}





.box__modal{width: 470px; overflow: hidden!important; font-family: "Raleway", sans-serif; max-width: calc(100% - 32px); overflow: hidden; box-sizing: border-box; text-align: center; padding: 80px 50px!important; display: none; text-align: center; background: #F6EDE6!important}



section{box-sizing: border-box; position: relative;}




.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form input[type="password"],.form textarea,.form select{
    width: 100%; height: 48px; border: none; background: transparent; border: 1px solid #A4AEAD; padding: 0 15px; font-size: 16px; border-radius: 6px; color: var(--black);
}
.form .btn{width: 100%; margin: 24px 0 16px;}
    .form .btn:hover{color: var(--gold);}
.form__note{text-align: center; color: #607270; font-size: 14px;}
.form .form__row{margin-bottom: 15px;}
.form .flex .form__row{width: calc(50% - 12px);}
.form textarea{height: 130px; padding-top: 15px; resize: none;}
.form select{background: url("../img/arrd.svg") calc(100% - 16px) 50% no-repeat; background-size: 20px;}
.form .label{display: block; margin-bottom: 5px; font-size: 14px; font-weight: 500;}
    .form .label i{font-style: normal; opacity: 0.6}
.form .grid.grid-3{margin-bottom: 16px;}






label.userfile{transition: all 0.2s; cursor: pointer; display: flex; align-items: center; justify-content: flex-start; padding-left: 70px; box-sizing: border-box; width: 155px; border-radius: 10px; border: 1px solid #F3F3F3; background: #F3F3F3 url("../img/icon_file.svg") 43px 50% no-repeat; color: var(--red); line-height: 45px;}
    label.userfile:hover{border-color: var(--red);}





label.user__file{
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.2s;
    height: 56px;
    padding: 0 20px;
    text-align: left;
    border: 1.5px solid var(--gold);
    border-radius: 10px;
    background: rgba(170,114,63,.06);
    color: var(--gold);
    font-weight: 600;
    font-size: 15px;
    width: 100%;
}
label.user__file:hover{border-color: var(--black); background: rgba(0,0,0,.04); color: var(--black);}
label.user__file::before{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    /* Upload arrow icon (SVG data URI) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23aa723f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
label.user__file strong{font-weight: 600; white-space: nowrap;}
label.user__file span{font-size: 12px; color: var(--blackGrey); font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}


input[type="checkbox"],input[type="radio"]{display:none;}


label.checkbox{display: flex; position: relative; padding: 3px 5px 3px 40px; font-size: 16px; align-items: center; justify-content: flex-start; border-radius: 5px; border: 1px solid #A4AEAD; height: 44px; cursor: pointer;}
label.checkbox span:after{position: absolute; width: 20px; height: 20px; background: url("../img/check.svg") 0% 0 no-repeat; top: calc(50% - 10px); left: -30px; content: ''; border-radius: 5px; border: 1px solid #A4AEAD; box-sizing: border-box;}
label.checkbox span{position: relative;}
label.checkbox input:checked + span:after{background: url("../img/ls.svg") 50% 50% no-repeat; background-size: 36px; border-color: var(--gold);}
label.checkbox a{color: var(--violet); border-bottom: 1px solid transparent;}
label.checkbox a:hover{border-color: var(--violet);}






label.checkbox-round{display: flex; position: relative; box-sizing: border-box; min-width: 80px; justify-content: center; padding: 0 16px; cursor: pointer; align-items: center; height: 48px; border: 1px solid #E9EBEB; border-radius: 200px; font-size: 16px; font-weight: 500; position: relative; overflow: hidden;}
label.checkbox-round.ch-small{height: 38px; min-width: 64px}
label.checkbox-round span:after{position: absolute; width: 100%; height: 100%; background: transparent; top: 0; left: 0; content: ''; transition: all 0.2s;}
label.checkbox-round i{position: relative; z-index: 3; font-style: normal;}
label.checkbox-round input:checked + span{font-weight: 600;}
label.checkbox-round input:checked + span:after{background: #E9EBEB;}






button{background: transparent;}



.clearfix{clear: both;}
.center{display: inline-block; width: 100%; text-align: center;}


a,svg,svg path,rect{text-decoration: none; transition: all 0.2s ease-out;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); cursor: pointer;}
	a:hover{transition: all 0.2s ease-out;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
a:focus{outline: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}

svg,svg path,rect{transition: all 0.2s ease-out;}

img{display: block;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); max-width: 100%; height: auto; transition: all 0.2s ease-out; object-fit: cover;}
div{-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}



.btn,.btn:after{font-family: var(--Montserrat); font-size: 16px; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; text-align: center; cursor: pointer; padding: 0; border: none; transition: all 0.2s ease-out; box-sizing: border-box;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none;}
	.btn:hover{transition: all 0.2s ease-out;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}




.btn-gold-tr{color: var(--gold); text-transform: uppercase; height: 46px; padding: 0 24px; font-weight: 600; border: 1px solid var(--gold); border-radius: 4px; gap: 10px}
    .btn-gold-tr:hover{color: #fff; background: var(--gold);}
    .btn-gold-tr img{width: 16px;}



.btn-gold{color: #fff; background: var(--gold); text-transform: uppercase; height: 46px; padding: 0 24px; font-weight: 600; border: 1px solid var(--gold); border-radius: 4px; gap: 10px;}
    .btn-gold:hover{background: transparent; gap: 20px}
    .btn-gold img{width: 16px;}


.btn-more{text-transform: uppercase; color: var(--gold); font-weight: 600; gap: 10px; border-bottom: 1px solid transparent;}
    .btn-more:hover{border-color: var(--gold);}
    .btn-more img{width: 16px;}


input,textarea,select,button{-webkit-appearance: none; box-sizing: border-box; font-family: var(--Montserrat);}

/* ═══════════════════════════════════════════════════════════════════
 * Contact Form 7 — normalize wrappers to match theme design
 * ════════════════════════════════════════════════════════════════════ */

/* Transparent CF7 control wrappers — keep them block/full-width */
.form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.form .wpcf7-form-control-wrap input,
.form .wpcf7-form-control-wrap select,
.form .wpcf7-form-control-wrap textarea {
    width: 100%;
}

/* Submit button matches .btn-gold */
.form .wpcf7-submit {
    width: 100%;
    margin: 24px 0 16px;
    height: 46px;
    color: #fff;
    background: var(--gold);
    text-transform: uppercase;
    font-weight: 600;
    border: 1px solid var(--gold);
    border-radius: 4px;
    font-size: 16px;
    font-family: var(--Montserrat);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}
.form .wpcf7-submit:hover {
    background: transparent;
    color: var(--gold);
}

/* CF7 validation messages */
.form .wpcf7-not-valid-tip {
    font-size: 13px;
    color: #c0392b;
    margin-top: 3px;
    display: block;
}
.form .wpcf7-response-output {
    margin: 10px 0 0;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 14px;
}
.form .wpcf7-form.sent .wpcf7-response-output { border-color: var(--gold); color: #2e7d32; }
.form .wpcf7-form.failed .wpcf7-response-output,
.form .wpcf7-form.invalid .wpcf7-response-output { border-color: #c0392b; color: #c0392b; }
.form .wpcf7-form.spam .wpcf7-response-output { border-color: #e67e22; color: #e67e22; }

/* Spinner */
.form .wpcf7-spinner { margin-left: 10px; }

/* ── Checkboxes (CF7) — match label.checkbox style ── */
.form .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.form .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
    display: flex;
    flex: 0 0 calc((100% - 30px) / 4);
}
.form .wpcf7-checkbox .wpcf7-list-item label {
    display: flex;
    position: relative;
    padding: 3px 5px 3px 40px;
    font-size: 14px;
    align-items: center;
    justify-content: flex-start;
    border-radius: 5px;
    border: 1px solid #A4AEAD;
    min-height: 44px;
    height: auto;
    cursor: pointer;
    box-sizing: border-box;
    width: 100%;
}
.form .wpcf7-checkbox .wpcf7-list-item label input[type="checkbox"] {
    display: none;
}
.form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
    position: relative;
    font-size: 14px;
    line-height: 1.2;
}
.form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label:after {
    position: absolute;
    width: 20px;
    height: 20px;
    background: url("../img/check.svg") 0% 0 no-repeat;
    top: calc(50% - 10px);
    left: -30px;
    content: '';
    border-radius: 5px;
    border: 1px solid #A4AEAD;
    box-sizing: border-box;
}
.form .wpcf7-checkbox .wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    background: url("../img/ls.svg") 50% 50% no-repeat;
    background-size: 36px;
    border-color: var(--gold);
}

@media (max-width: 991px) {
    .form .wpcf7-checkbox .wpcf7-list-item {
        flex-basis: calc((100% - 10px) / 2);
    }
}

@media (max-width: 575px) {
    .form .wpcf7-checkbox .wpcf7-list-item {
        flex-basis: 100%;
    }
}

/* ── File upload label (CF7) — match label.user__file style ── */
.form label.user__file .wpcf7-form-control-wrap {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
