/*
 * 与各页 <meta name="viewport" content="width=1280, initial-scale=1.0"> 配合：
 * 固定桌面宽度 1280：不缩放内容，窄屏/手机端只允许横向滚动。
 */
:root {
    --app-main-band-height: 680px;
}

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    min-width: 1280px;
    overflow-x: auto;
}

body {
    margin: 0;
    min-width: 1280px;
    overflow-x: auto;
}

/* 图片/视频与整页版式同步缩放：不撑破栏宽，保持比例 */
img,
picture,
video,
canvas,
object {
    max-width: 100%;
    height: auto;
}

/* 作为图片使用的 SVG（避免影响页面里装饰用 inline svg） */
img[src$=".svg"],
img[src*=".svg?"] {
    max-width: 100%;
    height: auto;
}

figure {
    max-width: 100%;
    margin: 0;
}

figure > img,
figure > picture img {
    max-width: 100%;
    height: auto;
    display: block;
}

table img {
    max-width: 100%;
    height: auto;
}

iframe {
    max-width: 100%;
}

.message-content img,
.message-content video,
.message-content picture,
.analysis-sidebar img,
.analysis-sidebar video,
.card-content img,
.card-content video,
.panel-body img,
.modal-body img {
    max-width: 100%;
    height: auto;
    display: block;
}

.message-content picture img {
    display: block;
}

.message-content img {
    max-height: 70vh;
}

.message-avatar img,
.nav-logo img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    max-height: none;
    object-fit: cover;
}

.nav-logo img {
    object-fit: contain;
}

/* 说明：
 * 这里不再根据真实屏宽切换 auth-narrow / prelogin-narrow。
 * 移动端与 PC 统一使用同一套桌面布局，仅依赖 viewport=1280 + initial-scale 整页等比缩放。
 */

/* ========== 登录/注册相关：强制使用桌面布局（不随设备切换） ========== */
.auth-nav-fallback,
.auth-nav-menu-btn {
    display: none !important;
}

.auth-nav-desktop {
    display: flex !important;
}

/* 左侧装饰图 + 右侧表单（Login / AdminLogin 等）始终按桌面两列展示 */
.auth-hero {
    display: block !important;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.auth-form-col {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    width: auto !important;
}

/* 登录栈：min-height 由 JS 设为「视口高度÷缩放比」（设计稿像素），使整栈=一屏；顶/底栏绝对定位，双卡片区相对整栈垂直居中（含导航所占高度） */
.auth-login-stack {
    position: relative;
    display: block;
    min-height: 760px;
    box-sizing: border-box;
}

.auth-login-stack .auth-login-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
}

.auth-login-stack .auth-login-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
}

.auth-login-stack .auth-login-cards-layer {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 0 1.5rem;
    box-sizing: border-box;
    pointer-events: none;
}

.auth-login-stack .auth-login-cards-layer > * {
    pointer-events: auto;
}

/* 注册选择 / 律师注册 / 当事人注册：主区与全站主带同高（--app-main-band-height），固定比例、不用 vh 撑高；宽仍由 viewport-scale 与窗口一致；过长内容仅在主带内滚动 */
.auth-register-stack {
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-sizing: border-box;
}

.auth-register-stack > main.auth-register-main {
    flex: 0 0 var(--app-main-band-height) !important;
    height: var(--app-main-band-height) !important;
    min-height: var(--app-main-band-height) !important;
    max-height: var(--app-main-band-height) !important;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0.5rem 0;
}

.auth-register-stack > main.auth-register-main.auth-register-main--center {
    justify-content: center;
}

.auth-register-scroll {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 0.75rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

.auth-register-main--center .auth-register-scroll {
    justify-content: center;
}

.auth-register-stack.register-select-stack .identity-options {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

.auth-register-stack.register-select-stack .identity-card {
    width: 14rem !important;
    max-width: 14rem !important;
    min-width: 14rem !important;
    flex: 0 0 14rem !important;
    box-sizing: border-box;
}

.auth-register-stack.register-select-stack .auth-register-scroll > div:first-child {
    transform: translateY(-50px);
}

.auth-register-stack:not(.register-select-stack) .auth-form-grid.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
}
