label,legend {
    display:block;
    font-weight:500;
    font-size:.9rem;
    color:var(--color-dark)
}
input,textarea,select {
    width:100%;
    display:block;
    margin-top:6px;
    border:1px solid var(--color-border);
    border-radius:9px;
    padding:11px 12px;
    color:var(--color-text);
    font:inherit;
    background:var(--color-bg);
    transition:.2s
}
textarea {
    min-height:95px;
    resize:vertical
}
input:focus,textarea:focus,select:focus {
    outline:3px solid rgba(30,180,202,.28);
    border-color:var(--color-primary)
}
fieldset {
    border:0;
    padding:0;
    margin:18px 0
}
.choices {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:7px
}
.choices label,.check {
    position:relative;
    cursor:pointer;
    padding:10px 14px;
    border:1px solid var(--color-border);
    border-radius:9px;
    background:var(--color-bg)
}
.choices input {
    position:absolute;
    opacity:0;
    pointer-events:none
}
.choices label:has(input:checked),.check:has(input:checked) {
    border-color:var(--color-primary);
    background:#e7f8fb;
    color:var(--color-dark);
    box-shadow:inset 0 0 0 1px var(--color-primary)
}
.choices label:has(input:disabled) {
    cursor:not-allowed;
    opacity:.45
}
.cards label {
    flex:1 1 180px;
    min-height:58px
}
.cards small {
    font-weight:400;
    color:var(--color-text-muted)
}
.check input {
    width:auto;
    display:inline;
    margin:0 7px 0 0;
    position:static;
    opacity:1
}
.button {
    border:0;
    border-radius:9px;
    padding:12px 20px;
    background:var(--color-primary);
    color:var(--color-bg);
    font:700 .92rem var(--font-family);
    cursor:pointer;
    transition:.2s
}
.button:hover {
    background:var(--color-dark)
}
.button:disabled {
    opacity:.45;
    cursor:not-allowed
}
.button.ghost {
    background:transparent;
    color:var(--color-primary);
    border:1px solid var(--color-primary)
}
.text-button {
    background:none;
    border:0;
    padding:0;
    color:var(--color-primary);
    font-weight:600;
    cursor:pointer
}
.error {
    border-color:var(--color-accent)!important
}
.field-error {
    margin:4px 0 0;
    color:var(--color-accent);
    font-size:.78rem;
    font-weight:500
}
.emphasize input {
    border-color:var(--color-highlight);
    box-shadow:0 0 0 3px rgba(134,94,82,.22)
}
.honeypot {
    position:absolute!important;
    left:-9999px
}
.review-group {
    border-top:1px solid var(--color-border);
    padding:15px 0
}
.review-group h3 {
    margin:0 0 8px
}
.review-group button {
    float:right;
    border:0;
    background:none;
    color:var(--color-primary);
    font-weight:600;
    cursor:pointer
}
.review-group dl {
    display:grid;
    grid-template-columns:minmax(130px,1fr) 2fr;
    gap:5px 12px;
    margin:0
}
.review-group dt {
    font-weight:500;
    color:var(--color-text-muted)
}
.review-group dd {
    margin:0
}
.declaration {
    background:var(--color-bg-muted);
    border-radius:12px;
    padding:14px 18px;
    margin:24px 0
}
.form-nav .submit {
    display:none;
    align-items:center;
    justify-content:center;
    min-width:178px
}