@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Light.ttf");
    font-weight: 300;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-LightItalic.ttf");
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Medium.ttf");
    font-weight: 500;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-MediumItalic.ttf");
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Thin.ttf");
    font-weight: 100;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-ThinItalic.ttf");
    font-weight: 100;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Regular.ttf");
    font-weight: 400;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Italic.ttf");
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-ExtraLight.ttf");
    font-weight: 200;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-ExtraLightItalic.ttf");
    font-weight: 200;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Bold.ttf");
    font-weight: 700;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-BoldItalic.ttf");
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-DemiBold.ttf");
    font-weight: 600;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-DemiBoldItalic.ttf");
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-BlackItalic.ttf");
    font-weight: 900;
    font-style: italic;
}
@font-face {
    font-family: "TT Firs Neue";
    src: url("../fonts/TTFirsNeue-Black.ttf");
    font-weight: 900;
}

html {
    height: 100%;
}
body {
    height: 100%;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    font-size: 17px;
    font-weight: normal;
    font-family: "TT Firs Neue";
    line-height: 1.4;
    color: #030303;
    background-color: #ffffff;
    min-width: 320px;
}
.soc {
    width: 23px;
    vertical-align: sub;
}
.main {
    flex: 1 0 auto;
}
.header,
.footer {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    line-height: 1.1;
    font-weight: 600;
    font-family: inherit;
    color: #0a0a28;
}
.h1 {
    padding: 16px 15px;
    font-size: 22px;
    border-bottom: 1px solid #e1e8ed;
    background-color: #fff;
    margin: 0;
}
.h2 {
        padding: 19px 8px;
    font-size: 19px;
    border-bottom: 1px solid #e1e8ed;
    background-color: #fff;
    margin: 0;
    font-weight: 600;
    text-transform: uppercase;
}
.h3 {
    font-size: 18px;
    margin: 0 0 15px;
}
.h4 {
    font-size: 16px;
    color: #606060;
    margin: 0 0 5px;
}
.h5 {
    font-size: 14px;
    color: #606060;
    margin: 0 0 5px;
}
a {
    color: inherit;
    text-decoration: underline;
}
a:hover,
a:active {
    text-decoration: none;
}
.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.row {
    margin-right: -15px;
    margin-left: -15px;
}
.row:after,
.container:after,
.clearfix:after {
    clear: both;
    content: " ";
    display: block;
}
.hidden {
    display: none!important;
}
.center {
    text-align: center;
}
.fleft {
    float: left;
}
.fright {
    float: right;
}
.nowrap {
    white-space: nowrap;
}
.table {
    width: 100%;
    margin-bottom: 1rem;
    text-align: left;
}
.table th,
.table td {
    padding: 8px;
    vertical-align: top;
    border: 1px solid #e8e8e1;
}
.table_striped tbody tr:nth-of-type(odd) {
    background-color: #f5f6f7;
}
.fit_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.label_block {
    display: block;
    margin-bottom: 5px;
}
/* Form */
.form_group {
    position: relative;
    margin-bottom: 20px;
}
.form_input {
    line-height: 44px;
    height:44px;
    background-color: #fff;
    border: 1px solid #e8e8e1;
    border-radius: 2px;
    padding: 0 15px;
    width: 100%;
    font-family: inherit;    font-size: 13px;
}

.form_select {
    width: 100%;
    height: 39px;
    line-height: 35px;
    padding: 0 35px 0 15px;
    border: 2px solid #e1e8ed;
    border-radius: 2px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(../images/icons/select-arrow.svg);
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 12px 8px;
    cursor: pointer;
    margin-top: 5px;
}

.form_placeholder{
    transition: all 0.1s linear 0s;
    line-height: 1;
    display: table;
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 1;
    cursor: text;
    font-family: inherit;
    color: rgb(146, 146, 146);    font-size: 13px;
}
.form_placeholder.active,
.filled .form_placeholder,
.placeholder_focus.error ~ label ~ .form_placeholder,
.placeholder_focus:focus ~ .form_placeholder {
    font-size: 85%;
    background: rgb(255, 255, 255);
    padding: 0 5px;
    top: -5px;
    cursor: default;
    color: rgb(146, 146, 146);
}
.placeholder_focus:-webkit-autofill,
.placeholder_focus:-webkit-autofill:hover,
.placeholder_focus:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px #fff inset;
    box-shadow: 0 0 0 30px #fff inset;
    -webkit-text-fill-color: inherit !important;
}
.form_placeholder.active,
.filled .form_placeholder,
.placeholder_focus.error ~ label ~ .form_placeholder,
.placeholder_focus:focus ~ .form_placeholder,
.placeholder_focus:-webkit-autofill ~ .form_placeholder,
.placeholder_focus:-webkit-autofill:focus ~ .form_placeholder,
.placeholder_focus:focus ~ .form_placeholder{
    font-size: 85%;
    background: rgb(255, 255, 255);
    padding: 0 5px;
    top: -5px;
    cursor: default;
    color: rgb(146, 146, 146);
}
.form_placeholder{
    pointer-events:none;
}
.form_textarea {
    display: block;
    width: 100%;
    border: 1px solid #e8e8e1;
    border-radius: 2px;
    background-color: #fff;
    padding: 15px;
    font-family: inherit;    font-size: 13px;
}
.captcha {
    display: inline-block;
    vertical-align: top;
    margin: 0 17px 10px 0;
}
.form_captcha{
    display: inline-block;
    position: relative;
    margin: 0 0 0 17px;
    vertical-align: top;
}
.input_captcha {
    width: 130px;
    line-height: 38px;
    vertical-align: top;
    height:40px;
}
.secret_number {
    border: 1px solid #e8e8e1;
    padding: 9px;
    border-radius: 2px;
    background: #f5f8f9;
    display: inline-block;
    position: relative;
    text-shadow: 1px 1px #000000, -1px 1px mediumturquoise, -1px -1px mediumturquoise, 1px -1px mediumturquoise;
    color: white;
    font-weight: 600;
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;
    pointer-events: none;
    cursor: pointer;
}
/*.secret_number:before {
    content: "";
    position: absolute;
    top: 10px;
    right: -15px;
    bottom: -15px;
    left: 0;
    z-index: -1;
    background: linear-gradient(-45deg,
    rgba(72, 209, 204, 0) 2px, mediumturquoise 3px, rgba(72, 209, 204, 0) 3px ) repeat;
    background-size: 4px 4px;
}*/
.secret_number:after {
    content: attr(data-name);
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: -2;
    text-shadow: 1px 1px white,
    2px 2px white,
    3px 3px white,
    4px 4px white;
    color: white;
    transition: all 1s;
}
.message_error {
    clear: both;
    padding: 10px 20px;
    margin-bottom: 20px;
    color: #f00;
    background-color: #ffcaca;
    border: 1px dotted #ff4545;
}
.message_success {
    padding: 11px 23px;
    margin-bottom: 25px;
    color: #ffffff;
    background-color: #e53935;
    text-transform: uppercase;
}
.error{
    color: #f00;
    display: block;
    font-size: 13px;
}
.header_bottom.fixed {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
}
#sm_logo {
    float: right;
    font-size: 0;
    margin-left: 25px;
    margin-top: -10px;
}
#sm_logo img {
    vertical-align: top;
}
.ya_map {
    width: 100%;
    min-height: 450px;
}
.promo_img {
    position: absolute;
    max-width: 60px;
    max-height: 60px;
    top: 0;
    left: 0;
}
.dropdown {
    display: none;
}
.active.cat_switch::after,
.active .angle_icon,
.sort_link.active_down span::after {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.block {
    background-color: #fff;
    margin-bottom: 25px;
}
.padding {
    padding: 20px 15px 25px;
}
header a,
.top_item,
.callback,
.search_button,
.button,
.buy,
.slick-next::before,
.slick-prev::before,
.category_link,
.arrow_right,
.breadcrumbs a,
.coupon_button,
.page_link,
.subscribe_button,
.tab_navigation a,
.active.cat_switch::after,
.angle_icon,
.sort_link.active_down span::after {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
/*Кнопки*/
.button,
.disable_button {
    position: relative;
    display: inline-block;
    vertical-align: top;
    padding: 0 26px;
    font-weight: 600;
    font-family: inherit;
    font-size: 13px;
    line-height: 40px;
    letter-spacing: 0.02em;
    color: #d32f2f;
    border: 1.5px solid #d32f2f;
    border-radius: 8px;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.button {
    cursor: pointer;
}
.button:hover {
    background-color: #d32f2f;
    border-color: #d32f2f;
    color: #fff;
    box-shadow: 0 4px 14px rgba(211, 47, 47, 0.22);
    transform: translateY(-1px);
}
.button:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(211, 47, 47, 0.18);
}
.disable_button {
    opacity: 0.55;
    cursor: default;
    box-shadow: none;
}
.buy {
    font-size: 14px;
    padding: 0 22px;
    line-height: 38px;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    color: #fff;
    background: #d32f2f;
    letter-spacing: 0.03em;
    box-shadow: 0 2px 6px rgba(211, 47, 47, 0.2);
}
.buy:hover {
    background-color: #b71c1c;
    color: #fff;
    box-shadow: 0 5px 16px rgba(183, 28, 28, 0.28);
    transform: translateY(-1px);
}
.buy:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(183, 28, 28, 0.2);
}
.comparison_button,
.wishlist_button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: auto;
    right: auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #555;
    background-color: #fff;
    background-image: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.comparison_button::before,
.wishlist_button::before {
    content: "";
    width: 16px;
    height: 14px;
    background-color: currentColor;
    -webkit-mask: url(../images/icons/mask-compare.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-compare.svg) center / contain no-repeat;
}
.wishlist_button::before {
    -webkit-mask-image: url(../images/icons/mask-heart.svg);
    mask-image: url(../images/icons/mask-heart.svg);
}
.comparison_button:hover,
.wishlist_button:hover {
    color: #d32f2f;
    transform: scale(1.06);
}
.comparison_button.selected,
.wishlist_button.selected {
    color: #fff;
    background-color: #d32f2f;
}
/* Header */
header {
 background-color: #ffffff;

}
header a {
    text-decoration: none;
}
.top_nav {
    border-bottom: 1px solid #e8e8e1;
}
.menu_switch {
    position: relative;
    float: left;
    height: 38px;
    width: 49px;
    margin-left: -15px;
    border: 0;
    border-right: 1px solid #e8e8e1;
    border-radius: 0;
    background: transparent;
    color: #b8b7b7;
    font-size: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: color 0.25s ease, background-color 0.25s ease;
}
.menu_switch:hover,
.menu_switch[aria-expanded="true"] {
    color: #d32f2f;
    background-color: rgba(211, 47, 47, 0.06);
}
.menu_switch:focus-visible {
    outline: 2px solid #d32f2f;
    outline-offset: -2px;
}
.menu_switch::before {
    content: "";
    width: 18px;
    height: 12px;
    position: absolute;
    top: 13px;
    left: 15px;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-menu.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-menu.svg) center / contain no-repeat;
}
.openmenu .menu_switch::before {
    width: 14px;
    height: 14px;
    top: 12px;
    left: 17px;
    -webkit-mask-image: url(../images/icons/mask-close.svg);
    mask-image: url(../images/icons/mask-close.svg);
}
.informers {
    float: right;
}
.informer {
    position: relative;
    float: left;
    padding: 8px 12px;
    line-height: 22px;
    font-weight: 600;
    font-size: 0;
    min-width: 49px;
    text-align: center; 
    text-transform: capitalize;
    color: #686666;
}
.informer_name,
.informer_counter {
    vertical-align: top;    font-size: 13px;
}
.informer_counter {
    margin-left: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}
