/* ===== 学联怡老 · 银龄守护 - 精致深邃风格样式表 (仅修改主色) ===== */

/* 引入衬线字体 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;700;900&display=swap');

/* --- 通用基础样式 --- */
html {
    font-size: 30px;
}
body {
    margin: 0;
    padding: 0;
    font-family: 'Noto Serif SC', serif;
    font-weight: 400;
    line-height: 1.8;
    color: #333333;
    background-color: #F8F8F8;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- 链接样式 --- */
a {
    color: #4A9E86; /* 原 #1A684A -> #4A9E86 */
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}
a:hover,
a:focus {
    color: #4A9E86; /* 原 #0A4F33 -> 同主色 #4A9E86 */
    text-decoration: underline;
}

/* --- 标题样式 --- */
h1,h2,h3,h4,h5,h6 {
    font-family: 'Noto Serif SC', serif;
    color: #4A9E86; /* 原 #0A4F33 -> #4A9E86 */
    margin: 1.8rem 0 1rem;
    font-weight: 700;
    line-height: 1.4;
}
h1 { font-size:3.2rem; font-weight:900; }
h2 { font-size:2.8rem; }
h3 { font-size:2.2rem; }
h4 { font-size:1.8rem; }
h5 { font-size:1.4rem; }
h6 { font-size:1.1rem; }

/* --- 段落与列表 --- */
p, ul, ol, li, address {
    font-size:1.1rem;
    margin-bottom:1rem;
    font-weight:400;
}
strong { font-weight:700; }

/* --- 容器与布局 --- */
.container {
    width:100%;
    max-width:1300px;
    margin:0 auto;
    padding:0 20px;
}
.row { margin-bottom:2rem; }
.section { padding:5rem 0; }

/* --- 表单控件样式 --- */
.form-control {
    display:block;
    width:100%;
    padding:0.8rem 1.2rem;
    font-size:1.1rem;
    font-family:inherit;
    font-weight:400;
    line-height:1.5;
    color:#333333;
    background-color:#FFFFFF;
    border:1px solid #EEEEEE;
    border-radius:0.4rem;
    transition:border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.form-control:focus {
    border-color: #4A9E86; /* 原 #1A684A */
    outline:0;
    box-shadow:0 0 0 0.25rem rgba(74,158,134,0.35); /* 原 rgba(26,104,74,0.35) */
}
label {
    display:inline-block;
    margin-bottom:0.6rem;
    font-weight:500;
    font-size:1.1rem;
}

/* --- 按钮样式 --- */
.btn {
    display:inline-block;
    font-weight:500;
    color:#FFFFFF;
    text-align:center;
    vertical-align:middle;
    cursor:pointer;
    user-select:none;
    background-color:#4A9E86; /* 原 #1A684A */
    border:1px solid transparent;
    padding:0.8rem 1.8rem;
    font-size:1.1rem;
    line-height:1.5;
    border-radius:0.5rem;
    transition:color 0.2s, background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.btn:hover {
    background-color:#4A9E86; /* 原 #0A4F33 -> 同主色 */
    border-color:#4A9E86;
    color:#FFFFFF;
}
.btn:focus,
.btn.focus {
    outline:0;
    box-shadow:0 0 0 0.25rem rgba(74,158,134,0.6); /* 原 rgba(26,104,74,0.6) */
}
.btn:disabled,
.btn.disabled {
    opacity:0.65;
    cursor:not-allowed;
}
.btn-primary {
    background-color:#4A9E86; /* 原 #1A684A */
    border-color:#4A9E86;
}
.btn-primary:hover {
    background-color:#4A9E86; /* 原 #0A4F33 */
    border-color:#4A9E86;
}
.btn-success {
    background-color:#4CAF50;
    border-color:#4CAF50;
}
.btn-success:hover {
    background-color:#388E3C;
    border-color:#388E3C;
}

/* --- 核心导航优化 --- */
.navbar-default {
  background:#4f9c86; /* 原 #0A4F33 */
  padding:0;
  border-bottom:2px solid rgba(255,255,255,0.15);
  box-shadow:0 4px 15px rgba(0,0,0,0.2);
  display:flex; align-items:center; justify-content:center;
}
.navbar-default .container {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:0.5rem 20px; width:100%;
}
.navbar-header {
    float:none;
    display:flex;
    align-items:center;
    margin:0.5rem 0;
}
.navbar-brand {
  font-family:'Noto Serif SC', serif;
  font-size:2.1rem!important;
  font-weight:900;
  color:#fff!important;
  padding:1.2rem 0!important;
  display:inline-flex; align-items:center;
  letter-spacing:0.8px;
}
.navbar-brand img {
  height:4.5rem; margin-right:1.8rem;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}
.navbar-brand span { vertical-align:middle; }
.navbar-collapse.collapse { float:none; }
.navbar-nav {
  display:flex; align-items:center;
  gap:2.8rem; margin-left:auto; padding:0 1.5rem;
}
.navbar-nav>li {
  position:relative; display:flex; align-items:center;
}
.navbar-nav>li:first-child { margin-left:0; }
.navbar-nav>li>a {
  font-family:'Noto Serif SC', serif;
  font-size:1.3rem; font-weight:600;
  color:rgba(255,255,255,0.92)!important;
  padding:1rem 0!important;
  letter-spacing:0.5px;
  transition:all .25s cubic-bezier(0.4,0,0.2,1);
  white-space:nowrap;
}
.navbar-nav>li>a:hover,
.navbar-nav>.active>a,
.navbar-nav>.active>a:hover,
.navbar-nav>.active>a:focus {
    background-color:rgba(255,255,255,0.15);
    color:#FFFFFF!important;
    font-weight:700;
    border-radius:0.3rem;
}
.navbar-nav>li>a::after {
  content:''; position:absolute;
  bottom:0.8rem; left:0; right:0;
  height:2.5px; background:#FFD766;
  transform:scaleX(0); transition:transform 0.3s ease;
}
.navbar-nav>.active>a::after,
.navbar-nav>li:hover>a::after {
    transform:scaleX(1);
}
.navbar-nav>.active>a,
.navbar-nav>li:hover>a {
    color:#FFD766!important;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color:#FFFFFF;
}

/* --- 页面头部横条 --- */
#inner-headline {
    background:#EEEEEE;
    padding:0.1rem 0;
    margin-bottom:0.1rem;
    border-bottom:1px solid #DDDDDD;
    text-align:center;
}
.pageTitle {
    color:#333333;
    font-size:2.8rem;
    font-weight:700;
    margin:0;
}

/* --- 轮播 Banner --- */
#featured .flexslider { border:none; margin-bottom:0; }
/* 轮播容器与图片：按视口高度铺满，消除黑边 */
#featured .flexslider, #featured .flexslider .slides, #featured .flexslider .slides li { height:60vh; min-height:380px; }
#featured .slides img { width:100%; height:100%; object-fit:cover; display:block; }
/* 字幕使用极薄渐变条，仅包裹文字区域 */
.flex-caption {
    background: linear-gradient( to top, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0.0) 85% );
    color:#FFFFFF;
    padding:0.6rem 1rem 0.8rem;
    position:absolute; bottom:0; left:0; right:0;
    text-align:center;
}
/* 缩小标题和描述字号，配合更薄遮罩 */
#featured .flex-caption h3 { font-size: 1.8rem; margin: 0 0 0.2rem; }
#featured .flex-caption p.lead { font-size: 1rem; margin: 0; }
/* 提高文字可读性，弱化对遮罩的依赖 */
#featured .flex-caption h3, #featured .flex-caption p.lead {
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
.flex-caption h3 {
    color:#FFFFFF; margin-top:0; margin-bottom:1rem;
    font-size:2.8rem; font-weight:900;
}
.flex-caption p.lead {
    color:#EEEEEE; font-size:1.4rem;
    margin-bottom:0; font-weight:400;
}

/* --- 首页核心模块 --- */
.module {
    padding:5rem 0; background-color:#FFFFFF;
    margin-bottom:2.5rem; box-shadow:0 2px 6px rgba(0,0,0,0.1);
}
.module h2, .module h4 {
     color:#4A9E86; /* 原 #0A4F33 */
}
.module p {
    font-size:1.1rem; line-height:1.8;
}
.icon-circle {
    font-size:3.5rem; color:#4A9E86; /* 原 #1A684A */
    border:3px solid #4A9E86;
    border-radius:50%; padding:1.2rem;
    width:7rem; height:7rem;
    display:inline-flex; align-items:center; justify-content:center;
    margin-bottom:2rem;
    transition:background-color 0.3s, color 0.3s, border-color 0.3s;
}
.col-sm-4:hover .icon-circle {
    background-color:#4A9E86;
    color:#FFFFFF; border-color:#4A9E86;
}

/* 适老化：放大按钮点击区与可见焦点 */
.module .btn {
    padding: 0.9rem 2rem;
    font-size: 1.15rem;
    border-radius: 0.6rem;
}
.module .btn:focus-visible {
    outline: 3px solid #FFD766;
    outline-offset: 2px;
}

/* 适老化：提高正文对比与行高（首页模块） */
.module p {
    color: #2F2F2F;
    line-height: 1.9;
}

/* --- Footer 样式 --- */
footer {
    background:#EEEEEE; color:#555555;
    padding:4rem 0; font-size:1rem;
}
footer h5.widgetheading {
    color:#333333; font-weight:700;
    margin-bottom:1.8rem; font-size:1.3rem;
}
footer address, footer p { color:#555555; font-size:1rem; line-height:1.7; }
footer a { color:#555555; transition:color .3s; }
footer a:hover { color:#4A9E86; /* 原 #0A4F33 */ }
.link-list li { margin-bottom:0.8rem; }
.link-list a { display:inline-block; font-size:1rem; }
.social-network { margin:0; padding:0; list-style:none; display:inline-block; }
.social-network li { display:inline-block; margin-right:8px; }
.social-network a {
    display:inline-flex; align-items:center; justify-content:center;
    width:40px; height:40px; border-radius:50%;
    background-color:#CCCCCC; color:#FFFFFF; transition:background-color .3s;
}
.social-network a i { font-size:1.4rem; }
.social-network a:hover { background-color:#4A9E86; /* 原 #1A684A */ }
#sub-footer {
    background:#DDDDDD; color:#555555;
    padding:1.5rem 0; text-align:center; font-size:0.9rem;
}
#sub-footer a { color:#555555; }
#sub-footer a:hover { color:#4A9E86; }

/* --- 地图 --- */
.map {
    margin-top:2.5rem; margin-bottom:3.5rem;
    overflow:hidden; border:1px solid #EEEEEE;
    border-radius:0.4rem;
}
#osm-map { width:100%; height:400px; }

/* --- 定位发展页面特定样式 --- */
.policy-panel .panel {
    border:1px solid #EEEEEE; border-radius:0.5rem;
    margin-bottom:2rem; box-shadow:0 2px 5px rgba(0,0,0,0.08);
}
.policy-panel .panel-heading {
    background:#F8F8F8; border-bottom:1px solid #EEEEEE;
    padding:1.2rem 1.8rem;
}
.policy-panel .panel-title a {
    color:#333333; font-size:1.2rem; font-weight:700;
    display:block;
}
.policy-panel .panel-title a:hover {
    color:#4A9E86; /* 原 #1A684A */
    text-decoration:none;
}
.policy-panel .panel-body {
    background:#FFFFFF; padding:1.8rem; border-top:1px solid #EEEEEE;
    font-size:1.1rem; line-height:1.8;
}

/* --- 图文 & 短视频 --- */
.video-gallery img {
    display:block; width:100%; height:auto; border-radius:0.5rem;
    margin-bottom:1rem; transition:transform 0.3s;
}
.video-gallery a:hover img { transform:scale(1.03); }
.video-gallery p { color:#555555; font-size:1rem; margin-bottom:0.8rem; }

/* --- 智能问答 --- */
.chatbot-section .well {
    background:#F8F8F8; border:0px solid #EEEEEE;
    border-radius:0.5rem; padding:2.5rem;
    font-size:1.1rem; line-height:1.8;
}

/* --- “五年规划” 更新 --- */
.plan-updates-section ul { list-style:none; padding:0; }
.plan-updates-section li {
    background:#FFFFFF; border:1px solid #EEEEEE;
    border-radius:0.5rem; padding:1.5rem 2rem;
    margin-bottom:1.5rem; box-shadow:0 1px 3px rgba(0,0,0,0.05);
    font-size:1.1rem;
}

/* --- 基础服务页面特定样式 --- */
#volunteer-filters .btn {
    margin:8px; background-color:#EEEEEE; color:#333333; border-color:#DDDDDD;
    font-size:1.1rem; padding:0.8rem 1.5rem;
}
#volunteer-filters .btn.active,
#volunteer-filters .btn:hover {
    background-color:#4A9E86; /* 原 #1A684A */
    color:#FFFFFF; border-color:#4A9E86;
}
#volunteer-list li { margin-bottom:2.5rem; }

/* --- 核心法律页面特定样式 --- */
#lawTabs .nav-tabs>li>a {
    color:#333333; border:1px solid transparent;
    border-radius:0.4rem 0.4rem 0 0; margin-right:8px;
    font-size:1.1rem; padding:1rem 1.5rem;
}
#lawTabs .nav-tabs>li.active>a,
#lawTabs .nav-tabs>li.active>a:hover,
#lawTabs .nav-tabs>li.active>a:focus {
    color:#FFFFFF; background-color:#4A9E86; /* 原 #1A684A */
    border-color:#4A9E86;
}
#lawTabs .nav-tabs>li>a:hover {
    border-color:#EEEEEE #EEEEEE #4A9E86; /* 原 底部 #1A684A */
}
.tab-content {
    border:1px solid #EEEEEE; border-top:none;
    padding:2.5rem; background:#FFFFFF; border-radius:0 0 0.5rem 0.5rem;
    font-size:1.1rem; line-height:1.8;
}
#cases-table th {
    background-color:#F8F8F8; color:#333333;
    font-weight:700; font-size:1.1rem;
}
#cases-table td { font-size:1.1rem; }

