.flex-user-form { max-width: 640px; margin: 24px 0; }
.flex-user-form fieldset { margin: 16px 0; padding: 0; border: 0; }
.flex-user-form .flex-form-field { margin-bottom: 18px; }
.flex-user-form .flex-form-field label,
.flex-user-form .flex-form-captcha > label { display: block; margin-bottom: 7px; font: inherit; }
.flex-user-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.flex-user-form textarea,
.flex-user-form select { box-sizing: border-box; width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #b5a993; border-radius: 3px; background: #fff; color: #30271f; font: inherit; }
.flex-user-form textarea { resize: vertical; }
.flex-user-form input:focus-visible,
.flex-user-form textarea:focus-visible,
.flex-user-form select:focus-visible,
.flex-user-form button:focus-visible { outline: 2px solid #80633e; outline-offset: 3px; }
.flex-user-form button { min-height: 42px; padding: 9px 18px; border: 1px solid #80633e; border-radius: 3px; background: #fff; color: #4e3822; font: inherit; cursor: pointer; }
.flex-user-form button[type="submit"] { background: #80633e; color: #fff; }
.flex-user-form button:disabled { opacity: .55; cursor: wait; }
.flex-user-form .flex-form-captcha { margin: 18px 0; }
.flex-user-form .flex-form-captcha-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 10px; }
.flex-user-form .flex-form-captcha-row img { display: block; width: 180px; height: 56px; }
.flex-user-form input[name="flex_captcha"] { max-width: 230px; }
.flex-user-form .buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.flex-user-form .buttons .flex-form-captcha { flex-basis: 100%; }
.flex-user-form .flex-form-status { margin-top: 14px; color: #34543b; }
.flex-user-form .flex-form-status:empty { display: none; }
.flex-user-form .flex-form-status.is-error { color: #a22626; }

.flex-form-success {
    box-sizing: border-box;
    display: flex;
    min-width: 0;
    min-height: 320px;
    padding: clamp(28px, 5vw, 48px) clamp(20px, 4vw, 40px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8c9b1;
    background: radial-gradient(ellipse at 50% 0%, #fffdf7, #f4ede2);
    color: #30271f;
    text-align: center;
    scroll-margin-block: 100px 24px;
    animation: flex-form-success-in .5s ease-out both;
}
.flex-form-success:focus-visible { outline: 2px solid #a68a5e; outline-offset: 5px; }
.flex-form-success__icon {
    box-sizing: border-box;
    display: grid;
    width: 64px;
    height: 64px;
    margin-bottom: 26px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #b49a72;
    border-radius: 50%;
    color: #80633e;
}
.flex-form-success__icon svg { display: block; }
.flex-form-success .flex-form-success__eyebrow { margin: 0 0 14px; color: #80633e; font: 600 10px/1.5 Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.flex-form-success .flex-form-success__title { max-width: 100%; margin: 0; color: inherit; font: 400 clamp(32px, 5vw, 44px)/1.08 Georgia, serif; overflow-wrap: break-word; }
.flex-form-success .flex-form-success__message { max-width: 360px; margin: 20px 0 0; color: #6a5b4b; font: inherit; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
@keyframes flex-form-success-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .flex-form-success { animation: none; }
}
