/* =========================================================================
   SPH Shop Skin — WooCommerce + Elementor Pro
   Palette: teal #1F8A8A / coral #FF6F4E / ink #0f0f10
   ========================================================================= */

:root {
    --sph-teal: #1F8A8A;
    --sph-teal-dark: #0e5c5c;
    --sph-coral: #FF6F4E;
    --sph-coral-dark: #9b341f;
    --sph-ink: #0f0f10;
    --sph-white: #ffffff;
    --sph-border: rgba(15, 15, 16, .12);
    --sph-muted: rgba(15, 15, 16, .62);
    --sph-soft: rgba(31, 138, 138, .08);
    --sph-soft-coral: rgba(255, 111, 78, .08);
    --sph-mint: rgba(31, 138, 138, .15);
    --sph-radius: 16px;
    --sph-radius-sm: 12px;
    --sph-shadow: 0 18px 44px rgba(15, 15, 16, .075);
    --sph-shadow-soft: 0 8px 24px rgba(15, 15, 16, .045);
}

/* -------------------------------------------------------------------------
   پایه صفحات فروشگاه
   ------------------------------------------------------------------------- */
.woocommerce,
.woocommerce-page,
.elementor-widget-wc-archive-products,
.elementor-widget-woocommerce-products,
[class*="elementor-widget-woocommerce-"],
[class*="elementor-widget-wc-"] {
    --wc-teal: var(--sph-teal);
    color: var(--sph-ink);
}

body.woocommerce-page,
body.single-product,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product {
    background: linear-gradient(180deg, #fff 0%, #fff 72%, rgba(31, 138, 138, .045) 100%);
}

.woocommerce,
.woocommerce-page {
    direction: rtl;
    text-align: right;
}

.woocommerce *,
.woocommerce-page * {
    box-sizing: border-box;
}

/* -------------------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------------------- */
.woocommerce-breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 18px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--sph-muted);
    background: var(--sph-soft);
    border: 1px solid rgba(31, 138, 138, .14);
    border-radius: 999px;
}

.woocommerce-breadcrumb a {
    color: var(--sph-teal-dark);
    text-decoration: none;
    font-weight: 800;
    transition: color .15s ease;
}

.woocommerce-breadcrumb a:hover {
    color: var(--sph-coral-dark);
}

/* -------------------------------------------------------------------------
   دکمه‌ها
   ------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .wc-block-components-button {
    background: var(--sph-teal);
    color: var(--sph-white) !important;
    border: 1px solid var(--sph-teal);
    border-radius: 999px;
    padding: 12px 24px;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 8px 20px rgba(31, 138, 138, .18);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .wc-block-components-button:hover {
    background: var(--sph-teal-dark);
    border-color: var(--sph-teal-dark);
    color: var(--sph-white) !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(31, 138, 138, .26);
}

.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
    background: var(--sph-white);
    color: var(--sph-teal-dark) !important;
    border: 1px solid var(--sph-border);
    box-shadow: none;
}

/* اکشن اصلی: افزودن به سبد / تسویه */
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order {
    background: var(--sph-coral);
    border-color: var(--sph-coral);
    box-shadow: 0 10px 24px rgba(255, 111, 78, .22);
}

.woocommerce div.product form.cart .button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: var(--sph-coral-dark);
    border-color: var(--sph-coral-dark);
}

/* -------------------------------------------------------------------------
   آرشیو — نوار ابزار (تعداد نتیجه + مرتب‌سازی)
   ------------------------------------------------------------------------- */
.elementor-widget-wc-archive-products .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px 18px;
    align-items: center;
}

.elementor-widget-wc-archive-products .woocommerce > .woocommerce-notices-wrapper,
.elementor-widget-wc-archive-products .woocommerce > .products,
.elementor-widget-wc-archive-products .woocommerce > nav.woocommerce-pagination {
    grid-column: 1 / -1;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.woocommerce-before-shop-loop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 20px;
    margin: 0 0 26px;
    padding: 14px 18px;
    background: var(--sph-white);
    border: 1px solid var(--sph-border);
    border-radius: 14px;
    box-shadow: var(--sph-shadow-soft);
}

.woocommerce .woocommerce-result-count {
    grid-column: 2;
    justify-self: end;
    color: var(--sph-muted);
    font-size: 13.5px;
    font-weight: 700;
}

