/**
 * ZANA - CSS d'impression professionnel
 * Optimisé pour une mise en page impeccable
 */

/* ========================================
   RÈGLES GÉNÉRALES D'IMPRESSION
   ======================================== */

@media print {
    /* Reset et configuration de base */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    @page {
        size: A4;
        margin: 2cm 1.5cm;
    }

    body {
        background: white !important;
        color: #000 !important;
        font-family: 'Georgia', 'Times New Roman', serif;
        font-size: 11pt;
        line-height: 1.6;
        margin: 0;
        padding: 0;
    }

    /* ========================================
       ÉLÉMENTS À MASQUER
       ======================================== */

    /* Navigation et interface */
    nav,
    .nav-modern,
    .navbar,
    header.nav-modern,
    footer,
    .footer-modern,
    .print-buttons-container,
    .print-btn,
    button,
    .cta-button,
    .back-to-top,
    .cookie-banner,
    .cookies-banner,
    #cookie-banner,
    .chatbot,
    .chat-widget,
    .social-links,
    .scroll-indicator,
    .menu-toggle,
    .hamburger,
    .mobile-menu {
        display: none !important;
    }

    /* Animations et effets */
    .diagonal-lines,
    .floating-particles,
    .background-animation,
    .parallax,
    video,
    iframe,
    .video-container {
        display: none !important;
    }

    /* ========================================
       MISE EN PAGE DU CONTENU
       ======================================== */

    main,
    .container,
    .content,
    article {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }

    /* Titres */
    h1 {
        font-size: 24pt;
        font-weight: bold;
        color: #000 !important;
        margin: 0 0 20pt 0;
        padding: 0 0 10pt 0;
        border-bottom: 2pt solid #000;
        page-break-after: avoid;
    }

    h2 {
        font-size: 18pt;
        font-weight: bold;
        color: #000 !important;
        margin: 20pt 0 12pt 0;
        page-break-after: avoid;
    }

    h3 {
        font-size: 14pt;
        font-weight: bold;
        color: #000 !important;
        margin: 16pt 0 10pt 0;
        page-break-after: avoid;
    }

    h4, h5, h6 {
        font-size: 12pt;
        font-weight: bold;
        color: #000 !important;
        margin: 12pt 0 8pt 0;
        page-break-after: avoid;
    }

    /* Paragraphes */
    p {
        font-size: 11pt;
        color: #000 !important;
        margin: 0 0 10pt 0;
        text-align: justify;
        orphans: 3;
        widows: 3;
    }

    /* Listes */
    ul, ol {
        margin: 10pt 0;
        padding-left: 20pt;
    }

    li {
        font-size: 11pt;
        color: #000 !important;
        margin: 5pt 0;
    }

    /* Liens */
    a {
        color: #000 !important;
        text-decoration: none;
    }

    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
    }

    a[href^="mailto:"]:after,
    a[href^="tel:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    /* ========================================
       SECTIONS SPÉCIFIQUES
       ======================================== */

    /* Sections légales */
    .legal-section,
    .contract-section,
    .cgv-section {
        background: white !important;
        border: none !important;
        margin: 0 0 20pt 0 !important;
        padding: 0 !important;
        page-break-inside: avoid;
    }

    /* Articles */
    article {
        margin: 0 0 15pt 0;
        page-break-inside: avoid;
    }

    /* Tableaux */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 15pt 0;
        page-break-inside: avoid;
    }

    th, td {
        border: 1pt solid #000;
        padding: 8pt;
        text-align: left;
        font-size: 10pt;
    }

    th {
        background: #f0f0f0 !important;
        font-weight: bold;
    }

    /* ========================================
       SECTION SIGNATURE
       ======================================== */

    .signature-section {
        background: white !important;
        border: 2pt solid #000 !important;
        margin: 30pt 0 0 0 !important;
        padding: 20pt !important;
        page-break-before: auto;
        page-break-inside: avoid;
    }

    .signature-section h2 {
        font-size: 16pt;
        margin: 0 0 15pt 0;
        border-bottom: 1pt solid #000;
        padding-bottom: 8pt;
    }

    .signature-parties {
        display: flex !important;
        justify-content: space-between !important;
        gap: 20pt;
        margin: 15pt 0;
    }

    .signature-party {
        flex: 1;
        border: 1pt solid #000;
        padding: 15pt;
        background: white !important;
    }

    .signature-party h3 {
        font-size: 12pt;
        margin: 0 0 10pt 0;
        border-bottom: 1pt solid #000;
        padding-bottom: 5pt;
    }

    .signature-field {
        margin: 10pt 0;
    }

    .signature-field label {
        display: block;
        font-size: 10pt;
        font-weight: bold;
        margin-bottom: 5pt;
        color: #000 !important;
    }

    .signature-field input {
        width: 100%;
        border: none;
        border-bottom: 1pt solid #000;
        padding: 5pt 0;
        font-size: 10pt;
        background: white !important;
    }

    .signature-space {
        margin: 15pt 0;
        padding: 40pt 0;
        border: 1pt dashed #666;
        text-align: center;
        color: #666 !important;
        font-size: 9pt;
    }

    .signature-note {
        margin: 15pt 0 0 0;
        padding: 10pt;
        background: #f9f9f9 !important;
        border-left: 3pt solid #000;
        font-size: 9pt;
        color: #000 !important;
    }

    /* ========================================
       GESTION DES SAUTS DE PAGE
       ======================================== */

    /* Éviter les sauts de page indésirables */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }

    p, li {
        orphans: 3;
        widows: 3;
    }

    .legal-section,
    .contract-section,
    .signature-section,
    article {
        page-break-inside: avoid;
    }

    /* Forcer un saut de page avant certains éléments */
    .page-break-before {
        page-break-before: always;
    }

    /* Éviter les pages vides */
    .no-print {
        display: none !important;
    }

    /* ========================================
       EN-TÊTE ET PIED DE PAGE
       ======================================== */

    @page {
        @top-center {
            content: "ZANA - CDS AUTOPRO";
            font-size: 9pt;
            color: #666;
        }

        @bottom-center {
            content: "Page " counter(page) " sur " counter(pages);
            font-size: 9pt;
            color: #666;
        }
    }

    /* ========================================
       OPTIMISATIONS FINALES
       ======================================== */

    /* Supprimer les ombres et effets */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
        background-image: none !important;
    }

    /* Optimiser les images */
    img {
        max-width: 100%;
        height: auto;
        page-break-inside: avoid;
    }

    /* Logo */
    .nav-logo img,
    .logo {
        max-width: 150pt;
        height: auto;
    }

    /* Supprimer les marges inutiles */
    .container,
    .wrapper,
    section {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Assurer la lisibilité */
    strong, b {
        font-weight: bold;
        color: #000 !important;
    }

    em, i {
        font-style: italic;
    }

    /* Code et préformaté */
    code, pre {
        font-family: 'Courier New', monospace;
        font-size: 9pt;
        background: #f5f5f5 !important;
        padding: 2pt 4pt;
        border: 1pt solid #ddd;
    }

    /* Citations */
    blockquote {
        margin: 15pt 20pt;
        padding: 10pt;
        border-left: 3pt solid #000;
        font-style: italic;
        background: #f9f9f9 !important;
    }
}

/* ========================================
   FIN DU CSS D'IMPRESSION
   ======================================== */