.cur_switch,
.lang_switch {
    cursor: pointer;
}
.informer .dropdown {
    position: absolute;
    z-index: 2;
    background-color: #fff;
    border: 1px solid #e8e8e1;
    top: 100%;
    right: -1px;
    min-width: calc(100% + 2px);    font-size: 13px;
}
.informer .dropdown_item {
    display: block;
    padding: 5px 0;
    white-space: nowrap;
}
.informer .dropdown_item:hover {
    background-color: #e8e8e1;
}
.account_informer {
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    color: #b8b7b7;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-enter.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-enter.svg) center / contain no-repeat;
}
.wish_icon,
.compare_icon,
.angle_icon {
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 14px;
    color: #686666;
    background-color: currentColor;
    background-image: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.wish_icon{
    -webkit-mask-image: url(../images/icons/mask-heart.svg);
    mask-image: url(../images/icons/mask-heart.svg);
}
.compare_icon {
    -webkit-mask-image: url(../images/icons/mask-compare.svg);
    mask-image: url(../images/icons/mask-compare.svg);
}
.angle_icon    {
    height: 10px;
    -webkit-mask-image: url(../images/icons/mask-angle.svg);
    mask-image: url(../images/icons/mask-angle.svg);
}
.logo {
    display: block;
    font-size: 0;
    text-align: center;
    margin-top: 5px;
}
#cart_informer {
    float: right;
    margin-top: 15px;
}
.header_utils {
    display: none;
}
.cart_info {
    display: inline-block;
    position: relative;
    min-height: 32px;
    padding-left: 45px;
    font-size: 13px;
    color: #fff;
}
.cart_info::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 30px;
    height: 32px;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-cart.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-cart.svg) center / contain no-repeat;
}
.cart_counter {
    position: absolute;
    top: -5px;
    left: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 19px;
    height: 19px;
    padding: 0;
    line-height: 1;
    border-radius: 100%;
    background-color: #ffffff;
    color: #000;
    font-weight: 600;
    font-size: 13px;
    text-align: center;
}
.cart_total {
    display: block;
    font-weight: 600;
}
.times,
.phones {
    float: left;
    line-height: 21px;
    font-weight: 600;
    margin-top: 16px;
}
.times {
    font-size: 14px;
}
.phones span{
       font-size: 14px !important;
    text-transform: uppercase;
}
.phones_inner { font-size:18px}
.times_inner,
.phones_inner {
    position: relative;
    display: inline-block;
    padding-left: 45px;
}
.times_text {
    color: #686666;
    font-weight: normal;
}
.times_inner::before,
.phones_inner::before {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    top: 5px;
    left: 0;
    color: #030303;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-clock.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-clock.svg) center / contain no-repeat;
}
.phones_inner::before {
    top: 7px;
    -webkit-mask-image: url(../images/icons/mask-phone.svg);
    mask-image: url(../images/icons/mask-phone.svg);
}
.callback {
    display: block;
    float: left;
    padding: 12px 18px;
    border: 1.5px solid #1a1a1a;
    border-radius: 8px;
    line-height: 14px;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 18px;
    margin-left: 3%;
    margin-bottom: 18px;
    background-color: transparent;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.inst {
    float: left;
    width: 39px;
    margin-top: 49px; 
    margin-left: 3%; 
    
}
.callback:hover {
    border-color: #d32f2f;
    color: #d32f2f;
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.12);
    transform: translateY(-1px);
}
.callback:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.account {
    float: right;
    padding-top: 11px;
    font-size: 13px;
    margin-top: 10px;
}
.account_link {
    display: inline-block;
    position: relative;
    vertical-align: top;
    padding-left: 30px;
}
.account_link::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 32px;
    top: 4px;
    left: 0;
    color: #030303;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-account.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-account.svg) center / contain no-repeat;
}
.account_name {
    display: block;
    font-weight: 600;
    font-size: 15px;
    line-height: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 97px;
    overflow: hidden;
}
.header_bottom {
    background-color: #d32f2f ;
}
.search {
    position: relative;
    float: right;
    background-color: #b71c1c;
    margin-top: 16px;
    width: calc(100% - 50px);
}
.search_input {
    width: 100%;
    height: 31px;
    padding: 0 45px 0 20px;
    border: none;
    background: none;    font-size: 13px;
    color: #fff;
}
.search_button {
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    border-radius: 0 4px 4px 0;
    background: #d32f2f;
    width: 36px;
    height: 31px;
    line-height: 31px;
    padding: 0;
    font-size: 0;
    color: #fff;
    cursor: pointer;
    box-shadow: none;
}
.search_button:hover {
    background: #b71c1c;
}
.search_icon {
    width: 16px;
    height: 18px;
    vertical-align: middle;
}
.categories {
    position: relative;
}
/* Main header menu */
.menu_group_header {
    float: left;
}
.menu_list_1 {
    padding-left: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}
