body{
    font-size: 16px;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
    padding-top: 70px;
}

h1, h2, h3{
    font-weight: 700;
    font-family: 'Montserrat' !important;
}

h4, h5, h6{
    font-weight: 500;
    font-family: 'Montserrat' !important;
}

a{
    text-decoration: none;
}
a:not([href]){
    color: #b51900;
    cursor: pointer;
}

a:hover{
    text-decoration: none;
    cursor: pointer;
}

img, svg {
    vertical-align: baseline;
}


ul{
    list-style: none;
    padding: 0;
    margin: 0;
}


.container-fluid{
    padding: 0;
    overflow: hidden;
}

.container{
    max-width: 1360px;
    width: 100%;
}

.header{
    background: #fff;
    height: 70px;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 300;
    border-bottom: 1px solid #ebebeb;
}
.header .container,
.header .container-fluid{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}


.content{
    min-height: calc(100vh - 251px);
}

.footer{
    background: #eee;
    min-height: 80px;
    padding: 35px 0;
    font-weight: 500;
}

.footer a{
    color: #2C2C2C;
}
.footer p{
    font-size: 14px;
    margin-bottom: 0;
}

.footer a:hover{
    color: #b51900
}

.form-group{
    position: relative;
}

.constructor-sidebar{
    background: #f6f6f6;
    min-height: calc(100vh - 70px);
    height: 100%;
    padding: 25px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 350px;
}

.constructor-sidebar a{
    color: #2C2C2C;
    padding: 8px 20px;
    font-weight: 500;
    display: flex;
    width: 100%;
    align-items: center;
}
.constructor-sidebar a .img-wrapper{
    margin-right: 10px;
    text-align: center;
    width: 20px;
    height: 20px;
}

.constructor-sidebar a i{
    width: 20px !important;
    display: inline-block;
    text-align: center;
    flex-shrink: 0;
}

.constructor-sidebar a:hover{
    background: #EBEBEB;
}
.constructor-sidebar li.active a{
    background: #D6D6D6;
}

.constructor-sidebar a.bordered{
    border-bottom: 1px solid #D9D9D9;
}

.constructor-sidebar h3{
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
}

.constructor-content{
    padding: 10px 20px;
    height: calc(100vh - 140px);
    overflow-y: auto;
}

.constructor-title{
    font-size: 24px;
    text-align: center;
}

.lang-select{
    align-items: center;
    padding: 8px 20px;
    font-weight: 500;
    cursor: pointer;
    font-size: 16px;
}

.lang-select img{
    margin-right: 15px;
    width: 20px;
}
.languages-list a{
    display: flex;
    align-items: center;
    padding: 10px;
}
.languages-list a:hover,
.languages-list a.active
{
    background: #EBEBEB;
}

.languages-list a img{
    margin-right: 10px;
}

.bg-grey{
    background: #ebebeb
}

section{
    min-height: calc(100vh - 70px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 0;
    position: relative;

}
section p{
    font-size: 20px;
    font-weight: 400;
}

#section-1{
    align-items: flex-start;
    padding-top: 80px;
}

#section-1 svg{
    width: 100%;
    height: auto;
}

.section-title{
    margin-bottom: 80px;
    font-size: 36px;
    text-align: center;
}

.section-subtitle{
    font-size: 30px;
    font-weight: 400;
    line-height: 35px;
    text-align: center;
}


.btn{
    border-radius: 5px;
}

.list-steps{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 100px 100px;
}

.step-item{
    width: 210px;
    position: relative;
    counter-increment: stepCounter;
    text-align: center;
}

.step-item img{
    width: 80%;
}

.step-item p{
    font-weight: 500;
    font-size: 18px;
    margin-top: 30px;
}

.step-item:before{
    content:counter(stepCounter);
    position: absolute;
    top: -50px;
    left: -50px;
    width: 50px;
    height: 100px;
    font-size: 80px;
    font-weight: 900;
    color: #D6D6D6;
}

.step-arrow{
    height: 200px;
    width: 50px;
    /* Своей картинки нет: см. комментарий у стрелок карусели ниже.
       Декор лендинга делается на этапе 15, вместе с дизайном секции. */
    background-size: 100% auto;
}

