/* OWD Invite Connector: RSVP form styles. Override --owd-accent in your theme to match each design. */
/* ==================================================================
 * Guest RSVP form
 * ================================================================== */
.owd-rsvp {
	--owd-accent: #b08d57;
	--owd-accent-dark: #8c6d3f;
	--owd-ink: #2b2622;
	--owd-muted: #7a716a;
	--owd-line: #e5dccd;
	--owd-soft: #faf6f0;
	color: var(--owd-ink);
	line-height: 1.55;
}
.owd-rsvp__head { text-align: center; margin-bottom: 1.75em; }
.owd-rsvp__eyebrow { margin: 0; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--owd-accent-dark); }
.owd-rsvp__names { margin: .2em 0; font-size: clamp(28px, 7vw, 40px); line-height: 1.15; }
.owd-rsvp__date { margin: 0; color: var(--owd-muted); }
.owd-rsvp__deadline { display: inline-block; margin: 12px 0 0; padding: 4px 12px; font-size: 14px; border: 1px solid var(--owd-line); border-radius: 99px; background: var(--owd-soft); }
.owd-rsvp__field { margin: 0 0 14px; }
.owd-rsvp__field label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 15px; }
.owd-rsvp__input {
	width: 100%; box-sizing: border-box; padding: 12px 14px; font-size: 16px; color: var(--owd-ink);
	border: 1px solid var(--owd-line); border-radius: 6px; background: #fff;
}
.owd-rsvp__input:focus { outline: none; border-color: var(--owd-accent); box-shadow: 0 0 0 3px rgba(176, 141, 87, .18); }
.owd-rsvp__help { margin: 6px 0 0; font-size: 13px; color: var(--owd-muted); }
.owd-rsvp__person { position: relative; margin: 0 0 16px; padding: 16px; border: 1px solid var(--owd-line); border-radius: 10px; background: #fff; min-width: 0; }
.owd-rsvp__legend { padding: 0 6px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--owd-muted); }
.owd-rsvp__legend:empty { display: none; }
.owd-rsvp__choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 14px; }
.owd-rsvp__opt { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 8px; text-align: center; font-size: 15px; border: 1px solid var(--owd-line); border-radius: 8px; cursor: pointer; background: var(--owd-soft); }
.owd-rsvp__opt input { position: absolute; opacity: 0; pointer-events: none; }
.owd-rsvp__opt:has(input:checked) { border-color: var(--owd-accent); background: var(--owd-accent); color: #fff; font-weight: 600; }
.owd-rsvp__opt:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(176, 141, 87, .35); }
.owd-rsvp__remove { position: absolute; top: 10px; right: 10px; padding: 4px 8px; font-size: 13px; color: var(--owd-muted); background: none; border: 0; text-decoration: underline; cursor: pointer; }
.owd-rsvp__addwrap { margin: 0 0 20px; }
.owd-rsvp__add { width: 100%; padding: 12px; font-size: 15px; color: var(--owd-accent-dark); background: #fff; border: 1px dashed var(--owd-accent); border-radius: 8px; cursor: pointer; }
.owd-rsvp__consent { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; font-size: 14px; }
.owd-rsvp__consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--owd-accent); flex: none; }
.owd-rsvp__consent[hidden] { display: none; }
.owd-rsvp__privacy { font-size: 13px; color: var(--owd-muted); }
.owd-rsvp__status { min-height: 1.2em; margin: 8px 0; color: #c0392b; font-weight: 600; }
.owd-rsvp__submit { width: 100%; padding: 15px; font-size: 17px; font-weight: 600; color: #fff; background: var(--owd-accent); border: 0; border-radius: 8px; cursor: pointer; }
.owd-rsvp__submit:hover { background: var(--owd-accent-dark); }
.owd-rsvp__submit:disabled { opacity: .6; cursor: wait; }
.owd-rsvp__done { padding: 24px; text-align: center; background: var(--owd-soft); border: 1px solid var(--owd-line); border-radius: 10px; }
.owd-rsvp__done-title { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
.owd-rsvp__notice { padding: 16px; text-align: center; background: var(--owd-soft); border-radius: 8px; }

