/**
 * Swiper 12.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 29, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */

.smu-banner-cms {
  --smu-banner-bg: #0f1412;
  --smu-banner-surface: #161c19;
  --smu-banner-ink: #f4f1ea;
  --smu-banner-muted: #b7c0bb;
  --smu-banner-accent: #c45c26;
  --smu-banner-accent-ink: #fffaf4;
  /* 共用磨玻璃轨道（包住全部 tab） */
  --smu-banner-tab-track: rgba(244, 241, 234, 0.12);
  --smu-banner-tab-track-border: rgba(244, 241, 234, 0.2);
  --smu-banner-tab-idle: transparent;
  --smu-banner-tab-active: #f4f1ea;
  --smu-banner-progress-track: rgba(244, 241, 234, 0.22);
  --smu-banner-progress-fill: #c45c26;
  --smu-banner-shell-border: rgba(244, 241, 234, 0.1);
  /* 当前 slide 主题色；运行时按列表顺序循环覆盖（非持久化字段） */
  --smu-banner-slide-accent: #002147;
  --smu-banner-pad: 24px;
  --smu-banner-gap: 16px;
  --smu-banner-radius: 18px;
  --smu-banner-heading: clamp(1.5rem, 2.4vw, 2.25rem);
  --smu-banner-body: 0.95rem;
  --smu-banner-caption: 0.75rem;
}

/* Product details — aligned with Vue views/productDetails */

.product-details-page {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(12px, 2vw, 24px) clamp(10px, 2vw, 16px) clamp(32px, 4vw, 48px);
  box-sizing: border-box;
}

.product-details-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: clamp(14px, 2vw, 20px);
  font-size: clamp(12px, 1.1vw, 13px);
  color: #888;
}

.product-details-breadcrumb a {
  color: var(--color-vue-teal, #2a8f82);
  text-decoration: none;
}

.product-details-breadcrumb a:hover {
  text-decoration: underline;
}

.product-details-breadcrumb__sep {
  color: #ccc;
}

.product-details-main {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

.product-details-gallery {
  width: 100%;
}

.product-details-gallery__frame {
  width: 100%;
}

.product-details-gallery__main {
  position: relative;
  width: 100%;
  aspect-ratio: 210 / 297;
  border: 1px solid #e5ebe9;
  border-radius: 8px;
  background: #fafcfb;
  overflow: visible;
}

.product-details-gallery__main-stage {
  position: relative;
  width: 100%;
  height: 100%;
  perspective: 1200px;
  border-radius: inherit;
  overflow: hidden;
  background: #fafcfb;
}

.product-details-gallery__flip-layer {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.product-details-gallery__flip-layer--static {
  position: absolute;
  inset: 0;
}

.product-details-gallery__flip-layer--outgoing {
  z-index: 2;
}

.product-details-gallery__flip-layer--incoming {
  z-index: 1;
}

.product-details-gallery__flip-layer--out-next {
  transform-origin: 100% 50%;
  animation: product-gallery-flip-out-next 450ms ease-out forwards;
}

.product-details-gallery__flip-layer--in-next {
  transform-origin: 100% 50%;
  animation: product-gallery-flip-in-next 450ms ease-out forwards;
}

.product-details-gallery__flip-layer--out-prev {
  transform-origin: 0% 50%;
  animation: product-gallery-flip-out-prev 450ms ease-out forwards;
}

.product-details-gallery__flip-layer--in-prev {
  transform-origin: 0% 50%;
  animation: product-gallery-flip-in-prev 450ms ease-out forwards;
}

@keyframes product-gallery-flip-out-next {
  from {
    transform: rotateY(0deg);
    opacity: 1;
  }
  to {
    transform: rotateY(-140deg);
    opacity: 0.85;
  }
}

@keyframes product-gallery-flip-in-next {
  from {
    transform: rotateY(140deg);
    opacity: 0.85;
  }
  to {
    transform: rotateY(0deg);
    opacity: 1;
  }
}

@keyframes product-gallery-flip-out-prev {
  from {
    transform: rotateY(0deg);
    opacity: 1;
  }
  to {
    transform: rotateY(140deg);
    opacity: 0.85;
  }
}

@keyframes product-gallery-flip-in-prev {
  from {
    transform: rotateY(-140deg);
    opacity: 0.85;
  }
  to {
    transform: rotateY(0deg);
    opacity: 1;
  }
}

.product-details-gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(50, 158, 140, 0.82);
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.18);
  transition: opacity 0.2s ease, background 0.2s ease;
}

.product-details-gallery__nav:hover:not(:disabled) {
  background: rgba(42, 143, 130, 0.95);
}

.product-details-gallery__nav:disabled {
  opacity: 0;
  pointer-events: none;
}

.product-details-gallery__nav--prev {
  left: 10px;
}

.product-details-gallery__nav--next {
  right: 10px;
}

.product-details-gallery__thumbs-wrap {
  width: 100%;
  --gallery-gap: 10px;
}

.product-details-gallery__thumbs-viewport {
  width: 100%;
  margin-top: 12px;
  overflow: hidden;
}

.product-details-gallery__thumbs-track {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 240ms ease-out;
  will-change: transform;
}

.product-details-gallery__thumbs {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 12px;
}

.product-details-gallery__thumbs--static {
  align-items: flex-start;
}

.product-details-gallery__thumb {
  position: relative;
  aspect-ratio: 210 / 297;
  flex: 0 0 var(--slot-width, calc((100% - 2 * var(--gallery-gap, 10px)) / 3));
  width: var(--slot-width, calc((100% - 2 * var(--gallery-gap, 10px)) / 3));
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  background: #fff;
  box-sizing: border-box;
}

.product-details-gallery__thumb.is-active {
  border-color: #329e8c;
}

.product-details-info {
  min-width: 0;
}

.product-details-info__title {
  margin: 0 0 10px;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  color: #222;
  line-height: 1.35;
}

.product-details-info__code {
  margin: 0 0 clamp(12px, 1.6vw, 16px);
  font-size: clamp(12px, 1.15vw, 14px);
  color: #666;
}

.product-details-info__price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 18px;
}