section h4{
    font-size: 34px;
    margin-bottom: 50px;
    font-weight: 400;
}

#section-4 h4{
    margin-bottom: 150px;
}

.section-img{
    max-width: 400px;
}

#section-1 h1{
    font-weight: 700;
    font-size: 50px;
    margin-bottom: 80px;
}

#section-1 h3{
    font-weight: 400;
    font-size: 30px;
    margin-bottom: 80px;
}
#section-1 .container{
    max-width: 420px;
    text-align: center;
}
.btn-xl{
    padding: 30px 60px;
    font-size: 24px;
    font-weight: 600;
}

#section-6 img{
    width: 80%;
    max-width: 250px;
    margin: 30px 0;
}
#section-6 p{
    min-height: 100px;
}

#section-6 .row>div{
    padding: 0 20px;
}

.thin-text{
    font-weight: 300 !important;
}

#section-7 .btn b{
    font-size: 40px;
    font-weight: 300;
}
#section-7 .btn{
    font-size: 26px;
    line-height: 1.3;
    padding: 20px 30px;
}

#section-7 .delimiter{
    margin: 100px 0;
    height: 5px;
    background: #000;
    position: relative;
}
#section-7 .delimiter:before{
    position: absolute;
    left: 50%;
    margin-left: -25px;
    top: -23px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    background: #b51900;
    content: '';
}
#section-7 .section-title{
    position: relative;
    margin-bottom: 140px;
}
#section-7 .section-title:before{
    position: absolute;
    left: 50%;
    margin-left: -150px;
    top: 90px;
    width: 300px;
    height: 2px;
    background: #b51900;
    content: '';
}

.cross-out{
    position: relative;
}

.cross-out:before{
    position: absolute;
    left: -20px;
    right: -20px;
    top: 50%;
    margin-bottom: -1px;
    height: 2px;
    background: #b8b8b8;
    content: '';
}

.constructor-socials a{
    width: 50px;
    height: 50px;
    background: #b51900;
    padding: 5px;
}
.constructor-socials a.active,
.constructor-socials a:hover{
    border: 2px solid #b8b8b8;
}

