/* ==========================================================================
   墨绿主题 · 登录 / 注册 / 找回密码（Authentication 模板）

   叠在 _auth.css（调试时 auth.css）与 ink.css 之后：令牌（--shop-* / --ink-*）、
   语言下拉（.ink-lang）与页脚语言栏（.ink-footer__langs）都来自 ink.css，
   这里只负责把原来的毛玻璃卡、渐变按钮、彩色光斑换成纸色底 + 实色白卡 + 墨绿。
   ========================================================================== */

.ink-auth-body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--shop-bg);
    color: var(--shop-text);
}

/* --------------------------------------------------------------------------
   顶栏
   -------------------------------------------------------------------------- */
.ink-authbar {
    border-bottom: 1px solid var(--shop-border);
    background: var(--shop-bg);
}

.ink-authbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
}

.ink-authbar__brand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
    color: var(--shop-ink);
    font-family: var(--ink-serif);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.ink-authbar__brand:hover {
    color: var(--shop-ink);
}

.ink-authbar__brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ink-authbar__logo {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    flex: 0 0 auto;
}

.ink-authbar__right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.ink-authbar__link {
    color: var(--shop-muted);
    font-size: .875rem;
    font-weight: 600;
    white-space: nowrap;
}

.ink-authbar__link:hover {
    color: var(--shop-primary);
}

@media (max-width: 399.98px) {
    .ink-authbar__brand {
        font-size: .9375rem;
    }
}

/* --------------------------------------------------------------------------
   主体：去掉白蒙层与两团彩色光斑，右下角留一颗淡淡的赭色行星呼应首屏插画
   -------------------------------------------------------------------------- */
.auth-wrapper {
    flex: 1 0 auto;
    min-height: 0;
    padding: 56px 16px;
    background: transparent;
}

.auth-wrapper::before {
    content: none;
}

.auth-wrapper::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 34%, #ead9c8, #d6b79c 60%, #c39d80);
    opacity: .16;
    filter: none;
    animation: none;
    pointer-events: none;
}

.auth-card {
    position: relative;
    z-index: 1;
    max-width: 420px;
    padding: 32px 30px 28px;
    border: 1px solid var(--shop-border);
    border-radius: 12px;
    background: var(--shop-surface);
    color: var(--shop-text);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 22px 48px -36px rgba(38, 40, 35, .45);
}

/* 顶栏已有品牌，卡片里不再放 64px 大图标，改由宋体标题领起 */
.auth-card .brand-header {
    display: none;
}

.ink-auth-title {
    margin: 0 0 .4rem;
    color: var(--shop-ink);
    font-family: var(--ink-serif);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
}

.auth-subtitle {
    color: var(--shop-muted);
    text-align: center;
}

.text-link,
.text-link:hover {
    color: var(--shop-primary);
}

/* --------------------------------------------------------------------------
   表单
   -------------------------------------------------------------------------- */
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.auth-card .form-control,
.auth-card .form-select {
    border: 1px solid var(--shop-border-strong);
    border-radius: 8px;
    background-color: var(--shop-surface);
    color: var(--shop-ink);
}

.form-floating > label {
    color: var(--shop-muted);
}

.auth-card .form-text,
.auth-card small,
.auth-card .text-muted {
    color: var(--shop-muted) !important;
}

/* Bootstrap 5.3 浮动标签上浮后给 label 垫一块底色，跟着改成卡片色 */
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after {
    background-color: var(--shop-surface);
}

.form-control:focus,
.auth-card .form-select:focus {
    border-color: var(--shop-primary);
    background-color: var(--shop-surface);
    color: var(--shop-ink);
    box-shadow: 0 0 0 .2rem rgba(82, 110, 101, .15);
}

.form-check {
    color: var(--shop-text);
}

.form-check label:hover {
    color: var(--shop-primary);
}

.form-check input[type="checkbox"] {
    border: 1.5px solid var(--shop-border-strong);
    background: var(--shop-surface);
    box-shadow: none;
}

.form-check input[type="checkbox"]:hover {
    border-color: var(--shop-primary);
    box-shadow: none;
}

.form-check input[type="checkbox"]:checked {
    border-color: var(--shop-primary);
    /* _.css 对所有 input 强制 background-color: transparent !important，纯色底会被吃掉，
       勾选后只剩白色 ✓ 落在浅色卡片上、看起来点了没反应；用渐变（background-image）铺实色底 */
    background: linear-gradient(var(--shop-primary), var(--shop-primary));
    box-shadow: none;
}

.form-check-input:checked {
    border-color: var(--shop-primary);
    background-color: var(--shop-primary);
}

.image-code,
.prompt-image-code {
    border-color: var(--shop-border-strong);
    border-radius: 8px;
}

/* 与浮动标签输入框（58px）同高 */
.auth-card .image-code {
    height: 58px;
}

/* 主按钮：渐变 → 墨绿实色 */
.btn-gradient {
    border-radius: 8px;
    background: var(--shop-primary);
    background-image: none;
    color: #fff;
    box-shadow: none;
    letter-spacing: .08em;
}

.btn-gradient:hover,
.btn-gradient:focus {
    background: var(--shop-primary-dark);
    color: #fff;
    filter: none;
    transform: none;
    box-shadow: none;
}

.btn-ghost {
    border: 1px solid var(--shop-border-strong);
    border-radius: 8px;
    color: var(--shop-primary);
}

.btn-ghost:hover {
    border: 1px solid var(--shop-primary);
    color: var(--shop-primary-dark);
}

.divider {
    color: var(--shop-muted);
}

.divider::before,
.divider::after {
    background: var(--shop-border);
}

/* --------------------------------------------------------------------------
   页脚：版权 + 语言栏
   -------------------------------------------------------------------------- */
.ink-authfoot {
    border-top: 1px solid var(--shop-border);
    background: #f1efe9;
    color: var(--shop-muted);
    font-size: .8125rem;
}

.ink-authfoot__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    padding-top: 14px;
    padding-bottom: 16px;
}

@media (max-width: 575.98px) {
    .auth-wrapper {
        padding: 32px 14px;
    }

    .auth-card {
        padding: 26px 20px 22px;
    }

    .ink-auth-title {
        font-size: 1.5rem;
    }

    .auth-wrapper::after {
        width: 260px;
        height: 260px;
        right: -80px;
        bottom: -90px;
    }
}
