/* =================================================================
   CSS 初始化模板 (Reset & Normalize)
   ================================================================= */
/* 1. 全局盒子模型重置 (推荐) */
/* 强制所有元素的 padding 和 border 计入 width/height, 简化布局计算 */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* 2. 定义 CSS 变量 (用于控制间距 Gutter) */
:root {
  --bs-gutter-x: 1.5rem;
  /* 24px */
  --bs-gutter-y: 0;
  --base-color: #d30200;
}
/* 2. HTML 基础设置 */
html {
  /* 浏览器默认字体大小 */
  font-size: 16px;
  /* 消除移动端点击延迟 */
  -webkit-tap-highlight-color: transparent;
  /* 确保不同浏览器上文字大小一致 */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
/* 3. Body 基础设置 */
body {
  margin: 0;
  /* 移除浏览器默认的 body 外边距 */
  line-height: 1.5;
  /* 基础行高 */
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #333;
  /* 默认文字颜色 */
}
/* 4. 标题和段落重置 */
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 0;
  margin-bottom: 0;
  /* 移除所有标题和段落的默认外边距 */
}
/* 5. 列表重置 */
ul,
ol {
  list-style: none;
  /* 移除列表符号 */
  padding: 0;
  /* 移除列表默认内边距 */
  margin: 0;
  /* 移除列表默认外边距 */
}
/* 6. 链接设置 */
a {
  color: inherit;
  /* 链接默认继承父元素颜色 */
  text-decoration: none;
  /* 移除下划线 */
  background-color: transparent;
  /* 修复某些浏览器上的背景色问题 */
}
a:hover {
  /* 悬停时添加下划线，提供视觉反馈 */
}
/* 7. 媒体元素设置 */
img {
  vertical-align: middle;
  /* 消除图片底部的空白间隙 */
  border-style: none;
  max-width: 100%;
  /* 确保图片不会溢出父容器，实现基础响应式 */
  height: auto;
}
.text-center {
  text-align: center;
}
.margin-bottom-30 {
  margin-bottom: 30px;
}
/* 8. 表单元素重置 */
input,
button,
textarea,
select {
  font: inherit;
  /* 继承 body 的字体样式 */
  line-height: inherit;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  outline: none;
  /* 移除默认焦点轮廓，建议通过 :focus-visible 添加自定义样式 */
}
/* 9. 按钮特定样式 */
button {
  cursor: pointer;
  /* 确保所有按钮都有指针手势 */
}
/* 10. 语义化元素 */
address {
  font-style: normal;
  /* 移除 address 元素的默认斜体 */
}
/* 1. 定义动画效果：淡入并向上移动 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 2. 定义元素的初始状态 (隐藏/待激活状态) */
.animated-item {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.5s, transform 0.5s;
  /* 平滑过渡的基线 */
}
/* 3. 定义元素的激活状态 (可见时添加此Class) */
.animated-item.is-visible {
  /* 播放上面定义的动画 */
  animation: fadeInUp 0.8s ease-out forwards;
  /* forwards 保持动画结束时的状态 */
}
/* 修改左右箭头的共同样式 */
.swiper-button-next,
.swiper-button-prev {
  color: #d30200 !important;
  /* 修改箭头颜色为橙色 (推荐使用你的品牌色) */
  width: 40px;
  /* 调整按钮区域的宽度 */
  height: 40px;
  /* 调整按钮区域的高度 */
}
/* 调整箭头图标本身的尺寸 */
.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 20px !important;
  /* 调整箭头图标的字体大小 */
}
/* 3. 容器 (Container) */
.container {
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
/* 容器响应式断点 (定义 max-width) */
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}
/* 4. 行 (Row) - Flex 布局设置 */
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left: calc(var(--bs-gutter-x) * -0.5);
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.g-0 {
  --bs-gutter-x: 0;
  /* 水平间距设为 0 */
  --bs-gutter-y: 0;
  /* 垂直间距设为 0 */
}
.clearfix::after {
  /* 1. 必需的内容，但内容为空 */
  content: "";
  /* 2. 转换为块级元素，使其可以应用清除浮动 */
  display: block;
  /* 3. 清除两侧浮动 */
  clear: both;
  /* 4. 隐藏内容，确保不影响布局和屏幕阅读器 */
  visibility: hidden;
  height: 0;
}
/* 默认（Extra Small, <576px）*/
.col {
  flex: 1 0 0%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
/* Small (sm, >=576px) */
@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/* Medium (md, >=768px) */
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/* Large (lg, >=992px) */
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/* Extra Large (xl, >=1200px) */
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/* Extra Extra Large (xxl, >=1400px) */
@media (min-width: 1400px) {
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/* =================================================================
   6. 响应式显示工具类 (Display Utilities)
   ================================================================= */
/* 默认（始终）*/
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}
/* Small (sm, >=576px) */
@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
}
/* Medium (md, >=768px) */
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
}
/* Large (lg, >=992px) */
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
}
/* Extra Large (xl, >=1200px) */
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
}
/* Extra Extra Large (xxl, >=1400px) */
@media (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
}
.pagination {
  padding: 20px 0px;
  text-align: center;
}
.pagination li {
  display: inline-block;
  margin-right: 5px;
  border: 1px #cccccc solid;
  background: #fff;
  text-decoration: none;
  color: #808080;
  font-size: 12px;
  line-height: 24px;
}
.pagination li a,
.pagination li span {
  display: block;
  padding: 2px 12px;
}
.pagination li:hover,
.pagination li.active {
  color: #077ee3;
  background: white;
  border: 1px #077ee3 solid;
}
.pagination li.cur {
  border: none;
  background: #077ee3;
  color: #fff;
}
.pagination p {
  margin: 0;
  cursor: pointer;
  /* float:left; */
  display: inline-block;
  padding: 2px 12px;
  font-size: 12px;
  height: 24px;
  line-height: 24px;
  color: #bbb;
  border: 1px #ccc solid;
  background: #fcfcfc;
  margin-right: 5px;
}
.pagination p.pageRemark {
  border-style: none;
  background: none;
  margin-right: 0px;
  padding: 4px 0px;
  color: #666;
}
.pagination p.pageRemark b {
  color: red;
}
.pagination p.pageEllipsis {
  border-style: none;
  background: none;
  padding: 4px 0px;
  color: #808080;
}
.dates li {
  font-size: 14px;
  margin: 20px 0;
}
.dates li span {
  float: right;
}
/* =================================================================
   基础表单容器
   ================================================================= */
