@page { size: letter; margin: 0.5in; }

body.print-page { margin: 0; background: #e9ecef; font-family: var(--brand-body-font, system-ui, sans-serif); color: #1c1f23; }
.print-toolbar { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1rem; background: #fff; border-bottom: 1px solid #dee2e6; font-size: 0.95rem; }
.print-toolbar a { color: inherit; }
.print-button { padding: 0.5rem 1rem; border: 0; border-radius: 999px; background: var(--brand-primary, #188aec); color: #fff; font-weight: 600; cursor: pointer; }
.print-hint { text-align: center; color: #6c757d; font-size: 0.9rem; }

.sheet { box-sizing: border-box; width: 8.5in; min-height: 11in; margin: 1rem auto; padding: 0.6in; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); page-break-after: always; }

.poster { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 0.25in; }
.poster__eyebrow { font-size: 12pt; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-primary, #188aec); }
.poster__headline { margin: 0; font-family: var(--brand-heading-font, inherit); font-size: 36pt; line-height: 1.05; font-weight: 800; text-wrap: balance; }
.poster__photo { width: 3.2in; height: 3.2in; border-radius: 50%; object-fit: cover; }
.poster__sub { max-width: 5.5in; margin: 0; font-size: 15pt; line-height: 1.4; color: #495057; }
.poster__qr { width: 2.6in; height: 2.6in; }
.poster__link { font-size: 22pt; font-weight: 800; }
.poster__footer { margin-top: 0.2in; font-size: 11pt; color: #6c757d; }

.tent { display: grid; grid-template-rows: 1fr 1fr; padding: 0; }
.tent__panel { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.15in; padding: 0.5in; text-align: center; border: 1px dashed #ced4da; }
.tent__panel:first-child { transform: rotate(180deg); }
.tent__headline { margin: 0; font-family: var(--brand-heading-font, inherit); font-size: 22pt; line-height: 1.1; font-weight: 800; max-width: 5in; text-wrap: balance; }
.tent__qr { width: 1.8in; height: 1.8in; }
.tent__link { font-size: 12pt; }
.tent__footer { font-size: 10pt; color: #6c757d; }

.need-cards { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 4.6in; gap: 0.2in; padding: 0.4in; }
.need-card { display: flex; flex-direction: column; justify-content: space-between; padding: 0.3in; border: 1px dashed #ced4da; border-radius: 0.15in; }
.need-card__name { margin: 0.05in 0; font-family: var(--brand-heading-font, inherit); font-size: 18pt; line-height: 1.1; font-weight: 800; }
.need-card__amount { font-size: 15pt; font-weight: 700; color: var(--brand-primary, #188aec); }
.need-card__bottom { display: flex; align-items: center; gap: 0.2in; }
.need-card__qr { width: 1.3in; height: 1.3in; }
.need-card__link { font-size: 9.5pt; line-height: 1.35; color: #495057; }

@media print {
  body.print-page { background: #fff; }
  .print-toolbar, .print-hint { display: none; }
  .sheet { width: auto; min-height: auto; margin: 0; padding: 0; box-shadow: none; }
  .sheet:last-child { page-break-after: auto; }
}
