/* Global Print & Track — Frontend styles */

.gpt-btn-custom {
    border: none;
    padding: 10px 18px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: sans-serif;
}

/* ============================================================
   STYLES D'IMPRESSION

   Principe : JavaScript marque dynamiquement les éléments avec
   trois classes avant d'appeler window.print() :

   - .gpt-print-ancestor  → ancêtres de l'article (body > ... > article)
                            réinitialisés pour éviter tout décalage
   - .gpt-print-hide      → tous les frères des ancêtres (header, footer,
                            sidebar, autres articles, etc.) → display:none
   - .gpt-print-target    → l'article ciblé lui-même

   Résultat : impression propre, multi-pages, sans page blanche,
   compatible tous thèmes.
   ============================================================ */

@media print {

    /* Tout ce qui est hors du chemin vers l'article */
    .gpt-print-hide {
        display: none !important;
    }

    /* Conteneurs ancêtres : on réinitialise leur mise en page
       pour qu'ils n'introduisent aucun espace parasite */
    .gpt-print-ancestor {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* L'article ciblé */
    .gpt-print-target {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Éléments à masquer à l'intérieur de l'article */
    .gpt-print-target .entry-meta,
    .gpt-print-target .post-meta,
    .gpt-print-target .entry-footer,
    .gpt-print-target .post-footer,
    .gpt-print-target .author-info,
    .gpt-print-target .author-bio,
    .gpt-print-target .author-box,
    .gpt-print-target .cat-links,
    .gpt-print-target .tags-links,
    .gpt-print-target .post-tags,
    .gpt-print-target .post-navigation,
    .gpt-print-target .nav-links,
    .gpt-print-target .comments-area,
    .gpt-print-target .comment-respond,
    .gpt-print-target .related-posts,
    .gpt-print-target .jp-relatedposts,
    .gpt-print-target .sharedaddy,
    .gpt-btn-trigger,
    .gpt-container {
        display: none !important;
    }

    /* Typographie lisible à l'impression */
    .gpt-print-target       { color: #000 !important; }
    .gpt-print-target a     { color: #000 !important; text-decoration: underline; }
    .gpt-print-target img   { max-width: 100% !important; height: auto !important; }
    .gpt-print-target table { border-collapse: collapse !important; width: 100% !important; }
    .gpt-print-target th,
    .gpt-print-target td    { border: 1px solid #ccc !important; padding: 6px !important; }

    @page { margin: 2cm; }
    body  { background: #fff !important; }
}
