/* === 输入框 / 搜索框 === */

/* ---- 输入框 ---- */
.input-wrap {
    position: relative; display: flex; align-items: center;
}
.input-wrap input {
    width: 100%; height: 44px;
    padding: 0 16px 0 40px;
    background: #f9fafb; color: #111827;
    border: 1px solid #e5e7eb; border-radius: 8px;
    font-size: 13px; outline: none;
    transition: border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.input-wrap input::placeholder { color: #9ca3af; }
.input-wrap input:focus {
    border-color: #4a9eff;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(74, 158, 255, 0.12);
}
.input-wrap .input-icon {
    position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; color: #9ca3af; pointer-events: none;
}

.captcha-wrap input { padding-right: 110px; }
.captcha-wrap img {
    position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
    height: 34px; width: 100px; cursor: pointer; border-radius: 6px;
    background: transparent;
}

.search-box {
    position: relative; display: flex; align-items: center;
}
.search-box input {
    width: 192px; height: 36px;
    padding: 0 12px 0 36px;
    background: #fff; color: #111827;
    border: 1px solid #e5e7eb; border-radius: 8px;
    font-size: 13px; outline: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.search-box input::placeholder { color: #9ca3af; }
.search-box input:focus {
    width: 240px;
    border-color: #4a9eff;
    box-shadow: 0 0 0 4px rgba(74, 158, 255, 0.12);
}
.search-box .search-icon {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    width: 16px; height: 16px; color: #9ca3af; pointer-events: none;
}

.error-msg { font-size: 13px; color: #ef4444; margin-top: 4px; }
