/*  Mobile & tablet */
@media (max-width: 1023px) {
    .hide-on-mobile-tablet {
        display: none;
    }
    .header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 10;
    }
    .header__cart-list {
        position: fixed;
        top: var(--header-height);
        right: 0;
        width: 100%;
        padding: 0 calc((100% - 644px) / 2);
    }
    .header__cart-list::after {
        display: none;
    }  
    .app__container {
        margin-top: calc(var(--header-height) + var(--header-sort-bar-height));
    }
    .header__sort-bar {
        display: flex;
    }
    .app__content {
        padding-top: 8px;
    }
    .mobile-category {
        display: block;
    }
}

/* Tablet */
@media (min-width: 740px) and (max-width: 1023px) {
    :root {
        --header-height: 68px;
        --navbar-height: 0px;
    }
    .hide-on-tablet {
        display: none;
    }
    .header__cart {
        width: 80px;
        text-align: right;
    }
}

/* Mobile */
@media (max-width: 739px) {
    :root {
        --header-height: 54px;
        --navbar-height: 0px;
    }
    .hide-on-mobile {
        display: none;
    }
    .header-with-search {
        justify-content: space-between;
    }
    .header__cart,
    .header-logo {
        width: unset;
    }
    .header__search {
        position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        height: 46px;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        z-index: 1;
        padding: 0 16px;
        animation: mobileSearchSideIn linear 0.3s;
        display: none;
    }
    .header__search-history {
        position: fixed;
        width: 100%;
        top: calc(var(--header-height) + var(--header-sort-bar-height));
        left: 0;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }
    .pagination-item {
        margin: 0;
    }
    .pagination-item__link {
        --height: 28px;
        font-size: 1.6rem;
        min-width: 36px;
    }
    .app__content {
        margin: 0 4px;
    }

    @keyframes mobileSearchSideIn {
       from {
           opacity: 0;
           top: calc(var(--header-height) / 2);
       }
       to {
           opacity: 1;
           top: var(--header-height);
       } 
    }
    .header__mobile-search {
        display: block;
    }

    .header__logo-img {
        width: 110px;
        margin: 20%;
    }
    .footer__content {
        padding: 0 16px;
    }
    .footer__heading {
        text-align: center;
    }
    .footer__download,
    .footer-item__link {
        justify-content: center;
    }
    .footer__download-apps {
        flex: 0;
    }
    .footer__download-apps-link {
        display: block;
        padding: 6px 8px;
    }
}