/* =========================================================
   企业极简蓝白主题（站群模板规范版）
   ========================================================= */

/* Reset */
* { box-sizing: border-box; }
html, body, p, h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd { margin: 0; padding: 0; }
header, section, footer, aside, nav, article, figure { display: block; }

/* Typography */
body{
  font-family: "PingFang SC","Microsoft YaHei","Hiragino Sans GB",Arial,sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #0a2540;
  background: #ffffff;
}

/* Layout */
.container{
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 28px;
}
.row{ display:flex; flex-wrap:wrap; margin: 0 -14px; }
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,
.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,
.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,
.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,
.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,
.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,
.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,
.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{
  position: relative;
  min-height: 1px;
  padding: 0 14px;
  float: left;
}

/* Grid widths */
.col-xs-1 { width: 8.33333333%; }
.col-xs-2 { width: 16.66666667%; }
.col-xs-3 { width: 25%; }
.col-xs-4 { width: 33.33333333%; }
.col-xs-5 { width: 41.66666667%; }
.col-xs-6 { width: 50%; }
.col-xs-7 { width: 58.33333333%; }
.col-xs-8 { width: 66.66666667%; }
.col-xs-9 { width: 75%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-12 { width: 100%; }

@media (min-width: 768px) {
  .col-sm-1 { width: 8.33333333%; }
  .col-sm-2 { width: 16.66666667%; }
  .col-sm-3 { width: 25%; }
  .col-sm-4 { width: 33.33333333%; }
  .col-sm-5 { width: 41.66666667%; }
  .col-sm-6 { width: 50%; }
  .col-sm-7 { width: 58.33333333%; }
  .col-sm-8 { width: 66.66666667%; }
  .col-sm-9 { width: 75%; }
  .col-sm-10 { width: 83.33333333%; }
  .col-sm-11 { width: 91.66666667%; }
  .col-sm-12 { width: 100%; }
}

@media (min-width: 992px) {
  .col-md-1 { width: 8.33333333%; }
  .col-md-2 { width: 16.66666667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33333333%; }
  .col-md-5 { width: 41.66666667%; }
  .col-md-6 { width: 50%; }
  .col-md-7 { width: 58.33333333%; }
  .col-md-8 { width: 66.66666667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 { width: 83.33333333%; }
  .col-md-11 { width: 91.66666667%; }
  .col-md-12 { width: 100%; }
}

@media (min-width: 1200px) {
  .col-lg-1 { width: 8.33333333%; }
  .col-lg-2 { width: 16.66666667%; }
  .col-lg-3 { width: 25%; }
  .col-lg-4 { width: 33.33333333%; }
  .col-lg-5 { width: 41.66666667%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.33333333%; }
  .col-lg-8 { width: 66.66666667%; }
  .col-lg-9 { width: 75%; }
  .col-lg-10 { width: 83.33333333%; }
  .col-lg-11 { width: 91.66666667%; }
  .col-lg-12 { width: 100%; }
}

/* Utilities */
.text-center{ text-align:center !important; }
.row-gap-sm{ margin-top:5px; }
.row-left{ text-align:left !important; }
.block-gap-md{ margin-top:10px; }
.px-0{ padding-left:0 !important; padding-right:0 !important; }
.mx-0{ margin-left:0 !important; margin-right:0 !important; }

/* Anchor offset (for fixed nav jump) */
.anchor{ display:block; height:0; }
.anchor-offset{ padding-top:50px; margin-top:-50px; }

/* Navbar */
.navbar{
  position: relative;
  z-index: 9998;
  height: 72px;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}
.navbar-default{ background:#ffffff; border:0; }
.navbar-no-pad{ padding:0; }

.navbar-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  height:72px;
}
.navbar-brand{
  color:#0a2540;
  font-size:22px;
  font-weight:800;
  letter-spacing:0.2px;
  text-decoration:none;
  padding:18px 0;
  max-width:320px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.navbar-brand:hover,.navbar-brand:focus{ color:#0b5cff; text-decoration:none; }

.navbar-toggle{
  display:none;
  background:transparent;
  border:none;
  padding:8px;
  margin:10px 12px;
}
.navbar-toggle .sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.navbar-toggle .icon-bar{
  display:block;
  width:24px;
  height:2.5px;
  border-radius:2px;
  background:#0a2540;
  margin:5px 0;
}

.navbar-collapse{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  height:72px;
}
.navbar-nav{
  display:flex;
  list-style:none;
  margin:0;
  padding:0;
  margin-left:-14px;
}
.navbar-nav li{ margin:0 6px; }
.navbar-nav li a{
  display:block;
  padding:10px 14px;
  color:#0a2540;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  border-radius:4px;
}
.navbar-nav li a:hover,.navbar-nav li a:focus{ color:#0b5cff; text-decoration:none; }

.navbar-text{
  color:#0a2540;
  font-size:15px;
  font-weight:700;
  margin:0;
  padding:10px 12px;
  border-left:1px solid #e5e7eb;
}

/* Mobile navbar */
@media (max-width: 767px) {
  .navbar-toggle{ display:block; }
  .navbar-brand{ max-width:80%; font-size:18px; }
  .navbar-collapse{
    position:absolute;
    top:100%;
    left:0; right:0;
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-top:2px solid #0b5cff;
    box-shadow:0 12px 30px rgba(16,24,40,0.08);
    z-index:9999;
    flex-direction:column;
    display:none;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(-10px);
    transition:max-height 0.35s ease-out, opacity 0.25s ease-out, transform 0.25s ease-out;
    height:auto;
  }
  .navbar-collapse.show{
    display:flex !important;
    flex-direction:column;
    max-height:600px;
    overflow:visible;
    opacity:1;
    transform:translateY(0);
  }
  .navbar-nav{ flex-direction:column !important; width:100%; }
  .navbar-nav li{ margin:0 !important; width:100%; }
  .navbar-nav li a{
    width:100%;
    padding:16px 22px;
    border-bottom:1px solid #f2f4f7;
  }
  .navbar-text{
    display:block;
    padding:18px 22px;
    text-align:center;
    background:#f9fafb;
    border-left:0;
  }

  .anchor-offset{ padding-top:20px; margin-top:-20px; }
  .container{ padding:0 3px; }
  .row{ margin:0 -9px; }
  .col-sm-6,.col-md-6,.col-lg-6,.col-sm-12,.col-md-12,.col-lg-12{ width:100% !important; }
  .col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,
  .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,
  .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,
  .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12 { padding:0 2px; }
}

/* Headings */
h1{
  color:#0a2540;
  font-size:2.6rem;
  font-weight:800;
  text-align:left;
}
h4{
  color:#0a2540;
  font-size:1.35rem;
  font-weight:700;
}

/* Page header */
.page-header{
  border:0 !important;
  background:transparent;
  padding:0 !important;
  margin: 10px 0 12px 0;
  text-align:left;
}
.page-header h4{
  margin: 0 0 12px 0 !important;
  font-weight:700;
}

/* H1 标题区 */
.page-title{
  margin-top:60px !important;
  margin-bottom:-10px !important;
}
.page-title h1{
  margin:0 0 6px 0 !important;
  letter-spacing:0;
}
@media (max-width:767px){
  .page-title{ margin-top:8px !important; margin-bottom:-14px !important; }
  .page-title h1{ font-size:26px; }
}

/* Cards */
.alert-warning{
  background:#ffffff;
  border:1px solid #e5e7eb;
  color:#101828;
  border-radius:12px;
  padding:30px;
  margin-bottom:26px;
  box-shadow:0 1px 2px rgba(16,24,40,0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.alert-warning:hover{
  box-shadow:0 6px 20px rgba(16,24,40,0.08);
  transform: translateY(-2px);
}

@media (max-width:767px){
  .alert-warning{ margin-bottom:10px; padding:12px; }
}

/* Images */
.img-thumbnail{
  padding:0;
  border:1px solid #e5e7eb;
  border-radius:10px;
  max-width:100%;
  height:auto;
}
.img-responsive{
  max-width:100%;
  height:auto;
  display:block;
}

/* Table */
.table{
  width:100%;
  max-width:100%;
  margin-bottom:22px;
  border-collapse:collapse;
  border-spacing:0;
  background:transparent;
}
.table > thead > tr > th,
.table > tbody > tr > td{
  padding:14px 12px;
  line-height:1.6;
  vertical-align:middle;
  border:none;
  color:#101828;
}
.table > thead > tr > th{
  border-bottom:1px solid #d1d5db;
  color:#0a2540;
  font-weight:800;
  font-size:0.95rem;
}
@media (max-width:767px){
  .table{ font-size:14px; }
  .table > thead > tr > th,
  .table > tbody > tr > td{ padding:12px 10px; }
}

/* Links */
a{ color:#0b5cff; text-decoration:none; transition:color 0.2s ease; }
a:hover,a:focus{ color:#0a4fe0; text-decoration:none; }

.canshu{ color:#475467; font-weight:700; }

/* Footer */
.dibu{
  margin-top:56px;
  background:#ffffff;
  color:#475467;
  border-top:1px solid #e5e7eb;
  padding:48px 0;
}
.banquanwenzi{
  padding:60px 0 50px 0;
  font-size:14px;
  line-height:1.85;
}
.footer-phone{ margin-top:10px; font-size:15px; }
.footer-slogan{ margin-top:20px; font-size:14px; color:#6b7280; }
.footer-copy{
  margin-top:25px;
  font-size:13px;
  color:#9ca3af;
  border-top:1px solid #e5e7eb;
  padding-top:25px;
}
.footer-disclaimer{
  margin-top:15px;
  font-size:12px;
  color:#9ca3af;
  line-height:1.9;
}

/* Visibility helpers */
.visible-xs{ display:block !important; }
@media (min-width:768px){ .visible-xs{ display:none !important; } }
.hidden-sm{ display:none !important; }
@media (min-width:768px){ .hidden-sm{ display:block !important; } }

/* Mobile fixed call button */
.fixed-call-btn{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:rgba(0,0,0,0.9);
  font-weight:700;
  color:#ffffff;
  z-index:9999;
  border:0;
  border-radius:0;
}

/* =========================================================
   楼宇轮播（主图 + 缩略图条）
   ========================================================= */

.gallery-card{
  border:none;
  box-shadow:none;
}
.gallery-card-tight{
  padding-bottom:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 让轮播区域与 H1 左侧齐平：清理 row/col 的缩进 */
.gallery-card .row{ margin-left:0 !important; margin-right:0 !important; }

#building-slideshow{
  position:relative;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden;
  text-align:left;
}

/* 主图区域按比例预占位，防止未加载前塌陷 */
#building-slideshow .slide{
  position:relative;
  margin:0;
  width:100%;
  aspect-ratio: 3 / 2;
  overflow:hidden;
  background:#f5f5f5;
}

/* JS 生效前，先让第一张占位显示 */
#building-slideshow .slide:first-child{
  display:block;
}

#building-slideshow img{
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  background:#f5f5f5;
}

/* Caption 更靠底一点 */
#building-slideshow .slide-caption{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:6px;
  padding:6px 12px;
  font-size:14px;
  color:#fff;
  background:rgba(0,0,0,0.35);
  border-radius:14px;
  max-width:92%;
  text-align:center;
  pointer-events:none;
  z-index:2;
}

/* 主图左右按钮：PC hover 显示，手机隐藏 */
#building-slideshow .slide-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  line-height:54px;
  font-size:28px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,0.45);
  color:#fff;
  cursor:pointer;
  z-index:10;

  opacity:0;
  visibility:hidden;
  transition:opacity 0.25s ease;
}
#building-slideshow .slide-prev{ left:10px; }
#building-slideshow .slide-next{ right:10px; }
#building-slideshow .slide-nav:hover{ background:rgba(0,0,0,0.60); }

@media (hover:hover) and (pointer:fine){
  #building-slideshow:hover .slide-nav{ opacity:1; visibility:visible; }
}
@media (hover:none) and (pointer:coarse){
  #building-slideshow .slide-nav{ display:none !important; }
}

/* 缩略图条 */
#building-slideshow .thumbbar{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
}
#building-slideshow .thumb-nav{
  flex:0 0 auto;
  width:38px;
  height:54px;
  line-height:54px;
  font-size:22px;
  border:0;
  border-radius:8px;
  background:rgba(0,0,0,0.45);
  color:#fff;
  cursor:pointer;
}
#building-slideshow .thumb-nav:hover{ background:rgba(0,0,0,0.60); }

#building-slideshow .thumb-viewport{ flex:1 1 auto; overflow:hidden; }
#building-slideshow .thumb-track{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding-bottom:2px;
}
#building-slideshow .thumb-track::-webkit-scrollbar{ height:0; }

#building-slideshow .thumb{
  flex:0 0 auto;
  width:92px;
  height:56px;
  border:2px solid transparent;
  border-radius:6px;
  overflow:hidden;
  padding:0;
  background:transparent;
  cursor:pointer;
}
#building-slideshow .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  position:static;
}
#building-slideshow .thumb.is-active{
  border-color: rgba(255, 180, 0, 0.95);
}

