@import url('/public/fonts/wedding-fonts.css?v=20261018-vi');
:root{--serif:var(--font-heading);--type-large:clamp(36px,5vw,68px);--type-section:clamp(27px,3.2vw,42px);--type-event:clamp(21px,2vw,28px);--type-date:clamp(28px,3vw,38px);--type-body:14px;--type-label:13px;--type-secondary:12px;--type-button:14px}
body,input,button,select,textarea{font-family:var(--font-body)}body{line-height:1.7}h1,h2,h3,h4,.signature{font-family:var(--font-heading)}h2{line-height:1.35}select{font:inherit}input,select,textarea{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #996274;outline-offset:3px}
#schedule h2,#rsvp h2,.rsvp-paper h2{font:500 var(--type-section)/1.4 var(--font-heading)!important;letter-spacing:0!important;margin:12px 0 26px!important}
#rsvp{scroll-margin-top:95px}#rsvp .eyebrow{font:500 11px/1.7 var(--font-body);letter-spacing:.15em;color:#946271}
#rsvp .forms{grid-template-columns:minmax(0,560px);justify-content:center;gap:24px}
#rsvp .rsvp-paper{width:min(100%,640px);margin-inline:auto;padding:32px;background:#fffcf8;border:1px solid #e5d7cc;border-radius:12px;box-sizing:border-box}
#rsvp .paper-form,#rsvp .rsvp-form{font:400 var(--type-body)/1.7 var(--font-body);text-align:left;color:#51433e;min-width:0;max-width:100%;margin:0}
#rsvp .paper-form{padding:28px;background:#fffcf8;border:1px solid #e5d7cc;border-radius:12px}
#rsvp .rsvp-form{display:grid;gap:18px}#rsvp .paper-form h3{font:500 21px/1.45 var(--font-heading);margin:0;text-align:center}
#rsvp .event-response-date{text-align:center;font-size:12px;color:#786b65;margin:0}
#rsvp .rsvp-form>label{display:grid;gap:8px;font:500 var(--type-label)/1.7 var(--font-body);margin:0;color:#51433e}
#rsvp .rsvp-form input:not([type=radio]):not([type=hidden]),#rsvp .rsvp-form select,#rsvp .rsvp-form textarea{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #d8c9c1;border-radius:8px;background:#fffdfa;padding:11px 13px;color:#51433e;font:400 14px/1.65 var(--font-body);box-shadow:none}
#rsvp .rsvp-form input[readonly]{background:#f7f0eb}#rsvp .rsvp-form select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23855b66' stroke-width='1.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
#rsvp .rsvp-form textarea{resize:vertical;min-height:96px}#rsvp .rsvp-form input::placeholder,#rsvp .rsvp-form textarea::placeholder{color:#8a7d76;opacity:1}
#rsvp .attendance-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;border:0;margin:0;padding:0;min-width:0}
#rsvp .attendance-options legend{font:500 var(--type-label)/1.7 var(--font-body);margin-bottom:8px}
#rsvp .attendance-options label{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:13px;border:1px solid #ddcec6;border-radius:8px;background:#fffdfa;cursor:pointer;min-height:52px;font-size:13px}
#rsvp .attendance-options label:has(:checked){border:2px solid #ac6c7f;padding:12px;background:#f8e8ec;box-shadow:0 0 0 2px #ac6c7f12}
#rsvp .attendance-options input{position:static!important;opacity:1!important;appearance:auto!important;width:18px!important;height:18px!important;flex:0 0 18px;accent-color:#a45d73;margin:0!important}
#rsvp .attendance-options span{display:block!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:inherit!important;color:inherit!important}#rsvp .attendance-options b{font-weight:500}
#rsvp .rsvp-form [type=submit]{min-height:50px;width:100%;border:1px solid #d1a1ad;border-radius:8px;background:#e9c7d1;color:#603644;padding:12px 20px;font:600 var(--type-button)/1.6 var(--font-body);transition:background .2s}
#rsvp .rsvp-form [type=submit]:hover{background:#e0b6c3}#rsvp .rsvp-form [type=submit]:disabled{opacity:.65;cursor:wait}
#rsvp .reply-deadline{font-size:12px;color:#786b65;margin:0}#rsvp .form-status{font:400 13px/1.7 var(--font-body);margin:0!important;white-space:pre-line}#rsvp .form-status:empty{display:none}#rsvp .form-status.error{color:#9c3636}
[hidden]{display:none!important}
@media(max-width:680px){:root{--type-body:13px}#rsvp{padding-inline:16px}#rsvp .rsvp-paper,#rsvp .paper-form{padding:24px 18px}#rsvp h2,.rsvp-paper h2{font-size:27px!important}#rsvp .rsvp-form input:not([type=radio]),#rsvp .rsvp-form select,#rsvp .rsvp-form textarea{font-size:16px}#rsvp .attendance-options label{font-size:13px}#rsvp .forms{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.ceremony-rsvp,#rsvp button{transition:none}}

body{font-family:var(--font-body)!important}p,label,input,textarea,select,button,a{font-family:var(--font-body)}
/* Resolve legacy rose-theme !important typography and field decoration. */
:root{--serif:var(--font-heading)!important;--script:var(--font-heading)!important;--sans:var(--font-body)!important}
#rsvp .rsvp-paper{padding:32px!important;max-width:640px!important;border-radius:12px!important}
#rsvp .rsvp-paper>p{font:400 13px/1.7 var(--font-body)!important;letter-spacing:normal!important}
#rsvp .rsvp-paper>p.eyebrow{font:500 11px/1.7 var(--font-body)!important;letter-spacing:.15em!important}
#rsvp .rsvp-form{margin-top:22px!important}
#rsvp .rsvp-form label,#rsvp .rsvp-form input,#rsvp .rsvp-form select,#rsvp .rsvp-form textarea,#rsvp .rsvp-form button,#rsvp .rsvp-form legend,#rsvp .rsvp-form p{font-family:var(--font-body)!important;letter-spacing:normal!important;text-transform:none!important}
#rsvp .attendance-options span{min-height:0!important;transform:none!important}
#rsvp .attendance-options input{pointer-events:auto!important}
#rsvp .attendance-options span b{font-family:var(--font-body)!important;font-size:13px!important}
#rsvp .rsvp-form [type=submit]{background:#e9c7d1!important;color:#603644!important;border-radius:8px!important;font-family:var(--font-body)!important}
#rsvp .rsvp-form input:not([type=radio]):not([type=hidden]),#rsvp .rsvp-form textarea{border:1px solid #d8c9c1!important;border-radius:8px!important;background:#fffdfa!important}
@media(max-width:680px){#rsvp .rsvp-paper{padding:24px 18px!important}}

body p,body label,body input,body textarea,body select,body button,body small,body nav a,body legend{font-family:var(--font-body)!important}
@media(max-width:680px){.cover h1{font-size:clamp(38px,11vw,54px);line-height:1.2}.cover .guest{font-size:14px;line-height:1.6}.cover .button{font-size:16px;min-height:48px}.cover .hint{font-size:12px;line-height:1.6}}
