/* ==========================================================================
   60 · Shop — بازنویسی استایل‌های ووکامرس با توکن‌های سیستم طراحی
   ========================================================================== */

.wm-shop { padding-block: var(--sp-8); }
.wm-shop .woocommerce-breadcrumb { margin-bottom: var(--sp-3); color: var(--c-ink-500); font-size: var(--fs-sm); }
.wm-shop h1.page-title, .wm-shop .woocommerce-products-header { display: none; }

/* نوار ابزار فهرست: تعداد نتایج + مرتب‌سازی */
.wm-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-6); }
.wm-shop .woocommerce-result-count { margin: 0; color: var(--c-ink-500); font-size: var(--fs-sm); }
.wm-shop .woocommerce-ordering { flex: 0 1 15rem; margin: 0; }
.wm-shop .woocommerce-ordering select { min-height: var(--control-md); padding-block: 0; }

/* شبکهٔ محصولات */
.wm-shop ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); margin: 0 0 var(--sp-8); padding: 0; list-style: none; }
.wm-shop ul.products::before, .wm-shop ul.products::after { display: none; }

/* ---------- کارت محصول ----------
   [ تصویر 1:1 + نشان تخفیف داخل تصویر ] / دسته · عنوان (۲ خط) · قیمت / دکمه */
.woocommerce .wm-shop ul.products[class*="columns-"] li.product.wm-product, .wm-shop ul.products li.wm-product {
	position: relative; display: flex; flex-direction: column; width: auto !important; float: none !important; margin: 0 !important; padding: 0; overflow: hidden;
	border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--shadow-sm);
	transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.wm-product:hover { transform: translateY(-3px); border-color: var(--c-primary-100); box-shadow: var(--shadow-lg); }
.wm-product__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--c-surface-soft); }
.wm-shop ul.products li.wm-product .wm-product__media img { width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; transition: transform var(--dur-slow) var(--ease); }
.wm-product:hover .wm-product__media img { transform: scale(1.04); }
.wm-product__badge { position: absolute; z-index: var(--z-raised); inset-block-start: var(--sp-3); inset-inline-start: var(--sp-3); padding: 0 var(--sp-3); border-radius: var(--r-full); background: var(--c-primary-600); color: var(--c-white); font-size: var(--fs-2xs); font-weight: var(--fw-bold); line-height: 1.9; }
.wm-product__body { display: flex; flex: 1; flex-direction: column; gap: var(--sp-1); padding: var(--sp-4) var(--card-pad) 0; }
.wm-product__cat { color: var(--c-primary-600); font-size: var(--fs-2xs); font-weight: var(--fw-semibold); }
.wm-product__title { margin: 0; padding: 0; font-size: var(--fs-base); font-weight: var(--fw-bold); line-height: var(--lh-snug); min-height: calc(2 * 1em * var(--lh-snug)); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wm-product__title a { color: var(--c-ink-900); }
.wm-product__title a:hover { color: var(--c-primary-600); }
.wm-product__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-1) var(--sp-3); margin-top: auto; padding-top: var(--sp-2); }
.wm-shop .wm-price__now, .wm-shop .wm-price__now .amount { color: var(--c-primary-600); font-size: var(--fs-md); font-weight: var(--fw-bold); text-decoration: none; background: none; }
.wm-shop .wm-price__was, .wm-shop .wm-price__was .amount { color: var(--c-ink-500); font-size: var(--fs-xs); font-weight: var(--fw-regular); }
.wm-shop .woocommerce-Price-currencySymbol { margin-inline-start: var(--sp-1); font-size: var(--fs-xs); font-weight: var(--fw-regular); }
.wm-shop .wm-price__now .woocommerce-Price-currencySymbol { color: var(--c-ink-500); }
.wm-product__action { display: grid; gap: var(--sp-2); padding: var(--sp-4) var(--card-pad) var(--card-pad); }
.wm-product__action .wm-btn { margin: 0; }
.wm-product__action .wm-btn.loading { opacity: .6; pointer-events: none; }
.wm-product__action .wm-btn.added { background: var(--c-success-50); color: var(--c-success); }
.wm-product__action .added_to_cart { color: var(--c-primary-600); font-size: var(--fs-xs); font-weight: var(--fw-semibold); text-align: center; }

/* قیمت در بقیهٔ صفحه‌ها */
.wm-shop .price, .wm-shop .price .amount { color: var(--c-primary-600); font-weight: var(--fw-bold); }
.wm-shop .price del { margin-inline-end: var(--sp-2); color: var(--c-ink-500); font-weight: var(--fw-regular); }
.wm-shop .price ins { background: none; text-decoration: none; }

