@charset "UTF-8";
body{
    box-sizing: border-box;
    font-family: "Stolzl", sans-serif;
    font-weight: 200;
    font-size: 14px;
    line-height: 1.5;
    color: var(--black);
    margin: 0;
    padding: 0;
    --black: #15151B;
    --graphit: #37374A;
    --orange: #F57249;
    --gr: linear-gradient(131deg, #FD8059 0%, #5858AF 100%);
    --grey-bg: #F4F4F4;
    --green: #4FC8AB;
    --light: #EFEFEF;
    --border: 1px solid #EAEAEA;
}
div, h1, h2, h3, h4, p, ul, ol, li, a, input, textarea, label, button, span{
  box-sizing: border-box;
}
*::-moz-selection{
  color: #fff;
  background-color: var(--orange);
}
*::selection{
  color: #fff;
  background-color: var(--orange);
}
a{
  cursor: pointer;
  transition: 0.3s;
}
a, a:hover{
  text-decoration: none;
}
p{
  font-size: 14px;
  line-height: 1.5;
}
h1, h2, h3, h4, p, ul, ol{
    margin: 0;
}
ul, ol{
    list-style: none;
    margin: 0;
    padding: 0;
}
ol {
  counter-reset: list;
}
img{
    max-width: 100%;
}
input, button, textarea{
  font-family: "Stolzl", sans-serif;
  outline: none;
}
form{
  width: 100%;
}
textarea{
  resize: none;
}
.container{
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}
.wrapper{
  position: relative;
}
@media (min-width: 576px){.container{max-width: 540px;}}
@media (min-width: 768px){.container{max-width: 720px;}}
@media (min-width: 1024px){.container{max-width: 990px;}}
@media (min-width: 1200px){.container{max-width: 1140px;}}
@media (min-width: 1300px){.container{max-width: 1230px;}}
@media (min-width: 1500px){.container{max-width: 1430px;}}
@media (min-width: 1700px){.container{max-width: 1530px;}}
.flex{
  display: flex;
  flex-wrap: wrap;
}
.flex.between{
    justify-content: space-between;
}
.flex.align-center{
  align-items: center;
}
.d-none{
  display: none;
}
.ttl{
  font-weight: 200;
}
.ttl.lg{  
  font-size: 60px;
  line-height: 1.2;
  letter-spacing: -1.2px;
  text-transform: uppercase;
}
.ttl.md{
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.6px;
  text-transform: uppercase; 
}
.ttl.sm{
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  text-transform: uppercase;
}
.ttl.ssm{
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.32px;
  text-transform: uppercase;
}
.ttl.line-after{
  border-bottom: var(--border);
  position: relative;
  padding-bottom: 8px;
}
.ttl.line-after:after{
  content: '';
  width: 180px;
  height: 1px;
  background: var(--orange);
  position: absolute;
  left: 0;
  bottom: -1px;
}
.subttl{
  font-size: 11px;
  line-height: 1;
  letter-spacing: 6.6px;
  color: var(--graphit);
}

.centered{
  max-width: max-content;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.white, .ttl.white{
  color: #fff;
}

.mb120{margin-bottom: 120px;}
.mb80{margin-bottom: 80px;}
.mb60{margin-bottom: 60px;}
.mb50{margin-bottom: 50px;}
.mb40{margin-bottom: 40px;}
.mb35{margin-bottom: 35px;}
.mb30{margin-bottom: 30px;}
.mb25{margin-bottom: 25px;}
.mb20{margin-bottom: 20px;}
.mb15{margin-bottom: 15px;}
.mb10{margin-bottom: 10px;}


.padding-section{padding: 120px 0;}

.btn{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 400;
  font-size: 11px;
  line-height: 1;
  color: #FFF;    
  height: 37px;
  padding: 0 20px;
  cursor: pointer;
  transition: 0.4s;
  text-transform: uppercase;
  background: var(--orange);
  max-width: max-content;
  outline: none;
  border: none; 
  border-radius: 6px;
}
.btn:hover{
  color: #fff;
  background: var(--black);
}
button.btn{
  max-width: 100%;
}
.btn.big{
  width: 100%;
  height: 50px;
  font-size: 13px;  
}
.btn.white{
  background: transparent;
  border: 1px solid #fff;  
}
.btn.white:hover{
  background: #fff;
  color: var(--black);
}
.btn.orange{
  background: transparent;
  color: var(--orange);
  border: 1px solid var(--orange);  
}
.btn.orange:hover{
  background: var(--black);
  border-color: var(--black);
  color: #fff;
}
.btn.scnd{
  color: var(--black);
  border: 1px solid var(--black);
  background: #fff;
}
.btn.scnd:hover{
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.btn.black{
  background: var(--black);
  color: #fff;
  border: 1px solid var(--black);
}
.btn.black:hover{
  background: var(--orange);
  border-color: var(--orange);
}
.btn-wishlist{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  color: var(--black);
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  transition: .4s;
}
.btn-wishlist:hover{
  color: var(--orange);
}
.btn.icon-cart:before{
  margin-right: 8px;
}
.modal {
  display: none;
  position: fixed; 
  top: 0;
  left: 0;
  z-index: 1200;  
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  outline: 0;
}
.modal-inner{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(13, 13, 16, 0.80);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.modal-wrapper{
  background: #fff;
  padding: 40px;
  position: relative;
  width: calc(100% - 30px);
  max-width: 550px;
  border-radius: 6px;
  overflow-y: auto;  
}
#thanksModal .modal-wrapper{
  max-width: 360px;
}
.modal-wrapper .close{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 40px;
  line-height: .5;
  color: #000;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  transition: .3s;
}
.uForm__preload {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: url(../images/loading.svg) no-repeat center / 120px rgba(13, 13, 16, 0.8);
}

.breadcrumb, .breadcrumb li{
    display: flex;
    align-items: center;
    font-size: 11px;
}
.breadcrumb .divider{
  margin: 0 6px;
}
.breadcrumb{
    flex-wrap: wrap;
}
.breadcrumb span{
    color: var(--graphit);
}
.breadcrumb a span{
  color: var(--orange);
  transition: inherit;
}
.breadcrumb a:hover span{
  color: var(--black);
}
.pagination-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.pagination-list li a, .pagination-list li span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;   
    font-size: 14px;
    line-height: 1; 
    margin: 5px;
    transition: 0.5s;
}
.pagination-list li a{
    color: var(--black);
}
.pagination-list li span{
    color: #E44A51;
}
.pagination-list li.active span, .pagination-list li:hover a, .pagination-list li.arrow:hover a{
    background: var(--orange);
    color: #fff;
}
.pagination-list li.arrow a{
  background: #F8F8F8;
}
.pagination-list li.arrow span{
  color: #E1E1E1;
}
::-webkit-scrollbar {width: 6px;}
::-webkit-scrollbar-track {background: var(--graphit);}
::-webkit-scrollbar-thumb {background-color: var(--orange); border-radius: 3px;}
html, body, div, * {scrollbar-width: thin; scrollbar-color:  var(--orange) var(--graphit);}

.burger-menu {
    display: none;
    width: 29px;
    height: 34px;
    position: relative;
    z-index: 1200;
    padding: 5px;
}

.burger-menu span {
    display: block;
    width: 24px;
    height: 2px;
    border-radius: 1px;
    background-color: var(--black);
    position: absolute;
    left: 5px;
    opacity: 1;
    transition: all linear 0.3s;
}
.burger-menu span:first-child {
    top: 7px;
}
.burger-menu span:nth-child(2), .burger-menu span:nth-child(3) {
    top: 15px;
}
.burger-menu span:last-child {
    top: 23px;
}
.burger-menu.active span:first-child {
    top: 0;
    opacity: 0;
}
.burger-menu.active span:nth-child(2) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.burger-menu.active span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}
.burger-menu.active span:last-child {
    top: 40px;
    opacity: 0;
}

.body-wrapper{
  min-height: 100vh;
  display: flex;
  position: relative;
  flex-direction: column;
  overflow-x: hidden;
}
.main{flex: 1;}

.body-wrapper:before{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 1100;
  transition: 400ms ease-in-out;
}

.body-wrapper.hidden:before{
  width: 100%;  
}

.header-menu {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-item {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.header-menu,
.header-menu li {
  list-style: none;
}
.header-menu a {
  text-decoration: none;
}
.header-menu a,
.header-menu span {
  display: block;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
}
.header-menu .submenu a {
  font-size: 14px;
}
.header-menu > .menu-item > a,
.header-menu > .menu-item > span {
  padding: 12px 22px;
}

.header-menu .menu-item:hover > a,
.header-menu .menu-item:hover > span {
  color: var(--orange);
}
.header-menu > .menu-item.parent{
  position: relative;
}
.header-menu > .menu-item.parent > a{
  position: relative;
  padding-right: 32px;
}
.header-menu > .menu-item.parent > a:before, .header-menu > .menu-item.parent > a:after
 {    
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  display: block;
  width: 8px;
  height: 2px;
  transition: all 0.3s ease-out;
  background-color: #fff;
  transform: translate(-2px, -50%) rotate(45deg);
}
.header-menu > .menu-item.parent > a:after
{
  transform: translate(2px, -50%) rotate(-45deg);
}
.header-menu > .menu-item.parent:hover > a:before
 {
  transform: translate(-2px, -50%) rotate(-45deg);
  background: var(--orange);
}
.header-menu > .menu-item.parent:hover > a:after
{
  transform: translate(2.5px, -50%) rotate(45deg);
  background: var(--orange);
}
.header-menu .submenu {
  background-color: #fff;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);  
  position: absolute;
  top: 100%;
  left: -100px;
  border-radius: 0 0 6px 6px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 5;
  padding: 30px 40px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
}
.header-menu .col3 ~ .submenu {
  column-count: 3;
  column-gap: 20px;
}
.header-menu .submenu a {
  display: flex;
  width: 180px;
  color: var(--black);
  position: relative;
  padding: 12px 0 8px;
}
.header-menu .submenu a:before {
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\e908";
  font-size: 60%;
  margin: 3px 12px 0 0;
}
.header-menu .submenu a:after {
  content: '';
  width: 0;
  height: 1px;
  background: var(--orange);
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .5s;
}
.header-menu .submenu a:hover:after {
  width: 100%;
}
.header-menu > .menu-item.parent > .submenu a {}
.header-menu > .menu-item.parent > .submenu .menu-item {
  position: relative;
}

.header-menu .menu-item.parent:hover .submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.submenu .menu-item a {
  line-height: 1.2;
}
.header-menu > .menu-item.active > a,
.header-menu > .menu-item.active > span {
  color: var(--orange);
}
.header-menu > .menu-item.parent > .submenu > .menu-item.parent > a,
.header-menu > .menu-item.parent > .submenu > .menu-item.parent > .submenu > .menu-item.parent > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.header-menu > .menu-item.parent > .submenu > .menu-item.parent > a::after,
.header-menu > .menu-item.parent > .submenu > .menu-item.parent > .submenu > .menu-item.parent > a::after
 {
  content: "\203a";
  display: inline-block;
  margin-left: 10px;
  font-size: 18px;
}
.header-menu > .menu-item.parent > .submenu > .menu-item.parent .submenu
{
  position: absolute;
  top: 0;
  left: 198px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
  width: 230px;
  padding-left: 0;
}
.header-menu > .menu-item.parent > .submenu > .menu-item.parent > .submenu > .menu-item.parent > .submenu{
  left: 228px;
}

.header-menu > .menu-item.parent .submenu > .menu-item.parent:hover > .submenu,
.header-menu > .menu-item.parent .submenu > .menu-item.parent .submenu > .menu-item.parent:hover > .submenu
 {
  visibility: visible;
  opacity: 1;
}
.header-menu
  > .menu-item.parent
  .submenu
  > .menu-item.parent:hover
  > .submenu
  .menu-item {
  border-bottom: 1px solid #e5e5e5;
}

.mobile-menu {
  background-color: #fff;
  position: fixed;
  right: 0;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 999;
  display: none;
  overflow-y: scroll;
  padding: 140px 15px 60px;
}
.mobile-menu.sticky {
  padding-top: 90px;
}
.mobile-menu .wrapper{
  display: flex;
  flex-direction: column;  
}
.mobile-menu .top{
  margin-bottom: 20px;
}
.mobile-menu .icon-user{
  display: flex;
  align-items: center;
  color: var(--black);  
}
.mobile-menu .icon-user:before{
  font-size: 30px;
  color: var(--orange);
  margin-right: 8px;
}
.mobile-menu .menu{
  width: 100%;
  padding-bottom: 10px;  
}
.mobile-menu .menu:not(:last-child){
  border-bottom: var(--border);  
  margin-bottom: 10px;
}
.mobile-menu li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.mobile-menu li a, .mobile-menu li span{
  display: flex;
  width: 100%;
  align-items: center;
  color: var(--text);
  padding: 7px 0;
  font-size: 16px;
  font-style: normal;
}
.mobile-menu .submenu a{
  display: flex;
  font-size: 13px;
}
.mobile-menu .submenu a:before{
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\e908";
  font-size: 60%;
  color: var(--orange);
  margin-right: 8px;
}

.mobile-menu .deeper > a,
.mobile-menu .deeper > span {
  padding-right: 15px;
  width: calc(100% - 20px);
}

.mobile-menu .list-btn {
  width: 18px!important;
  height: 18px;
  top: 0;
  right: 0;
  position: relative;
  border: 1px solid var(--orange);
  border-radius: 3px;
  transition: all 0.3s ease-out;
  padding: 0!important;
}
.mobile-menu .list-btn:before,
.mobile-menu .list-btn:after{
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  display: block;
  width: 6px;
  height: 2px;
  transition: inherit;
  background-color: var(--orange);
  transform: translate(-2px, -50%) rotate(45deg);
}

.mobile-menu .list-btn:after
 {
  transform: translate(2px, -50%) rotate(-45deg);
}
.mobile-menu li.open > a, .mobile-menu li.open > span{
  color: var(--orange);
}
.mobile-menu li.open > .list-btn{
  background: var(--orange);
}
.mobile-menu li.open > .list-btn:before{
  transform: translate(-2px, -50%) rotate(-45deg);
  background: #fff;
} 

.mobile-menu li.open > .list-btn:after{
  transform: translate(2px, -50%) rotate(45deg);
  background: #fff;
}
.mobile-menu .nav-child {
  display: none;
  width: 100%;
  border-bottom: 1px solid #e4e4e4;
  padding-left: 30px;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.header .mod-languages{
  width: 40px;
  padding: 8px 0;
  position: relative;
}
.header .mod-languages .lang-list{
    width: 100%;
}
.header .mod-languages .lang-list a{
    color: var(--black);
    font-size: 16px;
    padding: 0;
}
/* mod_languages J4+ (media/mod_languages/css/template.css) добавил отступы ссылок и фон активного языка — как на J3 */
.mod-languages .lang-inline a{
    padding: 0;
}
.mod-languages .lang-inline li{
    margin: 0 5px;
}
.mod-languages .lang-inline li.lang-active{
    background-color: transparent;
}
.header .mod-languages .active-language{
    display: block;
    font-style: normal;
    font-size: 16px;
    text-transform: uppercase;
    color: var(--black);    
}
.header .mod-languages:hover .active-language, .mod-languages .lang-list a:hover{
    color: var(--orange);
}
.header .mod-languages .lang-list{
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    padding: 10px 5px;
    background: #fff;
    transition: 0.3s;
    z-index: 10;
    transform: translateY(10px);
    border: 1px solid var(--graphit);
    border-radius: 6px;  
}
.header .mod-languages .lang-list li{
  text-align: center;
  margin: 0;
}
.header .mod-languages{
  margin-right: 24px;
}
.header .mod-languages .active-language:before, .header .mod-languages .active-language:after
 {    
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  display: block;
  width: 6px;
  height: 2px;
  transition: all 0.3s ease-out;
  background-color: var(--black);
  transform: translate(-2px, -50%) rotate(45deg);
}
.header .mod-languages .active-language:after {
  transform: translate(2px, -50%) rotate(-45deg);
}
.header .mod-languages:hover .active-language:before
 {
  transform: translate(-2px, -50%) rotate(-45deg);
  background: var(--orange);
}
.header .mod-languages:hover .active-language:after
{
  transform: translate(2.5px, -50%) rotate(45deg);
  background: var(--orange);
}
.header .mod-languages:hover .lang-list{
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}
.mobile-menu .mod-languages .lang-inline{
  display: flex;
}


#toTop {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  color: #fff;
  background: #18181E;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid #49494E;
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 20;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s;
}
#toTop.show {
  visibility: visible;
  opacity: 1;
}
#toTop:hover{
  background: var(--orange);
  border-color: var(--orange);
}
.header{
  position: relative;    
  width: 100%;    
  top: 0;
  left: 0;
  z-index: 1000;
  background: #fff;
}
.header.sticky, .main-page .header.sticky{
  position: fixed;
  animation: flash 0.5s linear 1;
}
@keyframes flash {
  from{opacity: 0; transform: translateY(-100%);}
  to {opacity: 1; transform: translateY(0);}
}


/*===============================*/

.header .top-line{
  background-image: var(--gr);
  background-color: var(--orange);
  padding: 3px 0;
}
.header .top-line .item{
  display: flex;
  align-items: center;
  font-size: 11px;
  line-height: 1;
  color: #fff;
  text-transform: uppercase;
  margin: 0 auto;  
}
.header .top-line .item a{
  color: #fff;
  text-decoration: underline;
  white-space: nowrap;
}
.header .top-line .item a:hover{
  color: var(--orange);
}
.header .top-line .item:before{
  content: '';
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  border-radius: 50%;
  background: url(../images/fire.png) no-repeat center 1px #C58C97;
  margin-right: 8px;
}
.header .top .wrapper{
  max-width: 1790px;
  padding: 20px 15px;
  margin: 0 auto;
}
.header .logo{
  display: flex;
  align-items: center;
  font-size: 34px;
  color: #37374A;
}
.jshop_ajaxsearch{
  width: 62.5%;
  left: 0;
  background: #fff;
  position: relative;
}
.jshop_ajaxsearch form{
  position: relative;
}
#search-result{
  width: 100%;
}
.ajaxsearch{
  width: 100%;
}
.ajaxsearch .aj_img{
  width: 120px;
}
.ajaxsearch .aj_img img{
  width: 100px;
  height: auto;
}
.ajaxsearch .detailsearch{
  font-size: 16px;
  color: var(--black);
}
.ajaxsearch .itemsearch:hover {
  background: var(--orange);
}
/* Поиск mod_sofona_jshop_search (макет custom:default) — в оформлении старого ajaxsearch */
.jshop_ajaxsearch .sofona-jshop-search__form{
  display: block;
}
.jshop_ajaxsearch .sofona-jshop-search__input{
  height: 40px;
  border-radius: 6px;
  font-size: 16px;
  line-height: normal;
}
.jshop_ajaxsearch .sofona-jshop-search__result{
  border: var(--border);
  border-radius: 0 0 6px 6px;
}
.jshop_ajaxsearch .sofona-jshop-search__item a{
  gap: 20px;
  font-size: 16px;
  color: var(--black);
}
.jshop_ajaxsearch .sofona-jshop-search__item a:hover,
.jshop_ajaxsearch .sofona-jshop-search__item a:focus{
  background: var(--orange);
  color: #fff;
}
.jshop_ajaxsearch .sofona-jshop-search__img{
  flex: 0 0 100px;
  width: 100px;
  height: auto;
}
.jshop_ajaxsearch .sofona-jshop-search__spinner{
  border-left-color: var(--orange);
}
.input, .controls input{
  width: 100%;
  height: 40px;
  background: transparent;
  border-radius: 6px;
  border-radius: 6px;
  border: var(--border);
  font-family: "Stolzl", sans-serif;
  font-size: 16px;
  color: var(--graphit);  
  outline: none;  
  padding: 0 20px;
}
textarea.input{
  height: 120px;
  padding: 13px 20px;
}
.label, .control-label{
  margin-bottom: 5px;
}
.checkbox input{
  display: none;
}
.check-label{
  display: flex;
  align-items: center;
  font-weight: 300;
}
.check-label:before {
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e901";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border: 1px solid var(--graphit);
  border-radius: 5px;
  font-size: 8px;
  color: transparent;
  transition: .4s;
  margin-right: 15px;
}
.checkbox input:checked ~ .check-label:before {
 color: var(--orange);
}
.jshop_ajaxsearch .input{  
  background: #EFEFEF;    
  padding: 0 40px 0 20px;
  border: none;
}
.jshop_ajaxsearch .submit{
  width: 60px;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  font-size: 14px;
  color: #9F9FB0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
  transition: .4s;
}
.jshop_ajaxsearch .submit:hover{
  color: var(--orange);
}
.header-links .icon-user, .header-links .icon-cart, .header-links .icon-heart{
  display: flex;
  align-items: center;
  font-size: 24px;
  color: var(--black);
  transition: .4s;  
}
.header-links .icon-user{
  margin-right: 24px;
}
.header-links .icon-cart{
  margin-right: 0;
}
.header-links .icon-user:hover, .header-links .icon-cart:hover, .header-links .icon-heart:hover{
  color: var(--orange);
}
/* Корзина и избранное в шапке (mod_sofona_jshop_cartajax / wishlistajax, макет header) */
.header-links .header-cart-link{
  position: relative;
  text-decoration: none;
}
.header-links .header-cart-count{
  position: absolute;
  top: -2px;
  right: -4px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--orange);
  color: #fff;
  font-family: "Stolzl", sans-serif !important;
  font-size: 11px;
  line-height: 1;
}
.header-wishlist{
  margin-right: 24px;
}
.header-links .icon-heart:before, .header-links .icon-cart:before{
  margin-top: 3px;
}
.header .bottom{
  background: var(--black);
}



