/**
 * Design System v2 — Typography (نسخه 1.3.0)
 *
 * مهم: برخلاف پیش‌نویس، هیچ المان پایه‌ای (body/h1/a/...) به‌صورت سراسری استایل
 * نمی‌شود تا چهره‌ی wp-admin و قالب فرانت خراب نشود. همه‌ی قواعد المان زیر
 * .clinic-wrap (کانتینر پلاگین) یا کلاس‌های عنوانِ خودِ پلاگین محدود شده‌اند.
 *
 * @package Clinic_Manager
 */

:root {
	/* اندازه‌ی فونت */
	--fs-xs: 12px;
	--fs-sm: 14px;
	--fs-md: 16px;
	--fs-lg: 18px;
	--fs-xl: 20px;
	--fs-2xl: 24px;
	--fs-3xl: 28px;
	--fs-4xl: 32px;
	--fs-5xl: 36px;

	/* وزن فونت */
	--fw-light: 300;
	--fw-normal: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;

	/* ارتفاع خط */
	--lh-tight: 1.25;
	--lh-snug: 1.375;
	--lh-normal: 1.5;
	--lh-relaxed: 1.625;
	--lh-loose: 2;

	/* فاصله‌ی حروف */
	--ls-tighter: -0.05em;
	--ls-tight: -0.025em;
	--ls-normal: 0;
	--ls-wide: 0.025em;
	--ls-wider: 0.05em;
}

/* بدنه‌ی محتوای پلاگین (نه body سراسری) */
.clinic-wrap {
	font-family: var(--clinic-font-family);
	font-size: var(--clinic-fs-base, var(--fs-md)); /* STEP 112-F: متنِ پایه قابلِ تنظیم در تم‌ساز */
	line-height: var(--lh-normal);
	color: var(--clinic-text-primary);
	font-weight: var(--fw-normal);
	letter-spacing: var(--ls-normal);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* عناوین — محدود به کانتینر پلاگین + کلاس‌های عنوان موجود */
.clinic-wrap h1,
.clinic-title,
.clinic-wrap .h1 {
	font-size: var(--clinic-fs-h1, var(--fs-5xl)); /* STEP 112-F */
	font-weight: var(--fw-extrabold);
	line-height: var(--lh-snug);
	letter-spacing: var(--ls-tighter);
	margin: 0 0 var(--spacing-5, 20px);
	color: var(--clinic-text-primary);
}

.clinic-wrap h2,
.clinic-wrap .h2 {
	font-size: var(--clinic-fs-h2, var(--fs-4xl)); /* STEP 112-F */
	font-weight: var(--fw-bold);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	margin: 0 0 var(--spacing-4, 16px);
	color: var(--clinic-text-primary);
}

.clinic-wrap h3,
.clinic-wrap .h3 {
	font-size: var(--clinic-fs-h3, var(--fs-3xl)); /* STEP 112-F */
	font-weight: var(--fw-bold);
	line-height: var(--lh-tight);
	margin: 0 0 var(--spacing-3, 12px);
	color: var(--clinic-text-primary);
}

.clinic-wrap h4,
.clinic-wrap .h4 {
	font-size: var(--clinic-fs-h4, var(--fs-2xl)); /* STEP 112-F */
	font-weight: var(--fw-semibold);
	line-height: var(--lh-snug);
	margin: 0 0 var(--spacing-3, 12px);
	color: var(--clinic-text-primary);
}

.clinic-wrap h5,
.clinic-wrap .h5 {
	font-size: var(--fs-xl);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-normal);
	margin: 0 0 var(--spacing-2, 8px);
	color: var(--clinic-text-primary);
}

.clinic-wrap h6,
.clinic-wrap .h6 {
	font-size: var(--fs-lg);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-normal);
	margin: 0 0 var(--spacing-2, 8px);
	color: var(--clinic-text-primary);
}

/* زیرعنوان موجود در پروژه */
.clinic-subtitle {
	color: var(--clinic-text-secondary);
	font-size: var(--fs-md);
	line-height: var(--lh-normal);
	margin: 0 0 var(--spacing-4, 16px);
}

/* متن کمکی — کلاس‌محور (ایمن) */
.clinic-wrap .text-sm,
.clinic-wrap small {
	font-size: var(--fs-sm);
	line-height: var(--lh-normal);
}

.clinic-wrap .text-xs {
	font-size: var(--fs-xs);
	line-height: var(--lh-tight);
}

.text-muted {
	color: var(--clinic-text-secondary);
}

.text-subtle {
	color: var(--clinic-text-tertiary);
}

.text-emphasis {
	font-weight: var(--fw-semibold);
	color: var(--clinic-primary);
}

.text-success {
	color: var(--clinic-success);
	font-weight: var(--fw-medium);
}

.text-warning {
	color: var(--clinic-warning);
	font-weight: var(--fw-medium);
}

.text-error {
	color: var(--clinic-error);
	font-weight: var(--fw-medium);
}

.text-info {
	color: var(--clinic-info);
	font-weight: var(--fw-medium);
}