.constructor-socials a img{
    width: 100%;
    height: 100%;
}
.constructor-socials{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.constructor-socials-fields>div{
    display: none;
    margin-bottom: 15px;
}
.constructor-socials-fields>div.active{
    display: block;
}
.constructor-form{
    display: inline-block;
   // max-width: 500px;
    text-align: left;
    padding: 15px;
    width: 100%;
    background: #fff;
}

.constructor-form label{
    font-size: 16px;
    font-weight: 600;
}
.constructor-form .form-control{
    font-size: 18px;
    height: auto;
    border: none;
    border-bottom: 1px solid #D5D5D5;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    padding: 5px 0px 5px 5px;
}

.constructor-form textarea.form-control{
    padding: 10px 15px;
}

.constructor-form .form-control.bordered{
    border: 1px solid #D5D5D5;
}

.constructor-form .form-control.is-invalid,
.constructor-form .form-control.is-invalid:focus{
    border-bottom: 1px solid #c40001;
}

.form-control.is-invalid:focus{
    box-shadow: none;
}

.constructor-form .form-control::placeholder-shown {
    color: #CFCFCF;
}
.constructor-form .form-control::-webkit-input-placeholder{
    color: #CFCFCF;
}

.constructor-form .form-control::-ms-input-placeholder{
    color: #CFCFCF;
}

.constructor-form .form-control:-ms-input-placeholder{
    color: #CFCFCF;
}

.constructor-form .form-control::placeholder{
    color: #CFCFCF;
}
.hint-text{
    display: none;
}

.constructor-hint{
    padding-top: 10px;
}

.constructor-hint img{
    width: 100%;
    max-width: 150px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.constructor-hint .hint-text{
    padding: 10px;
    font-size: 16px;
    border: 1px solid #E0E0E0;
    text-align: left;
    margin-bottom: 20px;
    display: block;
}
.load-photo{
    display: flex;
    font-size: 14px;
}

.load-photo .photo{
    width: 150px;
    height: 150px;
    border: #b51900 1px solid;
    margin-right: 20px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.load-photo .photo img{
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
}


.load-photo .operations{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.dz-preview{
    display: none;
}

.editable-image{
    height: 400px;
}

.editable-image img{
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
}

.constructor-nav{
    padding: 15px 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #ebebeb;
}

.constructor-group{
    border-bottom: 2px solid #000;
    margin-bottom: 40px;
    position: relative;
}

.constructor-form input[type=checkbox]{
    width: 35px;
    height: 35px;
}

.delete-block{
    position: absolute;
    top: -10px;
    right: 0;
}

.checkbox-label{
    display: flex;
    align-items: center;
}

.btn-white{
    border: #000 solid 1px;
    border-radius: 0;
}

.faq-item{
    margin-bottom: 20px;
    cursor: pointer;
}

.faq-item .question{
    display: inline-block;
    border-bottom: 1px dashed #2C2C2C;
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 15px;
}

.faq-item .answer{
    display: none;
    color: #5F5F5F;
    transition: 1s all ease;
}

.faq-item.open .question{
    color: #b51900;
}

.faq-item.open .answer{
    display: block;
}

.logo a{
    font-weight: 600;
    display: flex;
    align-items: center;
}

.logo img{
    height: 50px;
}

.list-block{
    padding: 10px;
    border: 1px solid #eee;
    margin-bottom: 15px;
    position: relative;
    border-radius: 10px;
}

.subtitle{
    font-size: 20px !important;
}

.page-text p{
    margin-bottom: 30px;
    font-size: 16px;
}

.page-text h2{
    font-weight: 500;
    margin-bottom: 50px;
    margin-top: 30px;
}

.constructor-form .input-group-text {
    padding: 3px 5px;
    border: none;
    border-bottom: 1px solid #ced4da;
    background: #b51900;
}

.constructor-form .input-group input{
    padding-left: 15px;
}

.constructor-form .input-group img{
    height: 25px;
}

.constructor-form select{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none !important;
    cursor: pointer;
}

::-webkit-scrollbar{
    width: 5px;
}

::-webkit-scrollbar-thumb {
    -webkit-border-radius: 0px;
      border-radius: 0px;
      background-color: #b51900;
}

.layouts-list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 50px;
    justify-content: space-around;
}

.layout-item{
    width: 350px;
    padding: 5px;
    cursor: pointer;
    border: 1px solid #fff;
    text-align: center;
    margin-bottom: 15px;
    position: relative;

}

.layout-item .btn{
    font-size: 14px;
    display: none;
    margin: 10px 0;
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: -90px;
    width: 180px
}

.layout-item>div{
    border: 1px solid #eee;
    height: 100%;
    position: relative;
    text-align: center;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.layout-item.active,
.layout-item:hover{
    border: 1px solid #b51900;
}

.layout-item:hover .btn,
.layout-item.active .btn{
    display: inline-block;
}

.layout-item img{
    max-width: 100%;
    width: auto;
    max-height: 100%;
    height: auto;
}

.layout-item .layout-img{
    height: 200px;
}

.preview iframe{
    width: 100%;
    height: 800px;
    border: 2px solid #eee;

}

.color-item{
    padding: 5px 10px;
    display: flex;
    align-items: center;
}
.color-item a{
    color: #000;
}

.color-item a.active{
    color: #b51900;
}

.color-item .color-point{
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-right: 10px;
}
.color-list{
    background: #f6f6f6;
    padding: 15px 30px;
}

ol {
    list-style: none;
    counter-reset: li;
}
ol li:before {
    counter-increment: li;
    content: counters(li,".") ". ";
}

.page-text ol{
    padding-left: 30px;
}

.page-text ol li{
    display: block;
    margin: 10px 0;
}

.preview-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.preview-nav .btn{
    width: 200px;
}

.select-container{
    width: 100%;
    position: relative;
    min-height: 33px;
    height: 100%;
}

.resume-select{
    position: absolute;
    background: #fff;
    z-index: 200;
    overflow-y: auto;
    width: 100%;
    top: 0;
    cursor: pointer;
    height: 100%;
    border-bottom: 1px solid #D5D5D5;
    font-size: 18px;
    display: flex;
    align-items: center;
}
.open .resume-select{
    max-height: 200px;
    height: auto !important;
    border: 1px solid #D5D5D5;
    z-index: 300;
    align-items: flex-start;
    width: auto;
    padding: 10px 15px;
    left: 0;
}
.resume-select li{
    display: none;
    padding: 3px 10px;
}
.resume-select li.active{
    padding: 0;
}

.select-container.open .resume-select li.active{
    padding: 3px 10px;
}

.open .resume-select li:hover, .open .resume-select li.active{
    background: #f6f6f6;
}

.open .resume-select li, .resume-select li.active
{
    display: block;
}

.resume-select:after {
    content: "";
    display: block;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: #b51900 transparent transparent transparent;
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 5px;
    z-index: 1;
    margin-top: -3px;
}
.open .resume-select:after{
    display: none;
}

.promo-banner{
    position: fixed;
    width: 300px;
    left: 50%;
    margin-left: -125px;
    bottom: 0;
    transition: 0.5s all ease;
    z-index: 500;
    display: none;
}

.promo-banner .banner-header{
    background: #b51900;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    position: relative;
}

.promo-banner .banner-header .close{
    color: #fff;
    opacity: 1;
    font-weight: 400;
    font-size: 30px;
    position: absolute;
    top: 5px;
    right: 5px;
}

.promo-banner .banner-header h3{
    font-weight: 400;
    text-transform: uppercase;
    margin: 0;
}

.promo-banner .banner-body{
    text-align: center;
    padding: 20px;
    font-weight: 600;
    background: #fff;
}

#banner-timer{
    font-size: 26px;
    margin-bottom: 15px;
}

.promo-banner .back{
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    opacity: 0.5;
}
.layouts-screens{
    position: relative;
    text-align: right;
}
.layouts-screens img{
    width: 85%;
    position: relative;
    z-index: 40;
    margin-top: 13%;
    margin-right: 12%;
    border: 1px solid #eee;
}
.layouts-screens img:nth-child(2){
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    margin: 0;
}

.layouts-screens img:nth-child(3){
    position: absolute;
    z-index: 30;
    top: 5%;
    right: 6%;
    margin: 0;
}
#section-7 .container{
    position: relative;
}

.text-crossed{
    position: relative;
}

.text-crossed:before{
    position: absolute;
    content: '';
    height: 2px;
    background: #fff;
    left: -5px;
    right: -5px;
    top: 50%;
}

.text-crossed.thin-text:before{
    height: 1px;
}

#section-7 .crossed-text{
    position: absolute;
    color: #BDBDBD;
    font-size: 26px;
    display: inline-block;
}

#section-7 .crossed-text:before{
    position: absolute;
    content: '';
    height: 2px;
    background: #BDBDBD;
    left: -15px;
    right: -15px;
    top: 50%;
}

