/*
Theme Name: WorldCat
Theme URI: https://worldcat.ir/
Author: WorldCat
Description: قالب اختصاصی، سبک و Mobile-First فروشگاه کتاب دیجیتال worldcat.ir — بدون صفحه‌ساز، RTL با پشتیبانی متن مخلوط انگلیسی، PWA-Ready، بهینه برای Core Web Vitals.
Version: 1.5.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: worldcat
Tags: rtl-language-support, e-commerce, custom-menu, custom-logo
*/

/* =========================================================================
   ۱) فونت — وزیرمتن لوکال، فقط دو وزن
   ====================================================================== */
@font-face {
	font-family: 'Vazirmatn';
	src: url('assets/fonts/Vazirmatn-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Vazirmatn';
	src: url('assets/fonts/Vazirmatn-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* =========================================================================
   ۲) متغیرها و ری‌ست
   ====================================================================== */
:root {
	--c-primary: #45577e;
	--c-primary-dark: #34415f;
	--c-accent: #d97706;
	--c-text: #1f2937;
	--c-text-2: #6b7280;
	--c-bg: #ffffff;
	--c-surface: #f4f5f7;
	--c-border: #e5e7eb;
	--c-danger: #dc2626;
	--font-fa: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
	--font-en: -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--radius: 12px;
	--radius-s: 8px;
	--shadow: 0 1px 3px rgba(0, 0, 0, .08);
	--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);
	--bottom-nav-h: 60px;
	--container: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }

/* صفت hidden همیشه باید برنده شود (حتی روی عناصری که display دارند) */
[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* هیچ عنصری نباید باعث اسکرول افقی صفحه شود */
html, body { overflow-x: clip; max-width: 100vw; }

body {
	margin: 0;
	font-family: var(--font-fa);
	font-size: 15px;
	line-height: 1.8;
	color: var(--c-text);
	background: var(--c-bg);
	/* جا برای منوی پایین موبایل + ناحیه امن آیفون */
	padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; }
a:hover { color: var(--c-primary-dark); }
ul { padding: 0; margin: 0; list-style: none; }
h1, h2, h3, h4 { line-height: 1.5; margin: 0 0 .5em; }
h1 { font-size: 1.4rem; }
h2 { font-size: 1.15rem; }
h3 { font-size: 1rem; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 1rem; }

/* متن لاتین داخل صفحه RTL: ایزوله و با فونت لاتین */
.is-latin, [dir="ltr"] {
	font-family: var(--font-en);
	unicode-bidi: isolate;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	inset-inline-start: -999px;
	top: 0;
	background: var(--c-primary);
	color: #fff;
	padding: 8px 16px;
	z-index: 100;
}
.skip-link:focus { inset-inline-start: 0; color: #fff; }

.container {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: 16px;
}

.btn,
.button,
button[type="submit"].single_add_to_cart_button {
	display: inline-block;
	background: var(--c-primary);
	color: #fff;
	border: 0;
	border-radius: var(--radius-s);
	padding: 12px 24px;
	font-weight: 700;
	font-size: 1rem;
	transition: background .15s;
}
.btn:hover, .button:hover { background: var(--c-primary-dark); color: #fff; }

/* =========================================================================
   ۳) هدر
   ====================================================================== */
.site-header {
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-border);
	position: sticky;
	top: 0;
	z-index: 50;
}
.header-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
}
.site-brand { flex-shrink: 0; }
.site-title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--c-primary);
}
.custom-logo { max-height: 44px; width: auto; }

.menu-toggle {
	background: none;
	border: 0;
	padding: 8px;
	color: var(--c-text);
	display: inline-flex;
}

.header-search { flex: 1; display: none; }

.search-form {
	display: flex;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: 24px;
	overflow: hidden;
}
.search-form input[type="search"] {
	flex: 1;
	border: 0;
	background: none;
	padding: 10px 16px;
	outline: none;
	min-width: 0;
}
.search-form button {
	border: 0;
	background: none;
	padding: 0 14px;
	color: var(--c-text-2);
	display: inline-flex;
	align-items: center;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-inline-start: auto;
}
.header-icon {
	position: relative;
	display: inline-flex;
	padding: 8px;
	color: var(--c-text);
}
.cart-count {
	position: absolute;
	top: 0;
	inset-inline-end: 0;
	background: var(--c-accent);
	color: #fff;
	font-size: .65rem;
	line-height: 1;
	min-width: 16px;
	height: 16px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 3px;
}
.cart-count[data-count="0"] { display: none; }

/* منوی اصلی دسکتاپ */
.primary-nav { display: none; }

/* =========================================================================
   ۴) منوی موبایل (کشویی)
   ====================================================================== */
.mobile-menu { position: fixed; inset: 0; z-index: 90; }
.mobile-menu__overlay {
	position: absolute; inset: 0;
	background: rgba(0, 0, 0, .45);
}
.mobile-menu__panel {
	position: absolute;
	top: 0; bottom: 0;
	inset-inline-start: 0;
	width: min(320px, 85vw);
	background: var(--c-bg);
	z-index: 1;
	overflow-y: auto;
	padding: 16px;
	box-shadow: var(--shadow-lg);
	animation: slide-in .2s ease-out;
}
@keyframes slide-in {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}
.menu-close {
	background: none; border: 0;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--c-text-2);
	margin-bottom: 8px;
}
.mobile-menu__list a {
	display: block;
	padding: 10px 4px;
	border-bottom: 1px solid var(--c-border);
	color: var(--c-text);
	font-weight: 700;
}
.mobile-menu__list .sub-menu { display: none; padding-inline-start: 16px; }
.mobile-menu__list .sub-menu a { font-weight: 400; }
.mobile-menu__list .is-open > .sub-menu { display: block; }
body.menu-open { overflow: hidden; }