.menu_list_2,
.menu_list_3,
.menu_list_4 {
    padding-left: 0;
    list-style: none;
}
.menu_list {
    margin: 0;
}
.menu_item {
    margin-bottom: 0;
    position: relative;
}
.menu_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: inherit;
    transition: color 0.25s ease, background-color 0.25s ease;
}
.menu_link_icon {
    display: none;
}
.menu_link_text {
    display: inline;
}
.menu_chevron {
    display: inline-block;
    width: 10px;
    height: 6px;
    background-color: currentColor;
    -webkit-mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    transition: transform 0.25s ease;
    opacity: 0.7;
}
.menu_toggle {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: inherit;
}
.menu_toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 8px;
    margin: -4px 0 0 -6px;
    background-color: currentColor;
    -webkit-mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    transition: transform 0.25s ease;
}
.menu_eventer.is-open > .menu_toggle::after,
.menu_eventer.is-open > .menu_link .menu_chevron {
    transform: rotate(180deg);
}

/* Catalog menu */
.categories_heading {
    float: left;
    line-height: 60px;
    padding-left: 16px;
    padding-right: 16px;
    color: #fff;
    background-color: #b71c1c;
    font-size: 0;
    cursor: pointer;
    border: 0;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.categories_heading:hover,
.categories_heading[aria-expanded="true"] {
    background-color: #9a1818;
}
.categories_heading:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -3px;
}
.menu_icon {
    vertical-align: middle;
    flex-shrink: 0;
}
.categories_heading span {
    font-size: 14px;
    margin-left: 0;
    vertical-align: middle;
    font-weight: 500;
    letter-spacing: 0.02em;
}
.categories_nav {
    display: block;
    background-color: #fff;
    font-size: 14px;
    color: #1a1a1a;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0 0 10px 10px;
    position: absolute;
    z-index: 999;
    top: 100%;
    left: 0;
    min-width: 280px;
    max-width: 320px;
    padding: 8px 0;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}
.categories_nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.categories_menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.category_item {
    position: relative;
}
.category_link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 18px;
    border-bottom: none;
    color: #2b2b2b;
    text-decoration: none;
    border-radius: 0;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}
.category_link:hover,
.category_link.selected,
.category_item.is-open > .category_link {
    color: #d32f2f !important;
    background-color: rgba(211, 47, 47, 0.06);
}
.category_link:hover {
    padding-left: 22px;
}
.category_item .arrow_right {
    position: static;
    width: 14px;
    height: 14px;
    margin-top: 0;
    font-size: 0;
    color: #b0b0b0;
    transition: color 0.2s ease, transform 0.2s ease;
    flex-shrink: 0;
}
.category_link:hover .arrow_right,
.category_item.is-open > .category_link .arrow_right {
    color: #d32f2f;
    transform: translateX(2px);
}
.cat_switch {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 42px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
}
.cat_switch::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 12px;
    height: 8px;
    margin-top: -4px;
    background-color: #fff;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-chevron-down.svg) center / contain no-repeat;
    transition: transform 0.25s ease;
}
.cat_switch.active::after,
.category_item.is-open > .cat_switch::after {
    transform: rotate(180deg);
}
.subcategory {
    list-style: none;
    margin: 0;
    padding: 0;
}
@media (prefers-reduced-motion: reduce) {
    .menu_link,
    .menu_chevron,
    .menu_toggle::after,
    .categories_heading,
    .categories_nav,
    .category_link,
    .category_item .arrow_right,
    .cat_switch::after,
    .menu_switch {
        transition: none !important;
    }
}
/* FOOTER */
.footer_top {
    position: relative;
    padding: 23px 0;
    background-color: #fff;
    font-size: 0;
}
.payments_text {
    font-size: 14px;
    color: #0a0a28;
    display: block;
    margin: 0 0 10px;
}
.footer_bottom {
     background-color: #ffffff;
    padding: 25px 0;
    font-size: 14px;
    border-top: 1px solid #ededed;
    color: #686666;
}
#subscribe_container {
    margin-bottom: 18px;
}
.subscribe_promotext {
    margin-top: 8px;
    line-height: 1.3;    font-size: 13px;
    color: #827f7f;
}
.subscribe_form {
    position: relative;
    width: 315px;
    max-width: 100%;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-weight: 600;    font-size: 13px;
}
.subscribe_input {
    width: 100%;
    height: 32px;
    padding: 0 125px 0 10px;
    background-color: #fff;
    border: none;
    color: #827f7f;
}
.subscribe_button {
    position: absolute;
    top: 0;
    right: 0;
    height: 32px;
    width: 115px;
    border: none;
    border-radius: 0 6px 6px 0;
    background-color: #1a1a1a;
    text-align: center;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
}
.subscribe_button:hover {
    background-color: #d32f2f;
}
.foot .h3 {
    font-weight: normal;
    margin-bottom: 18px;
}
.foot_social a {
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
    width: 32px;
    height: 32px;
    font-size: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.fb {
    background-image: url(../images/icons/social-fb.svg);
}
.vk {
    background-image: url(../images/icons/social-vk.svg);
}
.ok {
    background-image: url(../images/icons/social-ok.svg);
}
.tw {
    background-image: url(../images/icons/social-tw.svg);
}
.ins {
    background-image: url(../images/icons/social-ins.svg);
}
.foot_item {
    margin-bottom: 5px;
}
.footer_contacts,
.foot_menu {
    margin-top: -5px;
}
.footer_contacts a {
    text-decoration: none;
}
.copyright {
    padding-top: 10px;    font-size: 13px;
}
/* Main page */
.advantages {
    background-color: #f2f6f7;
    font-weight: 600;
    line-height: 18px;
    font-size: 14px;
    color: #929faf;
}
.advantage {
    position: relative;
    padding-left: 55px;
    padding-top: 20px;
    padding-bottom: 15px;
}
.advantage::before {
    content: "";
    width: 32px;
    height: 32px;
    position: absolute;
    left: 0;
    color: #929faf;
    background-color: currentColor;
    background-image: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.advantage_1::before {
    top: 17px;
    height: 23px;
    -webkit-mask-image: url(../images/icons/advantage-dolly.svg);
    mask-image: url(../images/icons/advantage-dolly.svg);
}
.advantage_2::before {
    top: 13px;
    -webkit-mask-image: url(../images/icons/advantage-recycle.svg);
    mask-image: url(../images/icons/advantage-recycle.svg);
}
.advantage_3::before {
    top: 15px;
    height: 31px;
    -webkit-mask-image: url(../images/icons/advantage-badge.svg);
    mask-image: url(../images/icons/advantage-badge.svg);
}
.advantage_4::before {
    top: 13px;
    -webkit-mask-image: url(../images/icons/advantage-truck.svg);
    mask-image: url(../images/icons/advantage-truck.svg);
}
.banners {
    font-size: 0;
    margin-bottom: 40px;
}
.banners.hero-slider,
.fn_banner_group1.hero-slider {
    overflow: visible;
}
.fn_banner_group1.hero-slider .slick-slide {
    height: auto !important;
    min-height: 0 !important;
}
.fn_banner_group1.hero-slider .slick-list,
.fn_banner_group1.hero-slider .slick-track {
    height: auto !important;
}
.fn_banner_group1.hero-slider .hero-slider__img,
.fn_banner_group1.hero-slider img {
    display: block !important;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.fn_banner_group1:not(.slick-initialized) > .hero-slider__slide:not(:first-child) {
    display: none;
}
.look_all {    font-size: 13px;
    color: #606060;
    text-align: center;
}
.main_text {
    padding-top: 12px;
    color: #606060;
    opacity: .7;
}
/* Homepage SEO block */
.main_seo {
    clear: both;
    display: flow-root;
    margin: 28px 0 32px;
    padding: 8px 0 0;
}
.main_seo .title {
    margin-bottom: 8px;
}
.main_seo .title h1 {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 600;
    color: #222;
}
.main_seo .about__wrapper {
    margin-bottom: 16px;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}
.main_seo__body {
    max-width: 100%;
    color: #4a4a4a;
    font-size: 15px;
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}
.main_seo__body p {
    margin: 0 0 14px;
}
.main_seo__body h2 {
    margin: 26px 0 10px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    color: #222;
}
.main_seo__body h3 {
    margin: 20px 0 8px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    color: #333;
}
.main_seo__body a {
    color: #d32f2f;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.main_seo__body a:hover {
    text-decoration: none;
}
.main_seo__body strong {
    font-weight: 600;
    color: #222;
}
/* Homepage news — 3 per row under SEO */
.main_news {
    clear: both;
    display: flow-root;
    margin-bottom: 40px;
}
.news {
    position: relative;
}
.main_news .news {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background-color: #fff;
}
.main_news .news_item {
    float: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0;
    border-left: none;
}
.blog_item {
    border-bottom: 1px solid #e8e8e1;
    box-shadow: inset -1px 0 0 #e8e8e1;
    background-color: #fff;
    margin-bottom: 0;
}
.news_content,
.blog_content {
    padding: 25px 23px 30px;
    color: #606060;
}
.news_image,
.blog_image {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 52%;
    background-color: #f5f6f7;
    background-image: url(../images/post_img.png);
    background-position: center center;
    background-repeat: no-repeat;
}
.news_img,
.blog_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    bottom: 0;
    height: 100%;
    object-fit: cover;
}
.blog_annotation,
.news_annotation {
    opacity: .7;
    max-height: 105px;
    overflow: hidden;
}
.news_date,
.blog_date {
    margin: 12px 0 5px;
    opacity: .7;
}
.main_news .news .look_all {
    flex: 1 0 100%;
    width: 100%;
}
/* Brands */
.all_brands {
    position: relative;
}
.brands {
    box-shadow: inset 0px -1px 0 #e8e8e1;
}
.all_brands_link,
.brand_link {
    display: block;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    color: #606060;
    padding: 30px 25px;
}
.all_brands_link {
    border-left: 1px solid #e8e8e1;
}
.slick-current .all_brands_link {
    border-left: none;
}
.brand_item {
    border-bottom: 1px solid #e8e8e1;
    border-right: 1px solid #e8e8e1;
}
.brand_image,
.brand_name {
    height: 100px; 
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
}
.brand_image {
    margin-bottom: 20px;
}
.brand_img {
    vertical-align: middle;
    max-height: 100%;
}
.brand .brand_item:hover,
.all_brands_link:hover,
#fn_content .products_item:hover {
    box-shadow: none;
}
/* Product preview — modern card grid */
.main_products {
    position: relative;
}
.products,
.main_products,
.related,
.wish_products,
#fn_products_content {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2.5px 32px;
    background: transparent;
}
.preview {
    position: relative;
    padding: 0;
    height: 100%;
    width: 100%;
}
.preview_inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    transition: box-shadow 0.28s ease, transform 0.28s ease, border-color 0.28s ease;
}
.products_item {
    border: none;
    box-shadow: none;
    margin-bottom: 0;
    background: transparent;
    padding: 10px 2.5px;
    display: flex;
}
/* Override .no_padding so cards keep ~5px horizontal gap */
.products_item.no_padding {
    padding-left: 2.5px;
    padding-right: 2.5px;
}
.products_item .preview_inner {
    border: 1px solid rgba(0, 0, 0, 0.06);
}
.products_item:hover .preview_inner {
    border-color: rgba(211, 47, 47, 0.18);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}
