/* besttechtrend static — mobile floating CTA.
   Shown (via .is-visible) once section.content scrolls into view; hidden again
   once the footer (page bottom) reaches the viewport. Desktop: hidden entirely. */
.floating-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
  display: none; /* desktop */
  background: #1e40af; color: #fff;
  font-weight: 700; font-size: 1.15rem; text-decoration: none; text-align: center;
  padding: 14px 16px; border-top: 4px solid #1e3a8a;
  box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.18);
  transform: translateY(110%); transition: transform 0.25s ease;
}
.floating-cta.is-visible { transform: translateY(0); }
.floating-cta .bi { width: 1em; height: 1em; margin-left: 0.4em; vertical-align: -0.125em; }
@media (max-width: 768px) {
  .floating-cta { display: block; }
}

/* Hero 区块：容器定位 + 遮罩层 + 内容层级
   （新增 overflow: hidden，防止背景视频铺满时溢出容器边界） */
section.hero {
    position: relative !important;
    overflow: hidden !important;
}

section.hero .overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 1 !important;
}

/* hero-body 垂直居中：不依赖媒体查询断点，任何屏幕宽度都生效
   采用 Bulma 官方处理全屏 Hero 的原生思路——保持默认横向主轴，
   用 align-items 做垂直居中，避免断点未触发导致居中失效 */
section.hero .hero-body {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
}

section.hero .hero-body > .container {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
}

/* Hero 背景视频：铺满容器、居中裁切、压在遮罩层下方 */
.hero-video-bg {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    width: auto !important;
    height: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 0 !important;
    object-fit: cover !important;
}

/* 桌面端基础留白 */
.hero-body {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

/* 移动端加大留白，视觉呼吸感更强 */
@media screen and (max-width: 768px) {
    .hero-body {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
    
    .hero .title {
        margin-bottom: 1rem !important;
    }
    
    /* 保留作为安全垫，防止视频加载延迟导致容器瞬间塌陷 */
    section.hero {
        min-height: 280px !important;
    }
}
