/* Event sign-up pages: loads after site.css */
.rsvp-embed{
  max-width:700px;margin:0 auto;font-size:18px;line-height:1.5;
}
.rsvp-loading{text-align:center;color:var(--muted)}
.rsvp-trouble{text-align:center;font-size:14px;color:var(--muted);margin-top:14px}

.rsvp-embed h2{color:var(--navy);margin:0 0 6px;text-align:center;font-size:1.7em}
.rsvp-embed h2::after{margin:10px auto 0}
.rsvp-embed h3,.rsvp-embed h4{font-family:var(--serif);color:var(--navy)}
.rsvp-subtitle{font-size:.95em;color:var(--link);text-align:center;margin-bottom:8px;font-weight:700;letter-spacing:.02em}
.rsvp-blurb{font-size:.95em;color:var(--muted);text-align:center;margin:0 auto 18px;max-width:520px}

.rsvp-embed label{display:block;margin:10px 0 5px;font-weight:700;color:var(--ink);font-size:.9em}
.rsvp-portion-label{margin-top:15px!important}
.rsvp-embed input,.rsvp-embed select{width:100%;padding:12px;margin-bottom:10px;border:1px solid #c9d3df;border-radius:6px;background:#fff;color:var(--ink);box-sizing:border-box;font:inherit;font-size:1em;transition:border-color .15s ease,box-shadow .15s ease}
.rsvp-embed input:focus,.rsvp-embed select:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 3px rgba(31,95,153,.18)}
.rsvp-embed input.rsvp-invalid{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.15)}
.rsvp-error{color:#c0392b}

.rsvp-item-group{background:#fdfdfe;border:1px solid var(--line);padding:15px;border-radius:8px;margin-bottom:15px}
.rsvp-add-btn{background:var(--tint);color:var(--link);border:1px dashed var(--accent);margin-bottom:20px;cursor:pointer;padding:10px;width:100%;border-radius:6px;font:inherit;font-weight:700;transition:background .15s ease}
.rsvp-add-btn:hover{background:var(--tint-hover)}
.rsvp-embed button[type="submit"]{width:100%;padding:14px;background:var(--navy);color:#fff;border:none;border-radius:6px;cursor:pointer;font:inherit;font-size:1.15em;font-weight:700;margin-top:15px;transition:background .15s ease,transform .1s ease}
.rsvp-embed button[type="submit"]:hover:not(:disabled){background:var(--link)}
.rsvp-embed button[type="submit"]:active{transform:translateY(1px)}
.rsvp-embed button[type="submit"]:disabled{opacity:.6;cursor:default}
#rsvpMsg{margin-top:20px;color:var(--link);font-weight:700;text-align:center}

/* Notices */
.rsvp-alert{background:var(--tint);border-left:5px solid var(--link);color:var(--navy);padding:12px 15px;margin-bottom:20px;border-radius:4px;font-size:.9em}
.rsvp-edit-alert{background:#f8f8f4;border-left:5px solid var(--burgundy);color:var(--ink);padding:12px 15px;margin-bottom:20px;border-radius:4px;font-size:.9em}
.rsvp-portion-note{font-size:.82em;color:var(--muted);background:#f8f9fb;padding:8px 12px;border-radius:6px;margin-bottom:15px;border:1px solid var(--line)}
.rsvp-portion-note ul{margin:4px 0 0 18px;padding:0}

.rsvp-row{display:flex;gap:10px}
.rsvp-row>div{flex:1}
.rsvp-section-heading{margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:5px}
.rsvp-section-desc{font-size:.85em;color:var(--muted);margin-bottom:15px}

/* Headcount */
.rsvp-attendance-box{background:var(--tint);border:1px solid var(--line);border-radius:8px;padding:15px;margin-top:25px;text-align:center}
.rsvp-attendance-box h4{margin:0 0 10px;font-size:1.2em}
.rsvp-stat-grid{display:flex;gap:10px}
.rsvp-stat-item{flex:1;background:#fff;padding:8px 5px;border-radius:6px;border:1px solid var(--line)}
.rsvp-stat-total{border-color:var(--navy);background:#fff}
.rsvp-stat-number{font-size:1.3em;font-weight:700;color:var(--link)}
.rsvp-stat-total .rsvp-stat-number{color:var(--navy)}
.rsvp-stat-label{font-size:.75em;color:var(--muted);text-transform:uppercase}

/* Food list */
.rsvp-list-heading{margin-top:25px}
.rsvp-cat-group{margin-bottom:15px}
.rsvp-cat-label{background:var(--navy);color:#fff;padding:4px 10px;border-radius:4px;font-size:.85em;font-weight:700;display:inline-block}
.rsvp-cat-table{width:100%;border-collapse:collapse}
.rsvp-cat-table td{padding:8px;border-bottom:1px solid var(--line)}
.rsvp-cell-name{font-weight:700;width:40%}
.rsvp-gf-row{background:var(--tint)}
.rsvp-gf-label{color:var(--link);font-size:.75em;font-weight:700}

/* After submitting */
.rsvp-success-actions{display:flex;gap:8px;margin-top:12px;justify-content:center}
.rsvp-action-btn{flex:1;max-width:200px;padding:8px 10px;font:inherit;font-size:.85em;font-weight:700;border-radius:6px;cursor:pointer;text-decoration:none;text-align:center;transition:filter .15s ease}
.rsvp-action-btn:hover{filter:brightness(1.1)}
.rsvp-btn-open,.rsvp-success-actions a.rsvp-btn-open,.rsvp-success-actions a.rsvp-btn-open:visited{background:var(--navy);color:#fff;border:1px solid var(--navy);text-decoration:none}
.rsvp-btn-copy{background:var(--tint);color:var(--link);border:1px solid var(--accent)}
.rsvp-url-preview{font-size:.75em;color:var(--muted);margin-top:8px;word-break:break-all;background:#f8f9fb;padding:6px;border-radius:4px;border:1px solid var(--line);font-weight:400}

/* Add to calendar */
.rsvp-calendar-actions{display:flex;gap:8px;justify-content:center;margin-bottom:18px;flex-wrap:wrap}
.rsvp-cal-btn{padding:8px 14px;font:inherit;font-size:.85em;font-weight:700;border-radius:6px;cursor:pointer;text-decoration:none;text-align:center;border:1px solid var(--navy);color:var(--navy);background:#fff}
.rsvp-cal-btn:hover{background:var(--navy);color:var(--cream)}

/* Desktop: card with a blue and burgundy accent stripe */
@media (min-width:768px){
  .rsvp-embed{
    position:relative;overflow:hidden;max-width:760px;font-size:19px;
    background:#fff;padding:46px 48px 40px;border-radius:16px;
    box-shadow:0 8px 30px rgba(var(--deep-rgb),.12);border:1px solid var(--line);
  }
  .rsvp-embed::before{
    content:"";position:absolute;top:0;left:0;right:0;height:6px;
    background:linear-gradient(90deg,var(--navy),var(--link),var(--sky),var(--burgundy),var(--navy));
  }
  .rsvp-embed h2{font-size:1.9em}
  .rsvp-subtitle{font-size:1em}
  .rsvp-blurb{font-size:1.05em}
  .rsvp-item-group{padding:20px}
  .rsvp-stat-number{font-size:1.6em}
  .rsvp-stat-label{font-size:.8em}
  .rsvp-attendance-box{padding:22px}
}
