/* Filters. */

/* Главный контейнер шторки */
.filter-sidebar-wrapper {
    position: relative;
    padding-bottom: 2.6vw;
}

/* Левая шторка */
.filter-sidebar {
    position: fixed;
    top: 0;
    left: -33vw; /* Скрываем шторку за экраном */
    height: 100%;
    width: 33vw;
    background-color: var(--site-background-color);
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
    z-index: 4;
    overflow-y: auto;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Активное состояние (шторка открыта) */
.filter-sidebar.active {
    left: 0;
}

/* Кнопка для открытия шторки */
.filter-sidebar-toggle {
    position: fixed;
    z-index: 1;
    cursor: pointer;
    width: 3.5vw;
    height: 3.5vw;
    bottom: 2.6vw;
    left: auto;
    right: 7vw;
    background-color: var(--info-bars-background-color);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 20px;
    border: none;
    border-radius: 2px;

    animation: woofc-shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;

    transition: box-shadow 0.3s ease;
}

.filter-sidebar-toggle:hover {
    box-shadow: rgba(255, 0, 132, 1) 0px 0px 20px 5px;
}

.filter-sidebar-toggle .icon-svg {
    width: 1.2vw;
    height: 3.5vw;
}

/* Кнопка для закрытия шторки */
.close-filter-sidebar {
    background: none;
    border: none;
    font-size: 3vw;
    cursor: pointer;
    color: var(--general-text-color);
    line-height: 1vw;
}

/* Затемнение фона */
.filter-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Прозрачный черный фон */
    opacity: 0; /* Скрыт по умолчанию */
    visibility: hidden; /* Элемент невидим */
    transition: opacity 0.3s ease; /* Плавное появление */
    z-index: 3; /* Позади шторки */
}

/* Активное состояние затемнения */
.filter-overlay.active {
    opacity: 1;
    visibility: visible;
}

.filter-sorting {
    display: flex;
    flex-direction: column;
    gap: 1.2vw;
    padding: 2vw 0;
    margin: 0 2.6vw;
    border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
}

.filter-filters {
    padding: 2vw 2.6vw;
}

.filter-filters .wcpf-filter-inner {
    display: flex;
    flex-direction: column;
    gap: 2vw;
}

.wcpf-front-element {
    margin: 0;
}

.wcpf-layout-item.wcpf-box-style .wcpf-heading-label, .wcpf-field-item.wcpf-box-style .wcpf-heading-label {
    padding: 0;
    font-size: 1.4vw;
    line-height: 1.4vw;
    font-family: "Alegreya SC", sans-serif;
    font-weight: 400;
    color: var(--general-text-color);
    text-transform: none;
}

.filter-sidebar-header {
    position: fixed;
    z-index: 1;
    top: 0;
    left: -33vw;
    box-sizing: content-box;
    width: 27.8vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1.2vw 2.6vw;
    background: var(--info-bars-background-color);
    overflow-y: auto;
    transition: all 0.3s ease;
}

.filter-sidebar.active .filter-sidebar-header {
    left: 0;
}

.filter-sidebar-content {
    box-sizing: content-box;
    padding: 4vw 0 6.2vw;
}

.wcpf-scrollbar.wcpf-front-element .wcpf-content {
    display: flex;
    flex-direction: column;
    gap: 0.3vw;
    max-height: none !important;
}

.wcpf-field-color-list .wcpf-content, .wcpf-field-text-list .wcpf-content, .wcpf-field-box-list .wcpf-content, .wcpf-field-checkbox-list .wcpf-content, .wcpf-field-radio-list .wcpf-content, .wcpf-field-drop-down-list .wcpf-content, .wcpf-field-price-slider .wcpf-content {
    margin-top: 1.2vw;
    max-width: none;
}

.wcpf-field-text-list .wcpf-product-counts, .wcpf-field-radio-list .wcpf-product-counts, .wcpf-field-checkbox-list .wcpf-product-counts {
	display: none;
}

