/* A single, complete invitation from the editor through to the guest. */
.modal-backdrop{overflow:auto;padding:24px;overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 48px);overflow:auto}
.modal--send,.modal--finish{width:min(980px,100%);padding:32px;border-radius:28px}
.send-invite-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:36px;align-items:center}
.send-invite-art{margin:0;min-width:0;background:#f2edf9;border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}
.send-invite-art .template-preview{width:min(100%,340px);height:auto;aspect-ratio:var(--template-ratio);box-shadow:0 12px 24px #30263425}
.send-invite-art figcaption,.send-channel-note,.send-access-note{font-size:12px!important;line-height:1.5;color:#746679;text-align:center}
.send-invite-panel{min-width:0;padding:12px 0}
.send-invite-panel h2{font-size:36px;line-height:1.06;letter-spacing:-1px}
.send-invite-panel>p{line-height:1.6}
.send-invite-panel .invite-whatsapp{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:22px;min-height:48px}
.send-invite-panel form{margin:22px 0;padding-top:20px;border-top:1px solid var(--line)}
.send-invite-panel label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}
.send-invite-panel textarea,.invite-link-row input{font:inherit;width:100%;min-width:0;border:1px solid #dcd5d2;border-radius:10px;padding:12px;color:var(--ink);background:#fff}
.send-invite-panel textarea{resize:vertical;font-size:16px}
.send-invite-panel .send-channel-note{text-align:left;margin:7px 0 12px}
.invite-link-row{display:flex;gap:8px;align-items:center}
.invite-link-row input{font-size:12px;flex:1;background:#faf8fc}
.invite-link-row button{white-space:nowrap;min-height:44px}
.send-secondary-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px;font-size:13px;font-weight:800}
.send-secondary-actions a{color:var(--plum);padding:10px 0}
.send-access-note{margin-top:18px!important;text-align:left}
#inviteEmailStatus,#invitePrepareStatus,#eventActionStatus,#publicRsvpStatus{font-size:14px;line-height:1.5;color:#403345}
.finish-downloads{margin-top:26px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}
.finish-downloads>p{font-size:12px;margin:0 0 4px}
.event-design-summary{display:flex;gap:18px;align-items:center;margin:18px 0;padding:14px;background:#f6f2fa;border-radius:16px}
.event-design-summary>div{width:90px;flex:none}
.event-design-summary .template-preview{width:100%;height:auto;aspect-ratio:var(--template-ratio)}
.event-design-summary>span{display:grid;justify-items:start;gap:8px}
.event-page.public-event{max-width:1100px;margin:0 auto}
.public-invite-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.public-invite-art{margin:0;padding:28px;background:#f2edf9;border-radius:24px;display:grid;justify-items:center}
.public-invite-art .template-preview{width:100%;height:auto;aspect-ratio:var(--template-ratio);box-shadow:0 18px 30px #3a293321}
.public-event .event-card{margin:0;padding:28px}
.public-event h1{font-size:42px;line-height:1.08;overflow-wrap:anywhere}
.public-event .invite-when{font-weight:800}
.public-event .invite-where{color:var(--muted)}
.public-event input,.public-event select{font-size:16px}
.public-event .field select{width:100%;min-height:46px;border:1px solid #dcd5d2;border-radius:9px;background:white;padding:10px}
.modal .close-modal{position:sticky;float:right;top:0;margin:-12px -12px -20px 0;z-index:3;width:38px;height:38px;display:grid;place-items:center}
button:disabled{cursor:wait;opacity:.6}
@media(max-width:720px){
  .modal-backdrop{padding:12px;align-items:start}
  .modal{max-height:calc(100dvh - 24px)}
  .modal--send,.modal--finish{padding:22px;border-radius:22px}
  .send-invite-grid{grid-template-columns:1fr;gap:20px}
  .send-invite-art{padding:20px;gap:12px}
  .send-invite-art .template-preview{width:min(100%,250px)}
  .send-invite-panel{padding:0}
  .send-invite-panel h2{font-size:32px}
  .public-invite-grid{grid-template-columns:1fr;gap:20px}
  .public-invite-art{padding:20px}
  .public-event .event-card{padding:20px}
  .public-event h1{font-size:36px}
  .invite-link-row{flex-wrap:wrap}
}
@media print{.public-invite-art{padding:0;background:none;box-shadow:none}.modal-backdrop{display:none!important}}