.product-details-info__price {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 700;
  color: var(--color-vue-teal, #2a8f82);
}

.product-details-info__price-old {
  font-size: 16px;
  color: #999;
  text-decoration: line-through;
}

.product-details-info__off {
  font-size: 13px;
  font-weight: 600;
  color: #b91c1c;
  background: #fef2f2;
  padding: 2px 8px;
  border-radius: 4px;
}

.product-details-info__specs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid #e5ebe9;
  border-radius: 8px;
  background: #fafcfb;
}

.product-details-info__spec-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-size: clamp(12px, 1.15vw, 14px);
  color: #555;
}

.product-details-info__spec-label {
  flex-shrink: 0;
  font-size: inherit;
  font-weight: 600;
  color: #444;
}

.product-details-info__spec-value {
  font-size: inherit;
  color: #333;
}

.product-details-info__qty {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.product-details-info__qty label {
  font-size: clamp(12px, 1.15vw, 14px);
  font-weight: 600;
  color: #444;
}

.product-details-info__qty-stepper {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.product-details-info__qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: none;
  background: #f5f5f5;
  color: #444;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}

.product-details-info__qty-btn:hover:not(:disabled) {
  background: #e8eeec;
  color: var(--color-vue-teal, #2a8f82);
}

.product-details-info__qty-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.product-details-info__qty-input {
  width: 48px;
  height: 36px;
  margin: 0;
  padding: 0;
  text-align: center;
  border: none;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-radius: 0;
  background: #fff;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  -moz-appearance: textfield;
  appearance: textfield;
}

.product-details-info__qty-input::-webkit-outer-spin-button,
.product-details-info__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.product-details-info__policy {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.6;
  color: #888;
  white-space: pre-wrap;
}

.product-details-info__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  margin-bottom: 16px;
}

.product-details-info__actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.product-details-info__actions-row--secondary {
  margin-top: 10px;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: clamp(6px, 1.5vw, 10px);
}

.product-details-info__actions-row--secondary > .product-details-info__btn,
.product-details-info__actions-row--secondary > .product-details-info__trial-block {
  flex: 1 1 0;
  min-width: 0;
}

.product-details-info__trial-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
}

.product-details-info__actions-row--secondary .product-details-info__btn {
  width: 100%;
  box-sizing: border-box;
  padding: 0 clamp(8px, 1.6vw, 18px);
  font-size: clamp(12px, 1.1vw, 14px);
  min-height: clamp(36px, 4.2vw, 42px);
  gap: clamp(4px, 0.8vw, 8px);
}

.product-details-info__actions-row--secondary .product-details-info__btn svg {
  width: clamp(15px, 1.4vw, 18px);
  height: clamp(15px, 1.4vw, 18px);
  flex-shrink: 0;
}

.product-details-info__trial-hint {
  margin: 0;
  padding-left: 2px;
  font-size: clamp(11px, 1vw, 12px);
  line-height: 1.4;
  color: #888;
}

.product-details-info__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: clamp(38px, 4.5vw, 42px);
  padding: 0 clamp(14px, 1.8vw, 18px);
  border-radius: 6px;
  font-size: clamp(13px, 1.2vw, 14px);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, opacity 0.2s;
  border: 1px solid transparent;
  font-family: inherit;
}

