/*
Negozio: filtri, cambio layout griglia/lista/masonry, fascia di prezzo e
scheda abito. Estratto da style.css il 01/08/2026.

Caricato solo dove serve: pagine WooCommerce (negozio, scheda, categorie,
/marchio/<slug>/) e pagine Elementor che montano il widget archivio prodotti,
cioe' /collezioni-abiti-da-sposa/ e /collezioni-abiti-da-sposo/.

Verificato prima di spostarlo: delle 239 regole qui dentro, sulle 12 pagine
non-negozio del sito ne agganciavano qualcosa solo 3 — e quelle 3 sono
rimaste in style.css.
*/

.pe--grid--switcher svg {
    /* width: 1.5rem; */
    height: 1.5rem;
    fill: var(--mainColor);
}

.pe--grid--switcher>span {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    line-height: 1;
    display: block;
    z-index: 2;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.grid--switcher--switch .pe--grid--switcher>span {
    padding: calc(var(--gap) / 2);
}

.grid--switcher--simple .pe--grid--switcher>span {
    opacity: .5
}

.pe--grid--switcher {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: var(--radius);
    position: relative;
    overflow: hidden;
    --radius: 5px;
    --gap: 10px;
    gap: var(--gap);
}

.grid--switcher--switch .pe--grid--switcher {
    background: var(--secondaryBackground);
}

.products--controls--bordered .grid--switcher--switch .pe--grid--switcher {
    border: 1px solid var(--linesColor);
}

@media only screen and (max-width: 576px) {
    .pe--grid--switcher {
        display: none;
    }
}

.pe--grid--switcher>span.switch--follower {
    position: absolute;
    left: 0;
    width: 3.5rem;
    height: 100%;
    background: var(--mainColor);
    top: 0;
    border-radius: var(--radius);
    z-index: 1;
}

.grid--switcher--switch .pe--grid--switcher>span.switch--active svg {
    fill: var(--secondaryBackground);
}

.grid--switcher--simple .pe--grid--switcher>span.switch--active {
    opacity: 1
}

.archive-products-section.archive--list .saren--products-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.saren--single--product.sp--archive--list .saren--product--wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.saren--single--product.sp--archive--list .saren--product--wrap .saren--product--image--wrap {
    width: 15%;
}

.saren--single--product.sp--archive--list .saren--product--actions {
    position: static;
    -webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: end !important;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;

}

.saren--single--product.sp--archive--list .saren--product--actions>div {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.saren--single--product.sp--archive--list .saren--product--meta {
    text-transform: none;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 25%;
}

.saren--single--product.sp--archive--list .list--product--meta--2 {
    padding: 0.5em 1em;
    width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    font-size: 14px;
    color: var(--secondaryColor);
}

.saren--single--product.sp--archive--list .list--product--meta--2 .product-short-desc {
    max-width: 70%;
}

.saren--single--product.sp--archive--list .saren--product--actions {
    width: 15%;
}

.saren--single--product.sp--archive--list .product-name.woocommerce-loop-product__title {
    font-size: 25px;
}

.saren--single--product.sp--archive--list .saren--product--main {
    gap: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
}

.saren--single--product.sp--archive--list .saren--product--extras {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.saren--single--product.sp--archive--list .saren--single--product--attributes {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.saren--single--product.sp--archive--list .saren--product--element.element--stock p {
    margin: 0;
}

.saren--single--product.sp--archive--list .saren--product--wrap p.discount-badge {
    position: absolute;
    right: 5px;
    top: 5px;
    z-index: 99;
    line-height: 1;
    margin: 0;
}

@media only screen and (max-width: 576px) {

    .saren--single--product.sp--archive--list .saren--product--wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .saren--single--product.sp--archive--list .list--product--meta--2,
    .saren--single--product.sp--archive--list .saren--product--meta,
    .saren--single--product.sp--archive--list .saren--product--wrap .saren--product--image--wrap {
        width: 100%;
    }

    .saren--single--product.sp--archive--list .list--product--meta--2 .product-short-desc {
        max-width: 100%;
    }

    .saren--single--product.sp--archive--list .saren--product--main {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 0.5em;
    }

    .saren--single--product.sp--archive--list .saren--product--actions {
        width: 100%;
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: start !important;
        padding: 0.5em 1em;
    }

    .pe-select {
        min-width: auto;

    }

    .select-selected {
        padding-right: 2em;
        padding: 0;
    }

}

.archive-products-section.archive--masonry {
    --masonryItemsWidth: 24%;
    --masonryGutter: 1.333333%;
}

.archive-products-section.archive--masonry .saren--products-grid {
    display: block;
    float: left;
    width: 100%;
    overflow: hidden;
}

.archive-products-section.archive--masonry .saren--products-grid:after {
    content: '';
    display: block;
    clear: both;
}

.archive-products-section.archive--masonry .saren--single--product,
.archive-products-section.archive--masonry .saren--products--masonry--sizer {
    width: var(--masonryItemsWidth);
    display: block;
    float: left;
}

.saren--single--product {
    margin-bottom: var(--masonryGutter);
    /* height: 46.5vh; */
    border-color: var(--linesColor);
    border-width: 1px;
}

.elementor-editor-active .archive-products-section.archive--masonry .saren--products-grid {
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important;
}

.archive-products-section.archive--masonry .saren--products--masonry--gutter {
    width: var(--masonryGutter);
    display: block;
}

.archive-products-section.archive--masonry .saren--products-grid .saren--single--product.product--highlighted {
    width: calc((var(--masonryItemsWidth) * 2) + var(--masonryGutter));
}

.archive-products-section.archive--grid .saren--products-grid .saren--single--product.product--highlighted {
    -ms-grid-column-span: 2;
    grid-column: span 2;
}

.archive-products-section.archive--masonry .saren--single--product {
    display: block;
}

.archive-products-section:has(.filters--sidebar) .saren--products-grid {
    width: 75%;
}

.archive-products-section:has(.filters--sidebar) .filters--wrapper {
    float: left;
}

.archive-products-section:has(.filters--sidebar) .pe--product--filters:not(.saren--products--filter--cats) {
    width: 23%;
    margin-right: 2%;
}

.sidebar--pos--right .archive-products-section:has(.filters--sidebar) .pe--product--filters:not(.saren--products--filter--cats) {
    margin-left: 2%;
    margin-right: 0;
}

.pe--product--filters .filters--wrapper.filters--sidebar {
    margin-top: 1.5em;
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important;
    max-height: -webkit-fit-content !important;
    max-height: -moz-fit-content !important;
    max-height: fit-content !important;
}

.pe--product--filters .filters--wrapper.filters--sidebar .terms-list {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    width: 100%;
}

.products--controls--bordered .filters--wrapper.filters--sidebar {
    border: 1px solid var(--linesColor);
}

.products--controls--rounded .filters--wrapper.filters--sidebar {
    border-radius: 10px;
}

.controls--has--bg .filters--wrapper.filters--sidebar {
    background: var(--secondaryBackground);
}

.pe--product--filters .filters--wrapper.filters--sidebar .filters--item:first-child {
    margin-top: var(--gap);
}

.pe--product--filters .filters--wrapper.filters--sidebar .filters--item:last-child {
    margin-bottom: var(--gap);
}

.archive-products-section:has(.filters--sidebar) .saren--products--load--more {
    width: 75%;
    margin-left: auto;
    float: right;
}

.filters--accordion .filters--wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.filters--accordion .filters--wrapper .terms-list-title,
.filters--accordion .filters--wrapper .filter--label {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}

.filters--accordion .filters--wrapper>div {
    width: 100%;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.filters--accordion .filters--wrapper>div .terms-list:not(:has(.terms--terms)) {
    height: 0;
    overflow: hidden;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.filters--accordion .filters--wrapper>div .terms-list:has(.terms--terms) .terms--terms {
    height: 0;
    width: 100%;
    overflow: hidden;
}

.filters--accordion .filters--wrapper>div.active .terms-list:has(.terms--terms) .terms--terms {
    height: auto;
}

.terms--terms {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--gap);
    --gap: 5px;
    width: 100%;
}

.terms-list:has(.filter-term-color) .terms--terms:has(input:checked) .term--list--item {
    opacity: .5;
}

.terms-list:has(.filter-term-color) .terms--terms:has(input:checked) .term--list--item:has(input:checked):not(.classic--checkbox) {
    opacity: 1;
    border-color: var(--mainColor)
}

.terms-list:has(.filter-term-color) .terms--terms:has(input:checked) .term--list--item:has(input:checked) {
    opacity: 1;
}

.filters--accordion .filters--wrapper>div .terms-list:has(.terms--terms).active .terms--terms {
    height: auto;
    padding-bottom: 1em;
    padding-top: 1em;
}

.filters--accordion .filters--wrapper>div.active .terms-list:not(:has(.terms--terms)) {
    height: auto;
    padding-bottom: 1em;
    padding-top: 1em;
}

.filters--seperated.filters--accordion .filters--item .terms--terms,
.filters--seperated.filters--accordion .filters--item:not(:has(.terms--terms)) {
    border-bottom: 1px solid var(--linesColor);
}

.filters--accordion .pe--product--filters .filter--label svg,
.filters--accordion .pe--product--filters .terms-list svg {
    width: 2em;
    height: 2em;
    display: inline-block;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    fill: var(--mainColor);
}

.filters--accordion .pe--product--filters .filters--item.active svg,
.filters--accordion .pe--product--filters .terms-list.active svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.filters--accordion .pe--product--filters .filter--label,
.filters--accordion .pe--product--filters .terms-list .terms-list-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (max-width: 576px) {


    .archive-products-section.archive--grid .saren--products-grid .saren--single--product.product--highlighted {
        -ms-grid-column-span: 1;
        grid-column: span 1;
    }


    .pe--product--filters .filters--wrapper.filters--sidebar {
        margin-top: 0;
    }

    .archive-products-section:has(.filters--sidebar) .pe--product--filters:not(.saren--products--filter--cats) {
        width: 100%;
        margin: 0;
        margin-top: 2em;
    }

    .archive-products-section:has(.filters--sidebar) .saren--products--load--more,
    .archive-products-section:has(.filters--sidebar) .filters--wrapper,
    .archive-products-section:has(.filters--sidebar) .saren--products-grid {
        width: 100%;
        margin-right: 0;
    }

    .archive-products-section.archive--masonry .saren--products-grid .saren--single--product.product--highlighted,
    .archive-products-section.archive--masonry .saren--single--product,
    .archive-products-section.archive--masonry .saren--products--masonry--sizer {
        width: 100%;
        position: static!important
    }

    .saren--products--filter--cats {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .saren--products--grid--controls {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        row-gap: 1em;
    }

    .pe--product--filters .filters--item.filters_attributes {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: start;
        -ms-flex-line-pack: start;
        align-content: start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
    }

    .pe--product--filters .terms-list {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
    }

}

.pe--product--filters .filters--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: var(--gap);
    --gap: 0.2em;
    width: 100%;
}

.filters--vertical .pe--product--filters .filters--item.filters_attributes,
.filters--vertical .pe--product--filters .filters--item,
.filters--vertical .pe--product--filters .filters--wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.filters--vertical.filters--seperated .pe--product--filters .filters--item.filters_attributes::after,
.filters--vertical.filters--seperated .pe--product--filters .filters--item::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: var(--linesColor);
    opacity: .2
}

.filters--vertical.filters--seperated .pe--product--filters .filters--item:last-child::after {
    display: none
}

.pe--product--filters .filters--item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: var(--gap);
}

.filters--item.filters_brands,
.filters--item.filters_categories {
    flex-direction: column;
}

label.classic--checkbox div {
    display: inline-block;
    margin-left: 0.5em;
    line-height: 1;
}

.pe--product--filters .filters--item.filters_attributes {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.pe--product--filters input[type=checkbox] {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    display: none;
    vertical-align: middle;
    line-height: 1;
    margin-right: 5px;
}

.filters--item.filters_on-sale input[type=checkbox] {
    display: inline-block;
}

.saren--products--filter--cats.pe--product--filters input[type=checkbox] {
    display: none;
}

.pe--product--filters label.classic--checkbox {
    line-height: 1;
}

.pe--product--filters label {
    background: transparent;
    border-radius: var(--radius);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    white-space: nowrap;
    border-color: var(--linesColor);
    border-width: 1px;
    --radius: 10px;
}

.pe--product--filters label span.filter--count {
    font-size: 0.8em;
    margin-left: 0.5em;
    line-height: 0.8em;
    display: inline-block;
    opacity: .9;
    color: var(--mainColor);
}

.pe--product--filters label:has(.filter-term-color).button--select span.filter--count {
    display: none;
}

.controls--has--bg .saren--products--filter--cats label {
    background: var(--secondaryBackground);
}

.products--controls--bordered .saren--products--filter--cats label {
    border: 1px solid var(--linesColor);
}

.products--controls--rounded .saren--products--filter--cats.pe--product--filters label {
    border-radius: 100px;
}

.pe--product--filters.loading label.term--list--item {
    cursor: wait;
    opacity: .5;
}

.pe--product--filters .terms-list-title p {
    font-size: inherit;
}

.saren--products--filter--cats.pe--product--filters label {
    border-radius: 10px;
}

.pe--product--filters label:not(.classic--checkbox):has(input:checked) {
    background: var(--mainColor);
    color: var(--mainBackground)
}

.pe--product--filters label:not(.classic--checkbox):has(input:checked) .filter--count {
    color: var(--mainBackground)
}

.pe--product--filters .terms-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: calc(var(--gap) / 3);
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.pe--product--filters label:has(.filter-term-color) {
    font-size: 0;
    width: 1.4rem;
    height: 1.4rem;
}

.pe--product--filters label:has(.filter-term-color) span:not(.filter--count) {
    width: 100%;
    height: 100%;
    display: block;
}

.pe--product--filters label:has(.filter-term-color) span.filter-term-color {
    border-radius: var(--radius);
}

.pe--product--filters label:has(.filter-term-color) span.term--name {
    font-size: 0.7rem;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    line-height: 1rem;
    background: var(--mainColor);
    color: var(--secondaryBackground);
    padding: 0.5em 1em;
    margin: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    text-align: center;
    width: fit-content;
    line-height: 1.7;
}

.terms--terms:has(.filter-term-color) {
    overflow: visible;
}

.pe--product--filters label:has(.filter-term-color):hover span.term--name {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(-110%);
    -ms-transform: translateX(-50%) translateY(-110%);
    transform: translateX(-50%) translateY(-110%);
}

.pe--product--filters label:has(.filter-term-color) {
    border: none;
    padding: 0 !important;
    border-radius: var(--radius);
    --radius: 50%;
    border-color: var(--linesColor);
    border-style: solid;
    position: relative;
    overflow: visible;
}

.pe--product--filters label.classic--checkbox:has(.filter-term-color) span.term--name {
    position: static;
    color: var(--mainColor);
    opacity: 1;
    background: none;
    transform: none;
    padding: 0;
    visibility: visible;
    float: left;
    text-align: left;
    font-size: 0.9rem;
    width: fit-content;
    line-height: normal;
}

.pe--product--filters label.classic--checkbox:has(.filter-term-color) {
    display: flex;
    flex-direction: row;
    gap: 5px;
    width: auto;
    height: auto;
    align-content: center;
    align-items: center;
}

.pe--product--filters label.classic--checkbox:has(.filter-term-color) span.filter-term-color {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    line-height: 1;
}

.pe--product--filters .terms-list-title {
    width: auto;
    margin-bottom: 5px;
}

.filters--vertical.filters--seperated .pe--product--filters .terms-list-title,
.filters--vertical.filters--seperated .pe--product--filters .filter--label {
    margin-top: 1em
}

.pe--product--filters .terms-list-title p {
    margin: 0;
}

.pe--product--filters .filters--button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
    background: none;
    color: var(--mainColor);
    width: auto;
    padding: 0.5em 1.5em;
    border-radius: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;

}

.filters--button--fixed .filters--button.pe--pop--button {
    position: fixed;
    bottom: calc(var(--padding-bottom) * 2);
    left: calc(var(--padding-left) * 2);
    z-index: 2;
    -webkit-transform: translateX(calc(-100% - calc(var(--padding-left) * 2)));
    -ms-transform: translateX(calc(-100% - calc(var(--padding-left) * 2)));
    transform: translateX(calc(-100% - calc(var(--padding-left) * 2)));
    -webkit-transition: -webkit-transform .4s cubic-bezier(0.25, 0, 0.11, 0.96);
    transition: -webkit-transform .4s cubic-bezier(0.25, 0, 0.11, 0.96);
    transition: transform .4s cubic-bezier(0.25, 0, 0.11, 0.96);
    transition: transform .4s cubic-bezier(0.25, 0, 0.11, 0.96), -webkit-transform .4s cubic-bezier(0.25, 0, 0.11, 0.96)
}

.filters--button--fixed .filters--button.pe--pop--button.fb--active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.filters--button--fixed .saren--product--filters {
    position: absolute;
}

.filters--button--pos--center .filters--button.pe--pop--button {
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(calc(100% + (calc(var(--padding-bottom) * 2))));
    -ms-transform: translateX(-50%) translateY(calc(100% + (calc(var(--padding-bottom) * 2))));
    transform: translateX(-50%) translateY(calc(100% + (calc(var(--padding-bottom) * 2))))
}

.filters--button--pos--center .filters--button.pe--pop--button.fb--active {
    -webkit-transform: translateX(-50%) translateY(0);
    -ms-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0)
}

.filters--button--pos--right .filters--button.pe--pop--button {
    left: unset;
    right: calc(var(--padding-right) * 2);
    -webkit-transform: translateX(calc(100% + calc(var(--padding-right) * 2)));
    -ms-transform: translateX(calc(100% + calc(var(--padding-right) * 2)));
    transform: translateX(calc(100% + calc(var(--padding-right) * 2)));
}

.filters--button--pos--right .filters--button.pe--pop--button.fb--active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.products--controls--rounded .pe--product--filters .filters--button {
    border-radius: 100px;
}

.products--controls--bordered .pe--product--filters .filters--button {
    border: 1px solid var(--secondaryColor)
}

.controls--has--bg .pe--product--filters .filters--button {
    background: var(--mainColor);
    color: var(--mainBackground);
}

.controls--has--bg .pe--product--filters .filters--button svg {
    fill: var(--mainBackground);
    -webkit-transition: -webkit-transform .75s ease-in-out;
    transition: -webkit-transform .75s ease-in-out;
    transition: transform .75s ease-in-out;
    transition: transform .75s ease-in-out, -webkit-transform .75s ease-in-out;
    width: 1.2rem;
    height: 1.2rem;
}

.pe--product--filters .filters--button.active svg.filters--default--icon {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

.pe--product--filters.filters--dropdown .filters--wrapper {
    height: 0;
    overflow: hidden;
    background: transparent;
    padding: 0;
    margin-top: 0;
    border-top: 1px solid transparent
}

.pe--product--filters.filters--dropdown .filters--wrapper.active {
    height: auto;
    visibility: visible;
    opacity: 1;
    border-top: 1px solid var(--linesColor);
    margin-top: var(--gap);
    padding-top: var(--gap);
    padding-bottom: var(--gap);
}

.filters--button.pe--pop--button {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pe--product--filters.filters--popup .filters--wrapper {
    position: fixed;
    z-index: 9999999;
    background: var(--secondaryBackground);
    --popPadding: 1em;
    padding: var(--popPadding);
    border-radius: 10px;
    --gap: 25px;
    --fontSize: 14px;
    font-size: var(--fontSize);
    gap: var(--gap);
    overflow: auto;
}

.filters--wrapper--inner {
    overflow: auto;
    max-height: var(--contMaxHeight);
}

.filters--seperated .pe--product--filters.filters--popup .filters--wrapper {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

.terms-list-title p,
.terms-list-title,
.filter--label {
    font-size: var(--fontSize);
    margin: 0
}

.filters--horizontal .pe--product--filters .filters--wrapper--inner,
.filters--horizontal .pe--product--filters.filters--popup .filters--wrapper--inner {
    max-width: unset;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: flex;
    flex-direction: row;
    width: 100%;
}

.products--controls--underlined .saren--products--filter--cats label {
    color: var(--secondaryColor);
    position: relative
}

.products--controls--underlined .pe--product--filters label:not(.classic--checkbox)::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    position: absolute;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity .4s ease;
    transition: opacity .4s ease
}

.products--controls--underlined .saren--products--filter--cats label:has(input:checked) {
    background: none;
    color: var(--mainColor)
}

.products--controls--underlined .pe--product--filters label:has(input:checked)::after {
    opacity: 1
}

.saren--products--filter--cats>div.filter--cats--images--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background: transparent;
    padding: 0;
}

.saren--products--filter--cats:has(.filter--cats--images--wrapper) {
    width: auto;
    overflow: hidden;
}

.saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
    min-width: 300px;
}

.saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image)>div {
    width: 50%;
}

.saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image)>div.archive--cats--dets {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

}

.saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image)>div.archive--cats--dets p {
    margin: 0;
    max-width: 100%;
    white-space: pre-wrap;
    position: relative;
}

.cat--counts--yes .saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image)>div.archive--cats--dets p:first-of-type::after {
    content: '(' attr(data-count) ')';
    margin-left: 5px;
}

.saren--products--filter--cats.pe--product--filters label:has(.archive--cat--image)>div.archive--cats--dets p:last-child {
    color: var(--secondaryColor);
    font-size: 14px;
    line-height: 20px;
    margin-top: 5px;
}

.filters--wrapper .products--sorting {
    width: 100%;
}

.sorting--behavior--open .select-items.select-hide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: none;
    border: none;
    position: static;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.3em;
}

.sorting--behavior--open .select-items div {
    padding: 0;
    -webkit-transition: opacity .4s ease;
    transition: opacity .4s ease;
}

.sorting--behavior--open .select-selected {
    display: none;
}

.sorting--behavior--open .select-items div:hover,
.sorting--behavior--open .same-as-selected {
    background: none;
}

.sorting--behavior--open .select-items:has(.same-as-selected) div {
    opacity: .5
}

.sorting--behavior--open .select-items:has(.same-as-selected) div.same-as-selected {
    opacity: 1
}

.filter-price-range {
    min-width: 100%;
    width: 100%;
    max-width: 250px;
}

