/* ===============================================================
   السيرة الذاتية لمؤسس الوقف — تصميم مخصص
   الألوان: أخضر الهوية #0E3530 / #054239 — ذهبي #C9A24B — كريمي #FAF7F0
   =============================================================== */

:root {
    --cv-teal-900: #0E3530;
    --cv-teal-700: #0B4A3E;
    --cv-teal-600: #116152;
    --cv-gold: #C9A24B;
    --cv-gold-soft: rgba(201, 162, 75, 0.16);
    --cv-cream: #FAF7F0;
    --cv-ink: #33322D;
    --cv-line: rgba(14, 53, 48, 0.10);
}

.cv-page p { color: var(--cv-ink); }

/* ---------- Hero ---------- */
.cv-hero { padding: 3.5rem 0 3rem; }

.cv-hero .row { align-items: center; }

.cv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--cv-teal-700);
    background: var(--cv-gold-soft);
    border: 1px solid rgba(201, 162, 75, 0.45);
    border-radius: 100px;
    padding: .35rem 1.1rem;
    font-family: var(--font-family-bold);
    font-size: .95rem;
    margin-bottom: 1.2rem;
}

.cv-hero h1 {
    font-family: var(--font-family-extrabold);
    color: var(--cv-teal-900);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.35;
    margin-bottom: .4rem;
}

.cv-hero .cv-subtitle {
    color: var(--cv-gold);
    font-family: var(--font-family-bold);
    font-size: 1.25rem;
    margin-bottom: 1.4rem;
}

.cv-divider {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.6rem;
}
.cv-divider::before,
.cv-divider::after {
    content: "";
    height: 1px;
    width: 64px;
    background: linear-gradient(90deg, transparent, var(--cv-gold));
}
.cv-divider::after {
    background: linear-gradient(90deg, var(--cv-gold), transparent);
}
.cv-divider svg { flex: 0 0 auto; }

.cv-quote {
    position: relative;
    font-size: 1.2rem;
    line-height: 2;
    color: var(--cv-teal-700);
    padding-right: 1.4rem;
    border-right: 3px solid var(--cv-gold);
    max-width: 520px;
}
.cv-quote::before {
    content: "\201D";
    position: absolute;
    top: -1.6rem;
    right: -0.4rem;
    font-size: 4rem;
    line-height: 1;
    color: var(--cv-gold);
    opacity: .55;
    font-family: Georgia, serif;
}

/* portrait */
.cv-portrait { position: relative; max-width: 420px; margin-inline: auto; }
.cv-portrait::before {
    content: "";
    position: absolute;
    inset: 1.1rem -1.1rem -1.1rem 1.1rem;
    border: 1.5px solid var(--cv-gold);
    border-radius: 22px;
    opacity: .8;
}
.cv-portrait-card {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 48px rgba(14, 53, 48, 0.16);
}
.cv-portrait-card img {
    width: 100%;
    display: block;
    aspect-ratio: 5 / 4.4;
    object-fit: cover;
    object-position: top;
}
.cv-portrait-caption {
    background: linear-gradient(120deg, var(--cv-teal-900), var(--cv-teal-700));
    color: #fff;
    text-align: center;
    padding: 1.1rem 1rem 1.15rem;
}
.cv-portrait-caption strong {
    display: block;
    color: var(--cv-gold);
    font-family: var(--font-family-bold);
    font-size: 1.15rem;
    margin-bottom: .2rem;
}
.cv-portrait-caption span { font-size: .95rem; opacity: .92; }

/* ---------- Stats strip ---------- */
.cv-stats {
    background:
        radial-gradient(700px 300px at 85% 0%, rgba(201, 162, 75, 0.14), transparent 60%),
        linear-gradient(120deg, var(--cv-teal-900), var(--cv-teal-700));
    color: #fff;
    padding: 2.2rem 0;
}
.cv-stats .row { text-align: center; }
.cv-stat b {
    display: block;
    font-family: var(--font-family-extrabold);
    color: var(--cv-gold);
    font-size: 2.1rem;
    line-height: 1.2;
}
.cv-stat span { font-size: .95rem; opacity: .92; }
.cv-stat { padding: .6rem 0; }