.product-details-info__btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.product-details-info__btn--primary {
  background: var(--color-vue-teal, #2a8f82);
  color: #fff;
  border-color: var(--color-vue-teal, #2a8f82);
}

.product-details-info__btn--primary:hover:not(:disabled) {
  background: #237a6f;
}

.product-details-info__btn--secondary {
  background: #fff;
  color: #333;
  border-color: #ddd;
}

.product-details-info__btn--secondary:hover:not(:disabled) {
  border-color: var(--color-vue-teal, #2a8f82);
  color: var(--color-vue-teal, #2a8f82);
}

.product-details-info__btn--ghost {
  background: transparent;
  color: #555;
  border-color: #e5ebe9;
}

.product-details-info__trial-player {
  margin-top: 18px;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #e5ebe9;
  border-radius: 8px;
  background: #fafcfb;
  box-sizing: border-box;
}

.product-details-info__trial-player-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.product-details-info__trial-player-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  line-height: 1.35;
  min-width: 0;
}

.product-details-info__trial-player-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #e5ebe9;
  border-radius: 6px;
  background: #fff;
  color: #666;
  cursor: pointer;
  font-family: inherit;
}

.product-details-info__trial-player-close:hover {
  border-color: var(--color-vue-teal, #2a8f82);
  color: var(--color-vue-teal, #2a8f82);
}

.product-details-info__btn.is-active {
  border-color: var(--color-vue-teal, #2a8f82);
  color: var(--color-vue-teal, #2a8f82);
  background: #eef7f5;
}

.product-preview-video-panel__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #0f0f0f;
  border-radius: 8px;
  overflow: hidden;
}

.product-preview-video-panel__tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.product-preview-video-panel__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  padding: 6px;
  border: 1px solid #e5ebe9;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.product-preview-video-panel__tab.is-empty {
  opacity: 0.55;
}

.product-preview-video-panel__tab.is-empty.is-active {
  opacity: 1;
}

.product-preview-video-panel__tab.is-active {
  border-color: var(--color-vue-teal, #2a8f82);
  box-shadow: 0 0 0 1px var(--color-vue-teal, #2a8f82);
  background: #eef7f5;
}

.product-preview-video-panel__tab-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-preview-video-panel__empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 16px;
  color: #888;
}

.product-preview-video-panel__play-trigger {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(15, 15, 15, 0.72);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
}

.product-preview-video-panel__play-trigger:hover:not(:disabled) {
  background: rgba(15, 15, 15, 0.85);
}

.product-preview-video-panel__play-trigger:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.product-preview-video-panel__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.product-preview-video-panel__fallback {
  margin: 10px 0 0;
  font-size: 13px;
  text-align: right;
}

.product-preview-video-panel__fallback a {
  color: var(--color-vue-teal, #2a8f82);
  text-decoration: underline;
}

.product-details-tabs {
  margin-top: clamp(28px, 4vw, 40px);
  border: 1px solid #e5ebe9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.product-details-tabs__nav {
  display: flex;
  border-bottom: 1px solid #e5ebe9;
  background: #fafcfb;
}

.product-details-tabs__tab {
  flex: 1;
  min-height: clamp(36px, 4.5vw, 42px);
  padding: 0 clamp(10px, 1.5vw, 14px);
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  font-size: clamp(13px, 1.25vw, 15px);
  font-weight: 600;
  color: #666;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.2s, border-color 0.2s;
}

.product-details-tabs__tab.is-active {
  color: var(--color-vue-teal, #2a8f82);
  border-bottom-color: var(--color-vue-teal, #2a8f82);
  background: #fff;
}

.product-details-tabs__panel {
  padding: clamp(12px, 2vw, 16px);
}

/* 乐谱详情 / 乐谱介绍：内容区略收窄，表格更紧凑 */
.product-details-tabs__content {
  width: 100%;
  max-width: min(100%, 520px);
}

.product-details-meta-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.product-details-meta-table th,
.product-details-meta-table td {
  padding: clamp(5px, 0.9vw, 7px) clamp(8px, 1.2vw, 10px);
  border-bottom: 1px solid #eef2f1;
  text-align: left;
  font-size: clamp(12px, 1.1vw, 13px);
  line-height: 1.45;
  vertical-align: middle;
}

.product-details-meta-table th {
  width: 32%;
  color: #666;
  font-weight: 600;
  background: #fafcfb;
}

.product-details-meta-table td {
  color: #333;
  word-break: break-word;
}

.product-details-meta-table tr:last-child th,
.product-details-meta-table tr:last-child td {
  border-bottom: none;
}

.product-details-intro {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  white-space: pre-wrap;
}

.product-details-intro--empty {
  color: #999;
}

/* 收藏 / 加购未登录提示 — 对齐登录页忘记密码弹窗磨玻璃遮罩 + 白卡片 */
.product-details-auth-overlay[data-slot='dialog-overlay'] {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.product-details-auth-modal[data-slot='dialog-content'] {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 101;
  display: grid;
  width: calc(100% - 32px);
  max-width: 400px;
  margin: 0;
  padding: 28px 32px 24px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  background: #fff;
  box-shadow:
    0 24px 48px rgba(15, 23, 42, 0.2),
    0 8px 20px rgba(15, 23, 42, 0.12);
  color: #222;
  gap: 16px;
  isolation: isolate;
}

.product-details-auth-modal [data-slot='dialog-title'] {
  font-size: 18px;
  font-weight: 700;
  color: #222;
}

.product-details-auth-modal__message {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #666;
}

.product-details-auth-modal__footer {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  flex-direction: row;
  justify-content: flex-end;
  gap: 12px;
}

@media (max-width: 900px) {
  .product-details-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-details-gallery__frame {
    max-width: 420px;
    margin: 0 auto;
  }
}

@media (max-width: 560px) {
  /* 加入购物车 / 收藏夹：纵向满宽；试听/打印/分享保持同行等宽 */
  .product-details-info__actions-row:not(.product-details-info__actions-row--secondary) {
    flex-direction: column;
  }

  .product-details-info__actions-row:not(.product-details-info__actions-row--secondary)
    .product-details-info__btn {
    width: 100%;
  }

  .product-details-info__actions-row--secondary {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .product-details-info__actions-row--secondary .product-details-info__btn {
    width: 100%;
  }
}


.smu-banner-cms {
  width: 100%;
  color: var(--smu-banner-ink);
  font-family: Georgia, 'Times New Roman', serif;
}

.smu-banner-cms__shell {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  /* 对角渐变：品牌色混黑加深 → 品牌色本身（--smu-banner-slide-accent） */
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--smu-banner-slide-accent) 55%, #05070a 45%) 0%,
    color-mix(in srgb, var(--smu-banner-slide-accent) 85%, #05070a 15%) 55%,
    var(--smu-banner-slide-accent) 100%
  );
  border-radius: var(--smu-banner-radius);
  border: 1px solid var(--smu-banner-shell-border);
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 16px 48px rgba(15, 20, 18, 0.22);
}

/* home / preview：接近旧 hero 1200×620 占屏体量 */
.smu-banner-cms--home .smu-banner-cms__shell,
.smu-banner-cms--preview .smu-banner-cms__shell {
  aspect-ratio: 1200 / 620;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/*
 * 仅首页：通栏直角。高度跟视口走，1280×800 约 520–560px。
 * 不用 1200/620：通栏后会被宽度撑到 640px 以上。
 * ≤860px 在文末媒体查询里改成更矮的 clamp。
 */
.smu-banner-cms--home .smu-banner-cms__shell {
  position: relative;
  max-width: none;
  width: 100%;
  border-radius: 0;
  aspect-ratio: auto;
  height: clamp(26rem, 68vh, 35rem);
  overflow: hidden;
}

/* 页签浮在图上，避免壳顶留一条金色带。 */
.smu-banner-cms--home .smu-banner-cms__chrome {
  position: absolute;
  z-index: 6;
  top: 0;
  left: 0;
  right: 0;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem 0;
}

.smu-banner-cms--home .smu-banner-cms__arrow {
  width: 1.75rem;
  height: 1.75rem;
}

.smu-banner-cms--home .smu-banner-cms__marquee {
  padding: 0.5rem 0;
  font-size: 0.75rem;
}

/*
 * 分类/搜索页：贴合旧 .category-carousel 的 870/288 槽位，随可用宽度自适应，
 * 不要跟 home 的 1200/620 一起拉高。shell 用 flex 把 chrome/body/marquee
 * 收进这个比例里，避免媒体区 16/10 把整块撑到约 878px 再被外壳裁切。
 */
.smu-banner-cms--embedded .smu-banner-cms__shell {
  box-sizing: border-box;
  border-radius: 12px;
  aspect-ratio: 870 / 288;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.smu-banner-cms__chrome {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px var(--smu-banner-pad) 0;
  flex-shrink: 0;
}

/* ABRSM 式：全部 slide tab 坐在同一条半透明磨玻璃大胶囊里 */
.smu-banner-cms__tabs {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
  width: fit-content;
  max-width: calc(100% - 160px);
  flex: 0 1 auto;
  padding: 4px;
  border-radius: 999px;
  background: var(--smu-banner-tab-track);
  border: 1px solid var(--smu-banner-tab-track-border);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset;
}

/* 选中态实心胶囊：绝对定位，在 tab 间平滑滑动 */
.smu-banner-cms__tab-pill {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 0;
  border-radius: 999px;
  background: var(--smu-banner-tab-active);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  z-index: 0;
  transition:
    transform 0.35s ease,
    width 0.35s ease;
}

.smu-banner-cms__tab {
  position: relative;
  z-index: 1;
  border: 0;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: var(--smu-banner-caption);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: transparent;
  color: var(--smu-banner-ink);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.35s ease;
}

.smu-banner-cms__tab.is-active {
  background: transparent;
  color: var(--smu-banner-bg);
  box-shadow: none;
}

/*
 * 桌面首页：壳高约 520–560px，页签和箭头按这个高度放大。
 * ≤860px 不进这条，避免盖住手机上更紧的一档。
 */
@media (min-width: 861px) {
  .smu-banner-cms--home .smu-banner-cms__chrome {
    gap: 1rem;
    padding: 1rem 1.25rem 0;
  }

  .smu-banner-cms--home .smu-banner-cms__tabs {
    gap: 0.375rem;
    padding: 0.1875rem;
  }

  .smu-banner-cms--home .smu-banner-cms__tab-pill {
    top: 0.1875rem;
    bottom: 0.1875rem;
  }

  .smu-banner-cms--home .smu-banner-cms__tab {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.15;
  }

  .smu-banner-cms--home .smu-banner-cms__arrows {
    height: 2.375rem;
    gap: 0.5rem;
  }

  .smu-banner-cms--home .smu-banner-cms__arrow {
    width: 2.375rem;
    height: 2.375rem;
  }

  .smu-banner-cms--home .smu-banner-cms__arrow svg {
    width: 1rem;
    height: 1rem;
  }

  .smu-banner-cms--home .smu-banner-cms__progress {
    width: clamp(8rem, 14vw, 16rem);
    min-width: clamp(8rem, 14vw, 16rem);
    height: 2.375rem;
    min-height: 2.375rem;
    gap: 0.375rem;
  }

  .smu-banner-cms--home .smu-banner-cms__progress-seg {
    height: 0.25rem;
  }
}

/* 右侧控件：裸露细线进度条（无外层胶囊）+ 圆形箭头 */
.smu-banner-cms__progress {
  display: flex;
  align-items: center;
  gap: 4px;
  /* 总宽随视口连续变化，不随 tab 数量变长；段内等分 */
  width: clamp(104px, calc(72px + 9vw), 200px);
  min-width: clamp(104px, calc(72px + 9vw), 200px);
  height: 36px;
  min-height: 36px;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.smu-banner-cms__progress-seg {
  position: relative;
  flex: 1;
  /* 线条保持细；360→1440 约 2.2px→4px，避免宽屏变成色块 */
  height: clamp(2px, calc(1.6px + 0.167vw), 4px);
  border: 0;
  padding: 0;
  border-radius: 2px;
  background: var(--smu-banner-progress-track);
  cursor: pointer;
  transition: background-color 0.35s ease;
}

/* 视觉高度仍是细线，点击区盖住 36px 行内的大部分 */
.smu-banner-cms__progress-seg::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 28px;
  transform: translateY(-50%);
}

/* 累计填充：索引 0..current 全部高亮（不是只亮当前一段） */
.smu-banner-cms__progress-seg.is-filled {
  background: var(--smu-banner-progress-fill);
}

/* 紧贴进度条右侧：描边圆形箭头（不新增图标库，内联 SVG） */
.smu-banner-cms__arrows {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.smu-banner-cms__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(244, 241, 234, 0.55);
  background: transparent;
  color: var(--smu-banner-ink);
  cursor: pointer;
}

.smu-banner-cms__arrow:hover {
  border-color: var(--smu-banner-ink);
  background: rgba(244, 241, 234, 0.08);
}

.smu-banner-cms__arrow:focus-visible {
  outline: 2px solid var(--smu-banner-accent);
  outline-offset: 2px;
}

.smu-banner-cms__body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: var(--smu-banner-gap);
  padding: var(--smu-banner-pad);
  flex: 1;
  min-height: 0;
}

/*
 * DOM 顺序是 media → copy；home/preview 用 grid 放到「左文右图」，
 * 方便验证底图 + 文案 + 右侧小图堆叠（不改 JSX）。
 */
/* 桌面宽屏：左文 / 右媒体（图片堆叠或视频）约 1:1，与 mediaType 无关 */
.smu-banner-cms--home .smu-banner-cms__body,
.smu-banner-cms--preview .smu-banner-cms__body {
  grid-template-columns: 1fr 1fr;
}

.smu-banner-cms--home .smu-banner-cms__body {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  gap: 0;
}

.smu-banner-cms--home .smu-banner-cms__copy {
  padding: 1.5rem;
}

/*
 * 左文右图。copy 里始终有空的 __ctas，:empty 匹配不到无文案帧。
 * 不用 :has(:not(:has()))：嵌套 :has 会让整条规则失效。
 * 没有标题/按钮/描述等可见块时收成单列，避免左半空白。
 */
.smu-banner-cms--home .smu-banner-cms__body:has(.smu-banner-cms__copy:empty),
.smu-banner-cms--home .smu-banner-cms__body:not(:has(
  .smu-banner-cms__heading,
  .smu-banner-cms__cta,
  .smu-banner-cms__desc,
  .smu-banner-cms__badge,
  .smu-banner-cms__chip,
  .smu-banner-cms__steps,
  .smu-banner-cms__table
)) {
  grid-template-columns: 1fr;
}

.smu-banner-cms--home .smu-banner-cms__body:has(.smu-banner-cms__copy:empty) .smu-banner-cms__copy,
.smu-banner-cms--home .smu-banner-cms__copy:not(:has(
  .smu-banner-cms__heading,
  .smu-banner-cms__cta,
  .smu-banner-cms__desc,
  .smu-banner-cms__badge,
  .smu-banner-cms__chip,
  .smu-banner-cms__steps,
  .smu-banner-cms__table
)) {
  display: none;
}

.smu-banner-cms--home .smu-banner-cms__copy,
.smu-banner-cms--preview .smu-banner-cms__copy {
  grid-column: 1;
  grid-row: 1;
}

.smu-banner-cms--home .smu-banner-cms__media,
.smu-banner-cms--preview .smu-banner-cms__media {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: auto;
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

.smu-banner-cms--home .smu-banner-cms__media {
  width: 100%;
  min-width: 0;
}

.smu-banner-cms--home .smu-banner-cms__body:has(.smu-banner-cms__copy:empty) .smu-banner-cms__media,
.smu-banner-cms--home .smu-banner-cms__body:not(:has(
  .smu-banner-cms__heading,
  .smu-banner-cms__cta,
  .smu-banner-cms__desc,
  .smu-banner-cms__badge,
  .smu-banner-cms__chip,
  .smu-banner-cms__steps,
  .smu-banner-cms__table
)) .smu-banner-cms__media {
  grid-column: 1;
}

.smu-banner-cms--embedded .smu-banner-cms__body {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr);
  padding: 8px 12px 12px;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
}

.smu-banner-cms__media {
  position: relative;
  min-height: 280px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--smu-banner-surface);
  aspect-ratio: 16 / 10;
}

.smu-banner-cms--embedded .smu-banner-cms__media {
  grid-column: 1;
  grid-row: 1;
  aspect-ratio: auto;
  min-height: 0;
  height: 100%;
  align-self: stretch;
}

/* 紧凑布局：文案与媒体叠在同一格，浮在图上，不再单独占一行高度 */
.smu-banner-cms--embedded .smu-banner-cms__copy {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: start;
  z-index: 5;
  max-width: min(48%, 380px);
  max-height: 46%;
  overflow: auto;
  padding: 8px 10px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}

.smu-banner-cms--embedded .smu-banner-cms__copy:not(:has(.smu-banner-cms__heading, .smu-banner-cms__cta, .smu-banner-cms__desc, .smu-banner-cms__badge, .smu-banner-cms__chip, .smu-banner-cms__steps, .smu-banner-cms__table)) {
  display: none;
}

.smu-banner-cms--embedded .smu-banner-cms__heading {
  font-size: clamp(1.05rem, 1.8vw, 1.45rem);
}

.smu-banner-cms__stack,
.smu-banner-cms__video,
.smu-banner-cms__poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.smu-banner-cms__stack-layer {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.smu-banner-cms__stack-layer:nth-child(1) { z-index: 1; }
.smu-banner-cms__stack-layer:nth-child(2) {
  z-index: 2;
  inset: auto 8% 10% auto;
  width: 42%;
  height: 52%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
.smu-banner-cms__stack-layer:nth-child(3) {
  z-index: 3;
  inset: auto auto 14% 8%;
  width: 28%;
  height: 36%;
  border-radius: 10px;
  overflow: hidden;
}
.smu-banner-cms__stack-layer:nth-child(4) {
  z-index: 4;
  inset: 10% 10% auto auto;
  width: 22%;
  height: 28%;
  border-radius: 8px;
  overflow: hidden;
}

/* 首页图贴齐壳内区域。叠图小卡的圆角也收掉，避免主图四角露底。 */
.smu-banner-cms--home .smu-banner-cms__media,
.smu-banner-cms--home .smu-banner-cms__media img,
.smu-banner-cms--home .smu-banner-cms__media *,
.smu-banner-cms--home .smu-banner-cms__poster,
.smu-banner-cms--home .smu-banner-cms__video,
.smu-banner-cms--home [class*="stack"] {
  border-radius: 0;
}

.smu-banner-cms--home .smu-banner-cms__media,
.smu-banner-cms--home .smu-banner-cms__media img,
.smu-banner-cms--home .smu-banner-cms__poster,
.smu-banner-cms--home .smu-banner-cms__video,
.smu-banner-cms--home .smu-banner-cms__stack {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.smu-banner-cms__floating {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 6;
  background: rgba(15, 20, 18, 0.82);
  color: var(--smu-banner-ink);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: var(--smu-banner-caption);
}

.smu-banner-cms__copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.smu-banner-cms__heading {
  margin: 0;
  font-size: var(--smu-banner-heading);
  line-height: 1.15;
  font-weight: 600;
}

.smu-banner-cms__badge {
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--smu-banner-accent);
  color: var(--smu-banner-accent-ink);
  font-size: var(--smu-banner-caption);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.smu-banner-cms__desc {
  margin: 0;
  color: var(--smu-banner-muted);
  font-size: var(--smu-banner-body);
  line-height: 1.55;
  font-family: system-ui, sans-serif;
}

.smu-banner-cms__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.smu-banner-cms__chip {
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(244, 241, 234, 0.16);
  font-size: var(--smu-banner-caption);
  font-family: system-ui, sans-serif;
}

.smu-banner-cms__steps,
.smu-banner-cms__table {
  font-family: system-ui, sans-serif;
  font-size: var(--smu-banner-caption);
  color: var(--smu-banner-muted);
}

.smu-banner-cms__step.is-highlight {
  color: var(--smu-banner-ink);
}

.smu-banner-cms__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}

.smu-banner-cms__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none;
  font-family: system-ui, sans-serif;
  font-size: 0.85rem;
  cursor: pointer;
  border: 1px solid transparent;
}

.smu-banner-cms__cta--solid-accent {
  background: var(--smu-banner-accent);
  color: var(--smu-banner-accent-ink);
}

.smu-banner-cms__cta--outline-dark {
  background: transparent;
  color: var(--smu-banner-ink);
  border-color: var(--smu-banner-ink);
}

.smu-banner-cms__marquee {
  overflow: hidden;
  border-top: 1px solid rgba(244, 241, 234, 0.12);
  padding: 10px 0;
  font-family: system-ui, sans-serif;
  font-size: var(--smu-banner-caption);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.smu-banner-cms__marquee-track {
  display: flex;
  width: max-content;
  animation: smu-banner-marquee 22s linear infinite;
}

.smu-banner-cms__marquee-item {
  padding: 0 18px;
  color: var(--smu-banner-muted);
  white-space: nowrap;
}

@keyframes smu-banner-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .smu-banner-cms__marquee-track {
    animation: none;
  }

  .smu-banner-cms__tab-pill,
  .smu-banner-cms__progress-seg,
  .smu-banner-cms__tab {
    transition: none;
  }
}

.smu-banner-cms__empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--smu-banner-muted);
}

@media (max-width: 860px) {
  .smu-banner-cms--home .smu-banner-cms__shell,
  .smu-banner-cms--preview .smu-banner-cms__shell {
    aspect-ratio: auto;
  }

  .smu-banner-cms--home .smu-banner-cms__shell {
    height: clamp(12rem, 36vh, 20rem);
  }

  /* 窄屏下 870/288 会把 chrome 挤得太扁，改用 16/9；高度仍远低于桌面 home */
  .smu-banner-cms--embedded .smu-banner-cms__shell {
    aspect-ratio: 16 / 9;
  }

  .smu-banner-cms__body {
    grid-template-columns: 1fr;
  }

  .smu-banner-cms--home .smu-banner-cms__copy,
  .smu-banner-cms--home .smu-banner-cms__media,
  .smu-banner-cms--preview .smu-banner-cms__copy,
  .smu-banner-cms--preview .smu-banner-cms__media {
    grid-column: auto;
    grid-row: auto;
  }

  .smu-banner-cms--home .smu-banner-cms__media,
  .smu-banner-cms--preview .smu-banner-cms__media {
    aspect-ratio: 16 / 10;
    min-height: 200px;
  }

  .smu-banner-cms__chrome {
    flex-direction: column;
    align-items: stretch;
  }

  .smu-banner-cms__tabs {
    max-width: 100%;
    width: 100%;
  }

  .smu-banner-cms__progress {
    margin-left: 0;
    /* 列布局里 flex:1 会把 36px 行高压成线段高度，窄屏点不中 */
    flex: 0 0 auto;
  }
}

/*
 * 手机宽（360/390）：五个中文页签若 wrap，轨道变两行，
 * 选中 pill 会按整轨高度变成大圆。强制单行并压紧，装不下才横滑。
 */
@media (max-width: 480px) {
  .smu-banner-cms__chrome {
    padding-left: 12px;
    padding-right: 12px;
  }

  .smu-banner-cms__tabs {
    flex-wrap: nowrap;
    gap: 2px;
    padding: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .smu-banner-cms__tabs::-webkit-scrollbar {
    display: none;
  }

  .smu-banner-cms__tab-pill {
    top: 3px;
    bottom: 3px;
  }

  .smu-banner-cms__tab {
    flex: 0 0 auto;
    padding: 5px 7px;
    font-size: 0.6875rem;
    letter-spacing: 0.02em;
  }
}