.range-slider {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 3em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.filter-price-range input[type="number"],
.filter-price-range>label {
    display: none;
}

.range-slider input[type="range"] {
    position: absolute;
    width: 100%;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    padding: 0;
}

input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    background: var(--linesColor);
    border-radius: 4px;
}

input[type="range"]::-webkit-slider-thumb {
    pointer-events: all;
    width: 17px;
    height: 17px;
    background: var(--mainColor);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -7px;
    border-radius: 50%;
    z-index: 99;
    position: relative;
}

input[type="range"]::-moz-range-track {
    height: 8px;
    background: var(--mainColor);
    border-radius: 4px;
}

input[type="range"]::-moz-range-thumb {
    pointer-events: all;
    width: 16px;
    height: 16px;
    background: var(--mainColor);
    border-radius: 50%;
    cursor: pointer;
}

.filter--range--labels {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px;
}

.pe--product--filters .classic--checkbox:not(:has(.filter-term-color)) input[type=checkbox] {
    width: 1em;
    height: 1em;
    background: var(--mainBackground);
    border: 1px solid var(--linesColor);
    border-radius: 5px;
    position: relative;
    display: inline-block;
}

.pe--product--filters .classic--checkbox:not(:has(.filter-term-color)) input[type=checkbox]::after {
    content: "\e90e";
    font-family: eicons;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 0.75em;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    background: var(--mainColor);
    border-radius: 5px;
    width: 100%;
    height: 100%;
}

