/* NodeLoc OAuth 登录按钮样式 */

/* ── 子比主题社交登录栏内的 NodeLoc 按钮（与 QQ/微信同款样式） ── */
/*
 * 子比 button-lg 按钮结构：
 *   <a class="social-login-item button-lg qq">
 *     <i class="iconfont icon-qq"></i>QQ登录
 *   </a>
 * 用渐变蓝色背景 + 白色圆形图标，与 QQ 蓝色保持色系统一
 */
.social-login-item.nodeloc.button-lg {
    background: linear-gradient(135deg, #1a73e8 0%, #0d5cbf 100%) !important;
    color: #fff !important;
    position: relative;
    overflow: hidden;
}
.social-login-item.nodeloc.button-lg:hover {
    background: linear-gradient(135deg, #1e7ff0 0%, #1058c8 100%) !important;
    color: #fff !important;
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(26,115,232,.45) !important;
}

/* 小图标模式（toggle-radius） */
.social-login-item.nodeloc.toggle-radius {
    background: #1a73e8 !important;
    color: #fff !important;
}
.social-login-item.nodeloc.toggle-radius:hover {
    background: #1558b0 !important;
    color: #fff !important;
}

/* ── 分隔线 ─────────────────────────────────────────────────── */
.nodeloc-oauth-wrap {
    margin-top: 16px;
    text-align: center;
}

.nodeloc-oauth-divider {
    position: relative;
    margin: 0 0 14px;
    text-align: center;
    line-height: 1;
}

.nodeloc-oauth-divider::before,
.nodeloc-oauth-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: calc(50% - 26px);
    height: 1px;
    background: #e0e0e0;
}

.nodeloc-oauth-divider::before { left: 0; }
.nodeloc-oauth-divider::after  { right: 0; }

.nodeloc-oauth-divider span {
    display: inline-block;
    padding: 0 8px;
    font-size: 12px;
    color: #999;
    background: var(--zib-bg, #fff);
}

/* ── 登录按钮 ───────────────────────────────────────────────── */
.nodeloc-oauth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 320px;
    padding: 10px 20px;
    border: 1.5px solid #d0d0d0;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, background .2s;
    box-sizing: border-box;
}

.nodeloc-oauth-btn:hover {
    border-color: #1a73e8;
    box-shadow: 0 2px 8px rgba(26,115,232,.15);
    background: #f6f9ff;
    color: #1a73e8;
    text-decoration: none;
}

.nodeloc-oauth-btn img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ── 账号设置页绑定卡片 ──────────────────────────────────────── */
.nodeloc-account-binding {
    margin-top: 16px;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    overflow: hidden;
}

.nodeloc-account-binding .zib-card-header {
    padding: 12px 16px;
    background: #f7f7f7;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
}

.nodeloc-account-binding .zib-card-body {
    padding: 14px 16px;
    font-size: 14px;
}

.nodeloc-account-binding .nodeloc-bound-info {
    margin: 0 0 10px;
    color: #333;
}

.nodeloc-account-binding .nodeloc-msg {
    font-size: 13px;
    margin-left: 8px;
    color: #e00;
}

/* ── NodeLoc 按钮内图标（圆形 N，与 QQ 图标视觉一致） ────────────── */
.social-login-item.nodeloc .nodeloc-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    font-style: normal;
    font-weight: 900;
    font-size: 13px;
    line-height: 1;
    margin-right: 6px;
    flex-shrink: 0;
    color: #fff;
    vertical-align: middle;
}

/* ── 自建登录栏（子比关闭第三方登录时） ──────────────────────────── */
.nodeloc-created-bar {
    display: flex;
    justify-content: center;
    padding: 14px 0 6px;
    border-top: 1px solid #e8e8e8;
    margin-top: 14px;
}

/* 深色模式下自建栏分隔线 */
.dark .nodeloc-created-bar {
    border-top-color: rgba(255,255,255,.1);
}

/* 深色模式适配（子比主题 dark class） */
.dark .nodeloc-oauth-btn {
    background: #1e1e2e;
    border-color: #444;
    color: #ddd;
}

.dark .nodeloc-oauth-btn:hover {
    border-color: #5b9bfc;
    background: #1e2a3a;
    color: #5b9bfc;
}

.dark .nodeloc-oauth-divider span {
    background: var(--zib-bg, #1e1e2e);
}

.dark .nodeloc-account-binding {
    border-color: #333;
}

.dark .nodeloc-account-binding .zib-card-header {
    background: #1a1a2a;
    border-color: #333;
}