/*======================*/

.main-slider .swiper-slide{
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  background-color: #F7F7F7;
  padding-bottom: 31%;
}
.main-slider .slide1{
  background-image: url(/images/main-slider/01.jpg);
}
.main-slider .slide2{
  background-image: url(/images/main-slider/02.jpg);
}
.main-slider .slide3{
  background-image: url(/images/main-slider/03.jpg);
}
.main-slider .slide4{
  background-image: url(/images/main-slider/04.jpg);
}
.main-slider .slide1-ru{
  background-image: url(/images/main-slider/01_ru.jpg);
}
.main-slider .slide2-ru{
  background-image: url(/images/main-slider/02_ru.jpg);
}
.main-slider .slide3-ru{
  background-image: url(/images/main-slider/03_ru.jpg);
}
.main-slider .slide4-ru{
  background-image: url(/images/main-slider/04_ru.jpg);
}
/* Слайды модуля mod_slider (макет custom:main) — картинкой, а не фоном */
.main-slider .swiper-slide.slide-img{
  padding-bottom: 0;
}
.main-slider .slide-img img{
  display: block;
  width: 100%;
  height: auto;
}

/*.main-slider .info .item{
  font-size: 15px;
  border-radius: 6px;
  border: 0.5px solid var(--black);
  padding: 8px 10px;
  margin: 0 6px 6px 0;
}
.main-slider .info .item.orange{
  color: var(--orange);
  border-color: var(--orange);
}*/
.main-slider-nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 120px);
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.slider-prev, .slider-next{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid var(--graphit);
  color: var(--graphit);
  font-size: 10px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  cursor: pointer;
  transition: .4s;
}
.slider-prev:hover, .slider-next:hover{
  color: var(--orange);
  border-color: var(--orange);
}
.main-cats .top{
  padding: 60px 0 50px;
}
.main-cats .top .text{
  max-width: 450px;
}
.main-cats .cat-item{
  width: 50%;
  position: relative;
  z-index: 2;
  overflow: hidden;  
  padding: 9% 15px;
}
.main-cats .cat-item .bg{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  object-fit: cover;
  transition: .8s;
}
.main-cats .cat-item:hover .bg{
  transform: scale(1.05);
}
.main-cats .cat-item:before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .4);
  transition: .5s;
}
.main-cats .cat-item:hover:before{
  background: rgba(0, 0, 0, .2);
}
.main-cats .cat-item .ttl, .main-cats .cat-item .btn{
  position: relative;
  z-index: 2;
}
.main-text{
  background: var(--grey-bg);
}
.main-text .wrapper{
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.main-text .text{
  column-count: 2;
  column-gap: 90px;
}
.main-text .text p{
  display: inline-block;
  margin-bottom: 25px;
}
.main-advan{
  background-image: var(--gr);
  background-color: var(--orange);
  padding: 25px 0 30px;
}
.main-advan .wrapper{
  display: flex;
  justify-content: space-between;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.main-advan .item{
  display: flex;
  padding: 33px 10px;
}
.main-advan .ico{
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 20px;
}
.main-advan .text{
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.32px;
  text-transform: uppercase;
}
.main-advan .caption{
  display: block;
  max-width: max-content;
  font-size: 11px;
  border: 1px solid #fff;
  border-radius: 6px;
  padding: 8px 10px;
  margin-top: 5px;
}


/*===============================*/
.footer{
  background: var(--black);
}
.footer .top{
  padding: 90px 0 200px;
}
.footer-contacts{
  width: 260px;
  margin-right: 10%;
}
.footer .logo{
  color: var(--light);
  font-size: 34px;
  margin-bottom: 65px;
}
.footer-contacts .item{
  display: flex;
  font-size: 15px;
  color: var(--light);
}
.footer-contacts a.item:hover{
  color: var(--orange);
}
.footer-contacts .item:before{
  font-size: 20px;
  color: var(--orange);
  margin-right: 18px;
}
.footer-contacts .phones a{
  display: block;
  color: var(--light);
  margin-bottom: 12px;
}
.footer-contacts .phones a:hover{
  color: var(--orange);
}
.footer-menu .ttl{
  font-size: 13px;
  color: var(--light);
  text-transform: uppercase;
}
.footer-menu a{
  display: block;
  font-size: 11px;
  color: #828285;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.footer-menu a:hover{
  color: var(--orange);
}
.footer-subscribe{
  width: 24%;
  min-width: 250px;
}
.footer-subscribe .text{
  color: var(--light);
}
.subscribe-form{
  position: relative;
  margin-bottom: 60px;
}
.subscribe-form .input{
  width: 100%;
  height: auto;
  background: transparent;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #53535F;
  color: #828285;
  font-size: 16px;
  transition: .4s;
  padding: 15px 55px 24px 18px;
}
.subscribe-form .input:focus{
  border-color: var(--orange);
}
.subscribe-form .icon-next{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #212129;
  color: #fff;
  font-size: 11px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  transition: .4s;
}
.subscribe-form .icon-next:hover{
  background: var(--orange);
}
/* подписка на mod_sfnforms (custom:subscribe) */
.contact-form label.error{
  display: block;
  color: #e5484d;
  font-size: 12px;
  margin: -6px 0 10px;
}
.contact-form .mod-sfnforms-error-msg{
  color: #e5484d;
  font-size: 13px;
  margin-bottom: 15px;
}
.contact-form .mod-sfnforms-error-msg .alert{
  padding: 0;
  margin: 0;
  border: none;
  background: none;
}
.subscribe-form label.error,
.subscribe-form .mod-sfnforms-error-msg{
  display: block;
  color: #e5484d;
  font-size: 12px;
  margin-top: 8px;
  padding-left: 18px;
}
.subscribe-form .mod-sfnforms-error-msg .alert{
  padding: 0;
  margin: 0;
  border: none;
  background: none;
}
.sfnforms .subscribe-form.preloader::after{
  top: 8px;
  left: auto;
  right: 8px;
  width: 24px;
  height: 24px;
  margin: 0;
  border-width: 2px;
  border-top-color: var(--orange);
}
.subscribe-form.preloader .icon-next{
  color: transparent;
}
.sfnforms-thanks .modal-wrapper{
  max-width: 360px;
}
.social a{
  color: #828285;
  text-align: center;
  font-size: 11px;
  text-transform: uppercase;
  margin-right: 12px;
}
.social a:before{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #212129;
  color: #fff;
  font-size: 16px;
  margin: 0 auto 10px;  
}
.social a:last-child{
  margin-right: 0;
}
.social .icon-fb:before{
  font-size: 20px;
}
.social a:hover{
  color: var(--orange);
}
.social a:hover:before{
  color: #fff;
  background: var(--orange);
}
.footer .bottom{
  border-top: 1px solid #9F9FB0;
  padding: 23px 0;
}
.footer .cards{
  margin-right: 10%;
}
.footer .cards img{
  margin-right: 21px;
}
.footer .copy{
  font-size: 11px;
  color: #828285;
}
.footer .privacy a{
  font-size: 11px;
  color: #828285;
  margin: 0 15px;
}
.footer .privacy a:hover{
  color: #fff;
}

/*========================*/
 .registration .wrapper, .reset .wrapper, .login .wrapper{
  max-width: 800px;
  background: #fff;
  border: 1px solid var(--graphit);
  border-radius: 6px;
  padding: 60px;
  margin: 0 auto;
 }
 #member-registration .control-group{ 
  width: calc(50% - 15px);
  margin-bottom: 20px;
 }
  #member-registration .field-spacer{
    display: none;
  }
  .registration .btn-box{
    width: 100%;
  }
  .registration .cancel{
    font-size: 16px;
    color: var(--orange);
  }