.pe--product--filters .classic--checkbox:not(:has(.filter-term-color)) input[type=checkbox]:checked::after {
    opacity: 1;
    visibility: visible;
}

.products--controls--bordered .pe--product--filters .filters--item label.classic--checkbox:not(:has(.filter-term-color)) {
    border: none;
    padding: 0;
    border-radius: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5em;
    font-size: 1em;
    line-height: 1em;
}

.saren--products--load--more {
    display: block;
    text-align: center;
    margin: 50px 0;
    width: 100%;
    float: left;
}

.saren--products--load--more.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.saren--products--infinite--scroll {
    font-size: 40px;
    text-align: center;
    width: 1em;
    height: 1em;
    margin: 50px 0;
    display: block;
    width: 100%;
    float: left;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    transition: all .4s ease
}

.saren--products--infinite--scroll.hidden,
.saren--products--infinite--scroll.hidden.loading {
    opacity: 0;
    visibility: hidden;
}

.saren--products--infinite--scroll.loading {
    opacity: 1;
    visibility: visible
}

.saren--products--infinite--scroll svg {
    -webkit-animation-name: cartLoading;
    animation-name: cartLoading;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
}

form.variations_form.cart {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

form.variations_form.cart.variation--images--loading {
    opacity: .5;
    cursor: wait;
}

form.variations_form.cart.variation--images--loading .attr--label {
    cursor: wait;
}

.variation--gallery--img {
    position: absolute;
    top: 0;
    z-index: 1;
    opacity: 0;
}

.variation--single--img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
}