.wcpf-field-checkbox-list .wcpf-checkbox-list .wcpf-checkbox-item .wcpf-title-container {
    padding-left: 0.6vw;
    font-family: "Montserrat Alternates", sans-serif;
    font-size: 1vw;
    line-height: 1.6;
    width: fit-content;
}

.wcpf-front-element-319 .wcpf-title-container {
	padding: 0.3vw 0.6vw;
    width: fit-content;
    border: 1px solid var(--general-text-color);
    display: flex;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.wcpf-front-element-319 .wcpf-title-container:hover {
	background: var(--info-bars-background-color);
    border-color: var(--info-bars-background-color);
}

.wcpf-front-element-319 .wcpf-text-list {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1vw;
}

.wcpf-front-element-319.wcpf-field-text-list.wcpf-text-list-inline-style .wcpf-text-list .wcpf-text-item {
	margin: 0;
}

.wcpf-front-element.wcpf-hierarchical-collapsed .wcpf-item-hierarchical-collapsed .box-item-toggle {
    height: 1vw;
    width: 1vw;
    top: 0.9vw;
    position: relative;
    right: unset;
}

.wcpf-front-element.wcpf-hierarchical-collapsed .wcpf-item-hierarchical-collapsed .box-item-toggle:before {
    font-size: 1vw;
}

.wcpf-field-checkbox-list .wcpf-checkbox-list .wcpf-checkbox-item.checked > .wcpf-checkbox-item-inner > .wcpf-checkbox-label .wcpf-input-container::after {
    height: 0.17vw;
    width: 0.35vw;
    top: 0.1vw;
    left: 0.11vw;
    border-width: 0 0 0.11vw 0.11vw;
}

.wcpf-field-checkbox-list .wcpf-checkbox-list .wcpf-checkbox-item .wcpf-checkbox-label {
    display: flex;
    flex-direction: row;
}

.wcpf-field-checkbox-list .wcpf-checkbox-list .wcpf-checkbox-item .wcpf-input-container {
    width: 0.8vw;
    height: 0.8vw;
    margin-top: 0.8vw;
    border-color: var(--general-text-color);
}

.wcpf-field-checkbox-list .wcpf-checkbox-list .wcpf-checkbox-item .wcpf-checkbox-label:hover {
    color: var(--current-item-color);
}

.wcpf-field-text-list .wcpf-text-list .wcpf-text-item .wcpf-title-container,
.wcpf-field-box-list .wcpf-box-list .wcpf-box-item {
    font-family: "Montserrat Alternates", sans-serif;
    font-size: 1vw;
    font-weight: 400;
    line-height: 1.6;
    color: var(--general-text-color);
}

.wcpf-field-text-list.wcpf-text-list-inline-style .wcpf-text-list .wcpf-text-item {
    margin-right: 1vw;
}

.wcpf-field-text-list .wcpf-text-list .wcpf-text-item .wcpf-title-container:hover {
    color: var(--current-item-color);
    font-weight: 400;
}

.wcpf-field-text-list.wcpf-text-list-inline-style .wcpf-text-list .wcpf-text-item.selected .wcpf-title-container,
.wcpf-inner .wcpf-text-list .wcpf-text-item.selected .wcpf-title-container {
    font-weight: 400;
    background: var(--info-bars-background-color);
    padding: 0 0.3vw;
}

.wcpf-field-box-list .wcpf-box-list .wcpf-box-item {
    width: 5vw !important;
    height: 5vw !important;
    line-height: 5vw !important;
    border: 1px solid #000000;
}

.wcpf-field-box-list .wcpf-box-list .wcpf-box-item:hover {
    color: var(--current-item-color);
}

.wcpf-field-box-list .wcpf-box-list .wcpf-box-item.selected {
    background-color: var(--info-bars-background-color);
    color: var(--general-text-color);
}

.wcpf-field-color-list .wcpf-color-list .wcpf-color-item {
    height: 2vw;
    width: 2vw;
    margin: 0.4vw 0.6vw 0 0;
    background-size: 2.4vw;
    background-repeat: no-repeat;
    background-position: center;
}

.wcpf-field-color-list .wcpf-color-list .wcpf-color-item:hover {
    box-shadow: var(--box-shadow-rose);
}

.wcpf-field-color-list .wcpf-color-list .wcpf-color-item.selected:after {
    height: 0.5vw;
    width: 1vw;
    border: solid var(--current-item-color);
    border-width: 0 0 2px 2px;
    margin: 0.5vw 0 0 0.46vw;
}

.wcpf-field-color-list .wcpf-color-list .wcpf-color-item.selected {
    box-shadow: var(--box-shadow-rose);
}

.wcpf-layout-item.wcpf-box-style .wcpf-heading-label .box-toggle, .wcpf-field-item.wcpf-box-style .wcpf-heading-label .box-toggle {
    font-size: 1vw;
    height: 1vw;
    width: 1vw;
}

select {
    font-family: "Montserrat Alternates", sans-serif;
    font-size: 0.8vw;
    line-height: 0.8vw;
    padding: 0.2vw;
    border-color: var(--general-text-color);
}

select:hover {
    border-color: var(--current-item-color);
    box-shadow: 0 0 5px var(--current-item-color);
}

select:focus {
    outline: none; /* Убираем стандартную подсветку */
    border-color: var(--current-item-color);
    box-shadow: 0 0 5px var(--current-item-color);
}

option {
    font-family: "Montserrat Alternates", sans-serif;
    font-size: 0.8vw;
    line-height: 0.8vw;
    color: var(--general-text-color);
    background-color: var(--site-background-color);
    padding: 0.5vw;
}

option:hover {
    background-color: var(--info-bars-background-color);
}

/* Archive page content. */

.archive-content {
    padding: 0 2.6vw 2.6vw;
}

.archive-products {
    padding: 0 0 1.2vw;
    display: flex;
    flex-direction: column;
    gap: 2.6vw;
}

.archive-products .products-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.2vw;
}