/* Поле пароля: глазик внутри поля (layouts/joomla/form/field/password.php) */
.password-group .input-group{
  position: relative;
}
.password-group .input-group input{
  width: 100%;
  padding-right: 48px;
}
.password-group .input-password-toggle{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: 0;
  color: #828285;
  cursor: pointer;
}
.password-group .input-password-toggle:hover{
  color: var(--orange);
}
.password-group .input-password-toggle svg{
  display: block;
}
.password-group .icon-eye .eye-closed,
.password-group .icon-eye-slash .eye-open{
  display: none;
}
.password-group .icon-eye-slash .eye-closed{
  display: block;
}
.password-group ~ meter{
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 6px;
}
.visually-hidden{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
  .login.page .control-group{
  margin-bottom: 20px;
}
#system-message .alert{
  background: #fff;
  border-radius: 15px;
  font-size: 16px;
  box-shadow: 0 0 5px var(--orange);
  margin-top: 15px;
  padding: 15px;
}
.reg-links a{
  color: var(--black);
}
.reg-links a:hover{
  color: var(--orange);
}
/*=====================================*/

.page-left-side{
  width: 350px;
}
.page-right-side{
  width: calc(100% - 390px);
}
.control-group{
  margin-bottom: 15px;
}
#member-profile{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#member-profile .control-group{
  width: calc(50% - 20px);
}
#member-profile .btn-box{
  width: 100%;
}
.user-menu a{
  display: block;
  font-size: 16px;
  color: var(--black);
  margin-bottom: 10px;
}
.user-menu a:hover{
  color: var(--orange);
}
.user-name, .user-login{
  font-size: 16px;
  margin-bottom: 15px;
}
.logout-form .user-menu{
  margin-bottom: 20px;
}
.logout-form .user-menu a{
  font-size: 20px;
  text-align: center;
}