.woocommerce .woocommerce-ordering {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: 240px !important;
    max-width: 100%;
    min-width: 0;
}

.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 240px !important;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 16px 10px 40px;
    padding-inline: 16px 40px;
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    background-color: var(--sph-white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230e5c5c' d='M1.4.7 6 5.3 10.6.7 12 2.1l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 14px center;
    background-position: inset-inline-start 14px center;
    color: var(--sph-ink);
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce select.orderby:focus {
    outline: none;
    border-color: var(--sph-teal);
    box-shadow: 0 0 0 3px rgba(31, 138, 138, .12);
}

/* -------------------------------------------------------------------------
   آرشیو — گرید محصولات
   ------------------------------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
.elementor-widget-wc-archive-products .woocommerce ul.products,
.elementor-widget-wc-archive-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(245px, 300px)) !important;
    gap: 24px;
    justify-content: start;
    margin: 0;
    padding: 0;
    list-style: none;
    clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.elementor-widget-wc-archive-products ul.products li.product {
    position: relative;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-align: start;
    background: var(--sph-white);
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    box-shadow: var(--sph-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: rgba(31, 138, 138, .32);
    box-shadow: 0 22px 50px rgba(15, 15, 16, .10);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    padding: 14px 14px 0;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100%;
    margin: 0 0 14px;
    border-radius: var(--sph-radius-sm);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: linear-gradient(180deg, #f4f8f7 0%, #eef6f4 100%);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 8px;
    padding: 0 14px;
    font-size: 15.5px;
    font-weight: 900;
    line-height: 1.65;
    color: var(--sph-ink);
}

.woocommerce ul.products li.product .price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 14px;
    padding: 0 14px;
    font-size: 16px;
    font-weight: 900;
    color: var(--sph-teal-dark);
}

.woocommerce ul.products li.product .price del {
    order: 2;
    color: var(--sph-muted);
    font-size: 13px;
    font-weight: 600;
    opacity: .75;
}

.woocommerce ul.products li.product .price ins {
    order: 1;
    text-decoration: none;
    color: var(--sph-coral-dark);
    background: none;
}

.woocommerce ul.products li.product .star-rating {
    margin: 0 14px 10px;
    color: var(--sph-coral);
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    width: calc(100% - 28px);
    margin: auto 14px 16px;
    text-align: center;
    justify-content: center;
}

/* نشان حراج */
.woocommerce span.onsale {
    position: absolute;
    top: 22px;
    inset-inline-start: 22px;
    inset-inline-end: auto;
    z-index: 2;
    min-height: 0;
    min-width: 0;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--sph-coral);
    color: var(--sph-white);
    font-size: 11.5px;
    font-weight: 900;
    line-height: 1.3;
    box-shadow: 0 6px 16px rgba(255, 111, 78, .32);
}

/* صفحه‌بندی */
.woocommerce nav.woocommerce-pagination {
    margin-top: 34px;
}

.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    background: var(--sph-white);
    color: var(--sph-ink);
    font-weight: 800;
    line-height: 1;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--sph-teal);
    border-color: var(--sph-teal);
    color: var(--sph-white);
}

/* -------------------------------------------------------------------------
   تک‌محصول — ستون خلاصه (عنوان / قیمت / توضیح / افزودن به سبد)
   ------------------------------------------------------------------------- */
.elementor-widget-woocommerce-product-title,
.elementor-widget-woocommerce-product-rating,
.elementor-widget-woocommerce-product-price,
.elementor-widget-woocommerce-product-short-description,
.elementor-widget-woocommerce-product-add-to-cart,
.elementor-widget-woocommerce-product-meta,
.elementor-widget-woocommerce-product-stock {
    text-align: start !important;
}

.woocommerce div.product .product_title,
.elementor-widget-woocommerce-product-title .product_title,
.elementor-widget-woocommerce-product-title h1 {
    margin: 0 0 10px;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 900;
    line-height: 1.55;
    color: var(--sph-ink);
    text-align: start !important;
}

