/*=================================
  整屏滚动（Full-page scroll）
  配合 js/fullpage-scroll.js 使用：
  JS 会给参与整屏滚动的区块动态加上 .fp-section
=================================*/

/* 每屏占满整个视口，内容垂直居中 */
.fp-section {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

/* 区块内的容器需要撑满可用宽度，否则 flex 下会被内容宽度压缩 */
.fp-section > .container,
.fp-section > .container-fluid {
  width: 100%;
}

/* 首屏 banner 叠在透明头部之下，为固定头部留出视觉空间 */
section.banner.fp-section {
  padding-top: 100px;
  padding-bottom: 60px;
}

/* 页脚不参与满屏：不加 .fp-section，保持自然高度与模板原有配色
   （JS 只会给它加 .fp-tail，仅用于记录"末尾停靠点"，无样式副作用） */

/* 桌面端：整屏模式下压缩纵向留白，并把内容自适应到一屏内 */
@media (min-width: 992px) {
  /* 模板默认 .space-ptb 上下各 100px，逐屏浏览时太占高度 */
  .fp-section.space-ptb {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  /* 手风琴高度随视口自适应，避免"业务体系"屏被撑破一屏
     （内联 height 由组件写入，需 !important 覆盖）
     26vw：让高度跟着容器宽度一起放大，宽屏下不会缩成一条窄带；
     44vh：上限受屏高约束，保证标题+手风琴+按钮仍能装进一屏 */
  .fp-section #accordion-gallery {
    height: clamp(260px, min(26vw, 44vh), 720px) !important;
  }
}

/* 窄屏 / 移动端：关闭满屏强制高度，回归自然滚动（避免地址栏导致的 100vh 抖动与内容裁切） */
@media (max-width: 991.98px) {
  .fp-section {
    min-height: auto;
  }

  section.banner.fp-section {
    min-height: 88svh;
    padding-top: 90px;
    padding-bottom: 50px;
  }
}