/*===============================*/

.page-contacts .text-box{
  width: 50%;
  padding: 95px 0;
}
.contacts-items .item{
  width: calc(50% - 10px);
  color: var(--graphit);
  position: relative;
  padding-left: 40px;
  margin-bottom: 30px;
}
.contacts-items .item:before{
  font-size: 22px;
  color: var(--orange);
  position: absolute;
  top: 2px;
  left: 0 ;
}
.contacts-items .item:not(:last-child){
  padding-bottom: 10px;
  border-bottom: var(--border);
}
.contacts-items .item .ttl{
  font-weight: 700;
  margin-bottom: 8px;
}
.contacts-items .item a{
  display: block;
  color: var(--graphit);  
}
.contacts-items .item a:hover{
  color: var(--orange);
}
.contacts-items .item a:not(:last-child){
  margin-bottom: 12px;
}
.contacts-items .icon-mail{
  align-self: flex-start;
}
.page-contacts .form-box{
  width: 40%;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
  padding: 120px 30px 90px;
}
.contact-form .btn{
  width: 100%;
  height: 50px;
  font-size: 14px;
}

/*====================================*/

.productfull.page{
  padding: 30px 0 140px;
}
.product-wrapper{
  border-radius: 6px;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
  padding: 8px;
  margin-bottom: 18px;
}