.woocommerce div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.elementor-widget-woocommerce-product-price .price {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--sph-soft);
    border: 1px solid rgba(31, 138, 138, .14);
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 900;
    color: var(--sph-teal-dark) !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.elementor-widget-woocommerce-product-price .price del {
    color: var(--sph-muted) !important;
    font-size: .78em;
    font-weight: 600;
    opacity: .8;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.elementor-widget-woocommerce-product-price .price ins {
    text-decoration: none;
    color: var(--sph-coral-dark) !important;
    background: none;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description {
    margin: 0 0 22px;
    color: rgba(15, 15, 16, .82);
    font-size: 15px;
    line-height: 1.95;
    max-width: 640px;
}

.woocommerce div.product .woocommerce-product-details__short-description p,
.elementor-widget-woocommerce-product-short-description p {
    margin: 0 0 10px;
}

.woocommerce div.product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

/* گالری تصویر */
.woocommerce div.product div.images,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
    margin: 0;
    padding: 16px;
    border: 1px solid var(--sph-border);
    border-radius: 20px;
    background: linear-gradient(180deg, #f4f8f7 0%, #fff 100%);
    box-shadow: var(--sph-shadow-soft);
}

.woocommerce div.product div.images img,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img {
    border-radius: 14px;
    background: #eef6f4;
}

.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: calc(25% - 8px);
    margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    opacity: .85;
    transition: border-color .15s ease, opacity .15s ease;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: var(--sph-teal);
    opacity: 1;
}

/* فرم افزودن به سبد */
.woocommerce div.product form.cart,
.elementor-widget-woocommerce-product-add-to-cart form.cart {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 18px;
}

.woocommerce .quantity {
    display: flex;
    align-items: stretch;
}

.woocommerce .quantity .qty {
    width: 72px;
    min-height: 50px;
    padding: 10px;
    border: 1px solid var(--sph-border);
    border-radius: 12px;
    background: var(--sph-white);
    color: var(--sph-ink);
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

.woocommerce div.product form.cart .button,
.elementor-widget-woocommerce-product-add-to-cart form.cart .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    min-width: min(100%, 220px);
    flex: 1 1 180px;
    margin: 0;
    padding-inline: 28px;
}

/* متادیتا */
.woocommerce div.product .product_meta {
    margin-top: 6px;
    padding: 14px 16px;
    border: 1px solid var(--sph-border);
    border-radius: 12px;
    background: rgba(15, 15, 16, .02);
    color: var(--sph-muted);
    font-size: 13.5px;
    line-height: 1.8;
}

.woocommerce div.product .product_meta > span {
    display: block;
}

.woocommerce div.product .product_meta a {
    color: var(--sph-teal-dark);
    text-decoration: none;
    font-weight: 800;
}

.woocommerce div.product .product_meta a:hover {
    color: var(--sph-coral-dark);
}

/* تب‌های توضیحات / نظرات */
.woocommerce div.product .woocommerce-tabs,
.elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs {
    margin-top: 28px;
    padding: 22px 24px 26px;
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    background: var(--sph-white);
    box-shadow: var(--sph-shadow-soft);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0 0 22px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--sph-border);
    list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
    color: var(--sph-muted);
    font-size: 15.5px;
    font-weight: 800;
    text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--sph-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: -15px;
    height: 3px;
    border-radius: 999px;
    background: var(--sph-teal);
}

.woocommerce div.product .woocommerce-Tabs-panel {
    color: rgba(15, 15, 16, .84);
    font-size: 15px;
    line-height: 2;
}

.woocommerce div.product .woocommerce-Tabs-panel h2:first-child {
    display: none;
}

.woocommerce div.product .woocommerce-Tabs-panel p {
    margin: 0 0 14px;
}

/* محصولات مرتبط */
.woocommerce .related,
.woocommerce .upsells,
.elementor-widget-woocommerce-product-related {
    margin-top: 36px;
}

.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce section.related h2,
.elementor-widget-woocommerce-product-related .products > h2 {
    margin: 0 0 22px;
    padding-inline-start: 12px;
    border-inline-start: 3px solid var(--sph-teal);
    font-size: 22px;
    font-weight: 900;
    color: var(--sph-ink);
    text-align: start;
}

/* -------------------------------------------------------------------------
   سبد خرید
   ------------------------------------------------------------------------- */
.woocommerce table.shop_table {
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    border-collapse: separate;
    overflow: hidden;
    background: var(--sph-white);
}

.woocommerce table.shop_table thead th {
    background: var(--sph-soft);
    color: var(--sph-teal-dark);
    font-weight: 800;
    border: none;
    padding: 14px 16px;
}

.woocommerce table.shop_table td {
    border-top: 1px solid var(--sph-border);
    padding: 14px 16px;
    vertical-align: middle;
}