/* =========================================================================
   ۵) منوی پایین ثابت (اپ‌مانند)
   ====================================================================== */
.bottom-nav {
	position: fixed;
	bottom: 0;
	inset-inline: 0;
	z-index: 60;
	display: flex;
	background: var(--c-bg);
	border-top: 1px solid var(--c-border);
	height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));
	padding-bottom: env(safe-area-inset-bottom);
}
.bottom-nav > a,
.bottom-nav > button {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	font-size: .68rem;
	color: var(--c-text-2);
	background: none;
	border: 0;
}
.bottom-nav > .is-active { color: var(--c-primary); }
.bottom-cart { position: relative; display: inline-flex; }

.search-sheet {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: rgba(0, 0, 0, .45);
	display: flex;
	align-items: flex-end;
}
.search-sheet__panel {
	background: var(--c-bg);
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	padding: 16px 16px calc(20px + var(--bottom-nav-h));
	border-radius: 16px 16px 0 0;
	animation: sheet-up .2s ease-out;
}
.search-sheet__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	font-weight: 700;
}
.search-sheet__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: var(--c-surface);
	color: var(--c-text);
}
/* وقتی شیت باز است، پس‌زمینه اسکرول نکند */
body.sheet-open, body.menu-open { overflow: hidden; }
@keyframes sheet-up {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}

/* =========================================================================
   ۶) هیرو و بخش‌های صفحه اصلی
   ====================================================================== */
.hero {
	background: linear-gradient(160deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
	color: #fff;
	padding: 32px 0 40px;
	text-align: center;
}
.hero__title { font-size: 1.35rem; color: #fff; }
.hero__subtitle { opacity: .9; margin: 0 auto 20px; max-width: 560px; }
.hero__search { max-width: 560px; margin-inline: auto; }
.hero .search-form { border: 0; background: #fff; box-shadow: var(--shadow-lg); }

.section-title { margin: 24px 0 12px; }
.section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 24px 0 12px;
}
.section-head h2 { margin: 0; }
.more-link { font-size: .85rem; font-weight: 700; }

.product-row { max-width: var(--container); margin-inline: auto; padding-inline: 16px; }

/* اسکرولر افقی با scroll-snap — بدون JS */
.scroller {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	/* بدون این، کروم موبایل عرض max-content ردیف را مبنای layout viewport می‌کند و کل صفحه جابه‌جا می‌شود */
	contain: layout;
	scroll-snap-type: x proximity;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.scroller > li { flex: 0 0 auto; scroll-snap-align: start; }
.scroller > li { width: 140px; }
.scroller--chips > li { width: auto; }

.chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: 20px;
	padding: 6px 14px;
	font-size: .85rem;
	color: var(--c-text);
	white-space: nowrap;
}
.chip:has(.chip__avatar, .chip__avatar-fallback) { padding-inline-start: 6px; }
.chip:hover { border-color: var(--c-primary); color: var(--c-primary); }
.chip__avatar {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--c-border);
	flex: 0 0 auto;
}
.chip__avatar-fallback {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--c-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: .75rem;
	flex: 0 0 auto;
}

.cat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.cat-card {
	display: flex;
	flex-direction: column;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
	color: var(--c-text);
	transition: border-color .15s, box-shadow .15s;
}
.cat-card:hover { border-color: var(--c-primary); box-shadow: var(--shadow); }
.cat-card__img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	background: var(--c-border);
}
.cat-card__body { display: block; padding: 14px; }
.cat-card__name { display: block; font-weight: 700; }
.cat-card__count { font-size: .78rem; color: var(--c-text-2); }

/* =========================================================================
   ۷) کارت کتاب و گرید
   ====================================================================== */
.book-card { height: 100%; }
.book-card__link { display: block; color: var(--c-text); height: 100%; }
.book-card__cover {
	position: relative;
	aspect-ratio: 2 / 3;
	background: var(--c-surface);
	border-radius: var(--radius-s);
	overflow: hidden;
	box-shadow: var(--shadow);
	margin-bottom: 8px;
}
.book-card__cover img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .2s;
}
.book-card__link:hover .book-card__cover img { transform: scale(1.04); }
.book-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 2.5rem;
}
.badge-sale {
	position: absolute;
	top: 8px;
	inset-inline-start: 8px;
	background: var(--c-danger);
	color: #fff;
	font-size: .68rem;
	font-weight: 700;
	border-radius: 6px;
	padding: 2px 8px;
}
.book-card__title {
	font-size: .85rem;
	font-weight: 700;
	margin: 0 0 2px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.book-card__author {
	font-size: .75rem;
	color: var(--c-text-2);
	margin: 0 0 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.book-card__price { font-size: .85rem; font-weight: 700; color: var(--c-primary); margin: 0; }
.book-card__price del { color: var(--c-text-2); font-weight: 400; margin-inline-end: 6px; }
.book-card__price ins { text-decoration: none; }

.book-grid,
ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px 12px;
	margin: 16px 0;
}
ul.products li.product { list-style: none; }

/* =========================================================================
   ۸) آرشیو، breadcrumb و صفحه‌بندی
   ====================================================================== */
.breadcrumb {
	font-size: .78rem;
	color: var(--c-text-2);
	padding: 12px 0 4px;
	overflow-x: auto;
	white-space: nowrap;
}
.breadcrumb a { color: var(--c-text-2); }
.breadcrumb a:hover { color: var(--c-primary); }
.breadcrumb .sep { margin-inline: 6px; }

.archive-head { margin: 8px 0 4px; }
.archive-head__img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin-bottom: 10px; background: var(--c-surface); }
.archive-title { font-size: 1.25rem; }
.archive-label { color: var(--c-text-2); font-weight: 400; }
.archive-desc { color: var(--c-text-2); font-size: .9rem; }

