.journey-timeline {
  display: block;
  max-width: 100vw;
  overflow: hidden;
  background-color: var(--journey-timeline-background, transparent);
}

.journey-timeline .journey-timeline__heading {
  margin-bottom: 40px;
}

.journey-timeline .journey-timeline__subtitle {
  margin-top: 8px;
  opacity: 0.75;
}

/* 时间轴列表：轴线由列表的伪元素绘制 */
.journey-timeline .journey-timeline__list {
  position: relative;
}

.journey-timeline .journey-timeline__list::before {
  content: '';
  position: absolute;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background-color: var(--journey-timeline-line, #e8dcd8);
}

.journey-timeline .journey-timeline__item {
  position: relative;
}

/* 轴线上的圆点，与图文一起垂直居中 */
.journey-timeline .journey-timeline__item::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: var(--journey-timeline-accent, #f9608a);
  transform: translateY(-50%);
}

/* 图文左右并排 */
.journey-timeline .journey-timeline__item-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  box-sizing: border-box;
}

.journey-timeline .journey-timeline__body {
  flex: 1 1 auto;
  min-width: 0;
}

/* 图片区域 */
.journey-timeline .journey-timeline__media {
  flex: 0 0 auto;
  overflow: hidden;
}

.journey-timeline .journey-timeline__image {
  display: block;
  width: 100%;
}

/* 文字区域 */
.journey-timeline .journey-timeline__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.journey-timeline .journey-timeline__date {
  color: var(--journey-timeline-date-color, #f9608a);
  letter-spacing: 1px;
}

.journey-timeline .journey-timeline__tag {
  padding: 2px 8px;
  border-radius: 2px;
  color: var(--journey-timeline-tag-color, #f9608a);
  background-color: rgba(var(--color-foreground), 0.06);
  letter-spacing: 1px;
}

.journey-timeline .journey-timeline__item-title {
  margin: 6px 0 0;
  color: var(--journey-timeline-title-color, #222222);
}

.journey-timeline .journey-timeline__desc {
  margin: 0;
  color: var(--journey-timeline-description-color, #555555);
  word-break: break-word;
}

.journey-timeline .journey-timeline__highlight {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 4px 0 0;
  flex-wrap: wrap;
}

.journey-timeline .journey-timeline__highlight-value {
  font-size: 30px;
  line-height: 1.1;
  color: var(--journey-timeline-highlight-value-color, #f9608a);
}

.journey-timeline .journey-timeline__highlight-label {
  color: var(--journey-timeline-highlight-label-color, #555555);
}

.journey-timeline .journey-timeline__note {
  margin: 0;
  color: var(--journey-timeline-note-color, #777777);
}

.journey-timeline .journey-timeline__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: 4px;
  color: var(--journey-timeline-link-color, #f9608a);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.journey-timeline .journey-timeline__link:hover {
  opacity: 0.75;
}

.journey-timeline .journey-timeline__link--underline {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.journey-timeline .journey-timeline__link--button {
  min-height: 40px;
  padding: 10px 20px;
  border-radius: 4px;
  background-color: var(--journey-timeline-button-background, #222222);
}

/* 滚动进场动画（仅在 JS 生效后启用，保证无 JS 时内容可见） */
.journey-timeline.is-animated .journey-timeline__item {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.journey-timeline.is-animated .journey-timeline__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* PC 端（≥960px）：轴线居中，节点左右交替 */
@media (min-width: 960px) {
  .journey-timeline .journey-timeline__list::before {
    left: 50%;
  }

  .journey-timeline .journey-timeline__item::before {
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .journey-timeline .journey-timeline__list > * + * {
    margin-top: 56px;
  }

  .journey-timeline .journey-timeline__item-inner {
    width: 50%;
    padding-right: 56px;
  }

  .journey-timeline .journey-timeline__media {
    width: var(--journey-timeline-media-width, 35%);
  }

  .journey-timeline .journey-timeline__media--ratio-pc {
    aspect-ratio: var(--journey-timeline-media-ratio, auto);
  }

  .journey-timeline .journey-timeline__media--ratio-pc .journey-timeline__image {
    height: 100%;
    object-fit: cover;
  }

  /* 奇偶由模板算出并打在节点上，不依赖平台的 block 外层结构 */
  .journey-timeline--alternate .journey-timeline__item--right .journey-timeline__item-inner {
    margin-left: 50%;
    padding-right: 0;
    padding-left: 56px;
  }

  /* 图片始终在轴线外侧，文字紧贴轴线 */
  .journey-timeline--alternate .journey-timeline__item--right .journey-timeline__media {
    order: 2;
  }

  /* PC 端统一在左侧：轴线移到最左 */
  .journey-timeline--single .journey-timeline__list::before {
    left: 4px;
  }

  .journey-timeline--single .journey-timeline__item::before {
    left: 0;
    transform: translateY(-50%);
  }

  .journey-timeline--single .journey-timeline__item-inner {
    width: 100%;
    padding-right: 0;
    padding-left: 40px;
  }
}

/* 移动端（<960px）：轴线在左侧，所有节点同一侧 */
@media (max-width: 959px) {
  .journey-timeline .journey-timeline__heading {
    margin-bottom: 24px;
  }

  .journey-timeline .journey-timeline__list::before {
    left: 4px;
  }

  .journey-timeline .journey-timeline__item::before {
    left: 0;
  }

  .journey-timeline .journey-timeline__list > * + * {
    margin-top: 32px;
  }

  .journey-timeline .journey-timeline__item-inner {
    width: 100%;
    padding-left: 24px;
    gap: 12px;
  }

  .journey-timeline .journey-timeline__media {
    width: var(--journey-timeline-media-width-mobile, 96px);
  }

  .journey-timeline .journey-timeline__media--ratio-mobile {
    aspect-ratio: var(--journey-timeline-media-ratio-mobile, auto);
  }

  .journey-timeline .journey-timeline__media--ratio-mobile .journey-timeline__image {
    height: 100%;
    object-fit: cover;
  }

  /* 图文上下排列：把文字各部分提升为同级，图片才能插到中间 */
  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__item-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__body {
    display: contents;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__meta {
    order: 1;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__item-title {
    order: 3;
    margin-top: 0;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__desc {
    order: 4;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__highlight {
    order: 6;
    margin-top: 0;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__note {
    order: 7;
  }

  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__link {
    order: 8;
    margin-top: 0;
  }

  /* 图片默认在最上方，也可插到时间/标签下方或重点数字前面 */
  .journey-timeline .journey-timeline__item--mobile-stack .journey-timeline__media {
    order: 0;
  }

  .journey-timeline .journey-timeline__item--mobile-media-after-title .journey-timeline__media {
    order: 2;
  }

  .journey-timeline .journey-timeline__item--mobile-media-before-highlight .journey-timeline__media {
    order: 5;
  }

  .journey-timeline .journey-timeline__highlight-value {
    font-size: 24px;
  }
}