.product-wrapper .img-box{
  width: calc(50% - 10px);
  align-self: flex-start;
  position: relative;
}
.product-img-slider{
  position: relative;
  overflow: hidden;
}
.product-img-slider .swiper-slide{
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  background: var(--light);
  cursor: zoom-in;
}
.product-img-slider .swiper-slide img{
  min-width: 50%;
  min-height: 50%;
  max-width: 100%;
  max-height: 100%;
}
.product-thumbs-slider .swiper-slide{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: .3s;
  border-radius: 4px;
  opacity: .7;
  cursor: pointer;
}
.product-thumbs-slider .swiper-slide img{
  max-width: 100%;
  max-height: 100%;
}
.product-thumbs-slider .swiper-slide:hover,
.product-thumbs-slider .swiper-slide.swiper-slide-thumb-active{
  opacity: 1;
}
.product-wrapper .info-box{
  width: calc(50% - 10px);
  padding: 25px 60px 25px 80px;
}
.prod-avail{
  display: flex;
  align-items: center;
  font-size: 11px;
  color: var(--green);
  text-transform: uppercase;
}
.prod-avail:before{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--green);
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  content: "\e901";
  font-size: 60%;
  color: #fff;
  margin-right: 8px;
}
.prod-avail.not-avail{
  color: #F54949;
}
.prod-avail.not-avail:before{
  content: "\e902";
  background: #F54949;
}
.product-wrapper .info-box form{
  width: 100%;
}
.product-wrapper .btn-wishlist{
  margin: 0 0 17px auto;
}
.product-wrapper .main-info .item{
  font-weight: 700;
  font-size: 13px;
  color: var(--graphit);
  text-transform: uppercase;
  border-radius: 6px;
  border: 0.5px solid var(--graphit, #37374A);
  padding: 6px 8px;
  margin: 0 6px 6px 0;
}
.product-wrapper .main-charact{
  padding-bottom: 8px;
  border-bottom: var(--border);
} 
.product-wrapper .main-charact .item{
  display: flex;
  color: var(--graphit);
  line-height: 15px;  
  margin-bottom: 12px;
}
.product-wrapper .main-charact .item .key{
  width: 40%;
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
}
.product-wrapper .main-charact .item .val{
  font-size: 15px;
  text-transform: capitalize;
}
.product-wrapper .prices{
  width: calc(100% - 330px);
}
.product-wrapper .prod-price{
  max-width: max-content;
  font-weight: 700;
  font-size: 16px;
  color: var(--orange);
  text-transform: uppercase;
  border: 1px solid var(--orange);
  border-radius: 6px;
  padding: 6px 8px;
}
.product-wrapper .pair-price .key{
  line-height: 1;
  color: #9F9FB0;
  margin-bottom: 3px;
}
.product-wrapper .pair-price .val{
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.6px;
  color: var(--orange);
}
.prod_qty_box{
  min-height: 38px;
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
}
.prod_qty_input{
  position: relative;
  height: 30px;
  background: #fff;  
  max-width: fit-content;
  border: none;
  padding: 0 15px 0 30px;  
}
.product-wrapper .prod_qty_input{
  margin-left: 15px;
}
.prod_qty_input input{
  width: 80px;
  height: 30px;  
  text-align: center;
  outline: none;
  background: #fff;
  color: var(--graphit);
  font-size: 15px;
  border: none;
}
.quantity-btn{
  position: absolute;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
  color: var(--graphit);
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
  user-select: none;
  transition: .4s;
  border: none;
}
.quantity-btn.minus{
  left: 0;
}
.quantity-btn.plus{
  right: 0;
}
.prod-descr .left{
  width: calc(38% - 15px);
}
.prod-descr .right{
  width: 62%;
  margin-left: auto;
}
.prod-descr .extra_fields_el{
  display: flex;
  color: var(--graphit);
  line-height: 1;
}
.prod-descr .extra_fields_el:not(:last-child){
  border-bottom: 1px dashed #EAEAEA;
  padding-bottom: 12px;
  margin-bottom: 12px;
}
.prod-descr .extra_fields_name{
  font-weight: 400;
  width: 41%;
  font-size: 11px;
  text-transform: uppercase;
  padding-right: 15px;
}
.prod-descr .extra_fields_value{
  width: 59%;
  font-size: 15px;
}
.prod-descr .pay-info .ttl{
  margin-bottom: 8px;
}
.prod-descr .pay-info .item{
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 13px;
  color: #9F9FB0;
  text-transform: uppercase;
  border: 1px solid #9F9FB0;
  border-radius: 8px;
  padding: 10.5px 20px;
  margin-bottom: 8px;
}
.prod-descr .pay-info .item:not(:last-child){
  margin-right: 8px;
}
.prod-descr .pay-info .item .ico{
  width: 27px;
  height: 27px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 8px;  
}
.prod-descr .pay-info .item:first-child{
  color: var(--orange);
  border-color: var(--orange);
}
.prod-descr .pay-info .item:last-child{
  color: var(--green);
  border-color: var(--green);
}
.prod-descr .del-info .item{
  color: var(--graphit);
  margin-bottom: 15px;
}
.prod-descr .del-info .logo-box{
  display: flex;
  align-items: center;
  height: 50px;
}
.prod-descr .del-info .item .ttl{
  margin-bottom: 8px;
}
.prod-descr .del-info .text{
  font-size: 15px;
  line-height: 1;
}
.prod-descr .del-info .caption{
  font-size: 13px;
  text-transform: uppercase;
  color: #9F9FB0;
}

/*===================*/

.products-slider .ttl-box{
  align-items: flex-end;
}
.prod-slider-nav{
  display: flex;
  justify-content: space-between;
  width: 102px;
  margin-left: 20px;
}
.product{
  border-radius: 6px;
  background: #FFF;
  overflow: hidden;
  transition: .5s;
}
.products-slider .swiper-container{
  width: calc(100% - 20px);
}
.products-slider .swiper-slide{
  opacity: .3;
  transition: .4s;
}
.products-slider .swiper-slide-visible, .products-slider .swiper-slide-active{
  opacity: 1;
}


.product:hover{
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
}

.product .img-box{
  background: #FDFDFD;
  position: relative;
  padding-bottom: 90%;
}
.product .img-box img{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: contain;
}
.product .icon-heart{
  display: flex;
  align-items: center;
  font-size: 24px;
  color: var(--graphit);
  z-index: 2;
  margin: 0 15px 0 auto;
}
.product .icon-heart:hover{
  color: var(--orange);
}
.product .img-box .tag, .product-wrapper .img-box .tag{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white, #FFF);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 4;
}
.product .info{
  padding: 20px 16px 30px;
}
.product .name a{
  max-width: 220px;
  font-size: 15px;
  line-height: 1;
  color: var(--black);
  text-transform: uppercase;
}
.product .name a:hover{
  color: var(--orange);
}
.product .main-info .item{
  font-weight: 700;
  font-size: 11px;
  color: var(--graphit);
  text-transform: uppercase;
  border-radius: 6px;
  border: 0.5px solid var(--graphit, #37374A);
  padding: 6px 8px;
  margin: 0 6px 6px 0;
}
.product .jshop_price{
  max-width: max-content;
  font-weight: 700;
  font-size: 11px;
  color: var(--orange);
  text-transform: uppercase;
  border: 1px solid var(--orange);
  border-radius: 6px;
  padding: 6px 8px;
  margin-bottom: 20px;
}
.product .pair-price .key{
  font-size: 12px;
  line-height: 1;
  color: #9F9FB0;
  margin-bottom: 3px;
}
.product .pair-price .val{
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  color: var(--orange);
}
.btn.icon-filter{
  display: none;
}
.btn.icon-filter:before{
  margin-right: 8px;
}
.control-group.box_products_sorting{
  margin: 0 0 0 auto;
}
.box_products_sorting .controls{
  display: flex;
}
.box_products_sorting #order{
  width: 190px;
  height: 40px;
  border: 1px solid #9F9FB0;
  border-radius: 6px;
  font-size: 15px;
  outline: none;
  transition: .4s;
  padding: 10px;
}
.box_products_sorting .icon-arrow{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #9F9FB0;
  border-radius: 6px;
  cursor: pointer;
  transition: .4s;
}
.box_products_sorting .icon-arrow:hover{
  border-color: var(--orange);
}
.prod-flex{
  margin-left: -4px;
  margin-right: -4px;
}
.prod-card{
  width: calc(33.33% - 8px);
  margin: 0 4px 20px;
}
.filter-box{
  width: 350px;
  align-self: flex-start;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
  
}
.filter-wrapper{
  padding: 30px 12px 60px 25px;
}
.uf_wrapper_manufacturers{
  margin-bottom: 15px;
}
.uf_options {
  max-height: 500px;
  overflow-y: auto;
}
@media (max-width: 1200.1px){
#jshop_unijax_filter .uf_wrappers{  
    padding-right: 5px;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-color:  var(--green) #F1F1F1;
  }

#jshop_unijax_filter .uf_wrappers::-webkit-scrollbar-track {background: #F1F1F1;}
}
[class^=uf_label_] {cursor: pointer;}

