#rsvp-root{max-width:460px;margin:0 auto;background:#f8f1e3;padding:26px 18px 56px;font-family:'EB Garamond','Cormorant Garamond',Georgia,serif;color:#3b322a}
#rsvp-root[hidden]{display:none}
.rsvp-card{position:relative;border:1px solid rgba(190,165,120,.46);border-radius:22px;background:rgba(255,252,244,.86);box-shadow:0 10px 32px rgba(122,90,46,.08);padding:28px 22px;overflow:hidden}
.rsvp-card:before,.rsvp-card:after{content:"";position:absolute;pointer-events:none;background:url('img/floral_rama_botones.webp') center/contain no-repeat;width:96px;height:135px;opacity:.78}
.rsvp-card:before{left:-28px;top:-30px}.rsvp-card:after{right:-32px;bottom:-38px;transform:rotate(180deg)}
.rsvp-content{position:relative;z-index:2}.rsvp-kicker{text-align:center;font:500 10px/1 'Montserrat',sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#8d7f66;margin-bottom:10px}
.rsvp-title{text-align:center;font:500 36px/1 'Cormorant Garamond',serif;color:#5f3d17;margin-bottom:8px}.rsvp-sub{text-align:center;font-size:16px;line-height:1.4;color:#6b5a49;margin:0 auto 20px;max-width:340px}
.rsvp-divider{display:block;width:120px;margin:10px auto 18px}.rsvp-guest{text-align:center;margin:4px auto 18px;padding:13px 16px;border:1px solid rgba(190,165,120,.38);border-radius:14px;background:rgba(250,240,222,.58)}
.rsvp-guest strong{display:block;font-size:19px}.rsvp-guest span{display:block;margin-top:4px;font-size:14px;color:#7b6c5c}.rsvp-form{display:grid;gap:14px}.rsvp-label{display:block;font:600 11px/1.3 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#766957;margin-bottom:7px}
.rsvp-counter{display:grid;grid-template-columns:48px 1fr 48px;gap:12px;align-items:center}.rsvp-counter button,.rsvp-btn{appearance:none;border:1px solid rgba(176,138,74,.45);background:#fffaf2;color:#5f3d17;border-radius:12px;min-height:46px;font:600 15px 'Montserrat',sans-serif;cursor:pointer}
.rsvp-count{text-align:center;font:600 34px/1 'Cormorant Garamond',serif;color:#5f3d17}.rsvp-textarea{width:100%;min-height:86px;resize:vertical;border:1px solid rgba(176,138,74,.34);border-radius:12px;background:#fffaf2;color:#3b322a;padding:11px 12px;font:500 15px/1.4 'EB Garamond',serif;outline:none}
.rsvp-hint{font-size:13px;color:#817363;line-height:1.35;margin-top:-5px}.rsvp-actions{display:grid;gap:10px;margin-top:4px}.rsvp-btn.primary{background:#9a6f33;color:#fff;border-color:#9a6f33}.rsvp-btn.secondary{background:transparent;color:#746556}
.rsvp-btn:disabled{opacity:.55;cursor:not-allowed}.rsvp-status{text-align:center;padding:10px 12px;border-radius:12px;font:600 13px 'Montserrat',sans-serif}.rsvp-status.ok{background:#edf5eb;color:#476844}.rsvp-status.wait{background:#faf1d9;color:#7d622b}.rsvp-status.no{background:#f4ebe8;color:#7f5148}.rsvp-error{margin-top:10px;text-align:center;color:#9b443d;font-size:14px}
.pass-card{text-align:center}.pass-qr{width:min(76vw,260px);aspect-ratio:1;margin:18px auto 10px;padding:12px;border-radius:18px;background:#fff;border:1px solid rgba(176,138,74,.3)}.pass-qr img{width:100%;height:100%;display:block}.pass-meta{display:grid;gap:6px;margin:14px auto 0;font-size:15px}.pass-meta strong{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7b6b59}.rsvp-loading{text-align:center;padding:22px;color:#7b6d5d}.rsvp-deadline{text-align:center;margin-top:14px;font-size:13px;color:#8a7f6e}
@media(max-width:360px){#rsvp-root{padding-inline:12px}.rsvp-card{padding-inline:17px}.rsvp-title{font-size:32px}}
