.header-logo-phone{
  display: block;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  font-weight: 500;
  text-align: center;
  font-family: "Rubik", Helvetica, Arial, sans-serif;
}
.header-logo-phone:hover{
  text-decoration:underline;
}


.header-logo-contacts{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:6px;
}

.header-logo-phone{
  white-space:nowrap;
  font-weight:500;
}


.header-logo-msg{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  transition:.25s ease;
}


.header-logo-msg--tg{
  background:#229ED9;
}


.header-logo-msg--max{
  background:#0066FF;
}

.header-logo-msg img{
  width:18px;
  height:18px;
  filter: brightness(0) invert(1); 
}


.header-logo-msg:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.header-logo-messengers{
  display: flex;
  gap: 5px;
}


@media(max-width: 767px){
  .logo img{
    margin: 0!important;
  }
  .header-logo-phone{
    margin-left: 2px;
    font-size: 14px;
  }
  #apus-header-mobile .table-visiable-dk > .col-xs-8{
    max-width: 200px;
  }

  #apus-header-mobile .table-visiable-dk{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

}

.wpcf7-response-output,
.wpa-test-msg{display: none!important;}



.product-categories li.cat-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}


.product-categories li.cat-item > a {
  flex: 1;

}
.layout-detail-product .product-categories li.cat-item > a{
  line-height: normal;
}
.product-categories ul.children li{
  padding: 10px 0;
  border-bottom: 1px solid #ebebeb;
}
.product-categories ul.children ul.children li > a {
  font-size: 13px;
  font-style: italic;
}


.product-categories li.cat-item > .count {
  margin-left: auto;
  white-space: nowrap;
  opacity: .6;
}


.product-categories li.cat-item > ul.children {
  flex-basis: 100%;
}


.cf7-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  transition: .2s ease;
  z-index: 999999;
}

.cf7-modal.is-open {
  opacity: 1;
  visibility: visible;
}


.cf7-modal__box {
  background: #fff;
  width: min(460px, 92%);
  border-radius: 18px;
  padding: 28px 26px;
  text-align: center;
  box-shadow: 0 30px 60px rgba(0,0,0,.25);
  transform: translateY(20px);
  transition: .25s ease;
}

.cf7-modal.is-open .cf7-modal__box {
  transform: translateY(0);
}

.cf7-modal__title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}

.cf7-modal__text {
  font-size: 15px;
  opacity: .8;
  margin-bottom: 22px;
}

.cf7-modal__btn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  background: #111;
  color: #fff;
  font-size: 14px;
  transition: .2s ease;
}

.cf7-modal__btn:hover {
  opacity: .85;
}


body .swiper-wrapper{
  z-index: 0;
}
.layout-blog .type-post img{
  /*height: 250px;*/
    object-fit: cover;
}