.pagination-nav { margin: 24px 0; }
.pagination-nav .nav-links,
.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	border: 0;
}
.pagination-nav .page-numbers,
.woocommerce-pagination .page-numbers li .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding-inline: 10px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	color: var(--c-text);
	background: var(--c-bg);
}
.pagination-nav .page-numbers.current,
.woocommerce-pagination .page-numbers li .page-numbers.current {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
}

.no-results { padding: 32px 0; color: var(--c-text-2); }

/* =========================================================================
   ۹) صفحه محصول (تک‌کتاب)
   ====================================================================== */
.single-product div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	margin-top: 12px;
}
.single-product div.product > * { min-width: 0; }
.single-product div.product .woocommerce-product-gallery {
	max-width: 260px;
	margin-inline: auto;
	width: 100%;
}
.single-product div.product .woocommerce-product-gallery img {
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	margin-inline: auto;
}
/* برچسب حراج — روی جلد کتاب */
span.onsale {
	position: absolute;
	z-index: 5;
	top: 10px;
	inset-inline-start: 10px;
	background: var(--c-danger);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	border-radius: 8px;
	padding: 4px 12px;
}
.book-card span.onsale { top: 8px; inset-inline-start: 8px; }
/* خلاصه محصول به‌صورت کارت */
.single-product div.product .summary {
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 18px;
	box-shadow: var(--shadow);
}
.single-product div.product .summary > h1.product_title {
	font-size: 1.25rem;
	text-align: start;
	overflow-wrap: break-word;
}
.single-product div.product .price {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--c-primary);
	display: block;
	margin: 10px 0;
}
.single-product div.product .price del { color: var(--c-text-2); font-weight: 400; font-size: .9rem; }
.single-product div.product .price ins { text-decoration: none; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--c-text-2); font-size: .92rem; }

.book-meta {
	margin: 16px 0;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 4px 14px;
	font-size: .88rem;
}
.book-meta__row {
	display: flex;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--c-border);
}
.book-meta__row:last-child { border-bottom: 0; }
.book-meta dt { color: var(--c-text-2); min-width: 90px; margin: 0; }
.book-meta dd { margin: 0; font-weight: 700; }
.book-meta__avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; vertical-align: middle; margin-inline-end: 6px; }

/* فرم واریِیشن (انتخاب نسخه PDF) */
table.variations { width: 100%; border-collapse: collapse; }
table.variations td { padding: 6px 0; }
table.variations select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.reset_variations { font-size: .78rem; color: var(--c-text-2); }
form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 16px 0;
}
form.cart .quantity input.qty {
	width: 70px;
	padding: 10px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	text-align: center;
}
form.cart.variations_form { display: block; }
.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
button.single_add_to_cart_button {
	flex: 1;
	width: 100%;
	padding: 14px 24px;
	font-size: 1.05rem;
	border-radius: 10px;
}
.woocommerce-variation-price .price { margin: 6px 0; }
.single-product .stock.in-stock { color: var(--c-primary); font-size: .85rem; }

/* تب‌های ووکامرس → به‌صورت بخش‌های ساده پشت‌سرهم */
.woocommerce-tabs ul.tabs { display: none; }
.woocommerce-tabs .panel {
	display: block !important;
	margin: 24px 0;
}
.woocommerce-tabs .panel h2 { border-inline-start: 4px solid var(--c-primary); padding-inline-start: 10px; }

.related.products > h2,
.upsells.products > h2 {
	margin-top: 32px;
	border-inline-start: 4px solid var(--c-primary);
	padding-inline-start: 10px;
}

/* پیام‌های ووکامرس */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-inline-start: 4px solid var(--c-primary);
	border-radius: var(--radius-s);
	padding: 12px 16px;
	margin: 12px 0;
}
.woocommerce-error { border-inline-start-color: var(--c-danger); }
.woocommerce-message .button, .woocommerce-info .button { float: left; }
/* آیکون فونت پیش‌فرض ووکامرس (که فونتش لود نمی‌شود و به‌صورت باکس خالی روی متن
   می‌افتد، چون این باکس‌ها کاملاً با طراحی خودمان استایل شده‌اند) حذف می‌شود. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { content: none !important; }

/* =========================================================================
   ۱۰) مقالات و محتوا
   ====================================================================== */
.article-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 16px 0;
}
.article-card {
	display: block;
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
	color: var(--c-text);
	transition: box-shadow .15s;
}
.article-card:hover { box-shadow: var(--shadow-lg); }
.article-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.article-card h2, .article-card h3 { font-size: .95rem; margin: 10px 12px 4px; }
.article-card p { font-size: .82rem; color: var(--c-text-2); margin: 0 12px 12px; }