#section-7 .crossed-text:nth-of-type(1){
    top: 15%;
    left: 0;
}

#section-7 .crossed-text:nth-of-type(2){
    top: 15%;
    right: 0;
}

#section-7 .crossed-text:nth-of-type(3){
    bottom: 40%;
    left: 0;
}

#section-7 .crossed-text:nth-of-type(4){
    bottom: 40%;
    right: -5%;
}

.input-group-text {
    border-radius: .25rem !important;
}

.main-form{
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 15px 30px;
    width: 350px;
}
.main-form label{
    margin-bottom: 0;
}

.main-form button{
    padding: 18px 40px;
    width: 100%;
    margin-top: 15px;
}

.input-group-prepend {
    margin-right: 1px;
}

.circle-fill{
    color: #000;
    font-size: 14px;
}

.circle-not-fill{
    color: #ccc;
    font-size: 14px;
}

.modal .btn{
    padding: 10px 25px;
    font-size: 20px;
    font-weight: 500;
}

.modal p{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
}

.modal-title{
    text-align: center;
    font-weight: 600;
}

.modal-header .nav-tabs{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 0;
}

.modal-header .nav-tabs a{
    padding: 2px 15px;
    font-size: 20px;
    font-weight: 500;
    color: #B6B6B6;
    border: none;
}

