.bingo-tool .front-tools-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bingo-check { display: block; margin: 8px 0 14px; }
.bingo-cards { display: grid; gap: 18px; }
.bingo-page { display: grid; gap: 10px; }
.bingo-card { break-inside: avoid; page-break-inside: avoid; padding: 12px; border: 1px solid #dce5eb; }
.bingo-card h3 { margin: 0 0 10px; text-align: center; }
.bingo-grid { display: grid; grid-template-columns: repeat(var(--bingo-size), minmax(0, 1fr)); border-top: 1px solid #667; border-left: 1px solid #667; }
.bingo-cell { display: flex; min-width: 0; min-height: 55px; align-items: center; justify-content: center; padding: 4px; border-right: 1px solid #667; border-bottom: 1px solid #667; text-align: center; overflow-wrap: anywhere; }
.bingo-cell.is-free { font-weight: 700; }
@media (max-width: 767px) { .bingo-tool .front-tools-options { grid-template-columns: 1fr; } .bingo-cell { min-height: 45px; font-size: 12px; } }
@media print {
    @page { size: A4 portrait; margin: 12mm; }
    body * { visibility: hidden !important; }
    #bingo-result, #bingo-result * { visibility: visible !important; }
    #bingo-result { position: absolute; inset: 0 auto auto 0; width: 100%; }
    .bingo-tool .front-tools-actions { display: none !important; }
    body.bingo-print-caller #bingo-cards, body.bingo-print-caller #bingo-stats { display: none !important; }
    body.bingo-print-caller #bingo-caller-heading, body.bingo-print-caller #bingo-caller { display: block !important; }
    body:not(.bingo-print-caller) #bingo-caller-heading, body:not(.bingo-print-caller) #bingo-caller { display: none !important; }
    .bingo-page { grid-template-columns: 1fr; }
    .bingo-page:not(:last-child) { page-break-after: always; break-after: page; }
    .bingo-per-2 .bingo-page { grid-template-rows: repeat(2, 1fr); }
    .bingo-per-4 .bingo-page { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 1fr); }
    .bingo-card { padding: 5mm; }
}