.archive-products .product-card {
    display: flex;
    gap: 1.2vw;
    width: 49.3%;
    height: 32vw;
    box-shadow: var(--box-shadow-gray);
}

.archive-products .pr-card-info {
    /*width: 22.55vw;*/
    height: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2vw;
    justify-content: space-between;
    padding: 1.2vw 1.2vw 1.2vw 0;
}

.archive-products .product-img {
    /*width: 22.55vw;*/
    height: auto;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.archive-products .product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;

    transition: transform 0.3s ease;
}

.archive-products .product-img:hover img {
    transform: scale(1.1);
}

.archive-products .info-details {
    display: flex;
    gap: 2vw;
    flex-direction: column;
}

.archive-products .product-details {
    display: flex;
    flex-direction: column;
    gap: 1.2vw;
}

.archive-products .product-attributes {
    display: flex;
    flex-direction: column;
    gap: 0.3vw;
}

/* Infinite scroll. */

.lmp_products_loading, .lmp_load_more_button {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 1.2vw 0;
    padding: 1.2vw 2.6vw;
    /*
    background: linear-gradient(90deg, rgba(255, 77, 77, 0.5), rgba(255, 204, 0, 0.5), rgba(77, 255, 77, 0.5), rgba(77, 148, 255, 0.5), #cc00ff, #ff4d4d);
    */
    background: linear-gradient(90deg, rgb(255, 204, 230), rgb(246, 171, 212), rgb(248, 123, 187), rgb(255, 204, 230), #cc00ff, #ff4d4d);
    background-size: 300%;
    animation: laser-gradient 3s linear infinite;
    gap: 0.6vw;
    color: var(--general-text-color); /* Дополнительно для читабельности текста */
    border: none; /* Настройка, чтобы убрать стандартную обводку (при необходимости) */
    overflow: hidden; /* Для предотвращения выступа содержимого */
}

@keyframes laser-gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.lmp_products_loading span, .lmp_load_more_button span {
    line-height: 1vw;
}

.lmp_products_loading .fa {
    width: 1.5vw!important;
    height: 1.5vw!important;
    font-size: 1.5vw!important;
    line-height: 1.5vw!important;
}

/* Delete sorting after products list and sidebar. */

.site-main div.storefront-sorting,
#secondary {
    display: none;
}