/* ---------- Section headers ---------- */
.cv-section { padding: 3.6rem 0; }
.cv-section.alt {
    background: #fff;
    border-block: 1px solid var(--cv-line);
}
.cv-section-head { text-align: center; margin-bottom: 2.4rem; }
.cv-section-head h2 {
    font-family: var(--font-family-extrabold);
    color: var(--cv-teal-900);
    font-size: 1.9rem;
    margin-bottom: .6rem;
}
.cv-section-head .cv-divider { justify-content: center; margin-bottom: .8rem; }
.cv-section-head p { color: #6d6c64; max-width: 640px; margin-inline: auto; }

/* ---------- محطات المسيرة: خط زمني متناوب ---------- */
.cv2-timeline { position: relative; max-width: 1000px; margin-inline: auto; padding: 10px 0 4px; }
.cv2-timeline::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0; right: 50%;
    width: 2.5px;
    transform: translateX(50%);
    background: linear-gradient(180deg, rgba(201,162,75,.15), var(--cv-gold) 12%, var(--cv-gold) 88%, rgba(201,162,75,.15));
}
.cv2-ms { position: relative; width: 50%; padding-bottom: 2rem; }
.cv2-ms:last-child { padding-bottom: 0; }
.cv2-ms.side-r { padding-left: 52px; }
.cv2-ms.side-l { margin-right: 50%; padding-right: 52px; }

.cv2-dot {
    position: absolute;
    top: 26px;
    width: 17px; height: 17px;
    border-radius: 50%;
    background: #fff;
    border: 3.5px solid var(--cv-gold);
    box-shadow: 0 0 0 5px rgba(201, 162, 75, 0.15);
    z-index: 1;
}
.cv2-ms.side-r .cv2-dot { left: 0; transform: translateX(-50%); left: -1.25px; }
.cv2-ms.side-l .cv2-dot { right: 0; transform: translateX(50%); right: -1.25px; }

.cv2-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--cv-line);
    border-radius: 18px;
    padding: 1.3rem 1.4rem 1.2rem;
    box-shadow: 0 14px 30px rgba(14, 53, 48, 0.07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cv2-card:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 162, 75, 0.55);
    box-shadow: 0 22px 44px rgba(14, 53, 48, 0.12);
}
.cv2-card::before {                       /* سهم نحو الخط */
    content: "";
    position: absolute;
    top: 27px;
    width: 14px; height: 14px;
    background: #fff;
    transform: rotate(45deg);
    border: 1px solid var(--cv-line);
}
.cv2-ms.side-r .cv2-card::before { right: -8px; border-left: 0; border-bottom: 0; border-color: var(--cv-line); clip-path: polygon(0 0, 100% 0, 100% 100%); }
.cv2-ms.side-l .cv2-card::before { left: -8px; clip-path: polygon(0 0, 0 100%, 100% 100%); }

.cv2-top { display: flex; align-items: center; gap: .8rem; margin-bottom: .55rem; }
.cv2-ic {
    flex: 0 0 auto;
    width: 46px; height: 46px;
    border-radius: 13px;
    display: grid; place-items: center;
    background: linear-gradient(140deg, var(--cv-teal-900), var(--cv-teal-700));
    box-shadow: 0 8px 18px rgba(14, 53, 48, 0.18);
}
.cv2-year {
    display: inline-block;
    background: var(--cv-gold-soft);
    border: 1px solid rgba(201, 162, 75, 0.5);
    color: var(--cv-teal-700);
    font-family: var(--font-family-extrabold);
    font-size: 1rem;
    border-radius: 100px;
    padding: .2rem 1rem;
}
.cv2-card h3 {
    font-family: var(--font-family-extrabold);
    color: var(--cv-teal-900);
    font-size: 1.22rem;
    margin: .2rem 0 .4rem;
}
.cv2-card p { margin: 0; line-height: 1.95; color: var(--cv-ink); font-size: .96rem; }