/* لینک‌ها — فقط داخل کانتینر پلاگین و **فقط لینک‌های غیرِ دکمه**.
 * STEP 69: دو اصلاحِ ریشه‌ای —
 *  (۱) `:not(.clinic-btn)` تا این قاعده (تخصصِ ۰،۱،۱) رنگِ دکمه‌های لینکی را نبلعد.
 *  (۲) حذفِ وابستگی به متغیرِ قالب (`--theme-palette-color-5`ِ Blocksy) و استفاده از توکنِ
 *      کلینیک ⇒ پلاگین به رنگِ لینکِ قالب گره نمی‌خورد. */
.clinic-wrap a:not(.clinic-btn) {
	color: var(--clinic-primary, #4B2E83);
	text-decoration: none;
	transition: color 0.3s ease;
}

.clinic-wrap a:not(.clinic-btn):hover {
	color: var(--clinic-primary-hover, #3A2366);
	text-decoration: none; /* STEP 112-G: بدونِ زیرخط در hover */
}

/* STEP 140 — گاردِ سراسریِ کنتراست برای «چیپِ لینکیِ فعال» (رفعِ ریشه‌ای، تک‌منبع).
 * علتِ ریشه‌ای: قاعده‌ی بالا (.clinic-wrap a:not(.clinic-btn)، تخصص ۰،۲،۱) رنگِ متنِ هر
 * <a>ِ غیرِدکمه را به رنگِ برند می‌برد. چیپِ فیلترِ فعال (`.clinic-chip-link.is-on`، تخصص
 * ۰،۲،۰) پس‌زمینه‌ی بنفشِ برند می‌گیرد ولی رنگِ متنش (var( --clinic-bg ) در ویوها) چون تخصصِ کمتری دارد
 * بازنویسی می‌شد ⇒ «بنفش روی بنفش = نامرئی». این رگرسیون با گستردنِ `.clinic-chip-link` در
 * STEP 132/136 به صفحه‌ی فاکتورها/پرونده/نسخه‌ها ظاهر شد.
 * رفع: این قاعده با تخصصِ بالاتر (۰،۳،۱ عادی / ۰،۴،۱ hover) رنگِ متنِ خوانا را از توکنِ
 * کنتراستِ خودکار (--clinic-on-primary = contrast_color(primary)) بازمی‌گرداند ⇒ هر صفحه‌ای
 * که این چیپ را دارد یک‌جا اصلاح می‌شود (نه وصله‌ی تک‌تک). مستقل از تمِ کاربر هم خوانا می‌ماند
 * (پالتِ روشن ⇒ on-primary تیره). گاردِ خودکار: tools/cdp-btn-contrast-global.mjs. */
/* STEP B — تعمیمِ ریشه‌ای به **همه‌ی** تب/چیپ‌های فعالِ لینکی (نه فقط chip-link).
 * هر <a>ِ فعال که پس‌زمینه‌ی برند می‌گیرد، متنش باید از توکنِ کنتراستِ خودکار (روشن) بماند
 * تا قاعده‌ی سراسریِ `a:not(.clinic-btn)` «بنفش روی بنفش» نسازد. `!important` چون این باگ
 * بارها در بخش‌های جدید (پذیرش۲۴/ابری/بایگانی) برگشته و باید در برابرِ هر overrideِ آینده مقاوم باشد. */
.clinic-wrap a.clinic-chip-link.is-on,
.clinic-wrap a.clinic-chip-link.is-on:hover,
.clinic-wrap a.clinic-chip-link.is-on:focus,
.clinic-wrap a.clinic-chip.is-active,
.clinic-wrap a.clinic-chip.is-active:hover,
.clinic-wrap a.clinic-chip.is-active:focus,
.clinic-wrap a.clinic-atab.is-on,
.clinic-wrap a.clinic-atab.is-on:hover,
.clinic-wrap a.clinic-atab.is-on:focus,
.clinic-wrap a.clinic-p24-tab.is-on,
.clinic-wrap a.clinic-p24-tab.is-on:hover,
.clinic-wrap a.clinic-p24-tab.is-on:focus,
.clinic-wrap a.clinic-cloud-tab.is-on,
.clinic-wrap a.clinic-cloud-tab.is-on:hover,
.clinic-wrap a.clinic-cloud-tab.is-on:focus {
	color: var(--clinic-on-primary, #fff) !important;
}

.clinic-wrap p {
	line-height: var(--lh-normal);
}

/* code/pre — کلاس‌محور تا کدِ ویرایشگر وردپرس دست‌نخورده بماند */
.clinic-wrap code.clinic-code {
	background: var(--clinic-bg-secondary);
	color: var(--clinic-primary-700);
	padding: var( --clinic-space-1 ) var( --clinic-space-3 );
	border-radius: var(--radius-sm, 4px);
	font-family: 'Monaco', 'Courier New', monospace; /* عمدی: monospace برای نمایشِ کد/قطعه‌کد */
	font-size: var(--fs-sm);
}