.modal-header .nav-tabs a:hover{
     color: #c60021;
}

.modal-header .nav-tabs .nav-link.active{
    border: none;
    border-bottom: 2px solid #c60021;
    color: #c60021;
}

.modal .constructor-form{
    max-width: 380px;
    width: 100%;
}

.modal .constructor-form label{
    display: block;
    text-align: center;
    font-size: 20px;
}

.modal .constructor-form .form-group{
    margin-bottom: 30px;
}
.modal .constructor-form .form-control{
    font-size: 18px;
    padding: 8px 8px;
    text-align: center;
}

.modal .tab-pane.active{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-control.is-valid{
    border-color: #7dc855;
    padding-right: 35px;
}

.form-control.is-valid:focus{
    box-shadow: none;
}

.cookie-info{
    position: relative;
    margin-top: 30px;
}

.cookie-info.confirm{
    display: none;
}

.modal-header .close{
    position: absolute;
    right: 15px;
}


.constructor-form .form-control.is-valid:focus{
    background-image: none;
}
.constructor-form .form-control:focus {
    border-bottom: 1px solid #7dc855;
}

.landing-form{
    position: relative;
    height: 100%;
}

.landing-form-back{
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    z-index: 10;
    height: 100%;
}

.landing-form-back img{
    height: 100%;
}

.landing-form-wrapper{
    min-height: 60vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

}

.landing-form form{
    padding: 35px 25px;
    max-width: 630px;
    width: 100%;
    z-index: 20;
    position: relative;
    border: 1px solid #000;
    border-radius: 10px;
    background: #fff;
}

.landing-form form label{
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 5px;
}

.landing-form form .form-group{
    margin-bottom: 40px;
}

.landing-form form .form-control{
    border-bottom: 1px solid #000;
    font-size: 26px;
    color: #000;
    padding: 6px 0;
    line-height: 32px;
}

.landing-form form .invalid-feedback{
    font-size: 20px;
    line-height: 24px;
}

.landing-form form button{
    max-width: 400px;
    font-size: 24px;
    line-height: 37px;
    padding: 25px 30px;
    margin-top: 30px;
}

.layout-slide{
    height: 100%;
    width: 100%;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 30px;
    border: 1px solid #000000;
}

.layout-slide .btn{
    padding: 15px 30px;
    font-size: 24px;
    display: none;
}

.swiper-slide-active .layout-slide  .btn{
    padding: 15px 80px;
    font-size: 24px;
    display: inline-block;
}

#swiper-layout {
    max-width: 450px;
}

#swiper-layout .swiper-slide {
    width: auto;
    padding: 20px 30px;
    overflow: hidden;
    width: 450px;
    height: 580px;
}

#swiper-layout .swiper-slide-active {
    border-radius: 30px;
    border: 1px solid #000000;
}

/*
 * user-select: none на кнопках карусели.
 *
 * Кнопки занимают всю высоту слайдера, и при быстрых повторных кликах
 * браузер трактует их как двойной клик по тексту — выделялся заголовок
 * следующей секции («Почему вам стоит выбрать наш сервис?»). Найдено
 * Романом на боевом сайте 31.07.2026.
 */
#swiper-layout .swiper-button-next,
#swiper-layout .swiper-button-prev{
    -webkit-user-select: none;
    user-select: none;
}

#swiper-layout .swiper-button-next{
    right: 0;
    left: 85%;
    top: 0;
    bottom: 0;
    width: auto;
    z-index: 300;
    height: auto;
    justify-content: flex-start;
    outline: none;
    -moz-appearance: none;
    -webkit-appearance:none;
    appearance: none;
    border: none;
}

