/* SECTION */
.rsvp{
    text-align:center;
    padding:40px 20px;
    background:#401215;
}

/* top text */
.rsvp-top{
    font-family: 'British', serif;
    font-size:1.2rem;
    letter-spacing:4px;
    color:#ECDAC6;
    margin-bottom:10px;
}

/* image */
.rsvp-img{
    width:120px;
    margin:-7px auto;
    display:block;
    opacity:0.9;
}

/* heading */
.rsvp h2{
    font-family:'EB Garamond', serif;
    font-size:2.5rem;
    color:#ECDAC6;
    margin:10px 0;
}

/* subtitle */
.rsvp-sub{
    color:#d8c2b5;
    margin-bottom:30px;
}

/* form */
.rsvp-form{
    max-width:500px;
    margin:auto;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* prevent mobile zoom */
.rsvp-form input,
.rsvp-form textarea{
    font-size:16px;
}

/* inputs (single line style) */
.rsvp-form input,
.rsvp-form textarea{
    padding:10px;
    border:none;
    border-bottom:1px solid #C8A15D;
    background:transparent;
    color:#ECDAC6;
    outline:none;
}

/* labels */
.rsvp-form label{
    font-size:0.9rem;
    color:#ECDAC6;
}

/* textarea */
.rsvp-form textarea{
    min-height:80px;
    resize:none;
}

/* radio group */
.radio-group{
    display:flex;
    flex-direction:column;   /* 👈 makes vertical layout */
    align-items:flex-start;  /* 👈 keeps everything left aligned */
    gap:10px;
    color:#ECDAC6;
    font-size:0.9rem;
}

.radio-group label{
    display:flex;
    align-items:flex-start;
    gap:8px;
    cursor:pointer;
    line-height:1.4;
}
.form-group{
    display:flex;
    flex-direction:column;
    gap:15px;
    margin-bottom:20px;  /* 👈 THIS controls question spacing */
}

/* button */
.rsvp-form button{
    margin-top:10px;
    padding:12px;
    background:#ECDAC6;
    color:#401215;
    border:none;
    border-radius:8px;
    cursor:pointer;
}

.rsvp-form button:hover{
    background:#e0c2a8;
}


input[type="radio"]{
    accent-color:#401215; /* maroon */
}







.rsvp-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 9999;
    color: #fff;
}
.hidden {
    display: none;
}

.spinner {
    width: 60px;
    height: 60px;
    border: 6px solid #ECDAC6;
    border-top: 6px solid #ECDAC6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    100% { transform: rotate(360deg); }
}

.modal-box {
    background: #ECDAC6;
    color: #401215;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}