input[type=range]  {
  width: 100%;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
}
input[type=range]::-webkit-slider-runnable-track {
  height: 4px;
  background-color: var(--green);
}
input[type=range]::-webkit-slider-thumb {
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 50%;
  cursor: pointer;
  width:20px;
  height: 20px;
  -webkit-appearance: none;
  margin-top: -8px;
}

input[type=range]::-moz-range-track {
  height: 4px;
  background-color: var(--green);
}
input[type=range]::-moz-range-thumb {
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 50%;
  cursor: pointer;
}
.uf_input input[type="checkbox"] ~ label{
  display: inline-flex;
  align-items: center;
}
.uf_input input[type="checkbox"] ~ label:before {
  font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  content: "\e901";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  border-radius: 5px;
  border: var(--border);
  background: #fff;
  color: #fff;
  font-size: 8px;
  transition: .3s;
  margin-right: 8px;
}
.uf_input input[type="checkbox"]:checked ~ label:before {
  color: var(--orange);
  border-color: var(--orange);
}
.filter-box .btn{
  width: 100%;
  max-width: 100%;
}
/* Фильтр Sofona filters_extended — оформление как у прежнего unijax */
.filter-wrapper .jshop_filters .fblock{
  padding: 0;
  margin: 0 0 20px;
  border: 0;
}
.filter-wrapper .jshop_filters .dropdown_list .head{
  display: block;
  position: relative;
  padding: 4px 24px 4px 0;
  border-bottom: var(--border);
  font-weight: 400;
  font-size: 13px;
  text-transform: uppercase;
  cursor: pointer;
}
.filter-wrapper .jshop_filters .dropdown_list .head::before,
.filter-wrapper .jshop_filters .dropdown_list .head::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  left: auto;
  width: 6px;
  height: 1px;
  border: 0;
  background: var(--black);
  transition: all .3s ease-out;
  transform: translate(-2px, -50%) rotate(45deg);
}
.filter-wrapper .jshop_filters .dropdown_list .head::after{
  transform: translate(2px, -50%) rotate(-45deg);
}
.filter-wrapper .jshop_filters .dropdown_list .head.open::before{
  background: var(--orange);
  transform: translate(-2px, -50%) rotate(-45deg);
}
.filter-wrapper .jshop_filters .dropdown_list .head.open::after{
  background: var(--orange);
  transform: translate(2.5px, -50%) rotate(45deg);
}
.filter-wrapper .jshop_filters .dropdown_list .fblock:has(input[type=checkbox]:checked) > .head{
  color: var(--orange);
}
/* как в unijax: характеристика с одним значением не показывается (кроме выбранной) */
.filter-wrapper .jshop_filters .fblock:has(> .filters-lists):not(:has(.filter_item ~ .filter_item)):not(:has(input[type=checkbox]:checked)){
  display: none;
}
/* диапазон — без стрелки, всегда раскрыт */
.filter-wrapper .jshop_filters .dropdown_list .fblock:has(> .ch_slider) > .head{
  pointer-events: none;
}
.filter-wrapper .jshop_filters .dropdown_list .fblock:has(> .ch_slider) > .head::before,
.filter-wrapper .jshop_filters .dropdown_list .fblock:has(> .ch_slider) > .head::after{
  display: none;
}
.filter-wrapper .jshop_filters .dropdown_list .fblock > .filters-lists,
.filter-wrapper .jshop_filters .dropdown_list .fblock > .filter_item{
  margin: 20px 0 0;
  max-height: 500px;
  overflow-y: auto;
}
.filter-wrapper .jshop_filters .filter_item{
  display: flex;
  align-items: center;
  border-bottom: var(--border);
  padding-bottom: 6px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1;
}
.filter-wrapper .jshop_filters .filter_item label{
  display: inline-flex;
  align-items: center;
  padding: 2px 5px;
  margin: 0;
  cursor: pointer;
}
.filter-wrapper .jshop_filters .filter_item:hover label{
  color: var(--orange);
}
.filter-wrapper .jshop_filters .filter_item input[type=checkbox]{
  display: none;
}
.filter-wrapper .jshop_filters .filter_item .label-checkbox{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-right: 8px;
  border-radius: 5px;
  border: var(--border);
  background: #fff;
  transition: .3s;
}
.filter-wrapper .jshop_filters .filter_item .label-checkbox:before{
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  content: "\e901";
  font-size: 8px;
  color: #fff;
  transition: .3s;
}
.filter-wrapper .jshop_filters .filter_item input[type=checkbox]:checked ~ .label-checkbox{
  border-color: var(--orange);
}
.filter-wrapper .jshop_filters .filter_item input[type=checkbox]:checked ~ .label-checkbox:before{
  color: var(--orange);
}
.filter-wrapper .jshop_filters .filter_item input:disabled ~ .finame,
.filter-wrapper .jshop_filters .filter_item input:disabled ~ .fcount{
  color: #999;
}
.filter-wrapper .jshop_filters .filter_item.disabled label{
  cursor: default;
}
.filter-wrapper .jshop_filters .filter_item.disabled:hover label{
  color: inherit;
}
.filter-wrapper .jshop_filters .ch_slider{
  margin-top: 20px;
}
.filter-wrapper .jshop_filters .ch_slider .amount{
  display: none;
}
.filter-wrapper .jshop_filters .filter_item .fcount{
  margin-left: 5px;
  font-size: 12px;
  color: var(--black);
}
.filter-wrapper .jshop_filters .ch_slider_inputs{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.filter-wrapper .jshop_filters .ch_slider_inputs input{
  width: 38%;
  height: 30px;
  font-size: 14px;
  text-align: center;
  background: var(--grey-bg);
  border: none;
  border-radius: 6px;
  outline: none;
}
.filter-wrapper .jshop_filters .ch_slider_sep{
  margin: 0 8px;
}
.filter-wrapper .jshop_filters .ch_slider_limits{
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  font-size: 11px;
  color: #777;
}
.filter-wrapper .jshop_filters .ui-slider{
  height: 4px;
  margin: 0 8px;
  border: 0;
  background: var(--grey-bg);
}
.filter-wrapper .jshop_filters .ui-slider .ui-slider-range{
  background: var(--orange);
}
.filter-wrapper .jshop_filters .ui-slider .ui-slider-handle{
  top: -6px;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border: 2px solid var(--orange);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  outline: none;
}
.filter-wrapper .jshop_filters .controls{
  padding-top: 10px;
}
.filter-wrapper .jshop_filters .controls .btn{
  width: 100%;
  max-width: 100%;
  margin-bottom: 10px;
}
.filter-wrapper .jshop_filters .controls .btn-go{
  background: var(--black);
  border: 1px solid var(--black);
  color: #fff;
}
.filter-wrapper .jshop_filters .controls .clear_filter_mod{
  background: #fff;
  border: 1px solid var(--black);
  color: var(--black);
}
.filter-wrapper .jshop_filters .controls .btn-go:hover,
.filter-wrapper .jshop_filters .controls .clear_filter_mod:hover{
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
/* выезжающая панель (до 1200px, media.css): список прокручивается, кнопки прилипают к низу, как в unijax */
@media screen and (max-width: 1200px){
  .filter-box .filter-wrapper{
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 0;
  }
  .filter-wrapper .jshop_filters .controls_bottom{
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: #fff;
    padding: 10px 0 20px;
  }
}
/* Прелоадер на кнопке «Купить» / «В избранное» во время запроса (js/cart.js) */
.button_buy.is-loading, .btn.buy.is-loading,
.product-button-wishlist.is-loading, .btn-wishlist.is-loading{
  position: relative;
  pointer-events: none;
  color: transparent !important;
}
.button_buy.is-loading:before, .btn.buy.is-loading:before,
.product-button-wishlist.is-loading:before, .btn-wishlist.is-loading:before{
  visibility: hidden;
}
.button_buy.is-loading:after, .btn.buy.is-loading:after,
.product-button-wishlist.is-loading:after, .btn-wishlist.is-loading:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: tpl-cart-spin .7s linear infinite;
}
.product-button-wishlist.is-loading:after, .btn-wishlist.is-loading:after{
  border-color: rgba(245, 114, 73, .25);
  border-top-color: var(--orange);
}
@keyframes tpl-cart-spin{
  to{ transform: rotate(360deg); }
}
/* Окно «Товар добавлен» (js/cart.js); положение и затемнение раньше задавал скрипт старого модуля корзины */
#DOMWindowOverlay{
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, .85);
}
#DOMWindow{
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 10001;
  width: 400px;
  transform: translate(-50%, -50%);
  background: #fff;
}
#DOMWindow{
  max-width: calc(100% - 10px);
  min-height: 330px;
  border: none!important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 6px;
  padding: 30px!important;
}
#DOMWindow .modal_header{
  text-decoration: none;
  color: var(--black);
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.32px;
  text-transform: uppercase;
  text-align: left;
  margin-bottom: 20px;
}
#DOMWindow .modal_text{
  position: relative;
  border-radius: 6px;
  background: rgba(245, 114, 73, 0.08);
  font-weight: 700;
  font-size: 14px;
  text-align: left;
  padding: 12px 30px 12px 65px;
  margin-bottom: 20px;
}
#DOMWindow .modal_text:before{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: 24px;
  position: absolute;
  top: 12px;
  left: 12px;
}

