.custom-form {
    --form-border: #b8bec5;
    --form-error: #a62424;
    display: grid;
    gap: 1.25rem;
    max-width: 44rem;
    margin: 1.5rem 0;
}

.custom-form .custom-form-field {
    display: grid;
    gap: .4rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.custom-form label,
.custom-form legend {
    display: block;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    padding: 0;
    margin: 0;
    font-weight: 600;
    font-size: 1.1rem;

}

.custom-form legend~label {
    font-weight: 400;
    font-size: 1.0rem;
}

.custom-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.custom-form select,
.custom-form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: .6rem .75rem;
    border: 1px solid var(--form-border);
    border-radius: .25rem;
    font: inherit;
}

.custom-form input[type="checkbox"],
.custom-form input[type="radio"] {
    display: inline-block;
    vertical-align: middle;
    appearance: auto;
    position: static;
    float: none;
    opacity: 1;
    width: 1.1em;
    height: 1.1em;
    margin: 0 .4em 0 0;
    vertical-align: middle;
}

.custom-form .custom-form-help {
    font-size: .9em;
}

.custom-form .custom-form-error {
    color: var(--form-error);
    font-size: .9em;
}

.custom-form .custom-form-error:empty {
    display: none;
}

.custom-form [aria-invalid="true"] {
    outline: 2px solid var(--form-error);
    outline-offset: 2px;
}

.custom-form :focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.custom-form button {
    justify-self: start;
}

.custom-form button:disabled {
    cursor: wait;
    opacity: .6;
}

.custom-form [data-form-status] {
    margin: 0;
    overflow-wrap: anywhere;
}

.custom-form [data-form-status]:empty {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.custom-form .custom-form-honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
.custom-form .custom-form-field.custom-form-field--consent label {
    font-weight: 400;
    font-size: 0.9rem;
    line-height: 1.3rem
}
