@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:wght@700;800&display=swap');
:root { --forest:#163b2c; --yellow:#f6c84c; --cream:#fffaf0; }
* { box-sizing:border-box; }
body {
  margin:0;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  color:var(--forest);
  background:
    radial-gradient(circle at top left, rgba(246,200,76,.35), transparent 30%),
    linear-gradient(145deg, #f6f0d9, var(--cream));
  font-family:"DM Sans", system-ui, sans-serif;
}
.page { width:min(100%, 720px); }
.print-card {
  padding:32px 24px;
  border:1px solid rgba(22,59,44,.12);
  border-radius:32px;
  background:white;
  box-shadow:0 22px 60px rgba(22,59,44,.13);
  text-align:center;
}
.flower-row { color:#6f9f58; letter-spacing:.35em; }
.eyebrow { margin:18px 0 8px; color:#6f9f58; text-transform:uppercase; letter-spacing:.18em; font-weight:700; font-size:.76rem; }
h1 { margin:0; font-family:"Playfair Display", Georgia, serif; font-size:clamp(2.3rem, 9vw, 4.6rem); line-height:.98; letter-spacing:-.045em; }
.lead { max-width:520px; margin:18px auto 26px; line-height:1.6; color:#5d6c64; }
#qrcode {
  width:300px;
  min-height:300px;
  margin:0 auto;
  display:grid;
  place-items:center;
  padding:20px;
  border:2px solid var(--forest);
  border-radius:24px;
  background:white;
}
#qrcode img, #qrcode canvas { max-width:100%; height:auto !important; }
.url { max-width:100%; overflow-wrap:anywhere; font-size:.78rem; color:#6b7770; }
.actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:24px; }
.actions button, .actions a {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  border:0;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}
.actions button { color:white; background:var(--forest); }
.actions a { color:var(--forest); background:#eef3e8; }
.note { margin:22px auto 0; max-width:540px; font-size:.85rem; color:#718078; line-height:1.5; }
.fallback { font-size:.9rem; line-height:1.5; }
@media print {
  body { padding:0; background:white; }
  .print-card { box-shadow:none; border:0; }
  .actions, .note { display:none; }
}