/* --- 活动 & 律所列表 --- */
#activity-list li, #firm-list li {
    background:#FFFFFF; border:1px solid #EEEEEE; border-radius:0.5rem;
    padding:1.5rem 2rem; margin-bottom:1.5rem; box-shadow:0 1px 3px rgba(0,0,0,0.05);
    font-size:1.1rem; line-height:1.8;
}
#consult-response.well {
    background:#F8F8F8; border:1px solid #EEEEEE; border-radius:0.5rem;
    padding:2rem; min-height:150px; font-size:1.1rem; line-height:1.8;
}

/* --- 产品技术服务页面特定样式 --- */
.device-cards .card {
    border:1px solid #EEEEEE; border-radius:0.5rem;
    margin-bottom:2.5rem; box-shadow:0 3px 8px rgba(0,0,0,0.12);
    transition:transform 0.3s; background:#FFFFFF;
}
.device-cards .card:hover {
    transform:translateY(-8px); box-shadow:0 6px 12px rgba(0,0,0,0.2);
}
.device-card .card-img-top {
    width:100%; height:220px; object-fit:cover;
    border-top-left-radius:0.5rem; border-top-right-radius:0.5rem;
}
.device-card .card-body { padding:1.8rem; }
.device-card .card-title {
    color:#4A9E86; /* 原 #1A684A */
    margin-top:0; margin-bottom:1rem;
    font-size:1.6rem; font-weight:700;
}
.device-card .card-text {
    color:#555555; font-size:1rem; margin-bottom:1.8rem; line-height:1.7;
}
.device-card .detail-btn {
    background:transparent; color:#4A9E86; border-color:#4A9E86;
    padding:0.6rem 1.2rem; font-size:1rem;
}
.device-card .detail-btn:hover {
    background:#4A9E86; color:#FFFFFF;
}

