body.sas-custom-catalog,body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag {
    --sas-navy: #0f2741;
    --sas-blue: #126e9e;
    --sas-text: #405166;
    --sas-muted: #6b7788;
    --sas-border: #d6e4ea;
    --sas-surface: #f6f9fb;
    background: #fff;
}

body.sas-custom-catalog .woocommerce-products-header,body.woocommerce-shop .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    border-bottom: 1px solid var(--sas-border);
    margin-bottom: 28px;
    padding-bottom: 20px;
}

body.sas-custom-catalog .ast-archive-description,body.woocommerce-shop .ast-archive-description,
body.tax-product_cat .ast-archive-description,
body.tax-product_tag .ast-archive-description {
    background: var(--sas-surface);
    border: 1px solid var(--sas-border);
    border-radius: 14px;
    margin-bottom: 26px;
    padding: 26px 30px;
}

body.sas-custom-catalog .woocommerce-products-header__title,body.woocommerce-shop .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
    color: var(--sas-navy);
    font-family: inherit;
    font-size: clamp(34px, 4vw, 44px);
    font-weight: 650;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

body.sas-custom-catalog .site-main,body.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main {
    color: var(--sas-text);
    padding-bottom: 72px;
}

body.sas-custom-catalog .sas-shop-intro,body.woocommerce-shop .sas-shop-intro,
body.tax-product_cat .sas-shop-intro {
    border-bottom: 1px solid var(--sas-border);
    margin: 0 0 20px;
    padding: 0 0 18px;
}

body.sas-custom-catalog .sas-shop-intro h2,body.woocommerce-shop .sas-shop-intro h2,
body.tax-product_cat .sas-shop-intro h2 {
    color: var(--sas-navy);
    font-family: inherit;
    font-size: 24px;
    font-weight: 650;
    margin: 0 0 6px;
}

body.sas-custom-catalog .sas-shop-intro p,body.woocommerce-shop .sas-shop-intro p,
body.tax-product_cat .sas-shop-intro p {
    color: var(--sas-muted);
    font-size: 15px;
    margin: 0;
}

body.sas-custom-catalog .woocommerce-notices-wrapper .woocommerce-message,body.woocommerce-shop .woocommerce-notices-wrapper .woocommerce-message,
body.tax-product_cat .woocommerce-notices-wrapper .woocommerce-message,
body.tax-product_tag .woocommerce-notices-wrapper .woocommerce-message {
    align-items: center;
    background: var(--sas-surface);
    border: 1px solid var(--sas-border);
    border-left: 4px solid #2f7d63;
    border-radius: 10px;
    color: var(--sas-text);
    display: flex;
    margin-bottom: 18px;
    padding: 15px 18px;
}

body.sas-custom-catalog .woocommerce-message .button,body.woocommerce-shop .woocommerce-message .button,
body.tax-product_cat .woocommerce-message .button,
body.tax-product_tag .woocommerce-message .button {
    background: var(--sas-blue) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-weight: 650;
    margin-left: auto;
    padding: 11px 18px !important;
}

body.sas-custom-catalog .woocommerce-result-count,body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    color: var(--sas-muted);
    font-size: 14px;
    margin: 12px 0 30px;
}

body.sas-custom-catalog .woocommerce-ordering,body.woocommerce-shop .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
    margin-bottom: 30px;
}

body.sas-custom-catalog .sas-shop-category-filter,body.woocommerce-shop .sas-shop-category-filter,
body.tax-product_cat .sas-shop-category-filter,
body.tax-product_tag .sas-shop-category-filter {
    float: right;
    margin: 0 12px 30px 0;
}

body.sas-custom-catalog .sas-shop-category-filter label,body.woocommerce-shop .sas-shop-category-filter label,
body.tax-product_cat .sas-shop-category-filter label,
body.tax-product_tag .sas-shop-category-filter label {
    color: var(--sas-navy);
    display: block;
    font-size: 13px;
    font-weight: 650;
    margin-bottom: 6px;
}

body.sas-custom-catalog .woocommerce-ordering::before,body.woocommerce-shop .woocommerce-ordering::before,
body.tax-product_cat .woocommerce-ordering::before,
body.tax-product_tag .woocommerce-ordering::before {
    color: var(--sas-navy);
    content: "Sort products";
    display: block;
    font-size: 13px;
    font-weight: 650;
    margin-bottom: 6px;
}

body.sas-custom-catalog .sas-shop-category-filter select,body.woocommerce-shop .sas-shop-category-filter select,
body.tax-product_cat .sas-shop-category-filter select,
body.tax-product_tag .sas-shop-category-filter select {
    background: var(--sas-surface);
    border: 1px solid var(--sas-border);
    border-radius: 8px;
    color: var(--sas-text);
    font-family: inherit;
    min-height: 44px;
    min-width: 230px;
    padding: 8px 38px 8px 14px;
}