.woocommerce table.shop_table img {
    border-radius: 10px;
    border: 1px solid var(--sph-border);
}

.woocommerce a.remove {
    color: var(--sph-coral-dark) !important;
    border: 1px solid var(--sph-border);
    border-radius: 999px;
    line-height: 22px;
    width: 24px;
    height: 24px;
}

.woocommerce a.remove:hover {
    background: var(--sph-coral) !important;
    color: var(--sph-white) !important;
    border-color: var(--sph-coral);
}

.woocommerce .cart .coupon .input-text {
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    padding: 10px 12px;
    min-height: 46px;
}

.woocommerce .cart_totals h2 {
    font-size: 20px;
    font-weight: 900;
    color: var(--sph-ink);
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--sph-white);
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    padding: 20px 22px;
    box-shadow: var(--sph-shadow);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    text-align: center;
}

/* -------------------------------------------------------------------------
   تسویه‌حساب
   ------------------------------------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce .select2-container--default .select2-selection--single {
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    padding: 11px 13px;
    min-height: 46px;
    background: var(--sph-white);
    color: var(--sph-ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus {
    outline: none;
    border-color: var(--sph-teal);
    box-shadow: 0 0 0 3px rgba(31, 138, 138, .12);
}

.woocommerce form .form-row label {
    margin-bottom: 6px;
    color: var(--sph-ink);
    font-weight: 700;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-review-order {
    background: var(--sph-white);
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    box-shadow: var(--sph-shadow);
}

.woocommerce-checkout #payment {
    padding: 6px 18px 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--sph-border);
}

.woocommerce-checkout #payment div.payment_box {
    border-radius: 10px;
    background: var(--sph-soft);
    color: var(--sph-ink);
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--sph-soft);
}

.woocommerce-checkout #place_order {
    width: 100%;
    margin-top: 12px;
}

/* -------------------------------------------------------------------------
   نوتیس‌ها
   ------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
    border: 1px solid var(--sph-border);
    border-top: 3px solid var(--sph-teal);
    border-radius: 12px;
    background: var(--sph-soft);
    color: var(--sph-ink);
    padding: 14px 18px;
}

.woocommerce-error {
    border-top-color: var(--sph-coral);
    background: var(--sph-soft-coral);
}

.woocommerce-message a.button,
.woocommerce-info a.button {
    box-shadow: none;
    padding: 8px 16px;
}

/* -------------------------------------------------------------------------
   ویجت‌ها / فیلترها
   ------------------------------------------------------------------------- */
.woocommerce .widget,
.wc-block-product-categories,
.widget_product_categories,
.widget_price_filter {
    background: var(--sph-white);
    border: 1px solid var(--sph-border);
    border-radius: var(--sph-radius);
    padding: 18px;
    margin-bottom: 20px;
    box-shadow: var(--sph-shadow-soft);
}

.woocommerce .widget .widget-title,
.woocommerce .widget h2,
.woocommerce .widget h3 {
    margin: 0 0 14px;
    padding-inline-start: 10px;
    border-inline-start: 3px solid var(--sph-teal);
    font-size: 16px;
    font-weight: 900;
    color: var(--sph-ink);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .price_slider .ui-slider-range {
    background: var(--sph-teal);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .price_slider .ui-slider-handle {
    background: var(--sph-coral);
    border: 2px solid var(--sph-white);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
}

.woocommerce select,
.woocommerce .select2-container .select2-selection {
    border: 1px solid var(--sph-border);
    border-radius: 10px;
    min-height: 42px;
    background: var(--sph-white);
    color: var(--sph-ink);
}

/* -------------------------------------------------------------------------
   ریسپانسیو
   ------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .elementor-widget-wc-archive-products .woocommerce {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        grid-column: 1;
        grid-row: auto;
        justify-self: stretch;
    }

    .woocommerce-before-shop-loop {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce .woocommerce-ordering,
    .woocommerce .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .elementor-widget-wc-archive-products ul.products {
        grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
        gap: 14px;
        justify-content: stretch;
    }

    .woocommerce div.product form.cart .button,
    .elementor-widget-woocommerce-product-add-to-cart form.cart .button {
        width: 100%;
        flex: 1 1 100%;
    }

    .woocommerce div.product .woocommerce-tabs,
    .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs {
        padding: 16px;
    }
}