.preview_media {
    position: relative;
    margin-bottom: 2px;
}
.overlay_buttons {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.22s ease, transform 0.22s ease;
    pointer-events: none;
}
.products_item:hover .overlay_buttons,
.preview:focus-within .overlay_buttons {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.preview_body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 12px;
}
.product_name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 600;
    height: auto;
    min-height: 2.7em;
    max-height: 2.8em;
    line-height: 1.4;
    font-size: 14px;
    color: #1a1a1a;
    margin: 0 0 10px;
    text-decoration: none;
    transition: color 0.2s ease;
}
.product_name:hover {
    color: #d32f2f;
}
.preview_image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: auto;
    aspect-ratio: 1 / 1;
    line-height: normal;
    text-align: center;
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8f8f6 0%, #f2f2ef 100%);
    overflow: hidden;
}
.preview_img {
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.35s ease;
}
.products_item:hover .preview_img {
    transform: scale(1.05);
}
.preview_form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    float: none;
    padding-top: 0;
    margin-top: auto;
    min-width: 0;
}
.preview_meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    min-width: 0;
}
.preview .price_container {
    float: none;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    line-height: 1.25;
    min-height: 0;
    padding-top: 0;
}
.preview .button {
    width: auto;
    min-width: 46px;
    height: 42px;
    line-height: 42px;
    padding: 0 16px;
    border-radius: 11px;
    font-size: 13px;
    flex: 0 0 auto;
}
.preview .button.buy .buy_label {
    display: inline;
}
.preview .button.buy .buy_icon {
    display: none;
}
.preview .price {
    font-size: 18px;
    color: #111;
    letter-spacing: -0.02em;
}
.preview .hidden + .price {
    margin-top: 0;
}
.old_price {
    font-size: 12px;
    color: #8a8a8a;
    opacity: 1;
    text-decoration: line-through;
    margin-bottom: 2px;
}
.preview .variant_select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    height: 34px;
    line-height: 32px;
    padding: 0 28px 0 10px;
    border-radius: 8px;
    border: 1px solid #e8e8e1;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    background-color: #fff;
    background-image: url(../images/icons/select-arrow.svg);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 10px 7px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