.saren--single--product--attributes.has--swatches .attr--dt--variation_color_only span.active {
    border: 1px solid var(--mainColor);
}

label.radio--parent:not([data-stock="1"]) {
    pointer-events: none;
    opacity: .5;
}

label.radio--parent:not([data-stock="1"])::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 30%;
    height: 1px;
    background: var(--mainColor);
}

.saren--single--product--attributes.has--swatches span {
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.saren--single--product--attributes.has--swatches span.active {
    color: var(--mainColor);
    background: var(--mainBackground);
}

a.reset_variations {
    display: none !important;
}

.woocommerce #reviews #comments ol.commentlist {
    padding: 0;
    font-size: 1rem;
    margin-top: 20px !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin-bottom: 50px;
}

.pe--product-head>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: 100%;
    overflow: visible;
}

.pe--product-head.img-masonry .product-gallery-image {
    height: auto;
    margin-bottom: .5%
}

.pe--product-head.img-masonry .product-gallery-wrap {
    display: block;
}

.pe--product-head.img-masonry .product-gallery-image,
.pe--product-head.img-masonry .grid-sizer {
    width: 49.5%;
}

.pe--product-head.img-masonry .grid-gutter {
    width: 1%
}

.product-gallery-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 20px;
}

.pe--product-head.gal-col-1 .product-gallery-wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
}