/* --- 服务列表 --- */
.service-list .list-group-item {
    border:1px solid #EEEEEE; border-radius:0.5rem;
    margin-bottom:1.2rem; padding:1.8rem; background:#FFFFFF;
    box-shadow:0 1px 4px rgba(0,0,0,0.06); font-size:1.1rem; line-height:1.8;
}
.service-list .list-group-item h5 {
    color:#4A9E86; /* 原 #1A684A */
    margin-top:0; margin-bottom:0.6rem;
    font-size:1.4rem; font-weight:700;
}
.service-list .list-group-item p { color:#555555; font-size:1.1rem; margin-bottom:0; }

/* --- 行业拓展页面特定样式 --- */
#industry-news li {
    background:#FFFFFF; border:1px solid #EEEEEE; border-radius:0.5rem;
    padding:1.5rem 2rem; margin-bottom:1.5rem; box-shadow:0 1px 4px rgba(0,0,0,0.06);
    font-size:1.1rem; line-height:1.8;
}
#report-list .list-group-item {
    border:1px solid #EEEEEE; border-radius:0.4rem; margin-bottom:1rem;
    padding:1rem 1.5rem; background:#FFFFFF; box-shadow:0 1px 3px rgba(0,0,0,0.04);
    font-size:1.1rem;
}
.recruitment-form form input,
.recruitment-form form textarea {
    margin-bottom:1.2rem; font-size:1.1rem;
}
.recruitment-form h4 {
    color:#4A9E86; /* 原 #0A4F33 */
    margin-bottom:1rem; font-size:1.6rem; font-weight:700;
}

