body { background: var(--canvas); }

.volantino-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; max-width: 700px; margin: 16px auto; padding: 0 16px; }
.volantino-toolbar a { display: flex; align-items: center; justify-content: center; text-decoration: none; flex: 0 0 auto; padding: 10px 16px; }
.volantino-toolbar button { flex: 0 0 auto; padding: 10px 20px; }

.poster {
  box-sizing: border-box;
  width: 210mm;
  min-height: 297mm;
  max-width: calc(100% - 32px);
  margin: 0 auto 32px;
  padding: 60px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 10px 34px rgba(21, 37, 29, .1);
}

.poster-icon { width: 96px; height: 96px; margin-bottom: 18px; }
.poster-title { font-size: 3rem; letter-spacing: -.04em; margin: 0; }
.poster-tagline { margin: 6px 0 44px; color: var(--muted); font-size: 1.15rem; }

.poster-qr { width: min(340px, 70%); margin: 0 auto; }
.poster-qr svg { width: 100%; height: auto; display: block; }

.poster-url { margin: 24px 0 0; font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; color: var(--brand-dark); }

.poster-pitch { max-width: 420px; margin: 26px 0 0; color: #314138; font-size: 1.02rem; line-height: 1.55; }

.poster-footer { margin-top: auto; padding-top: 40px; color: var(--muted); font-size: .84rem; letter-spacing: .02em; }

@media print {
  .no-print { display: none !important; }
  body { background: white; }
  .poster { box-shadow: none; border: 0; border-radius: 0; width: auto; min-height: auto; margin: 0; padding: 20mm; }
  @page { size: A4 portrait; margin: 0; }
}

@media (max-width: 700px) {
  .poster { padding: 40px 24px; }
  .poster-title { font-size: 2.3rem; }
}
