.rsvp-page{background:var(--cyan)}.rsvp-nav{position:absolute}.back-link{display:grid;place-items:center;padding:0 14px;color:#000;text-decoration:none;font-family:var(--display)}.rsvp-main{min-height:100svh;display:grid;grid-template-columns:.8fr 1.2fr}.rsvp-art{position:sticky;top:0;height:100svh;background:center/cover no-repeat var(--pink);background-image:linear-gradient(180deg,rgba(255,0,115,.18),rgba(0,177,190,.18)),var(--rsvp-bg),image-set(url("../images/rsvp-pop-art-clean.avif") type("image/avif"),url("../images/rsvp-pop-art-clean.avif") type("image/webp"))}.rsvp-panel{padding:130px max(5vw,28px) 70px;background:var(--paper);border-left:5px solid #000}.rsvp-header{max-width:680px}.rsvp-header h1{font:clamp(4rem,9vw,8rem)/.85 var(--script);color:var(--pink);text-shadow:5px 5px var(--yellow);margin:.15em 0}.rsvp-header>b{display:inline-block;padding:8px 12px;background:var(--cyan);border:3px solid #000;transform:rotate(-2deg)}.form-card,.summary-card{max-width:720px;margin-top:35px;padding:clamp(22px,5vw,48px);background:var(--white);border:4px solid #000;box-shadow:13px 13px 0 var(--pink)}.field{margin:18px 0}.field label,fieldset legend{display:block;margin-bottom:7px;font-family:var(--display);text-transform:uppercase;font-size:.78rem}.field input,.field select{width:100%;min-height:50px;padding:10px;border:3px solid #000;background:var(--paper);border-radius:0}.field input:focus,.field select:focus{outline:4px solid var(--cyan);box-shadow:6px 6px var(--yellow)}.phone-row{display:grid;grid-template-columns:100px 1fr;gap:8px}fieldset{margin:30px 0;padding:0;border:0}.select-all{display:flex;align-items:center;gap:8px;border:3px solid #000;background:var(--yellow);padding:0 12px;cursor:pointer}.select-all i{width:18px;height:18px;border:2px solid #000;background:white}.select-all.selected i{background:var(--pink)}.rsvp-events{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.event-option{position:relative;display:grid;grid-template-columns:75px 1fr;align-items:center;overflow:hidden;border:3px solid #000;background:var(--paper);cursor:pointer;transition:.25s}.event-option:hover,.event-option.selected{transform:translateY(-4px);box-shadow:7px 7px var(--cyan)}.event-option.selected{background:var(--yellow)}.event-option input{position:absolute;opacity:0}.event-option img{width:75px;height:75px;object-fit:cover;border-right:3px solid #000}.event-option span{padding:8px}.event-option b,.event-option small{display:block}.guest-row{display:grid;grid-template-columns:80px 1fr;align-items:center;margin:8px 0}.guest-row input{min-height:48px;border:3px solid #000;padding:8px}.optional{padding-top:12px;border-top:4px dashed #000}.field-error,#form-status{color:#a0003b;font-weight:700}.invalid input{animation:shake .3s}.submit{width:100%;background:var(--pink);color:white}.submit.loading i{width:18px;height:18px;border:3px solid white;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.cancel{width:100%;border:0;background:none;text-decoration:underline;margin-top:15px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-grid p{padding:12px;border:3px solid #000;background:var(--paper)}.summary-grid span,.summary-grid b{display:block}.summary-events{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.summary-events span{padding:7px 10px;background:var(--cyan);border:2px solid #000;font-weight:700}.summary-actions{display:flex;gap:12px}.outline{background:transparent}.modal,.success{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.78)}.modal[hidden],.success[hidden]{display:none}.modal section,.success>div{max-width:480px;padding:35px;text-align:center;background:var(--paper);border:4px solid #000;box-shadow:12px 12px var(--pink)}.modal section>span,.success>div>span{font-size:3rem}.modal section>div{display:flex;gap:10px;justify-content:center}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@media(max-width:800px){.rsvp-main{display:block}.rsvp-art{position:relative;height:42svh}.rsvp-panel{border:0;border-top:5px solid #000;padding:70px 20px}.rsvp-nav{top:12px}.rsvp-events{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.summary-actions{display:grid}.form-card,.summary-card{box-shadow:8px 8px var(--pink)}}
