/* Shared teaching selector; scoped to preserve existing page styles. */
.teaching-advisor-section { padding: 48px 20px; background: #f7f8fa; }
.product-advisor {
  max-width: 1170px; margin: 0 auto; padding: 32px;
  background: linear-gradient(145deg, #fff 65%, #fffbf2); border: 1px solid #e5e8ed; border-top: 3px solid #e6be7a; border-radius: 16px;
  box-shadow: 0 10px 30px rgba(50, 72, 106, .08); color: #263449;
  font-size: 15px; line-height: 1.7; text-align: left;
  position: relative; scroll-margin-top: calc(var(--site-header-h, 64px) + 60px);
}
.product-advisor [hidden] { display: none !important; }
.advisor-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 28px; }
.advisor-eyebrow { color: #97600d; font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.product-advisor h2 { font-size: clamp(22px, 2.5vw, 28px); color: #263449; line-height: 1.4; margin: 6px 0 10px; font-weight: 700; }
.product-advisor p { margin: 0; color: #596579; font-size: 14px; line-height: 1.8; }
.product-advisor .advisor-text-link { color: #354962; font-size: 14px; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.advisor-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.advisor-field { min-width: 0; }
.advisor-audience { max-width: 400px; margin-bottom: 24px; }
.advisor-personal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.advisor-field label { display: block; color: #263449; font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.advisor-field label span { color: #a36a13; font-size: 12px; margin-right: 6px; }
.advisor-field select {
  display: block; width: 100%; max-width: 100%; height: 48px; border: 1px solid #cbd3dd;
  border-radius: 8px; padding: 0 10px; font: inherit; font-size: 14px;
  color: #263449; background: #fff; cursor: pointer;
}
.advisor-field select:disabled { background: #f3f5f7; color: #737d8b; cursor: not-allowed; border-color: #e0e5eb; }
.advisor-field small { display: block; margin-top: 8px; font-size: 12px; line-height: 1.6; color: #667286; }
.product-advisor :is(select, a, button):focus-visible,
.teaching-lab-card a:focus-visible, .lab-quick-nav a:focus-visible { outline: 3px solid #c6811c; outline-offset: 4px; }
.advisor-result { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #f5f7fa; border: 1px solid #e8ecf1; padding: 24px; border-radius: 10px; }
.has-recommendation .advisor-result { background: #fff9ef; border-color: #efdbb9; }
.advisor-result-copy { min-width: 0; }
.advisor-result-label { font-size: 12px; color: #866029; }
.product-advisor h3 { font-size: 21px; line-height: 1.5; color: #263449; margin: 4px 0 8px; font-weight: 700; }
.product-advisor .advisor-result-note { font-size: 12px; color: #746348; margin-top: 10px; }
.advisor-button, .teaching-lab-card .teaching-lab-link {
  display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0;
  min-height: 46px; padding: 10px 20px; border-radius: 8px; background: #f5c26b;
  color: #283449; font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .18s ease;
}
.advisor-button:hover, .teaching-lab-card .teaching-lab-link:hover { background: #efb34e; color: #182638; }
.advisor-footer { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 16px; font-size: 12px; color: #667286; }
.advisor-footer button { flex-shrink: 0; min-height: 44px; padding: 4px 8px; background: none; border: none; color: #485b73; text-decoration: underline; text-underline-offset: 4px; font: inherit; cursor: pointer; }
.advisor-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.teaching-lab-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1170px; margin: 24px auto 0; padding: 28px 32px; border: 1px solid #dde4eb; border-radius: 12px; background: #fff; }
/* 机房版方案卡：轻色边与低对比底色，保持文字稳定。 */
.teaching-lab-card { border-left: 3px solid #809aaf; background: linear-gradient(125deg, #fff, #edf5ff); box-shadow: 0 8px 24px rgba(48, 78, 106, .08); transition: border-color .25s ease, box-shadow .25s ease; }

.teaching-lab-card:hover { border-left-color: #b58a42; box-shadow: 0 8px 24px rgba(38, 59, 80, .08); }
.teaching-lab-card .teaching-lab-kicker { display: block; font-size: 12px; color: #93621d; margin-bottom: 6px; }
.teaching-lab-card h3 { font-size: 22px; font-weight: 700; line-height: 1.5; color: #263449; margin: 0 0 8px; }
.teaching-lab-card p { font-size: 14px; color: #596579; line-height: 1.8; margin: 0; }
/* 机房版特色标签（2026-09-13：卡片改为特色介绍后新增） */
.teaching-lab-card .teaching-lab-tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 14px 0 0; list-style: none; }
.teaching-lab-card .teaching-lab-tags li { font-size: 12.5px; color: #3d4a5c; background: #f3f8fd; border: 1px solid #d7e3f0; border-radius: 999px; padding: 4px 12px; }
.teaching-lab-card .teaching-lab-more { margin-top: 12px; }
.teaching-lab-card .teaching-lab-more a { color: #94600e; text-decoration: none; white-space: nowrap; }
.teaching-lab-card .teaching-lab-more a:hover { color: #c6811c; text-decoration: underline; text-underline-offset: 4px; }
.teaching-lab-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.teaching-lab-tags span { border-radius: 5px; background: #f2f5f8; color: #4f6176; padding: 3px 10px; font-size: 12px; }
.product-advisor-wrap { padding: 117px 20px 40px; } /* product.html 无站点顶栏：页内标签栏约 77px，上下各留 40px 让选型卡片在深色带内垂直居中 */
.mobile-container { height: auto; min-height: 100vh; }
.lab-hero .btn { margin-top: 8px; }
.lab-hero .btn-light:hover { background: #efb34e; border-color: #efb34e; }
.lab-hero .lead { max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.8; }
.lab-hero ~ section[id] { scroll-margin-top: calc(var(--site-header-h, 64px) + 60px); }
.product-advisor-wrap ~ .content-section { padding-top: 40px; }
.nav-tab:focus-visible { outline: 3px solid #c6811c; outline-offset: -4px; }
.lab-quick-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; padding: 18px 20px; border-bottom: 1px solid #e4e8ee; background: #fff; }
.lab-quick-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #3d4e65; font-size: 14px; text-decoration: none; }
.lab-quick-nav a:hover { color: #94600e; text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 767px) {
  .teaching-advisor-section { padding: 28px 16px; }
  .product-advisor { padding: 22px 18px; }
  .advisor-heading { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 24px; }
  .advisor-fields { grid-template-columns: 1fr; gap: 18px; }
  .advisor-field select { font-size: 16px; }
  .advisor-result { flex-direction: column; align-items: stretch; padding: 18px; gap: 16px; }
  .advisor-footer { align-items: flex-start; gap: 12px; }
  .advisor-footer > span { flex: 1; }
  .teaching-lab-card { flex-direction: column; align-items: stretch; padding: 22px 18px; gap: 18px; }
  .product-advisor-wrap { padding: 117px 16px 40px; }
  .lab-quick-nav { gap: 4px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .advisor-button, .teaching-lab-card .teaching-lab-link { transition: none; }
  .teaching-lab-card { transition: none; }
  .teaching-lab-card:hover { transform: none; }
}

/* 本页导航：长页自动生成的章节导航（生成逻辑见 product-advisor.js 末尾）。
   .wrapper 的横向裁剪会让吸顶失效，改回 visible，横向溢出仍由 body 裁剪兜底。 */
.has-page-toc .wrapper { overflow-x: visible; }
.page-toc {
  position: sticky; top: var(--site-header-h, 64px); z-index: 8;
  display: flex; justify-content: center;
  padding: 12px 20px;
  border-bottom: 1px solid #e4e8ee;
  background: rgba(255, 255, 255, .88);
  -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%);
}
.page-toc-scroll { display: flex; gap: 26px; max-width: 100%; overflow-x: auto; scrollbar-width: thin; margin: 0 auto; }
.page-toc-scroll a { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; color: #3d4e65; font-size: 14px; text-decoration: none; white-space: nowrap; }
.page-toc-scroll a:hover { color: #94600e; text-decoration: underline; text-underline-offset: 6px; }
.page-toc-scroll a:focus-visible { outline: 3px solid #c6811c; outline-offset: 2px; }
.page-toc-scroll a[aria-current=location] { color: #94600e; font-weight: 600; }
.toc-target { scroll-margin-top: calc(var(--site-header-h, 64px) + 60px); }
/* lab_edition 手写导航同样吸顶并支持滚动高亮 */
.lab-quick-nav { position: sticky; top: var(--site-header-h, 64px); z-index: 8; background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); }
.lab-quick-nav a[aria-current=location] { color: #94600e; font-weight: 600; text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 767px) {
  .page-toc { padding: 10px 16px; }
  .page-toc-scroll { gap: 4px 18px; }
  /* 手机上单行滑动，避免换行撑高吸顶导航遮住标题 */
  .lab-quick-nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; justify-content: flex-start; }
  .lab-quick-nav a { flex-shrink: 0; }
}

/* 顶部菜单已换为深色吸顶站点导航（site-menu.css，参考 new/），旧的滚动吸顶规则随之移除。 */

/* 首屏入场节奏（借鉴 new/ 的阶梯上浮，只动节奏不碰文案）。
   轮播页（index/vip/desktop）模板自带显隐机制，但副标题 0.4s、标题 1.2s、
   按钮 2.5s 才入场过于拖沓——沿用机制，把节奏收紧。选择器需与模板同权重覆盖。 */
.home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content :is(.sub-title-box, .title-box, .desc-box, .btn-box) {
  transition-duration: .55s;
  transition-timing-function: cubic-bezier(.2, .8, .2, 1);
}
.home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content .sub-title-box { transition-delay: 0s; }
.home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content .title-box { transition-delay: .12s; }
.home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content .desc-box { transition-delay: .2s; }
.home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content .btn-box { transition-delay: .28s; }

/* versions 轮播居中标题、教育版 quote-hero、机房版 lab-hero 模板没有入场机制，补阶梯上浮 */
@keyframes hero-rise { from { opacity: 0; transform: translateY(16px); } }
.home-slider-area :is(h1, p.lead, .hero-eyebrow, .hero-tags),
.quote-hero :is(.quote-badge, h1, p.lead, .btn, .hero-eyebrow, .hero-tags),
.lab-hero :is(.lab-badge, h1, p.lead, .btn) {
  animation: hero-rise .55s cubic-bezier(.2, .8, .2, 1) both;
}
.home-slider-area :is(h1, .hero-eyebrow), .quote-hero :is(.quote-badge, .hero-eyebrow), .lab-hero .lab-badge { animation-delay: 0s; }
.home-slider-area p.lead, .quote-hero h1, .lab-hero h1 { animation-delay: .08s; }
.quote-hero p.lead, .lab-hero p.lead { animation-delay: .16s; }
.home-slider-area .hero-tags { animation-delay: .24s; }
.quote-hero .btn { animation-delay: .26s; }
.lab-hero p.lead:nth-of-type(2) { animation-delay: .24s; }
.lab-hero .btn { animation-delay: .32s; }
.quote-hero .hero-tags { animation-delay: .34s; }
@media (prefers-reduced-motion: reduce) {
  .home-slider-area :is(h1, p.lead, .hero-eyebrow, .hero-tags),
  .quote-hero :is(.quote-badge, h1, p.lead, .btn, .hero-eyebrow, .hero-tags),
  .lab-hero :is(.lab-badge, h1, p.lead, .btn) { animation: none; }
  .home-slider-area .home-slider-container .home-slider-wrapper.slider-default .slider-content-two-area .slider-content :is(.sub-title-box, .title-box, .desc-box, .btn-box) {
    transition-duration: .01ms;
    transition-delay: 0s;
  }
}

/* 首屏文案结构（借鉴 new/）：英文眉题 + 主标题后半句琥珀色 + ✓ 卖点标签行。
   轮播页的标签行套一层 .btn-box，借模板的显隐机制与按钮一同入场。 */
.hero-eyebrow { margin: 0 0 12px; color: #f5c26b; font-size: 13px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
.hero-accent { color: #f5c26b; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 20px 0 0; }
.hero-tags span { color: rgba(255, 255, 255, .88); font-size: 14px; }
.hero-tags span::before { content: '✓'; color: #f5c26b; font-weight: 700; margin-right: 7px; }
.text-center .hero-tags, .quote-hero .hero-tags { justify-content: center; }