.section-form {
  background: #f5f5f5;
  margin: 0;
  padding: 60px 0;
}
/* --- 输入组样式 (背景、定位、边距) --- */
.form-group {
  position: relative;
  background-color: #fff;
  /* 为图标留出左侧空间 */
  padding: 15px 15px 15px 50px;
  margin-bottom: 20px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
}
.form-group.is-invalid {
  border: 1px solid #d30200 !important;
  /* 品牌红色边框 */
}
.form-group input,
.form-group textarea {
  /* base.less 中已设置 background: transparent; border: none; */
  color: #333;
  width: 100%;
  line-height: 1.5;
  padding: 0;
}
.form-group input ::placeholder,
.form-group textarea ::placeholder {
  color: #555;
  font-size: 14px;
}
.form-group.full-width {
  align-items: flex-start;
  /* 图标应与顶部对齐 */
}
.form-group .iconfont {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  /* 垂直居中 */
  font-size: 16px;
  /* 颜色使用 base.less 中定义的变量 --base-color (红色) */
  /* 确保 Unicode 符号作为文字居中 */
  line-height: 1;
}
.form-group.full-width .iconfont {
  top: 20px;
  transform: none;
  /* 取消垂直居中 */
}
/* --- 提交按钮样式 --- */
.submit-button {
  /* 橙色背景，为了模拟图片效果，我没有使用 --base-color */
  background-color: var(--base-color);
  color: white;
  margin: 0 auto;
  padding: 15px 30px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 5px;
  text-transform: uppercase;
  /* 使用 base.less 中的 d-flex 特性进行对齐 */
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background-color 0.3s;
}
.submit-button:hover {
  background-color: #e63600;
}
/* --- 顶部通知/Toast 样式 --- */
#custom-notification {
  position: fixed;
  top: 0;
  /* 默认显示在顶部 */
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  /* 确保它在最上层 */
  padding: 15px 30px;
  background-color: #28a745;
  /* 成功色：绿色 */
  color: white;
  border-radius: 0 0 8px 8px;
  /* 底部圆角 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: opacity 0.5s ease-in-out, top 0.5s ease-in-out;
}
/* 样式保持不变，它会作用于 JS 动态创建的包裹 div */
.table-scroll-wrapper {
  /* 核心属性：允许内容超出时在 X 轴（水平方向）显示滚动条 */
  overflow-x: auto;
  /* 确保容器的宽度是 100% 才能触发滚动条 */
  width: 100%;
  /* 优化移动设备上的滚动体验 */
  -webkit-overflow-scrolling: touch;
}