.preview .fn_not_preorder {
    margin: 0;
    font-size: 12px;
    color: #8a8a8a;
    flex: 1 1 auto;
}
.remove_link {
    display: block;
    margin: -15px 0 15px;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
}
.remove_link .remove_icon {
    margin-top: -2px;
    color: #000000;
}
.remove_link span {
    text-decoration: underline;
}
.remove_link:hover span {
    text-decoration: none;
}
.sort {
    border-bottom: 1px solid #e8e8e1;
    line-height: 17px;
    background-color: #fff;
    padding-left: 3px;
}
.sort_title {
    display: block;
    padding: 14px 12px 0;
    font-weight: 600;
    font-size: 16px;
}
.sort_link {
    float: left;
    padding: 14px 5px 14px 10px;
    text-decoration: none;
    font-size: 13px;
    border: none;
    background: none;
    cursor: pointer;
}
.sort_link.active_up,
.sort_link.active_down {
    color: #000000;
    font-weight: 600;
}
.sort_link span {
    display: inline-block;
    position: relative;
    padding-right: 21px;
}
.sort_link span::after {
    content: "";
    width: 16px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -5px;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-angle.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-angle.svg) center / contain no-repeat;
}
.sort_link.no_after span::after {
    content: none;
}
/* Cart */
.cart_page {
    max-width: 920px;
    margin: 0 auto 48px;
    padding: 8px 0 40px;
}
.cart_page_head {
    margin-bottom: 18px;
}
.cart_page_title {
    margin: 0;
    font-size: 28px;
    letter-spacing: -0.03em;
    color: #111;
}
.cart_purchases {
    margin-bottom: 28px;
}
.cart_items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cart_item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.cart_item_image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8f8f6 0%, #f1f1ee 100%);
    overflow: hidden;
    text-decoration: none;
}
.cart_item_image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.cart_item_body {
    min-width: 0;
}
.cart_item_top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}
.cart_item_info {
    flex: 1 1 auto;
    min-width: 0;
}
.cart_item_name,
.purchase_name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
    color: #111;
    text-decoration: none;
}
.cart_item_name:hover,
.purchase_name:hover {
    color: #d32f2f;
}
.cart_item_variant {
    margin-top: 4px;
    font-size: 12px;
    color: #888;
    font-style: normal;
}
.cart_item_remove,
.purchase_remove {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #999;
    background: rgba(0, 0, 0, 0.04);
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.cart_item_remove:hover,
.purchase_remove:hover,
.purchase_preorder {
    color: #d32f2f;
    background: rgba(211, 47, 47, 0.08);
}
.cart_item_remove .remove_icon,
.purchase_remove .remove_icon {
    width: 14px;
    height: 14px;
}
.remove_icon {
    width: 14px;
    height: 14px;
    vertical-align: middle;
}
.cart_item_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
}
.cart_amount.amount,
.cart_item .amount {
    display: inline-flex;
    align-items: stretch;
    width: auto;
    float: none;
    border: 1px solid #e8e8e1;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    line-height: 36px;
}
.cart_amount .minus,
.cart_amount .plus,
.cart_item .amount .minus,
.cart_item .amount .plus {
    float: none;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    user-select: none;
}
.cart_amount .input_amount,
.cart_item .amount .input_amount {
    float: none;
    width: 48px;
    height: 36px;
    border-left: 1px solid #e8e8e1;
    border-right: 1px solid #e8e8e1;
    background: #fafafa;
}
.cart_item_prices {
    text-align: right;
}
.cart_item_sum,
.purchase_sum {
    font-weight: 700;
    font-size: 16px;
    color: #111;
    letter-spacing: -0.02em;
}
.cart_item_unit {
    margin-top: 2px;
    font-size: 12px;
    color: #999;
}
.cart_summary {
    margin-top: 14px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.cart_summary_row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #555;
}
.cart_coupon {
    margin: 4px 0 14px;
}
.cart_coupon_row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cart_coupon .input_coupon {
    flex: 1 1 160px;
    width: auto;
    min-width: 0;
    height: 44px;
    border-radius: 10px;
    border: 1px solid #e1e8ed;
    padding: 0 12px;
}
.cart_coupon .coupon_button {
    height: 44px;
    border-radius: 10px;
    background: #d32f2f;
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.22);
}
.cart_coupon .coupon_button:hover {
    background: #b71c1c;
}
.cart_summary_total,
.purchase_total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    font-weight: 600;
    font-size: 15px;
    color: #111;
}
.cart_summary_total .total_sum,
.purchase_total .total_sum {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #111;
}
.cart_section_title,
.cart_page .h2 {
    margin: 0 0 14px;
    font-size: 20px;
    letter-spacing: -0.02em;
    color: #111;
}
.cart_deliveries {
    margin-bottom: 28px;
}
.cart_deliveries .delivery {
    padding: 8px 0 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.cart_deliveries .delivery_item {
    margin-bottom: 10px;
}
.cart_deliveries .delivery_label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.cart_deliveries .delivery_label.active,
.cart_deliveries .delivery_label:hover {
    border-color: rgba(211, 47, 47, 0.35);
    box-shadow: 0 4px 14px rgba(211, 47, 47, 0.08);
}
.cart_deliveries .delivery_name {
    font-size: 14px;
    color: #222;
    padding-left: 0;
}
.cart_deliveries .input_delivery {
    float: none;
    margin: 3px 0 0;
}
.cart_deliveries .delivery_description {
    margin: 8px 4px 0 28px;
    font-size: 13px;
    color: #777;
}
.cart_checkout_card {
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.cart_fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
}
.cart_fields_full {
    grid-column: 1 / -1;
}
.cart_submit {
    width: 100%;
    margin-top: 8px;
    height: 50px;
    border: none;
    border-radius: 12px;
    background: #d32f2f;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(211, 47, 47, 0.28);
    cursor: pointer;
}
.cart_submit:hover {
    background: #b71c1c;
    color: #fff;
}
.cart_page--empty {
    text-align: center;
    padding: 40px 16px 60px;
}
.cart_empty {
    max-width: 360px;
    margin: 24px auto 0;
    padding: 32px 20px;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
}
.cart_empty_icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background-color: rgba(211, 47, 47, 0.1);
    -webkit-mask: none;
    position: relative;
}
.cart_empty_icon::before {
    content: "";
    position: absolute;
    inset: 16px;
    background-color: #d32f2f;
    -webkit-mask: url(../images/icons/mask-cart.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-cart.svg) center / contain no-repeat;
}
.cart_empty p {
    margin: 0 0 18px;
    color: #666;
    font-size: 15px;
}
.cart_empty .button {
    min-width: 160px;
}
/* legacy amount controls (shared) */
.amount {
    width: 123px;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #e8e8e1;
    line-height: 34px;
}
.plus,
.minus {
    font-size: 16px;
    float: left;
    width: 28px;
    height: 34px;
    text-align: center;
    cursor: pointer;
    color: #707070;
}
.plus:hover,
.minus:hover {
    color: #030303;
}
.input_amount {
    display: block;
    float: left;
    font-size: 14px;
    text-align: center;
    background-color: #fff;
    border-top: none;
    border-bottom: none;
    border-left: 1px solid #e8e8e1;
    border-right: 1px solid #e8e8e1;
    background-color: #f7f7f7;
    padding: 0;
    margin: 0;
    height: 34px;
    width: 65px;
    text-align: center;
}
.input_coupon {
    vertical-align: top;
    width: 165px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid #e8e8e1;
    border-radius: 2px;
    font-size: 13px;
    font-family: inherit;
}
.coupon_button {
    height: 36px;
    padding: 0 22px;
    color: #fff;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    background: #1a1a1a;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.coupon_button:hover {
    background: #d32f2f;
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.22);
    transform: translateY(-1px);
}
.coupon_button:active {
    transform: translateY(0);
}
.coupon .message_error {
    margin: 0 0 10px;
    width: 285px;
}
.delivery {
    font-size: 13px;
}
.delivery_item {
    margin-bottom: 15px;
}
.delivery_description {
    margin-left: 25px;
    display: none;
}
.active + .delivery_description {
    display: block;
}
.input_delivery {
    float: left;
    margin: 7px 0 0;
}
.delivery_item img {
    vertical-align: middle;
    margin-right: 4px;
}
.delivery_name {
    display: block;
    padding-left: 25px;
}
.delivery_label {
    display: block;
    overflow: hidden;
    margin-bottom: 5px;
    font-weight: 500;
}
.active.delivery_label {
    font-weight: 600;
}
.order_details    {
    width: 100%;
}
.order_details td {
    padding: 0 0 15px;
}
.order_notify{
    background-color: #fff;
    border: 2px solid rgb(56, 192, 243);
    margin-bottom: 25px;
    padding: 18px 20px 18px;
}
.order_heading{
    color: rgb(10, 10, 40);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 600;
    font-family: inherit;
    margin-bottom: 10px;
}
.order_thank{
    color: rgb(10, 10, 40);
    font-size: 18px;
    line-height: 1.2;
    font-family: inherit;
    margin-top: 10px;
}
.order_tag{
    color: #fff;
    line-height: inherit;
    padding: 0px 8px;
    font-size: 16px;
    border-radius: 4px;
    display: inline-block;
    background-color: rgb(56, 192, 243);
}
.order_heading_promo{
    color: rgb(10, 10, 40);
    font-size: 16px;
    line-height: 1.3;
}
.method_name {
    font-weight: 600;
    font-size: 16px;
}
.method_form {
    margin: 15px 0;
}
.method_description {
    margin-bottom: 15px;
}
.feedback_form {
    background-color: #f5f6f7;
    border: 1px solid #e8e8e1;
}
.feedback_inner {
    padding-top: 25px;
}
/* Pagination */
.pagination {
    list-style: none;
    text-align: center;
    background: #fff;
    padding: 15px 10px 5px;
    margin: -40px 0 40px;
}
.page_item {
    display: inline-block;
    margin-right: 2px;
    margin-bottom: 10px;
}
.page_link {
    display: block;
    padding: 5px 10px;
    min-width: 34px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #e8e8e1;
    border-radius: 8px;
    background-color: #fff;
    color: #303030;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.page_link:hover,
.active .page_link {
    color: #fff;
    background-color: #d32f2f;
    border-color: #d32f2f;
    box-shadow: 0 3px 10px rgba(211, 47, 47, 0.2);
}
/* Product Page */
.product_page {
    overflow: hidden;
}
.product_top {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 28px 40px;
    margin-bottom: 28px;
    align-items: start;
}
.product_gallery {
    min-width: 0;
}
.product_heading {
    font-size: 28px;
    color: #111;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0 0 14px;
}
.product_meta_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 18px;
    margin-bottom: 16px;
}
.sku {
    margin: 0;
    font-size: 13px;
    color: #666;
}
.sku_nubmer {
    color: #999;
}
.product_brand_block {
    font-size: 13px;
    float: none;
    margin-right: 16px;
}
.product_brand_block a {
    color: #d32f2f;
    font-weight: 600;
    text-decoration: none;
}
.product_image {
    position: relative;
    text-align: center;
    height: auto;
    margin-bottom: 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, #f8f8f6 0%, #f1f1ee 100%);
    overflow: hidden;
}
.product_image a {
    overflow: hidden;
    display: flex;
    height: auto;
    min-height: 360px;
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;
    justify-content: center;
    align-items: center;
    padding: 24px;
    background: transparent;
}
.product_img {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.images {
    position: relative;
    margin: 0 0 4px;
    padding: 0 28px;
}
.images.slick-initialized {
    display: block;
}
.images .slick-list {
    margin: 0 -5px;
}
.images_item,
.images .slick-slide {
    float: left;
    padding: 0 5px;
    height: auto !important;
    box-sizing: border-box;
}
.images_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 76px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    line-height: normal;
    text-align: center;
    font-size: 0;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.images_link:hover {
    border-color: #d32f2f;
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.12);
}
.images_item img,
.images .slick-slide img {
    display: block;
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}
.images .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    font-size: 0;
    line-height: 0;
    color: #d32f2f;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.images .slick-arrow::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 auto;
    border-style: solid;
    border-color: currentColor;
    border-width: 0 2px 2px 0;
}
.images .slick-prev {
    left: 0;
}
.images .slick-prev::before {
    transform: rotate(135deg);
    margin-left: 10px;
}
.images .slick-next {
    right: 0;
}
.images .slick-next::before {
    transform: rotate(-45deg);
    margin-left: 7px;
}
.images .slick-arrow:hover {
    background: #d32f2f;
    border-color: #d32f2f;
    color: #fff;
}
.images .slick-arrow.slick-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}
.product_details {
    margin-bottom: 0;
    min-width: 0;
}
.product_toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.product_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.product_wish {
    margin-bottom: 0;
}
.product_wish,
.product_compare {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px 8px 38px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    color: #555;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.product_wish:hover,
.product_compare:hover,
.product_wish.selected,
.product_compare.selected {
    color: #d32f2f;
    border-color: rgba(211, 47, 47, 0.35);
    background: rgba(211, 47, 47, 0.05);
}
.product_wish::before,
.product_compare::before {
    content: "";
    width: 16px;
    height: 14px;
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -7px;
    background-color: currentColor;
    background-image: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.product_wish::before {
    -webkit-mask-image: url(../images/icons/mask-heart.svg);
    mask-image: url(../images/icons/mask-heart.svg);
}
.product_wish.selected::before {
    color: #d32f2f;
}
.product_compare::before {
    -webkit-mask-image: url(../images/icons/mask-compare.svg);
    mask-image: url(../images/icons/mask-compare.svg);
}
.product_compare.selected::before {
    color: #d32f2f;
}
.product_wish::after,
.product_compare::after {
    content: none;
}
.product_wish span,
.product_compare span {
    display: inline;
}
.details_label {
    font-size: 13px;
    margin-right: 8px;
    display: inline-block;
    color: #666;
}
.product_rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 13px;
}
.available {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
}
.in_stock,
.no_stock {
    position: relative;
    display: inline-block;
    padding: 6px 12px 6px 28px;
    border-radius: 999px;
    background: rgba(76, 175, 80, 0.1);
    color: #2e7d32;
}
.no_stock {
    padding-left: 28px;
    background: rgba(229, 57, 53, 0.1);
    color: #c62828;
}
.in_stock::before,
.no_stock::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 11px;
    height: 8px;
    margin-top: -4px;
    background-color: currentColor;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-check.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-check.svg) center / contain no-repeat;
}
.no_stock::before {
    height: 9px;
    margin-top: -4.5px;
    -webkit-mask-image: url(../images/icons/mask-x.svg);
    mask-image: url(../images/icons/mask-x.svg);
}
.product_buybox {
    padding: 18px;
    border-radius: 16px;
    background: #fafafa;
    border: 1px solid rgba(0, 0, 0, 0.06);
    margin-bottom: 18px;
}
.product_buybox .variant_select:not(.hidden) {
    margin-bottom: 14px;
}
.product_buybox_row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: nowrap;
}
.product_qty {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}
.quontity_label {
    margin-top: 0;
}
.product .amount {
    display: inline-flex;
    align-items: stretch;
    vertical-align: top;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e8e8e1;
    background: #fff;
    width: auto;
}
.product .amount .minus,
.product .amount .plus {
    float: none;
    flex: 0 0 36px;
    width: 36px;
    height: 40px;
    line-height: 40px;
    user-select: none;
    -webkit-user-select: none;
}
.product .amount .input_amount {
    float: none;
    flex: 1 1 auto;
    width: 52px;
    height: 40px;
    border-left: 1px solid #e8e8e1;
    border-right: 1px solid #e8e8e1;
}
.product_price_block {
    min-width: 0;
    flex: 1 1 auto;
}
.product_btn {
    color: #fff;
    border: none;
    border-radius: 12px;
    background-color: #d32f2f;
    width: 100%;
    min-width: 0;
    height: 48px;
    line-height: 48px;
    letter-spacing: 0.02em;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(211, 47, 47, 0.28);
}
.info_delivery,
.info_payment {
    margin-top: 0;
}
.product_btn:hover {
    background-color: #b71c1c;
    box-shadow: 0 10px 24px rgba(183, 28, 28, 0.3);
    transform: translateY(-1px);
}
.product_btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(183, 28, 28, 0.22);
}
.product .variant_select {
    width: 100%;
    height: 44px;
    line-height: 42px;
    padding: 0 36px 0 12px;
    border: 1px solid #e1e8ed;
    border-radius: 10px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url(../images/icons/select-arrow.svg);
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 12px 8px;
    cursor: pointer;
    margin-top: 0;
}
.variant_select::-ms-expand {
    display: none;
}
.product .old_price {
    font-weight: 600;
    font-size: 14px;
    margin-top: 0;
    color: #999;
}
.product .price {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.1;
    margin-top: 2px;
    letter-spacing: -0.03em;
    color: #111;
}
.product .hidden + .price {
    margin-top: 0;
}
.product_buttons {
    margin-top: 0;
}
.product_buttons .disable_button {
    width: 100%;
    min-width: 0;
}
.product_info_cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.info_delivery,
.info_payment {
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    padding: 18px 18px 16px;
    font-size: 14px;
    position: relative;
    background: #fff;
    overflow: hidden;
}
.info_delivery::before,
.info_payment::before {
    content: "";
    position: absolute;
    bottom: 12px;
    opacity: 0.35;
}
.info_delivery::before {
    width: 40px;
    height: 52px;
    right: 12px;
    background-color: #d32f2f;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-clipboard.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-clipboard.svg) center / contain no-repeat;
}
.info_payment::before {
    width: 52px;
    height: 48px;
    right: 10px;
    background-color: #d32f2f;
    background-image: none;
    -webkit-mask: url(../images/icons/mask-coins.svg) center / contain no-repeat;
    mask: url(../images/icons/mask-coins.svg) center / contain no-repeat;
}
.info_delivery .h5,
.info_payment .h5 {
    color: #111;
    margin-bottom: 12px;
    font-weight: 700;
}
.info_delivery p,
.info_payment p {
    margin-bottom: 6px;
    opacity: .75;
    padding-right: 48px;
}
.product_share {
    margin: 20px 0 25px;
}
.share_text {
    font-size: 13px;
    margin-right: 5px;
    margin-bottom: 5px;
}
.product_share > div {
    display: inline-block;
    vertical-align: middle;
}
.product .pager {
    padding: 0;
}
/* Product tabs — panels hidden until JS activates one */
.tabs .tab,
.product_tabs .tab,
.tabs .tab[hidden],
.product_tabs .tab[hidden] {
    display: none;
}
.tabs .tab.is-active,
.product_tabs .tab.is-active {
    display: block;
}

