@media (max-width: 849px) {
    .shop-page-title.page-title {
        background: #fff;
        border-bottom: 1px solid #e8e1da;
    }

    .shop-page-title.page-title > .page-title-bg,
    .shop-page-title .page-title-inner > .flex-col:first-child,
    .shop-page-title .page-title-inner > .flex-center > .is-medium {
        display: none;
    }

    .shop-page-title .page-title-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        padding: 16px 15px 12px;
    }

    .shop-page-title .page-title-inner::before,
    .shop-page-title .page-title-inner::after {
        content: none;
    }

    .shop-page-title .page-title-inner > .flex-center {
        display: contents;
    }

    .shop-page-title h1.shop-page-title {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .shop-page-title .category-filtering {
        justify-self: start;
        margin: 0;
        padding: 0;
        text-align: left;
    }

    .shop-page-title .filter-button,
    .shop-page-title .woocommerce-ordering select {
        min-height: 44px;
        margin: 0;
        border: 1px solid #ded8d1;
        border-radius: 8px;
        background-color: #fff;
        color: #345b3d;
        font-size: 14px;
    }

    .shop-page-title .filter-button {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0 12px;
    }

    .shop-page-title .woocommerce-ordering {
        margin: 0;
    }

    .shop-page-title .woocommerce-ordering select {
        padding-left: 12px;
    }

    .category-page-row {
        padding-top: 16px;
    }

    .shop-container > .products.row-small > .product-small.col {
        padding-inline: 5px;
    }

    .products > .product-small .box-image {
        aspect-ratio: 1;
        overflow: hidden;
        border-radius: 8px;
    }

    .products > .product-small .box-image img {
        aspect-ratio: 1;
        object-fit: cover;
    }

    .products > .product-small .box-text-products {
        padding: 6px 0 0;
    }

    .products > .product-small .product-cat {
        margin: 0 0 2px;
        color: #71665e;
        opacity: 1;
    }

    .products > .product-small .product-title {
        margin: 0;
        font-size: 14px;
        line-height: 1.35;
    }

    .products > .product-small .product-title a {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        color: #503830;
    }

    .products > .product-small .price-wrapper {
        margin-top: 3px;
    }

    .products > .product-small .box-text-products:has(.price-wrapper > .star-rating) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 2px 4px;
    }

    .box-text-products:has(.price-wrapper > .star-rating) > :is(.title-wrapper, .price-wrapper) {
        display: contents;
    }

    .box-text-products:has(.price-wrapper > .star-rating) .product-cat {
        grid-area: 1 / 1;
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .box-text-products:has(.price-wrapper > .star-rating) .product-title {
        grid-area: 2 / 1 / auto / -1;
    }

    .products > .product-small .price-wrapper .star-rating {
        grid-area: 1 / 2;
        height: 1em;
        margin: 0;
        font-size: 12px;
    }

    .products > .product-small .price-wrapper .review-count {
        grid-area: 1 / 3;
        line-height: 1.3;
        margin: 0;
        color: #71665e;
        font-size: 12px;
        opacity: 1;
    }

    .products > .product-small .price-wrapper:has(.star-rating) > .price {
        grid-area: 3 / 1 / auto / -1;
        margin-top: 0;
    }
}

.nsj-shop-sort {
    display: none;
}