/* --- 返回顶部按钮 --- */
.scrollup {
    width:45px; height:45px;
    position:fixed; bottom:25px; right:25px;
    background-color:rgba(74,158,134,0.8); /* 原 rgba(10,79,51,0.8) */
    color:#FFFFFF; font-size:1.8rem; text-align:center;
    line-height:45px; border-radius:50%;
    transition:background-color 0.3s; z-index:100;
    box-shadow:0 2px 5px rgba(0,0,0,0.1);
}
.scrollup:hover { background-color:#4A9E86; /* 原 #1A684A */ }

/* --- 响应式调整 --- */
/* --- 响应式调整 --- */
@media (max-width: 991px) {
  .navbar-header {
      float: none;
      /* 在小屏幕上恢复 flexbox 布局 */
      display: flex;
      align-items: center;
      justify-content: space-between; /* 品牌和汉堡菜单分散对齐 */
      width: 100%; /* 占满宽度 */
  }

  .navbar-brand {
      margin-right: 0; /* 移除品牌右侧间距 */
      font-size: 1.6rem; /* 字号调整 */
  }

  .navbar-brand img {
      max-height: 3rem; /* Logo 尺寸调整 */
      margin-right: 0.5rem; /* Logo 和文字间距调整 */
  }

  .navbar-toggle {
      display: block;
      margin: 0; /* 移除默认外边距 */
  }

  .navbar-collapse {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
  }
  .navbar-fixed-top {
      top: 0;
      border-width: 0 0 1px;
  }
  .navbar-collapse.collapse {
      display: none!important;
  }
  .navbar-nav {
      float: none!important;
      margin: 7.5px 0; /* 调整上下外边距 */
      flex-direction: column; /* 垂直排列导航项 */
      align-items: flex-start; /* 左对齐 */
  }
  .navbar-nav>li {
      float: none;
      margin-left: 0; /* 移除左侧间距 */
      width: 100%; /* 占满宽度 */
  }
  .navbar-nav>li>a {
      padding-top: 12px; /* 内边距调整 */
      padding-bottom: 12px; /* 内边距调整 */
      font-size: 1.1rem; /* 字号调整 */
      width: 100%; /* 确保点击区域占满 */
  }
  .collapse.in{
      display:block !important;
  }

  .pageTitle {
      font-size: 2.2rem;
  }

  h1 { font-size: 2.8rem; }
  h2 { font-size: 2.3rem; }
  h3 { font-size: 2rem; }
  h4 { font-size: 1.6rem; }
  h5 { font-size: 1.3rem; }
  p, ul, ol, li, address, .form-control, label, .btn,
  .flex-caption p.lead, .icon-circle, footer, footer address, footer p,
  .link-list a, .social-network a, #sub-footer, .policy-panel .panel-title a,
  .policy-panel .panel-body, .video-gallery p, .chatbot-section .well,
  .plan-updates-section li, #volunteer-filters .btn, #cases-table th,
  #cases-table td, #activity-list li, #firm-list li, #consult-response.well,
  .device-card .card-text, .device-card .detail-btn, .service-list .list-group-item,
  .service-list .list-group-item p, #industry-news li, #report-list .list-group-item,
   .recruitment-form form input, .recruitment-form form textarea {
      font-size: 1rem; /* 在中小屏幕上稍微减小字体 */
  }

  .section { padding: 4rem 0; }
  .icon-circle { font-size: 3rem; width: 6rem; height: 6rem; }
  .social-network a { width: 36px; height: 36px; font-size: 1.2rem; }
  #osm-map { height: 300px; }
  .device-card .card-img-top { height: 200px; }
  .device-card .card-title { font-size: 1.4rem; }
  .service-list .list-group-item h5 { font-size: 1.3rem; }
  .recruitment-form h4 { font-size: 1.4rem; }
}

@media (max-width: 767px) {
   .navbar-brand {
      font-size: 1.5rem; /* 字号调整 */
   }

   .navbar-brand img {
      max-height: 2.8rem; /* Logo 尺寸调整 */
   }


  .pageTitle {
      font-size: 2rem;
  }

  h1 { font-size: 2.5rem; }
  h2 { font-size: 2.1rem; }
  h3 { font-size: 1.8rem; }
  h4 { font-size: 1.5rem; }
  h5 { font-size: 1.2rem; }

   .flex-caption h3 {
      font-size: 2.3rem;
  }
   .flex-caption p.lead {
      font-size: 1.2rem;
  }


  .section { padding: 3rem 0; }
  .icon-circle { font-size: 2.5rem; width: 5rem; height: 5rem; }
  .social-network a { width: 32px; height: 32px; font-size: 1rem; }
  #osm-map { height: 250px; }
   .device-card .card-img-top { height: 180px; }
  .device-card .card-title { font-size: 1.3rem; }
  .service-list .list-group-item h5 { font-size: 1.2rem; }
  .recruitment-form h4 { font-size: 1.3rem; }
}

@media (max-width: 480px) {
   .navbar-brand {
      font-size: 1.3rem; /* 字号调整 */
   }
   .navbar-brand img {
       max-height: 2.5rem; /* Logo 尺寸调整 */
  }

  .pageTitle {
      font-size: 1.8rem;
  }

  h1 { font-size: 2.2rem; }
  h2 { font-size: 1.8rem; }
  h3 { font-size: 1.6rem; }
  h4 { font-size: 1.3rem; }
  h5 { font-size: 1.1rem; }


   .flex-caption h3 {
      font-size: 1.8rem;
  }
   .flex-caption p.lead {
      font-size: 1rem;
  }

  .section { padding: 2.5rem 0; }

  .icon-circle { font-size: 2rem; width: 4.5rem; height: 4.5rem; }

   #osm-map {
      height: 200px;
  }

  .tab-content {
      padding: 1.2rem;
  }

  .device-card .card-img-top {
      height: 150px;
  }

  .btn {
      padding: 0.7rem 1.4rem;
      font-size: 1rem;
  }

  .form-control {
      padding: 0.7rem 1rem;
      font-size: 1rem;
  }
}

