/**
 * 页脚：宽度与主内容一致 + 纯 MD3 样式（typescale / color 变量）
 * 不修改核心 CSS，通过扩展覆盖实现
 */

/* ========== 页脚导航 100% 宽（覆盖 layout/material-design-3 的 mdc-container 限制） ========== */
.mdc-footer-content .mdc-container {
    max-width: none !important;
    width: 100% !important;
    box-sizing: border-box;
    padding-left: var(--sanxio-block-padding-x, 16px);
    padding-right: var(--sanxio-block-padding-x, 16px);
}
.mdc-footer-content .mdc-footer-links {
    width: 100%;
}
.mdc-footer-content .mdc-footer-bottom {
    width: 100%;
}

/* ========== 页脚内容区：纯 MD3 typescale（覆盖固定字号） ========== */
.mdc-footer-content .mdc-footer-links__list a {
    font-family: var(--md-sys-typescale-label-large-font);
    font-size: var(--md-sys-typescale-label-large-size);
    font-weight: var(--md-sys-typescale-label-large-weight);
    line-height: var(--md-sys-typescale-label-large-line-height);
}
/* 备案、版权：MD3 未定义 body-small-size，用 label-large 字体栈 + 12px（MD3 常用小字） */
.mdc-footer-content .mdc-footer-icp,
.mdc-footer-content .mdc-footer-copyright {
    font-family: var(--md-sys-typescale-label-large-font);
    font-size: 12px;
    font-weight: var(--md-sys-typescale-label-large-weight);
    line-height: 1.4;
    color: var(--md-sys-color-on-surface-variant);
}
.mdc-footer-content .mdc-footer-icp__link {
    color: var(--md-sys-color-on-surface-variant);
}
.mdc-footer-content .mdc-footer-icp__link:hover {
    color: var(--md-sys-color-primary);
}

/* ========== 页脚提示条 .mdc-footer-message：纯 MD3 颜色变量（覆盖硬编码色） ========== */
/* 居中显示：覆盖底部定位，改为页面中央 */
.mdc-footer-message,
#msgs.mdc-footer-message,
.login-main #msgs.mdc-footer-message,
body .login-main #msgs.mdc-footer-message {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    min-width: 200px !important;
    max-width: 360px !important;
    animation: sanxio-msgs-center 0.25s ease-out !important;
}
@keyframes sanxio-msgs-center {
    from { opacity: 0; transform: translate(-50%, -50%) scale(0.95); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.mdc-footer-message,
#msgs.mdc-footer-message,
.login-main #msgs.mdc-footer-message,
body .login-main #msgs.mdc-footer-message {
    font-family: var(--md-sys-typescale-label-large-font) !important;
    font-size: var(--md-sys-typescale-label-large-size) !important;
    font-weight: var(--md-sys-typescale-label-large-weight) !important;
    line-height: var(--md-sys-typescale-label-large-line-height) !important;
    box-shadow: var(--md-sys-elevation-level1) !important;
    border-radius: var(--md-sys-shape-corner-small) !important;
}
/* S07.1 配色：浅色底 + 深色前导条 + 白色图标（与素材展示页红框样式一致） */
/* 成功：浅绿底 #d4edda + 深绿前导条 #155724 */
.mdc-footer-message.success,
#msgs.mdc-footer-message.success,
.login-main #msgs.mdc-footer-message.success {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
}
.mdc-footer-message.success::before,
#msgs.mdc-footer-message.success::before,
.login-main #msgs.mdc-footer-message.success::before { background: #155724 !important; }
.mdc-footer-message.success::after,
#msgs.mdc-footer-message.success::after,
.login-main #msgs.mdc-footer-message.success::after { content: '\2713' !important; color: #fff !important; }

/* 错误：浅红底 #f8d7da + 深红前导条 #721c24 */
.mdc-footer-message.error,
#msgs.mdc-footer-message.error,
.login-main #msgs.mdc-footer-message.error {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1px solid #f5c6cb !important;
}
.mdc-footer-message.error::before,
#msgs.mdc-footer-message.error::before,
.login-main #msgs.mdc-footer-message.error::before { background: #721c24 !important; }
.mdc-footer-message.error::after,
#msgs.mdc-footer-message.error::after,
.login-main #msgs.mdc-footer-message.error::after { content: '!' !important; color: #fff !important; }

/* 信息：浅蓝底 #d1ecf1 + 深蓝前导条 #0c5460 */
.mdc-footer-message.info,
#msgs.mdc-footer-message.info,
.login-main #msgs.mdc-footer-message.info {
    background: #d1ecf1 !important;
    color: #0c5460 !important;
    border: 1px solid #bee5eb !important;
}
.mdc-footer-message.info::before,
#msgs.mdc-footer-message.info::before,
.login-main #msgs.mdc-footer-message.info::before { background: #0c5460 !important; }
.mdc-footer-message.info::after,
#msgs.mdc-footer-message.info::after,
.login-main #msgs.mdc-footer-message.info::after { content: 'i' !important; font-style: italic !important; color: #fff !important; }

/* 警告：浅黄底 #fff3cd + 深黄前导条 #856404 */
.mdc-footer-message.warning,
#msgs.mdc-footer-message.warning,
.login-main #msgs.mdc-footer-message.warning {
    background: #fff3cd !important;
    color: #856404 !important;
    border: 1px solid #ffeeba !important;
}
.mdc-footer-message.warning::before,
#msgs.mdc-footer-message.warning::before,
.login-main #msgs.mdc-footer-message.warning::before { background: #856404 !important; }
.mdc-footer-message.warning::after,
#msgs.mdc-footer-message.warning::after,
.login-main #msgs.mdc-footer-message.warning::after { content: '!' !important; color: #fff !important; }

/* ========== 返回顶部按钮：始终位于底部导航条上方 ========== */
@media (max-width: 767px) {
  #backToTop.mdc-fab {
    bottom: calc(64px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
