/* One identical copyright treatment across all public pages. */
body > footer.site-footer.public-copyright {
  position:relative; inset:auto; z-index:1; flex:0 0 auto; width:100%; height:auto; min-height:0;
  margin:auto 0 0; padding:0; border:0; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; pointer-events:none;
}
body > footer.site-footer.public-copyright::before,
body > footer.site-footer.public-copyright::after { content:none; }
body > footer.site-footer.public-copyright .site-footer-inner {
  display:block; box-sizing:border-box; width:100%; max-width:none; margin:0;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom)); text-align:center;
  color:#887d70; font:normal 400 11px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.02em;
}
@media(max-width:600px) {
  body > footer.site-footer.public-copyright .site-footer-inner { font-size:9px; }
}
body > footer.site-footer.public-copyright { display:block !important; }

body:has(> footer.public-copyright) {
  display:flex; flex-direction:column; min-height:100svh; box-sizing:border-box;
}
body.rsvp-public:has(.rsvp-invitation-surround) .rsvp-main {
  flex:0 0 auto; min-height:0; padding-bottom:8px;
}
body.full-site-mode > main { padding-bottom:0; }
/* Compact the lookup letter on shorter screens, without shrinking form controls. */
@media(max-height:900px) {
  body.rsvp-invitation-access-page .rsvp-invitation-access-note { margin:20px auto; }
  body.rsvp-invitation-access-page .rsvp-code-recovery { margin:10px auto; }
}
@media(max-height:900px) {
  body.rsvp-invitation-access-page .rsvp-invitation-code-form { margin:20px auto; gap:10px; }
  body.rsvp-invitation-access-page .rsvp-invitation-code-form .rsvp-letter-action { margin-top:4px; }
  body.rsvp-invitation-access-page #new-rsvp .rsvp-letter-nav { margin:10px 0 0; padding:0; }
}
@media(max-height:900px) {
  body.rsvp-invitation-access-page .rsvp-invitation-code-form { margin:12px auto; }
  body.rsvp-invitation-access-page .rsvp-invitation-access-note { margin:12px auto; }
  body.rsvp-invitation-access-page .rsvp-code-recovery { margin:4px auto; }
}
@media(max-height:900px) {
}
@media(max-height:900px) {
  body.rsvp-invitation-access-page:has(.rsvp-invitation-surround) #new-rsvp { padding-bottom:4px; }
}