/* 联系我们按钮优化 */
.nav-contact-btn {
  background:rgba(255,255,255,0.9)!important;
  color:#333!important;
  border-radius:28px;
  padding:0.8rem 2.2rem!important;
  margin-left:2rem;
  border:1px solid transparent!important;
  transition:all 0.3s;
}
.nav-contact-btn:hover {
  background:#fff!important;
  box-shadow:0 3px 12px rgba(0,0,0,0.15);
  transform:translateY(-2px);
}
/* 移动端适配 (其余规则保持不变) */
@media (max-width: 1199px) {
  .navbar-nav { gap:2rem; }
  .navbar-brand { font-size:1.9rem!important; }
  .navbar-brand img { height:4rem; }
}


@media (max-width: 991px) {
.navbar-collapse {
  background:rgba(74,158,134,0.98); /* 原 rgba(10,79,51,0.98) */
  border-top:2px solid rgba(255,255,255,0.15);
  padding:1.5rem 2.5rem;
}
.navbar-nav {
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem 0;
}

.navbar-nav > li > a {
    font-size: 1.5rem;
    padding: 1.2rem 2rem !important;
    border-left: 3px solid transparent;
}

.navbar-nav > .active > a {
    border-left-color: #FFD766;
}

.nav-contact-btn {
    margin: 1.5rem 0 0;
    width: 100%;
}
}

