.sticky {
    
}

footer {
    margin: 0;
}

.main {
    background: var(--bg-color-primary);
    color: var(--border-color-primary);
    transition: background .3s ease-in-out, color .3s ease-in-out;
    padding-top: 3.5rem;
}
.page {
    padding-top: 8.5rem;
}
.page .container {
    max-width: 1500px;
    margin-inline: auto;
    padding-bottom: 2rem;
}
.toolbar {
    margin-bottom: 1rem;
    position: fixed;
    top: 2.5rem;
    z-index: 9;
    right:0;
    left:0;
    background: var(--bg-color-primary);
    transition: background .3s ease-in-out, top .25s ease-in-out;
    border-bottom: 1px solid var(--border-color-10);
}

.toolbar.top {
    top: 0;
    
}

.toolbar__search {
    display: flex;
    
    align-items: center;
    padding: 1rem;
    margin-inline: auto;
    max-width: 600px;
    
    
}
.toolbar__search-svg{
    position: absolute;
    width: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    left: .8rem;
    transition: .3s ease-in-out;
}

.toolbar__search-svg path {
    transition: .3s ease-in-out;
}

.toolbar__search-container {
    position: relative;
    width: 100%;
    margin-right: 0;
    transition: margin-right .3s ease-in-out;
}

.toolbar__search-close-svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) scale(0);
    right: .7rem;
    width: 1.5rem;
    visibility: hidden;
    opacity: 40%;
    transition: .2s ease-in-out;
    transform-origin: center;
    cursor: pointer;
    
}

.toolbar__search input {
    transition: .3s ease-in-out;
}

.toolbar__search-close-svg.active {
    visibility: visible;
    transform: translateY(-50%) scale(1);
}

.search {
    border-radius: .5rem;
    background: var(--bg-color-secondary);
    border: none;
    width: 100%;
    font-size: var(--text-size-100);
    padding: 1rem 2.5rem 1rem 3rem ;
    outline: none;
    color: var(--border-color-primary);
    
}
.search::-webkit-search-cancel-button {
    -webkit-appearance: none;
  }
.search__btn-submit {
    width: 0;
    padding: 0;
    font-size: var(--text-size-100);
    cursor: pointer;
    color: var(--border-color-primary);
    transition: .3s ease-in-out;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    
}


.search__table {
    position: absolute;
    left: 0;
    right: 0;
    top: 80px;
    z-index: 1;
    background: var(--bg-color-primary);
    padding: 0 1.5rem;
    border-radius: .5rem;
}

.search__table .vr {
    opacity: 0.1
}

.search__opt {
    display: flex;
    align-items: center;
    padding: .8rem 0;
    position: relative;
    width: 100%;
    cursor: pointer;
}



.search__name {
    font-size: var(--text-size-100);
    padding-left: 2rem;
    color: var(--border-color-primary);
}

.search__svg {
    position: absolute;
    left: 0rem;
    width: 1.2rem;
    opacity: 70%;
    
}



.search__btn-submit.active{
    width: 80px;
    
    visibility: visible;
    opacity: 1;
    margin-left: 1rem;
}

.toolbar__search.in-focus .toolbar__search-container {
    margin-right: 0;
}

.toolbar__search.in-focus .page-options {
    width: 0;
    visibility: hidden;
    opacity: 0;
}

.page-options.light svg:nth-child(1) {
    visibility: hidden;
    opacity: 0;
}

.page-options.dark svg:nth-child(2) {
    visibility: hidden;
    opacity: 0;
}


.toolbar__tools {
    display: flex;
}

.select-desk {
    position: relative;
    display: none;
    
}

.select-desk:hover .item-sorting {
    max-height: 165px;
    visibility: visible;
    opacity: 1;
}

.select-desk:hover .select-desk__svg {
    transform: rotate(180deg);
}

.select-desk__header {
    padding: .4rem .1rem .4rem .7rem;
    border: 1px solid var(--border-color-10);
    border-radius: .5rem;
    
    width: 220px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    
}

.select-desk__sorting-title {
    
}

.select-desk__svg {
    width: 2rem;
    transition: .3s ease-in-out;
}

.select-desk .item-sorting {
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    background: var(--bg-color-primary);
    position: absolute;
    z-index: 1;
    width: fit-content;
    
    border: 1px solid var(--border-color-10);
    border-top: none;
    border-radius: .5rem;
    width: 220px;
    transition: .3s ease-in-out;
}

