.rsvp-form{background:var(--ivory);border:1px solid #d9dbcc;border-radius:8px;max-width:720px;margin:auto;padding:36px}.rsvp-form h2{margin-bottom:18px;font-size:30px}.rsvp-form p{margin-bottom:18px}.lookup-form{max-width:560px}.rsvp-form label:not(.radio-options label):not(.checkbox-label){margin:18px 0 7px;font-size:14px;font-weight:600;display:block}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{background:var(--paper);width:100%;color:var(--ink);font:inherit;border:1px solid #9da58f;border-radius:4px;min-height:48px;padding:12px;font-size:16px}.rsvp-form textarea{resize:vertical}.rsvp-form .button{margin-top:24px}.rsvp-form :disabled{cursor:not-allowed}.rsvp-form button:disabled{opacity:.6}.rsvp-hint{color:#596051;margin-top:18px;font-size:12px}.rsvp-form .form-error{color:#813338;background:#f8e5e5;border-left:3px solid #813338;margin-top:18px;padding:14px}.rsvp-form .form-success{color:#304e30;background:var(--sage);border-left:3px solid #54754a;margin-top:18px;padding:16px}.rsvp-notice{background:var(--peach);padding:18px}.rsvp-fields{border:0;min-width:0;margin:0;padding:0}.guest-response,.group-options{background:var(--paper);border:1px solid #c5cebb;border-radius:6px;min-width:0;margin:28px 0;padding:24px}.guest-response legend,.group-options legend{overflow-wrap:anywhere;padding-inline:8px;font-family:Georgia,serif;font-size:23px}.radio-options{flex-wrap:wrap;gap:10px 20px;display:flex}.radio-options label,.checkbox-label{cursor:pointer;align-items:center;gap:10px;min-height:48px;display:flex}.rsvp-form input[type=radio],.rsvp-form input[type=checkbox]{accent-color:#667853;flex-shrink:0;width:20px;height:20px}.rsvp-form fieldset:disabled{opacity:.8}.rsvp-group h2{overflow-wrap:anywhere}.session-exit{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #9ba38d}.rsvp-loading{text-align:center;padding:40px 0}.rsvp-form select{background:var(--paper);width:100%;min-height:48px;font:inherit;border:1px solid #9da58f;border-radius:4px;padding:10px}.rsvp-question{border:0;min-width:0;margin-block:20px;padding:0}.rsvp-question legend{font:inherit;padding:0;font-weight:600}.rsvp-submenu{border-left:3px solid var(--sage);margin-block:16px;padding-left:16px}.rsvp-checklist{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px;display:grid}.accommodation-line{border:1px solid #c5cebb;border-radius:4px;min-width:0;margin-block:20px;padding:14px}.accommodation-line legend{font-size:18px}.quote-total{margin-top:24px;font-size:20px}.town-results{max-height:280px;padding:0;list-style:none;overflow-y:auto}.rsvp-section{background:var(--paper);border:1px solid #c5cebb;border-radius:6px;min-width:0;margin-block:24px;padding:16px}.rsvp-section>summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:10px 0;font:22px Georgia,serif}.rsvp-section>summary:focus-visible{outline-offset:4px;outline:2px solid #667853}.rsvp-section>fieldset{border:0;min-width:0;margin:0;padding:0}.town-results button{text-align:left;background:var(--sage);cursor:pointer;border:0;width:100%;min-height:44px;margin-block:4px;padding:10px}.response-form .text-link{cursor:pointer;background:0 0;min-height:44px}@media (max-width:760px){.rsvp-form{padding:22px 18px}.guest-response,.group-options{padding:18px 14px}.rsvp-form .button{width:100%}.radio-options{flex-direction:column;gap:4px}}