@media (max-width: 849px) {
    .shop-page-title .nsj-shop-toolbar-ready {
        min-height: 0;
        gap: 0 8px;
        padding: 2px 15px !important;
    }

    .nsj-shop-toolbar-ready > .form-flat {
        grid-area: 1 / 1;
        padding: 0 !important;
        width: 100%;
        min-width: 0;
    }

    .shop-page-title .nsj-shop-toolbar-ready .category-filtering {
        grid-area: 1 / 2;
        padding-left: 8px;
        border-left: 1px solid #e8e1da;
    }

    .nsj-shop-toolbar-ready .category-filtering .filter-button {
        border: 0;
        padding: 0 4px;
        gap: 4px;
        color: #503830 !important;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0;
        text-shadow: none;
        white-space: nowrap;
    }

    .nsj-shop-toolbar-ready .woocommerce-ordering {
        display: block;
        padding: 0;
        width: 100%;
    }

    .nsj-shop-toolbar-ready .woocommerce-ordering select {
        display: none;
    }

    .nsj-shop-sort {
        display: flex;
    }

    .shop-page-title .nsj-shop-sort button {
        position: relative;
        flex: 1 0 auto;
        min-height: 44px;
        margin: 0;
        padding: 0 4px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #503830;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0;
        white-space: nowrap;
    }

    .shop-page-title .nsj-shop-sort button[aria-pressed="true"] {
        color: #345b3d;
        font-weight: 700;
    }

    .nsj-shop-sort button[aria-pressed="true"]::after {
        position: absolute;
        right: 0;
        bottom: 2px;
        left: 0;
        width: 24px;
        height: 2px;
        margin: auto;
        background: currentColor;
        content: "";
    }

    .shop-page-title:is(:has(.nsj-shop-toolbar-ready), .nsj-shop-docked) + #main .category-page-row {
        padding-top: 8px;
    }

    .shop-page-title .nsj-shop-toolbar-ready .filter-button strong {
        color: #503830 !important;
        font-weight: inherit;
    }

    .nsj-price-direction {
        display: inline-grid;
        gap: 2px;
        margin-left: 4px;
        vertical-align: middle;
    }

    .nsj-price-direction::before,
    .nsj-price-direction::after {
        width: 0;
        height: 0;
        border-inline: 3px solid transparent;
        content: "";
    }

    .nsj-price-direction::before {
        border-bottom: 4px solid currentColor;
    }

    .nsj-price-direction::after {
        border-top: 4px solid currentColor;
    }

    .nsj-price-direction[data-direction="up"]::after,
    .nsj-price-direction[data-direction="down"]::before {
        opacity: 0.25;
    }
}

.nsj-shop-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 0;
    color: #503830;
    font-size: 14px;
}

.nsj-shop-more button {
    margin: 0;
    color: #345b3d;
}

.nsj-shop-more button[hidden] {
    display: none;
}

@media (max-width: 849px) {
    body:is(.tax-product_cat, .tax-product_tag) #main .shop-container > .term-description {
        display: none;
    }
}


@media (max-width: 849px) {
    body.search .shop-page-title .nsj-shop-sort button {
        padding-inline: 2px;
    }
}

.nsj-results-search {
    display: none;
}

@media (max-width: 849px) {
    :is(.shop-page-title, .nsj-shop-dock-active) .nsj-results-search {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 40px;
        margin: 8px 15px 3px;
        border: 1px solid #e8e1da;
        border-radius: 6px;
        background: #fff;
    }

    :is(.shop-page-title, .nsj-shop-dock-active) .nsj-results-search:focus-within {
        border-color: #345b3d;
    }

    :is(.shop-page-title, .nsj-shop-dock-active) .nsj-results-search input[type="search"] {
        flex: 1;
        min-width: 0;
        height: 38px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        color: #503830;
        font-size: 16px;
    }

    .nsj-results-search input::-webkit-search-cancel-button {
        display: none;
    }

    :is(.shop-page-title, .nsj-shop-dock-active) .nsj-results-search button {
        width: 40px;
        min-height: 38px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #756d65;
        font-size: 16px;
        line-height: 1;
    }

    .nsj-results-search button[hidden] {
        display: none;
    }
}

@media (max-width: 849px) {
    #header .header-wrapper {
        --nsj-shop-dock-header-height: 52px;
    }

    #header .nsj-shop-dock-active #masthead {
        background: #fff;
    }

    #header .nsj-shop-dock-active #masthead,
    #header .nsj-shop-dock-active #masthead .header-inner {
        min-height: 0 !important;
        height: var(--nsj-shop-dock-header-height) !important;
    }

    #header .nsj-shop-dock-active .nsj-results-search {
        min-height: 36px;
    }

    #header .nsj-shop-dock-active .nsj-results-search :is(input[type="search"], button) {
        height: 34px;
        min-height: 34px;
    }

    #header .nsj-shop-dock .nsj-shop-toolbar-ready {
        padding-block: 0 !important;
    }

    #header .nsj-shop-dock :is(.nsj-shop-sort button, .filter-button) {
        min-height: 40px;
    }

    #header .nsj-shop-dock-active #logo {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        height: auto;
        margin-inline: 10px;
    }

    #header .nsj-shop-dock-active #logo > :not(.nsj-results-search) {
        display: none;
    }

    #header .nsj-shop-dock-active .nsj-results-search {
        width: 100%;
        margin: 0;
        text-align: left;
    }

    #header .nsj-shop-dock {
        position: absolute;
        inset: 100% 0 auto;
        background: #fff;
        border-top: 1px solid #e8e1da;
    }
}