#DOMWindow .btn{
  width: 100%;
  min-width: 100%;
}
#DOMWindow .modal_err{
  font-size: 18px;
  font-weight: 700;
  color: var(--orange);
}
#DOMWindow .modal_quantity, #DOMWindow .modal_summ{
  color: var(--orange);
}
.cart-wrapper{
  border-radius: 6px;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
  padding-bottom: 60px;
}
.cart_empty_text{
  margin-bottom: 16px;
}
.cartwishlist {
  margin-bottom: 30px;
}

.cart {
  width: 100%;  
}

.cart th{
  text-align: left;
  font-weight: 400;
  font-size: 11px;
  color: #9F9FB0;
  padding-right: 10px;
}
.cart tr{
  display: flex;
  width: calc(100% - 60px);
  border-bottom: var(--border);
  padding: 15px 30px;
}
.cart td{
  padding-right: 10px;
}
.cart .mobile-cart{
  display: none;
}
.cart .jshop_img_description_center{
  width: 120px;
  text-align: center;
  margin-right: 5%;
}
.cart .product_name{
  flex: 1;
}
.cart .product_code, .cartwishlist .quantity, .cart .product_ean{
  width: 9%;
}
.cart .quantity{
  width: 12%;
}
.cartwishlist .quantity{
  width: 7%;
}
.cart .pair_price, .cart .single_price, .cart .total_price{
  width: 10%;  
}
.cart td.quantity, .cart td.product_ean{
  font-size: 16px;
  color: var(--graphit);
}
.cart .pair-price, .cart .single-price, .cart .total-price{
  max-width: max-content;
  font-weight: 700;
  font-size: 13px;
  color: var(--graphit);
  text-transform: uppercase;
  border-radius: 6px;
  border: 0.5px solid var(--graphit, #37374A);
  padding: 5px 8px;
}
.cart .total-price{
  color: var(--orange);
  border-color: var(--orange);
}
.cart .remove_to_cart{
  width: 12%;
}
.cart .remove_to_cart .btn{
  height: 31.5px;
}
.cart .data{
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.wishlist_empty_text, .cart_empty_text{
  font-size: 20px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 50px;
}
.cart .remove{
  width: 20px;
}
.cart .icon-close{
  color: var(--graphit);
}
.cart .icon-close:hover{
  color: var(--orange);
}
.cart .product_name .prod-name{
  font-size: 16px;
  color: var(--graphit);
  margin-bottom: 10px;
}
.cart .product_name .prod-name:hover{
  color: var(--orange);
}
.cart .list_extra_field{
  display: flex;
  flex-wrap: wrap;
}
.cart .jshop_cart_extra_field{
  font-weight: 700;
  font-size: 11px;
  color: var(--graphit);
  text-transform: uppercase;
  border-radius: 6px;
  border: 0.5px solid var(--graphit, #37374A);
  padding: 6px 8px;
  margin: 0 6px 6px 0;
}
.cart .prod_qty_input{
  margin: 0;
}
.cart-total{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 390px;
  height: 70px;
  border-radius: 6px;
  background: rgba(245, 114, 73, 0.08);
  margin: 20px 30px 20px auto;
}
.cart-total .name{
  color: var(--graphit);
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.32px;
  text-transform: uppercase;
  margin-right: 12px;
}
.cart-total .value{
  max-width: max-content;
  font-weight: 700;
  font-size: 16px;
  color: var(--orange);
  text-transform: uppercase;
  border-radius: 6px;
  border: 0.5px solid var(--orange);
  padding: 5px 12px;
}
.cart_buttons #checkout{
  max-width: 390px;
  display: flex;
  justify-content: space-between;
  margin: 0 30px 0 auto;
}
.cart_buttons .btn{
  width: 100%;
  max-width: calc(50% - 5px);
}

/*===========================*/

.page.checkout{
  counter-reset: ttl;
}

.checkout__col { width: calc(50% - 15px); align-self: flex-start; }

.checkout__inputs-box { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0px -10px; }

.checkout__inputs-box_divider { margin-top: 15px; padding-top: 5px; border-top: 1px solid #ddd; }

.checkout__input-box { padding: 5px 0px; }

.checkout__input-box_half { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; padding: 5px 10px; }

.checkout-ttl{
  font-weight: 400;
  font-size: 16px;  
  border-bottom: var(--border);
  text-transform: uppercase;
  line-height: 1.2; 
  letter-spacing: -0.32px;
  padding: 0 12px 8px;
  margin-bottom: 8px;
}
.checkout-ttl.counter:before{
  counter-increment: ttl;
  content: '0'counter(ttl)'/ ';
  color: var(--orange);
}
.page.checkout .check-item{
  padding: 10px;  
}
.page.checkout .check-item:not(:last-child){
  border-bottom: var(--border);
}
.page.checkout .check-item.active{
  box-sizing: border-box;
  border-color: rgba(245, 114, 73, 0.08);
  border-radius: 6px;
  background: rgba(245, 114, 73, 0.08);
}
.page.checkout .check-item .info{
  display: none;
}
.page.checkout .check-item.active .jshop_payment_method{
  margin-top: 10px;
}
.page.checkout .check-item.active .info{
  display: block;
  padding-left: 24px;
}
.page.checkout .checkbox input[type="radio"] ~ label,
.page.checkout .checkbox input[type="checkbox"] ~ label,
.page.checkout #cbAgree
{
  display: flex;
  align-items: center;
}
.page.checkout #cbAgree{
  margin-bottom: 16px;
}
.page.checkout .checkbox input[type="radio"] ~ label:before,
.page.checkout .checkbox input[type="checkbox"] ~ label:before,
.page.checkout #cbAgree:before
{
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e901";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border-radius: 5px;
  border: var(--border);
  background: #fff;
  color: #fff;
  font-size: 8px;
  transition: .3s;
  margin-right: 8px;
  flex-shrink: 0;
}
.page.checkout input[type="radio"]:checked ~ label:before,
.page.checkout input[type="checkbox"]:checked ~ label:before,
.page.checkout #cbAgree.active:before
{
  color: var(--orange);
  border-color: var(--orange);
}
.page.checkout .checkbox label{
  font-size: 14px;
}
.page.checkout input[type="radio"]:checked ~ label{
  font-weight: 400;
}
.page.checkout .map-box{
  height: 330px;
  border-radius: 15px;
  overflow: hidden;
}
.page.checkout .icon-pin{
  display: flex;
  align-items: center;
  color: #252525;
  margin-bottom: 8px;
  font-size: 14px;
}
.page.checkout .icon-pin:before{
  color: var(--orange);
  margin-right: 4px;
  font-size: 16px;
}
.page.checkout .np-ttl{
  margin: 5px 0 3px;
}
.page.checkout .pays-list {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
.pays-list img {
    max-height: 40px;
    max-width: 80px;
}
.pays-list img:not(last-child) {
    margin-right: 15px;
}
.checkout__col.order-box{
  width: 40%;
  background: #fff;
  box-shadow: 0px 40px 40px 2px rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  padding: 0 30px 60px;
}
.checkout .jshop_prod_cart{
  display: flex;
  position: relative;
  padding: 16px 0;
  border-bottom: 1px solid #D0D0D1;
}
.checkout .jshop_prod_cart .icon-close{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  color: var(--graphit);
  font-size: 18px;
  position: absolute;
  top: 16px;
  right: 0;
}
.checkout .jshop_prod_cart .icon-close:hover{
  color: var(--orange);
}
.checkout .jshop_prod_cart .img-box{
  width: 120px;
  height: 110px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 30px;
}
.checkout .jshop_prod_cart .img-box img{
  max-width: 100%;
  max-height: 100%;
}
.checkout .jshop_prod_cart .info{
  flex: 1;
}
.checkout .jshop_prod_cart .title{
  font-size: 19px;
  font-weight: 300;
  line-height: 1.1;
}
.checkout .jshop_prod_cart .jshop_cart_attribute{
  color: var(--orange);
}
.checkout .jshop_prod_cart .price{
  font-weight: 700;
  font-size: 13px;
  line-height: 1;  
  align-self: flex-end;
  color: var(--orange);
  text-transform: uppercase;
  border: 1px solid var(--orange);
  border-radius: 6px;
  padding: 6px 8px;
  margin-left: 15px;
}
.checkout .jshop_subtotal{  
  width: 100%;
  border-radius: 6px;
  background: rgba(245, 114, 73, 0.08);
  padding: 20px;
  margin: 30px 0;
}
.checkout .jshop_subtotal tr{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.checkout .jshop_subtotal .name{
  font-size: 16px;
  font-weight: 400;
  line-height: 120%; 
  letter-spacing: -0.32px;
  text-transform: uppercase;
}
.checkout .jshop_subtotal .value{
  font-weight: 700;
  font-size: 16px;
  line-height: 1;  
  color: var(--orange);
  text-transform: uppercase;
  border: 1px solid var(--orange);
  border-radius: 6px;
  padding: 6px 8px;
}
.shipping_form table{
  width: 100%;
}

/*=========================*/

.no_products_filter{
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  color: var(--orange);
}
.jshop_list_manufacturer{
  margin-left: -10px;
  margin-right: -10px;
}
.jshop_list_manufacturer .item{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: calc(25% - 20px);
  height: 80px;
  border: var(--border);
  border-radius: 6px;
  color: var(--black);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  padding: 0 10px;
  margin: 0 10px 20px;
}
.jshop_list_manufacturer .item:hover{
  background: var(--grey-bg);
}
.manuf-nav{
  max-width: 608px;
  margin-left: 15px;
}
.manuf-nav .ttl{
  color: var(--graphit, #3);
  font-weight: 400;
  font-size: 11px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.manuf-nav > .flex{
  margin-left: -2px;
  margin-right: -2px;
}
.manuf-nav > .flex a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 0.5px solid var(--graphit);
  font-size: 11px;
  text-transform: uppercase;
  color: var(--graphit);
  margin: 0 2px 4px;
}
.manuf-nav > .flex a:hover{
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.inner-page .main-text{
  background: transparent;
}
.main-text h2{
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.main-text h3, .main-text h4{
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.main-text h2:not(:first-child){
  margin-top: 30px;
}
.main-text h3:not(:first-child){
  margin-top: 20px;
}
.main-text p{
  margin-bottom: 10px;
}
.page-about .img-box{
  width: 40%;
}
.page-about .text-box{
  width: 45%;
}
.main-text ul li{
  position: relative;
  padding-left: 14px;
  margin-bottom: 10px;
}
.main-text ul li:before{
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--orange);
  position: absolute;
  top: .5em;
  left: 0;
}
.main-text a{
  color: var(--orange);
}
.list-orders{
  margin-left: -10px;
  margin-right: -10px;
}
.list-orders .item{
  width: calc(25% - 20px);
  border-radius: 15px;
  border: var(--border);
  padding: 10px;
  margin: 0 10px 20px;
}
.list-orders .item .btn{
  width: 100%;
  margin: 0 auto;
}
.myorders_total{
  font-size: 16px;
  font-weight: 700;
}
.myorders_total .price{
  color: var(--orange);
}
.jshop_subtotal{
  padding: 16px 0 8px;
  width: 100%;
  border-bottom: var(--border);
}
.jshop_subtotal tr{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;  
}
.jshop_subtotal .name{
  font-size: 16px;
}
.jshop_subtotal .value{
  font-size: 16px;
  color: var(--orange);
}

/*==============================*/

#list_np_cities{
  max-height: 300px;
  overflow-y: auto;
}

.uk-form select, .uk-form textarea, .uk-form input{
  font-family: "Stolzl", sans-serif;
}
.select2-container--default{
  font-family: "Stolzl", sans-serif;

}
.select2-container--default .select2-selection--single{
  display: flex;
  align-items: center;
  height: 44px;
  border-radius: 6px;
  border: var(--border);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: 16px;
  line-height: 1;
  color: #5F5F5F;
  padding: 4px 14px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
}
#params5np_servicetype{
  width: 100%;
}
@media (max-width: 550px){
  .page.checkout .check-item.active .info {padding-left: 0}  
}
#shipping_form_5 tr{
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
}
#shipping_form_5 td{
  width: 100%;
}

/* Оформление заказа Sofona One-Step Checkout (шаблон custom) — как прежний onestepcheckout J3 */
.sofona-osc input[type="text"],
.sofona-osc input[type="tel"],
.sofona-osc input[type="email"],
.sofona-osc textarea{
  width: 100%;
  height: 44px;
  padding: 4px 6px;
  border: var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font-size: 16px;
  font-family: inherit;
  transition: all linear 0.2s;
}
.sofona-osc textarea{
  height: 80px;
  resize: none;
  font-weight: 200;
  margin-bottom: 15px;
}
.sofona-osc .add_info{
  margin-top: 10px;
}
.sofona-osc .prod_qty_input input{
  height: 30px;
  padding: 0;
  border: none;
  font-size: 16px;
  -moz-appearance: textfield;
}
.sofona-osc .prod_qty_input input::-webkit-outer-spin-button,
.sofona-osc .prod_qty_input input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.sofona-osc .row_agb{
  margin-top: 18px;
  font-size: 13px;
  color: #5F5F5F;
}
.sofona-osc .row_agb a{
  color: #5F5F5F;
  text-decoration: underline;
}
.sofona-osc .row_agb a:hover{
  color: var(--orange);
}
/* в итоге — только «Всього до сплати» (товары выше, доставка бесплатна), как на J3 */
.sofona-osc [data-sofona-summary] .cartcheckout,
.sofona-osc [data-sofona-summary] tr.subtotal,
.sofona-osc [data-sofona-summary] tr.shipping{
  display: none;
}
.sofona-osc__error{
  display: block;
  font-size: 12px;
  color: #d85030;
}
.sofona-osc__error:empty{
  display: none;
}
.sofona-osc__field.has-error input,
.sofona-osc__field.has-error textarea{
  border-color: #d85030;
  background: #fff1f0;
}
.sofona-osc__errors{
  display: none;
  margin-bottom: 15px;
  padding: 10px;
  border: 1px solid rgba(216, 80, 48, 0.3);
  border-radius: 6px;
  background: #fff1f0;
  color: #d85030;
}
.sofona-osc [data-sofona-summary].is-loading,
.sofona-osc [data-sofona-payments].is-loading,
.sofona-osc [data-sofona-shippings].is-loading{
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* копирайт JoomShopping (на J3 убирали правкой ядра tables/config.php) */
#mxcpr{
  display: none;
}