body .added_to_cart.wc-forward{
  font-size: 10px!important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

body .product-block.grid .groups-button .add-cart a{
  min-height: 40px!important;
  line-height: 16px !important;
  padding: 10px 0;
}


@media(max-width: 767px){

  body .wpcf7-form-control.wpcf7-text{
    max-width: 100%!important;
  }
  body .text1{
    font-size: 25px;
    line-height: normal;
  }
  body .text2{
    font-size: 15px;
  }
  .zayvka1{
    margin-left: 0!important;
  }
  body h1.text{
    font-size: 16px;
  }

}


@media (max-width: 767px){

  body.home .vc_row[data-vc-full-width="true"]{
    left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.home .vc_row-full-width.vc_clearfix{
    display:none !important;
  }

  body.home .vc_empty_space{
    height:14px !important;
  }

  body.home .vc_row .vc_col-sm-6,
  body.home .vc_row .vc_col-sm-12,
  body.home .vc_row .vc_col-sm-4,
  body.home .vc_row .vc_col-sm-3{
    width:100% !important;
  }

  body.home .vc_row.vc_column-gap-10,
  body.home .vc_row.vc_inner.vc_column-gap-10{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  body.home .text1{
    font-size:20px;
    line-height:1.25;
    margin:0 0 10px;
  }

  body.home .text2 p{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 10px;
  }

  body.home .text2 p img{
    width:26px !important;
    height:auto !important;
    flex:0 0 auto;
    margin:2px 0 0;
  }

  body.home .wpcf7{
    width:100%;
  }

  body.home .zayvka1{
    width:100%;
    padding:16px !important;
    border-radius:14px;
  }

  body.home .zayvka1 input[type="text"],
  body.home .zayvka1 input[type="tel"],
  body.home .zayvka1 input[type="email"],
  body.home .zayvka1 textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }

  body.home .zayvka1 .wpcf7-submit{
    width:100%;
    display:block;
  }

  body.home #cat_wall{
    padding-left:15px;
    padding-right:15px;
  }

  body.home #cat_wall .vc_inner{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  body.home #cat_wall .vc_column-inner{
    padding:18px !important;
    border-radius:14px;
  }

  body.home #cat_wall .cat_main{
    text-align:center;
    margin:0 0 10px;
    font-size:18px;
  }

  body.home #cat_wall .cat_img{
    display:block;
    margin:0 auto 10px;
    max-width:140px;
    height:auto;
  }

  body.home #cat_wall .cat_main_more{
    display:inline-block;
    width:100%;
    text-align:center;
    font-size:14px;
  }

  body.home #banner_home .wpb_content_element{
    margin: 0!important;
    padding: 0 3px;
  }
  body.home #banner_home{
    margin-top: -50px;
  }
  body.home #banner_home img{
    width:100%;
    height:auto;
    display:block;
    margin-top: 0;
  }
  #about_home .vc_empty_space{
    display: none;
  }
  #about_home .wpb_content_element{
    margin-bottom: 20px;
  }
  body.home #about_home h1.text{
    font-size: 16px;
    line-height: 1.25;
    margin: 0;
  }
  #about_home .preim{
    text-align: center;
  }
  body.home #about_home .vc_inner{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  body.home #about_home .vc_col-sm-6 img{
    width:100%;
    height:auto;
    border-radius:14px !important;
  }

  body.home #about_home p.text,
  body.home #about_home li.text,
  body.home #about_home p.text_pochemu,
  body.home #about_home p.text_tel{
    font-size:14px;
    line-height:1.5;
  }

  body.home #about_home ul{
    padding-left:18px;
    margin:10px 0 14px;
  }

  body.home #feat_home{
    padding-left:15px;
    padding-right:15px;
  }
  body.home h2,
  body.home #feat_home h2{
    font-size:20px;
    margin-bottom: 0;
  }

  body.home #feat_home .vc_inner{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  body.home #feat_home .vc_column-inner{
    padding:16px !important;
    border-radius:14px;
  }

  body.home #feat_home img{
    width:64px;
    height:auto;
    float:none !important;
    display:block;
    margin:0 auto 10px;
  }

  body.home #feat_home .cat_main_more{
    display:inline-block;
    width:100%;
    text-align:center;
    font-size:16px;
  }

  body.home .woocommerce.columns-4 .products{
    display:grid;
    grid-template-columns:repeat(1, minmax(0, 1fr));
    gap:10px;
    margin:0 !important;
  }

  body.home .woocommerce.columns-4 .products > .product{
    width:auto !important;
    margin:0 !important;
  }

  body.home .product-block.grid,
  body.home .product-block.grid .grid-inner{
    height:100%;
  }

  body.home .product-block.grid .image img{
    width:100%;
    height:auto;
    display:block;
  }

  body.home .product-block.grid .name{
    font-size:13px;
    line-height:1.25;
  }

  body.home .product-block.grid .groups-button .add-cart a.button{
    width:100%;
    display:block;
    text-align:center;
  }

  body.home .wpcp-carousel-wrapper{
    padding-left:15px;
    padding-right:15px;
  }

  body.home .wpcp-carousel-section{
    overflow:hidden;
    border-radius:14px;
  }

  body.home .wpcp-prev-button,
  body.home .wpcp-next-button{
    display:none !important;
  }


  #apus-footer .footer-inner{
    padding:16px 0;
  }

  #apus-footer .footer-builder-wrapper.container{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  #apus-footer .vc_row[data-vc-full-width="true"]{
    left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #apus-footer .vc_row-full-width.vc_clearfix{
    display:none !important;
  }

  #apus-footer .vc_col-sm-3{
    width:100% !important;
    text-align: center;
  }

  #apus-footer .vc_column-inner{
    padding:0 !important;
  }

  #apus-footer .footer-acc-section{
    border-top:1px solid rgba(255,255,255,.12);
  }
  #apus-footer .footer-acc-section .wpb_content_element{
    margin-bottom: 0!important;
  }
  #apus-footer .footer-acc-section .vc_empty_space{
    display: none;
  }

  #apus-footer .footer-acc-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 15px;
    background:transparent;
    border:0;
    color:inherit;
    text-align:left;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
  }

  #apus-footer .footer-acc-ico{
    width:26px;
    height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    transition:transform .2s ease;
    flex:0 0 auto;
  }

  #apus-footer .footer-acc-btn[aria-expanded="true"] .footer-acc-ico{
    transform:rotate(180deg);
  }

  #apus-footer .footer-acc-body{
    display:none;
    padding:0 18px 14px;
  }

  #apus-footer .footer-acc-body.is-open{
    display:block;
  }

  #apus-footer .footer-acc-body .menu{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    text-align: left;
  }

  #apus-footer .footer-acc-body .menu a{
    display: block;
    padding: 5px;
    text-decoration: none;
    line-height: normal;
  }

  #apus-footer a[href^="tel:"],
  #apus-footer a[href^="mailto:"]{
    display:inline-flex;
    align-items:center;
    padding: 0;
    text-decoration:none;
    margin:0;
  }

  #apus-footer img{
    max-width:190px;
    height:auto;
    display:block;
    margin: 0 auto;
  }

  #apus-footer .wpb_text_column p{
    margin:10px 0 0;
  }
  body .form-con .consultation{
    padding-bottom: 0;
  }
  body .form-con .zayvka2{
    margin: 0;
    max-width: 100%;
    padding: 25px 15px;
  }
  .form-con{
    display: flex!important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;

  }
  body .form-con .kredit1{
    padding: 0;
  }
  .apus-pagination+.form-yozi-ppp{
    display: none;
  }
  body h1.category-title{
    line-height: normal;
    margin-bottom: 15px;
    margin-top: 0;
    font-size: 25px;
  }
  .apus-filter .display-mode{
    display: none;
  }
  body .apus-filter select {
    min-width: 100% !important;
    width: 100%;
    padding: 3px;
    font-size: 10px !important;
    margin: 0 !important;

  }
  body .wrapper-fillter .apus-filter{
        display: flex!important;
        flex-direction: column!important;
        margin: 0!important;
  }
  .apus-filter .woocommerce-ordering{
    width: 100%
  }
  .apus-after-loop-shop .apus-pagination .page-numbers{
    font-size: 10px!important;
    padding: 4px!important;
  }
  body{
    padding-bottom: 100px;
  }
  body .vc_row[data-vc-full-width]{
  margin-left: 0;
    margin-right: 0;
  }


  .form-con{
    max-width:100%;
    overflow:hidden;
  }

  .form-con .consultation,
  .form-con .consultation .wpcf7,
  .form-con .consultation .wpcf7 form,
  .form-con .consultation .zayvka2{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .form-con .consultation p{
    margin:0;
  }

  .form-con .consultation .wpcf7-form-control-wrap{
    display:block;
    width:100%;
    max-width:100%;
  }

  .form-con .consultation input[type="text"],
  .form-con .consultation input[type="tel"],
  .form-con .consultation input[type="email"],
  .form-con .consultation textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    display:block;
  }

  .form-con .consultation .wpcf7-submit{
    width:100%;
    display:block;
    box-sizing:border-box;
  }

  .form-con .consultation img,
  .form-con .consultation iframe,
  .form-con .consultation table{
    max-width:100%;
  }

  .form-con .kredit1 img{
    max-width:100%;
    height:auto;
    display:block;
  }
  .mm-navbar,
  .wpcf7-spinner{
    display: none !important;
  }
  body .form-con .politika2{
    margin-top: 10px;
  }
  .woocommerce-message{
    line-height: normal !important;
  }
  .wc-block-components-address-form__last_name{
    margin-bottom: 10px;
  }
  .layout-blog .type-post img{
    /*height: 150px;*/
  }

}