body.sas-custom-catalog .sas-custom-catalog-controls {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    margin-bottom: 30px;
}

body.sas-custom-catalog .sas-custom-catalog-controls .sas-shop-category-filter {
    float: none;
    margin: 0;
}

body.sas-custom-catalog .sas-custom-catalog-controls .woocommerce-ordering {
    float: none;
    margin: 0;
}

body.sas-custom-catalog .woocommerce-ordering select,body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
    background: var(--sas-surface);
    border: 1px solid var(--sas-border);
    border-radius: 8px;
    color: var(--sas-text);
    font-family: inherit;
    min-height: 44px;
    padding: 8px 38px 8px 14px;
}

body.sas-custom-catalog ul.products,body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
    align-items: stretch;
    gap: 20px !important;
}

body.sas-custom-catalog ul.products li.product,body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    background: #fff;
    border: 1px solid var(--sas-border);
    border-radius: 14px;
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
    transition: box-shadow 180ms ease, transform 180ms ease;
}

body.sas-custom-catalog ul.products li.product:hover,body.woocommerce-shop ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
    box-shadow: 0 14px 32px rgba(15, 39, 65, 0.1);
    transform: translateY(-2px);
}

body.sas-custom-catalog ul.products .astra-shop-thumbnail-wrap,body.woocommerce-shop ul.products .astra-shop-thumbnail-wrap,
body.tax-product_cat ul.products .astra-shop-thumbnail-wrap,
body.tax-product_tag ul.products .astra-shop-thumbnail-wrap {
    flex: none !important;
    overflow: hidden;
    width: 100% !important;
}

body.sas-custom-catalog ul.products .astra-shop-thumbnail-wrap img,body.woocommerce-shop ul.products .astra-shop-thumbnail-wrap img,
body.tax-product_cat ul.products .astra-shop-thumbnail-wrap img,
body.tax-product_tag ul.products .astra-shop-thumbnail-wrap img {
    display: block;
    margin: 0;
    transition: transform 220ms ease;
    width: 100%;
}

body.sas-custom-catalog ul.products li.product:hover .astra-shop-thumbnail-wrap img,body.woocommerce-shop ul.products li.product:hover .astra-shop-thumbnail-wrap img,
body.tax-product_cat ul.products li.product:hover .astra-shop-thumbnail-wrap img,
body.tax-product_tag ul.products li.product:hover .astra-shop-thumbnail-wrap img {
    transform: scale(1.025);
}

body.sas-custom-catalog ul.products .astra-shop-summary-wrap,body.woocommerce-shop ul.products .astra-shop-summary-wrap,
body.tax-product_cat ul.products .astra-shop-summary-wrap,
body.tax-product_tag ul.products .astra-shop-summary-wrap {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto !important;
    flex-direction: column;
    padding: 20px;
    width: 100% !important;
}

body.sas-custom-catalog ul.products .ast-woo-product-category,body.woocommerce-shop ul.products .ast-woo-product-category,
body.tax-product_cat ul.products .ast-woo-product-category,
body.tax-product_tag ul.products .ast-woo-product-category {
    color: var(--sas-muted);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 8px;
}

body.sas-custom-catalog ul.products .woocommerce-loop-product__title,body.woocommerce-shop ul.products .woocommerce-loop-product__title,
body.tax-product_cat ul.products .woocommerce-loop-product__title,
body.tax-product_tag ul.products .woocommerce-loop-product__title {
    color: var(--sas-navy) !important;
    font-family: inherit;
    font-size: 17px !important;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 14px;
}

body.sas-custom-catalog ul.products .price,body.woocommerce-shop ul.products .price,
body.tax-product_cat ul.products .price,
body.tax-product_tag ul.products .price {
    color: var(--sas-blue) !important;
    font-family: inherit;
    font-size: 17px !important;
    font-weight: 650;
    margin-top: auto;
}

body.sas-custom-catalog ul.products .button,body.woocommerce-shop ul.products .button,
body.tax-product_cat ul.products .button,
body.tax-product_tag ul.products .button {
    background: var(--sas-blue) !important;
    border-radius: 8px !important;
    box-sizing: border-box;
    color: #fff !important;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: 650;
    margin: 14px 0 0 !important;
    padding: 13px 16px !important;
    text-align: center;
    width: 100%;
}

body.sas-custom-catalog ul.products .button:hover,body.woocommerce-shop ul.products .button:hover,
body.tax-product_cat ul.products .button:hover,
body.tax-product_tag ul.products .button:hover {
    background: var(--sas-navy) !important;
}