.product_tabs,
.product_page .tabs {
    margin-top: 28px;
}
.product_tabs .tab_navigation,
.product_page .tab_navigation {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    margin: 0;
    padding: 4px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-bottom: none;
    border-radius: 14px 14px 0 0;
    background: #f6f6f6;
}
.product_tabs .tab_navigation::-webkit-scrollbar {
    display: none;
}
.product_tabs .tab_navigation a,
.product_tabs .tab_link,
.product_page .tab_navigation a {
    position: relative;
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1 1 auto;
    min-height: 44px;
    margin: 0;
    padding: 10px 16px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    color: #666;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.product_tabs .tab_navigation a:hover,
.product_tabs .tab_link:hover {
    color: #222;
    background: rgba(255, 255, 255, 0.7);
}
.product_tabs .tab_navigation a.selected,
.product_tabs .tab_link.selected,
.product_page .tab_navigation a.selected {
    color: #d32f2f;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.product_tabs .tab_count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(211, 47, 47, 0.12);
    color: #d32f2f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.product_tabs .tab_link.selected .tab_count {
    background: #d32f2f;
    color: #fff;
}
.product_tabs .tab_container,
.product_page .tab_container {
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0 0 14px 14px;
    background: #fff;
}
.product_tabs .tab,
.product_page .tab_container > .tab {
    padding: 22px 20px 24px;
}
.product_description {
    line-height: 1.65;
    color: #333;
    font-size: 15px;
}
.product_description p:first-child {
    margin-top: 0;
}
.product_description p:last-child {
    margin-bottom: 0;
}

/* Comments */
.comments_layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr);
    gap: 24px;
    align-items: start;
}
@media (max-width: 991px) {
    .comments_layout {
        grid-template-columns: 1fr;
    }
}
.comments_list_col,
.comments_form_col {
    min-width: 0;
}
.comment_form {
    padding: 18px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    background: #fafafa;
}
.comment_form .h3 {
    margin: 0 0 16px;
    font-size: 16px;
}
.comment_form_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.comment_form .button {
    width: 100%;
}
.comment_item {
    margin-bottom: 12px;
    padding: 14px 14px 12px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    background: #fff;
}
.admin_note {
    margin-top: 10px;
    margin-left: 12px;
    border-left: 3px solid rgba(211, 47, 47, 0.55);
    padding: 12px;
    border-radius: 0 10px 10px 0;
    background: #fff8f8;
}
.comment_author {
    font-weight: 700;
    color: #222;
    text-transform: none;
    font-size: 14px;
}
.comment_date {
    opacity: .55;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 8px;
    display: block;
}
.comment_content {
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 6px;
}
.no_comments {
    border-left: 3px solid #d32f2f;
    border-radius: 0 10px 10px 0;
    padding: 14px 16px;
    background: #fafafa;
    color: #555;
    font-size: 14px;
}
/* Post */
.post_date {
    opacity: .7;
    margin-bottom: 10px;
}
.post_share {
    margin: 20px 0;
}
.pager {
    margin-top: 0;
    margin-bottom: 0;
    padding: 15px 0;
    list-style: none;
    overflow: hidden;
}
.pager li {
    padding-top: 5px;
    padding-bottom: 5px;
}
.pager li:nth-child(even) {
    text-align: right;
}
.pager a,
.pager a:hover span {
    text-decoration: none;
}
.pager a span {
    text-decoration: underline;
}
.change_pass {
    margin-bottom: 10px;
}
.change_pass span {
    cursor: pointer;
    border-bottom: 1px dotted;
}
.change_pass span:hover {
    border-color: transparent;
}
.password_remind {
    float: right;
    margin-top: 6px;
    font-size: 13px;
}
/* Filters */

