/* ==========================================================================
   ZamenHome — WooCommerce styles (cards, shop, product page, notices, cart)
   ========================================================================== */

/* ---------- Generic WooCommerce buttons / notices ---------- */
.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-page a.button, .woocommerce-page button.button {
	background: var(--zh-primary); color: var(--zh-cream); border-radius: 999px; padding: 12px 24px;
	font-family: inherit; font-weight: 700; font-size: 14px; line-height: 1.4; border: 0; transition: background .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--zh-primary-soft); color: var(--zh-cream); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button.alt.disabled { background: var(--zh-primary); opacity: .55; }
.wc-block-components-button:not(.is-link) { background: var(--zh-primary) !important; color: var(--zh-cream) !important; border-radius: 999px !important; font-weight: 700; }
.wc-block-components-button:not(.is-link):hover { background: var(--zh-primary-soft) !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper .wc-block-components-notice-banner {
	border-radius: 16px; border: 1px solid var(--zh-sand); border-top-width: 1px; background: #fff; color: var(--zh-ink); font-size: 14px;
}
.woocommerce-message { border-inline-start: 4px solid var(--zh-green); }
.woocommerce-info { border-inline-start: 4px solid var(--zh-accent); }
.woocommerce-error { border-inline-start: 4px solid var(--zh-red); }
.woocommerce-message::before { color: var(--zh-green); }
.woocommerce-info::before { color: var(--zh-accent); }
.woocommerce-message .button, .woocommerce-info .button { padding: 6px 16px !important; font-size: 12px !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	border: 1px solid var(--zh-sand); border-radius: 12px; padding: 10px 14px; background: #fff; min-height: 46px;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--zh-accent); outline: none; }
.woocommerce span.onsale {
	min-width: 0; min-height: 0; line-height: 1.5; padding: 4px 12px; border-radius: 999px;
	background: var(--zh-primary); color: var(--zh-cream); font-size: 12px; font-weight: 700; top: 14px; left: 14px; right: auto; margin: 0; z-index: 3;
}
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--zh-accent); }
.woocommerce .price, .woocommerce .amount { font-family: inherit; }

