/* =====================================================================
   صفحة CV العامة — خبراء سودانيين
   تبني على tokens الموجودة في site.css ولا تعيد تعريفها إطلاقاً.
   إعادة التعريف هي ما كان يُلغي هوية «الملتقى» على هذه الصفحة تحديداً.
   ===================================================================== */

body.cv-body{
    background:var(--raml);
    color:var(--ink);
    line-height:1.75;
    font-size:15px;
    padding:32px 18px 64px;
}

/* ── الشريط العلوي (لا يُطبع) ─────────────────────────────── */
.cv-toolbar{
    max-width:860px; margin:0 auto 14px;
    display:flex; justify-content:space-between; align-items:center;
    gap:12px; flex-wrap:wrap;
}
.cv-lang-switch{
    display:flex; border:1px solid var(--line-2); border-radius:var(--r);
    overflow:hidden; background:var(--paper);
}
.cv-lang-switch a{
    padding:6px 16px; font-size:.8rem; color:var(--ink-2);
    text-decoration:none; transition:all var(--tr);
}
.cv-lang-switch a:hover{ background:var(--raml); }
.cv-lang-switch a.active{ background:var(--azraq); color:var(--paper); }
.cv-tools{ display:flex; gap:8px; flex-wrap:wrap; }
.cv-tool-btn{
    border:1px solid var(--line-2); background:var(--paper); color:var(--ink-2);
    padding:6px 15px; border-radius:var(--r); font-size:.81rem;
    font-family:inherit; cursor:pointer; text-decoration:none; transition:all var(--tr);
}
.cv-tool-btn:hover{ border-color:var(--sudd); color:var(--sudd); }

.qr-box{
    max-width:860px; margin:0 auto 14px; background:var(--paper);
    border:1px solid var(--line); border-radius:var(--r-lg);
    padding:18px; text-align:center;
}
.qr-box img{ border-radius:var(--r); }

/* ── الورقة ───────────────────────────────────────────────── */
.cv-wrapper{
    max-width:860px; margin:0 auto;
    background:var(--paper); border:1px solid var(--line);
    border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--lift-lg);
}

/* ── الرأس: شريط النيل ────────────────────────────────────── */
.cv-header{
    background:var(--hero-bg); color:var(--hero-tx);
    padding:34px 38px;
    display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center;
}
.cv-avatar img,.cv-avatar-placeholder{
    width:86px; height:86px; border-radius:2px; object-fit:cover;
    border:1px solid rgba(255,255,255,.22); flex-shrink:0; display:block;
}
.cv-avatar-placeholder{
    background:rgba(255,255,255,.07); color:var(--abyad);
    display:grid; place-items:center; font-size:2rem; font-weight:600;
}
.cv-identity{ min-width:0; }
.cv-name{ font-size:1.6rem; font-weight:600; margin:0 0 5px; color:var(--hero-tx); }
.cv-title{ font-size:1rem; font-weight:400; color:var(--abyad); margin:0 0 7px; }
.cv-specialty{
    font-size:.74rem; color:var(--hero-dim); margin:0;
}
.cv-summary{
    font-size:.92rem; color:var(--hero-mut); margin:10px 0 0;
    max-width:60ch; line-height:1.9;
}
/* ── التفاعل ──────────────────────────────────────────────── */
.cv-engagement{
    display:flex; align-items:center; gap:18px; flex-wrap:wrap;
    padding:14px 38px; background:var(--raml); border-bottom:1px solid var(--line);
}
.like-btn{
    border:1px solid var(--line-2); background:var(--paper); color:var(--ink-2);
    border-radius:var(--r); padding:6px 15px; cursor:pointer;
    font-size:.83rem; font-family:inherit; display:inline-flex; align-items:center; gap:7px;
    transition:all var(--tr);
}
.like-btn:hover{ border-color:var(--ochre); color:var(--ochre); }
.like-btn .badge{
    background:var(--accent-bg2); color:var(--sudd); border-radius:2px;
    padding:1px 7px; font-size:.72rem; font-family:'IBM Plex Mono',monospace;
}
.rating-box{ display:flex; align-items:center; gap:9px; }
.rating-stars .star{
    cursor:pointer; font-size:1.15rem; color:var(--line-2);
    transition:color .12s; padding:0 1px;
}
.rating-stars .star:hover,.rating-stars .star.on{ color:var(--ochre); }
.rating-meta{
    font-size:.78rem; color:var(--ink-3);
    font-family:'IBM Plex Mono',monospace; direction:ltr; unicode-bidi:isolate;
}