.select-desk .item-sorting__opt {
    width: 100%;
    padding: 0 .7rem;
    color: var(--border-color-70);
    transition: .3s ease-in-out;
}


.select-desk .item-sorting__opt:not(:last-child) {
    border-bottom: 1px solid var(--border-color-10);
}

.select-desk .item-sorting__opt:hover {
    color: var(--border-color-primary);
    
}

.select-desk .item-sorting__btn {
    display: none;
}

.select-desk .item-sorting__label {
    padding: .5rem 0;
    text-wrap: nowrap;
}

.select-desk .item-sorting__input:checked ~ .select-desk .item-sorting__opt{
    color: var(--border-color-primary);
}
    


.select {
    width: 50%;
    
    
}
.select__input {
    display: flex;
    justify-content: center;
    align-items: center;
    align-items: center;
    padding: .5rem 0 1.5rem;
    cursor: pointer;
}
.select__input svg {
    width: 1.5rem;
    margin-right: .5rem;
}

.select__span {
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    background: var(--accent-color);
    border-radius: 50%;
    width: 0;
    height: 0;
    color: white;
    font-weight: 800;
    font-size: var(--text-size-50);
    visibility: hidden;
    opacity: 0;
    transition: .3s ease-in-out;
}

.select__span.active {
    margin-left: .5rem;
    visibility: visible;
    opacity: 1;
    width: 1.5rem;
    height: 1.5rem;
}

.vmodal {
    position: fixed;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100vw;
    height: 100vh;
    right:0;
    top:0;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s ease-in-out;
    z-index: 1000;
    display: flex;
    pointer-events: none;
}