.entry { max-width: 760px; margin-inline: auto; }
.entry-title { margin-top: 8px; }
.entry-meta { color: var(--c-text-2); font-size: .82rem; }
.entry-thumb { margin: 0 0 16px; }
.entry-thumb img { border-radius: var(--radius); }
.entry-content { font-size: 1rem; }
.entry-content img { border-radius: var(--radius-s); margin-inline: auto; }
.entry-content h2 { border-inline-start: 4px solid var(--c-primary); padding-inline-start: 10px; margin-top: 1.6em; }
.entry-content blockquote {
	border-inline-start: 4px solid var(--c-border);
	margin-inline: 0;
	padding-inline-start: 16px;
	color: var(--c-text-2);
}
.entry-tags { margin: 20px 0; }

.error-404 { text-align: center; padding: 48px 0; }

/* =========================================================================
   ۱۱) فوتر
   ====================================================================== */
.site-footer {
	background: #111827;
	color: #d1d5db;
	margin-top: 40px;
	padding: 40px 0 16px;
}
.footer-grid { display: grid; gap: 28px; }
.footer-title { color: #fff; font-size: 1.15rem; margin-bottom: 10px; }
.footer-about p { font-size: .88rem; line-height: 1.9; color: #9ca3af; margin: 0 0 14px; }
.footer-col-title {
	color: #fff;
	font-size: .92rem;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #1f2937;
}
.footer-menu a, .footer-social a {
	color: #d1d5db;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	font-size: .88rem;
	transition: color .15s, padding-inline-start .15s;
}
.footer-menu a:hover, .footer-social a:hover { color: #fff; padding-inline-start: 4px; }
.footer-social__icon { display: inline-flex; font-size: 1rem; }
.footer-copy { border-top: 1px solid #1f2937; margin-top: 28px; padding-top: 16px; font-size: .78rem; color: #9ca3af; text-align: center; }

/* =========================================================================
   ۱۲) دسکتاپ
   ====================================================================== */
@media (min-width: 768px) {
	body { font-size: 16px; padding-bottom: 0; }
	.bottom-nav, .search-sheet { display: none; }
	.menu-toggle { display: none; }
	.header-search { display: block; max-width: 480px; }
	.primary-nav { display: block; border-top: 1px solid var(--c-border); }
	.primary-menu {
		display: flex;
		gap: 4px;
		flex-wrap: wrap;
	}
	.primary-menu > li { position: relative; }
	.primary-menu > li > a {
		display: block;
		padding: 10px 14px;
		color: var(--c-text);
		font-weight: 700;
		font-size: .9rem;
	}
	.primary-menu > li > a:hover { color: var(--c-primary); }
	.primary-menu .sub-menu {
		position: absolute;
		top: 100%;
		inset-inline-start: 0;
		min-width: 220px;
		background: var(--c-bg);
		border: 1px solid var(--c-border);
		border-radius: var(--radius-s);
		box-shadow: var(--shadow-lg);
		padding: 6px 0;
		opacity: 0;
		visibility: hidden;
		transition: opacity .15s;
		z-index: 40;
	}
	.primary-menu li:hover > .sub-menu,
	.primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
	.primary-menu .sub-menu a { display: block; padding: 8px 16px; color: var(--c-text); font-size: .88rem; }
	.primary-menu .sub-menu a:hover { background: var(--c-surface); }

	.hero { padding: 56px 0 64px; }
	.hero__title { font-size: 1.8rem; }

	.cat-grid { grid-template-columns: repeat(4, 1fr); }
	.scroller > li { width: 170px; }
	.book-grid, ul.products { grid-template-columns: repeat(4, 1fr); gap: 24px 16px; }
	.article-grid { grid-template-columns: repeat(2, 1fr); }

	/* دسکتاپ: جلد در ستون کنار خلاصه؛ توضیحات و محصولات مرتبط تمام‌عرض
	   (جانمایی صریح تا تب‌ها زیر تصویر چسبان نروند) */
	.single-product div.product { grid-template-columns: 320px minmax(0, 1fr); align-items: start; }
	.single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; margin-inline: 0; }
	.single-product div.product .summary { grid-column: 2; grid-row: 1; padding: 24px; }
	.single-product div.product .woocommerce-tabs,
	.single-product div.product .related.products,
	.single-product div.product .upsells.products,
	.single-product div.product .product_meta,
	.single-product div.product .related-articles,
	.single-product div.product .product-row,
	.single-product div.product .author-strip,
	.single-product div.product .cat-cards,
	.single-product div.product .article-strip { grid-column: 1 / -1; }
	button.single_add_to_cart_button { width: auto; }

	.footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
	h1 { font-size: 1.7rem; }
}

@media (min-width: 1024px) {
	.book-grid, ul.products { grid-template-columns: repeat(5, 1fr); }
	.article-grid { grid-template-columns: repeat(4, 1fr); }
	.cat-grid { grid-template-columns: repeat(6, 1fr); }
}

/* =========================================================================
   ۱۰) مطالب مرتبط — زیر محصول/آرشیو/مقاله (برای ماندگاری کاربر در سایت)
   ====================================================================== */
.related-articles { max-width: var(--container); margin: 32px auto; padding-inline: 16px; }
.related-articles .article-grid { margin-top: 12px; }

/* =========================================================================
   ۱۱) سبد خرید و تسویه‌حساب — ظاهر تمیز هماهنگ با بقیه سایت
   ====================================================================== */
.woocommerce-cart table.cart,
.woocommerce-checkout table.cart {
	width: 100%;
	border-collapse: collapse;
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--c-border);
	vertical-align: middle;
}
.woocommerce-cart table.cart img { border-radius: var(--radius-s); width: 64px; height: 64px; object-fit: cover; }
.woocommerce-cart table.cart tr:last-child td { border-bottom: 0; }
.woocommerce-cart .product-remove a { color: var(--c-danger); font-size: 1.2rem; }
.woocommerce-cart .quantity input { width: 56px; padding: 6px; border: 1px solid var(--c-border); border-radius: var(--radius-s); text-align: center; }
/* عنوان کتاب داخل سبد جمع‌وجور بماند — بدون توضیح/متن اضافه.
   چون سرور گاهی کلاس‌های td را حذف می‌کند، از data-title (که خودِ جاوااسکریپت
   قالب موقع رندر اضافه می‌کند) به‌عنوان تکیه‌گاه اصلی استفاده شده. */
.woocommerce-cart table.cart td.product-name a,
.woocommerce-cart table td[data-title="محصول"] a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-weight: 700;
}
.woocommerce-cart table.cart td.product-name dl.variation,
.woocommerce-cart table.cart td.product-name .wc-item-meta,
.woocommerce-cart table td[data-title="محصول"] dl.variation,
.woocommerce-cart table td[data-title="محصول"] .wc-item-meta { display: none; }
.woocommerce-cart table.cart td::before,
.woocommerce-cart table td[data-title]::before { color: var(--c-text-2); font-weight: 400 !important; }

.woocommerce-cart .coupon,
.woocommerce-checkout .woocommerce-form-coupon {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 16px;
}
.woocommerce-cart .coupon input#coupon_code {
	flex: 1 1 200px;
	padding: 10px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 18px;
	margin-top: 20px;
}
.woocommerce-cart .cart_totals table,
.woocommerce-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 10px 4px;
	border-bottom: 1px solid var(--c-border);
}
.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td,
.woocommerce-checkout table.shop_table tr:last-child th,
.woocommerce-checkout table.shop_table tr:last-child td { border-bottom: 0; font-weight: 700; }

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--c-primary);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	padding: 13px 16px;
	font-weight: 700;
	font-size: .95rem;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover { background: var(--c-primary-dark); color: #fff; }

.woocommerce-checkout form .form-row {
	margin-bottom: 12px;
}
.woocommerce-checkout form .form-row input:not([type="checkbox"]):not([type="radio"]),
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	background: var(--c-bg);
}
/* چک‌باکس‌های «قوانین را می‌پذیرم» و «حساب کاربری بسازید» — با هم روی یک خط،
   نه چک‌باکس بالای متن. */