.widget_product_categories .view-more-list-cat {
    display: none !important;
}

.widget_product_categories .product-categories {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

/* Список товаров (kd-product-list) лежит внутри бутстраповского .row
   (margin: 0 -15px), а плагин обнулил горизонтальный padding у .kd-item,
   который раньше это компенсировал — из-за этого список уезжал левее
   заголовка категории и формы заявки. Возвращаем компенсирующий отступ. */
body .woocommerce ul.products li.product.kd-item,
body ul.products li.product.kd-item,
body li.product.kd-item {
    padding-left: 20px !important;
    padding-right: 15px !important;
    padding-top: 24px !important;
    padding-bottom: 15px !important;
    row-gap: 10px !important;
}

/* Первый товар в списке — поднимаем ещё ближе к сортировке. */
body .woocommerce ul.products li.product.kd-item:first-child,
body ul.products li.product.kd-item:first-child,
body li.product.kd-item:first-child {
    padding-top: 0 !important;
}

/* Сортировка "По новизне" тянула стандартный нижний отступ WooCommerce
   (~45px) — сброс из темы у неё не срабатывал, т.к. рассчитан на обёртку
   .apus-filter, а тут обёртка .wrapper-filter. Из-за этого блок товаров
   уезжал заметно ниже. */
#apus-shop-products-wrapper .woocommerce-ordering {
    margin-bottom: 0 !important;
}