@media (max-width: 767px) {
.navbar-brand {
    font-size: 1.7rem !important;
    padding: 0.8rem 0 !important;
}

.navbar-brand img {
    height: 3.5rem;
    margin-right: 1.2rem;
}
}

/* ===== 顶部导航对齐补丁，只改位置和间距 ===== */
.navbar-default {
/* 用 flexbox 保证所有子项同高垂直居中 */
display: flex;
align-items: center;
/* 保留原来的 box-shadow、背景等 */
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
padding: 0 20px; /* 两侧保持与 container 一致的左右内边距 */
}

.navbar-default .container {
/* container 也用 flex */
display: flex;
align-items: center;
padding: 0;
}

.navbar-header {
/* 取消 bootstrap 的 float */
float: none;
display: flex;
align-items: center;
margin-right: 30px; /* logo 右侧留一点空 */
}

.navbar-brand {
padding: 5px 0;    /* 上下内边距缩小 */
display: flex;
align-items: center;
}

.navbar-brand img {
height: 40px;      /* 缩小 logo 到 40px 高 */
margin-right: 10px;/* logo 与文字之间留 10px */
}

.navbar-brand span {
line-height: 40px; /* 文字和 logo 作同高度 */
font-size: 2.1rem; /* 保持你的大字号 */
}

