/* Shared textbox, focus and validation styling for public and admin forms. */
body form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
body form textarea,
body form select {
    border: 1px solid #71806f;
    background-color: #fbfcf8;
    border-radius: 4px;
}

body form input:focus,
body form textarea:focus,
body form select:focus {
    border-color: #354738;
    outline: 3px solid #b9cfb6 !important;
    outline-offset: 2px;
    background-color: #ffffff;
}

body form .input.error input,
body form .input.error select,
body form .input.error textarea,
body form [aria-invalid="true"] {
    border: 2px solid #b42318 !important;
    background-color: #fff4f2 !important;
}

body form .error-message {
    color: #a12622;
    font-size: 14px;
    margin: 6px 0 16px;
}

.form-feedback .message {
    padding: 16px;
    margin-bottom: 20px;
    border: 1px solid #71806f;
    background: #e1efdf;
    color: #24522b;
}

.form-feedback .message.error {
    border-color: #b42318;
    background: #fff4f2;
    color: #a12622;
}

body form select:not([multiple]):not([size]) {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%23354738' stroke-width='2.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 10px;
    padding-right: 38px;
}
