/* demo-fixes.css — Phase A 冻结态烙印的运行时补偿（A 阶段）
   1) react-slick 冻结 markup → flex 化，让 Swiper 11 可驱动（wrapperClass/slideClass 桥接）
   2) hero 标语可读性（底座无文字层，标语是新落位的）
   3) footer 白底 JPG 徽标在深底上的观感 */
.history-slider .slick-track {
  display: flex !important;
  gap: 16px;
  width: auto !important;
  /* transform 不再强制：mini-slick（js/app.js）用 inline transform 驱动帧位（08/B1） */
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.history-slider .slick-slide {
  width: auto !important;
  flex: 0 0 auto;
}
.history-slider .slick-list {
  overflow: hidden;
  width: 100%;
}
.history-slider .slick-arrow {
  cursor: pointer;
}
.hero-tagline {
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
}
footer img[src*="partner-rocky-mount"] {
  mix-blend-mode: multiply;
  border-radius: 3px;
}

/* 徽标行间距（chunk 无 gap-x-* 任意值类，用 margin 兜底） */
footer [aria-label="Accreditations"] img {
  margin-right: 18px;
  margin-bottom: 8px;
}
footer [aria-label="Partner schools"] img {
  margin-right: 14px;
  margin-bottom: 8px;
}

/* 顶部导航防折行（bjfles 导航项比原 4 键多且长） */
header nav a {
  white-space: nowrap;
}

/* B4：移动端菜单（v2：panel+backdrop 挂 body；z 序 backdrop(30) < panel(35) < header(50)） */
.mobile-nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 30;
  background: rgba(30, 26, 24, 0.45);
}
.mobile-nav-backdrop.open {
  display: block;
}
.mobile-nav-panel {
  display: none;
}
.mobile-nav-panel.open {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 35;
  background: #fff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  padding: 84px 20px 20px;
  gap: 2px;
  max-height: 85vh;
  overflow-y: auto;
}
.mobile-nav-panel a {
  display: block;
  padding: 13px 12px;
  font-size: 16px;
  font-weight: 600;
  color: #3c3c3b;
  border-bottom: 1px solid #f2f0ec;
  text-decoration: none;
}
.mobile-nav-panel a:last-child {
  border-bottom: 0;
}

/* B4 同族：桌面 nav 只在 lg+ 出现，小屏隐藏（底座原样式由 chunk 提供，这里雙保险） */
@media (max-width: 1023px) {
  header.hidden.lg\:block {
    display: none !important;
  }
}

