/* Aurelia RSVP — inherits the page's fonts. Override these variables to restyle. */
.aurelia-rsvp{--ar-ink:var(--au-ink,#1E2421);--ar-muted:var(--au-muted,#5E6A63);--ar-line:var(--au-sage,#C9D1C6);--ar-field:#FFFFFF;--ar-accent:var(--au-green,#22362F);--ar-on-accent:var(--au-ivory,#F7F4EE);--ar-radius:0px;
  --ar-font:var(--au-body,inherit);font-family:var(--ar-font),sans-serif;font-weight:300;color:var(--ar-ink);width:100%;max-width:44rem}
.aurelia-rsvp__form{display:flex;flex-direction:column;gap:1.25rem}
.aurelia-rsvp__row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.aurelia-rsvp__attending .aurelia-rsvp__row{grid-template-columns:minmax(0,14rem) 1fr}
.aurelia-rsvp__attending{display:flex;flex-direction:column;gap:1.25rem}
.aurelia-rsvp__attending[hidden]{display:none}
.aurelia-rsvp__field{display:flex;flex-direction:column;gap:.4rem;margin:0}
.aurelia-rsvp label,.aurelia-rsvp legend{font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-muted)}
.aurelia-rsvp input[type=text],.aurelia-rsvp input[type=email],.aurelia-rsvp select,.aurelia-rsvp textarea{
  font:inherit;font-family:var(--ar-font),sans-serif;font-size:1rem;color:var(--ar-ink);background:var(--ar-field);border:1px solid var(--ar-line);border-radius:var(--ar-radius);
  padding:.8rem .9rem;width:100%;box-sizing:border-box;transition:border-color .2s}
.aurelia-rsvp input:focus,.aurelia-rsvp select:focus,.aurelia-rsvp textarea:focus{outline:none;border-color:var(--ar-accent);box-shadow:0 0 0 3px rgba(34,54,47,.12)}
.aurelia-rsvp__choice{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
.aurelia-rsvp__choice legend{margin-bottom:.6rem;width:100%}
.aurelia-rsvp__choice label{letter-spacing:0;text-transform:none;font-size:1rem;color:var(--ar-ink);cursor:pointer;flex:1 1 12rem}
.aurelia-rsvp__choice input{position:absolute;opacity:0}
.aurelia-rsvp__choice span{display:block;text-align:center;border:1px solid var(--ar-line);background:var(--ar-field);padding:.95rem 1rem;border-radius:var(--ar-radius);transition:all .2s}
.aurelia-rsvp__choice input:checked+span{background:var(--ar-accent);border-color:var(--ar-accent);color:var(--ar-on-accent)}
.aurelia-rsvp__choice input:focus-visible+span{outline:2px solid var(--ar-accent);outline-offset:2px}
.aurelia-rsvp__submit{font:inherit;font-family:var(--ar-font),sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;background:var(--ar-accent);color:var(--ar-on-accent);
  border:0;border-radius:var(--ar-radius);padding:1.05rem 2.6rem;cursor:pointer;transition:opacity .2s}
.aurelia-rsvp__submit:hover{opacity:.88}
.aurelia-rsvp__submit:focus-visible{outline:2px solid var(--ar-accent);outline-offset:3px}
.aurelia-rsvp__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aurelia-rsvp__error{border-left:3px solid #9a3b2e;padding:.6rem .9rem;background:rgba(154,59,46,.07);margin:0 0 1rem}
.aurelia-rsvp__done{border:1px solid var(--ar-line);background:var(--ar-field);padding:2rem}
.aurelia-rsvp__done-title{font-family:var(--ar-display,var(--au-display,inherit)),serif;font-size:1.8rem;margin:0 0 .4rem}
.aurelia-rsvp__done p:last-child{margin:0;color:var(--ar-muted)}
@media (max-width:640px){.aurelia-rsvp__row,.aurelia-rsvp__attending .aurelia-rsvp__row{grid-template-columns:1fr}}
.aurelia-rsvp__guests{display:flex;flex-direction:column;gap:1rem}
.aurelia-rsvp__guest{border-top:1px solid var(--ar-line);padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}
.aurelia-rsvp__guest[hidden]{display:none}
.aurelia-rsvp__guest-title{margin:0;font-family:var(--ar-display,var(--au-display,inherit)),serif;font-size:1.25rem;color:var(--ar-ink)}
.aurelia-rsvp__guest .aurelia-rsvp__row{grid-template-columns:1fr 1fr}
.aurelia-rsvp__guest[data-guest="1"] .aurelia-rsvp__row{grid-template-columns:1fr}
@media (max-width:640px){.aurelia-rsvp__guest .aurelia-rsvp__row{grid-template-columns:1fr}}
.aurelia-rsvp__privacy{font-size:.8rem;opacity:.7;margin:.75rem 0 0}
/* Theme presets: [aurelia_rsvp theme="olive"] matches the Olive & Ivory template (uses its global variables when present) */
.aurelia-rsvp--olive{--ar-ink:var(--ol-ink,#2B2F26);--ar-muted:var(--ol-muted,#6B6F5E);--ar-line:var(--ol-line,#D9D0BE);--ar-field:#FFFFFF;--ar-accent:var(--ol-accent,#4A5537);
  --ar-on-accent:var(--ol-base,#F6F1E7);--ar-font:var(--ol-body,Jost);--ar-display:var(--ol-display,'Cormorant Garamond');max-width:none}
.aurelia-rsvp--olive .aurelia-rsvp__done{background:transparent;border:0;padding:0;text-align:center}
.aurelia-rsvp--olive .aurelia-rsvp__done-title{font-weight:400;font-size:2.2rem;line-height:1.2;color:var(--ol-dark,#2F3625)}
.aurelia-rsvp--olive .aurelia-rsvp__submit{width:100%}
