.bt-registration-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
    max-width: 980px;
}

.bt-registration-form .full {
    grid-column: 1 / -1;
}

.bt-field label {
    display: block;
    font-weight: 700;
    margin-bottom: .4rem;
}

.bt-field input,
.bt-field select,
.bt-field textarea {
    width: 100%;
}

.bt-field textarea {
    min-height: 8rem;
    resize: vertical;
}

.bt-cohort-summary,
.bt-acknowledgments,
.bt-registration-success,
.bt-registration-error {
    border-radius: .5rem;
    padding: 1.25rem;
}

.bt-cohort-summary {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.15);
}

.bt-acknowledgments {
    display: grid;
    gap: .9rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
}

.bt-acknowledgments label {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .65rem;
    align-items: start;
}

.bt-registration-success {
    background: #e8f5ee;
    color: #245f41;
}

.bt-registration-error {
    background: #fbeaea;
    color: #8f3939;
    margin-bottom: 1.25rem;
}

.bt-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 760px) {
    .bt-registration-form {
        grid-template-columns: 1fr;
    }

    .bt-registration-form .full {
        grid-column: auto;
    }
}
