/* ==========================================================================
   MERRYTTI - Impression
   Les documents sérieux (carte, facture, bordereau) sortent en PDF.
   Cette feuille sert à imprimer une page du portail sans gaspiller
   d'encre ni perdre l'information.
   ========================================================================== */

@page { margin: 14mm; }

@media print {
    :root { --papier: #FFFFFF; }

    body {
        background: #FFFFFF;
        color: #000000;
        font-size: 11pt;
        line-height: 1.45;
    }

    /* Chrome de navigation : inutile sur papier. */
    .entete, .pied, .lateral, .lateral-voile, .barre-haut, .barre-action,
    .filtres, .pagination, .nav, .cloche, .modale, .onglets,
    .page-entete__actions, .tableau__actions, .bouton, .saut-contenu,
    .scanner, .saisie-manuelle, .hors-ligne {
        display: none !important;
    }

    .portail { display: block; }
    .contenu { padding: 0; }

    /* On rend visible ce que l'écran cachait derrière un survol. */
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #444;
        word-break: break-all;
    }
    a[href^="#"]::after, a[href^="javascript"]::after, .code-carte::after { content: ""; }

    .bloc, .encart, .tableau-enveloppe, .indicateur {
        border: 1px solid #999;
        box-shadow: none;
        break-inside: avoid;
    }

    .tableau { font-size: 9.5pt; }
    .tableau th {
        position: static;
        background: #EEE !important;
        color: #000 !important;
        border-bottom: 1px solid #999;
    }
    .tableau tbody tr { break-inside: avoid; }
    .tableau tbody tr:nth-child(even) { background: #F7F7F7 !important; }

    /* La carte cadeau garde ses couleurs : c'est le seul élément qui
       perd son sens en niveaux de gris. */
    .carte-cadeau {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        break-inside: avoid;
    }
    .carte-cadeau__qr img { width: 42mm; height: 42mm; }

    h1, h2, h3, h4 { break-after: avoid; }
    p, blockquote { orphans: 3; widows: 3; }

    /* Rappel de la provenance en bas de chaque impression. */
    .impression-pied {
        display: block !important;
        margin-top: 8mm;
        padding-top: 3mm;
        border-top: 1px solid #999;
        font-size: 8.5pt;
        color: #444;
    }
}

/* La règle « display: none » à l'écran vit dans base.css : print.css
   est chargé en media="print" et ne s'appliquerait jamais ici. */

/* ==========================================================================
   Tableaux de bord à l'impression

   Les ombres et les fonds colorés gaspillent l'encre sans rien apporter :
   on retombe sur des blocs encadrés d'un filet, deux par ligne.
   ========================================================================== */

@media print {
    .tb__actions, .tb__periode, .tb-carte__lien, .tb-segments { display: none !important; }

    .tb-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6mm; }
    .tb-col-3, .tb-col-4, .tb-col-5, .tb-col-6 { grid-column: span 1; }
    .tb-col-7, .tb-col-8, .tb-col-9, .tb-col-12 { grid-column: span 2; }

    .tb-carte {
        border: 1px solid #999;
        border-radius: 0;
        box-shadow: none;
        padding: 4mm;
        break-inside: avoid;
    }
    .tb-carte--voile { background: #fff !important; }
    .tb-carte__icone { display: none; }

    /* Les colonnes du graphique doivent rester visibles sur papier. */
    .tb-barre__colonne {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .tb-cadeau {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        break-inside: avoid;
    }
}
