html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* 确保 body 是弹性容器，最小高度占满视口 */
body {
    margin: 0; /* 移除默认外边距 */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

    /* 让包裹 main 的 div.container 占满剩余空间 */
    body > div.container {
        flex: 1 0 auto; /* 关键属性：撑满剩余高度 */
    }

/* 页脚不收缩 */
footer {
    flex-shrink: 0;
}
.nav-link.active {
    font-weight: 700; /* 加粗 */
    color: #0d6efd !important; /* 高亮蓝色（可替换为你喜欢的颜色） */
    border-bottom: 3px solid #0d6efd; /* 下划线强调 */
    padding-bottom: 2px; /* 让下划线与文字贴近 */
    background-color: #e7f1ff;
    border-radius: 4px;
}