.event-registration-form {
    --event-form-column-gap: 24px;
    --event-form-row-gap: 16px;
}

.event-registration-form h3 {
    margin: 28px 0 16px;
}

.event-registration-form h3:first-of-type {
    margin-top: 0;
}

.event-registration-form p,
.event-registration-form .event-form-field,
.event-registration-form .event-form-field > p {
    margin-top: 0;
}

.event-registration-form p:empty {
    display: none;
}

.event-registration-form .event-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--event-form-row-gap) var(--event-form-column-gap);
    margin: 0 0 var(--event-form-row-gap);
}

.event-registration-form .event-form-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.event-registration-form .event-form-grid > p,
.event-registration-form .event-form-field,
.event-registration-form .event-form-field > p {
    margin-bottom: 0;
}

.event-registration-form label,
.event-registration-form .wpcf7-form-control-wrap {
    display: block;
}

.event-registration-form .wpcf7-form-control-wrap {
    margin-top: 6px;
}

.event-registration-form input[type="text"],
.event-registration-form input[type="email"],
.event-registration-form select,
.event-registration-form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

.event-registration-form [data-event-guest][hidden] {
    display: none !important;
}

@media (max-width: 640px) {
    .event-registration-form .event-form-grid--two {
        grid-template-columns: minmax(0, 1fr);
    }
}
