.announcement-bar__sticky {
  inset-block-start: 0;
  z-index: var(--z-index-sticky);
  animation: animation-slide-in-top 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.announcement-bar__mode-always {
  position: sticky;
}
@media (min-width: 960px) {
  .announcement-bar__mode-desktop {
    position: sticky;
  }
}
@media (max-width: 959px) {
  .announcement-bar__mode-mobile {
    position: sticky;
  }
}
.announcement-bar__group {
  display: flex;
}
.announcement-bar__group-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  word-break: break-all;
  background-color: rgb(var(--color-background));
}
.announcement-bar__group-item-inner {
  position: relative;
  z-index: var(--z-index-active);
  display: inline-block;
}
.announcement-bar__group-item-inner .rte {
  font-weight: bold;
}
.announcement-bar__group-item-link,
.announcement-bar__group-item-link:empty {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.announcement-bar__group-item-divide-line::after {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: rgb(var(--color-entry-line));
}
.announcement-bar__group-tiled {
  flex-direction: column;
}
.announcement-bar__group-compact > .announcement-bar__group-item {
  flex: 1;
}
@media (max-width: 959px) {
  .announcement-bar__group-compact > .announcement-bar__group-item {
    flex: 0 0 100%;
  }
}
.announcement-bar__group-horizontal > .announcement-bar__group-item {
  flex: 0 0 100%;
}
.announcement-bar__carousel-vertical {
  position: relative;
  display: block;
  overflow: hidden;
}
.announcement-bar__carousel-vertical-fake {
  overflow: hidden;
  visibility: hidden;
}
.announcement-bar__carousel-vertical theme-carousel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.announcement-bar__carousel-vertical .announcement-bar__carousel-wrapper {
  height: 100%;
}
.announcement-bar__group-vertical {
  height: 100%;
}
.announcement-bar__group-vertical > * {
  height: 100%;
}
.announcement-bar__button-wrapper {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  height: 100%;
  transform: translateX(-50%);
}
.announcement-bar__button {
  position: absolute;
  inset-block-start: 50%;
  z-index: var(--z-index-hover);
  color: rgb(var(--color-text));
  cursor: pointer;
  background-color: transparent;
  border: none;
}
.announcement-bar__button[name="previous"] {
  inset-inline-start: 20px;
  transform: rotate(90deg) translateX(-35%);
}
@media (max-width: 959px) {
  .announcement-bar__button[name="previous"] {
    inset-inline-start: 10px;
  }
}
.announcement-bar__button[name="next"] {
  inset-inline-end: 20px;
  transform: rotate(-90deg) translateX(35%);
}
@media (max-width: 959px) {
  .announcement-bar__button[name="next"] {
    inset-inline-end: 10px;
  }
}
#shopline-section-sections--header-group__announcement-bar:not(
    .announcement-bar__sticky
  ) {
  position: relative;
}


/* ============================================
   走马灯模式样式 (Marquee) - 垂直版本
   ============================================ */

.announcement-bar__marquee {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    /* 需要设置高度 */
}

.announcement-bar__marquee-track {
    display: flex;
    flex-direction: column;
    /* 垂直排列 */
    animation: announcement-bar-marquee-scroll-vertical linear infinite;
    animation-duration: calc(var(--marquee-speed, 3) * 1s);
    will-change: transform;
}

/* 悬停时暂停 */
.announcement-bar__marquee:hover .announcement-bar__marquee-track {
    animation-play-state: paused;
}

/* 垂直走马灯动画 */
@keyframes announcement-bar-marquee-scroll-vertical {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-50%);
    }
}

/* 走马灯模式下的项目样式 - 垂直版本 */
.announcement-bar__marquee .announcement-bar__group-item {
    flex: 0 0 auto;
    width: 100%;
    /* 占满宽度 */
    min-height: 100%;
    /* 最小高度为容器高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.announcement-bar__marquee .announcement-bar__group-item:last-child::after {
    display: none;
}

/* 响应式调整 */
@media (max-width: 959px) {

    /* 移动设备上动画更快 */
    .announcement-bar__marquee .announcement-bar__marquee-track {
        animation-duration: calc(var(--marquee-speed, 3) * 1s);
    }
}

/* 单条内容时的样式（不需要滚动） */
.announcement-bar__marquee[data-single-item="true"] .announcement-bar__marquee-track {
    animation: none;
    justify-content: center;
    height: 100%;
}

.announcement-bar__marquee[data-single-item="true"] .announcement-bar__group-item::after {
    display: none;
}

/* 确保公告栏容器有固定高度 */
#shopline-section-sections--header-group__announcement-bar:has(.announcement-bar__marquee) {
    height: var(--announcement-bar-height, 30px);
    /* 默认高度 */
}

.announcement-bar__marquee-mode {
    height: 100%;
}