.navbar-toggle {
margin: 0;         /* 取消上下外边距 */
padding: 10px;     /* 缩小内边距 */
align-self: center;
}

.navbar-nav {
display: flex;
align-items: center;
margin-left: auto;
}

.navbar-nav > li > a {
padding: 20px 0;   /* 上下都 20px，和 logo 同中线 */
line-height: normal;
font-size: 1.3rem; /* 保持原字号 */
}

/* 小屏也垂直居中 */
@media (max-width: 991px) {
.navbar-default .container,
.navbar-header,
.navbar-nav {
  display: flex;
  align-items: center;
}
.navbar-nav {
  flex-direction: column;
  padding: 10px 0;
}
.navbar-nav > li > a {
  padding: 12px 0;
}
}

/* ============================
   导航：去除选中时的白色背景
   ============================ */
   .navbar-nav > .active > a,
   .navbar-nav > .active > a:hover,
   .navbar-nav > .active > a:focus {
     background-color: transparent !important;
     /* 保留下划线高亮或文字高亮即可 */
     color: #FFD766 !important;  /* 如果你还想保持黄色下划指标高亮文字 */
     font-weight: 700;
   }
   /* 只调整对齐，不动原有 padding（保持灰条高度） */
#inner-headline {
  display: flex !important;           /* 启用 flex 布局 */
  justify-content: center !important; /* 水平居中 */
  align-items: flex-start !important; /* 垂直靠上对齐 */
  /* 不要再改 padding，让它继续使用原本的 2.5rem 上下内边距 */
}

/* 去掉标题自带的大上边距，留一点底部间距 */
#inner-headline .pageTitle {
  margin-top: 0;
  margin-bottom: 0rem;
}
/* --- small-headline：整行灰底 + 超薄 --- */
#inner-headline.small-headline {
  background-color: #EEEEEE;   /* 整行灰底 */
  padding: 0rem 0;          /* 上下各 0.25rem，极窄 */
  margin-bottom: 0.5rem;      /* 与下方内容的距离 */
}

/* 标题本身 */
#inner-headline.small-headline .pageTitle {
  margin: 0;                   /* 去掉多余外边距 */
  line-height: 1.2;            /* 保证文字垂直居中 */
}


/* ===== 定位发展页面 精准间距与加粗 ===== */

/* 1. 收紧 lead 文本上下间距，并加大加粗 */
#development .lead {
  font-size: 1.25rem;       /* 略微放大 */
  font-weight: 700;         /* 加粗 */
  margin-top: 0.5rem;       /* 上间距 */
  margin-bottom: 0.5rem;    /* 下间距 */
  line-height: 1.6;
}

/* 2. 收紧 panel-heading 与 panel-body 内边距 */
.policy-panel .panel {
  margin-bottom: 1.5rem;    /* panel 总间距 */
}
.policy-panel .panel-heading {
  padding: 0.75rem 1rem;     /* 原来更大，这里收小 */
}
.policy-panel .panel-body {
  padding: 1rem 1rem;        /* 原来更大，这里收小 */
}

/* 3. 加大并加粗面板标题 */
.policy-panel .panel-title a {
  font-size: 1.4rem;         /* 放大 */
  font-weight: 800;          /* 更加粗 */
  color: #0A4F33;            /* 主题色 */
}

/* 如果您用的是无 .policy-panel 而是直接 panel ，再覆盖一遍 */
#headingOne .panel-title a,
#headingTwo .panel-title a {
  font-size: 1.4rem;
  font-weight: 800;
}

/* 加大并加粗图文&短视频下方文字 */
.video-gallery p {
  font-size: 2rem;    /* 根据需要再调大或调小 */
  font-weight: 700;     /* 加粗 */
  color: #333333;       /* 可选：调成更深的颜色 */
  margin-bottom: 1rem;  /* 调整一下底部间距 */
}

/* service 页面主打图（头像）缩小 */
.service-icon {
  max-width: 50px;    /* 根据需要改成 150/180/220px 都可以 */
  width: 100%;         /* 响应式保持比例 */
  height: auto;

  display: block;      /* center-block 已加，但加上也保险 */
}
/* 阻止 “服务类型” 这类 label 文本换行 */
.form-horizontal .control-label {
  white-space: nowrap;
}

