/**
 * @file cv-print.css
 * @description Styles d'impression dédiés pour l'export A4 portrait du CV (fond blanc, économie d'encre, intégration QR code et réinitialisation des marges).
 * @dependencies Rendu d'impression navigateur (`@media print`), @page A4.
 * @scope Consultation et impression du CV (`src/www/cv/index.php`, `src/www/cv/cv-edit.php`).
 */

@page {
    size: A4 portrait;
    margin: 1.8cm 1.5cm;
}

@media print {
    body > *:not(main):not(.d-print-block) {
        display: none !important;
    }

    :root {
        --cv-bg: #ffffff !important;
        --cv-text: #1a1a1e !important;
        --cv-primary: #4a134d !important;
        --cv-secondary: #8a0a5e !important;
        --cv-muted: #4a4a50 !important;
        --cv-light-border: #d0d0d5 !important;
    }

    html, body {
        background: #ffffff !important;
        color: #1a1a1e !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Annulation complète des marges sur le container main pour un rendu A4 parfait selon les navigateurs */
    main, #main-content, main.container {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .cv-page {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        color: #1a1a1e !important;
        font-size: 9.5pt !important;
        line-height: 1.25 !important;
    }

    .cv-name {
        color: #4a134d !important;
        font-size: 20pt !important;
    }

    .cv-subtitle {
        color: #8a0a5e !important;
        font-size: 12pt !important;
    }

    .cv-contact-details {
        color: #4a4a50 !important;
        font-size: 8.5pt !important;
    }


    .cv-section-title {
        color: #8a0a5e !important;
        border-bottom-color: #d0d0d5 !important;
        font-size: 10.5pt !important;
        margin-top: 8px !important;
        margin-bottom: 4px !important;
    }

    .cv-skills strong,
    .cv-realizations h3,
    .cv-realizations h3 a {
        color: #4a134d !important;
    }

    .cv-section-body {
        color: #1a1a1e !important;
        font-size: 8.5pt !important;
    }

    .cv-section-body p {
        margin-bottom: 2px !important;
    }

    .cv-section-body ul {
        margin-bottom: 2px !important;
    }

    .cv-section-body li {
        margin-bottom: 1px !important;
    }

    .cv-realizations h3 {
        font-size: 9.5pt !important;
        margin-top: 4px !important;
        margin-bottom: 2px !important;
    }

    .cv-realizations ul {
        margin-bottom: 2px !important;
    }

    /* QR Code positionné en bas de la colonne de gauche */
    .cv-qrcode-container {
        display: block !important;
        margin-top: 15px !important;
        text-align: center;
    }

    .cv-qrcode-img {
        width: 75px !important;
        height: 75px !important;
        display: inline-block !important;
    }

    /* Disposition 2 colonnes du Header conservée */
    .cv-header .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .cv-header .col-md-7 {
        width: 58% !important;
        flex: 0 0 58% !important;
        max-width: 58% !important;
        float: left !important;
    }

    .cv-header .col-md-5 {
        width: 42% !important;
        flex: 0 0 42% !important;
        max-width: 42% !important;
        float: right !important;
        text-align: right !important;
    }

    /* Disposition 2 colonnes principales du CV conservée */
    .cv-content {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .cv-content .col-md-4,
    .col-md-4 {
        width: 33.333333% !important;
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        float: left !important;
    }

    .cv-content .col-md-8,
    .col-md-8 {
        width: 66.666667% !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
        float: left !important;
    }

    #cv-contact-protected,
    .card-drag-handle,
    #column-splitter-bar,
    .cv-transition-teaser {
        display: none !important;
    }

    .border-start-md {
        border-left: 1px solid #d0d0d5 !important;
        padding-left: 15px !important;
    }

    /* Formatage des liens pour l'impression */
    a {
        color: inherit !important;
        text-decoration: none !important;
    }

    /* Masquer les infobulles et overlays lors de l'impression */
    .tooltip,
    .popover,
    .bs-tooltip-auto,
    .bs-tooltip-top,
    .bs-tooltip-bottom,
    .bs-tooltip-start,
    .bs-tooltip-end {
        display: none !important;
    }
}