/* ── تخصصات أخرى ──────────────────────────────────────────── */
.cv-profiles-nav{
    display:flex; align-items:center; gap:9px; flex-wrap:wrap;
    padding:12px 38px; background:var(--paper); border-bottom:1px solid var(--line);
}
.nav-label{ color:var(--ink-3); font-size:.79rem; }
.nav-profile-link{
    color:var(--sudd); text-decoration:none; font-size:.81rem;
    padding:4px 12px; border-radius:2px; border:1px solid var(--line-2);
    transition:all var(--tr);
}
.nav-profile-link:hover{ border-color:var(--sudd); background:var(--accent-bg); }

/* ── الأقسام ──────────────────────────────────────────────── */
.cv-sections{ padding:6px 38px 38px; }
.cv-section{ padding:26px 0; border-bottom:1px solid var(--line); page-break-inside:avoid; }
.cv-section:last-child{ border-bottom:none; }
/* العربية: خط النص بلا تباعد — التباعد يفكّ وصل الحروف.
   الإنجليزية: الطابع التقني بخط أحادي المسافة وتباعد وتكبير. */
.section-title{
    font-family:'Readex Pro',sans-serif; font-size:.88rem; font-weight:600;
    letter-spacing:0; color:var(--sudd); margin:0 0 20px;
}
[dir="ltr"] .section-title{
    font-family:'IBM Plex Mono',monospace; font-size:.72rem; font-weight:500;
    letter-spacing:.15em; text-transform:uppercase;
}

/* ── المدخلات: عمود تاريخ + محتوى ─────────────────────────── */
.cv-entry{
    display:grid; grid-template-columns:118px 1fr; gap:18px;
    margin-bottom:21px; padding:0; border:none;
}
.cv-entry:last-child{ margin-bottom:0; }
.entry-when{
    font-family:'IBM Plex Mono',monospace; font-size:.75rem; color:var(--ink-3);
    padding-top:3px; direction:ltr; unicode-bidi:isolate;
}
html[dir="rtl"] .entry-when{ text-align:start; }
.entry-body{ min-width:0; }
.entry-title{ font-size:1rem; font-weight:600; margin:0 0 2px; color:var(--ink); }
.entry-org{ color:var(--sudd); font-size:.85rem; display:block; margin-bottom:6px; }
.entry-desc{ color:var(--ink-2); font-size:.88rem; line-height:1.85; margin:0; }
.entry-link{
    color:var(--sudd); font-size:.78rem; text-decoration:none;
    border-bottom:1px solid var(--line-2); margin-inline-start:8px;
}
.entry-link:hover{ border-color:var(--sudd); }

/* ── المهارات واللغات والتواصل ────────────────────────────── */
.skills-grid,.contact-list{ display:flex; flex-wrap:wrap; gap:8px; }
.skill-tag{
    border:1px solid var(--line-2); background:var(--paper); color:var(--ink-2);
    padding:5px 12px; border-radius:2px; font-size:.83rem;
}
.languages-list{ display:flex; flex-wrap:wrap; gap:8px; }
.language-item{
    display:flex; align-items:center; gap:8px;
    border:1px solid var(--line-2); border-radius:2px; padding:5px 12px; font-size:.83rem;
}
.lang-name{ font-weight:500; }
/* margin احتياطي إلى جانب gap — بعض محرّكات العرض القديمة تتجاهل gap */
.lang-level{ color:var(--ink-3); margin-inline-start:6px; }
.lang-level::before{ content:'·'; margin-inline-end:6px; color:var(--line-2); }
.contact-item{
    display:inline-block; padding:5px 13px; border:1px solid var(--line-2);
    border-radius:2px; text-decoration:none; color:var(--ink-2); font-size:.83rem;
    transition:all var(--tr);
}
.contact-item:hover{ border-color:var(--sudd); color:var(--sudd); }

/* ── التذييل ──────────────────────────────────────────────── */
.cv-footer{
    text-align:center; padding:18px 38px; background:var(--raml);
    border-top:1px solid var(--line); color:var(--ink-3); font-size:.8rem;
}
.cv-footer a{ color:var(--sudd); text-decoration:none; font-weight:500; }

/* =====================================================================
   القوالب الأربعة — كل واحد قرار تصميمي مختلف، لا لون مختلف فقط
   ===================================================================== */

/* classic: الافتراضي أعلاه — شريط نيل داكن وأقسام مفصولة بخطوط */

/* modern: بلا شريط داكن، الاسم كبير على ورق فاتح وخط ملتقى تحته */
.tpl-modern .cv-header{
    background:var(--paper); color:var(--ink);
    border-bottom:3px solid var(--azraq); padding-bottom:28px;
}
.tpl-modern .cv-name{ color:var(--ink); font-size:2rem; letter-spacing:-.01em; }
.tpl-modern .cv-title{ color:var(--sudd); font-weight:500; }
.tpl-modern .cv-specialty{ color:var(--ink-3); }
.tpl-modern .cv-summary{ color:var(--ink-2); }
.tpl-modern .cv-avatar img,.tpl-modern .cv-avatar-placeholder{
    border-radius:50%; border:2px solid var(--line);
}
.tpl-modern .cv-avatar-placeholder{ background:var(--raml); color:var(--azraq); }
.tpl-modern .section-title{
    color:var(--azraq); font-family:'Readex Pro',sans-serif; font-size:1rem;
    font-weight:600; letter-spacing:0;
}