/* 1. 让 panel-body 里的示意图和 iframe 垂直排列、居中，并留点间距 */
.dev-panel-body-visuals {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

/* 2. 控制示意图最大宽度，高度自适应 */
.dev-panel-body-visuals .dev-policy-illustrative-img {
  width: 80%;         /* 根据需要调整比例 */
  max-width: 700px;   /* 不要让它无限放大 */
  height: auto;
}

/* 3. 控制 iframe 大小 */
.dev-panel-body-visuals .dev-embedded-iframe {
  width: 80%;         /* 同示意图，保持一致 */
  max-width: 700px;   /* 同示意图的 max-width */
  height: 500px;      /* 根据具体内容再调高低 */
  border: none;       /* 去掉默认边框 */
}
/* service preview 放大 */
#service-preview {
  display: block !important;       /* 确保 JS 切换后一定会显示 */
  margin: 1.5rem auto;             /* 顶底空隙并居中 */
  width: 80%;                      /* 整体占父容器的 80% */
  max-width: 800px;                /* 最大不超过 800px */
  height: auto;                    /* 等比缩放 */
}

/*（可选）如果你还想让四个按钮下方的志愿者头像、示意图也都大一点，
   比如 volunteer-list 里每个 <li> 的 <img>，可以： */
#volunteer-list li img {
  width: 100%;      /* 让卡片图自适应 li 宽度 */
  max-width: 350px; /* 根据布局再微调 */
  height: auto;
}

/* Hero Banner 容器 */
#hero-banner {
  position: relative;
  width: 100%;
  height: 60vh;          /* 提升可视冲击 */
  min-height: 380px;     /* 保证小屏也有足够高度 */
  overflow: hidden;      /* 超出的图片裁切 */
}

/* Hero 图：铺满整个容器，保持等比裁剪 */
#hero-banner .hero-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;     /* 保持比例裁剪填充 */
  z-index: 0;
}

/* 遮罩 + 文本容器 */
#hero-banner .hero-overlay {
  position: relative;
  z-index: 1;            /* 确保文字在图片之上 */
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.6);  /* 深色半透明遮罩 (原为 rgba(74,158,134,0.4) 后又改为此深色遮罩) */
  color: #fff;
  text-align: center;
  padding: 0 1rem;
}

/* 文本样式 (保持不变) */
#hero-banner .hero-overlay h1 {
  font-size: 3rem;
  font-weight: 900;
  margin: 0 0 0.5rem;
  color: #fff;                      /* 确保字体纯白 */
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}
#hero-banner .hero-overlay p {
  font-size: 1.4rem;
  margin: 0;
  font-weight: 500;
  color: #fff;                      /* 确保字体纯白 */
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

/* 注意：原CSS中有两处定义 .hero-overlay 的 background，我保留了后面更具体的深色遮罩定义。
   同时，为了确保 h1 和 p 的颜色和阴影生效，我将它们从最后的合并规则移入了各自的定义中。*/




.navbar-default {
  /* 1. 纯绿色背景，去掉渐变 */
  background-color: #4A9E86 !important;
  background-image: none !important;

  /* 2. 去掉所有圆角 */
  border-radius: 0 !important;

  /* 3. 去掉阴影（按需） */
  box-shadow: none !important;
}

/* 保留你之前加的粗黄色下划 */
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #FFD766 !important;
  border-bottom: 4px solid #FFD766;
  padding-bottom: 0.5rem;
}

/* 确保其他项没下划 */
.navbar-default .navbar-nav > li > a {
  border-bottom: none !important;
}


/* —— 3. 强化选中项的黄色下划 —— */
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #FFD766 !important;           /* 文字也一并高亮 */
  border-bottom: 4px solid #FFD766;    /* 加粗到 4px */
  padding-bottom: 0.5rem;              /* 留出下划空间 */
}

/* 同时去掉非活动项可能残留的下划 */
.navbar-default .navbar-nav > li > a {
  border-bottom: none !important;
}


/* 给所有导航链接文字加暗色阴影，增强层次感 */
.navbar-default .navbar-nav > li > a {
  color: #fff !important;  /* 确保文字白色 */
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
  transition: text-shadow 0.2s ease;
}

/* 鼠标移入时再加一点亮度和浮起感 */
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
}

/* 已选中项文字也加同样的阴影（如果你单独改了颜色） */
.navbar-default .navbar-nav > .active > a {
  color: #FFD766 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}


