/*normalize*/
* {
    box-sizing: border-box;
    outline: none;
}
@-moz-document url-prefix() {
    * {
        scrollbar-color: var(--theme-color) var(--bs-light);
        scrollbar-width: thin;
    }
}
*::-webkit-scrollbar {
    width: .5rem;
    height: .5rem;
    -webkit-transition: background .2s;
    transition: background .2s;
}
@view-transition {
    navigation: auto;
}
@media (prefers-reduced-motion: reduce) {
    *::-webkit-scrollbar {
        -webkit-transition: none;
        transition: none;
    }
    @view-transition {
        navigation: none;
    }
}
*::-webkit-scrollbar-thumb {
    background: var(--theme-color);
    border-radius: var(--bs-border-radius);
}
*::-webkit-scrollbar-track {
    background: var(--bs-light);
}
*::-webkit-scrollbar-corner {
    background: transparent;
}
html {
    scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
html,
body {
    min-height: 100vh;
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
}
body {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-y: overlay;
}
body > main {
    flex: auto;
}
li::marker {
    color: var(--theme-color);
}
p:empty, li:empty {
    display: none;
}
input[type=range] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}
input[type=range]::-webkit-slider-runnable-track {
    background: var(--bs-light);
}
input[type=range]::-moz-range-runnable-track {
    background: var(--bs-light);
}
input[type=range]::-ms-track {
    background: var(--bs-light);
}
input[type=range]::-webkit-slider-thumb {
    background: var(--theme-color);
}
input[type="range"]::-moz-range-thumb {
    background: var(--theme-color);
}
input[type="range"]::-ms-thumb {
    background: var(--theme-color);
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
}
input[type="search"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}
input::placeholder,
textarea::placeholder {
    font-size: inherit;
    font-family: var(--bs-body-font-family);
    color: var(--bs-secondary) !important;
    transition: all .2s;
}
input:focus::placeholder,
textarea:focus::placeholder {
    opacity: 0;
    transition: all .2s;
}
input:user-invalid,
textarea:user-invalid {
    border-color: var(--bs-red) !important;
}
a {
    color: var(--bs-link-color);
    transition: all .2s;
}
a:hover {
    color: var(--bs-link-hover-color);
    transition: all .2s;
}
header ul,
header ol,
footer ul,
footer ol,
aside ul,
aside ol {
    list-style: none;
    padding: 0;
    margin: 0;
}
img {
    display: block;
    object-position: center;
    object-fit: contain;
    vertical-align: middle;
}

