:root {
    --vbs-member-btn-bg: #4b4b4a;
    --vbs-member-btn-text: var(--base);
    --vbs-member-btn-bg-hover: #2c2c2b;
    --vbs-member-btn-text-hover: var(--base);
    --vbs-member-form-text: #666666;
    --vbs-member-form-border: #cccccc;
    --vbs-member-form-bg: #fafafa;
    --vbs-member-text: var(--contrast);
    --vbs-member-link: #ffffff;
    --vbs-member-link-hover: var(--accent);
}

/* VBS Member Styles */
.um .um-button, .um input[type=submit].um-button, .um input[type=submit].um-button:focus {
    background-color: var(--vbs-member-btn-bg, #0366d6) !important;
    color: var(--vbs-member-btn-text, #ffffff) !important;
    border: none !important;
    height: auto !important;
    font-size: inherit !important;
    padding: 10px 20px !important;
    line-height: normal !important;
    min-width: auto !important;
    min-height: 40px !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    margin: 0 !important;
    text-transform: none !important;
}
.um .um-button:hover, .um input[type=submit].um-button:hover {
    background-color: var(--vbs-member-btn-bg-hover, #0255b3) !important;
    color: var(--vbs-member-btn-text-hover, #ffffff) !important;
}
.um .um-button.um-alt {
    background-color: transparent !important;
    border: 1px solid var(--vbs-member-btn-bg, #0366d6) !important;
    color: var(--vbs-member-btn-bg, #0366d6) !important;
}
.um .um-button.um-alt:hover {
    background-color: var(--vbs-member-btn-bg, #0366d6) !important;
    color: var(--vbs-member-btn-text, #ffffff) !important;
}
.um .um-form input[type=text], .um .um-form input[type=tel], .um .um-form input[type=password], .um .um-form input[type=number], .um .um-form textarea, .um .um-form select {
    color: var(--vbs-member-form-text, #333) !important;
    border: 1px solid var(--vbs-member-form-border, #ccc) !important;
    background-color: var(--vbs-member-form-bg, #fff) !important;
}
.um-field-label label { color: var(--vbs-member-text, #333) !important; }
.um a { color: var(--vbs-member-link, #0366d6) !important; }
.um a:hover { color: var(--vbs-member-link-hover, #0255b3) !important; }
.um-col-alt { display: flex !important; gap: 10px !important; margin: 15px 0 !important; padding: 0 !important; }
.um-col-alt .um-left, .um-col-alt .um-right { width: 50% !important; margin: 0 !important; padding: 0 !important; }
.um-col-alt .um-clear { display: none !important; }

/* WooCommerce 兼容样式 */
.woocommerce .button, .woocommerce-Button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    background-color: var(--vbs-member-btn-bg, #0366d6) !important;
    color: var(--vbs-member-btn-text, #ffffff) !important;
    border: none !important;
    line-height: normal !important;
    padding: 10px 20px !important;
    font-size: inherit !important;
    border-radius: 3px !important;
}
.woocommerce .button:hover, .woocommerce-Button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover {
    background-color: var(--vbs-member-btn-bg-hover, #0255b3) !important;
    color: var(--vbs-member-btn-text-hover, #ffffff) !important;
}
.woocommerce-info {
    border-top-color: var(--vbs-member-btn-bg, #0366d6) !important;
    background-color: #f7f7f7 !important;
    color: var(--vbs-member-text, #333) !important;
}
.woocommerce-info::before { color: var(--vbs-member-btn-bg, #0366d6) !important; }
.woocommerce-info a { color: var(--vbs-member-link, #0366d6) !important; }
.woocommerce-info a:hover { color: var(--vbs-member-link-hover, #0255b3) !important; }
.woocommerce-info .button, .woocommerce-info .woocommerce-Button {
    background-color: var(--vbs-member-btn-bg, #0366d6) !important;
    color: var(--vbs-member-btn-text, #ffffff) !important;
    margin-right: 10px !important;
}
.woocommerce-info .button:hover, .woocommerce-info .woocommerce-Button:hover {
    background-color: var(--vbs-member-btn-bg-hover, #0255b3) !important;
    color: var(--vbs-member-btn-text-hover, #ffffff) !important;
}

/* 登录模态框 UI */
.login-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; justify-content: center; align-items: center; }
.modal-content { position: relative; background: #fff; width: 90%; max-width: 400px; margin: 0 auto; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.modal-close { position: absolute; right: 15px; top: 10px; font-size: 24px; cursor: pointer; }
.form-group { margin-bottom: 15px; }
.form-group input[type="text"], .form-group input[type="password"] {
    width: 100%; padding: 8px;
    border: 1px solid var(--vbs-member-form-border, #ccc);
    border-radius: 4px;
    background-color: var(--vbs-member-form-bg, #fff);
    color: var(--vbs-member-form-text, #333);
}
.form-group label { display: flex; align-items: center; cursor: pointer; }
.form-group input[type="checkbox"] { margin-right: 8px; width: auto; display: inline-block; vertical-align: middle; }
.form-group button {
    width: 100%; padding: 10px;
    background: var(--vbs-member-btn-bg, #0366d6);
    color: var(--vbs-member-btn-text, #ffffff);
    border: none; border-radius: 4px; cursor: pointer;
}
.form-group button:hover {
    background: var(--vbs-member-btn-bg-hover, #0255b3);
    color: var(--vbs-member-btn-text-hover, #ffffff);
}
.form-links { display: flex; justify-content: space-between; margin-top: 15px; }
.form-links a { color: var(--vbs-member-link, #0366d6); text-decoration: none; }
.form-links a:hover { color: var(--vbs-member-link-hover, #0255b3); }
