.bloggista-form-wrap {
    --bloggista-form-gap: 18px;
    --bloggista-form-border: #cbd5e1;
    --bloggista-form-focus: currentColor;
    --bloggista-form-radius: 4px;
    --bloggista-form-error: #b42318;
    --bloggista-form-success: #067647;
}

.bloggista-form,
.bloggista-form * {
    box-sizing: border-box;
}

.bloggista-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--bloggista-form-gap);
}

.bloggista-form__field {
    grid-column: 1 / -1;
    min-width: 0;
}

.bloggista-form__field--half {
    grid-column: span 1;
}

.bloggista-form__field > label:not(.bloggista-form__choice) {
    display: block;
    margin: 0 0 7px;
    font-weight: 600;
}

.bloggista-form input:not([type="checkbox"]),
.bloggista-form textarea,
.bloggista-form select {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--bloggista-form-border);
    border-radius: var(--bloggista-form-radius);
    background: #fff;
    color: inherit;
    font: inherit;
}

.bloggista-form textarea {
    min-height: 130px;
    resize: vertical;
}

.bloggista-form input:focus,
.bloggista-form textarea:focus,
.bloggista-form select:focus {
    outline: 2px solid var(--bloggista-form-focus);
    outline-offset: 1px;
}

.bloggista-form__choice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}

.bloggista-form__choice input {
    margin-top: 4px;
    flex: 0 0 auto;
}

.bloggista-form__required,
.bloggista-form__error,
.bloggista-form__status.is-error {
    color: var(--bloggista-form-error);
}

.bloggista-form__error {
    min-height: 18px;
    margin-top: 5px;
    font-size: .875em;
}

.bloggista-form__actions {
    margin-top: 20px;
}

.bloggista-form__submit {
    cursor: pointer;
}

.bloggista-form__submit[disabled] {
    cursor: wait;
    opacity: .65;
}

.bloggista-form__status {
    margin-top: 14px;
    min-height: 1.5em;
}

.bloggista-form__status.is-success {
    color: var(--bloggista-form-success);
}

.bloggista-form__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.bloggista-form-notice {
    padding: 12px 14px;
    border: 1px dashed #94a3b8;
}

@media (max-width: 680px) {
    .bloggista-form__grid {
        grid-template-columns: 1fr;
    }

    .bloggista-form__field--half {
        grid-column: 1 / -1;
    }
}

.bloggista-form__field[hidden] {
    display: none !important;
}

.bloggista-form__captcha {
    margin-top: 20px;
}

.bloggista-form__captcha-error {
    margin: 0;
    color: var(--bloggista-form-error);
}