.woocommerce-checkout form .form-row .woocommerce-form__label-for-checkbox,
.woocommerce-checkout #createaccount_field label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	cursor: pointer;
}
.woocommerce-checkout form .form-row input[type="checkbox"] {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin: 0;
}
.woocommerce-checkout #payment {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	margin-top: 16px;
	padding: 4px 14px;
}
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; }
.woocommerce-checkout #payment .payment_box { background: var(--c-bg); border-radius: var(--radius-s); }

@media (min-width: 768px) {
	.woocommerce-checkout .col2-set,
	.woocommerce-cart .cart-collaterals {
		display: grid;
		gap: 24px;
	}
	.woocommerce-cart .cart-collaterals { grid-template-columns: 1fr 320px; align-items: start; }
}

/* =========================================================================
   ۱۲) v1.3.0 — اسکرولرهای افقی (دسته‌بندی ۴تایی، نویسنده‌ها، مطالب)،
   پیام‌های ووکامرس، حساب کاربری و فرم ورود
   ====================================================================== */

/* سکشن‌های container داخل main.container دوبار پدینگ نگیرند */
.site-main.container .product-row,
.site-main.container .cat-cards,
.site-main.container .author-strip,
.site-main.container .article-strip,
.site-main.container .related-articles { padding-inline: 0; }

.wc-page .page-title,
.page-title { font-size: 1.35rem; margin: 8px 0 16px; }

/* --- دسته‌بندی‌ها: ۴ کارت کنار هم در موبایل، اسکرول افقی --- */
.scroller--cats > li,
.scroller--authors > li {
	width: calc(25% - 9px);
	min-width: 82px;
	max-width: 150px;
}
.scroller--cats .cat-card {
	display: block;
	text-align: center;
	height: 100%;
}
.scroller--cats .cat-card__img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--c-border);
}
.cat-card__img--fallback,
.scroller--cats .cat-card__img.is-broken {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	color: var(--c-text-2);
}
.scroller--cats .cat-card__body { padding: 8px 6px 10px; }
.scroller--cats .cat-card__name {
	font-size: .76rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.3em;
}
.scroller--cats .cat-card__count { font-size: .66rem; }

/* --- نویسنده‌ها: عکس بزرگ بالا، اسم زیر عکس --- */
.author-card {
	display: block;
	text-align: center;
	color: var(--c-text);
}
.author-card__img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	object-fit: cover;
	background: var(--c-border);
	border: 1px solid var(--c-border);
}
span.author-card__img--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.9rem;
}
.author-card__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 7px;
	font-size: .76rem;
	font-weight: 600;
	line-height: 1.5;
}
.author-card:hover .author-card__name { color: var(--c-primary); }
.author-card:hover .author-card__img { border-color: var(--c-primary); }