/*custom*/
header > div:first-of-type {
    height: 34px;
}
header a.text-white:hover {
    color: var(--theme-body-color) !important;
}
footer > div:last-of-type {
    background: url("/image/static/footer.png");
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.flex-auto {
    flex: auto;
}
.flex-1 {
    flex: 1;
}
.flex-2 {
    flex: 2;
}
.flex-3 {
    flex: 3;
}
.flex-4 {
    flex: 4;
}
.flex-5 {
    flex: 5;
}
.changeTheme > i:not(.active) {
    display: none !important;
}
.imgInc {
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 15.5px;
    opacity: .4;
}
.imgLogo {
    width: auto;
    max-width: 100%;
    height: 80px; /* 28.07.2026: было 40px — логотип-эмблема с надписью ПРАЙМ внутри, при 40px не читается */
    max-height: 100%;
}
@media (max-width: 575.98px) {
    .imgLogo { height: 64px; }
}
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-gray-dark);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
.page-item:first-child .page-link {
    border-radius: 0 !important;
}
#go-top {
    position: fixed;
    z-index: 999;
    right: 1rem;
    width: 48px;
    height: 48px;
    padding: 0;
}
#go-top:not(.visible) {
    bottom: -100%;
    transform: scale(0);
    transition: all .2s;
}
#go-top.visible {
    bottom: 1rem;
    transform: scale(1);
    transition: all .2s;
}
@media (max-width: 768px) {
    #go-top {
        display: none;
    }
}
.btn-menu.show i {
    width: 13px;
}
.btn-menu.show i:first-of-type {
    display: none;
}
.btn-menu:not(.show) i:last-of-type {
    display: none;
}
.mobileTab {
    position: fixed;
    z-index: 999;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.mobileTab ul {
    list-style: none;
}
.mobileTab .btn-menu.show i {
    width: 17.5px !important;
}
.mobileTab .btn:not(.btn-menu) {
    border-color: transparent !important;
    background: transparent !important;
    z-index: inherit !important;
}
.mobileMenu {
    z-index: 9999 !important;
    width: 100% !important;
}
.desktopMenu {
    width: calc(100% - 1rem);
    inset: unset !important;
    top: 5rem !important;
    left: .5rem !important;
    transform: none !important;
    overflow: unset !important;
}
.desktopMenu ul li:hover > a,
.desktopMenu ul li:hover > div > a {
    background-color: var(--bs-gray);
}
.desktopMenu ul li a img {
    min-width: 56px;
    width: 56px;
    height: 56px;
    background: var(--theme-body-bg);
    border-radius: var(--bs-border-radius);
}
.desktopMenu .dropdown-menu.show {
    margin: .5rem -.5rem !important;
}
.mainMenu > li {
    position: relative;
}
.mainMenu > li:before {
    user-select: none;
    content: "";
    position: absolute;
    bottom: -.5rem;
    width: 100%;
    height: 1rem;
}
.footMenu > li {
    width: calc(100% / 3 - 1.5rem);
}
@media (max-width: 1200px) {
    .footMenu > li {
        width: calc(100% / 2 - 1.5rem);
    }
}
@media (max-width: 992px) {
    .footMenu > li {
        width: calc(100% - 1.5rem);
    }
}
.moreContacts {
    position: relative;
}
.moreContacts a {
    position: relative;
    white-space: nowrap;
}
.moreContacts > a:before {
    content: "";
    position: absolute;
    z-index: 0;
    bottom: -.5rem;
    left: 0;
    height: 1rem;
    width: 100%;
}
.contactForm a:hover {
    color: var(--theme-color) !important;
}
.headerAction .btn {
    color: var(--bs-link-color) !important;
}
.headerAction .btn:hover,
.headerAction .btn:focus,
.headerAction .btn:active,
.headerAction .btn.active,
.headerAction .btn.show {
    color: var(--theme-color-secondary) !important;
    border-color: transparent !important;
    background: transparent !important;
    z-index: inherit !important;
}
.headerAction > .dropdown {
    position: relative;
}
.headerAction > .dropdown:before {
    content: "";
    position: absolute;
    z-index: 0;
    bottom: -.5rem;
    left: 0;
    height: 1rem;
    width: 100%;
}
.countCart,
.countWishlist,
.countCompare {
    position: relative;
}
.countCart .badge,
.countWishlist .badge,
.countCompare .badge {
    position: absolute;
    z-index: 3;
    top: 0;
    right: .5rem;
    padding: 0;
    font-size: 12px;
    min-width: 18px;
    padding: 0 6px;
}
.dropdown-menu .countCart .badge,
.dropdown-menu .countWishlist .badge,
.dropdown-menu .countCompare .badge {
    top: 0;
    right: 0;
}
.productItem .badge {
    pointer-events: none;
    position: absolute;
    z-index: 1;
    left: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
}
@media (max-width: 576px) {
    .productItem .badge {
        display: none;
    }
}
.productItem .badge:nth-child(1) {
    top: 0;
}
.productItem .badge:nth-child(2) {
    top: 2rem;
}
.productItem .badge:nth-child(3) {
    top: 4rem;
}
.productItem .badge:nth-child(4) {
    top: 6rem;
}
.productItem .productGallery .badge {
    left: 1.5rem;
}
.productItem .productGallery .badge:nth-child(1) {
    top: 1rem;
}
.productItem .productGallery .badge:nth-child(2) {
    top: 3rem;
}
.productItem .productGallery .badge:nth-child(3) {
    top: 5rem;
}
.productItem .productGallery .badge:nth-child(4) {
    top: 7rem;
}
.productPrice .h3,
.productPrice .h4 {
    font-family: var(--bs-body-font-family);
    line-height: normal;
}
.productPrice .h4 {
    font-size: 16px;
}
.productImage {
    opacity: 0;
    transition: opacity .2s;
}
.productImage .slide:not(:first-of-type, .slick-slide),
.itemsBlock.banners .slide:not(:nth-child(1), :nth-child(2), :nth-child(3), .slick-slide) {
    display: none;
}
.productImage .productImageSlide {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    display: flex;
}
.productImage .productImageSlide li {
    position: relative;
    display: flex;
    flex: auto;
}
.productImage .productImageSlide li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.productImage .slick-dots {
    pointer-events: none;
    z-index: 2;
}
@media (max-width: 575px) {
    .productImage .slick-dots {
        display: none !important;
    }
}
.productOption label.btn {
    font-weight: 400;
    padding: .5rem 1rem;
    text-transform: none;
}
.productWishlist,
.productCompare {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border: 0 !important;
}
.productWishlist:hover,
.productCompare:hover,
.productCompare:focus,
.productWishlist:active,
.productCompare:active,
.productWishlist:focus,
.productWishlist.active,
.productCompare.active {
    color: var(--theme-color) !important;
    background-color: transparent !important;
}
.productCompare {
    top: 40px;
}
.productRating:not(.disabled) .form-check {
    padding-left: 1.5rem !important;
}
.productRating.disabled .form-check {
    padding-left: 1.25rem !important;
}
.productRating:not(.disabled) .form-check-input {
    cursor: pointer;
    background-size: 20px;
}
.productRating.disabled .form-check-input {
    cursor: default;
    background-size: 16px;
}
.productRating .form-check-input {
    background-image: url("/image/static/star-l.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent !important;
    border: var(--bs-border-width) var(--bs-border-style) transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-right: 0 !important;
    transition: background .2s;
}
.productRating .form-check.active .form-check-input {
    background-image: url("/image/static/star-s.svg");
    transition: background .2s;
}
.productQuantity,
.productSize {
    display: inline-flex;
}
.productQuantity a,
.productSize a {
    width: 40px;
    height: 40px;
}
.productQuantity a i,
.productSize a i {
    line-height: 0;
}
.productQuantity input,
.productSize input {
    font-size: 16px;
    padding: 0;
}
.productQuantity input,
.productSize input {
    width: 60px;
}
.productGrid .productQuantity input,
.itemsBlock .productQuantity input {
    width: 40px !important;
}
.productQuantity.v2 a,
.productQuantity.v2 input {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
}
.productQuantity.v2 input {
    width: 100% !important;
}
.productPay .productQuantity:not(.d-none) + .btn span {
    display: none;
}
.productBoard {
    overflow-x: auto;
    overflow-y: auto;
    width: 100%;
    height: auto;
    touch-action: none;
    user-select: none;
    cursor: move;
    cursor: grab;
}
.productBoard table {
    width: auto;
    height: 1px;
    margin: 0;
}
.productBoard table,
.productBoard table th,
.productBoard table td {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}
.productBoardItems .productHref,
.productBoard .productHref {
    display: block;
    text-decoration: none;
    transition: all .2s;
}
.productBoardItems {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 414px;
}
.productBoardItems .productHref:hover,
.productBoard .productHref:hover {
    opacity: 1 !important;
    color: var(--theme-hover-color-secondary) !important;
    background-color: var(--theme-color-secondary) !important;
    transition: all .2s;
}
.productBoardItems .productHref:hover *,
.productBoard .productHref:hover * {
    color: var(--theme-color-hover) !important;
}
@media (max-width: 576px) {
    .productBoard table th:first-child,
    .productBoard table td:first-child {
        display: none !important;
    }
}
.categoryItem,
.brendItem,
.advantageItem,
.catalogItem,
.productItem,
.articleItem {
    position: relative;
    transition: all .2s;
}
.categoryItem:hover,
.brendItem:hover,
.advantageItem:hover,
.productItem:not(.main, .list-group-item):hover,
.articleItem:hover {
    background-color: var(--bs-gray-dark) !important;
    box-shadow: none;
    transition: all .2s;
}
.brendItem {
    overflow: hidden;
}
.brendItem img {
    max-width: 100%;
    filter: drop-shadow(0 0 2rem rgba(255, 255, 255, .5));
}
.bannerItem img,
.katalogItem img {
    transition: transform 1s cubic-bezier(.2, .96, .34, 1);
}
.bannerItem:hover img,
.katalogItem:hover img {
    transform: scale(1.1);
}
.katalogItem .moreItems.active > i {
    transform: rotate(180deg);
}
.katalogItem .moreItems:hover > * {
    color: var(--bs-theme) !important;
}
.catalogItem:hover:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    transition: all .2s;
}
.catalogItem > div {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 1rem;
}
.catalogItem:before {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 1.5rem;
    width: 320px;
    height: 320px;
    background-image: linear-gradient(to right, var(--bs-gray), var(--bs-gray-dark));
    border-radius: 100%;
    transition: all .2s;
}
.categoryItem img {
    min-width: 56px;
}
@media (max-width: 576px) {
    .categoryItem,
    .advantageItem {
        text-align: center;
    }
}
.mainView .btn,
#desktopFilter > .btn,
#mobileFilter > .btn,
#desktopFilter .dropdown > .btn,
#mobileFilter .dropdown > .btn {
    border: 0;
}
.mainView .btn:hover,
.mainView .btn:focus,
.mainView .btn:active,
.mainView .btn.active {
    color: var(--theme-body-color) !important;
    border-color: var(--theme-body-bg) !important;
    background-color: var(--theme-body-bg) !important;
}
.socialImg a svg {
    color: var(--bs-white);
    transition: all .2s;
}
.socialImg a:hover svg {
    color: var(--bs-body-color) !important;
    background-color: var(--bs-light) !important;
    transition: all .2s;
}
.goo {
    overflow: hidden;
    filter: url("/image/static/goo.svg#goo");
}
.mainSort {
    border: 0;
}
.mainSort .ts-dropdown .dropdown-item-indicator {
    display: none;
}
.mainSort.ts-wrapper {
    position: relative;
}
.mainSort.ts-wrapper:before {
    content: "";
    position: absolute;
    z-index: 0;
    z-index: 0;
    bottom: -.5rem;
    left: 0;
    height: 1rem;
    width: 100%;
}
.calcForm .fullImage {
    max-width: 320px;
}
.calcForm .infoCacl {
    max-width: 320px;
    width: 100%;
}
form.active .search-results,
.search-results:hover,
.search-results:focus,
.search-results:active {
    display: block;
}
.search-results:empty {
    display: none;
}
.search-results {
    display: none;
    position: absolute;
    z-index: 9999;
    top: calc(100% + .25rem);
    left: 0;
    width: 100%;
    margin: 0 !important;
    background: var(--theme-body-bg);
    border-radius: var(--bs-border-radius) !important;
    box-shadow: var(--bs-box-shadow-lg);
}
.search-results:before {
    content: "";
    position: absolute;
    top: -.5rem;
    left: 0;
    width: 100%;
    height: 1rem;
}
.search-results .list-group-item:not(:last-of-type) {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
#previewModal .modal-content {
    background-color: transparent;
}
#previewModal .modal-header .btn-close {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
}
#previewModal .modal-body {
    background-color: var(--theme-body-bg);
    border-top-right-radius: calc(var(--bs-border-radius) + .5rem);
    overflow: hidden;
}
#previewModal .modal-body div.productAside {
    background-color: var(--bs-light) !important;
}
@media (min-width: 576px) {
    #previewModal .modal-header .btn-close {
        min-width: 45px;
        height: 45px;
        background-size: 14px;
    }
}
#productCompare {
    table-layout: fixed;
}
#accountForm {
    max-width: 576px;
    margin: 0 auto;
}
#filterModal {
    z-index: 9999;
}
#desktopFilter .badge,
#mobileFilter .badge,
[data-bs-target="#filterModal"] .badge {
    position: absolute;
    z-index: 3;
    top: -.5rem;
    right: -.5rem;
    padding: 0 6px;
    min-width: 20px;
}
#desktopFilter a.dropdowne {
    position: relative;
}
#desktopFilter a.dropdown:before {
    content: "";
    position: absolute;
    z-index: 0;
    z-index: 0;
    bottom: -.5rem;
    left: 0;
    height: 1rem;
    width: 100%;
}
#mapContacts,
#mapDelivery {
    width: 100%;
    height: 425px;
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
#mapContacts:empty,
#mapDelivery:empty,
#mapContacts .errorText:empty,
#checkoutForm .errorText:empty,
.errorText:empty {
    display: none;
}
#search input {
    height: 40px;
    border-width: max(2px, var(--bs-border-width));
}
#deliveryCar label {
    cursor: pointer;
    border-style: solid;
    border-color: var(--theme-body-bg);
    border-width: max(2px, var(--bs-border-width));
    user-select: none;
}
#deliveryCar input:checked + label {
    border-color: var(--theme-color) !important;
}
.textDescription img,
.textDescription picture,
.textDescription audio,
.textDescription video {
    width: 100%;
    height: auto;
    border-radius: var(--bs-border-radius);
}

