﻿/* 表单增强：必填标识 / 聚焦反馈 / 行内错误提示 / 验证码行 */
form.form .form-field { position: relative; }
form.form .field-label { display: block; font-size: 14px; color: #33363D; margin: 0 0 6px; line-height: 1.5; }
form.form .field-label .req { color: #D93025; margin-left: 4px; }
form.form .field-label .opt { color: #98A2B5; font-size: 12px; font-weight: 400; margin-left: 6px; }

form.form .text,
form.form .select,
form.form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #D8DEE8;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #22262E;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}
form.form .text:focus,
form.form .select:focus,
form.form textarea:focus {
    border-color: #2F60D7;
    outline: none;
    box-shadow: 0 0 0 3px rgba(47, 96, 215, .12);
}
form.form .text.fe-invalid,
form.form .select.fe-invalid,
form.form textarea.fe-invalid {
    border-color: #D93025;
    box-shadow: 0 0 0 3px rgba(217, 48, 37, .10);
}
form.form .fe-error { color: #D93025; font-size: 12.5px; line-height: 1.6; margin-top: 6px; }
form.form .fe-hint { color: #98A2B5; font-size: 12px; line-height: 1.6; margin-top: 6px; }

form.form .text::placeholder,
form.form textarea::placeholder { color: #A6ADBB; opacity: 1; }
form.form .text::-webkit-input-placeholder,
form.form textarea::-webkit-input-placeholder { color: #A6ADBB; }
form.form .text::-moz-placeholder,
form.form textarea::-moz-placeholder { color: #A6ADBB; opacity: 1; }

form.form .captcha-row { display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; }
form.form .captcha-row .text {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    box-sizing: border-box;
}
form.form .captcha-row .yanzhengma {
    position: static !important;
    right: auto !important;
    top: auto !important;
    flex: 0 0 100px;
    width: 100px !important;
    height: 43px !important;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid #E5EAF4;
    border-radius: 4px;
    display: block;
    margin: 0 !important;
}
