/*
 * PRINT (Pass 8, 7 November 2026). Linked from the root layout with media="print", so a screen never waits for it.
 * The print rules that were already in globals.css stay there; this file adds only what Pass 8 found on paper.
 *
 * 1. A decorative photograph (alt="") says nothing on paper and costs ink and a page, so it does not print, and a
 *    figure or picture that holds nothing else goes with it. Drawings, diagrams, logos and any photograph with a
 *    description still print.
 */
main img[alt=''] { display: none !important; }
main :is(figure, picture):has(img[alt='']):not(:has(img:not([alt='']))) { display: none !important; }

/* 2. Headings stay with what follows them, and a short block (a figure, a table, a quotation, a guide's callout, the
      plan's signed foot) is not split across two sheets. Long blocks may break, so no sheet is left half empty. */
main :is(h1, h2, h3) { break-after: avoid; }
main :is(figure, table, blockquote, [data-callout], [data-plan-signed]) { break-inside: avoid; }

/*
 * 3. The partner kit (/partners, Pass 11). "Print the cards" sets html[data-print='kit'] for the length of the print
 *    dialog: everything that neither holds the kit nor sits inside it is not printed, so the cards print alone, two
 *    to a row, none split across sheets.
 */
html[data-print='kit'] body *:not(:has([data-partner-kit])):not([data-partner-kit]):not([data-partner-kit] *) { display: none !important; }
html[data-print='kit'] [data-partner-kit] ul { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; }
html[data-print='kit'] [data-partner-card] { break-inside: avoid; }