.vmodal.open{
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.vmodal__overlay {
    cursor: default;
    min-width: 100vw;
    height: 100vh;
    position: fixed;
    transition: 0.3s cubic-bezier(.28,-0.03,0,.99);
    
    background: rgba(0, 0, 0, 0.548);
}



.vmodal__container {
    cursor: default;    
    position: fixed;
    right: 0;
    top: 0;
    background: var(--bg-color-primary);
    height: 100%;
    color: var(--border-color-primary);
    max-width: 80vw;
    padding: 1rem;
    transition: 0.3s ease-in-out;
    transform: translateX(100%);
    width: 20rem;
}
.vmodal.open .vmodal__container{
    transform: translateX(0);
}

.vmodal__header {
    display: flex;
    align-items: center;
    position: relative;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.vmodal__close-btn {
    position: absolute;
    left:0;
    top: 50%;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 2rem 2rem 2rem 0;
    transform: translateY(-50%);
}

.vmodal__arrow-btn {
    position: absolute;
    left:0;
    top: 50%;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 2rem 2rem 2rem 0;
    transform: translateY(-50%);
}

.vmodal__header svg {
    width: 1.5rem;
    
    
}

.vmodal__title {
    flex-shrink: 1;
    text-align: center;
    width: 100%;
}

.vmodal__body {
}

.vmodal__footer {
    position: absolute;
    width: 100%;
    left:0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2rem 0;
}

.vmodal__reset {
    background: var(--border-color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 1.5rem;
    border-radius: .5rem;
    font-weight: 600;
    visibility: hidden;
    opacity: 0;
    width: 0;
    transition: .3s ease-in-out;
}

.vmodal__reset.active {
    width: 80%;
    visibility: visible;
    opacity: 1;
}

.vmodal__reset-btn {
    color: var(--background);
}

.vmodal__span {
    display: flex;
    justify-content: center;
    align-items: center;
    
    background: var(--accent-color);
    border-radius: 50%;
    width: 0;
    height: 0;
    color: white;
    font-weight: 800;
    font-size: var(--text-size-50);
    visibility: hidden;
    opacity: 0;
    transition: .5s ease-in-out;
}

.vmodal__span.active {
    margin-left: .5rem;
    visibility: visible;
    opacity: 1;
    width: 1.5rem;
    height: 1.5rem;
}

.item-sorting {
    list-style: none;
    display: flex;
    flex-direction: column;
    
}

.vr {
    opacity: 0.3;
    margin: 0;
}

.item-sorting__opt {
    display: inline-flex;
    align-items: center;
    
}

.item-sorting__btn {
    position: relative;
    display: flex;
    padding: 1rem 0;
    cursor: pointer;
}

.item-sorting__input {
    display: none;
}

.item-sorting__label {
    width: 100%;
    padding: 1rem 0 1rem 1rem;
    cursor: pointer;
}
.item-sorting__span {
    
    border-radius: 50%;
    border: 2px solid var(--border-color-primary);
    width: 20px;
    height: 20px;
    
}

.item-sorting__span::before {
    content: "";
    
    position: absolute;
    border-radius: 50%;
    background: var(--border-color-primary);
    
    
    width: 20px;
    height: 20px;
    left:0;
    top: 50%;
    transform: translateY(-50%) scale(0);
    
    transition: .3s ease-in-out;
    
}



.item-sorting__input:checked ~ .item-sorting__span::before {
    transform: translateY(-50%) scale(0.5);
    
}

.item-filters {
    display: flex;
    flex-direction: column;
    justify-content: center;
    list-style: none;
}
.item-filters__opt {
    position: relative;
    width: 100%;
    
    cursor: pointer;
}

.item-filters__input {
    padding: 1rem 0.5rem;
}

.item-filters__svg{
    width: 1.5rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.item-filters__span {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    right: 15%;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-color);
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    color: white;
    font-weight: 800;
    font-size: var(--text-size-50);
    visibility: 0;
    opacity: 0;
}

.item-filters__span.active {
    visibility: 1;
    opacity: 1;
}

.price-filter {

}
.price-filter__items {
    display: flex;
    column-gap: 1rem;
    max-width: 100%;
}
.price-filter__wrapper {
    display: flex;
    flex-direction: column;
    max-width: 47%;
}
.price-filter__name {
    padding-bottom: .5rem;
    opacity: 80%;
}
.price-filter__value {
    
    border: none;
    font-size: var(--text-size-100);
    border-radius: .2rem;
    padding: .4rem .8rem;
    outline: none;
    transition: .3s ease-in-out;
}
.price-filter__slider {
    margin-top: 2rem;
    
}
.slider {
    position: relative;
    
}
.slider__bg {
    width: 100%;
    height: .5rem;
    background: var(--border-color-primary);
    opacity: 40%;
    border-radius: 1rem;
    position: absolute;
}
.slider__progress {
    background: var(--border-color-primary);
    border-radius: 1rem;
    
    left:0;
    right:0;
    height: .5rem;
    position: absolute;
}
.slider__range {
    position: absolute;
    width: 100%;
    background: none;
    appearance: none;
    -webkit-appearance: none;
    height: .5rem;
    pointer-events: none;
}
.slider__range::-webkit-slider-thumb {
    background: var(--border-color-primary);
    cursor: pointer;
    border-radius: .3rem;
    width: 1.2rem;
    height: 1.2rem;
    -webkit-appearance: none;
    pointer-events: auto;
    transition: .2s ease-in-out;
}

.filter-choice {
    
}

.filter-choice__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    
}

.filter-choice__list.list-split {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}

.filter-choice__opt {
    display: inline-flex;
    align-items: center;
    
    
    
}

.list-split .filter-choice__opt {
    width: 50%;
    
}

.filter-choice__btn {
    position: relative;
    display: flex;
    padding: 1rem 0;
    cursor: pointer;
}

.filter-choice__input {
    display: none;
}

.filter-choice__label {
    width: 100%;
    padding: 1rem 0 1rem 1rem;
    cursor: pointer;
}
.filter-choice__span {
    
    border-radius: .2rem;
    border: 2px solid var(--border-color-primary);
    width: 20px;
    height: 20px;
    
}

.filter-choice__span::before {
    content: "";
    
    position: absolute;
    border-radius: .2;
    background: var(--border-color-primary);
    
    
    width: 20px;
    height: 20px;
    left:0;
    top: 50%;
    transform: translateY(-50%) scale(0);
    
    transition: .3s ease-in-out;
    
}



.filter-choice__input:checked ~ .filter-choice__span::before {
    transform: translateY(-50%) scale(0.5);
    
}

.shop {
    display: flex;
    
    width: 100%
}

.shop__container {
    overflow: hidden;
}

.desktop-menu {
    display: none;
    position: relative;
    flex-direction: column;
    -ms-overflow-style: none;
    margin: 0 2rem;
    min-height: 100%;
    min-width: 250px;
    
    scrollbar-width: none;
    
    
}



.desktop-menu__container {
    padding: 0rem 0 5rem;
    position: sticky;
    max-width: 250px;
    max-height: min-content;
    top: 0;
}

.desktop-menu__header {
    margin-bottom: 1rem;
    
}

.desktop-menu__filter {
    margin-top: 1rem;
}

.desktop-menu__filter-name {
    margin-bottom: .5rem;
}

.desktop-menu .price-filter {
    padding: .5rem 0 2rem;
}

.desktop-menu .price-filter__value {
    padding-left: 0;
    background: var(--bg-color-primary);
    color: var(--border-color-primary)
}

.desktop-menu .slider__bg {
    background: var(--border-color-primary);
    transition: .3s ease-in-out;
}

.desktop-menu .slider__progress {
    background: var(--border-color-primary);
    transition: background .3s ease-in-out;
}



.desktop-menu .slider__range::-webkit-slider-thumb {
    background: var(--border-color-primary);
    transition: background .3s ease-in-out;
}

.desktop-menu .filter-choice__span {
    border: 2px solid var(--border-color-primary);
    transition: .3s ease-in-out;
}

.desktop-menu .filter-choice__span::before {
    background: var(--border-color-primary);
    transition: .3s ease-in-out;
}

.desktop-menu .filter-choice__label {
    padding: .5rem 0 .5rem 1rem;
}

.desktop-menu .filter-choice__btn {
    padding: .5rem 0
}

.shop-container {
    
}

.catalog {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    
    align-items: stretch;
    row-gap: 1rem;
    column-gap: 1rem;
    transition: .2s ease-in-out;
    
}

.catalog.hidden {
    visibility: hidden;
    opacity: 0;
}

.loading-catalog {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    row-gap: 1rem;
    column-gap: 1rem;
    height: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s ease-in-out, visibility .3s ease-in-out;
    min-width: 100vw;
}

.loading-catalog.active {
    height: unset;
    position: unset;
    visibility: visible;
    opacity: 1;
    width: unset;
}

.loading-catalog__img {
    aspect-ratio: 1/1;
    width: 100%;

    border-radius: .5rem;
    
}

.loading-catalog__bottom {
    padding: 1rem 0.2rem 1rem;
    display: grid;
    row-gap: .5rem;
    grid-template-columns: auto auto;
    
    

}

.loading-catalog__name {
    
    width: 90%;
    height: 1.2rem;
    border-radius: 1rem;
    grid-row: 1;
    grid-column: 1 / -1;
}

.s-r {
    grid-row: 2;
    width: 70%;
}

.loading-catalog__price {
    grid-row: 3;
    height: 1.5rem;
    border-radius: 1rem;
    align-self: center;
}

.loading-catalog__btn {
    grid-column: 0;
    grid-row: 3;
    
    align-self: center;
    justify-self: end;
    max-width: fit-content;
    padding: 1rem;
    border-radius: .5rem;
    
 
}


.catalog .sticky {
    display: none;
}

.item {
    width: 45%;
    max-width: 275px;
    display: flex;
    flex-direction: column;
    color: black;
    
    
    /* box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; */
}
.item:visited {
    color: black;
}
.item__img-container {
    position: relative;
}

.item__img-href {
    
}

.item__img {
    aspect-ratio: 1/1;
    width: 100%;
    max-width: 100%;
    border-radius: .5rem;
    overflow: hidden;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transition: .3s ease-in-out;
}

.item__img.loaded {
    opacity: 1;
    visibility: visible;
}

.item__loading-img {
    top:0;
    position: absolute;
    aspect-ratio: 1/1;
    width: 100%;
    background: linear-gradient(90deg, #bababa 0%, #dbdbdb 25%, #bababa 50%, #dbdbdb 75%, #bababa 100%);



    border-radius: .5rem;
    overflow: hidden;
    object-fit: cover;
    background-size: 200% 200%;
    animation: backgroundChangeRight 4s ease infinite ;
    z-index: -1;

    
}

.item__bottom {
    padding: .5rem 0.2rem 1rem;
    display: grid;
    row-gap: .5rem;
    grid-template-columns: auto min-content;
    grid-template-rows: auto min-content;
    height: 100%;
    overflow-wrap: break-word;
    color: var(--border-color-primary)
    
}
.item__name {
    grid-row: 1;
    grid-column: 1/2;
    overflow: hidden;
    color: var(--border-color-primary);
    
    font-size: var(--text-size-100);
    word-break: break-word;
    
}



.item__name:visited {
    color: var(--text-size-100);
}

.item__price {
    grid-row: 2;
    align-self: center;
    text-align: start;
    display: flex;
    align-items: end;
    column-gap: .7rem;
}
.item__price-crossed {
    text-decoration: line-through;
    color: var(--border-color-40);
}

.item__price-actual {

    color: var(--border-color-primary);
}

.item__btn-container {
    position: absolute;
    right: 0;
    top: 0;
    padding: 0.5rem;
    
}

.item__btn {
    grid-row: 2;
    position: relative;
    align-self: end;
    justify-self: end;
    max-width: fit-content;
    padding: 1rem;
    border-radius: .5rem;
    overflow: hidden;
    background: var(--bg-color-secondary);
    transition: .3s ease-in-out;
    cursor: pointer;
}

.item__btn.selected {
    background: var(--accent-color);
}

.btn-fav {
    background: var(--bg-color-primary);
    
}

.btn-fav.selected {
    background: var(--bg-color-primary);
    
}

.btn-cart {
    grid-column: 2;
    background: var(--bg-color-secondary);
    
}




.item__btn-svg {
    position: absolute;
    width: 1.2rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
    
    transition: .3s ease-in-out;
    max-width: 0;
    opacity: 0;
}

.item__btn-svg.active {
    opacity: 1;
    max-width: 100%;
}


.load-more {
    margin: 2rem 1rem 0
}

.load-more__btn {
    background: var(--bg-color-secondary);
    display: none;
    width: 100%;
    max-width: 550px;
    border-radius: .5rem;
    margin-inline: auto;
    height: 3rem;
    font-size:var(--text-size-100);
    color: var(--border-color-primary);
    cursor: pointer;
}

.load-more__btn.active {
    display: block;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
    font-size: var(--text-size-50);
    column-gap: .5rem;
}

.pagination__item {
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--text-size-50);
    color: var(--border-color-primary);
    width: 100%;
    height: 100%;
    background: var(--bg-color-secondary);
    border-radius: .5rem;
    cursor: pointer;
}



.pagination__svg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    background: var(--bg-color-secondary);
    
}

.pagination__span {
    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 100%;
    height: 100%;
    color: var(--bg-color-primary);
    border-radius: .5rem;
    background: var(--border-color-primary);
}

@media (min-width:1000px) {
    .page {
        padding-top: 20px;
    }
    .page .container {
        max-width: 912px;
    }
    .toolbar {
        display: flex;
        justify-content: space-between;
        position: static;
        border: none;
        
    }
    .item {
        width: 100%;
    }

    .toolbar__search {
        position: relative;
        margin-inline: unset;
        max-width: 800px;
    }
    .toolbar__search-container {
        margin-right: .5rem;
        max-width: 320px;
    }

    .toolbar__search.in-focus .toolbar__search-container {
        margin-right: .5rem;
    }

    .toolbar__search-close-svg {
        right: 1rem;
    }
    .search {
        width: 320px;
    }
    .page-options {
        display: none;
    }
    .search__table.active {
        border: 1px solid var(--border-color-10);
    }
    
    .search__btn-submit {
        border: 1px solid var(--border-color-10);
        border-radius: .5rem;
        padding: .6rem;
        width: 80px;
        visibility: visible;
        opacity: 1;
        overflow: visible;
    }

    .search__btn-submit.active {
        margin-left: 0;
    }
    
    .toolbar__tools {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 1rem;
    }

    

    .select-desk:nth-child(1) {
        display: none;
    }

    .select-desk:nth-child(2) {
        display: block;
    }

    .switch-button {
        display: flex;
    }

    .select {
        display: none;
    }

    .select__input {
        padding: 2rem;
    }

    .catalog {
        margin-left: 2rem;
        justify-content: unset;
    }
    .loading-catalog {
        margin-left: 2rem;
        justify-content: unset;
        min-width: unset;
    }
    .desktop-menu {
        display: flex;
        flex-direction: column;
    }
}

@media (min-width:1250px) { 
    .page .container {
        max-width: 1203px;
    }
    .loading-catalog {
        min-width: 860px;
    }
    .search {
        width: 320px;
    }
    .select-desk:nth-child(1) {
        display: block;
    }
}

@media (min-width:1550px) { 
    .page .container {
        max-width: 1495px;
    }
    .loading-catalog {
        min-width: 1149px;
    }
}