#swiper-layout .swiper-button-next:after,
#swiper-layout .swiper-button-prev:after{
    /*
     * Своей картинки здесь нет сознательно (31.07.2026).
     *
     * Раньше стояла ссылка на /storage/images/arrow-right.svg — файла
     * не существовало, и правило просто ничего не рисовало: стрелки
     * карусели показывает сам Swiper. Попытка «починить» ссылку своей
     * SVG дала ВТОРУЮ стрелку рядом с родной.
     *
     * Ссылку убрали, чтобы не было 404, а декор оставлен Swiper'у.
     * Свои стрелки — вопрос редизайна (этап 15), вместе с остальной
     * иконографикой и в паре с дизайном карусели.
     */
    content: '';
    width: 110px;
    height: 80px;
    background-size: contain;
    outline: none;
}

#swiper-layout .swiper-button-prev:after{
    transform: rotate(180deg);
}


#swiper-layout .swiper-button-prev{
    right: 85%;
    left: 0;
    top: 0;
    bottom: 0;
    width: auto;
    z-index: 300;
    height: auto;
    justify-content: flex-end;
    outline: none;
    -moz-appearance: none;
    -webkit-appearance:none;
    appearance: none;
    border: none;
}

#section-1 .back{
    position: absolute;
    left: 3%;
    right: 3%;
    top: 5%;
    bottom: 5%;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#section-1 .back svg{
    width: auto;
    height: 100%;
   // object-fit: cover;
}

.closed-social{
    cursor: pointer;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.closed-social .input-group{
    width: auto;
    margin-right: 10px;
}

.date-input{
    position: relative;
    display: flex;
    align-items: flex-start;
}

.date-input .date-display{
    max-width: 200px;
}

.date-input input[type="date"],
.date-input input[type="month"]{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -20px;
    cursor: pointer;
    z-index: 100;
    width: 80px;
    height: 100%;
    opacity: 0;
}

.date-input .calendar-picker{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: #fff;
    width: 50px;
    height: 38px;

}

.date-input input[type="date"]::-webkit-calendar-picker-indicator,
.date-input input[type="month"]::-webkit-calendar-picker-indicator{
    background: transparent;
    bottom: 0;
    color: transparent;
    cursor: pointer;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
}

.form-control[readonly] {
    background: #fff;
}

.layout-item.active .active-btn-text{
    display: inline-block;
}

.layout-item.active .unactive-btn-text{
    display: none;
}

.layout-item .active-btn-text{
    display: none;
}

.layout-item .unactive-btn-text{
    display: inline-block;
}

.add-block{
    width: 30px;
    height: 30px;
    border-radius: 3px;
    border: 1px solid var(--secondary);
}


/*
 * Юридические страницы, этап 11. Добавлено при переносе: на проде эти
 * страницы были свёрстаны руками в Blade, а теперь приходят из markdown,
 * и у них нет собственных классов на каждый абзац.
 *
 * Ширина ограничена сознательно: юридический текст во всю ширину монитора
 * читается плохо, глаз теряет строку.
 */
.legal-document{
    max-width: 800px;
    margin: 0 auto;
}

.legal-document h1{
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 30px;
}

.legal-document h2{
    font-size: 20px;
    font-weight: 500;
    margin-top: 40px;
    margin-bottom: 20px;
}

.legal-document h3{
    font-size: 17px;
    font-weight: 500;
    margin-top: 30px;
    margin-bottom: 15px;
}

.legal-document p,
.legal-document li{
    font-size: 15px;
    line-height: 1.6;
}

.legal-document p{
    margin-bottom: 15px;
}

/* Списки внутри документа нумерует markdown, а не счётчик из ol li:before. */
.legal-document ol,
.legal-document ul{
    list-style: revert;
    padding-left: 25px;
    margin-bottom: 20px;
}

.legal-document ol li:before,
.legal-document ul li:before{
    content: none;
}

.legal-document li{
    display: list-item;
    margin: 8px 0;
}

/* Таблицы из markdown приходят без атрибутов — рамки только отсюда. */
.legal-document table{
    width: 100%;
    margin: 20px 0;
    border-collapse: collapse;
    font-size: 14px;
}

.legal-document th,
.legal-document td{
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.legal-document th{
    background: #f6f6f6;
    font-weight: 500;
}

.legal-document hr{
    margin: 30px 0;
}

/* Реквизиты в футере — мелким, но читаемым: это обязательная информация. */
.footer-requisites{
    font-size: 13px;
    color: #555;
    margin-bottom: 10px;
}