/* Стрелочка-раскрывашка у категорий с подкатегориями наезжала на первую
   букву названия — сдвигаем иконку левее, в зарезервированный отступ. */
.product-categories li.cat-parent > i {
    left: -15px !important;
    padding-right: 13px !important;
}

@media (min-width: 992px) {
    body div.product.first:not(.col-md-cl-5) {
        clear: none;
    }
}

.products > .row{
    display: flex;
    flex-wrap: wrap;
}
body .mm-slideout{
    z-index: 50;
}


@media (max-width: 991px) {
    .details-product.layout-v1 .apus-woocommerce-product-gallery-wrapper, .details-product.layout-v2 .apus-woocommerce-product-gallery-wrapper {
        width: 100%!important;
        text-align: center!important;
        float: none!important;
    }
}


body.custom-modal-open{
    overflow:hidden;
}

.floating-callback-btn{
    position:fixed;
    left:45px;
    bottom:50px;
    width:62px;
    height:62px;
    border-radius:50%;
    background:#e23e1d;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:9999;
    box-shadow:0 14px 34px rgba(226,62,29,.35);
    transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.floating-callback-btn:hover{
    transform:translateY(-4px);
    background:#c83417;
    box-shadow:0 18px 40px rgba(226,62,29,.45);
}

.floating-callback-btn__icon{
    display:flex;
    align-items:center;
    justify-content:center;
}

.floating-callback-btn__icon svg{
    width:24px;
    height:24px;
    color:#fff;
}

.floating-callback-btn::before{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:50%;
    border:2px solid rgba(226,62,29,.35);
    animation:callbackPulse 2s infinite;
}

@keyframes callbackPulse{
    0%{
        transform:scale(1);
        opacity:.9;
    }
    70%{
        transform:scale(1.35);
        opacity:0;
    }
    100%{
        transform:scale(1.35);
        opacity:0;
    }
}

.custom-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
    padding:20px;
}

.custom-modal.is-active{
    opacity:1;
    visibility:visible;
}

