/* Guests -> companions -> link to the couple -> save, in one simple RSVP. */
.rsvp-premium-form .rsvp-premium-party-grid{grid-template-columns:minmax(0,1fr)}
.rsvp-premium-form .rsvp-guests-block{min-width:0}
.rsvp-premium-form .rsvp-guests-block > label{font-weight:700;color:#56392c;margin-bottom:9px;display:block}
.rsvp-premium-form .guest-count-selector input:focus-visible+label{outline:3px solid #ad865a;outline-offset:3px}
.rsvp-premium-form .rsvp-accompanying-panel{margin-top:20px;padding:18px;border:1px solid #e5d4c3;border-radius:21px;background:linear-gradient(140deg,#fff9f1,#faf0e5)}
.rsvp-premium-form .rsvp-accompanying-panel[hidden]{display:none!important}
.rsvp-premium-form .rsvp-accompanying-panel-heading{display:flex;align-items:flex-start;gap:13px;margin:0 0 18px}
.rsvp-premium-form .rsvp-accompanying-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:15px;background:#f0e1d0;color:#805334}
.rsvp-premium-form .rsvp-accompanying-icon svg{width:19px;height:19px}
.rsvp-premium-form .rsvp-accompanying-panel-heading h4{font:500 clamp(21px,3vw,26px)/1.15 "Cormorant Garamond",Georgia,serif;color:#4c3327;margin:1px 0 5px}
.rsvp-premium-form .rsvp-accompanying-panel-heading p{font-size:12px;line-height:1.55;color:#826e60;margin:0}
.rsvp-premium-form .rsvp-accompanying{margin-top:0!important;gap:12px}
.rsvp-premium-form .accompanying-guest-input-group{padding:15px!important;border-color:#e9dacc;background:#fffefa!important;gap:12px!important;grid-template-columns:repeat(2,minmax(0,1fr))}
.rsvp-premium-form .rsvp-companion-title{grid-column:1/-1;display:flex;align-items:center;gap:8px;font:700 13px/1.4 "DM Sans",Arial,sans-serif;color:#67432f;margin:0}
.rsvp-premium-form .rsvp-companion-title:before{content:"";width:7px;height:7px;border-radius:50%;background:#bc8a5f}
.rsvp-premium-form .rsvp-companion-field{display:grid;gap:7px;min-width:0}
.rsvp-premium-form .rsvp-companion-field label{font:600 11px/1.45 "DM Sans",Arial,sans-serif;color:#705745}
.rsvp-premium-form .rsvp-companion-field select,.rsvp-premium-form .rsvp-companion-field input{width:100%;min-width:0;min-height:48px!important;border:1px solid #dfcdba;border-radius:12px;padding:0 13px!important;background:#fff;color:#473329;font-size:13px}
.rsvp-premium-form .rsvp-couple-relation-panel{margin-top:24px;padding:22px 0 0;border-top:1px solid #e7d9ca;display:grid;gap:15px}
.rsvp-premium-form .rsvp-couple-relation-heading{display:grid;gap:4px}
.rsvp-premium-form .rsvp-couple-relation-heading strong{font:600 17px/1.35 "Cormorant Garamond",Georgia,serif;color:#4d3529}
.rsvp-premium-form .rsvp-couple-relation-heading small{font:400 12px/1.5 "DM Sans",Arial,sans-serif;color:#887264}
.rsvp-premium-form .rsvp-couple-relation-panel .rsvp-premium-conditional{margin:0}
@media(max-width:650px){
 .rsvp-premium-form .rsvp-accompanying-panel{padding:14px;margin-top:16px;border-radius:18px}
 .rsvp-premium-form .accompanying-guest-input-group{grid-template-columns:minmax(0,1fr)}
 .rsvp-premium-form .rsvp-couple-relation-panel{margin-top:19px}
}
@media(prefers-reduced-motion:reduce){
 .rsvp-premium-form .accompanying-guest-input-group{animation:none}
}


/* Clear, accessible inline field errors; no modal for missing information. */
.rsvp-premium-form .rsvp-inline-error{
  display:block; margin:7px 0 0; color:#a62c35;
  font:600 12px/1.45 "DM Sans",Arial,sans-serif;
}
.rsvp-premium-form .rsvp-has-error:is(.rsvp-premium-control,.rsvp-premium-select){
  border:1.5px solid #b92c39!important;
  box-shadow:0 0 0 2px rgba(185,44,57,.08)!important;
}
.rsvp-premium-form .rsvp-has-error:is(.rsvp-presence-grid,.guest-count-selector) label{
  border-color:#b92c39!important;
  box-shadow:0 0 0 1px rgba(185,44,57,.12);
}
.rsvp-premium-form :is(input,select,textarea)[aria-invalid="true"]:not([type="radio"]){
  border-color:#b92c39!important;
}
.rsvp-premium-form .rsvp-companion-field :is(input,select)[aria-invalid="true"]{
  border-color:#b92c39!important;
  box-shadow:0 0 0 2px rgba(185,44,57,.07);
}
.rsvp-premium-form .rsvp-inline-error + .rsvp-inline-error{margin-top:5px}
