/** Shopify CDN: Minification failed

Line 66:12 Unexpected "{"
Line 66:21 Expected ":"
Line 66:28 Unexpected "{"
Line 71:12 Unexpected "{"
Line 71:21 Expected ":"
Line 79:12 Unexpected "{"
Line 79:21 Expected ":"
Line 85:12 Unexpected "{"
Line 85:21 Expected ":"
Line 91:12 Unexpected "{"
... and 17 more hidden warnings

**/
/* ==========================================================
 * 视口缩放约定（PC 局部适配 + Mobile 390 设计稿）
 * - PC：>1500 不缩放；≤1500 按 1500 宽稿；≤850 按 750 宽稿（--vp-s）
 * - Mobile UI：≤850 同时提供 --mb-vw = 100vw/390，尺寸用 calc(稿面px * var(--mb-vw))
 * ========================================================== */

:root {
  /* 默认：> 1500px，1 设计单位 = 1px */
  --vp-s: 1px;
  --vp-w: 1200px;
  --vp-m: 0 auto;
  --mb-vw-750: 1px;
  --mb-vw-720: 1px;
  --mb-vw: 1px;
  
  --title-color: #000000;
  --desc-color: #666666;
}

.vp-box {
  /* max-width: var(--vp-w); */
  max-width: calc(1200 * var(--vp-s));
  margin: var(--vp-m);
  width: 100%;
}

@media screen and (min-width: 2560px) {
  :root {
    --vp-s: calc(100vw / 2560);
    /* --vp-w: calc(100vw * var()) */
  }
}

@media screen and (max-width: 1500px) {
  :root {
    --vp-s: calc(100vw / 1500);
  }

  /* 850px < 宽 ≤ 1500px：内容区随 1500 基准缩放 */
  .vp-box {
    --vp-w: calc(1200 * var(--vp-s));
    --vp-m: 0 auto;
  }
}

/* Mobile fix: sale bar text + countdown two rows
   Usage: upload this CSS as an asset and load it after the original sale bar style,
   or paste it at the very end of the current <style> block. */

@media (max-width: 850px) {
  .section-{{ section.id }} {
    --ymvw: calc(100vw / 390);
    --sale-bar-height: calc(45 * var(--ymvw));
  }

  .section-{{ section.id }} .sale-slide-content {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: calc(12 * var(--ymvw));
    padding-left: calc(12 * var(--ymvw));
  }

  .section-{{ section.id }} .sale-text {
    flex: 1;
    gap: calc(12 * var(--ymvw));
    min-width: 0;
  }

  .section-{{ section.id }} .sale-text-label-viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
  }

  .section-{{ section.id }} .sale-text-label-track {
    width: max-content;
    max-width: none;
    gap: calc(16 * var(--ymvw));
    will-change: transform;
  }

  .section-{{ section.id }} .sale-text-label-viewport.is-marquee .sale-text-label-track {
    animation: sale-text-marquee-{{ section.id }} var(--sale-label-duration, 10s) linear infinite;
  }

  .section-{{ section.id }} .sale-text-label-viewport.is-marquee .sale-text-label-copy {
    display: block;
  }

  .section-{{ section.id }} .sale-countdown-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }

  .section-{{ section.id }} .sale-tab-countdown .spring-sale-countdown-wrapper {
    gap: calc(3 * var(--ymvw));
  }

  .section-{{ section.id }} .sale-tab-countdown .countdown-top {
    width: calc(32 * var(--ymvw));
    height: calc(30 * var(--ymvw));
    font-size: calc(16 * var(--ymvw));
    border-radius: calc(3 * var(--ymvw));
  }

  .section-{{ section.id }} .sale-tab-countdown .countdown-colon {
    font-size: calc(10 * var(--ymvw));
  }
}