/* --- مطالب: کارت‌های افقی اسکرول‌شونده --- */
.scroller--articles > li { width: min(62vw, 240px); }
.scroller--articles .article-card { height: 100%; }
.scroller--articles .article-card h3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
}

.chip__count {
	background: var(--c-border);
	border-radius: 10px;
	font-size: .7rem;
	padding: 1px 7px;
	margin-inline-start: 4px;
}
.blog-cats { margin: 4px 0 8px; }

/* --- پیام‌های ووکامرس (اضافه شدن به سبد و…) — کارت تمیز با دکمه مرتب --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-error li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: .9rem;
	box-shadow: var(--shadow);
	overflow-wrap: break-word;
	word-break: break-word;
	max-width: 100%;
}
.woocommerce-message > span,
.woocommerce-info > span,
.woocommerce-error li > span { min-width: 0; flex: 1 1 200px; }
.woocommerce-error { display: block; padding: 0; border-inline-start: 0; background: none; border: 0; box-shadow: none; }
.woocommerce-error li {
	list-style: none;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-inline-start: 4px solid var(--c-danger);
	border-radius: var(--radius-s);
	padding: 12px 16px;
	margin: 12px 0;
}
.woocommerce-message { border-inline-start-color: #16a34a; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	display: inline-block;
	width: auto;
	float: none;
	order: 2;
	padding: 8px 18px;
	font-size: .82rem;
	white-space: nowrap;
}

/* --- سبد خرید: دکمه‌های مرتب --- */
.woocommerce-cart table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}
.woocommerce-cart .coupon { margin-top: 0; flex: 1 1 100%; }
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="apply_coupon"] {
	width: auto;
	flex: 0 0 auto;
	display: inline-block;
	padding: 10px 18px;
	font-size: .85rem;
}
.woocommerce-cart button[name="update_cart"] {
	width: auto;
	display: inline-block;
	background: var(--c-surface);
	color: var(--c-text);
	border: 1px solid var(--c-border);
	padding: 10px 18px;
	font-size: .85rem;
}
.woocommerce-cart button[name="update_cart"]:hover { background: var(--c-border); color: var(--c-text); }
.woocommerce-cart button[name="update_cart"]:disabled { opacity: .5; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 16px; }
/* !important برای غلبه بر استایل بنفش wc-blocks که روی این دکمه سوار می‌شود */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	font-size: 1rem;
	padding: 14px 16px;
	background: var(--c-primary) !important;
	color: #fff !important;
	border-radius: var(--radius) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--c-primary-dark) !important; }
.cart-empty.woocommerce-info { justify-content: center; font-weight: 700; }
.return-to-shop { text-align: center; margin: 16px 0; }
.return-to-shop .button { max-width: 320px; margin-inline: auto; }

/* --- حساب کاربری --- */
.woocommerce-MyAccount-navigation ul {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	contain: layout;
	list-style: none;
	padding: 0 0 8px;
	margin: 0 0 16px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
.woocommerce-MyAccount-navigation li a {
	display: block;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: 20px;
	padding: 7px 16px;
	font-size: .85rem;
	color: var(--c-text);
	white-space: nowrap;
}
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
	font-weight: 700;
}
.woocommerce-MyAccount-content {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 16px;
	font-size: .9rem;
	overflow-x: auto;
}
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 { margin-top: 0; }
.woocommerce-MyAccount-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .85rem;
}
.woocommerce-MyAccount-content table th,
.woocommerce-MyAccount-content table td {
	padding: 10px 8px;
	border-bottom: 1px solid var(--c-border);
	text-align: start;
}
.woocommerce-MyAccount-content table .button {
	display: inline-block;
	width: auto;
	padding: 7px 14px;
	font-size: .8rem;
	margin: 2px;
}
.woocommerce-MyAccount-content td::before { color: var(--c-text-2); font-weight: 400 !important; }
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2 {
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	padding: 14px;
	margin-bottom: 12px;
}
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message { box-shadow: none; }

/* --- فرم ورود/عضویت --- */
.woocommerce-form-login,
.woocommerce-form-register {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 20px;
	max-width: 440px;
	margin: 8px auto 24px;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { margin-bottom: 14px; }
.woocommerce-form-login label,
.woocommerce-form-register label {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	margin-bottom: 6px;
}
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"] {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-weight: 400 !important;
}
.woocommerce-form-login__rememberme input { width: auto; }
.woocommerce-LostPassword { font-size: .82rem; margin: 10px 0 0; text-align: center; }
#customer_login h2 { font-size: 1.1rem; }

@media (min-width: 900px) {
	/* حساب کاربری در دسکتاپ: منو کنار محتوا (فقط وقتی لاگین است و منو دارد) */
	.wc-page--account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 230px 1fr;
		gap: 24px;
		align-items: start;
	}
	.wc-page--account .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		overflow: visible;
		padding: 0;
	}
	.wc-page--account .woocommerce-MyAccount-navigation li a { border-radius: var(--radius-s); }
	.scroller--cats > li,
	.scroller--authors > li { width: 130px; }
	.scroller--articles > li { width: 240px; }
}

/* =========================================================================
   ۱۳) v1.3.1 — سبد جمع‌وجورتر (عکس دار، بدون تعداد/جمع جزء)، ستاره‌ها،
   متای محصول در انتها، دیدگاه‌های تاشو، فرم ورود/عضویت
   ====================================================================== */