/*plyr*/
.plyr {
    width: 100%;
    height: auto;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow);
}
.textDescription .plyr--audio,
.textDescription .plyr--video {
    width: 100%;
    height: auto;
    border-radius: var(--bs-border-radius);
}

/*ymaps*/
.ymaps-2-1-79-search__suggest {
    top: calc(100% + .25rem) !important;
    left: 0 !important;
    right: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    color: var(--bs-body-color) !important;
    font-family: var(--bs-font-family) !important;
    font-size: var(--bs-font-size) !important;
    font-weight: var(--bs-font-weight) !important;
    line-height: var(--bs-line-weight) !important;
    border-color: var(--theme-body-bg) !important;
    border-radius: var(--bs-border-radius) !important;
    background-color: var(--theme-body-bg) !important;
    box-shadow: var(--bs-box-shadow) !important;
    overflow: hidden !important;
}
.ymaps-2-1-79-suggest-item {
    margin: 0 !important;
}
.ymaps-2-1-79-search__suggest-item {
    color: var(--theme-body-color) !important;
    padding: .5rem 1rem !important;
}
.ymaps-2-1-79-search__suggest-item:hover {
    color: var(--theme-hover-color) !important;
    background-color: var(--theme-color) !important;
}
.ymaps-2-1-79-search__suggest-highlight {
    font-weight: var(--theme-font-weight-medium) !important;
}
.ymaps-2-1-79-balloon {
    box-shadow: none !important;
}
.ymaps-2-1-79-balloon__layout {
    background: var(--theme-body-bg) !important;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow) !important;
    overflow: hidden !important;
}
.ymaps-2-1-79-balloon__content {
    padding: 1.5rem !important;
    color: var(--bs-body-color) !important;
    font-family: var(--bs-font-family) !important;
    font-size: var(--bs-font-size) !important;
    font-weight: var(--bs-font-weight) !important;
    line-height: var(--bs-line-weight) !important;
    border-color: var(--theme-body-bg) !important;
    border-radius: var(--bs-border-radius) !important;
    background-color: var(--theme-body-bg) !important;
}
.ymaps-2-1-79-balloon_type_route .ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content {
    margin-right: 2.25rem !important;
}
.ymaps-2-1-79-balloon__tail:after {
    border-color: var(--theme-body-bg) !important;
    background-color: var(--theme-body-bg) !important;
    box-shadow: none !important;
}
.ymaps-2-1-79-balloon__close {
    margin: .5rem !important;
}
.ymaps-2-1-79-balloon__close-button {
    width: 20px !important;
    height: 20px !important;
}
.ymaps-2-1-79-gototaxi__container,
.ymaps-2-1-79-gotoymaps__container,
.ymaps-2-1-79-float-button {
    box-shadow: var(--bs-box-shadow) !important;
}

