/* ================================================================
   Ultimate Member 登录 / 注册页面美化
   参考 WooCommerce 登录页同款设计语言
   色调：#b8860b 暖金 × #2c2c2c 深灰 × 白色底
   ================================================================ */

/* --- 页面容器 --- */
.um-login,
.um-register {
    max-width: 480px !important;
    width: 90% !important;
    margin: 60px auto !important;
    background: #fff !important;
    padding: 50px 40px !important;
    border-radius: 4px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
    animation: fadeInUp 0.6s ease-out !important;
}

/* --- 表单内部容器 --- */
.um-login .um-form,
.um-register .um-form {
    max-width: 100% !important;
}

/* --- 页面标题 (WordPress page title) --- */
.um-login ~ .entry-header .entry-title,
.um-register ~ .entry-header .entry-title,
body:has(.um-login) .entry-title,
body:has(.um-register) .entry-title,
body:has(.um-login) h1.entry-title,
body:has(.um-register) h1.entry-title,
.post-template-default:has(.um-login) .entry-title,
.post-template-default:has(.um-register) .entry-title,
.um-page-login .entry-title,
.um-page-register .entry-title {
    text-align: center !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    color: #2c2c2c !important;
    margin-bottom: 0 !important;
}

/* --- 表单标题兼容 (如果 UM 表单内有标题) --- */
.um-login .um-form h2,
.um-register .um-form h2,
.um-login h2,
.um-register h2 {
    font-size: 24px !important;
    font-weight: 300 !important;
    color: #2c2c2c !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    position: relative !important;
    padding-bottom: 15px !important;
}

.um-login .um-form h2::after,
.um-register .um-form h2::after,
.um-login h2::after,
.um-register h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 50px !important;
    height: 2px !important;
    background: #b8860b !important;
    border-radius: 1px !important;
}

/* --- 消息通知 --- */
.um-login .um-notice,
.um-register .um-notice {
    border-radius: 4px !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
    padding: 12px 16px !important;
    text-align: center !important;
}

.um-login .um-notice.err,
.um-register .um-notice.err {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-left: 4px solid #dc2626 !important;
}

.um-login .um-notice.success,
.um-register .um-notice.success {
    background: #f0fdf4 !important;
    color: #166534 !important;
    border-left: 4px solid #16a34a !important;
}

.um-login .um-notice.warning,
.um-register .um-notice.warning {
    background: #fdfaf5 !important;
    color: #9E7A7A !important;
    border-left: 4px solid #d4af37 !important;
}

/* 消息关闭图标 */
.um-login .um-notice i,
.um-register .um-notice i {
    cursor: pointer !important;
    float: right !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s ease !important;
}

.um-login .um-notice i:hover,
.um-register .um-notice i:hover {
    opacity: 1 !important;
}

/* --- 字段间距 --- */
.um-login .um-field,
.um-register .um-field {
    padding: 10px 0 0 0 !important;
    margin-bottom: 5px !important;
}

/* --- 标签 --- */
.um-login .um-field-label label,
.um-register .um-field-label label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #444 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* --- 输入框 --- */
.um-login input[type="text"],
.um-login input[type="password"],
.um-login input[type="email"],
.um-login input[type="tel"],
.um-login input[type="number"],
.um-register input[type="text"],
.um-register input[type="password"],
.um-register input[type="email"],
.um-register input[type="tel"],
.um-register input[type="number"],
.um-login textarea,
.um-register textarea {
    width: 100% !important;
    height: auto !important;
    padding: 12px 15px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #333 !important;
    background: #fafafa !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
}

.um-login input[type="text"]:focus,
.um-login input[type="password"]:focus,
.um-login input[type="email"]:focus,
.um-login input[type="tel"]:focus,
.um-login input[type="number"]:focus,
.um-register input[type="text"]:focus,
.um-register input[type="password"]:focus,
.um-register input[type="email"]:focus,
.um-register input[type="tel"]:focus,
.um-register input[type="number"]:focus,
.um-login textarea:focus,
.um-register textarea:focus {
    border-color: #b8860b !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.1) !important;
}

/* --- 修复 UM 字段内部多余边距 --- */
.um-login .um-field-area,
.um-register .um-field-area {
    padding: 0 !important;
    position: relative !important;
}

/* --- 输入框左侧图标 --- */
.um-login .um-field-icon,
.um-register .um-field-icon {
    display: none !important;
}

.um-login .um-field-icon + .um-field-area input,
.um-register .um-field-icon + .um-field-area input {
    padding-left: 15px !important;
}

