@page { size: A4 portrait; margin: 0; }
body:has(.invite-poster) * { visibility: hidden !important; }
.invite-poster, .invite-poster * { visibility: visible !important; }
.invite-poster {
  position: fixed !important;
  inset: 12mm !important;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  min-height: 250mm;
  padding: 20mm;
  border: 1px solid #d8ddef;
  border-radius: 10mm;
  background: linear-gradient(145deg, #f5f3ff 0%, #fff 55%, #effbff 100%) !important;
  color: #25233d !important;
  box-shadow: none !important;
}
.invite-poster-brand { display: flex; align-items: center; gap: 12px; font-size: 20pt; font-weight: 700; }
.invite-poster-brand small { display: block; font-size: 9pt; font-weight: 400; color: #77758b; }
.invite-poster-copy h2 { margin: 14mm 0 4mm; font-size: 30pt; }
.invite-poster-copy p { font-size: 13pt; color: #615f75; }
.invite-poster-code { padding: 10mm; text-align: center; border: 1px dashed #8d7cf0; border-radius: 6mm; background: #fff !important; }
.invite-poster-code small, .invite-poster-link small { display: block; color: #77758b; font-size: 10pt; }
.invite-poster-code strong { display: block; margin-top: 3mm; color: #6348d5; font-size: 28pt; letter-spacing: 4px; }
.invite-poster-link span { display: block; margin-top: 2mm; overflow-wrap: anywhere; font-size: 9pt; }
.invite-poster-foot { color: #77758b; font-size: 9pt; }