/*fontawesome*/
.fa-sm {
    font-size: 14px;
}
.fa-md {
    font-size: 16px;
}
.fa-lg {
    font-size: 20px;
}
.fa-xl {
    font-size: 24px;
}
.fa-xxl {
    font-size: 32px;
}

/*slickslider*/
.slickSlider,
.slickSlider .slide {
    position: relative;
    width: 100%;
    z-index: 0;
    overflow: hidden;
}
.slickSlider .slide .slideImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1 !important;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    filter: opacity(.2);
    transition: all 1s ease;
}
.slickSlider.main {
    display: grid;
    min-height: 500px;
    background: var(--theme-body-color);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
.slickSlider.main .slick-list,
.slickSlider.main .slick-track {
    height: 100%;
}
.slickSlider.main .slide h1 > span,
.slickSlider.main .slide .h1 > span {
    color: var(--theme-color);
}
.slickSlider:not(.main):hover .slide .slideImg {
    filter: none;
    transition: all 1s ease;
}
.slickSlider .slide .slideContent {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.slickSlider .slider [data-animation-in] {
    opacity: 0;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    transition: opacity 0.5s ease 0.3s;
}
.slickSlider .slick-dotted.slick-slider,
.itemsBlock .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slickSlider > .slick-dots,
.itemsBlock > .slick-dots {
    position: absolute;
    bottom: 1rem;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.slickSlider > .slick-dots li:only-child,
.itemsBlock > .slick-dots li:only-child {
    display: none !important;
}
.slickSlider > .slick-dots li,
.itemsBlock > .slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slickSlider > .slick-dots li button,
.itemsBlock > .slick-dots li button {
    border: 0;
    display: block;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.slickSlider > .slick-dots li,
.itemsBlock > .slick-dots li {
    width: 32px;
    height: 2px;
}
.slickSlider > .slick-dots li button,
.itemsBlock > .slick-dots li button {
    position: relative;
    background-color: var(--bs-gray);
    width: 32px;
    height: 2px;
    padding: 0;
    border-radius: 4px;
}
.slickSlider > .slick-dots li.slick-active button,
.itemsBlock > .slick-dots li.slick-active button {
    color: var(--theme-body-bg);
    opacity: 1;
}
.slickSlider > .slick-dots li button:hover,
.itemsBlock > .slick-dots li button:hover,
.slickSlider > .slick-dots li.slick-active button,
.itemsBlock > .slick-dots li.slick-active button {
    color: var(--theme-hover-color);
    background-color: var(--theme-color);
}
.slickSlider > .slick-arrow,
.itemsBlock > .slick-arrow {
    display: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translate(0, -50%);
    opacity: 0;
    padding: 0;
    margin: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-border-radius);
    border: 0;
    background-color: var(--theme-color);
    box-shadow: none;
    transition: all .2s;
}
.slickSlider > .slick-arrow:after,
.itemsBlock > .slick-arrow:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--theme-hover-color);
    mask-image: url("/image/static/arrow.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 20px 20px;
    transition: all .2s;
}
.slickSlider > .slick-prev:after,
.itemsBlock > .slick-prev:after {
    transform: rotate(180deg);
}
.slickSlider > .slick-arrow:hover:after,
.itemsBlock > .slick-arrow:hover:after {
    background-color: var(--theme-hover-color-secondary);
    transition: all .2s;
}
.slickSlider > .slick-arrow img,
.itemsBlock > .slick-arrow img {
    width: 20px;
    height: 20px;
    opacity: 0;
}
.slickSlider:hover > .slick-arrow,
.itemsBlock:hover > .slick-arrow {
    opacity: 1;
    transition: all .2s;
}
.slickSlider > .slick-arrow:hover,
.itemsBlock > .slick-arrow:hover {
    background-color: var(--theme-color-secondary);
    transition: all .2s;
}
@media (max-width: 768px) {
    .slickSlider > .slick-arrow,
    .itemsBlock > .slick-arrow {
        opacity: 1;
    }
    .slickSlider > .slick-arrow,
    .itemsBlock > .slick-arrow {
        width: 32px;
        height: 32px;
    }
    .slickSlider > .slick-arrow img,
    .itemsBlock > .slick-arrow img {
        width: 16px;
        height: 16px;
    }
}
.slickSlider > .slick-next,
.itemsBlock > .slick-next {
    right: 2rem;
}
.slickSlider > .slick-prev,
.itemsBlock > .slick-prev {
    left: 2rem;
}
.slickSlider > .slick-next img,
.itemsBlock > .slick-next img {
    transform: rotate(0deg);
}
.slickSlider > .slick-prev img,
.itemsBlock > .slick-prev img {
    transform: rotate(180deg);
}
.itemsBlock > .slick-list > .slick-track {
    display: flex;
    align-items: stretch;
}
.itemsBlock > .slick-list > .slick-track > .slick-slide {
    height: inherit;
}
.itemsBlock > .slick-list > .slick-track,
.productGallery .vertical > .slick-list > .slick-track {
    margin-left: 0;
}
.itemsBlock > .slick-list > .slick-track > .slick-slide,
.slickSlider.vertical > .slick-list > .slick-track > .slick-slide {
    margin: .5rem;
}
.itemsBlock,
.slickSlider.vertical {
    margin: -.5rem;
    width: calc(100% + 1rem);
}
.slickSlider.vertical .slick-current {
    border-color: var(--theme-color) !important;
}
.slickNotTransform .slick-track {
    transform: none !important;
}
.slickAnimated {
    transition: all .5s ease;
}
@-webkit-keyframes zoomInImage {
    from {
        transform: scale3d(1, 1, 1);
    }
    to {
        transform: scale3d(1.1, 1.1, 1.1);
    }
}
@keyframes zoomInImage {
    from {
        transform: scale3d(1, 1, 1);
    }
    to {
        transform: scale3d(1.1, 1.1, 1.1);
    }
}
@-webkit-keyframes zoomOutImage {
    from {
        transform: scale3d(1.1, 1.1, 1.1);
    }
    to {
        transform: scale3d(1, 1, 1);
    }
}
@keyframes zoomOutImage {
    from {
        transform: scale3d(1.1, 1.1, 1.1);
    }
    to {
        transform: scale3d(1, 1, 1);
    }
}
.zoomInImage {
    -webkit-animation-name: zoomInImage;
    animation-name: zoomInImage;
}
.zoomOutImage {
    -webkit-animation-name: zoomOutImage;
    animation-name: zoomOutImage;
}

/*fslightbox*/
.fslightbox-container,
.fslightbox-toolbar,
.fslightbox-slide-btn {
    background: rgba(0, 0, 0, .5) !important;
}
.fslightbox-toolbar {
    padding: 0.5rem !important;
    background: none !important;
    display: flex !important;
    gap: .5rem !important;
}
.fslightbox-slide-btn,
.fslightbox-toolbar-button {
    padding: 0 !important;
    margin: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--theme-color) !important;
    border-radius: var(--bs-border-radius) !important;
    background-color: var(--theme-color) !important;
    box-shadow: none !important;
    transition: all .2s;
}
.fslightbox-slide-btn svg,
.fslightbox-toolbar-button svg {
    transform: scale(.8);
}
.fslightbox-slide-btn svg path,
.fslightbox-toolbar-button svg path {
    fill: var(--theme-hover-color) !important;
}
.fslightbox-slide-btn:hover svg path,
.fslightbox-toolbar-button:hover svg path {
    fill: var(--theme-hover-color-secondary) !important;
}
@media (max-width: 768px) {
    .fslightbox-slide-btn,
    .fslightbox-toolbar-button {
        width: 32px !important;
        height: 32px !important;
    }
    .fslightbox-container svg {
        transform: scale(.7);
    }
}
.fslightbox-slide-btn:hover,
.fslightbox-toolbar-button:hover {
    color: var(--theme-hover-color-secondary);
    border-color: var(--theme-color-secondary) !important;
    background-color: var(--theme-color-secondary) !important;
    transition: all .2s;
}
.fslightbox-slide-btn svg path,
.fslightbox-toolbar-button svg path {
    fill: var(--theme-body-bg);
    transition: fill .2s;
}
.fslightbox-slide-number-container {
    color: var(--theme-body-color) !important;
}
.fslightbox-source {
    background: var(--theme-body-bg);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
.fslightbox-slash {
    background: var(--theme-body-color) !important;
}

/*tomselect*/
.ts-dropdown,
.ts-control,
.ts-control input {
    line-height: var(--bs-body-line-height);
}
.ts-wrapper.form-control,
.ts-wrapper.form-select {
    height: 40px;
    max-width: 100%;
}
.ts-wrapper.form-select {
    --ts-pr-caret: 1rem;
    --ts-pr-min: 1rem;
    background-image: none;
    transition: all .2s;
}
.ts-wrapper.form-select:hover,
.ts-wrapper.form-select:active,
.ts-wrapper.form-select:focus,
.ts-wrapper.form-select.input-active {
    color: var(--theme-hover-color-secondary) !important;
    border-color: var(--theme-color-secondary) !important;
    background-color: var(--theme-color-secondary) !important;
    transition: all .2s;
}
.ts-wrapper.form-select:hover .ts-control,
.ts-wrapper.form-select:active .ts-control,
.ts-wrapper.form-select:focus .ts-control,
.ts-wrapper.form-select.input-active .ts-control {
    color: var(--theme-hover-color-secondary) !important;
    transition: all .2s;
}
.ts-wrapper.form-select .ts-control:after {
    content: "";
    display: inline-block;
    margin-left: auto !important;
    border: 0;
    width: 14px;
    height: 14px;
    margin-left: .5rem;
    vertical-align: baseline;
    background-color: var(--theme-body-color);
    mask-image: url("/image/static/chevron-down.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 14px 14px;
    transition: background .2s;
}
.ts-wrapper.form-select:hover .ts-control:after {
    background-color: var(--theme-hover-color-secondary);
    transition: background .2s;
}
.ts-wrapper.form-select .item {
    margin-right: .5rem;
}
.ts-dropdown-content {
    padding: 0;
    max-height: 320px;
}
.ts-dropdown-content .option {
    display: flex;
    align-items: center;
}
.dropdown-menu:not(.desktopMenu),
.ts-dropdown {
    min-width: 256px;
    width: inherit !important;
}
.ts-control {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    color: var(--theme-body-color);
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    border-radius: var(--bs-border-radius);
    transition: all .2s;
}
.ts-control .item {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.focus .ts-control {
    box-shadow: none;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
    padding: .5rem 1rem;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    color: var(---theme-body-color);
}
.ts-dropdown {
    color: var(--bs-body-color);
    transition: all .2s;
}
.ts-dropdown,
.ts-dropdown.form-control,
.ts-dropdown.form-select {
    min-width: 256px;
    width: 100% !important;
    background: var(--bs-body-bg);
    border: 0;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow);
    overflow: hidden;
}
.ts-dropdown .active {
    background-color: var(--theme-color);
    color: var(--theme-hover-color);
    transition: all .2s;
}
.dropdown-item-indicator {
    margin-right: .5rem;
    height: 1.25rem;
    display: inline-flex;
    line-height: 1;
    vertical-align: bottom;
    align-items: center;
}
.dropdown-item-indicator .option-img {
    width: 20px;
    height: 20px;
    background-color: var(--theme-body-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--bs-border-radius);
}

/*nouislider*/
.noUi-horizontal {
    height: 10px;
}
.noUi-target {
    background: var(--bs-gray);
    border-radius: var(--bs-border-radius);
    border: 0;
    box-shadow: none;
}
.noUi-connects {
    border-radius: var(--bs-border-radius);
}
.noUi-connect {
    background: var(--theme-color-secondary);
}
.noUi-horizontal .noUi-handle {
    width: 18px;
    height: 18px;
    right: unset;
    top: -4px;
}
.noUi-horizontal .noUi-handle-lower {
    right: -17px;
}
.noUi-horizontal .noUi-handle-upper {
    right: -1px;
}
.noUi-handle {
    border: 0;
    border-radius: 100%;
    background: var(--theme-color-secondary);
    box-shadow: none;
}
.noUi-handle:after,
.noUi-handle:before {
    display: none;
}

/*litepicker*/
.litepicker {
    --litepicker-month-weekday-color: var(--bs-secondary);
    --litepicker-button-prev-month-color: var(--bs-secondary);
    --litepicker-button-next-month-color: var(--bs-secondary);
    --litepicker-button-prev-month-color-hover: var(--theme-color);
    --litepicker-button-next-month-color-hover: var(--theme-color);
    --litepicker-day-color: var(--bs-body-color);
    --litepicker-day-color-hover: var(--theme-color);
    --litepicker-is-end-color: var(--theme-hover-color);
    --litepicker-is-end-color-bg: var(--theme-color);
    --litepicker-is-today-color: var(--theme-color);
    --litepicker-month-header-color: var(--bs-body-color);
    --litepicker-container-months-color-bg: var(--bs-body-bg);
    font: inherit;
    user-select: none;
    box-shadow: var(--bs-box-shadow);
}
.litepicker svg {
    fill: none !important;
}
.litepicker .container__main {
    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);
    border-radius: var(--tblr-border-radius);
    box-shadow: none;
}
.litepicker .container__months {
    box-shadow: none;
}
.litepicker .container__months .month-item-name,
.litepicker .container__months .month-item-year {
    font-weight: var(--tblr-font-weight-medium) !important;
}
.litepicker .container__months .button-next-month,
.litepicker .container__months .button-prev-month {
    cursor: pointer !important;
}
.litepicker .container__months .month-item-weekdays-row > div {
    padding: 0.5rem 0 !important;
    font-size: 0.75rem;
}
.litepicker .container__days .day-item {
    cursor: pointer !important;
    padding: 0.5rem 0 !important;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
@media (prefers-reduced-motion: reduce) {
    .litepicker .container__days .day-item {
        transition: none;
    }
}
.datepicker-inline .litepicker {
    box-shadow: var(--tblr-box-shadow-input);
}
.datepicker-inline .litepicker .container__months {
    box-shadow: none;
    background-color: var(--tblr-bg-forms);
}

/*coloris*/
.clr-picker {
    width: 256px !important;
    z-index: 9999 !important;
    border-radius: var(--bs-border-radius) !important;
    background-color: var(--theme-body-bg) !important;
    box-shadow: var(--bs-box-shadow) !important;
}
.clr-field input {
    opacity: 0;
    border: 0;
    width: 40px;
}
.clr-field button {
    background: var(--bs-border-color) !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius) !important;
    width: 100% !important;
    height: 100% !important;
}
.clr-field button:after {
    border-radius: 0 !important;
    box-shadow: none !important;
}
/* 28.07.2026 (v2): меню категорий в одну строку. Шрифт почти исходный (.98rem ≈ 14.7px)
   на широких экранах и плавно ужимается на ноутбуках (формула привязана к ширине окна,
   рассчитана на 9 пунктов); перенос названий по словам запрещён. Пункты, как и раньше,
   растягиваются по ширине (flex:auto из разметки не трогаем). */
.mainMenu > li > a {
    white-space: nowrap;
    font-size: clamp(11px, calc((100vw - 170px) / 97), .98rem);
}
/* 29.07.2026: палитра карточек «Почему стоит покупать…» на главной (html_110.tpl):
   сдержанные фирменные оттенки вместо разноцветных bg-orange/green/purple/red.
   Откат: вернуть в html_110.tpl старые классы bg-primary/orange/green/info/purple/red */
.bg-benefit-1 { background-color: #2157A5 !important; } /* брендовый синий */
.bg-benefit-2 { background-color: #1B2F4B !important; } /* глубокий navy */
.bg-benefit-3 { background-color: #2F3B4A !important; } /* графит */
.bg-benefit-4 { background-color: #E9EFF6 !important; } /* светлый серо-голубой (текст тёмный) */
.bg-benefit-5 { background-color: #2E4E80 !important; } /* приглушённый средний синий */
.bg-benefit-6 { background-color: #3D6CB4 !important; } /* осветлённый брендовый */
/* 29.07.2026: SEO-текст о компании на главной (модуль html_99, класс homeAbout добавлен в шаблоне):
   в контенте из БД ручные <br> и text-align:center давали рваные строки. Прячем <br>,
   абзацы ровняем по ширине узкой колонкой по центру. Контент в БД не тронут. */
.homeAbout h5 {
    text-align: justify !important;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.homeAbout h5 br { display: none; }