/* elegant: مسافات أوسع، خط تسلسلي للعناوين، بلا خطوط فاصلة */
.tpl-elegant .cv-header{ text-align:center; grid-template-columns:1fr; justify-items:center; }
.tpl-elegant .cv-identity{ text-align:center; }
.tpl-elegant .cv-summary{ margin-inline:auto; }
.tpl-elegant .cv-sections{ padding-inline:56px; }
.tpl-elegant .cv-section{ border-bottom:none; padding:30px 0 6px; }
.tpl-elegant .section-title{
    text-align:center; font-family:'Readex Pro',sans-serif; font-size:.95rem;
    color:var(--ink); letter-spacing:0; margin-bottom:26px;
}
[dir="ltr"] .tpl-elegant .section-title{ letter-spacing:.22em; }
.tpl-elegant .cv-entry{ grid-template-columns:1fr; gap:2px; text-align:center; }
.tpl-elegant .entry-when{ padding-top:0; }
.tpl-elegant .skills-grid,.tpl-elegant .languages-list,
.tpl-elegant .contact-list{ justify-content:center; }
.tpl-elegant .skill-tag,.tpl-elegant .language-item,.tpl-elegant .contact-item{
    border:none; border-bottom:1px solid var(--line-2); border-radius:0; padding:4px 10px;
}

/* dark: الورقة نفسها داكنة — مستقل عن الوضع الليلي للموقع */
.tpl-dark{ background:#0A1418; border-color:#1C2E36; }
.tpl-dark .cv-header{ background:#08171E; }
.tpl-dark .cv-engagement{ background:#111F26; border-bottom-color:#1C2E36; }
.tpl-dark .cv-profiles-nav{ background:#0A1418; border-bottom-color:#1C2E36; }
.tpl-dark .nav-profile-link{ border-color:#2A424C; color:#4FB08D; }
.tpl-dark .cv-section{ border-bottom-color:#1C2E36; }
.tpl-dark .section-title{ color:#4FB08D; }
.tpl-dark .entry-title{ color:#E7EEF0; }
.tpl-dark .entry-org{ color:#4FB08D; }
.tpl-dark .entry-desc{ color:#A6B9BF; }
.tpl-dark .entry-when,.tpl-dark .lang-level,.tpl-dark .nav-label{ color:#6E858E; }
.tpl-dark .skill-tag,.tpl-dark .language-item,.tpl-dark .contact-item{
    background:#111F26; border-color:#2A424C; color:#A6B9BF;
}
.tpl-dark .like-btn{ background:#111F26; border-color:#2A424C; color:#A6B9BF; }
.tpl-dark .rating-stars .star{ color:#2A424C; }
.tpl-dark .cv-footer{ background:#111F26; border-top-color:#1C2E36; color:#6E858E; }

/* ── الطباعة ──────────────────────────────────────────────── */
@media print{
    body.cv-body{ background:#fff; padding:0; }
    .no-print{ display:none !important; }
    .cv-wrapper{
        margin:0; max-width:100%; border:none; border-radius:0; box-shadow:none;
    }
    .cv-header{
        -webkit-print-color-adjust:exact; print-color-adjust:exact;
    }
    .cv-section{ page-break-inside:avoid; }
    .cv-entry{ page-break-inside:avoid; }
    .cv-footer{ background:none; }
    a{ text-decoration:none; color:inherit; }
}

/* ── الاستجابة ────────────────────────────────────────────── */
@media (max-width:820px){
    .cv-header,.cv-engagement,.cv-profiles-nav,.cv-sections,.cv-footer{
        padding-inline:24px;
    }
    .tpl-elegant .cv-sections{ padding-inline:24px; }
}
@media (max-width:640px){
    body.cv-body{ padding:18px 12px 44px; }
    .cv-header{
        grid-template-columns:1fr; text-align:center; justify-items:center;
        gap:16px; padding:26px 20px;
    }
    .cv-identity{ text-align:center; }
    .cv-summary{ margin-inline:auto; }
    .cv-name{ font-size:1.35rem; }
    .cv-entry{ grid-template-columns:1fr; gap:3px; }
    .entry-when{ padding-top:0; }
    .cv-toolbar{ flex-direction:column; align-items:stretch; }
    .cv-lang-switch a{ flex:1; text-align:center; }
    .cv-tools{ display:grid; grid-template-columns:1fr 1fr 1fr; }
    .cv-tool-btn{ text-align:center; }
    .cv-header,.cv-engagement,.cv-profiles-nav,.cv-sections,.cv-footer{
        padding-inline:20px;
    }
}