/* --- سبد: ستون تعداد و جمع جزء کلاً حذف — فقط عکس، عنوان، قیمت --- */
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal { display: none !important; }

/* عکس محصول در موبایل هم دیده شود (استایل پیش‌فرض ووکامرس مخفی‌اش می‌کند) */
.woocommerce-cart table.cart td.product-thumbnail {
	display: block !important;
	text-align: center !important;
	padding: 14px 10px 4px;
	border-bottom: 0;
}
.woocommerce-cart table.cart td.product-thumbnail::before { display: none !important; }
.woocommerce-cart table.cart td.product-thumbnail img {
	width: 96px;
	height: auto;
	border-radius: var(--radius-s);
	box-shadow: var(--shadow);
	display: inline-block;
}
@media (min-width: 769px) {
	.woocommerce-cart table.cart td.product-thumbnail { display: table-cell !important; text-align: start !important; padding: 12px 10px; border-bottom: 1px solid var(--c-border); }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 64px; }
}

/* --- ستاره‌های امتیاز: بدون CSS ووکامرس حروف S نشان می‌داد --- */
.star-rating {
	position: relative;
	display: inline-block;
	direction: ltr;
	height: 1.2em;
	width: 5.6em;
	line-height: 1.2;
	overflow: hidden;
	font-size: .95rem;
	white-space: nowrap;
	color: transparent !important;
}
.star-rating::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	letter-spacing: .1em;
	color: var(--c-border);
}
.star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	height: 100%;
	color: transparent;
}
.star-rating span::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	letter-spacing: .1em;
	color: #f59e0b;
}
/* انتخاب ستاره در فرم دیدگاه */
p.stars { display: inline-flex; gap: 4px; direction: ltr; margin: 6px 0; }
p.stars span { display: inline-flex; gap: 4px; }
p.stars a {
	position: relative;
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 2em;
	font-size: 1.3rem;
	text-decoration: none;
}
p.stars a::before {
	content: "☆";
	position: absolute;
	top: 0;
	left: 0;
	text-indent: 0;
	color: #f59e0b;
}
p.stars:hover a::before,
p.stars.selected a::before { content: "★"; }
p.stars a:hover ~ a::before,
p.stars.selected a.active ~ a::before { content: "☆"; }

/* --- شناسه/دسته/برچسب محصول: چیپ‌های ریز انتهای متن توضیحات --- */
.product_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	max-width: var(--container);
	margin: 20px auto 0;
	padding-top: 14px;
	border-top: 1px dashed var(--c-border);
	font-size: .76rem;
}
.product_meta > span {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: 20px;
	padding: 4px 10px 4px 4px;
	color: var(--c-text-2);
}
.product_meta > span::before { font-size: .85em; }
.product_meta > span.sku_wrapper::before { content: "🏷️"; }
.product_meta > span.posted_in::before { content: "📂"; }
.product_meta > span.tagged_as::before { content: "🔖"; }
.product_meta a {
	color: var(--c-text-2);
	text-decoration: none;
}
.product_meta a:hover { color: var(--c-primary); text-decoration: underline; }

/* --- دیدگاه‌ها: دکمه بازشو + لیست جمع‌وجور --- */
.review-toggle {
	display: inline-block;
	width: auto;
	padding: 10px 22px;
	font-size: .88rem;
	margin: 8px 0 16px;
}
.commentlist, .comment-list {
	list-style: none;
	padding: 0;
	margin: 12px 0;
}
.commentlist li, .comment-list li {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	padding: 10px 14px;
	margin-bottom: 10px;
	font-size: .85rem;
}
.commentlist li .children, .comment-list li .children { list-style: none; padding-inline-start: 16px; margin-top: 10px; }
.commentlist .avatar, .comment-list .avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	float: inline-start;
	margin-inline-end: 10px;
}
.commentlist .comment-text { overflow: hidden; }
.commentlist .meta, .comment-list .comment-meta { font-size: .76rem; color: var(--c-text-2); margin: 0 0 6px; }
.commentlist .meta strong, .comment-list .fn { color: var(--c-text); font-style: normal; }
.commentlist .description p, .comment-list .comment-content p { margin: 4px 0; }
.comment-form textarea,
#review_form textarea {
	width: 100%;
	min-height: 110px;
	padding: 10px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.comment-form input[type="text"], .comment-form input[type="email"],
#review_form input[type="text"], #review_form input[type="email"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.comment-form .form-submit input, #review_form .form-submit input { width: auto; display: inline-block; padding: 11px 26px; }
.comment-respond, #review_form_wrapper {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 16px;
	margin: 8px 0 20px;
}

/* --- ورود + عضویت کنار هم در برگه حساب --- */
#customer_login .u-column1,
#customer_login .u-column2 { margin-bottom: 20px; }
#customer_login h2 {
	font-size: 1.05rem;
	margin: 0 0 10px;
	border-inline-start: 4px solid var(--c-primary);
	padding-inline-start: 10px;
}
@media (min-width: 900px) {
	#customer_login {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
		align-items: start;
	}
	#customer_login .woocommerce-form-login,
	#customer_login .woocommerce-form-register { margin: 0; max-width: none; }
}

/* =========================================================================
   ۱۴) v1.4.0 — برگه درخواست، ویدیوی آپارات، لینک‌های محتوا با کنتراست بهتر
   ====================================================================== */