.sidebar_top {
    background-color: #fff;
    margin-bottom: 20px;
}
.sidebar_center {
    background-color: #fff;
    margin-bottom: 20px;
}
.sidebar .h2 {
    padding-bottom: 10px;
    padding-top: 12px;
}
.filter_group {
    padding: 23px 23px 0;
}
.catalog_menu{
    padding: 20px 23px 0;
}
.selected_filter_boxes{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}
.selected_filter_box {
    position: relative;
    width: 100%;
    min-height: 1px;
    /*padding-right: 10px;*/
    padding-left: 10px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}
.selected_filter_item{
    border: 1px solid #000000;
    border-radius: 3px;
    margin: 0 0px 10px 0;
    max-width: 100%;
}
.filter_reset{
    font-size: 13px;
    color: #000000;
    font-weight: 500;
    overflow: hidden;
    display: inline-block;
    border: none;
    background: no-repeat;
    padding: 0;
    text-decoration: underline;
    cursor: pointer;
}
.selected_filter_box .s_filter_link{
    border: none;
    background: transparent;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;    font-size: 13px;
    padding: 2px 8px 1px;
    cursor: pointer;
    color: #575757;
}
.selected_filter_box .s_filter_link span{
    margin-right: 5px;
    cursor: pointer;
    text-align: left;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(100% - 20px);
    -ms-flex: 0 0 calc(100% - 20px);
    flex: 0 0 calc(100% - 20px);
    max-width: calc(100% - 20px);
}
.selected_filter_box .s_filter_link svg{
    width: 16px;
    height: 16px;
    color: #999;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16px;
    -ms-flex: 0 0 16px;
    flex: 0 0 16px;
    max-width: 16px;
}
.selected_filter_box .selected_filter_item:hover .s_filter_link svg{
    color: #f25050;
}
.selected_filter_box .selected_filter_item:hover{
    background: #000000;
}
.selected_filter_box .selected_filter_item:hover .s_filter_link{
    color: #fff;
}
.filters_heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-weight: 600;
    font-size: 18px;
    padding: 9px 15px;
    cursor: pointer;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
}
.filters_heading .angle_icon {
    position: static;
    flex: 0 0 auto;
    margin-left: 12px;
    transition: transform 0.25s ease;
}
.filters_heading[aria-expanded="true"] .angle_icon,
.filters_heading.active .angle_icon {
    transform: rotate(180deg);
}
.filter_item {
    line-height: 24px;
    padding: 7px 0;
}
.catalog_item{
    padding: 0;
}
.filter_link {
    display: block;
    position: relative;
    padding-left: 36px;
    font-size: 14px;
    min-height: 24px;
    line-height: 24px;
    text-decoration: none;
    cursor: pointer;
    background: no-repeat;
    border: none;
    text-align: left;
}
.catalog_link {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    position: relative;
    padding-left: 0px;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    padding: 7px 0px;

}
.catalog_link.sub_cat::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    margin-left: 1px;
    background-image: url(../images/icons/select-arrow.svg);
    background-size: contain;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16px;
    -ms-flex: 0 0 16px;
    flex: 0 0 16px;
    max-width: 16px;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.filter_indicator {
    position: absolute;
    width: 24px;
    height: 24px;
    top: 0;
    left: 0;
    border: 1px solid #e8e8e1;
    border-radius: 1px;
}
.checked .filter_indicator {
    background-color: transparent;
    background-image: url(../images/icons/check-filter.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
}
.price_range {
    overflow: hidden;
    margin-left: -12px;
    margin-right: -12px;
    margin-bottom: 15px;
}
.price_label {
    float: left;
    width: 50%;
    padding-left: 12px;
    padding-right: 12px;
}
.max_price {
    text-align: right;
}
.max_input,
.min_input {
    max-width: 100%;
    padding: 0 8px;
    line-height: 30px;
    height: 32px;
    border: 1px solid #e8e8e1;
}
/* Browsed products */
.browsed {
    padding-top: 10px;
    padding-bottom: 15px;
}
.browsed_item {
    line-height: 50px;
    height: 80px;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
}
.browsed_item img {
    vertical-align: middle;
}
/* Product Rating */
.rating_starOff {
    display: inline-block;
    vertical-align: top;
}
.rating_starOff,
.rating_starOn {
    width: 90px;
    height: 18px;
    background-image: url(../images/icons/star-off.svg);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 18px 18px;
}
.rating_starOn {
    display: block;
    background-image: url(../images/icons/star-on.svg);
    background-position: left top;
}
.rating_text {
    vertical-align: middle;
    line-height: 18px;
    display: inline-block;
}
/* BREADCRUMBS */
.breadcrumbs {
    padding: 10px 15px;
    margin: 25px 0;
    list-style: none;    font-size: 13px;
    background-color: #fff;
}
.breadcrumbs li {
    display: inline-block;
    padding: 0;
    margin: 3px 0;
}
.breadcrumbs li + li:before {
    padding: 0 2px;
    content: "/\00a0";
}
/* Scroll to top */
.to_top {
    width: 42px;
    height: 42px;
    border-radius: 100%;
    position: fixed;
    bottom: 50px;
    right: 10px;
    z-index: 99;
    display: none;
    background-color: #b8b7b7;
    background-image: none;
    -webkit-mask: none;
    cursor: pointer;
}
.to_top::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #fff;
    -webkit-mask: url(../images/icons/mask-up.svg) center / 16px 10px no-repeat;
    mask: url(../images/icons/mask-up.svg) center / 16px 10px no-repeat;
}
.to_top:hover {
    background-color: #000000;
}
/* POPUP WINDOW */
.popup {
    width: 320px;
    max-width: 100%;
    padding: 5px;
    text-align: center;
}
.popup_heading {
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
}
/* Comparison_page */
.comparison_page {
    padding-bottom: 40px;
}
.comparison_left {
    float: left;
    width: 30%;
}
.comparison_products {
    float: right;
    width: 70%;
    position: relative;
    margin: 0;
    border-left: 1px solid #e8e8e1;
}
.comparison_item {
    border-right: 1px solid #e8e8e1;
}
.cell {
    padding: 10px 15px;
    border-bottom: 1px solid #e8e8e1;
}
.comparison_item .cell,
.comparison_item .cprs_rating {
    text-align: center;
}
.cprs_rating {
    padding: 10px 15px;
    border-bottom: 1px solid #e8e8e1;
    border-top: 1px solid #e8e8e1;
}
.cell:nth-child(odd) {
    background: #efefef;
}
.compare_controls {
    position: relative;
}
.compare_show {
    position: absolute;
    left: 0px;
    bottom: 25px;
}
.compare_show a {
    display: inline-block;
    padding: 6px 11px;
    text-decoration: none;
    margin: 0 5px 5px 15px;
}
.compare_show a:hover,
.compare_show .active {
    background: #fff;
    border: 1px solid #e8e8e1;
    padding: 5px 10px;
    color: #030303;
}
.compare_show a span {
    border-bottom: 1px dashed;
}
.compare_show a:hover span,
.compare_show .active span {
    border-color: transparent;
}
.preorder_label{
    padding: 0 5px;
    color: #fff;
    text-align: center;
    font-size: 10px;
    background: #d32f2f;
    border: none;
    border-radius: 2px;
}
.callback_form .captcha{
    display: block;
    margin: 0 0px 20px 0;
}
.callback_form .captcha .secret_number{
    width: 95px;
}
.callback_form .captcha .form_captcha{
    width: calc(100% - 117px);
}
.callback_form .button{ 
    display: block;
    width: 100%;
}