/* v09r1 五列主菜单（批注图 P1） */
.site-nav > .nav-group { position: relative; }
.site-nav > .nav-group > .nav-top { display: block; white-space: nowrap; }
.nav-caret { font-size: 9px; margin-left: 6px; opacity: .55; }
.nav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 232px;
  padding: 10px 0;
  background: #fff;
  border-top: 3px solid #9E1422;
  box-shadow: 0 16px 36px rgba(30, 26, 24, 0.16);
  z-index: 60;
}
.nav-group:hover > .nav-dropdown,
.nav-group:focus-within > .nav-dropdown,
.nav-group.open > .nav-dropdown { display: block; }
.nav-dropdown a {
  display: block;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 500;
  color: #3C3C3B;
  white-space: nowrap;
  text-decoration: none;
}
.nav-dropdown a:hover { background: #FAF7F5; color: #9E1422; }
.mobile-nav-group-label {
  padding: 16px 12px 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9E1422;
  border-bottom: 1px solid #F2F0EC;
}

/* v09r1 Hero GIF 轮播（鼎石形态；3 张本地 GIF 交叉淡入） */
.hero-gif-cycle { overflow: hidden; }
.hero-gif-cycle .hero-gif {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.1s ease-in-out;
}
.hero-gif-cycle .hero-gif.active { opacity: 1; }
.hero-gif-cycle > .absolute { z-index: 1; }

/* v09r1 This is HFLA 第二屏 */
.video-play-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9999px;
  color: #D30013;
  font-size: 13px;
  padding-left: 2px;
}
.video-play-btn { color: #7E1019; }
.video-play-btn:hover { color: #7E1019; }

/* v09r2 本地品牌片弹窗（z 序照 v08b4：backdrop(30) < panel(35) < header(50)） */
.video-modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 30;
  background: rgba(20, 16, 14, 0.78);
}
.video-modal-panel {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 35;
  align-items: center;
  justify-content: center;
  padding: 140px 24px 40px;
  pointer-events: none; /* 面板本身不挡 backdrop；frame/关闭钮单独恢复 */
}
.video-modal-backdrop.open,
.video-modal-panel.open { display: flex; }
.video-modal-frame {
  pointer-events: auto;
  width: min(960px, 100%);
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}
.video-modal-frame video { display: block; width: 100%; height: 100%; background: #000; object-fit: contain; }
.video-modal-close {
  position: absolute;
  top: 150px;
  right: 28px;
  z-index: 36;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 9999px;
  background: #fff;
  color: #3C3C3B;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
@media (max-width: 1023px) {
  .video-modal-panel { padding: 72px 12px 24px; }
  .video-modal-close { top: 64px; right: 14px; width: 40px; height: 40px; font-size: 24px; }
}

/* v09r2 B7：补德威领养 CSS 缺失的任意透明度类（text-white/85 等） */
.text-white\/70 { color: #ffffffb3; }
.text-white\/85 { color: #ffffffd9; }
.border-white\/70 { border-color: #ffffffb3; }
.from-black\/35 {
  --tw-gradient-from: #00000059 var(--tw-gradient-from-position);
  --tw-gradient-to: #0000 var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-black\/25 {
  --tw-gradient-to: #0000 var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #00000040 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-black\/45 { --tw-gradient-to: #00000073 var(--tw-gradient-to-position); }

/* v09r2 B9：资质行 6 标统一高度（h-12 + 白底 p-2），横向仍 flex-wrap */
footer [aria-label="Accreditations"] img { margin-right: 0; margin-bottom: 0; }

/* v09r2 B10：373 数字条移动端解固定宽（原 1270x720 使 375 只见左块） */
@media (max-width: 1023px) {
  .pin-spacer > .h-screen {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 100vh;
    padding: 72px 0;
  }
  .achv-capsule { max-width: 100%; padding-left: 2rem; padding-right: 2rem; }
  .achv-num-box { width: auto !important; min-width: 180px; max-width: 100%; }
  .achv-caption-box { height: auto !important; }
  .achv-caption-box > p { position: relative !important; left: auto !important; right: auto !important; text-align: center !important; }
}

/* v09r2 B9b：认证标行间距（adopted CSS 无 gap-x 与 gap-y 类，落地为真实间距） */
footer [aria-label="Accreditations"] { column-gap: 2rem; row-gap: 1rem; align-items: flex-start; }

/* v09r2 K27：全站死类补齐（仅补 demo/*.html class 属性中缺失且有明确语义的类） */
.text-\[\#6B6560\] { color: #6B6560; }
.bg-\[\#E3D9D1\] { background-color: #E3D9D1; }
.text-\[\#7E1019\] { color: #7E1019; }
.hover\:bg-\[\#F6E9E4\]:hover { background-color: #F6E9E4; }
.gap-x-8 { column-gap: 2rem; }
.gap-y-4 { row-gap: 1rem; }
.items-left { align-items: flex-start; }
.justify-left { justify-content: flex-start; }
.w-px { width: 1px; }
.pl-5 { padding-left: 1.25rem; }
.w-\[180px\] { width: 180px; }
.md\:bottom-\[20\%\] { bottom: 20%; }
.first\:mt-0:first-child { margin-top: 0; }
.object-fit { object-fit: cover; }
.block-container { display: block; }
.d-none { display: none; }
@media (min-width: 640px) { .sm\:px-14 { padding-left: 3.5rem; padding-right: 3.5rem; } }
@media (min-width: 768px) { .md\:bottom-\[20\%\] { bottom: 20%; } }
@media (min-width: 1024px) {
  .lg\:ml-auto { margin-left: auto; }
  .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
}
@media (min-width: 1280px) { .xl\:grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.text-\[17px\] { font-size: 17px; }
.text-\[26px\] { font-size: 26px; }
@media (min-width: 1536px) {
  [class~="2xl:text-[22px]"] { font-size: 22px; }
  [class~="2xl:leading-[32px]"] { line-height: 32px; }
  [class~="2xl:text-[30px]"] { font-size: 30px; }
  [class~="2xl:min-h-[900px]"] { min-height: 900px; }
  [class~="2xl:mt-[7%]"] { margin-top: 7%; }
}

/* v09r3 批次 E：Aspirants（dl-life 形态） */
.story-tag {
  padding: 8px 18px;
  background: #fff;
  border: 1px solid #E3D9D1;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #3C3C3B;
  cursor: pointer;
  transition: all .2s ease;
}
.story-tag:hover, .story-tag.active { background: #9E1422; border-color: #9E1422; color: #fff; }
.read-more-btn { border: 1px solid #D30013; }
.read-more-btn:hover { background: #D30013; color: #fff; }
/* v09r4 SF-F：Load More 禁用态——不再是实心红钮（灰化 + 虚线描边 + 降透明 + not-allowed） */
.load-more-btn,
.load-more-btn:disabled {
  background: #F2EDE9;
  color: #6B6560;
  border: 1px dashed #C9BDB2;
  font-weight: 700;
  padding: 12px 34px;
  border-radius: 8px;
  opacity: .65;
  cursor: not-allowed;
  box-shadow: none;
  -webkit-text-fill-color: #6B6560;
}
.story-body p { margin-bottom: 1.25rem; }
.max-w-\[820px\] { max-width: 820px; }
.max-w-\[760px\] { max-width: 760px; }

/* v09r3 批次 E：占位页角标 / TEDx 轮播箭头 */
.coming-badge {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 9999px;
  background: #F6E9E4;
  color: #9E1422;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.tedx-arrow {
  width: 40px; height: 40px; border: 1px solid #E3D9D1; border-radius: 8px;
  background: #fff; color: #3C3C3B; font-size: 24px; line-height: 1; cursor: pointer;
}
.tedx-arrow:hover { border-color: #9E1422; color: #9E1422; }
.coming-btn {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid #D30013;
  border-radius: 8px;
  color: #9E1422;
  font-size: 13px;
  font-weight: 600;
}
.max-w-\[880px\] { max-width: 880px; }
.h-\[190px\] { height: 190px; }
.leading { line-height: 1.5; }

/* ===== v09r4 批次 F：SF-G 移动面包屑不折行、不挂孤立 › =====
   375 下改为单行横向可滑（末级长标题省略号收尾），行首不再出现孤立分隔符 */
@media (max-width: 1023px) {
  nav[aria-label="Breadcrumb"] { overflow: hidden; }
  nav[aria-label="Breadcrumb"] ol {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }
  nav[aria-label="Breadcrumb"] ol::-webkit-scrollbar { display: none; }
  nav[aria-label="Breadcrumb"] li { flex: 0 0 auto; min-width: 0; }
  nav[aria-label="Breadcrumb"] li > a,
  nav[aria-label="Breadcrumb"] li > span { white-space: nowrap; }
  nav[aria-label="Breadcrumb"] li:last-child { max-width: 58vw; overflow: hidden; }
  nav[aria-label="Breadcrumb"] li:last-child > span {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ===== v09r4 批次 F：SF-H TEDx 移动端保持横向轮播（375 不再单列堆叠）===== */
@media (max-width: 767px) {
  [data-tedx-track] {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  [data-tedx-track]::-webkit-scrollbar { display: none; }
  [data-tedx-track] > * {
    flex: 0 0 100%;
    min-width: 100%;
    scroll-snap-align: start;
  }
}