.request-intro { max-width: 640px; margin: 0 0 8px; color: var(--c-text-2); }
.request-note {
	max-width: 640px;
	margin: 0 0 20px;
	padding: 10px 14px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: var(--radius-s);
	font-size: .85rem;
	color: #92400e;
}
.request-form {
	max-width: 480px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 18px;
	margin-bottom: 32px;
}
.request-form .form-row { margin-bottom: 14px; }
.request-form label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 6px; }
.request-form .required { color: var(--c-danger); }
.request-form input, .request-form textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.form-hint { display: block; margin-top: 5px; font-size: .76rem; color: var(--c-text-2); }
.request-form button { width: auto; padding: 12px 28px; }
.form-hint--discount {
	margin: 14px 0 0;
	padding: 10px 12px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: var(--radius-s);
	color: #065f46;
	font-size: .82rem;
}
.contact-strip__note {
	max-width: 640px;
	margin: 16px 0 0;
	font-size: .82rem;
	color: var(--c-text-2);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 12px;
}
@media (min-width: 640px) { .contact-grid { grid-template-columns: repeat(4, 1fr); } }
.contact-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 16px 8px;
	color: var(--c-text);
}
.contact-card:hover { border-color: var(--c-primary); box-shadow: var(--shadow); }
.contact-card__icon { font-size: 1.6rem; }
.contact-card__label { font-weight: 700; font-size: .88rem; }
.contact-card__value { font-size: .78rem; color: var(--c-text-2); }

/* --- ویدیوی آپارات با کلیک پخش می‌شود (JS در app.js) --- */
.aparat-lazy { position: relative; margin: 20px 0; border-radius: var(--radius); overflow: hidden; aspect-ratio: 16/9; background: #000; }
.aparat-lazy img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.aparat-play {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.15);
	border: 0;
	padding: 0;
}
.aparat-play::after {
	content: "";
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2345577e'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center / 26px;
	box-shadow: 0 4px 14px rgba(0,0,0,.3);
}
.aparat-lazy iframe { width: 100%; height: 100%; border: 0; display: block; }

/* --- لینک‌های داخل محتوا همیشه زیرخط‌دار (کنتراست/تشخیص‌پذیری بدون رنگ) --- */
.entry-content a,
.woocommerce-product-details__short-description a,
#tab-description a,
.woocommerce-Tabs-panel a { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================================
   ۱۵) v1.4.3 — جدول‌های داخل توضیحات محصول/مطلب: تمیز و اسکرول‌پذیر موبایل
   ====================================================================== */
.entry-content table,
.woocommerce-product-details__short-description table,
#tab-description table,
.woocommerce-Tabs-panel table {
	display: block;
	overflow-x: auto;
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
	font-size: .86rem;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
}
.entry-content table th,
.entry-content table td,
.woocommerce-product-details__short-description table th,
.woocommerce-product-details__short-description table td,
#tab-description table th,
#tab-description table td,
.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
	padding: 9px 12px !important;
	border: 1px solid var(--c-border) !important;
	white-space: nowrap;
	text-align: center;
}
.entry-content table tr,
.woocommerce-product-details__short-description table tr,
#tab-description table tr,
.woocommerce-Tabs-panel table tr { background: none !important; }
.entry-content table th,
.woocommerce-product-details__short-description table th,
#tab-description table th,
.woocommerce-Tabs-panel table th {
	background: var(--c-primary) !important;
	color: #fff !important;
	font-weight: 700;
}

/* =========================================================================
   ۱۶) v1.5.0 — فرم ورود/عضویت یک‌مرحله‌ای، قیمت رایگان
   ====================================================================== */
.wc-auth {
	max-width: 420px;
	margin: 8px auto 24px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 22px;
}
.wc-auth__title { font-size: 1.1rem; margin: 0 0 8px; }
.wc-auth__hint { font-size: .86rem; color: var(--c-text-2); margin: 0 0 16px; }
.wc-auth .form-row { margin-bottom: 14px; }
.wc-auth label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 6px; }
.wc-auth input[type="email"],
.wc-auth input[type="password"],
.wc-auth input[type="text"] {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-s);
	background: var(--c-bg);
}
.wc-auth .button { width: 100%; }
.wc-auth__remember-row {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-weight: 400 !important;
}
.wc-auth__remember-row input { width: auto; }
.button-link {
	display: block;
	width: 100%;
	text-align: center;
	background: none;
	border: 0;
	color: var(--c-primary);
	font-size: .85rem;
	padding: 10px 0;
	text-decoration: underline;
}
.wc-auth__resend-wrap { text-align: center; margin: 4px 0; }
.wc-auth__sent-msg {
	margin: 0 0 16px;
	padding: 10px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: var(--radius-s);
	color: #15803d;
	font-size: .85rem;
	font-weight: 600;
	text-align: center;
}
.wc-auth__code-input {
	letter-spacing: .5em;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 700;
}
.wc-auth__resend-timer {
	display: inline-block;
	font-size: .82rem;
	color: var(--c-text-2);
	padding: 10px 0;
}
.wc-auth__error {
	margin-top: 14px;
	padding: 10px 14px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: var(--radius-s);
	color: #b91c1c;
	font-size: .85rem;
}
.wc-auth__spinner { text-align: center; font-size: .8rem; color: var(--c-text-2); margin-top: 10px; }

/* قیمت رایگان: تأکید سبز به‌جای «0 تومان» */
.worldcat-free { color: #16a34a !important; font-weight: 700; }

/* حرکت‌کاهی برای کاربرانی که انیمیشن نمی‌خواهند */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto; }
}