/* ---------- السيرة الذاتية: فصول ببطاقات فاخرة ---------- */
.cv2-toc {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem;
    margin-bottom: 2.2rem;
}
.cv2-toc a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    text-decoration: none;
    background: #fff;
    border: 1.5px solid rgba(201, 162, 75, 0.5);
    color: var(--cv-teal-900);
    font-family: var(--font-family-bold);
    border-radius: 100px;
    padding: .55rem 1.3rem;
    font-size: .97rem;
    transition: background .2s ease, color .2s ease;
}
.cv2-toc a b { color: var(--cv-gold); font-family: var(--font-family-extrabold); }
.cv2-toc a:hover { background: var(--cv-gold); color: #fff; }
.cv2-toc a:hover b { color: #fff; }

.cv2-chapters { margin-inline: auto; }
.cv2-chap {
    position: relative;
    background: #fff;
    border: 1px solid var(--cv-line);
    border-radius: 22px;
    padding: 2rem 2.1rem 1.9rem;
    margin-bottom: 2rem;
    box-shadow: 0 16px 36px rgba(14, 53, 48, 0.06);
    overflow: hidden;
    scroll-margin-top: 110px;
}
.cv2-chap::before {                       /* شريط ذهبي جانبي */
    content: "";
    position: absolute;
    top: 0; bottom: 0; right: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--cv-gold), rgba(201, 162, 75, 0.2));
}
.cv2-chap .ghost {                        /* رقم مائي كبير */
    position: absolute;
    top: -1.4rem;
    left: .6rem;
    font-family: var(--font-family-extrabold);
    font-size: 7.5rem;
    line-height: 1;
    color: rgba(201, 162, 75, 0.10);
    pointer-events: none;
    user-select: none;
}
.cv2-chap-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.2rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed rgba(201, 162, 75, 0.4);
}
.cv2-chap-head .chip {
    flex: 0 0 auto;
    width: 54px; height: 54px;
    border-radius: 15px;
    display: grid; place-items: center;
    background: linear-gradient(140deg, var(--cv-teal-900), var(--cv-teal-700));
    box-shadow: 0 10px 22px rgba(14, 53, 48, 0.18);
}
.cv2-chap-head h3 {
    font-family: var(--font-family-extrabold);
    color: var(--cv-teal-900);
    font-size: 1.5rem;
    margin: 0 0 .15rem;
}
.cv2-chap-head .sub { color: var(--cv-gold); font-family: var(--font-family-bold); font-size: .95rem; }

.cv2-lead {
    background: var(--cv-gold-soft);
    border: 1px solid rgba(201, 162, 75, 0.4);
    border-radius: 14px;
    padding: 1rem 1.2rem;
    color: var(--cv-teal-700);
    line-height: 2.05;
    margin-bottom: 1.2rem;
    font-size: 1.03rem;
}
.cv2-chap p { line-height: 2.08; text-align: right; color: var(--cv-ink); margin-bottom: 1rem; word-break: break-word; overflow-wrap: break-word; }
.cv2-chap p:last-child { margin-bottom: 0; }

.cv2-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.1rem 0 .4rem; }
.cv2-tags .tag {
    background: #fff;
    border: 1px solid rgba(201, 162, 75, 0.55);
    color: var(--cv-teal-900);
    font-family: var(--font-family-bold);
    font-size: .88rem;
    border-radius: 100px;
    padding: .32rem 1rem;
    box-shadow: 0 6px 14px rgba(14, 53, 48, 0.05);
}
.cv2-tags-label {
    font-family: var(--font-family-bold);
    color: var(--cv-teal-700);
    margin: 1.2rem 0 0;
    font-size: .95rem;
}

/* ---------- تجاوب ---------- */
@media (max-width: 991px) {
    .cv2-timeline::before { right: 9px; transform: none; }
    .cv2-ms, .cv2-ms.side-l { width: 100%; margin-right: 0; padding: 0 34px 1.6rem 0; }
    .cv2-ms.side-r { padding-left: 0; padding-right: 34px; }
    .cv2-ms .cv2-dot, .cv2-ms.side-l .cv2-dot, .cv2-ms.side-r .cv2-dot { right: 9px; left: auto; transform: translateX(50%); }
    .cv2-ms .cv2-card::before { display: none; }
    .cv2-chap { padding: 1.5rem 1.2rem; }
    .cv2-chap .ghost { font-size: 5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .cv2-card { transition: none; }
}

/* ---------- الجوائز ---------- */
.cv-award {
    background: #fff;
    border: 1px solid var(--cv-line);
    border-radius: 18px;
    padding: 1.6rem 1.4rem;
    height: 100%;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cv-award:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(14, 53, 48, 0.10);
    border-color: rgba(201, 162, 75, 0.55);
}
.cv-award .icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(140deg, var(--cv-teal-900), var(--cv-teal-700));
}
.cv-award time {
    display: block;
    color: var(--cv-gold);
    font-family: var(--font-family-extrabold);
    font-size: 1.15rem;
    margin-bottom: .35rem;
}
.cv-award p {
    margin: 0;
    font-family: var(--font-family-bold);
    color: var(--cv-teal-900);
    line-height: 1.8;
}

