/* 页面元素使用rem设置字体（自适应生效） */

h1 {
  font-size: 3.2rem; /* 对应不同断点下：25.6px/28.8px/32px/64px */
}

/*display*/
@media (min-width: 769px){
  .d-wap{display: none!important;}
  .d-pc{display: block!important;}
  .d-pc-flex{display: flex!important;}
}
a{text-decoration: none;}
*{transition: 0.3s all;}
.top{line-height: 3em;background-color: rgba(19, 81, 180,0.1);font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}
.top .left i{color: #1351b4;font-size: 1.35rem;}
.head{padding-top:1rem;padding-bottom: 1rem;}
@media (min-width: 1600px) {
  .container.head,.top .container {
      width: 1520px!important;
      max-width: 1520px!important;
  }
}
.dropdown:hover .dropdown-menu {    display: block;  }
.dropdown-toggle::after {    display: none; /* 隐藏默认箭头 */  }
.dropdown-menu-center {
    left: 50% !important; /* 强制覆盖 Bootstrap 默认的 left: 0 */
    transform: translateX(-50%);
    /* 注意：如果需要垂直方向也居中，可以加上 top: 50% 和 translateY(-50%) */
  }
.head-menu{display: flex; justify-content: space-between; align-items: center;}
.head-menu a.nav-link{font-size: 1.2rem;color:#333;font-weight: 600;border-bottom: 3px solid #fff;}
.head-menu a.nav-link.active,.head-menu a.nav-link:hover{color: #1351b4;border-bottom: 3px solid #1351b4;}
.head-menu li.nav-item{text-align: center;margin-left: 1.5rem;}
.head-menu .dropdown-menu {  min-width: auto;   width: 130px; }
.head-menu .dropdown-item:hover{background-color: #0a58ca;color: #fff;}
.head-menu .dropdown-item{text-align: center;}

.head-menu span .iconfont{font-size: 2.2rem;color:#333}
.head-menu span .iconfont:hover{color:#ff7d00;}

.head-menu span{padding-left: 2.5rem;overflow: hidden;text-align: right;}



.menu .nav-item a.nav-link{color:#fff;padding:0.75rem 1.5rem;font-size: 1.15rem;}
.menu .nav-item a.nav-link:hover{background-color:rgba(255, 255, 255,0.3)}
.menu .nav-item {    flex: 1;  }

.banner img{width:100%}
.swiper{
  --swiper-theme-color: #fff;/* 设置Swiper风格 */
  --swiper-navigation-color: #ccc;/* 单独设置按钮颜色 */
  --swiper-navigation-size: 30px;/* 设置按钮大小 */
  --swiper-navigation-sides-offset:30px;/* 设置按钮偏移量 */
}

.index1{padding-top: 50px;}
.titlebig{text-align: center;}
.titlebig b {  display: block;  font-size: 4rem;  text-transform: uppercase;  color: #0a58ca;  line-height: 1;  opacity: .1;}
.titlebig h3 {  color: #000;  font-size: 2.5rem;  font-weight: bold;  margin-top: -2rem;}
.titlebig p {     font-size: 1.25rem;  color: #353535;  padding-top: 10px;}

.index1 .main .nav-item a{font-size: 1.2rem;background-color: #f1f5f9;color: #333;}
.index1 .main .nav-item a.active{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);color:#fff}
.index1 .main .tab-content  h3{font-size: 2.25rem; font-weight: bold; color: #333;  position: relative;  padding-bottom: 1rem;  margin-bottom: 1rem;}
.index1 .main .tab-content  h3::before{position: absolute;  left: 0px;  bottom: 0px;  width: 55px;  height: 3px;  background: #fec12d;
  content: "";}
.index1 .main .tab-content  .info{font-size: 1.2rem;  color: #313131;  line-height: 35px;  margin-bottom: 2rem;}
.index1 .main .tab-content  .more a:hover{  background: linear-gradient(135deg, #5ea9ff 0%, #1a73e8 50%, #0a58ca 100%);
    /* 额外的交互反馈：稍微放大一点点，或者阴影变大 */
    transform: translateY(-1px);    box-shadow: 0 6px 10px rgba(13, 110, 253, 0.3);}
.index3{background: url(/images/index3bg.jpg) no-repeat;background-position: center top;background-size: 100%;padding-bottom: 100px;} 
.index3 .item{position: relative;    width: 145px;    line-height: 40px;    margin-bottom: 10px;    text-align: center;}
.index3 .item:nth-child(2n-1) {    background: url(/images/li-two.png) no-repeat;    background-size: 100% 100%;    margin-left: 8px;}
.index3 .item:nth-child(2n) {  background: url(/images/li-one.png) no-repeat;  background-size: 100% 100%;  margin-left: 8px;}
.index3 .item a{color: #fff;font-size: 1.15rem;}
.index3 .main{padding-top: 2rem;}
.index3 .main .box{display: block;text-align: center;background-color: #fff;border: 2px solid #ccc;margin-bottom: 1.5rem;
  border-radius: 0.5rem 0;overflow: hidden;box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);}

.index3 .main .box p{font-size: 1.2rem;line-height: 2.5em;padding-bottom: 0;margin-bottom: 0;color: #333;}
.index3 .main .box .img{overflow: hidden;}

.index3 .main .box:hover p{color: #0d6efd;}
.index3 .main .box:hover img{transform: scale(1.1) ;}

.index4{padding-top:50px}
.index4 .left .img{height: 30rem;border-radius: 1rem 0;overflow: hidden;box-shadow: 0 6px 10px rgba(13, 110, 253, 0.3);overflow: hidden;}
.index4 .left img{height: 30rem;width: auto;}
.index4 .main .right .item{padding: 0rem;}
.index4 .main .right a{display: block;height:6rem;padding: 1rem;}
.index4 .main .right p{margin-bottom: 0; }
.index4 .main .right p.question{font-size: 1.25rem;line-height: 2.5rem;opacity: 0.8;}
.index4 .main .right p.answer{line-height: 1.5rem;opacity: 0.5;}
.index4 .main .right .item:nth-child(2n-1) a{background-color: rgba(10, 88, 202,0.1);color: #000;}
.index4 .main .right .item:nth-child(2n) a{background-color: #f1f5f9;color: #000;}
.index4 .main .right .item:nth-child(2n-1) a:hover{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);color: #fff;opacity: 1;border-radius: 0.5rem ;transform: scale(1.025);}
.index4 .main .right .item:nth-child(2n) a:hover{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);color: #fff;opacity: 1;border-radius: 0.5rem ;transform: scale(1.025);}
.index4 .main .right a:hover .question{font-size: 1.25rem;line-height: 2.5rem;opacity: 1;}
.index4 .main .more a{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);  color: white;
  border: none;  padding: 12px 40px;  border-radius: 8px;  font-size: 16px;  cursor: pointer;  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* 平滑的缓动函数 */
  box-shadow: 0 4px 6px rgba(13, 110, 253, 0.2);}
.index6{padding-top: 50px;}
.index6 .right p{font-size: 1.15rem;line-height: 2.5rem;opacity: 0.8;text-indent: 2em;}

.index6 .xiaoyuan{padding-top: 3.5rem;}
.index6 .xiaoyuan img{width: 100%;box-shadow: 0 6px 10px rgba(13, 110, 253, 0.3);border-radius: 0.75rem;padding:0.5rem;background-color: #fff;}
.index6 .xiaoyuan .swiper{padding-bottom: 3rem;}
.index6 .xiaoyuan .swiper-pagination-bullet-active{background-color: #1a73e8;}

.index7{padding-top: 50px;padding-bottom: 50px; background-color: #f1f5f9;margin-top: 3rem;}
.index7 .index7-menu .item a{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);  color: white;
  border: none;  padding: 12px 40px;  border-radius: 8px;  font-size: 16px;  cursor: pointer;  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* 平滑的缓动函数 */
  box-shadow: 0 4px 6px rgba(13, 110, 253, 0.2);}
.index7 .index7-menu .item a:hover{background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);  color: white;border-radius: 0.5rem ;transform: scale(1.025);}
.index7 .index7-menu .item{padding-left: 0.75rem;padding-right: 0.75rem;}
.index7 .index7-menu{padding-top: 2rem;}
.index7 .main .left .box{border-radius: 2.5rem 0;}
.index7 .main .left .box .img{overflow: hidden;border-radius: 2.5rem 0;}
.index7 .main .left .box img{border-radius: 2.5rem 0;}
.index7 .main .left .box img:hover{transform: scale(1.2);}

.index7 .main .left .box .title a{font-size: 1.25rem;line-height: 3rem; color: #333;font-weight: bold;}
.index7 .main .left .box .title a:hover{color: #666;}
.index7 .main .left .box .rili {color: #999;line-height: 2em;}
.index7 .main .left .box .info {color: #666;}
.index7 .main .left .box .more {margin-top: 1rem;padding-right: 1.5rem;;}
.index7 .main .left .box .more a {color: #0a58ca;}

.index7 .main .right a{background-color: #fff;display: block;padding: 1rem;}
.index7 .main .right a .tit{font-size: 1.25rem; line-height: 2rem;color: #333;font-weight: 400;}
.index7 .main .right a .info{line-height: 1.5rem;color: #999;}
.index7 .main .right .item{margin-bottom: 0.5rem;border-radius: 1rem 0;overflow: hidden;}
.index7 .main .right .item:last-child{margin-bottom: 0;}
.index7 .main .right a:hover{background-color: rgba(13, 110, 253,0.2);}

.foot{background-color: #1351b4;border-top: 3px solid rgba(255, 255, 2550,1);padding: 100px 50px;}
.foot .container{border-bottom: 1px solid rgba(241, 245, 249,0.3);padding-bottom: 3rem;}
.foot .fl-up .item{margin-right: 2rem;}
.foot .fl-up a{font-size: 1.1rem; color: #fff;}
.foot .fl-up a:hover{ color: #f0c634;}
.foot .fl-down .item{margin-right: 2rem;padding-top: 3.5rem;}
.foot .fl-down .item .item2{color: #fff;padding:0 1.35rem;}
.foot .fl-down .item .item3{color: #fff;font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;font-size: 1.75rem;border-left: 1px solid #999;padding-left: 1.35rem;}
.foot .fl-down .item .item4{color: #fff;font-size: 1.15rem;border-left: 1px solid #999;padding-left: 1.35rem;}

.foot .fr-left {color: #999;padding-top: 1rem;}
.foot .fr-right .erweima1{padding:0 1.5rem;}
.foot .fr-right p{color:#fff;text-align: center;line-height: 2em;}

.foot .copyright{text-align: center;line-height: 4em;font-size: 1.15rem;color: #fff;opacity: 0.7;}
.foot .copyright a{color: #fff;opacity: 0.7;}
.foot .copyright a:hover{opacity: 1;;}

.lanmu-tabs{padding: 0;  position: relative;  border-bottom: 1px solid #e5e5e5;}
.lanmu-tabs .main{position: relative;  display: flex;  justify-content: space-between;  align-items: center;}
.n_nav { position: relative; align-items: center;}
.n_nav li{display: block; font-size: 1.125rem; color: #393939; font-weight: bold; float: left;line-height: 4rem; padding: 0 2rem; z-index: 1; position: relative;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;}
.n_nav li a{ display: block; color: #333;font-family:"微软雅黑", sans-serif; font-weight: 400; ;}
.n_nav li+li:after{ content: ""; display: block; width: 1px; height: 18px; background: #cccccc; position: absolute; left: 0; top: 50%; margin-top: -9px;}
.n_nav li:before {content: "";width: 0;height: 100%;position: absolute; bottom:0; left: 0; background: #F49700;transition: 0.3s ease-in-out; opacity: 0; z-index: -1;}
.n_nav li.on a,.n_nav li:hover a{color: #fff;}
.n_nav li.on:before, .n_nav li:hover:before { width: 100%; opacity: 1;}  
.n_nav li.on:after,.n_nav li:hover:after{ opacity: 0;}
 
.position { left: 0;bottom: 0; font-size: 1.15rem;color: #747679;}
.position img{ vertical-align: middle; margin-bottom: 3px; margin-right: 5px;}
.position span, .position a, .position i {font-size: 1.05rem;color: #828386;-moz-transition: all 0.36s ease-in-out;-webkit-transition: all 0.36s ease-in-out;-o-transition: all 0.36s ease-in-out;-ms-transition: all 0.36s ease-in-out;transition: all 0.36s ease-in-out;}
.position i{margin: 0px .5rem;font-style: normal; width: 4px; height: 6px; }
.position em { color: #eec700;font-style: normal;}
.position a:hover {color: #eec700;}

.lanmu-main{padding-top: 80px; padding-bottom:100px}
.lanmu-main .lanmu-title{font-size: 2.2rem;line-height: 3em;font-weight: bolder;}
.lanmu-main  p{font-size: 1.2rem;line-height: 2em;color: #636364;}
 /* 轻量化视频容器样式，减少阴影复杂度避免渲染卡顿 */
 .video-container-light {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 3rem auto;
  border-radius: 12px;
  overflow: hidden;
}

/* 响应式视频，优化加载性能 */
.video-light {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
}

/* 简化版播放/暂停按钮，无过度缩放动画 */
.video-control-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: rgba(13, 110, 253, 0.85);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  z-index: 5;
  transition: opacity 0.2s ease; /* 仅保留透明度过渡，避免卡顿 */
  border: none;
  outline: none;
}

/* 隐藏/显示控制按钮，无多余交互冗余 */
.hide-btn {
  opacity: 0;
  pointer-events: none;
}

/* 视频信息卡片，同样轻量化 */
.video-info-card-light {
  max-width: 1000px;
  margin: 0 auto 3rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.05);
}
.lanmu-main .huanjing .item{padding-bottom: 1.5rem;}
.lanmu-main .huanjing img{width: 100%;box-shadow: 0 0 15px #ccc;border-radius: 0.75rem;padding:0.25rem}
.lanmu-main .huanjing img:hover{transform: scale(1.15);}
.shizi-tit .tit{font-size: 2.5rem;font-weight: 600;text-align: center;color: #e71d19; padding-top: 60px;}


@media (min-width: 1600px) {
  .shizi02 .container {
      width: 1520px!important;
      max-width: 1520px!important;
  }
}
.shizi02{background-color: #f1f5f9;padding-top: 50px;   margin-bottom: -100px;  padding-bottom: 50px;}
.shizi02 .tit1{font-size: 2rem;color: #e71d19;font-weight: bold;padding-bottom: 1rem;}
.shizi02 .tit1 span{font-size: 1.25rem;color: #666;font-weight: bold;}
.shizi02 p{font-size: 1.15rem;color: #666;line-height: 2em;}

.list-textimg a{display: block;background-color: #f2f3f6;margin-bottom: 1.5rem;border-radius: 0.5rem 0.5rem 0 0;}
.list-textimg .riqi{font-family:POPPINS-medium; font-size:18px; color:#ff7f31;}
.list-textimg .infobox{padding: 2rem 2rem;}
.list-textimg .title{font-size:1.25rem; color:#2c2e30; line-height:1.25; font-weight:bold; transition:.5s; margin:10px 0 10px}
.list-textimg .info{font-size:15px; color:#80848a; line-height:22px; height:44px;}
.list-textimg .img{height: 250px;overflow: hidden;}
.list-textimg img{width: 100%;border-radius: 0.5rem 0.5rem 0 0;box-shadow: 0 0 15px #ccc;}
.list-textimg .more span{ color:rgba(44,46,48,.5); font-size:15px; transition:.5s; margin:14px 0 0; display:inline-block; line-height:35px; border-radius:17.5px; }
.list-textimg a:hover span{background-color: #ff7f31; padding-left: 1.5rem;padding-right: 1.5rem;color: #fff;}
.list-textimg img:hover{transform: scale(1.05);}

.list-img .box{border-radius: 0.5rem 0; box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);overflow: hidden;margin-bottom: 0.5rem;}
.list-img .box img:hover{transform: scale(1.1);}
.list-img  p{text-align: center;line-height: 2em;}

.teacher-card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}
.teacher-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.card-header {
  border-bottom: none;
  border-radius: 12px 12px 0 0 !important;
  color: #fff;
  padding: 1.5rem;
}
.card-body {
  padding: 2rem;
}
.shizi02 .card-title{text-align: center;font-weight: 600;}
.card-title i {
  margin-right: 10px;
  font-size: 1.8rem;
}
.feature-item {
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  border-left: 3px solid #e9ecef;
  padding-left: 1rem;
}
/* 三个卡片头部差异化配色 */
.psychology-header {
  background: linear-gradient(135deg, #4e7fff, #6c8ffd);
}
.veteran-header {
  background: linear-gradient(135deg, #ff7d00, #ff9e44);
}
.tutor-header {
  background: linear-gradient(135deg, #00c48c, #21d8a0);
}
.card-title-info{font-size: 1.2rem;}
.card-title2{font-size: 1.25rem;font-weight: bold;margin-bottom: 0.75rem;margin-top: -1rem;text-align: center;color: #ff7d00;}

.news{background-color: #f1f5f9;padding-bottom: 50px;}
.news .left{margin-top: 3rem;background-color: #fff;position: relative;}
.news .left .box{padding: 1.5rem;}
.news .left .title{font-size: 1.5rem;font-weight: bold;line-height: 2em;}
.news .left .titleinfo{font-size: 0.85rem;color: #666; border-bottom: 1px solid #f1f1f1;line-height: 2em;padding-bottom: 0.75rem;}
.news .left .content-body{padding-top: 1.5rem;line-height: 2em;color: #666;padding-bottom: 5rem;}
.news .left .backlanmu{text-align: right;border-top: 1px solid #f1f1f1;position: absolute;bottom: 2rem;width: calc(100% - 4rem)}
.news .left .backlanmu a{color: #0a58ca;line-height: 3em;}
.news .left .backlanmu a:hover{color: #21d8a0;line-height: 3em;}
.news .right .item a{display: block;background-color: #fff;}
.news .right .main{margin-top: 3rem;background-color: #fff;padding:1.5rem;margin-left: 1rem;}
.news .right .hottitle{font-size: 1.5rem;font-weight: 600;border-bottom: 1px solid #f1f1f1;padding-bottom: 1rem;color: #ff7d00;}
.news .right .item{padding-top: 1.5rem;border-bottom: 1px solid #f1f1f1;padding-bottom: 1rem;}
.news .right .item:last-child{border-bottom:none;}
.news .right .item .item-left{padding-top: 0.5rem;}
.news .right .item .item-left img{ box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);border-radius: 0 0.5rem;}
.news .right .item .title{color: #333;line-height: 2em;}
.news .right .item .titleinfo{color: #666;line-height: 1.5em;font-size: 0.85rem;}
.news .right a:hover .title{color: #ff7f31;}
.news .right .item .item-left img:hover{transform: scale(1.05);}
/* 基础按钮样式（你的原始样式保留） */
.btn-blue {
  background: linear-gradient(135deg, #3e92fd 0%, #0d6efd 50%, #0a58ca 100%);
  color: white;
  border: none;
  padding: 12px 40px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* 平滑的缓动函数 */
  box-shadow: 0 4px 6px rgba(13, 110, 253, 0.2);
  /* 新增：消除默认按钮外边框，优化聚焦视觉 */
  outline: none;
  display: inline-block; /* 适配行内布局，可选 */
  text-align: center; /* 文字居中，可选 */
  text-decoration: none; /* 若作为超链接使用，去除下划线 */
}

/* 1. 鼠标悬浮（hover）交互：提升亮度、加深阴影、轻微上浮 */
.btn-blue:hover {
  /* 渐变亮度提升，保持渐变角度一致 */
  background: linear-gradient(135deg, #5ba0fe 0%, #2b7ffd 50%, #206bca 100%);
  /* 阴影放大且加深，增强立体感 */
  box-shadow: 0 6px 12px rgba(13, 110, 253, 0.3);
  /* 轻微向上移动，营造"悬浮"感 */
  transform: translateY(-2px);
}

/* 2. 鼠标点击（active）交互：按压下沉、还原阴影、降低亮度 */
.btn-blue:active {
  /* 渐变亮度降低，模拟按压后的"变暗"效果 */
  background: linear-gradient(135deg, #2d80fd 0%, #0a5feb 50%, #084aae 100%);
  /* 阴影缩小且变浅，模拟按压后的"贴合"感 */
  box-shadow: 0 2px 4px rgba(13, 110, 253, 0.2);
  /* 下沉还原，抵消hover的上浮效果，营造"按压"感 */
  transform: translateY(0);
}

/* 3. 聚焦（focus）交互：适配键盘导航，增强可访问性 */
.btn-blue:focus-visible {
  /* 添加清晰的聚焦轮廓，替代默认样式 */
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.4), 0 6px 12px rgba(13, 110, 253, 0.3);
}





.contact-section {
  padding: 80px 0;
}
.contact-section .card-yuyue {
  border: none;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-section .card-yuyue:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.school-name {
  color: #2c3e50;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 30px;
  border-bottom: 3px solid #ff7f31;
  padding-bottom: 15px;
  display: inline-block;
}

.contact-item {
  margin-bottom: 25px;
  display: flex;
  align-items: flex-start;
}

.contact-item .fa {
  font-size: 1.5rem;
  color: #1abc9c;
  margin-right: 20px;
  width: 30px;
  text-align: center;
}

.contact-item h5 {
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 8px;
}

.contact-item p {
  color: #666;
  margin: 0;
  line-height: 1.6;
}

.qrcode-container {
  margin-top: 40px;
  text-align: center;
}

.qrcode {
  width: 320px;
  height: auto;
  border: 5px solid #f1f1f1;
  border-radius: 8px;
  margin: 0 auto 15px;
}

/* 预约表单卡片样式 */
.form-card {
  background-color: #fff;
  padding: 40px 30px;
}

.form-title {
  color: #2c3e50;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
}

.form-label {
  color: #555;
  font-weight: 500;
  margin-bottom: 10px;
}

.form-control {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px 15px;
  margin-bottom: 20px;
  transition: border-color 0.3s ease;
}

.form-control:focus {
  border-color: #1abc9c;
  box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.1);
  outline: none;
}

.btn-submit {
  background-color: #1abc9c;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 0;
  font-size: 1.1rem;
  font-weight: 500;
  width: 100%;
  transition: background-color 0.3s ease;
}

.btn-submit:hover {
  background-color: #16a085;
  color: #fff;
}


/* 响应式适配优化 */
@media (max-width: 768px) {
  .contact-section {
    padding: 50px 0;
  }

  .school-name {
    font-size: 1.8rem;
  }

  .form-title {
    font-size: 1.5rem;
  }

  .contact-info-card, .form-card {
    margin-bottom: 30px;
  }
}



 /* 自定义样式3：蓝色Tooltip（信息提示） */
 .tooltip.tooltip-blue .tooltip-inner {
  background-color: #ff7f31;
  color: #fff;
  border-radius: 8px;
  padding: 10px 14px;
  box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
}
.tooltip-arrow{--bs-tooltip-bg: #ff7f31;}




  /* 美化预约表单弹窗 */
  #appointmentModal .modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    overflow: hidden;
  }

  /* 弹窗头部样式 */
  #appointmentModal .modal-header {
    background-color: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    padding: 20px 24px;
  }

  #appointmentModal .modal-title {
    color: #1e293b;
    font-weight: 600;
    font-size: 18px;
  }

  #appointmentModal .btn-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    transition: all 0.3s ease;
    opacity: 0.7;
  }

  #appointmentModal .btn-close:hover {
    background-color: #e2e8f0;
    opacity: 1;
    transform: rotate(90deg);
  }

  /* 弹窗表单区域样式 */
  #appointmentModal .modal-body {
    padding: 24px;
  }

  /* 美化表单控件 */
  #appointmentModal .form-label {
    color: #475569;
    font-weight: 500;
    margin-bottom: 8px;
  }

  #appointmentModal .form-control {
    height: 48px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 0 16px;
    font-size: 15px;
    transition: border-color 0.3s ease;
  }

  #appointmentModal .form-control:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1);
    outline: none;
  }

  #appointmentModal .form-control.textarea {
    height: auto;
    min-height: 120px;
    padding: 16px;
    resize: vertical;
  }

  /* 弹窗底部样式 */
  #appointmentModal .modal-footer {
    background-color: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 16px 24px;
    justify-content: flex-end;
  }

  #appointmentModal .btn-cancel {
    background-color: #f1f5f9;
    color: #475569;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    margin-right: 12px;
    transition: all 0.3s ease;
  }

  #appointmentModal .btn-cancel:hover {
    background-color: #e2e8f0;
    color: #1e293b;
  }

  #appointmentModal .btn-submit {
    background-color: #28a745;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 28px;
    transition: all 0.3s ease;
  }

  #appointmentModal .btn-submit:hover {
    background-color: #218838;
    color: #fff;
  }

  /* 优化遮罩层 */
  .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(2px);
  }

 /* ========== 核心修复：禁用页面跳动 ========== */
 body.modal-open {
  padding-right: 0 !important; /* 禁止Bootstrap添加右侧补偿边距 */
  overflow: hidden; /* 强制隐藏滚动条，保持背景不滚动 */
}

.modal-open .modal {
  padding-right: 0 !important; /* 禁用弹窗自身的滚动条补偿 */
}


  html {
    overflow-y: scroll; /* 始终显示垂直滚动条 */
  }




































































