/**
 * مداد — تنسيقات قوالب السيرة الذاتية.
 *
 * كل صفحة A4 حقيقية (210×297 مم). الألوان تأتي من متغيرات تُضبط لكل صفحة:
 * --a (اللون الأساسي) و--a-ink (نص فوقه) و--a-text (نسخة مقروءة على الأبيض)
 * و--a-soft / --a-faint (درجات فاتحة) و--a2 (لون التدرج الثاني).
 */

/* ==========================================================================
   الخطوط (ملفات محلية — لا طلبات خارجية)
   ========================================================================== */
@font-face { font-family: 'mdd-tajawal'; src: url('../fonts/tajawal-400.woff2') format('woff2'); font-weight: 300 400; font-style: normal; font-display: block; }
@font-face { font-family: 'mdd-tajawal'; src: url('../fonts/tajawal-500.woff2') format('woff2'); font-weight: 500 600; font-style: normal; font-display: block; }
@font-face { font-family: 'mdd-tajawal'; src: url('../fonts/tajawal-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: block; }
@font-face { font-family: 'mdd-tajawal'; src: url('../fonts/tajawal-800.woff2') format('woff2'); font-weight: 800 900; font-style: normal; font-display: block; }
@font-face { font-family: 'mdd-cairo'; src: url('../fonts/cairo-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-cairo'; src: url('../fonts/cairo-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-plex'; src: url('../fonts/plex-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-plex'; src: url('../fonts/plex-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-almarai'; src: url('../fonts/almarai-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-almarai'; src: url('../fonts/almarai-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-readex'; src: url('../fonts/readex-300.woff2') format('woff2'); font-weight: 200 300; font-display: block; }
@font-face { font-family: 'mdd-readex'; src: url('../fonts/readex-400.woff2') format('woff2'); font-weight: 400 500; font-display: block; }
@font-face { font-family: 'mdd-readex'; src: url('../fonts/readex-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-naskh'; src: url('../fonts/naskh-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-naskh'; src: url('../fonts/naskh-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-amiri'; src: url('../fonts/amiri-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-amiri'; src: url('../fonts/amiri-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-messiri'; src: url('../fonts/messiri-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-messiri'; src: url('../fonts/messiri-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }
@font-face { font-family: 'mdd-reemkufi'; src: url('../fonts/reemkufi-400.woff2') format('woff2'); font-weight: 300 500; font-display: block; }
@font-face { font-family: 'mdd-reemkufi'; src: url('../fonts/reemkufi-700.woff2') format('woff2'); font-weight: 600 900; font-display: block; }

/* ==========================================================================
   الصفحة والأساسيات المشتركة
   ========================================================================== */
.cv-page {
	position: relative;
	width: 210mm;
	height: 297mm;
	overflow: hidden;
	box-sizing: border-box;
	background: #fff;
	color: #1e1e26;
	font-family: var(--f-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.62;
	text-align: start;
	letter-spacing: 0;
	word-spacing: normal;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
	font-kerning: normal;
	-webkit-font-smoothing: antialiased;
	break-after: page;
	page-break-after: always;
}
.cv-page:last-child { break-after: auto; page-break-after: auto; }
.cv-page *, .cv-page *::before, .cv-page *::after { box-sizing: border-box; }
:where(.cv-page) :where(h1, h2, h3, p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
:where(.cv-page) :where(h1, h2, h3) { font-family: var(--f-head); line-height: 1.35; color: inherit; font-weight: 700; }
:where(.cv-page) :where(ul, ol) { list-style: none; }
:where(.cv-page) img { display: block; max-width: none; height: auto; }
.cv-page bdi { unicode-bidi: isolate; }
.cv-page[lang="en"] { line-height: 1.5; }

.cv-slot { min-height: 0; overflow: hidden; }
.cv-block { break-inside: avoid; }
.cv-ltr { direction: ltr; unicode-bidi: isolate; }
.cv-ico { width: 1em; height: 1em; flex: none; display: inline-block; vertical-align: -0.14em; }

/* البنود */
.cv-item { margin-bottom: 9px; }
.cv-ih { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.cv-it { font-size: 13.8px; font-weight: 700; line-height: 1.4; }
.cv-io { font-size: 12.3px; color: #555562; }
.cv-date { flex: none; font-size: 11.3px; color: #6b6b78; white-space: nowrap; }
.cv-date.is-below { display: block; margin-top: 1px; white-space: normal; }
.cv-grade { font-size: 12px; color: #4a4a56; }
.cv-desc { margin-top: 3px; color: #3b3b47; font-size: 12.4px; }
.cv-desc p + p, .cv-desc p + ul, .cv-desc ul + p { margin-top: 3px; }
.cv-desc li { position: relative; padding-inline-start: 13px; }
.cv-desc li + li { margin-top: 1px; }
.cv-desc li::before {
	content: ""; position: absolute; inset-inline-start: 2px; top: 0.72em;
	width: 4.5px; height: 4.5px; border-radius: 50%; background: currentColor; opacity: .55;
}
.cv-ref-c { font-size: 11.5px; color: #555562; }
.cv-dot { display: inline-block; width: 3px; height: 3px; margin: 0 6px; border-radius: 50%; background: currentColor; vertical-align: middle; opacity: .6; }

/* الصورة */
.cv-photo { overflow: hidden; flex: none; background: #e9e9ee; }
.cv-photo img { width: 100%; height: 100%; object-fit: cover; }
.cv-photo.is-circle { border-radius: 50%; }
.cv-photo.is-rounded { border-radius: 24%; }
.cv-photo.is-square { border-radius: 0; }

/* التواصل */
.cv-contact li { display: flex; align-items: center; gap: 7px; font-size: 11.6px; line-height: 1.45; overflow-wrap: anywhere; }
.cv-contact li + li { margin-top: 5px; }
.cv-ci { flex: none; display: inline-grid; place-items: center; }

/* المهارات واللغات */
.cv-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.cv-chips li { padding: 2px 10px; border-radius: 999px; background: var(--a-soft); color: var(--a-text); font-size: 11.6px; line-height: 1.6; font-weight: 600; }
.cv-chips.is-soft li { background: #f1f1f4; color: #3b3b47; font-weight: 400; }
.cv-inline { font-size: 12.4px; }
.cv-isep::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 8px; border-radius: 50%; background: currentColor; opacity: .45; vertical-align: middle; }

.cv-bars li + li { margin-top: 7px; }
.cv-bn { display: block; font-size: 12px; line-height: 1.4; }
.cv-bar { display: block; height: 5px; margin-top: 4px; border-radius: 4px; background: var(--a-soft); overflow: hidden; }
.cv-bar i { display: block; height: 100%; border-radius: inherit; background: var(--a); }
.cv-seg { display: inline-flex; gap: 3px; margin-top: 4px; }
.cv-seg i { width: 13px; height: 5px; border-radius: 2px; background: var(--a-soft); }
.cv-seg i.on { background: var(--a); }

.cv-langs li { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 12.2px; }
.cv-langs li + li { margin-top: 4px; }
.cv-langs .cv-lv { color: #6b6b78; font-size: 11.4px; }
.cv-langs.is-dots li { align-items: center; }
.cv-ln { display: flex; flex-direction: column; line-height: 1.35; }
.cv-ln small { font-size: 10.6px; opacity: .75; }
.cv-dots { display: inline-flex; gap: 4px; flex: none; }
.cv-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--a-soft); }
.cv-dots i.on { background: var(--a); }

.cv-links li { display: flex; flex-direction: column; font-size: 11.6px; line-height: 1.4; overflow-wrap: anywhere; }
.cv-links li + li { margin-top: 5px; }
.cv-personal li { display: flex; flex-direction: column; font-size: 12px; line-height: 1.4; }
.cv-personal li + li { margin-top: 6px; }
.cv-personal span { font-size: 10.6px; opacity: .7; }

.cv-ring { display: block; }

/* العلامة المائية (قبل التفعيل) */
.cv-wm { position: absolute; inset: -30%; z-index: 40; display: flex; align-items: center; justify-content: center; pointer-events: none; transform: rotate(-28deg); }
.cv-wm > div { display: grid; grid-template-columns: repeat(4, max-content); gap: 26mm 16mm; }
.cv-wm span { font: 800 21px/1 'mdd-tajawal', Tahoma, sans-serif; color: rgba(128, 128, 140, .2); white-space: nowrap; }

/* المعاينة المصغّرة */
.cv-scaled { position: relative; }
.cv-scale-box { position: relative; overflow: hidden; direction: ltr; }
.cv-scale-box > .cv-pages { position: absolute; top: 0; left: 0; width: 210mm; transform-origin: 0 0; }
.cv-pages > .cv-page + .cv-page { margin-top: 10mm; }

/* ==========================================================================
   1) كلاسيكي هارفارد
   ========================================================================== */
.cvt-harvard { color: #15151a; font-size: 13px; line-height: 1.72; }
.hv-in { display: flex; flex-direction: column; height: 100%; padding: 15mm 17mm 13mm; }
.hv-in > .cv-slot { flex: 1; }
.hv-head { flex: none; margin-bottom: 3mm; text-align: center; }
.cvt-harvard .cv-name { font-size: 27px; color: #0d0d12; line-height: 1.3; }
.cvt-harvard .cv-role { margin-top: 1px; font-size: 14.5px; color: #33333b; }
.hv-contact { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 5px; font-size: 11.5px; color: #33333b; }
.hv-bar { margin: 0 9px; color: #a3a3ad; }
.cvt-harvard .cv-h { margin: 11px 0 6px; padding-bottom: 2px; border-bottom: 1.3px solid var(--a); color: var(--a-text); font-size: 14.5px; }
.cvt-harvard .cv-item { margin-bottom: 8px; }
.cvt-harvard .cv-it { font-size: 13.6px; }
.cvt-harvard .cv-io { color: #3a3a44; }
.cvt-harvard[lang="en"] .cv-io { font-style: italic; }
.cvt-harvard .cv-date { color: #3a3a44; font-size: 11.8px; }
.cvt-harvard .cv-desc { color: #24242c; }
.hv-lv { color: #5b5b66; font-size: 11.6px; }
.cvt-harvard .cv-summary { text-align: justify; }

/* ==========================================================================
   2) العمود الملوّن
   ========================================================================== */
.cvt-sidebar { color: #1d1d27; font-size: 12.7px; }
.sb-grid { display: grid; grid-template-columns: 70mm minmax(0, 1fr); height: 100%; }
.sb-side { display: flex; flex-direction: column; min-height: 0; padding: 14mm 8mm 10mm; background: var(--a); color: var(--a-ink); }
.sb-main { display: flex; flex-direction: column; min-height: 0; padding: 14mm 12mm 10mm 11mm; }
.sb-side > .cv-slot, .sb-main > .cv-slot { flex: 1; }
.sb-photo { width: 40mm; height: 40mm; margin: 0 auto 8mm; border: 3px solid rgba(255, 255, 255, .8); }
.sb-side .cv-block { margin-bottom: 7mm; }
.sb-side .cv-h { margin-bottom: 9px; font-size: 13.2px; line-height: 1.3; }
.sb-side .cv-h::after { content: ""; display: block; height: 1px; margin-top: 5px; background: currentColor; opacity: .3; }
.sb-side .cv-ci { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, .16); font-size: 12px; }
.sb-side .cv-contact li { font-size: 11.3px; }
.sb-side .cv-bar { background: rgba(255, 255, 255, .24); }
.sb-side .cv-bar i { background: currentColor; }
.sb-side .cv-dots i { background: rgba(255, 255, 255, .26); }
.sb-side .cv-dots i.on { background: currentColor; }
.sb-side .cv-chips li { background: rgba(255, 255, 255, .15); color: inherit; font-weight: 400; }
.sb-side .cv-bn { font-size: 11.6px; }
.sb-side .cv-lv, .sb-side .cv-ln small { color: inherit; opacity: .75; }
.sb-head { flex: none; margin-bottom: 7mm; padding-bottom: 5mm; border-bottom: 2px solid var(--a-soft); }
.cvt-sidebar .cv-name { font-size: 30px; line-height: 1.22; color: #14141b; }
.cvt-sidebar .cv-role { margin-top: 3px; font-size: 15px; font-weight: 700; color: var(--a-text); }
.sb-main .cv-h { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 15.5px; color: #14141b; }
.sb-main .cv-hi { display: inline-grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--a-soft); color: var(--a-text); font-size: 14px; }
.sb-main .cv-block.is-last { margin-bottom: 6mm; }
.sb-main .cv-item { margin-bottom: 10px; }
.cvt-sidebar .sb-main .cv-io { color: var(--a-text); font-weight: 700; font-size: 12px; }

/* ==========================================================================
   3) المسار الزمني
   ========================================================================== */
.cvt-timeline { display: flex; flex-direction: column; color: #1f2430; font-size: 12.6px; }
.tl-strip { flex: none; height: 5mm; background: linear-gradient(90deg, var(--a), var(--a2)); }
.tl-head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 8mm; padding: 9mm 14mm 6mm; }
.tl-id { min-width: 0; }
.cvt-timeline .cv-name { font-size: 29px; line-height: 1.22; color: #101521; }
.cvt-timeline .cv-role { margin-top: 2px; font-size: 15px; font-weight: 700; color: var(--a-text); }
.tl-contact { display: flex; flex-wrap: wrap; gap: 3px 14px; margin-top: 7px; color: #4b5261; }
.tl-contact li + li { margin-top: 0; }
.tl-contact .cv-ci { color: var(--a-text); font-size: 13px; }
.tl-photo { width: 31mm; height: 31mm; }
.tl-body { flex: 1; padding: 1mm 14mm 10mm; }
.tl-summary { margin-bottom: 6mm; padding: 4mm 5mm; border-radius: 3mm; background: var(--a-faint); color: #384050; }
.tl-row, .tl-h { position: relative; display: grid; grid-template-columns: 29mm 9mm minmax(0, 1fr); }
.tl-row::before, .tl-h::before {
	content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: calc(29mm + 4.5mm - 1px);
	width: 2px; background: var(--a-soft);
}
.tl-h { align-items: center; padding: 1mm 0 3mm; font-size: 15.5px; }
.tl-h .tl-mark { position: relative; z-index: 1; display: grid; place-items: center; justify-self: center; width: 9mm; height: 9mm; border-radius: 50%; background: var(--a); color: var(--a-ink); font-size: 15px; }
.tl-h .cv-ht { padding-inline-start: 3mm; color: #101521; }
.tl-sec.is-first { margin-top: 1mm; }
.tl-when { padding-top: 1px; padding-inline-end: 2.5mm; text-align: end; font-size: 10.6px; line-height: 1.5; }
.tl-when span { display: inline-block; padding: 2px 7px; border-radius: 6px; background: var(--a-faint); color: var(--a-text); font-weight: 700; line-height: 1.4; }
.tl-node { position: relative; }
.tl-node::after { content: ""; position: absolute; z-index: 1; top: 6px; left: 50%; width: 11px; height: 11px; margin-left: -5.5px; border: 2.5px solid var(--a); border-radius: 50%; background: #fff; }
.tl-what { padding-inline-start: 2.5mm; padding-bottom: 5mm; }
.tl-what .cv-io { color: var(--a-text); font-weight: 600; }
.tl-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 9mm; margin-top: 2mm; padding-top: 5mm; border-top: 1px solid #e3e6ec; }
.tl-pair .cv-h, .tl-plain .cv-h { margin-bottom: 7px; font-size: 14.5px; color: #101521; }
.tl-plain { margin-top: 5mm; }
.tl-refs { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm 9mm; }

/* ==========================================================================
   4) المجلة
   ========================================================================== */
.cvt-editorial { color: #161616; font-size: 12.6px; line-height: 1.78; }
.ed-in { display: flex; flex-direction: column; height: 100%; padding: 14mm 15mm 11mm; }
.ed-head { flex: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 8mm; margin-bottom: 6mm; padding-bottom: 5mm; border-bottom: 3px solid #161616; }
.ed-id { min-width: 0; }
.cvt-editorial .ed-name { font-size: 46px; line-height: 1.08; color: #101010; }
.cvt-editorial[lang="en"] .ed-name { letter-spacing: -1px; }
.ed-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 18px; margin-top: 4mm; }
.cvt-editorial .cv-role { font-size: 15px; font-weight: 700; color: var(--a-text); }
.ed-contact { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 11px; color: #464646; }
.ed-contact li { display: inline-flex; align-items: center; gap: 4px; }
.ed-photo { width: 29mm; height: 35mm; filter: grayscale(1) contrast(1.04); }
.ed-run { flex: none; display: flex; justify-content: space-between; gap: 8mm; margin-bottom: 6mm; padding-bottom: 2mm; border-bottom: 1px solid #161616; font-family: var(--f-head); font-size: 12px; }
.ed-run span { color: #666; }
.ed-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 57mm; }
.ed-cols > .cv-slot:first-child { padding-inline-end: 7mm; }
.ed-aside { padding-inline-start: 6.5mm; border-inline-start: 1px solid #d2d2d2; }
.ed-h { display: flex; align-items: center; gap: 2.6mm; margin-bottom: 3mm; font-size: 17px; }
.ed-tick { flex: none; width: 9px; height: 9px; background: var(--a); }
.ed-lede { position: relative; margin-bottom: 7mm; padding-inline-start: 10mm; font-family: var(--f-head); font-size: 15px; line-height: 1.72; color: #222; }
.ed-q { position: absolute; top: -8px; inset-inline-start: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 56px; line-height: 1; color: var(--a); }
.cvt-editorial .cv-block.is-last { margin-bottom: 6mm; }
.cvt-editorial .cv-item { margin-bottom: 4.5mm; }
.cvt-editorial .cv-it { font-size: 14px; }
.cvt-editorial .cv-io { color: #555; font-size: 12px; }
.cvt-editorial .cv-date { color: var(--a-text); font-size: 10.8px; font-weight: 700; }
.ed-aside .cv-it { font-size: 12.8px; }
.ed-aside .cv-item { margin-bottom: 3.4mm; }
.ed-list li { padding: 2px 0; border-bottom: 1px dotted #c9c9c9; font-size: 12px; }
.ed-aside .cv-langs li { font-size: 12px; }

/* ==========================================================================
   5) البلاطات
   ========================================================================== */
.cvt-bento { background: var(--a-faint); color: #1d1b26; font-size: 12.2px; line-height: 1.6; }
.bt-in { display: flex; flex-direction: column; gap: 4mm; height: 100%; padding: 9mm; }
.bt-top { flex: none; display: grid; grid-template-columns: minmax(0, 1fr) 64mm; gap: 4mm; }
.bt-top.is-solo { grid-template-columns: 1fr; }
.bt-tile { padding: 4.2mm 4.8mm; border: 1px solid rgba(30, 20, 60, .07); border-radius: 4.5mm; background: #fff; }
.bt-profile { display: flex; align-items: center; gap: 5mm; padding: 6mm; border: 0; background: var(--a); color: var(--a-ink); }
.bt-photo { width: 25mm; height: 25mm; border: 3px solid rgba(255, 255, 255, .55); }
.bt-id { min-width: 0; }
.cvt-bento .bt-profile .cv-name { font-size: 25px; line-height: 1.22; }
.cvt-bento .bt-profile .cv-role { margin-top: 3px; font-size: 13.5px; opacity: .9; }
.bt-contact { display: flex; align-items: center; }
.bt-contact .cv-contact { width: 100%; }
.bt-contact .cv-contact li { font-size: 10.8px; }
.bt-contact .cv-contact li + li { margin-top: 4px; }
.bt-contact .cv-ci { width: 20px; height: 20px; border-radius: 6px; background: var(--a-soft); color: var(--a-text); font-size: 11px; }
.bt-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 64mm; gap: 4mm; }
.bt-cols > .cv-slot { display: flex; flex-direction: column; gap: 3mm; }
.cvt-bento .cv-h { display: flex; align-items: center; gap: 6px; margin: 1mm 0 2mm; font-size: 13.2px; color: #1d1b26; }
.cvt-bento .cv-hi { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: var(--a); color: var(--a-ink); font-size: 12px; }
.cvt-bento .cv-item { margin-bottom: 0; }
.cvt-bento .cv-io { color: var(--a-text); font-weight: 600; }
.cvt-bento .bt-tile .cv-item + .cv-item { margin-top: 3mm; padding-top: 3mm; border-top: 1px dashed #e4e1ec; }
.bt-langs li { display: flex; align-items: center; gap: 8px; }
.bt-langs li + li { margin-top: 5px; }
.bt-langs span { display: flex; flex-direction: column; line-height: 1.3; }
.bt-langs small { font-size: 10.5px; color: #6c6880; }

/* ==========================================================================
   6) المخطوطة
   ========================================================================== */
.cvt-manuscript { background: #fbf6ea; color: #2b2117; font-size: 13.3px; line-height: 1.95; }
.ms-frame { position: absolute; inset: 7mm; border: 1.4px solid var(--a); pointer-events: none; }
.ms-frame::before { content: ""; position: absolute; inset: 1.6mm; border: .6px solid var(--a); opacity: .65; }
.ms-corner { position: absolute; width: 11mm; height: 11mm; padding: 1mm; background: #fbf6ea; color: var(--a); }
.ms-corner svg { display: block; width: 100%; height: 100%; }
.ms-corner.is-tl { top: -5.5mm; left: -5.5mm; }
.ms-corner.is-tr { top: -5.5mm; right: -5.5mm; }
.ms-corner.is-bl { bottom: -5.5mm; left: -5.5mm; }
.ms-corner.is-br { bottom: -5.5mm; right: -5.5mm; }
.ms-in { position: relative; display: flex; flex-direction: column; height: 100%; padding: 17mm 20mm 15mm; }
.ms-in > .cv-slot { flex: 1; }
.ms-head { flex: none; margin-bottom: 3mm; text-align: center; }
.ms-photo { width: 27mm; height: 27mm; margin: 0 auto 3mm; padding: 1.1mm; border: 1.6px solid var(--a); background: #fbf6ea; }
.ms-photo img { border-radius: inherit; }
.cvt-manuscript .cv-name { font-size: 34px; line-height: 1.4; color: #21180f; }
.ms-div { display: block; width: 62mm; height: 4mm; margin: 0 auto 1mm; color: var(--a); }
.cvt-manuscript .cv-role { font-size: 16px; color: var(--a-text); }
.ms-contact { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 1.5mm; font-size: 11.8px; line-height: 1.8; }
.ms-sep { margin: 0 7px; color: var(--a); font-size: 7px; vertical-align: middle; }
.ms-h { display: flex; align-items: center; justify-content: center; gap: 2.6mm; margin: 4.5mm 0 2mm; color: var(--a-text); font-size: 18px; text-align: center; }
.ms-h::before, .ms-h::after { content: ""; flex: 1; max-width: 34mm; height: 1px; background: var(--a); opacity: .45; }
.ms-orn { display: block; width: 4.6mm; height: 4.6mm; color: var(--a); }
.ms-orn svg { display: block; width: 100%; height: 100%; }
.cvt-manuscript .cv-summary { text-align: center; }
.cvt-manuscript .cv-desc { color: #3a2e21; text-align: justify; }
.cvt-manuscript .cv-item { margin-bottom: 3.2mm; }
.cvt-manuscript .cv-it { font-size: 15px; }
.cvt-manuscript .cv-io, .cvt-manuscript .cv-date, .cvt-manuscript .cv-grade { color: #6e5539; }
.cvt-manuscript .cv-date { font-size: 12px; }
.ms-inline { text-align: center; }
.ms-inline small { color: #6e5539; }

/* ==========================================================================
   7) الإنفوغرافيك
   ========================================================================== */
.cvt-infographic { display: flex; flex-direction: column; color: #1f2329; font-size: 12.4px; }
.ig-head { flex: none; display: grid; grid-template-columns: 1fr; grid-template-areas: "id" "stats"; gap: 6mm; align-items: center; padding: 10mm 13mm 9mm; background: var(--a); color: var(--a-ink); }
.ig-head.has-photo { grid-template-columns: 30mm minmax(0, 1fr); grid-template-areas: "photo id" "stats stats"; }
.ig-photo { grid-area: photo; width: 30mm; height: 30mm; border: 3px solid rgba(255, 255, 255, .75); }
.ig-id { grid-area: id; min-width: 0; }
.cvt-infographic .cv-name { font-size: 30px; font-weight: 800; line-height: 1.18; }
.cvt-infographic .cv-role { margin-top: 2px; font-size: 15px; opacity: .92; }
.ig-stats { grid-area: stats; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; }
.ig-stats li { display: flex; flex-direction: column; padding: 2.4mm 3.2mm; border-radius: 3mm; background: rgba(255, 255, 255, .17); }
.ig-stats b { font-size: 21px; font-weight: 800; line-height: 1.15; }
.ig-stats span { font-size: 10.4px; line-height: 1.35; opacity: .92; }
.ig-band { flex: none; height: 7mm; background: var(--a); }
.ig-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 61mm; gap: 8mm; padding: 8mm 12mm 10mm; }
.cvt-infographic .cv-h { display: flex; align-items: center; gap: 7px; margin-bottom: 3mm; font-size: 14.5px; font-weight: 800; color: #1f2329; }
.cvt-infographic .cv-hi { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--a); color: var(--a-ink); font-size: 13px; }
.cvt-infographic .cv-block.is-last { margin-bottom: 6mm; }
.cvt-infographic .cv-s-experience .cv-item, .cvt-infographic .cv-s-education .cv-item { padding-inline-start: 4mm; border-inline-start: 3px solid var(--a-soft); }
.cvt-infographic .cv-date { padding: 0 8px; border-radius: 999px; background: var(--a-faint); color: var(--a-text); font-size: 10.4px; font-weight: 700; }
.cvt-infographic .cv-date.is-below { display: inline-block; }
.cvt-infographic .cv-io { color: var(--a-text); font-weight: 600; }
.ig-side .cv-contact li { font-size: 11.2px; }
.ig-side .cv-ci { width: 23px; height: 23px; border-radius: 50%; background: var(--a-soft); color: var(--a-text); font-size: 12px; }
.ig-rings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3.5mm 2mm; text-align: center; }
.ig-rings li { position: relative; display: flex; flex-direction: column; align-items: center; font-size: 10.4px; line-height: 1.35; }
.ig-rings b { position: absolute; top: 15px; left: 0; right: 0; font-size: 11px; font-weight: 800; color: var(--a-text); }
.ig-rings span { margin-top: 4px; }
.ig-rings + .cv-chips { margin-top: 4mm; }
.ig-langs li { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ig-langs li + li { margin-top: 6px; }
.ig-ln { display: flex; flex-direction: column; line-height: 1.3; }
.ig-ln small { color: #6b7280; font-size: 10.4px; }

/* ==========================================================================
   8) القُطري
   ========================================================================== */
.cvt-diagonal { display: flex; flex-direction: column; color: #1c2230; font-size: 12.4px; line-height: 1.65; }
.dg-head { position: relative; flex: none; height: 62mm; padding: 13mm 14mm 0; }
.dg-band { position: absolute; inset: 0; background: linear-gradient(120deg, var(--a), var(--a-dark)); clip-path: polygon(0 0, 100% 0, 100% 62%, 0 100%); }
.cvt-diagonal[dir="rtl"] .dg-band { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 62%); }
.dg-id { position: relative; z-index: 1; max-width: 125mm; color: var(--a-ink); }
.cvt-diagonal .cv-name { font-size: 33px; font-weight: 800; line-height: 1.18; }
.cvt-diagonal .cv-role { margin-top: 3px; font-size: 15.5px; opacity: .92; }
.dg-photo { position: absolute; z-index: 2; bottom: 4mm; inset-inline-end: 16mm; width: 36mm; height: 36mm; border: 4px solid #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .16); }
.dg-mini { flex: none; height: 12mm; background: linear-gradient(120deg, var(--a), var(--a-dark)); clip-path: polygon(0 0, 100% 0, 100% 30%, 0 100%); }
.cvt-diagonal[dir="rtl"] .dg-mini { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 30%); }
.dg-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 60mm; gap: 8mm; padding: 4mm 13mm 10mm; }
.dg-side { padding: 5mm 4.5mm; border-radius: 3mm; background: #f2f4f8; }
.dg-h { margin-bottom: 3mm; line-height: 1.2; }
.dg-tag { display: inline-block; padding: 2px 12px 3px; border-radius: 2px; background: var(--a); color: var(--a-ink); transform: skewX(-14deg); }
.dg-tag .cv-ht { display: inline-block; font-size: 13.5px; font-weight: 800; transform: skewX(14deg); }
.cvt-diagonal .cv-block.is-last { margin-bottom: 6mm; }
.cvt-diagonal .cv-it { font-weight: 800; }
.cvt-diagonal .cv-io { color: var(--a-text); font-weight: 700; font-size: 12px; }
.dg-side .cv-ci { color: var(--a-text); font-size: 13px; }
.dg-side .cv-contact li { font-size: 11.2px; }
.dg-side .cv-bars li + li { margin-top: 6px; }

/* ==========================================================================
   9) الشبكة السويسرية
   ========================================================================== */
.cvt-swiss { color: #0f0f10; font-size: 12.4px; line-height: 1.6; }
.sw-in { display: flex; flex-direction: column; height: 100%; padding: 15mm 15mm 11mm; }
.sw-in > .cv-slot { flex: 1; }
.sw-head { flex: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5mm 8mm; padding-bottom: 6mm; border-bottom: 4px solid #0f0f10; }
.cvt-swiss .cv-name { font-size: 40px; line-height: 1.08; }
.cvt-swiss[lang="en"] .cv-name { letter-spacing: -1px; }
.cvt-swiss .cv-role { margin-top: 3mm; font-size: 16px; font-weight: 700; color: var(--a-text); }
.sw-photo { grid-row: span 2; width: 27mm; height: 27mm; }
.sw-contact { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2mm 6mm; }
.sw-contact dt { font-size: 9.6px; color: #6a6a6a; }
.sw-contact dd { font-size: 11.4px; font-weight: 600; overflow-wrap: anywhere; }
.sw-row { display: grid; grid-template-columns: 35mm minmax(0, 1fr); gap: 6mm; padding-top: 3mm; }
.sw-row.is-first { margin-top: 4mm; border-top: 1.5px solid #0f0f10; }
.sw-label .cv-h { font-size: 12.6px; line-height: 1.4; color: var(--a-text); }
.sw-item { display: grid; grid-template-columns: 26mm minmax(0, 1fr); gap: 4mm; padding-bottom: 3mm; }
.sw-when { padding-top: 2px; font-size: 10.8px; color: #555; }
.cvt-swiss .cv-it { font-size: 13.4px; }
.cvt-swiss .cv-io { color: #444; }
.sw-lede { font-size: 13.4px; }
.sw-cols { columns: 3; column-gap: 6mm; font-size: 12.2px; }
.sw-cols.is-2 { columns: 2; }
.sw-cols li { break-inside: avoid; padding: 1px 0; }
.sw-cols span { color: #666; }
.cvt-swiss .cv-ref { padding-bottom: 3mm; }

/* ==========================================================================
   10) الأفق
   ========================================================================== */
.cvt-horizon { display: flex; flex-direction: column; color: #1b2421; font-size: 12.7px; line-height: 1.66; }
.hz-head { position: relative; flex: none; padding: 11mm 14mm 15mm; background: linear-gradient(130deg, var(--a), var(--a2)); color: var(--a-ink); }
.hz-row { display: flex; align-items: center; gap: 6mm; }
.hz-photo { width: 30mm; height: 30mm; border: 3px solid rgba(255, 255, 255, .7); }
.hz-photo.is-rounded { border-radius: 30%; }
.hz-id { min-width: 0; }
.cvt-horizon .cv-name { font-size: 30px; font-weight: 800; line-height: 1.2; }
.cvt-horizon .cv-role { margin-top: 2px; font-size: 15px; opacity: .92; }
.hz-chips { display: flex; flex-wrap: wrap; gap: 2mm; margin-top: 5mm; }
.hz-chips li { display: inline-flex; align-items: center; gap: 5px; padding: 1px 10px; border-radius: 999px; background: rgba(255, 255, 255, .2); font-size: 11px; }
.hz-wave { position: absolute; left: 0; right: 0; bottom: -1px; display: block; width: 100%; height: 7mm; }
.hz-top { flex: none; height: 4mm; background: linear-gradient(90deg, var(--a), var(--a2)); }
.hz-body { flex: 1; padding: 3mm 14mm 10mm; }
.cvt-horizon .cv-h { display: flex; align-items: center; gap: 8px; margin-bottom: 2.6mm; font-size: 15px; font-weight: 800; color: #1b2421; }
.cvt-horizon .cv-hi { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--a), var(--a2)); color: var(--a-ink); font-size: 14px; }
.cvt-horizon .cv-block.is-last { margin-bottom: 5mm; }
.cvt-horizon .cv-item, .cvt-horizon .cv-summary, .cvt-horizon .cv-personal, .cvt-horizon .cv-chips, .cvt-horizon .cv-langs, .cvt-horizon .cv-links { margin-inline-start: 36px; }
.cvt-horizon .cv-io { color: var(--a-text); font-weight: 600; }
.hz-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }
.hz-pair .cv-chips { margin-inline-start: 36px; }

/* ==========================================================================
   11) الهامش
   ========================================================================== */
.cvt-mono { color: #2a2a2e; font-size: 12.3px; line-height: 1.78; }
.mn-in { display: flex; flex-direction: column; height: 100%; padding: 20mm 20mm 15mm; }
.mn-in > .cv-slot { flex: 1; }
.mn-head { flex: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 5mm 6mm; margin-bottom: 9mm; }
.cvt-mono .cv-name { font-size: 36px; font-weight: 300; line-height: 1.18; color: #111114; }
.cvt-mono .cv-role { margin-top: 2mm; font-size: 14px; color: #6b6b73; }
.mn-photo { width: 22mm; height: 22mm; }
.mn-contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 1mm 8mm; font-size: 11px; color: #55555c; }
.mn-h { display: flex; align-items: center; gap: 3mm; margin-bottom: 3mm; font-size: 11.4px; font-weight: 400; color: #8a8a92; }
.mn-h::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--a); }
.cvt-mono .cv-block.is-last { margin-bottom: 7mm; }
.mn-lede { max-width: 140mm; font-size: 14px; color: #3a3a40; }
.mn-item { display: grid; grid-template-columns: minmax(0, 1fr) 36mm; gap: 8mm; margin-bottom: 4mm; }
.mn-margin { padding-top: 2px; text-align: end; font-size: 10.6px; color: #8a8a92; }
.cvt-mono .cv-it { font-size: 13.6px; font-weight: 400; color: #111114; }
.cvt-mono .cv-io { color: #6b6b73; }
.cvt-mono .cv-desc { color: #45454c; }
.mn-soft { color: #8a8a92; }
.mn-refs { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm 8mm; }

/* ==========================================================================
   12) التنفيذي
   ========================================================================== */
.cvt-executive { display: flex; flex-direction: column; color: #1c2333; font-size: 12.5px; line-height: 1.66; }
.ex-head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 8mm; padding: 11mm 15mm 10mm; background: #14213d; color: #fff; }
.ex-id { min-width: 0; }
.cvt-executive .cv-name { font-size: 33px; line-height: 1.22; color: #fff; }
.ex-rule { display: block; width: 26mm; height: 2px; margin: 3mm 0 2.5mm; background: var(--a); }
.cvt-executive .cv-role { font-size: 15px; font-weight: 600; color: var(--a-mid); }
.ex-photo { width: 30mm; height: 30mm; padding: 1.2mm; border: 2px solid var(--a); background: #14213d; }
.ex-photo img { border-radius: inherit; }
.ex-strip { flex: none; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 1.5mm 7mm; padding: 3mm 15mm; background: #f1f2f5; color: #2f3646; font-size: 11px; }
.ex-strip li { min-width: 0; }
.ex-strip li { display: inline-flex; align-items: center; gap: 5px; }
.ex-strip .cv-ico { color: var(--a-text); }
.ex-run { flex: none; padding: 3mm 15mm; background: #14213d; color: #fff; font-family: var(--f-head); font-size: 13px; }
.ex-body { flex: 1; padding: 8mm 15mm 11mm; }
.ex-h { display: flex; align-items: center; gap: 4mm; margin-bottom: 3mm; color: #14213d; font-size: 17px; }
.ex-line { flex: 1; height: 1px; background: var(--a); }
.cvt-executive .cv-block.is-last { margin-bottom: 5mm; }
.ex-lede { color: #3b4357; }
.ex-item { display: grid; grid-template-columns: 29mm minmax(0, 1fr); gap: 5mm; margin-bottom: 3.5mm; }
.ex-when { padding-top: 2px; font-size: 10.8px; font-weight: 700; color: var(--a-text); }
.cvt-executive .cv-it { color: #14213d; }
.cvt-executive .cv-io { color: #59617a; font-size: 12px; }
.ex-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2mm 5mm; }
.ex-grid li { display: flex; align-items: center; gap: 6px; font-size: 12.2px; }
.ex-grid .cv-ico { color: var(--a-text); }
.ex-grid small { color: #6b7287; }
.ex-refs { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm 8mm; }