/* دکمه‌های ووکامرس (همان wm-btn) */
.wm-shop .button:not(.wm-btn), .wm-shop button.button:not(.wm-btn), .wm-shop input.button:not(.wm-btn), .wm-shop a.button:not(.wm-btn), .wm-shop .single_add_to_cart_button, .wm-shop #place_order,
.woocommerce .wm-shop a.button.alt, .woocommerce .wm-shop button.button.alt, .woocommerce .wm-shop input.button.alt, .woocommerce .wm-shop #respond input#submit.alt, .woocommerce .wm-shop .single_add_to_cart_button.alt,
.wm-shop .wc-block-components-button, .wm-shop .wp-block-button__link, .wm-shop .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
	min-height: var(--control-md); margin-top: auto; padding: 0 var(--btn-px-md);
	border: 0; border-radius: var(--r-md) !important; background: var(--c-primary-600) !important; color: var(--c-white) !important;
	font-family: inherit; font-size: var(--fs-sm); font-weight: var(--fw-bold); line-height: var(--lh-snug); cursor: pointer;
}
.wm-shop .button:not(.wm-btn):hover, .woocommerce .wm-shop .button.alt:hover, .wm-shop .single_add_to_cart_button:hover { background: var(--c-primary-700) !important; color: var(--c-white) !important; }

/* صفحهٔ محصول */
.wm-shop div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
.wm-shop div.product .woocommerce-tabs, .wm-shop div.product .related, .wm-shop div.product .upsells { grid-column: 1 / -1; }
.woocommerce .wm-shop div.product div.images, .woocommerce .wm-shop div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce-product-gallery { position: relative; opacity: 1 !important; }
.wm-shop div.product .woocommerce-product-gallery__image img { width: 100%; border-radius: var(--r-lg); }
.wm-shop .product_title { font-size: var(--fs-2xl); }
.wm-shop div.product p.price { font-size: var(--fs-xl); }
.wm-shop form.cart { display: flex; align-items: center; gap: var(--sp-3); margin: var(--sp-5) 0; }
.wm-shop .quantity input { width: 5rem; text-align: center; }
.wm-shop .product_meta { display: grid; gap: var(--sp-1); margin-top: var(--sp-4); color: var(--c-ink-500); font-size: var(--fs-sm); }
.wm-shop .woocommerce-product-details__short-description { color: var(--c-ink-700); }
.wm-shop .woocommerce-tabs ul.tabs { display: flex; gap: var(--sp-2); margin: 0 0 var(--sp-4); padding: 0; list-style: none; }
.wm-shop .woocommerce-tabs ul.tabs li a { display: block; padding: var(--sp-2) var(--sp-5); border-radius: var(--r-full); background: var(--c-surface-soft); color: var(--c-ink-900); }
.wm-shop .woocommerce-tabs ul.tabs li.active a { background: var(--c-primary-600); color: var(--c-white); }

/* پیام‌ها، جدول‌ها، فرم‌ها */
.wm-shop .woocommerce-message, .wm-shop .woocommerce-info { margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--c-surface-soft); list-style: none; }
.wm-shop .woocommerce-error { margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--c-danger-50); list-style: none; }
.wm-shop table.shop_table { width: 100%; padding: var(--sp-5); border: 0; border-collapse: collapse; border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--shadow-md); }
.wm-shop table.shop_table th, .wm-shop table.shop_table td { padding: var(--sp-3); border-bottom: 1px solid var(--c-line); text-align: start; }
.wm-shop .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
.wm-shop .form-row { display: grid; gap: var(--sp-1); margin-bottom: var(--sp-3); }
.wm-shop .woocommerce-form-login, .wm-shop .woocommerce-form-register { display: grid; gap: var(--sp-3); max-width: 32.5rem; margin-inline: auto; padding: var(--sp-6); border: 0; border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--shadow-md); }
.wm-shop .woocommerce-checkout #customer_details { padding: var(--sp-5); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--shadow-md); }
.wm-shop .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: var(--sp-2); padding: 0; list-style: none; }
.wm-shop .woocommerce-MyAccount-navigation a { display: block; padding: var(--sp-2) var(--sp-4); border-radius: var(--r-full); background: var(--c-surface-soft); color: var(--c-ink-900); }
.wm-shop .woocommerce-MyAccount-navigation .is-active a { background: var(--c-primary-600); color: var(--c-white); }
.wm-shop .cart-empty, .wm-shop .return-to-shop { text-align: center; }

@media (max-width: 960px) {
	.wm-shop ul.products { grid-template-columns: repeat(2, 1fr); }
	.wm-shop div.product, .wm-shop .col2-set { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.wm-shop ul.products { grid-template-columns: 1fr; }
	.wm-product__media { aspect-ratio: 4 / 3; }
	.wm-product__title { min-height: 0; }
	.wm-toolbar { flex-direction: column; align-items: stretch; gap: var(--sp-2); }
	.wm-shop .woocommerce-ordering { flex: none; max-width: none; }
	.wm-shop table.shop_table { font-size: var(--fs-sm); }
}