.order_notify_v2{
    text-align: center;
    margin-top: 40px;
    margin-bottom: 40px;
    background: #fff;
    padding: 20px 0px;
}
.order_notify_v2 .o_notify_v2_head{
    vertical-align: middle;
    margin-bottom: 20px;
}
.order_notify_v2 svg{
    width: 44px;
    height: 44px;
    color: #74B636;
    margin-right: 12px;
    vertical-align: middle;
}
.order_notify_v2 .o_notify_v2_heading{
    font-size: 32px;
    font-weight: 600;
    vertical-align: middle;
}
.o_notify_v2_content{
    margin-bottom: 25px;
}
.o_notify_v2_content .o_notify_v2_content_inner{
    max-width: 660px;
    display: inline-block;
}
.o_notify_v2_order_id .o_notify_v2_order_id_box{
    display: inline-block;
    border: 2px solid #ef5350;
    padding: 10px 15px;
    border-radius: 5px;
    font-size: 10px;
    line-height: 1.2;
    background: #fff;
    text-transform: uppercase;
    font-weight: 600;
    color: #414141;
}
.o_notify_v2_order_id .o_notify_v2_order_id_box .o_notify_v2_order_id_bold{
    font-weight: 600;
    font-size: 17px;
    line-height: 1;
    margin-top: 3px;
    display: block;
    color: #000;
}

/* main menu (base rules above; responsive overrides in responsive.css) */
/* menu 404 */
.menu_404 {
    margin-top: 30px;
}
.menu_404 .text_404 {
    margin: 0 0 40px;
    font-weight: 500;
    font-family: inherit;
    color: rgb(89, 89, 89);
    font-size: 18px;
    line-height: 1.3;
}
.menu_group_404 .menu_list{
    padding: 0px;
    list-style: none;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    margin-right: -20px;
    margin-left: -20px;
}
.menu_group_404 .menu_list_2{
    display: none!important;
}
.menu_group_404 .menu_list .menu_item{
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    margin-bottom: 20px;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}
.menu_group_404 .menu_list .menu_link{
    text-align: center;
    color: rgb(255, 255, 255);
    background-color: #000000;
    border: 1px solid rgb(0, 145, 185);
    display: inline-block;
    vertical-align: middle;
    padding: 10px 24px;
    font-size: 16px;
    font-weight: 600;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    border: none;
    text-decoration: none;
    cursor: pointer;
    border-radius: 20px;
    width: 100%;
}
.menu_group_404 .menu_list .menu_link:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(4, 73, 92);
}
.footer {padding: 0; font-size: 14px;line-height: 15px;color: #5e5e5e;}
.made-with-love a, .made-with-love{color: #000; font-size: 0.95em; text-decoration: none;}
.heartbeat {animation: heartbeat 2s infinite}
@keyframes heartbeat {
0% {transform:scale(1)}
10% {transform:scale(1.2)}
20% {transform:scale(1)}
30% {transform:scale(1.2)}
40% {transform:scale(1)}
100% {transform:scale(1)}}
.heartbeat {animation: heartbeat 2s infinite}
@media (min-width:480px) and (max-width:767px) {
 .made-with-love {margin-bottom: 30px}}


.logo {
    font-size: 57px;
    display: grid;
    margin-bottom: 5px;
    font-weight: 600;
    color: #000;
    letter-spacing: -1px;
  }

/* Toast: лимит количества на складе */
.amount_toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 10050;
    max-width: calc(100vw - 32px);
    padding: 12px 18px;
    border-radius: 10px;
    background: #d32f2f;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 8px 24px rgba(211, 47, 47, 0.28);
    transform: translate(-50%, 12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.amount_toast.is_visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

/* Homepage category tiles */
.main_cat_tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 0 0 36px;
}
.main_cat_tile {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #f5f5f5;
    text-decoration: none;
    color: #0a0a28;
    box-shadow: 0 1px 0 rgba(10, 10, 40, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.main_cat_tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(10, 10, 40, 0.1);
    color: #d32f2f;
}
.main_cat_tile__img {
    display: block;
    aspect-ratio: 4 / 3;
    background: #fff;
    overflow: hidden;
}
.main_cat_tile__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    transition: transform 0.25s ease;
}
.main_cat_tile:hover .main_cat_tile__img img {
    transform: scale(1.04);
}
.main_cat_tile__name {
    display: block;
    padding: 12px 12px 14px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}
@media (max-width: 991px) {
    .main_cat_tiles {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}
@media (max-width: 600px) {
    .main_cat_tiles {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .main_cat_tile__name {
        font-size: 13px;
        padding: 10px 8px 12px;
    }
    .main_cat_tile__img img {
        padding: 8px;
    }
}