.custom-modal__overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(4px);
}

.custom-modal__dialog{
    position:relative;
    width:100%;
    max-width:420px;
    background:#fff;
    border-radius:18px;
    padding:34px 28px 28px;
    box-shadow:0 30px 70px rgba(0,0,0,.18);
    transform:translateY(15px) scale(.96);
    transition:transform .25s ease;
    z-index:2;
}

.custom-modal.is-active .custom-modal__dialog{
    transform:translateY(0) scale(1);
}

.custom-modal__close{
    position:absolute;
    top:14px;
    right:14px;
    width:36px;
    height:36px;
    border-radius:50%;
    border:none;
    background:#f3f3f3;
    cursor:pointer;
    font-size:22px;
    line-height:1;
    transition:background .2s ease, transform .2s ease;
}

.custom-modal__close:hover{
    background:#e9e9e9;
    transform:rotate(90deg);
}

.cf7-modern-form__title{
    font-size:26px;
    font-weight:700;
    margin-bottom:10px;
    line-height:1.2;
}

.cf7-modern-form__subtitle{
    font-size:14px;
    color:#777;
    margin-bottom:20px;
    line-height:1.5;
}

.cf7-modern-form__field{
    margin-bottom:14px;
}

.cf7-modern-form input{
    width:100%;
    max-width:100%!important;
    height:56px;
    border:1px solid #e7e7e7;
    border-radius:12px;
    padding:0 16px;
    font-size:16px;
    background:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.cf7-modern-form input:focus{
    outline:none;
    border-color:#e23e1d;
    box-shadow:0 0 0 4px rgba(226,62,29,.08);
}

.cf7-modern-form .wpcf7-submit{
    width:100%;
    height:56px;
    border:none;
    border-radius:12px;
    background:#e23e1d;
    color:#fff;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.cf7-modern-form .wpcf7-submit:hover{
    background:#c83417;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(226,62,29,.35);
}

.single-product .summary .custom-request-btn,
.single-product form.cart + .custom-request-btn,
.single-product .product .custom-request-btn,
.button.alt.custom-request-btn.js-open-request-modal{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:100%;
    height: 40px;
    padding: 5px 30px;
    margin:0;
    border:none;
    border-radius:999px;
    background:#e23e1d;
    color:#fff;
    font-weight:600;
    line-height:1;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(226,62,29,.18);
    transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.single-product .summary .custom-request-btn:hover,
.single-product form.cart + .custom-request-btn:hover,
.single-product .product .custom-request-btn:hover,
.button.alt.custom-request-btn.js-open-request-modal:hover{
    background:#c83417;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(226,62,29,.28);
}

.single-product .summary .custom-request-btn:focus,
.single-product form.cart + .custom-request-btn:focus,
.single-product .product .custom-request-btn:focus,
.button.alt.custom-request-btn.js-open-request-modal:focus{
    outline:none;
    color:#fff;
    box-shadow:0 0 0 4px rgba(226,62,29,.12), 0 10px 24px rgba(226,62,29,.18);
}

.single-product .summary .price:empty + .custom-request-btn,
.single-product .summary .woocommerce-Price-amount:empty + .custom-request-btn{
    margin-top:0;
}

.cf7-modern-form .wpcf7-response-output{
    margin-top:14px;
    border-radius:10px;
    font-size:14px;
}

@media (max-width:768px){
    .floating-callback-btn{
        left:20px;
        bottom:70px;
        width:56px;
        height:56px;
    }

    .custom-modal__dialog{
        padding:28px 20px;
    }

    .cf7-modern-form__title{
        font-size:22px;
    }

    .single-product .summary .custom-request-btn,
    .single-product form.cart + .custom-request-btn,
    .single-product .product .custom-request-btn,
    .button.alt.custom-request-btn.js-open-request-modal{
        max-width:100%;
        min-height:52px;
        margin:4px 0 18px;
        padding:0 18px;
        font-size:14px;
    }
}

.grecaptcha-badge{
  display: none!important;
}