/* ══════════════════════════════════════
   Résumé (/cv) — 1 page, ATS-friendly
   ══════════════════════════════════════ */

/* cv.css only loads on /cv, so hiding the site chrome is safe. */
nav,
footer { display: none; }

.cv {
    background: #e5e9f0;
    min-height: 100vh;
    padding: 2rem 1rem 4rem;
}

/* Action bar (screen only) */
.cv-actions {
    max-width: 820px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
}
.cv-back {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}
.cv-back:hover { color: var(--accent); }

/* The sheet */
.cv-sheet {
    max-width: 820px;
    margin: 0 auto;
    background: #fff;
    color: #1f2937;
    border-radius: 6px;
    box-shadow: 0 10px 40px rgba(15,23,42,0.15);
    padding: 2.75rem 3rem;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Header */
.cv-head { border-bottom: 2px solid var(--primary); padding-bottom: 0.85rem; margin-bottom: 1.1rem; }
.cv-head h1 {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--primary);
    letter-spacing: -0.5px;
    line-height: 1.1;
}
.cv-role {
    color: var(--accent-dark);
    font-weight: 700;
    font-size: 1.05rem;
    margin-top: 0.2rem;
}
.cv-tagline {
    color: #64748b;
    font-size: 0.85rem;
    margin-top: 0.1rem;
}
.cv-contact {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    font-size: 0.82rem;
    color: #475569;
    margin-top: 0.6rem;
}
.cv-contact li { position: relative; }
.cv-contact li:not(:last-child)::after {
    content: '•';
    position: absolute;
    right: -0.62rem;
    color: #cbd5e1;
}
.cv-contact a { color: #475569; text-decoration: none; }
.cv-contact a:hover { color: var(--accent); text-decoration: underline; }

/* Sections */
.cv-section { margin-top: 1.1rem; padding: 0; }
.cv-section h2 {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--accent-dark);
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.25rem;
    margin-bottom: 0.6rem;
}
.cv-summary { color: #374151; }

/* Items (experience / education / project) */
.cv-item { margin-bottom: 0.9rem; break-inside: avoid; }
.cv-item:last-child { margin-bottom: 0; }
.cv-item--tight { margin-bottom: 0.4rem; }
.cv-item-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
}
.cv-item-title { color: var(--primary); font-size: 0.95rem; }
.cv-period {
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}
.cv-period a { color: var(--accent-dark); text-decoration: none; }
.cv-period a:hover { text-decoration: underline; }
.cv-item-sub { color: #64748b; font-size: 0.82rem; margin-bottom: 0.25rem; }
.cv-item-desc { color: #374151; margin-top: 0.2rem; }
.cv-bullets { margin: 0.3rem 0 0 1.1rem; }
.cv-bullets li { margin-bottom: 0.18rem; color: #374151; }

/* Skills (grouped lines) */
.cv-skill-groups { list-style: none; }
.cv-skill-groups li { margin-bottom: 0.25rem; color: #374151; }
.cv-skill-groups strong { color: var(--primary); }

/* Two columns (languages + certifications) */
.cv-cols { display: grid; grid-template-columns: 0.85fr 1.5fr; gap: 1.5rem; }
.cv-langs { list-style: none; }
.cv-langs li { margin-bottom: 0.25rem; color: #374151; }
.cv-langs strong { color: var(--primary); }
.cv-certs-line { color: #374151; }
.cv-certs-line a { color: var(--accent-dark); text-decoration: none; }
.cv-certs-line a:hover { text-decoration: underline; }

/* ── Responsive (screen) ── */
@media (max-width: 640px) {
    .cv-sheet { padding: 1.75rem 1.5rem; }
    .cv-cols { grid-template-columns: 1fr; gap: 0.5rem; }
    .cv-item-head { flex-direction: column; gap: 0.1rem; }
}

/* ══════════════════════════════════════
   Print (A4 / PDF) — single page
   ══════════════════════════════════════ */
@media print {
    @page { size: A4; margin: 11mm; }
    html, body { background: #fff !important; }
    nav, footer, .cv-actions { display: none !important; }
    .cv { background: #fff; padding: 0; min-height: 0; }
    .cv-sheet {
        max-width: none;
        margin: 0;
        padding: 0;
        box-shadow: none;
        border-radius: 0;
        font-size: 9pt;
        line-height: 1.3;
    }
    .cv-head { padding-bottom: 6pt; margin-bottom: 7pt; }
    .cv-head h1 { font-size: 16pt; }
    .cv-role { font-size: 10.5pt; }
    .cv-tagline { font-size: 8.5pt; }
    .cv-contact { font-size: 8pt; margin-top: 4pt; }
    .cv-section { margin-top: 6pt; }
    .cv-section h2 { font-size: 8pt; margin-bottom: 4pt; padding-bottom: 2pt; }
    .cv-item { margin-bottom: 5pt; }
    .cv-item--tight { margin-bottom: 2pt; }
    .cv-item-title { font-size: 9.2pt; }
    .cv-period { font-size: 8pt; }
    .cv-item-sub { font-size: 8pt; margin-bottom: 1pt; }
    .cv-bullets { margin-top: 2pt; }
    .cv-bullets li { margin-bottom: 1pt; }
    .cv-skill-groups li,
    .cv-langs li { margin-bottom: 1pt; }
    .cv-cols { gap: 1rem; }
    a { color: inherit !important; text-decoration: none !important; }
}