/* 去掉轮播区域按钮/缩略图的点击蓝框 */
#building-slideshow .slide-nav,
#building-slideshow .slide-nav:focus,
#building-slideshow .slide-nav:active,
#building-slideshow .thumb-nav,
#building-slideshow .thumb-nav:focus,
#building-slideshow .thumb-nav:active,
#building-slideshow .thumb,
#building-slideshow .thumb:focus,
#building-slideshow .thumb:active{
  outline:none !important;
  box-shadow:none !important;
}

/* 无图占位 */
.img-placeholder{
  width:100%;
  aspect-ratio: 3 / 2;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#cbd5e1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:500;
  letter-spacing:2px;
}

.map-placeholder{
  width:100%;
  aspect-ratio: 3 / 2;
}

/* 地图图框样式 */
.map-img{
  border:1px solid #e3e3e3;
  padding:2px;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Lazy */
.lazy{ opacity:0; transition:opacity 0.5s; }
.lazy.loaded{ opacity:1; }

/* 轮播模块：彻底无边框/无背景/无阴影 */
.gallery-card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.gallery-card.alert-warning{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.gallery-card .row{
  margin-top: 0 !important;
}

/* 轮播左右箭头按钮：上下左右居中修正 */
#building-slideshow .slide-nav,
#building-slideshow .thumb-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* =========================================================
   手机端标题间距与模块左右留白优化
   ========================================================= */
@media (max-width: 767px) {

  .container{
    padding: 0 5px !important;
  }

  .row{
    margin-left: -8px !important;
    margin-right: -8px !important;
  }

  .col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,
  .col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,
  .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,
  .col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,
  .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,
  .col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,
  .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,
  .col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .anchor-offset{
    padding-top: 30px !important;
    margin-top: -30px !important;
  }

  .page-title{
    margin-top: 18px !important;
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .page-title h1{
    font-size: 26px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }

  .gallery-card.alert-warning{
    margin-top: 8px !important;
  }

  .section-title{
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  .section-title h4{
    margin: 0 0 10px 0 !important;
    line-height: 1.5 !important;
  }

  .alert-warning{
    padding: 14px !important;
    margin-bottom: 12px !important;
  }
}

/* 推荐更清晰的统一线条 */
.navbar{
  border-bottom: 1px solid #d1d5db !important;
}

.alert-warning{
  border: 1px solid #d1d5db !important;
}

/* 彻底取消模块鼠标经过特效 */
.alert-warning,
.alert-warning:hover,
.alert-warning:focus,
.alert-warning:active{
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
}

/* 手机端底部电话按钮：黑色半透明 */
@media (max-width: 767px){
  .fixed-call-btn{
    height: 30px;
    line-height: 30px;
    padding: 0 5px;
    font-size: 14px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.15);
  }

  .fixed-call-btn:hover,
  .fixed-call-btn:focus,
  .fixed-call-btn:active{
    background: rgba(0, 0, 0, 0.85) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.25) !important;
    box-shadow: none;
    outline: none;
  }

  .fixed-call-btn .glyphicon{
    font-size: 14px;
    margin-right: 6px;
    top: 2px;
  }
}