body.sas-custom-catalog .woocommerce-pagination,body.woocommerce-shop .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.tax-product_tag .woocommerce-pagination {
    margin-top: 42px;
}

body.sas-custom-catalog .woocommerce-pagination .page-numbers li,body.woocommerce-shop .woocommerce-pagination .page-numbers li,
body.tax-product_cat .woocommerce-pagination .page-numbers li,
body.tax-product_tag .woocommerce-pagination .page-numbers li {
    border: 0;
    margin: 0 4px;
}

body.sas-custom-catalog .woocommerce-pagination .page-numbers a,body.woocommerce-shop .woocommerce-pagination .page-numbers a,
body.sas-custom-catalog .woocommerce-pagination .page-numbers span,body.woocommerce-shop .woocommerce-pagination .page-numbers span,
body.tax-product_cat .woocommerce-pagination .page-numbers a,
body.tax-product_cat .woocommerce-pagination .page-numbers span,
body.tax-product_tag .woocommerce-pagination .page-numbers a,
body.tax-product_tag .woocommerce-pagination .page-numbers span {
    border: 1px solid var(--sas-border);
    border-radius: 8px;
    color: var(--sas-navy);
    min-height: 42px;
    min-width: 42px;
}

body.sas-custom-catalog .woocommerce-pagination .page-numbers .current,body.woocommerce-shop .woocommerce-pagination .page-numbers .current,
body.tax-product_cat .woocommerce-pagination .page-numbers .current,
body.tax-product_tag .woocommerce-pagination .page-numbers .current {
    background: var(--sas-blue);
    color: #fff;
}

@media (max-width: 767px) {
    body.sas-custom-catalog .sas-custom-catalog-controls {
        align-items: stretch;
        flex-direction: column;
    }

    body.sas-custom-catalog .woocommerce-products-header,    body.woocommerce-shop .woocommerce-products-header,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_tag .woocommerce-products-header {
        margin-bottom: 20px;
    }

    body.sas-custom-catalog .ast-archive-description,    body.woocommerce-shop .ast-archive-description,
    body.tax-product_cat .ast-archive-description,
    body.tax-product_tag .ast-archive-description {
        border-radius: 12px;
        margin-bottom: 20px;
        padding: 20px;
    }

    body.sas-custom-catalog .woocommerce-result-count,    body.woocommerce-shop .woocommerce-result-count,
    body.tax-product_cat .woocommerce-result-count,
    body.tax-product_tag .woocommerce-result-count {
        float: none;
        margin-bottom: 12px;
    }

    body.sas-custom-catalog .woocommerce-ordering,    body.woocommerce-shop .woocommerce-ordering,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_tag .woocommerce-ordering {
        float: none;
        width: 100%;
    }

    body.sas-custom-catalog .sas-shop-category-filter,    body.woocommerce-shop .sas-shop-category-filter,
    body.tax-product_cat .sas-shop-category-filter,
    body.tax-product_tag .sas-shop-category-filter {
        float: none;
        margin: 0 0 12px;
        width: 100%;
    }

    body.sas-custom-catalog .sas-shop-category-filter select,    body.woocommerce-shop .sas-shop-category-filter select,
    body.tax-product_cat .sas-shop-category-filter select,
    body.tax-product_tag .sas-shop-category-filter select {
        min-width: 0;
        width: 100%;
    }

    body.sas-custom-catalog .woocommerce-ordering select,    body.woocommerce-shop .woocommerce-ordering select,
    body.tax-product_cat .woocommerce-ordering select,
    body.tax-product_tag .woocommerce-ordering select {
        width: 100%;
    }

    body.sas-custom-catalog ul.products,    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        gap: 14px !important;
    }

    body.sas-custom-catalog ul.products .astra-shop-summary-wrap,    body.woocommerce-shop ul.products .astra-shop-summary-wrap,
    body.tax-product_cat ul.products .astra-shop-summary-wrap,
    body.tax-product_tag ul.products .astra-shop-summary-wrap {
        padding: 14px;
    }

    body.sas-custom-catalog ul.products .woocommerce-loop-product__title,    body.woocommerce-shop ul.products .woocommerce-loop-product__title,
    body.tax-product_cat ul.products .woocommerce-loop-product__title,
    body.tax-product_tag ul.products .woocommerce-loop-product__title {
        font-size: 15px !important;
    }

    body.sas-custom-catalog .woocommerce-message,    body.woocommerce-shop .woocommerce-message,
    body.tax-product_cat .woocommerce-message,
    body.tax-product_tag .woocommerce-message {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 12px;
    }

    body.sas-custom-catalog .woocommerce-message .button,    body.woocommerce-shop .woocommerce-message .button,
    body.tax-product_cat .woocommerce-message .button,
    body.tax-product_tag .woocommerce-message .button {
        margin-left: 0;
    }
}
