@charset "utf-8";
/* ============================================================
   首页轮播视觉升级（仅样式层）
   ------------------------------------------------------------
   约束：不改变 .flexslider 的宽度、显示比例（home.css 中的
   padding-top:26%）、图片裁切方式和 DOM 结构，只重绘控件外观。
   作用范围：仅首页第一页引用的那一个 .flexslider。
   ============================================================ */

.flexslider{
  --hn-sl-ease:cubic-bezier(.22,.61,.36,1);
  --hn-sl-riser:18px;          /* 箭头左右内缩，仅视觉位移 */
}

/* ---------- 1. 画面：轻压暗、缓慢推近 ---------- */
.flexslider .slides > li > a{
  background:#0b1b2e;
  overflow:hidden;
}

/* 底部渐变压暗：让白色圆点在任何画面上都能读清 */
.flexslider .slides > li > a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:44%;
  background:linear-gradient(180deg,
      rgba(6,16,28,0) 0%,
      rgba(6,16,28,.10) 48%,
      rgba(6,16,28,.38) 100%);
  pointer-events:none;
  z-index:1;
}

.flexslider .slides > li > a > img{
  transition:transform 1.2s var(--hn-sl-ease);
  will-change:transform;
}

/* 仅当前帧做极轻推近，避免多帧同时动 */
.flexslider:hover .slides > li.flex-active-slide > a > img{
  transform:scale(1.022);
}

/* 键盘焦点可见 */
.flexslider .slides > li > a:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:-4px;
}

/* ---------- 2. 左右箭头：毛玻璃圆钮 ---------- */
.flexslider .flex-direction-nav a{
  width:44px;
  height:44px;
  margin-top:-22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(9,22,38,.40);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 8px 22px rgba(3,10,20,.26);
  -webkit-backdrop-filter:blur(8px) saturate(1.15);
  backdrop-filter:blur(8px) saturate(1.15);
  color:#fff;
  /* 只保留 CSS 箭头：隐藏插件默认写入的 Previous / Next 文字 */
  font-size:0;
  line-height:0;
  text-shadow:none;
  opacity:0;
  transition:opacity .28s ease, transform .28s var(--hn-sl-ease),
             background .22s ease, border-color .22s ease;
}

/* 纯 CSS 箭头，不依赖图标字体，缩放不错位 */
.flexslider .flex-direction-nav a::before{
  content:"";
  display:block;
  width:9px;
  height:9px;
  margin-left:3px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  font-family:inherit;
  font-size:0;
  line-height:0;
}
.flexslider .flex-direction-nav a.flex-next::before{
  content:"";
  margin-left:-3px;
  transform:rotate(-135deg);
}

.flexslider .flex-direction-nav .flex-prev{
  left:var(--hn-sl-riser);
  transform:translateX(-8px);
}
.flexslider .flex-direction-nav .flex-next{
  right:var(--hn-sl-riser);
  left:auto;
  transform:translateX(8px);
}

.flexslider:hover .flex-direction-nav .flex-prev{
  opacity:1;
  left:var(--hn-sl-riser);
  transform:none;
}
.flexslider:hover .flex-direction-nav .flex-next{
  opacity:1;
  right:var(--hn-sl-riser);
  transform:none;
}

.flexslider .flex-direction-nav a:hover,
.flexslider .flex-direction-nav a:focus-visible{
  background:var(--hn-primary,#003366);
  border-color:rgba(255,255,255,.9);
  transform:scale(1.06);
  outline:none;
}

.flexslider .flex-direction-nav a:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.55), 0 8px 22px rgba(3,10,20,.26);
}

.flexslider .flex-direction-nav .flex-disabled{
  opacity:0 !important;
  pointer-events:none;
}

/* ---------- 3. 分页圆点：胶囊 + 玻璃底衬 ---------- */
.flexslider .flex-control-nav{
  left:50%;
  bottom:14px;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(8,20,34,.32);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 6px 18px rgba(4,12,22,.24);
  -webkit-backdrop-filter:blur(6px) saturate(1.1);
  backdrop-filter:blur(6px) saturate(1.1);
  transform:translateX(-50%);
  line-height:0;
  z-index:12;
}

.flexslider .flex-control-nav li{
  margin:0;
  line-height:0;
}

.flexslider .flex-control-paging li a{
  position:relative;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:none;
  transition:width .32s var(--hn-sl-ease), background .22s ease,
             transform .22s ease, opacity .22s ease;
}

/* 把可点区域扩到约 23×23，视觉仍是小圆点 */
.flexslider .flex-control-paging li a::after{
  content:"";
  position:absolute;
  inset:-8px;
}

.flexslider .flex-control-paging li a:hover{
  background:#fff;
  transform:scale(1.18);
}

.flexslider .flex-control-paging li a.flex-active{
  width:22px;
  background:#fff;
  opacity:1;
  cursor:default;
  transform:none;
  box-shadow:0 1px 2px rgba(4,12,22,.28), 0 0 0 1px rgba(4,12,22,.10) inset;
}

/* ---------- 4. 移动端：加大触控、贴合底部 ---------- */
@media screen and (max-width:860px){
  .flexslider{
    --hn-sl-riser:10px;
  }
  .flexslider .flex-direction-nav a{
    width:36px;
    height:36px;
    margin-top:-18px;
    opacity:.94;
    background:rgba(9,22,38,.46);
  }
  .flexslider .flex-direction-nav .flex-prev{
    left:var(--hn-sl-riser);
    transform:none;
  }
  .flexslider .flex-direction-nav .flex-next{
    right:var(--hn-sl-riser);
    transform:none;
  }
  .flexslider .flex-direction-nav a::before{
    width:8px;
    height:8px;
  }
}

@media screen and (max-width:760px){
  .flexslider .flex-control-nav{
    bottom:9px;
    gap:6px;
    padding:5px 11px;
  }
  .flexslider .flex-control-paging li a{
    width:6px;
    height:6px;
  }
  .flexslider .flex-control-paging li a.flex-active{
    width:18px;
  }
}

/* ---------- 5. 尊重系统「减少动态效果」 ---------- */
@media (prefers-reduced-motion: reduce){
  .flexslider .slides > li > a > img{
    transition:none;
  }
  .flexslider:hover .slides > li.flex-active-slide > a > img{
    transform:none;
  }
  .flexslider .flex-direction-nav a,
  .flexslider .flex-control-paging li a{
    transition:none;
  }
}

/* ---------- 6. 高对比模式兜底 ---------- */
@media (forced-colors: active){
  .flexslider .flex-direction-nav a,
  .flexslider .flex-control-nav{
    border:1px solid ButtonText;
    background:Canvas;
    color:ButtonText;
  }
  .flexslider .flex-control-paging li a{
    background:ButtonText;
  }
}