:root {
    --pgal-image-height: 50;
    --pgal-mobile-width: 100;
}

.product-gallery-image {
    display: block;
    float: left;
    width: 30vw;
    height: calc(100vh / 100 * var(--pgal-image-height));
    overflow: hidden;
}

.product-gallery-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.pe--product-head>div.product-info {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.related-products .saren--single--product {
    -ms-grid-column-span: 3 !important;
    grid-column: span 3 !important;
}

section.related-products {
    padding: 0 25px;
    margin-top: 1em;
    margin-bottom: 1em;
    text-transform: uppercase;
}

.product-price {
    margin-bottom: 0;
    font-size: 14px;
}

.product-description {
    max-width: 60%;
}

.product-detail-tabs {
    display: block;
    float: left;
    width: 100%;
    margin-top: 100px;
}

.product-detail-tabs>div {
    display: block;
    float: left;
    width: 50%;
}

.product-detail-tabs>div .tab-title {
    margin-bottom: 0.5em;
    opacity: .5;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    white-space: nowrap;
    text-transform: uppercase;
}

.tab-title-clone .anim_char span,
.tab-title-clone .anim_word span,
.tab-title-clone .anim_line span {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
}

.product-detail-tabs>div .tab-title.active {
    opacity: 1;
}

.product-detail-tabs>div .tab-content {
    display: none;
}

.product-detail-tabs>div .tab-content.active {
    display: block
}

.saren-related-products.wrapper-full>.saren--single--product {
    width: 31%;
    margin-right: 2.3333333%;
}

.woocommerce .pe--product-head p.woocommerce-review-link,
.woocommerce .pe--product-head .star-rating {
    display: inline-block;
    margin: 0;
    height: 1em;
    line-height: 1;
    font-size: 1em;
    float: none;
}

.woocommerce .pe--product-head p.woocommerce-review-link {
    opacity: .65
}

.product-attributes>span {
    display: block;
    float: left;
    width: 100%;
    margin-bottom: 1em;
    opacity: 1;
}

table.variations th.label {
    padding: 0;
    display: block;
    float: left;
    border: none;

    line-height: 4em
}

table.variations td {
    border: none;
}

.woocommerce .pe--product-head .product-add-to-cart {
    display: block;
    float: left;
    margin-top: 35px;
    position: relative;
}

.pe--product-head.pe-wrapper {
    padding-top: 100px;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 50px;
}

.pe--product-head.pe-wrapper::after {
    display: none;
}

.pe--product-head .product--main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pe--product-head .product-name {
    text-transform: uppercase;
}

.pe--product-head .product-name h1.text-h3.product_title.entry-title {
    margin: 0;
}

.pe--product-head .product--aside {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.pe--product-head .product-attributes,
.product-attributes a {
    margin-left: auto;
    color: var(--secondaryColor);
}

.pe--product-head .product-description p {
    margin: 0;
    width: 80%;
    margin-bottom: 3em;
}

.inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.saren--file--upload {
    width: 150px;
    height: 150px;
    font-size: 1em;
    background: var(--secondaryBackground);
    border-radius: 15px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.saren--file--upload::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - 1em);
    height: calc(100% - 1em);
    border-width: 2px;
    border-style: dashed;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 10px;
    pointer-events: none;
    opacity: .25;
}

.saren--file--upload label {
    margin: 0;
    padding: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: none;
    font-size: 14px;
    line-height: 1.4;
    gap: 10px;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

.saren--file--upload svg {
    width: 1.5em;
    height: 1.5em;
    fill: var(--mainColor)
}

.saren--file--upload span:not(.upload--main) {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    white-space: nowrap;
}

.upload--style--wide .saren--file--upload {
    width: 100%;
    height: auto;
    padding: 0.65em;
    margin-bottom: 1em;
    border-radius: 10px;
}

.upload--style--wide .saren--file--upload label {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.upload--style--wide .saren--file--upload:has(.has--files) span:not(.upload--main) {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    background: var(--secondaryBackground);
}