/* ---------- Product grid ---------- */
.woocommerce ul.products, ul.products {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (min-width: 768px) {
	.woocommerce ul.products, ul.products { gap: 20px; }
	ul.products.columns-4, ul.products.columns-5, ul.products.columns-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
	ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1279px) { ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.woocommerce ul.products li.product, ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; }

/* ---------- Product card ---------- */
li.product.zh-card {
	position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--zh-sand) 80%, transparent); border-radius: 16px; background: #fff;
	transition: transform .3s, box-shadow .3s; text-align: start;
}
@media (min-width: 768px) { li.product.zh-card { border-radius: 24px; } }
li.product.zh-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -22px color-mix(in srgb, var(--zh-primary) 40%, transparent); }
.zh-card__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--zh-photo); }
.zh-card__media::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse 70% 60% at 50% 42%, #fbf8f3 0%, rgba(251, 248, 243, 0) 70%);
}
.zh-card__media::after {
	content: ""; position: absolute; inset-inline: 22%; bottom: 7%; height: 5%; border-radius: 50%;
	background: color-mix(in srgb, var(--zh-primary) 10%, transparent); filter: blur(8px); pointer-events: none;
}
.woocommerce ul.products li.product .zh-card__media img, .zh-card__media img {
	position: relative; width: 100%; height: 100%; margin: 0 !important; object-fit: contain; padding: 9%;
	mix-blend-mode: multiply; transition: transform .5s; box-shadow: none;
}
li.product.zh-card:hover .zh-card__media img { transform: scale(1.04); }
.zh-card__off {
	position: absolute; left: 10px; top: 10px; z-index: 2; border-radius: 999px; padding: 2px 8px;
	background: var(--zh-primary); color: var(--zh-cream); font-size: 11px; font-weight: 700; line-height: 1.6;
}
.zh-card__off--out { background: var(--zh-taupe); }
.zh-card__wish {
	position: absolute; right: 10px; top: 10px; z-index: 2; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 99px; background: transparent; color: var(--zh-primary); transition: transform .2s, background .2s;
}
.zh-card__wish:hover { transform: scale(1.1); background: rgba(255, 255, 255, .8); }
[data-zh-wish].is-wished svg { fill: currentColor; }
/* Badges under the price (not on the photo). */
.zh-card__flags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--zh-sand); min-width: 0; }
.zh-flag {
	display: inline-flex; align-items: center; gap: 3px; max-width: 100%; padding: 2px 8px; border-radius: 99px;
	font-size: 10.5px; font-weight: 700; line-height: 1.7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zh-flag .zh-icon { flex-shrink: 0; }
@media (max-width: 767px) { .zh-card__flags .zh-flag { font-size: 10px; padding: 1px 7px; } }
.zh-flag--replica { background: var(--zh-red); color: #fff; font-size: 11.5px; padding: 3px 10px; }
.zh-flag--vip { background: #fff3d6; color: var(--zh-amber); border: 1px solid #f0cf86; }
.zh-flag--custom { background: var(--zh-accent); color: #fff; }
.zh-flag--original { background: rgba(255, 255, 255, .9); color: var(--zh-green); border: 1px solid color-mix(in srgb, var(--zh-green) 30%, transparent); }
.zh-flag--tested { background: rgba(255, 255, 255, .9); color: var(--zh-primary); border: 1px solid var(--zh-sand); }
.zh-card__body { display: flex; flex: 1; flex-direction: column; gap: 4px; padding: 12px; }
@media (min-width: 768px) { .zh-card__body { padding: 14px 16px 16px; } }
.zh-card__brand { font-size: 11px; font-weight: 700; color: var(--zh-accent); }
.woocommerce ul.products li.product .zh-card__title, .zh-card__title {
	margin: 0; padding: 0; min-height: 48px; font-size: 13px; font-weight: 700; line-height: 24px; color: var(--zh-primary);
	display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
/* Mobile: compact card — title up to 4 lines, less padding, badges in a single row (one card with
   many badges used to stretch every card of a carousel row and leave a big gap above the price). */
@media (max-width: 767px) {
	.woocommerce ul.products li.product .zh-card__title, .zh-card__title { min-height: 42px; font-size: 12.5px; line-height: 21px; }
	.zh-card__body { gap: 2px; padding: 10px 10px 12px; }
	.zh-card__foot { padding-top: 6px; }
	.zh-card__flags { flex-wrap: nowrap; overflow: hidden; margin-top: 8px; padding-top: 8px; }
	.zh-card__flags .zh-flag { flex: 0 1 auto; min-width: 0; }
	.zh-card__flags .zh-flag--icon { flex: 0 0 24px; }
	.zh-card__media img, .woocommerce ul.products li.product .zh-card__media img { padding: 7%; }
}
@media (min-width: 768px) { .woocommerce ul.products li.product .zh-card__title, .zh-card__title { font-size: 14px; } }
.zh-card__title a { color: inherit; }
.zh-card__foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding-top: 8px; }
.woocommerce ul.products li.product .zh-card__price, .zh-card__price {
	display: flex; flex-direction: column; min-width: 0; margin: 0; color: var(--zh-ink); font-size: 13px; font-weight: 900; line-height: 1.5;
}
@media (min-width: 768px) { .woocommerce ul.products li.product .zh-card__price, .zh-card__price { font-size: 14px; } }
.zh-card__price del { order: -1; font-size: 11px; font-weight: 400; color: var(--zh-taupe); opacity: 1; }
.zh-card__price ins { text-decoration: none; font-weight: 900; }
.zh-card__price .woocommerce-Price-currencySymbol { font-size: 10px; font-weight: 500; color: var(--zh-taupe); }
ul.products li.product.zh-card a.zh-card__cart.button, .zh-card a.zh-card__cart {
	flex-shrink: 0; width: 32px; height: 32px; min-height: 0; padding: 0 !important; margin: 0 !important; display: flex; align-items: center; justify-content: center;
	border-radius: 99px; background: var(--zh-cream); color: var(--zh-primary); font-size: 0; line-height: 1;
}
ul.products li.product.zh-card a.zh-card__cart.button:hover { background: var(--zh-primary); color: var(--zh-cream); }
ul.products li.product.zh-card a.zh-card__cart.button:active { transform: scale(.9); }
ul.products li.product.zh-card a.zh-card__cart.loading { opacity: .5; }
ul.products li.product.zh-card a.zh-card__cart.loading::after, ul.products li.product.zh-card a.zh-card__cart.added::after { display: none; }
.zh-card .added_to_cart { display: none !important; }

/* ---------- Shop archive ---------- */
.zh-shop { padding-block: 24px; }
@media (min-width: 768px) { .zh-shop { padding-block: 48px; } }
/* minmax(0, …) columns: nothing inside (widgets, long pill rows) can make the page wider than the phone. */
.zh-shop__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.zh-shop__main { min-width: 0; }
@media (min-width: 1024px) {
	.zh-shop__layout { grid-template-columns: 260px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 24px 32px; }
	.zh-shop__aside { grid-column: 1; grid-row: 1; }
	.zh-shop__main { grid-column: 2; grid-row: 1 / span 2; }
	.zh-shop__widgets { grid-column: 1; grid-row: 2; align-self: start; }
}
.zh-shop__aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.zh-shop__cats h3 { display: none; font-size: 16px; margin-bottom: 12px; }
.zh-shop__cats ul { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 0 16px; list-style: none; scrollbar-width: none; }
.zh-shop__cats ul::-webkit-scrollbar { display: none; }
.zh-shop__cats li { flex-shrink: 0; }
.zh-shop__cats a { display: block; white-space: nowrap; border: 1px solid var(--zh-sand); border-radius: 999px; background: #fff; padding: 8px 16px; font-size: 14px; }
.zh-shop__cats a:hover { background: var(--zh-cream); color: var(--zh-ink); }
.zh-shop__cats a.is-active { background: var(--zh-primary); color: var(--zh-cream); border-color: var(--zh-primary); }
@media (min-width: 1024px) {
	.zh-shop__aside { gap: 24px; }
	.zh-shop__cats { border: 1px solid var(--zh-sand); border-radius: var(--zh-radius); background: #fff; padding: 20px; }
	.zh-shop__cats h3 { display: block; }
	.zh-shop__cats ul { display: block; margin: 0; padding: 0; }
	.zh-shop__cats li + li { margin-top: 4px; }
	.zh-shop__cats a { border: 0; border-radius: 12px; padding: 8px 12px; }
}
/* Subcategories: tree in the desktop sidebar; on phone / tablet the pill row stays flat and
   the subcategories appear as chips above the products. */
.zh-shop__cat-row { display: flex; align-items: center; gap: 2px; }
.zh-shop__cat-row > a { flex: 1; min-width: 0; }
.zh-shop__cats .zh-shop__subcats, .zh-shop__cats .zh-subtoggle { display: none; }
@media (min-width: 1024px) {
	.zh-shop__cats .zh-subtoggle { display: inline-flex; }
	.zh-shop__cats .zh-shop__subcats:not([hidden]) {
		display: block; list-style: none; margin: 2px 0 6px; padding: 0 12px 0 0; margin-inline-start: 14px;
		border-inline-start: 2px solid var(--zh-sand);
	}
	.zh-shop__subcats li + li { margin-top: 2px; }
	.zh-shop__cats .zh-shop__subcats a { padding: 6px 10px; font-size: 13px; color: var(--zh-taupe); }
	.zh-shop__cats .zh-shop__subcats a:hover { color: var(--zh-primary); }
	.zh-shop__cats .zh-shop__subcats a.is-active { background: color-mix(in srgb, var(--zh-primary) 9%, transparent); color: var(--zh-primary); font-weight: 700; }
	.zh-shop__cats a.is-active.is-parent { background: transparent; color: var(--zh-primary); font-weight: 800; }
	.zh-subcats { display: none !important; }
}
.zh-subcats { display: flex; gap: 8px; overflow-x: auto; margin: -4px -16px 16px; padding: 2px 16px 4px; scrollbar-width: none; }
.zh-subcats::-webkit-scrollbar { display: none; }
.zh-subcats__chip {
	flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 6px 12px; border-radius: 12px;
	border: 1px dashed var(--zh-tan); background: var(--zh-cream); font-size: 13px; font-weight: 600; color: var(--zh-primary);
}
.zh-subcats__chip small { font-size: 10.5px; font-weight: 500; color: var(--zh-taupe); }
.zh-subcats__chip.is-active { border-style: solid; border-color: var(--zh-accent); background: var(--zh-accent); color: #fff; }
.zh-subcats__chip.is-active small { color: rgba(255, 255, 255, .85); }
.zh-shop__widgets { min-width: 0; overflow: hidden; border: 1px solid var(--zh-sand); border-radius: var(--zh-radius); background: #fff; padding: 20px; }
.zh-shop__widgets img, .zh-shop__widgets input, .zh-shop__widgets select, .zh-shop__widgets table { max-width: 100%; }
.zh-shop__widgets .wp-block-search__inside-wrapper { display: flex; gap: 6px; }
.zh-shop__widgets .wp-block-search__input { flex: 1; min-width: 0; border: 1px solid var(--zh-sand); border-radius: 12px; padding: 8px 12px; }
.zh-shop__widgets .wp-block-search__button { border: 0; border-radius: 12px; background: var(--zh-primary); color: var(--zh-cream); padding: 8px 14px; margin: 0; }
.zh-shop__widgets ul { padding-inline-start: 18px; }
.zh-sortbar { display: flex; align-items: center; gap: 8px; overflow-x: auto; white-space: nowrap; margin-bottom: 20px; font-size: 14px; scrollbar-width: none; }
.zh-sortbar::-webkit-scrollbar { display: none; }
.zh-sortbar__label { color: var(--zh-taupe); }
.zh-pill { border-radius: 999px; padding: 6px 16px; background: #fff; color: var(--zh-ink); }
.zh-pill:hover { background: var(--zh-sand); color: var(--zh-ink); }
.zh-pill.is-active { background: var(--zh-accent); color: #fff; }
.zh-pill--tag { margin-inline-start: auto; background: var(--zh-sand); color: var(--zh-primary); }
.woocommerce nav.woocommerce-pagination { margin-top: 32px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 99px; background: #fff; border: 1px solid var(--zh-sand); padding: 0 10px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--zh-primary); color: var(--zh-cream); border-color: var(--zh-primary); }
.term-description, .page-description { color: var(--zh-taupe); margin-top: 8px; }
.zh-breadcrumb, .woocommerce .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: var(--zh-taupe); margin: 0 0 12px; }
.zh-breadcrumb a { color: var(--zh-taupe); }
.zh-breadcrumb a:hover { color: var(--zh-primary); }

/* ---------- Single product ---------- */
.zh-single-product { padding-top: 16px; padding-bottom: 96px; }
@media (min-width: 768px) { .zh-single-product { padding-top: 32px; padding-bottom: 32px; } }
.woocommerce div.product.zh-product { position: relative; }
.zh-product__grid { display: grid; gap: 24px; }
@media (min-width: 1024px) {
	.zh-product__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
	.zh-product__info { order: -1; padding-top: 4px; }
	/* Sticky on the grid item itself (align-self: start) so it can never overflow onto the sections below. */
	.zh-product__gallery { position: sticky; top: 140px; align-self: start; }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary,
.woocommerce-page div.product div.images, .woocommerce-page div.product div.summary { float: none !important; width: 100% !important; margin: 0 !important; }
.zh-product__gallery-inner { position: relative; }
/* Gallery frame: the slider viewport (or the wrapper when there is only one image). */
.zh-product__grid > * { min-width: 0; }
.woocommerce div.product div.images { max-width: 100%; }
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper {
	border-radius: var(--zh-radius); overflow: hidden; border: 1px solid var(--zh-sand); background: var(--zh-photo);
}
/* Gallery uses Flexslider's fade mode (see inc/woocommerce.php): slides are stacked in one square frame.
   Keep the stack LTR so Flexslider's float/negative-margin stacking works the same on this RTL page. */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { direction: ltr; }
.woocommerce div.product div.images .flex-viewport { direction: ltr; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { touch-action: pan-y; }
/* Every photo sits in the same square box, whatever its original ratio. */
/* Every photo sits in the same square box, whatever its ratio (padding trick: works in all mobile browsers). */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	position: relative; height: auto !important; overflow: hidden; background: var(--zh-photo);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image::before { content: ""; display: block; padding-top: 100%; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {
	position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; max-width: none; margin: 0;
	object-fit: contain; padding: 6%; box-sizing: border-box; mix-blend-mode: multiply;
}
/* Thumbnails: one row that scrolls sideways, so many photos never spill out of the gallery. */
.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 8px; margin: 12px 0 0; padding: 0 0 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 auto; width: 64px !important; height: 64px; float: none !important; margin: 0 !important; background: var(--zh-photo); border-radius: 14px; }
@media (min-width: 768px) { .woocommerce div.product div.images .flex-control-thumbs li { width: 76px !important; height: 76px; } }
.woocommerce div.product div.images .flex-control-thumbs li img {
	display: block; width: 100%; height: 100%; object-fit: contain; padding: 4px; box-sizing: border-box;
	border-radius: 14px; border: 2px solid var(--zh-sand); background: transparent; opacity: .75; mix-blend-mode: multiply;
}
.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(--zh-primary); opacity: 1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 14px; right: 14px; left: auto; z-index: 9; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; font-size: 0; background: #fff; border-radius: 99px; box-shadow: 0 2px 8px rgba(0, 0, 0, .1); }
.woocommerce div.product .zh-product__gallery-inner > span.onsale { position: absolute; top: 14px; left: 14px; right: auto; z-index: 10; }
.zh-is-replica .zh-product__gallery-inner > span.onsale { top: 76px; }
/* Big «غیر اصل» ribbon on the gallery so it cannot be missed. */
.zh-is-replica .zh-product__gallery-inner::before {
	content: "⚠ " attr(data-zh-ribbon); display: block; margin-bottom: 12px;
	padding: 12px 16px; border-radius: 16px; text-align: center; font-weight: 900; font-size: 16px; line-height: 1.6;
	background: var(--zh-red); color: #fff; box-shadow: 0 10px 20px -12px rgba(180, 35, 24, .8);
}

.zh-product__info > * + * { margin-top: 18px; }
.zh-product__info .product_title {
	font-size: 20px; font-weight: 900; line-height: 1.7; color: var(--zh-primary); margin: 0;
}
@media (min-width: 768px) { .zh-product__info .product_title { font-size: 28px; line-height: 1.6; } }
.zh-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px !important; }
.zh-sku { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 99px; background: var(--zh-sand); font-size: 12px; color: var(--zh-taupe); }
.zh-sku b { font-weight: 700; color: var(--zh-primary); direction: ltr; unicode-bidi: isolate; }
.zh-card__sku { font-size: 10.5px; color: var(--zh-taupe); }
.zh-card__sku b { font-weight: 500; direction: ltr; unicode-bidi: isolate; }
.product_meta .sku_wrapper { display: none; }
.zh-notices { margin-bottom: 4px; }
.zh-meta-row__rating { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--zh-taupe); }
.zh-stars { position: relative; display: inline-flex; }
.zh-stars__bg { display: flex; color: var(--zh-sand); }
.zh-stars__fg { position: absolute; inset: 0; display: flex; overflow: hidden; color: var(--zh-accent); }
.zh-stars svg { flex-shrink: 0; }
.zh-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; }
.zh-stock i { width: 6px; height: 6px; border-radius: 99px; background: currentColor; }
.zh-stock--in { color: #047857; }
.zh-stock--out { color: var(--zh-red); }
.zh-stock--warn { color: var(--zh-amber); }
.zh-product__info > p.stock { display: none; }
.zh-price-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; border-block: 1px solid var(--zh-sand); padding-block: 16px; }
.zh-price-row__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
/* Brand on the product page: logo (from «محصولات ← برندها ← تصویر بندانگشتی») + latin name in the brand color. */
.zh-brand { --zh-brand: var(--zh-primary); display: flex; align-items: center; gap: 12px; min-width: 0; color: inherit; }
.zh-brand:hover { color: inherit; }
.zh-brand__logo {
	flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; padding: 6px;
	border-radius: 16px; background: #fff; border: 1.5px solid color-mix(in srgb, var(--zh-brand) 35%, var(--zh-sand));
	transition: border-color .2s, transform .2s;
}
.zh-brand:hover .zh-brand__logo { border-color: var(--zh-brand); transform: translateY(-2px); }
.zh-brand__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
@media (min-width: 768px) { .zh-brand__logo { width: 72px; height: 72px; } }
.zh-brand__text { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.zh-brand__text small { font-size: 11px; color: var(--zh-taupe); }
.zh-price-row__brand > .zh-brand-fa + small { font-size: 11px; color: var(--zh-taupe); }
.zh-brand-latin { font-size: 20px; font-weight: 900; letter-spacing: .03em; color: var(--zh-primary); }
.zh-brand-fa { font-size: 18px; font-weight: 900; color: var(--zh-primary); }
.zh-price-row__price { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.woocommerce div.product .zh-price-row p.price, .zh-price-row p.price { margin: 0; display: flex; align-items: baseline; gap: 12px; color: var(--zh-primary); font-size: 24px; font-weight: 900; }
@media (min-width: 768px) { .woocommerce div.product .zh-price-row p.price { font-size: 28px; } }
.zh-price-row p.price del { font-size: 14px; font-weight: 400; color: var(--zh-taupe); opacity: 1; }
.zh-price-row p.price ins { text-decoration: none; }
.zh-price-row p.price .woocommerce-Price-currencySymbol { font-size: 14px; font-weight: 700; }
.zh-save-chip { border-radius: 999px; background: var(--zh-primary); color: var(--zh-cream); padding: 4px 12px; font-size: 11px; font-weight: 700; }
/* ---------- «خبرم کن» SMS box — Persian WooCommerce SMS ([woo_ps_sms], form.sms-notif-form) ----------
   The plugin shows / hides «.sms-notif-content» with inline styles, so display is never forced with !important there. */
.zh-product-sms,
.sms-notif-form:not(.zh-product-sms .sms-notif-form) {
	display: flex; align-items: flex-start; gap: 12px; margin: 16px 0 6px; padding: 14px;
	border: 1px solid var(--zh-sand); border-radius: 16px; background: linear-gradient(135deg, #fff 0%, var(--zh-cream) 100%);
}
.sms-notif-form:not(.zh-product-sms .sms-notif-form) { display: block; }
/* Plugin's automatic copy outside the summary while our box is on the page → hidden (no double form). */
body:has(.zh-product-sms .sms-notif-form) .sms-notif-form:not(.zh-product-sms .sms-notif-form) { display: none !important; }
@media (min-width: 768px) { .zh-product-sms, .sms-notif-form:not(.zh-product-sms .sms-notif-form) { padding: 16px 18px; } }
.zh-product-sms__icon {
	flex: 0 0 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 12px;
	background: color-mix(in srgb, var(--zh-primary) 9%, transparent); color: var(--zh-primary);
}
.zh-product-sms__body { flex: 1; min-width: 0; padding-top: 2px; }
.sms-notif-form { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--zh-ink); }
.sms-notif-form br { display: none; }
.sms-notif-form p { margin: 0; }

/* Title row: «به من از طریق پیامک اطلاع بده». */
.sms-notif-form .sms-notif-enable-p { margin: 0; }
.sms-notif-form label {
	display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; cursor: pointer;
	font-size: 13.5px; font-weight: 500; line-height: 1.7; color: var(--zh-ink);
}
.sms-notif-form .sms-notif-enable-label { min-height: 36px; }
.sms-notif-form .sms-notif-enable-label strong { font-size: 14.5px; font-weight: 800; color: var(--zh-primary); }

/* Options + mobile + button. */
.sms-notif-form .sms-notif-content { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; }
.sms-notif-form .sms-notif-groups-label {
	flex: 1 1 100%; width: 100%; padding: 6px 10px; border-radius: 10px; background: rgba(255, 255, 255, .7);
	border: 1px dashed var(--zh-sand); font-size: 13px; color: var(--zh-taupe);
}
.sms-notif-form .sms-notif-groups-label:has(input:checked) { border-style: solid; border-color: color-mix(in srgb, var(--zh-primary) 25%, transparent); color: var(--zh-primary); font-weight: 600; }

.sms-notif-form input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; flex: 0 0 20px; width: 20px !important; height: 20px; margin: 0 !important; padding: 0;
	border: 1.5px solid var(--zh-tan); border-radius: 6px; background: #fff center / 14px no-repeat; cursor: pointer; vertical-align: middle;
	transition: background-color .15s, border-color .15s;
}
.sms-notif-form input[type="checkbox"]:checked {
	border-color: var(--zh-primary); background-color: var(--zh-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.sms-notif-form input[type="checkbox"]:focus-visible { outline: 2px solid var(--zh-accent); outline-offset: 2px; }

.sms-notif-form .sms-notif-mobile-div {
	display: inline-block; flex: 1 1 140px; width: calc(100% - 100px); min-width: 0; margin: 4px 0 0; vertical-align: middle;
}
.sms-notif-form input.sms-notif-mobile,
.sms-notif-form .sms-notif-mobile-div input {
	display: block; width: 100% !important; height: 46px; margin: 0 !important; padding: 0 14px !important;
	border: 1px solid var(--zh-sand); border-radius: 12px; background: #fff; box-shadow: none;
	font: 600 15px/1 var(--zh-font); letter-spacing: .5px; color: var(--zh-ink); direction: ltr; text-align: left;
	transition: border-color .15s, box-shadow .15s;
}
.sms-notif-form input.sms-notif-mobile:placeholder-shown { direction: rtl; text-align: right !important; letter-spacing: 0; }
.sms-notif-form input.sms-notif-mobile::placeholder { color: color-mix(in srgb, var(--zh-taupe) 75%, transparent); font-weight: 500; }
.sms-notif-form input.sms-notif-mobile:focus {
	outline: none; border-color: var(--zh-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--zh-primary) 12%, transparent);
}

.sms-notif-form button.sms-notif-submit,
.woocommerce .sms-notif-form button.sms-notif-submit.button.alt,
.woocommerce div.product .sms-notif-form button.sms-notif-submit.single_add_to_cart_button {
	display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: auto !important; min-width: 88px; height: 46px; min-height: 0;
	margin: 4px 0 0 !important; padding: 0 22px !important; border: 0; border-radius: 12px; vertical-align: middle;
	background: var(--zh-primary); color: var(--zh-cream); font: 700 14px/1 var(--zh-font); box-shadow: none; cursor: pointer;
	transition: background .2s, transform .1s;
}
.sms-notif-form button.sms-notif-submit:hover { background: color-mix(in srgb, var(--zh-primary) 85%, #000); color: #fff; }
.sms-notif-form button.sms-notif-submit:active { transform: scale(.97); }

/* Result («ثبت شد» / error) with the plugin's tick / cross icons. */
.sms-notif-form .sms-notif-result-p { flex: 1 1 100%; width: 100%; margin: 0; }
.sms-notif-form .sms-notif-result:empty { display: none; }
.sms-notif-form .sms-notif-result {
	display: flex; align-items: center; gap: 6px; margin-top: 4px; padding: 6px 10px; border-radius: 10px;
	background: rgba(255, 255, 255, .8); font-size: 12.5px; line-height: 1.8; color: var(--zh-taupe);
}
.sms-notif-form .sms-notif-result img { width: 16px !important; height: auto; margin: 0 !important; }

.woocommerce-product-details__short-description { font-size: 14px; line-height: 2; color: color-mix(in srgb, var(--zh-ink) 80%, transparent); }
.woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.woocommerce-product-details__short-description li { position: relative; padding-inline-start: 26px; line-height: 1.7; }
.woocommerce-product-details__short-description li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: 5px; width: 15px; height: 15px; background: var(--zh-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Add to cart form */
.woocommerce div.product form.cart { margin: 24px 0 0 !important; display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart .zh-acks { flex-basis: 100%; order: -1; }
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	flex: 1; order: 1; border-radius: 16px; padding: 14px 20px; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; float: none;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button::before {
	content: ""; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 2-1.5L20.5 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 2-1.5L20.5 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce .quantity { display: flex; align-items: center; border: 1px solid var(--zh-sand); border-radius: 16px; background: #fff; order: 2; margin: 0 !important; float: none !important; }
.woocommerce .quantity .qty { width: 36px; border: 0; background: transparent; text-align: center; font-weight: 700; padding: 0; -moz-appearance: textfield; min-height: 44px; }
.woocommerce .quantity .qty::-webkit-outer-spin-button, .woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.zh-qty-btn { width: 40px; align-self: stretch; border: 0; background: none; font-size: 20px; color: var(--zh-primary); }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; }
.woocommerce div.product form.cart .variations select { border: 1px solid var(--zh-sand); border-radius: 12px; padding: 8px 12px; min-width: 60%; background: #fff; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { padding: 6px 0; vertical-align: middle; line-height: 1.6; }

.zh-actions-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--zh-sand); padding-top: 16px; font-size: 13px; }
.zh-actions-row__btn { display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; background: none; padding: 0; color: color-mix(in srgb, var(--zh-ink) 80%, transparent); }
.zh-actions-row__btn:first-child { justify-content: flex-start; }
.zh-actions-row__btn:last-child { justify-content: flex-end; }
.zh-actions-row__btn:hover, .zh-actions-row__btn.is-wished { color: var(--zh-primary); }
.product_meta { font-size: 12px; color: var(--zh-taupe); display: flex; flex-direction: column; gap: 4px; }
.product_meta a { color: var(--zh-primary); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Notices: replica / VIP / made-to-order / assurance ---------- */
.zh-notices { display: flex; flex-direction: column; gap: 14px; }
.zh-notices:empty { display: none; }
.zh-notice { display: flex; gap: 14px; align-items: flex-start; border-radius: 20px; padding: 16px 18px; font-size: 14px; line-height: 2; }
.zh-notice p { margin: 0; }
.zh-notice__icon { flex-shrink: 0; display: flex; }
.zh-notice__title { display: block; font-size: 16px; font-weight: 900; line-height: 1.7; margin-bottom: 4px; }
.zh-notice--replica { background: #fef3f2; border: 2px solid #f04438; color: #7a271a; }
.zh-notice--replica .zh-notice__title { font-size: 19px; color: var(--zh-red); }
.zh-notice--replica .zh-notice__icon { color: var(--zh-red); }
.zh-notice--vip { background: #fffaeb; border: 2px solid #fdb022; color: #4e3200; }
.zh-notice--vip .zh-notice__title { color: #93370d; }
.zh-notice--vip .zh-notice__icon { color: #dc6803; }
.zh-notice__text p + p { margin-top: 8px; }
.zh-notice .zh-tel { font-weight: 900; font-size: 17px; color: #93370d; letter-spacing: .04em; }
.zh-btn--vip { margin-top: 10px; background: #93370d; color: #fff; border-radius: 14px; padding: 10px 18px; }
.zh-btn--vip:hover { background: var(--zh-primary); color: #fff; }

.zh-custom { border: 1px solid color-mix(in srgb, var(--zh-accent) 45%, transparent); border-radius: 22px; background: #fff; overflow: hidden; }
.zh-custom__head { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: linear-gradient(90deg, #f6ede3, #fff); font-size: 14px; line-height: 2; }
.zh-custom__head p { margin: 0; color: color-mix(in srgb, var(--zh-ink) 80%, transparent); }
.zh-custom__head .zh-notice__title { color: var(--zh-primary); }
.zh-custom__days {
	flex-shrink: 0; width: 64px; height: 64px; border-radius: 18px; background: var(--zh-primary); color: var(--zh-cream);
	display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
}
.zh-custom__days b { font-size: 26px; font-weight: 900; }
.zh-custom__days small { font-size: 11px; margin-top: 4px; color: var(--zh-tan); }
.zh-custom__steps { list-style: none; margin: 0; padding: 14px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; counter-reset: s; border-top: 1px solid var(--zh-sand); }
@media (min-width: 640px) { .zh-custom__steps { grid-template-columns: repeat(4, 1fr); } }
.zh-custom__steps li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; font-size: 12px; line-height: 1.7; font-weight: 700; color: var(--zh-primary); position: relative; }
.zh-custom__steps li span { width: 30px; height: 30px; border-radius: 99px; display: flex; align-items: center; justify-content: center; background: var(--zh-beige); color: var(--zh-accent); font-weight: 900; }
@media (min-width: 640px) {
	.zh-custom__steps li:not(:last-child)::after { content: ""; position: absolute; top: 15px; inset-inline-start: calc(50% + 20px); width: calc(100% - 30px); border-top: 2px dashed var(--zh-sand); }
}
.zh-custom__eta { display: flex; align-items: center; gap: 10px; margin: 0 18px 14px; padding: 10px 14px; border-radius: 14px; background: color-mix(in srgb, var(--zh-sand) 70%, transparent); font-size: 13px; color: var(--zh-primary); }
.zh-custom__why { border-top: 1px solid var(--zh-sand); padding: 14px 18px 16px; font-size: 13px; }
.zh-custom__why strong { color: var(--zh-primary); }
.zh-custom__why ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
@media (min-width: 640px) { .zh-custom__why ul { grid-template-columns: 1fr 1fr; } }
.zh-custom__why li { display: flex; gap: 6px; align-items: flex-start; line-height: 1.8; color: color-mix(in srgb, var(--zh-ink) 80%, transparent); }
.zh-custom__why li svg { color: var(--zh-accent); margin-top: 4px; }

.zh-assure { display: grid; gap: 10px; }
@media (min-width: 640px) { .zh-assure { grid-template-columns: 1fr 1fr; } .zh-assure__item:only-child { grid-column: span 2; } }
.zh-assure__item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: var(--zh-panel); border: 1px solid var(--zh-sand); }
.zh-assure__item strong { display: block; font-size: 14px; color: var(--zh-primary); }
.zh-assure__item small { display: block; font-size: 12px; line-height: 1.8; color: var(--zh-taupe); }
.zh-assure__item--original svg { color: var(--zh-green); }
.zh-assure__item--tested svg { color: var(--zh-primary); }

/* «تضمین سلامت فیزیکی» badge + click tooltip */
.zh-health { position: relative; display: inline-block; align-self: flex-start; }
.zh-health__badge {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; cursor: pointer;
	border: 1px solid color-mix(in srgb, var(--zh-green) 35%, transparent); background: #eef6ef; color: var(--zh-green);
	font-size: 14px; font-weight: 700; line-height: 1.5; transition: background .2s, box-shadow .2s;
}
.zh-health__badge:hover, .zh-health.is-open .zh-health__badge { background: #e2f0e4; box-shadow: 0 4px 12px -6px rgba(47, 107, 58, .5); }
.zh-health__i { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 99px; background: var(--zh-green); color: #fff; font-size: 11px; }
.zh-health__tip {
	position: absolute; z-index: 20; top: calc(100% + 10px); inset-inline-start: 0; width: max-content; max-width: min(300px, 80vw);
	padding: 10px 14px; border-radius: 14px; background: var(--zh-primary-dark); color: var(--zh-cream);
	font-size: 13px; font-weight: 500; line-height: 1.9; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .35);
	opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .2s, transform .2s, visibility .2s;
}
.zh-health__tip::before { content: ""; position: absolute; top: -6px; inset-inline-start: 22px; border: 6px solid transparent; border-top: 0; border-bottom-color: var(--zh-primary-dark); }
.zh-health.is-open .zh-health__tip { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) { .zh-health:hover .zh-health__tip { opacity: 1; visibility: visible; transform: none; } }
.zh-flag--health { background: rgba(255, 255, 255, .9); color: var(--zh-green); border: 1px solid color-mix(in srgb, var(--zh-green) 30%, transparent); }

.zh-acks { display: flex; flex-direction: column; gap: 8px; }
.zh-ack { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: 14px; border: 1.5px dashed color-mix(in srgb, var(--zh-accent) 60%, transparent); background: #fffaf5; font-size: 13px; line-height: 1.9; cursor: pointer; }
.zh-ack input { width: 18px; height: 18px; margin-top: 4px; accent-color: var(--zh-primary); flex-shrink: 0; }
.zh-ack--replica { border-color: #f04438; background: #fef3f2; color: #7a271a; font-weight: 700; }

/* Warranty message under every product */
.zh-warranty {
	position: relative; overflow: hidden; display: flex; gap: 20px; align-items: center; margin-top: 24px;
	border-radius: var(--zh-radius); background: var(--zh-primary); color: color-mix(in srgb, var(--zh-cream) 88%, transparent); padding: 24px;
}
@media (min-width: 768px) { .zh-warranty { padding: 32px 40px; margin-top: 32px; } }
.zh-warranty__mark { display: none; flex-shrink: 0; width: 110px; opacity: .9; }
@media (min-width: 768px) { .zh-warranty__mark { display: block; } }
.zh-warranty__mark svg, .zh-warranty__mark img { width: 100%; height: auto; display: block; }
.zh-warranty__body { position: relative; font-size: 14px; line-height: 2.1; }
@media (min-width: 768px) { .zh-warranty__body { font-size: 15px; } }
.zh-warranty__body p { margin: 0 0 8px; }
.zh-warranty__title { display: flex; align-items: center; gap: 8px; font-size: 18px; color: var(--zh-cream); margin-bottom: 8px; }
.zh-warranty__title svg { color: var(--zh-tan); }
.zh-warranty__sign { margin: 8px 0 0 !important; font-weight: 900; font-size: 16px; color: var(--zh-tan); }

/* Trust strip */
.zh-trust { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; margin-top: 32px; border-radius: var(--zh-radius); border: 1px solid var(--zh-sand); background: var(--zh-panel); }
@media (min-width: 768px) { .zh-trust { grid-template-columns: repeat(4, 1fr); margin-top: 48px; } }
.zh-trust__item { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 12px; text-align: center; border-color: var(--zh-sand); border-style: solid; border-width: 0; }
.zh-trust__item:nth-child(odd) { border-inline-end-width: 1px; }
.zh-trust__item:nth-child(-n+2) { border-bottom-width: 1px; }
@media (min-width: 768px) {
	.zh-trust__item { padding: 28px 12px; border-bottom-width: 0 !important; }
	.zh-trust__item:not(:last-child) { border-inline-end-width: 1px; }
}
.zh-trust--3 .zh-trust__item:last-child { grid-column: span 2; border-inline-end-width: 0; }
@media (min-width: 768px) { .zh-trust--3 { grid-template-columns: repeat(3, 1fr); } .zh-trust--3 .zh-trust__item:last-child { grid-column: auto; } }
.zh-trust__item svg { color: var(--zh-primary); margin-bottom: 4px; stroke-width: 1.5; }
.zh-trust__item strong { font-size: 14px; color: var(--zh-primary); }
.zh-trust__item small { font-size: 11px; color: var(--zh-taupe); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 24px; overflow: hidden; border-radius: var(--zh-radius); border: 1px solid var(--zh-sand); background: #fff; }
@media (min-width: 768px) { .woocommerce div.product .woocommerce-tabs { margin-top: 32px; } }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; margin: 0; padding: 0 8px; border-bottom: 1px solid var(--zh-sand); scrollbar-width: none; }
@media (min-width: 768px) { .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 24px; } }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 1 0 auto; margin: 0; padding: 0; border: 0; background: none; border-radius: 0; position: relative; }
@media (min-width: 768px) { .woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; } }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 16px; font-size: 14px; font-weight: 400; color: var(--zh-taupe); text-align: center; white-space: nowrap; }
@media (min-width: 768px) { .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 16px 32px; } }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { font-weight: 700; color: var(--zh-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after { content: "" !important; display: block !important; position: absolute; inset-inline: 12px; bottom: 0; height: 3px; border-radius: 3px; background: var(--zh-primary); box-shadow: none; border: 0; width: auto; left: 12px; right: 12px; }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 20px; font-size: 14px; line-height: 2.2; color: color-mix(in srgb, var(--zh-ink) 80%, transparent); }
@media (min-width: 768px) { .woocommerce div.product .woocommerce-tabs .panel { padding: 32px; font-size: 15px; } }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 18px; }
.woocommerce table.shop_attributes { border: 1px solid var(--zh-sand); border-radius: 16px; overflow: hidden; border-collapse: separate; max-width: 768px; margin-inline: auto; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0; padding: 12px 16px; font-style: normal; }
.woocommerce table.shop_attributes th { width: 200px; color: var(--zh-taupe); font-weight: 400; border-inline-end: 1px solid var(--zh-sand); }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }
.woocommerce table.shop_attributes tr:nth-child(odd) th, .woocommerce table.shop_attributes tr:nth-child(odd) td { background: color-mix(in srgb, var(--zh-cream) 70%, transparent); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--zh-sand); border-radius: 16px; }
.woocommerce #review_form #respond textarea, .woocommerce #review_form #respond input[type="text"], .woocommerce #review_form #respond input[type="email"] { border: 1px solid var(--zh-sand); border-radius: 12px; padding: 10px 14px; width: 100%; }

/* Related / upsells */
.woocommerce div.product .related, .woocommerce div.product .upsells { margin-top: 40px; }
@media (min-width: 768px) { .woocommerce div.product .related, .woocommerce div.product .upsells { margin-top: 56px; } }
.related > h2, .upsells > h2 { font-size: 18px; margin-bottom: 16px; }
.related > h2::after, .upsells > h2::after { content: ""; display: block; width: 32px; height: 3px; margin-top: 8px; border-radius: 3px; background: var(--zh-accent); }
@media (min-width: 768px) { .related > h2, .upsells > h2 { font-size: 24px; margin-bottom: 24px; } }

/* Sticky buy bar (mobile) */
.zh-sticky-buy {
	position: fixed; inset-inline: 0; bottom: var(--zh-bottomnav-h, calc(62px + env(safe-area-inset-bottom))); z-index: 39; display: flex; align-items: center; gap: 10px;
	border-top: 1px solid var(--zh-sand); background: color-mix(in srgb, var(--zh-cream) 96%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 -8px 20px -14px rgba(46, 12, 19, .35);
	padding: 8px 16px; min-height: 64px; transform: translateY(calc(100% + 120px)); transition: transform .3s;
}
.zh-sticky-buy__img { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: var(--zh-photo); object-fit: contain; mix-blend-mode: multiply; padding: 2px; }
/* Reserve room at the end of the page so the bar never covers footer content. */
@media (max-width: 767px) {
	body.zh-has-sticky-buy { padding-bottom: calc(var(--zh-bottomnav-h, calc(62px + env(safe-area-inset-bottom))) + 88px); }
	body.zh-has-sticky-buy:not(.zh-has-bottom-nav) { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
	body.zh-has-sticky-buy .zh-toast { bottom: calc(var(--zh-bottomnav-h, 62px) + 84px); }
}
body:not(.zh-has-bottom-nav) .zh-sticky-buy { bottom: 0; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
.zh-sticky-buy.is-visible { transform: none; }
.zh-sticky-buy__price { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 15px; font-weight: 900; color: var(--zh-primary); line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zh-sticky-buy__price .price, .zh-sticky-buy__price > p { display: flex; flex-direction: column; margin: 0; line-height: 1.35; }
.zh-sticky-buy__price del { order: -1; font-size: 11px; }
.zh-sticky-buy__price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 700; }
.zh-sticky-buy__price del { font-size: 11px; font-weight: 400; color: var(--zh-taupe); }
.zh-sticky-buy__price ins { text-decoration: none; }
.zh-sticky-buy .zh-btn { flex-shrink: 0; white-space: nowrap; border-radius: 14px; padding: 11px 16px; font-size: 14px; }
@media (min-width: 768px) { .zh-sticky-buy { display: none; } }

/* ---------- Cart / checkout / account ---------- */
.zh-page--woo { max-width: 1152px; }
.zh-cart-notice { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 20px; border-radius: 18px; padding: 14px 18px; background: #fff7ed; border: 1px solid color-mix(in srgb, var(--zh-accent) 40%, transparent); color: var(--zh-primary); font-size: 14px; line-height: 2; }
.zh-cart-notice svg { color: var(--zh-accent); margin-top: 4px; }
.zh-cart-notice p { margin: 0; }
.zh-shipbar { margin-bottom: 16px; border-radius: 16px; background: color-mix(in srgb, var(--zh-sand) 70%, transparent); padding: 14px 16px; font-size: 14px; color: var(--zh-primary); }
.zh-shipbar__track { display: block; height: 6px; margin-top: 8px; border-radius: 99px; background: #fff; overflow: hidden; }
.zh-shipbar__track span { display: block; height: 100%; border-radius: 99px; background: var(--zh-accent); }
.woocommerce table.shop_table { border: 1px solid var(--zh-sand); border-radius: 20px; background: #fff; border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { color: var(--zh-primary); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--zh-sand); }
.woocommerce-cart table.cart img { width: 72px; border-radius: 12px; background: var(--zh-photo); mix-blend-mode: multiply; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, #customer_details, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
	border-radius: var(--zh-radius);
}
.woocommerce .cart-collaterals .cart_totals { background: #fff; border: 1px solid var(--zh-sand); padding: 20px; }
.woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--zh-sand); border-radius: var(--zh-radius); padding: 20px; }
.woocommerce dl.variation, .wc-item-meta { font-size: 12px; color: var(--zh-taupe); }
.woocommerce dl.variation dt, .wc-item-meta strong { font-weight: 700; color: var(--zh-primary); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 12px; background: #fff; border: 1px solid var(--zh-sand); border-radius: var(--zh-radius); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 12px; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--zh-cream); color: var(--zh-primary); font-weight: 700; }
mark.order-status, .woocommerce .order-status { background: var(--zh-sand); color: var(--zh-primary); border-radius: 99px; padding: 2px 10px; }

/* ---------- Order notes: tall enough to show the whole helper text ---------- */
.woocommerce-checkout #order_comments, .wc-block-checkout__order-notes textarea, .wc-block-components-textarea {
	min-height: 120px; line-height: 1.9;
}
.woocommerce-checkout #order_comments::placeholder, .wc-block-checkout__order-notes textarea::placeholder { color: var(--zh-taupe); opacity: 1; }

/* ---------- «درباره برند» tab ---------- */
.zh-brandbox { --zh-brand: var(--zh-primary); display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
@media (min-width: 768px) { .zh-brandbox { flex-direction: row; gap: 32px; } }
.zh-brandbox__logo {
	flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 140px; height: 140px; padding: 14px;
	border-radius: 24px; background: #fff; border: 2px solid color-mix(in srgb, var(--zh-brand) 35%, var(--zh-sand));
}
.zh-brandbox__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.zh-brandbox__body { flex: 1; min-width: 0; }
.zh-brandbox__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0 0 12px; font-size: 18px; font-weight: 900; color: var(--zh-primary); }
.zh-brandbox__latin { font-size: 22px; letter-spacing: .03em; color: var(--zh-brand); }
.zh-brandbox__desc { font-size: 14px; line-height: 2.1; color: var(--zh-ink); }
.zh-brandbox__desc p { margin: 0 0 10px; }
.zh-brandbox__more { margin-top: 8px; gap: 6px; }
.zh-brandbox__more small { font-size: 11px; opacity: .8; }

/* Card badges beyond the first 3: icon only (name shows on hover / to screen readers). */
.zh-card__flags .zh-flag--icon { justify-content: center; width: 24px; height: 24px; padding: 0 !important; flex-shrink: 0; }
.zh-card__flags .zh-flag--icon .zh-icon { width: 13px; height: 13px; }

/* ---------- Approximate parcel weight next to the shipping methods ---------- */
.zh-weight-row td { line-height: 1.8; }
.zh-weight-row__value { color: var(--zh-primary); font-weight: 900; }
.zh-weight-row__guide, .zh-weight-note__guide { display: block; margin-top: 4px; font-size: 12px; line-height: 1.9; color: var(--zh-taupe); font-weight: 400; }
.zh-weight-note {
	margin-top: 12px; padding: 10px 14px; border-radius: 12px; background: var(--zh-cream); border: 1px dashed var(--zh-sand);
	font-size: 13px; line-height: 1.8; color: var(--zh-ink);
}
.zh-weight-note strong { color: var(--zh-primary); font-weight: 900; }

/* ---------- Cart / checkout: no product short description under the item name ---------- */
.wc-block-cart-items .wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.woocommerce-cart table.cart .product-name .woocommerce-product-details__short-description,
.woocommerce-checkout-review-order .woocommerce-product-details__short-description { display: none !important; }

/* ---------- «پس‌کرایه» shipping methods ---------- */
.zh-ship-note { display: block; margin-top: 2px; font-size: 12px; line-height: 1.8; font-weight: 400; color: var(--zh-taupe); }
/* Block checkout: zero cost would read «رایگان» — hide it for our «پس‌کرایه» rates (the fixed-price «zh_postpaid:» rate keeps its price)… */
.wc-block-components-radio-control__option:has(input[value^="zh_tapsi:"], input[value^="zh_post:"], input[value^="zh_tipax:"]) .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option[for*="-zh_tapsi:"] .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option[for*="-zh_post:"] .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option[for*="-zh_tipax:"] .wc-block-components-radio-control__secondary-label { display: none; }
.wc-block-components-radio-control__option:has(input[value^="zh_"]) .wc-block-components-radio-control__description { font-size: 12px; color: var(--zh-taupe); }
/* …and the shipping total says «پس‌کرایه» while one of them is selected. */
body.zh-ship-paskerayeh .wc-block-components-totals-shipping .wc-block-components-totals-item__value { font-size: 0 !important; }
body.zh-ship-paskerayeh .wc-block-components-totals-shipping .wc-block-components-totals-item__value > * { display: none; }
body.zh-ship-paskerayeh .wc-block-components-totals-shipping .wc-block-components-totals-item__value::after { content: "پس‌کرایه"; font-size: .875rem; font-weight: 700; color: var(--zh-primary); }
