/* RSVP Guest List Styles */

#no-of-adult,
#no-of-child {
    font-weight: bold;
    border: none;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px;
    text-align: center;
    color: #fff;
    cursor: default;
    pointer-events: none;
    font-size: 1.2em;
    border-radius: 5px;
}

/* Hide these by default until a valid code is entered */
#you-are-invited-by, 
#rsvp-family-output2 {
    display: none;
}

/* Center and enlarge the RSVP Code label */
label[for="rsvp-code"],
.rsvp-code-label,
#rsvp-code-label {
    display: block;
    text-align: center;
    font-size: 1.5em;
    font-weight: 800;
    margin-bottom: 15px;
    width: 100%;
}


/* Specific styling for the guest table */
#cb18822d6dc4e-d4 table {
    width: 100%;
    border-collapse: collapse;
}

#cb18822d6dc4e-d4 td {
    padding: 8px;
    vertical-align: middle;
}

#cb18822d6dc4e-d4 input[type="checkbox"] {
    margin-right: 10px;
}

/* Summary fields - hidden as per logic but styled if visible */
.rsvp-summary-field {
    background: #f0f0f0;
    font-style: italic;
}

/* Error/Validation state styling */
.rsvp-error {
    border: 2px solid red !important;
}

.rsvp-valid {
    border: 2px solid green !important;
}

/* Greetings & Dietary Forms Styling */
.rsvp-greetings-app, 
.rsvp-dietary-app {
    max-width: 500px !important;
    margin: 40px auto !important;
    padding: 30px !important;
    background: #ffffff !important;
    border-radius: 15px !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
    border: 1px solid #eef2f7 !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 1;
}

.rsvp-greetings-app h3, 
.rsvp-dietary-app h3 {
    color: #0f172a !important;
    font-size: 1.6em !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.rsvp-submit-btn {
    width: auto !important;
    min-width: 220px;
    margin: 25px auto 10px !important;
    display: block !important;
    padding: 15px 40px !important;
    background: #111 !important;
    color: #fff !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.rsvp-submit-btn:hover {
    background: #8B4D8C !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(139, 77, 140, 0.4);
}

.rsvp-submit-btn:disabled {
    background: #ccc !important;
    cursor: not-allowed;
    transform: none;
}

.g-recaptcha-wrapper {
    margin: 25px 0;
    display: flex;
    justify-content: center;
    width: 100%;
}