/* ---------- المناصب والعضويات ---------- */
.cv-role {
    display: flex;
    align-items: center;
    gap: .9rem;
    background: #fff;
    border: 1px solid var(--cv-line);
    border-radius: 14px;
    padding: .95rem 1.1rem;
    height: 100%;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.cv-role:hover {
    border-color: rgba(201, 162, 75, 0.55);
    box-shadow: 0 10px 22px rgba(14, 53, 48, 0.07);
}
.cv-role .dot {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: var(--cv-gold-soft);
    border: 1px solid rgba(201, 162, 75, 0.4);
}
.cv-role p {
    margin: 0;
    font-family: var(--font-family-bold);
    color: var(--cv-teal-900);
    font-size: .98rem;
    line-height: 1.7;
}

/* ---------- الخاتمة ---------- */
.cv-closing {
    max-width: 820px;
    margin-inline: auto;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(201, 162, 75, 0.4);
    border-radius: 22px;
    padding: 2.4rem 2rem;
    box-shadow: 0 18px 40px rgba(14, 53, 48, 0.07);
}
.cv-closing p {
    font-size: 1.15rem;
    line-height: 2.1;
    color: var(--cv-teal-700);
    margin: 0;
}

/* ---------- تجاوب ---------- */
@media (max-width: 991px) {
    .cv-hero { padding-top: 2.2rem; }
    .cv-hero h1 { font-size: 1.8rem; }
    .cv-portrait { margin-top: 2.2rem; }
    .cv-quote { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
    .cv-award, .cv-role { transition: none; }
}

/* أرقام بدل الأيقونات في بطاقات المناصب والعضويات */
.cv-role .dot b {
    color: var(--cv-teal-700);
    font-family: var(--font-family-extrabold);
    font-size: .95rem;
}



/* ══════════════════════════════════════════════════════
   cv-split — ثلث صورة ثابتة + ثلثان محتوى
   ══════════════════════════════════════════════════════ */
.cv-split {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
    margin-top: 2rem;
}
.cv-split-img { display: block; }

/* ── عمود الصورة (ثلث) — يلتصق أثناء التمرير ── */
.cv-split-img {
    position: relative;
    top: unset;
}

.cv-split-img-inner {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(14,53,48,.18);
    border: 3px solid rgba(201,162,75,.35);
    background: #0E3530;
}

.cv-split-img-inner img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.cv-split-name {
    padding: 1rem 1.2rem;
    text-align: center;
    background: linear-gradient(135deg, #0E3530, #0B4A3E);
}

.cv-split-name span {
    display: block;
    color: #fff;
    font-family: var(--font-family-bold);
    font-size: .95rem;
    line-height: 1.5;
}

.cv-split-name small {
    display: block;
    color: #C9A24B;
    font-family: var(--font-family-semibold);
    font-size: .8rem;
    margin-top: .2rem;
}

/* ── عمود المحتوى (ثلثان) ── */
.cv-split-content {
    min-width: 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* ── تجاوب ── */
@media (max-width: 900px) {
    .cv-split {
        grid-template-columns: 1fr;
    }
    .cv-split-img {
        position: static;
        max-width: 280px;
        margin: 0 auto;
    }
}

/* ── قوائم السيرة ── */
.cv2-list {
    padding-right: 1.2rem;
    margin: 1rem 0 1.5rem;
}
.cv2-list li {
    color: #33322D;
    font-size: .95rem;
    line-height: 1.9;
    margin-bottom: .3rem;
    position: relative;
}
.cv2-list li::marker {
    color: #C9A24B;
}

/* ── قسم المناصب ── */
.cv2-positions {
    background: rgba(14,53,48,.04);
    border-right: 3px solid #C9A24B;
    border-radius: 12px;
    padding: 1.5rem 1.5rem 1rem;
    margin: 1.5rem 0;
}
.cv2-positions-title {
    font-family: var(--font-family-extrabold);
    color: #0E3530;
    font-size: 1.1rem;
    margin-bottom: .4rem;
}
.cv2-positions-sub {
    color: #6d6c64;
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.7;
}

/* ── جملة الختام ── */
.cv2-closing {
    font-family: var(--font-family-bold);
    color: #0E3530;
    font-size: 1rem;
    line-height: 1.9;
    border-top: 1px dashed rgba(201,162,75,.4);
    padding-top: 1rem;
    margin-top: 1rem;
}

/* ── صور الجوائز — مستطيل بحواف دائرية ── */
.cv-award-img {
    width: 140px;
    height: 140px;
    margin: 0 auto 1rem;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid rgba(201,162,75,.35);
    box-shadow: 0 6px 20px rgba(14,53,48,.12);
    background: #f8f7f3;
}
.cv-award-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
    transition: transform .25s ease;
}
.cv-award:hover .cv-award-img img {
    transform: scale(1.06);
}