/* --- 复选框 / 记住我 --- */
.um-login .um-field-checkbox,
.um-register .um-field-checkbox,
.um-login .um-field-radio,
.um-register .um-field-radio {
    margin: 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
}

.um-login .um-field-checkbox input[type="checkbox"],
.um-register .um-field-checkbox input[type="checkbox"],
.um-login .um-field-radio input[type="radio"],
.um-register .um-field-radio input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: #b8860b !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.um-login .um-field-checkbox label,
.um-register .um-field-checkbox label,
.um-login .um-field-radio label,
.um-register .um-field-radio label {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #555 !important;
    cursor: pointer !important;
}

/* --- 错误提示 --- */
.um-login .um-field-error,
.um-register .um-field-error {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    margin-top: 6px !important;
    border-left: 3px solid #dc2626 !important;
}

/* --- 按钮区域 --- */
.um-login .um-col-alt,
.um-register .um-col-alt {
    margin: 20px 0 5px 0 !important;
}

/* --- 主按钮 --- */
.um-login .um-button,
.um-register .um-button,
.um-login #um-submit-btn,
.um-register #um-submit-btn {
    width: 100% !important;
    display: block !important;
    background: #2c2c2c !important;
    color: #fff !important;
    padding: 14px 24px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-align: center !important;
    line-height: 1.4 !important;
    height: auto !important;
}

.um-login .um-button:hover,
.um-register .um-button:hover,
.um-login #um-submit-btn:hover,
.um-register #um-submit-btn:hover {
    background: #b8860b !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(184, 134, 11, 0.3) !important;
}

/* --- 双按钮布局 (登录 + 注册 / 注册 + 登录) --- */
.um-login .um-half,
.um-register .um-half {
    width: 48% !important;
    margin: 0 !important;
}

.um-login .um-half .um-button,
.um-register .um-half .um-button {
    padding: 14px 16px !important;
    font-size: 14px !important;
}

/* --- 次按钮 (链接样式按钮) --- */
.um-login .um-button.um-alt,
.um-register .um-button.um-alt {
    background: transparent !important;
    color: #666 !important;
    border: 1px solid #e0e0e0 !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}

.um-login .um-button.um-alt:hover,
.um-register .um-button.um-alt:hover {
    background: #fafafa !important;
    color: #b8860b !important;
    border-color: #b8860b !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(184, 134, 11, 0.1) !important;
}

/* --- 忘记密码链接 --- */
.um-login .um-col-alt-b,
.um-register .um-col-alt-b {
    padding-top: 20px !important;
}

.um-login .um-link-alt,
.um-register .um-link-alt {
    display: block !important;
    text-align: center !important;
    color: #666 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    position: relative !important;
}

.um-login .um-link-alt::after,
.um-register .um-link-alt::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 50% !important;
    width: 0 !important;
    height: 1px !important;
    background: #b8860b !important;
    transition: all 0.3s ease !important;
    transform: translateX(-50%) !important;
}

.um-login .um-link-alt:hover,
.um-register .um-link-alt:hover {
    color: #b8860b !important;
}

.um-login .um-link-alt:hover::after,
.um-register .um-link-alt:hover::after {
    width: 40px !important;
}

/* --- UM 分隔线 --- */
.um-login .um-field-group,
.um-register .um-field-group {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #f0ece8 !important;
}

/* --- UM 表单描述文字 --- */
.um-login .um-field .um-tip,
.um-register .um-field .um-tip,
.um-login .um-field-description,
.um-register .um-field-description {
    color: #888 !important;
    font-size: 13px !important;
    margin-top: 4px !important;
}

/* --- select2 下拉 --- */
.um-login .select2-container .select2-selection,
.um-register .select2-container .select2-selection {
    height: auto !important;
    min-height: 44px !important;
    padding: 12px 15px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    background: #fafafa !important;
}

.um-login .select2-container--focus .select2-selection,
.um-register .select2-container--focus .select2-selection {
    border-color: #b8860b !important;
    box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.1) !important;
}

/* --- 响应式 --- */
@media (max-width: 768px) {
    .um-login,
    .um-register {
        max-width: 100% !important;
        width: 94% !important;
        margin: 30px auto !important;
        padding: 35px 25px !important;
    }

    .um-login .um-half,
    .um-register .um-half {
        width: 100% !important;
        float: none !important;
        margin-bottom: 10px !important;
    }

    .um-login .um-half:last-child,
    .um-register .um-half:last-child {
        margin-bottom: 0 !important;
    }
}
