/* 12-printare.css — Listă Servicii → Printează cu alegeri (popup-ul #printModal, public/js/pagini/lista-servicii-print.js):
   programul ca în card sau doar cântările (cu / fără text), pe 1 sau 2 coloane, cu mărimea textului aleasă.
   Clasele de pe <body> (print-personalizat, print-mod-*, print-2-coloane, print-pagina-noua) se pun chiar înainte de
   dialogul de printare și se scot după; orientarea paginii vine dintr-o regulă @page scrisă atunci.
   Fișierele din css/stiluri/ se încarcă în ordinea numerelor (templates/_stiluri.html.twig): ordinea contează în cascadă. */

/* popup-ul */
.print-optiuni .print-sectiune-titlu {
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    margin-bottom: 0.35rem;
}

.print-optiuni .print-nota {
    color: var(--text-muted);
    font-size: 0.85em;
}

.print-cantari-optiuni {
    margin: 0.35rem 0 0 1.6rem;
    padding: 0.45rem 0.7rem;
    border-left: 3px solid rgba(106, 122, 174, 0.45);
    background: rgba(106, 122, 174, 0.08);
    border-radius: 0 0.35rem 0.35rem 0;
}

.print-optiuni .print-eroare {
    color: var(--bs-danger);
    font-size: 0.85em;
    margin-top: 0.25rem;
}

.print-optiuni .print-rand {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.5rem;
}

.print-optiuni .print-eticheta {
    min-width: 7.5rem;
    font-size: 0.9rem;
}

/* blocul cu cântările se construiește doar pentru printare */
.print-cantari {
    display: none;
}

@media print {
    /* mărimea aleasă în popup ține locul lui A− / A+ al paginii */
    body.print-personalizat #listaProgrameContinut {
        zoom: 1 !important;
        --marime-lista: 1 !important;
    }

    body.print-mod-program .lista-programe-mesaj-text {
        zoom: var(--print-marime, 1);
    }

    body.print-mod-program.print-2-coloane .lista-programe-mesaj-text {
        column-count: 2;
        column-gap: 1cm;
    }

    body.print-mod-program.print-2-coloane .pt-antet {
        column-span: all;
    }

    body.print-personalizat .pt-linie {
        break-inside: avoid;
    }

    /* „Cântările” / programul cu coloane identice: pe hârtie doar blocul construit */
    body.print-doar-bloc > *:not(.print-cantari) {
        display: none !important;
    }

    /* coloane identice: programul de două ori, una lângă alta, cu o linie de tăiere între ele */
    body.print-doar-bloc .print-program-dublu {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1cm;
        background-image: linear-gradient(#bbb, #bbb);
        background-size: 1px 100%;
        background-position: center;
        background-repeat: no-repeat;
    }

    .print-program-dublu .lista-programe-mesaj-text {
        zoom: var(--print-marime, 1);
        color: #000;
    }

    .print-program-dublu .pt-antet {
        display: block;
    }

    body.print-mod-cantari .print-cantari {
        display: block;
        color: #000;
        font-size: calc(var(--print-marime, 1) * 11.5pt);
    }

    .pc-antet {
        font-weight: 600;
        margin-bottom: 1.2em;
    }

    .pc-lista.program-text {
        line-height: 1.7;
    }

    .pc-cu-text {
        font-family: Georgia, 'Times New Roman', serif;
    }

    .pc-cantare {
        margin: 0 0 1.5em;
    }

    .pc-titlu {
        font-size: 1.3em;
        font-weight: 700;
        margin: 0 0 0.1em;
        break-after: avoid;
    }

    .pc-sub {
        color: #444;
        font-size: 0.85em;
        margin-bottom: 0.7em;
        break-after: avoid;
    }

    .pc-gama {
        color: #000;
    }

    .pc-strofa {
        display: flex;
        gap: 0.5em;
        margin: 0 0 0.7em;
        break-inside: avoid;
    }

    .pc-nr {
        min-width: 1.5em;
        flex-shrink: 0;
        font-weight: 700;
        text-align: right;
    }

    .pc-randuri {
        line-height: 1.4;
    }

    .pc-refren .pc-randuri {
        font-style: italic;
    }

    .pc-lipsa {
        color: #555;
        font-style: italic;
        margin: 0;
    }

    /* 2 coloane la cântări: coloana din stânga se umple întâi, apoi cea din dreapta (fără echilibrare);
       cântările vin compact una sub alta, iar o cântare poate continua pe coloana următoare — doar strofele
       rămân întregi (.pc-strofa), iar titlul nu rămâne singur la capăt de coloană (.pc-titlu, .pc-sub) */
    body.print-mod-cantari.print-2-coloane .pc-lista {
        column-count: 2;
        column-gap: 1cm;
        column-rule: 1px solid #ccc;
        column-fill: auto;
    }

    /* fiecare cântare pe pagina ei; cu 2 coloane, strofele cântării se împart pe coloane */
    body.print-pagina-noua .pc-cantare + .pc-cantare {
        break-before: page;
    }

    body.print-pagina-noua.print-2-coloane .pc-lista {
        column-count: auto;
        column-rule: none;
    }

    body.print-pagina-noua.print-2-coloane .pc-strofe {
        column-count: 2;
        column-gap: 1cm;
        column-fill: auto;
    }
}
