/** Shopify CDN: Minification failed

Line 151:4 Unexpected "{"
Line 151:5 Expected identifier but found "%"
Line 151:69 Unexpected "{"
Line 151:70 Expected identifier but found "%"

**/
  /* --- 基础弹窗遮罩容器 --- */
  custom-quick-shop.custom-qshop-modal,
  .custom-qshop-modal {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 2000000000; /* 采用二十亿极高级别层级，留出最高物理上限 2147483647 给飞行动画体 */
    display: none; /* 🎯 默认物理隐藏，防止 DOM 剪切移动引起的瞬时渲染闪烁 */
    align-items: flex-end; /* 移动端默认自下而上弹出抽屉 */
    justify-content: center;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .custom-qshop-modal.is-open {
    display: flex; /* 🎯 仅在被唤起时设为 flex 显示 */
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .qshop-overlay {
    position: fixed; inset: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5) !important; z-index: 1 !important; cursor: pointer;
  }
  .qshop-container {
    position: relative; z-index: 2 !important; width: 100%; max-height: 90vh;
    background: #ffffff;
    border-radius: 20px 20px 0 0; /* 极致大圆角微交互设计 */
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex; flex-direction: column; overflow: hidden;
  }
  .custom-qshop-modal.is-open .qshop-container {
    transform: translateY(0);
  }
  .qshop-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 40px 16px;
    width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
  }
  .qshop-header-title {
    font-size: 16px;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0;
  }
  .qshop-close-btn {
    position: relative;
    background: transparent !important;
    border: none;
    padding: 0;
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111111;
  }
  .qshop-close-btn svg {
    width: 20px;
    height: 20px;
    stroke: #111111;
    stroke-width: 1.5;
  }

  /* 🎯 促销价格与折扣百分比系统样式 */
  .qshop-price-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
  }
  .qshop-price {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
  }
  .qshop-price.sale-price {
    color: #C60012 !important;
  }
  .qshop-compare-price {
    font-size: 14px;
    font-weight: 400;
    color: #8e8e93;
    text-decoration: line-through;
  }
  .qshop-discount-badge {
    background: #ffe5e5;
    color: #C60012;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-block;
    transform: scale(0.833); /* 🎯 突破浏览器12px最小字号限制，缩减为10px极致小巧标签 */
    transform-origin: left center;
  }
  .qshop-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    padding: 0;
  }
  .qshop-controls-wrapper {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    -webkit-overflow-scrolling: touch;
  }

  /* --------------------------------------------------------------------------
     📱 移动端网格形态重绘（对应列表卡片点击打开的图一规范：价格与详情独立分离）
     -------------------------------------------------------------------------- */
  @media (max-width: 1024px) {
    .custom-qshop-modal { align-items: flex-end; }
    .qshop-container { width: 100%; border-top-left-radius: 16px; border-top-right-radius: 16px; }
    .qshop-mobile-header { display: flex; flex-direction: column; margin-bottom: 20px; }
    
    .qshop-header-row { padding: 24px 24px 16px; }
    .qshop-controls-wrapper { padding: 0 10px 10px 10px; }
    
    /* 🎯 顶部横向滑块 - 外边缘借助父 wrapper 左右 10px padding 保持完美留白 */
    .qshop-media-scroller {
      display: flex; gap: 8px; overflow-x: auto;
      scroll-snap-type: x mandatory; margin: 0 0 16px 0;
      padding: 0; scrollbar-width: none;
    }
    .qshop-media-scroller::-webkit-scrollbar { display: none; }
    .qshop-media-item {
      scroll-snap-align: start; flex: 0 0 134.25px; width: 134.25px; height: 179px;
      border-radius: 8px; overflow: hidden; border: 2px solid transparent; background: #fbfbfb;
    }
    {% comment %} .qshop-media-item.is-active { border-color: tan; } {% endcomment %}
    .qshop-media-item img { width: 100%; height: 100%; object-fit: cover; }
    
    /* 🎯 标题长行截断与向下/向上 Chevron 箭头样式 */
    .qshop-meta-box { margin-bottom: 12px; }
    .qshop-title-row {
      display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%;
    }
    .qshop-title { font-size: 15px; font-weight: 600; line-height: 1.4; margin: 0; color: #111111; flex: 1; text-align: left; }
    .qshop-title.is-clamped { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; }
    .qshop-title-toggle {
      background: none; border: none; padding: 0; cursor: pointer; display: none;
      align-items: center; justify-content: center; width: 24px; height: 24px; color: #8e8e93; flex-shrink: 0;
    }
    .qshop-title-toggle svg { width: 16px; height: 16px; transition: transform 0.25s ease; }
    .qshop-title-toggle.is-expanded svg { transform: rotate(180deg); }
    
     /* 核心对齐：左侧显示销售价格，右侧独立渲染纯正英文 SEE DETAILS > 文本跳转键 */
    .qshop-info-split-row { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #f5f5f7; margin-bottom: 15px; }
    .qshop-details-link-btn { font-size: 12px; font-weight: 500; color: #000000; text-decoration: none; letter-spacing: 0.5px; border-bottom: 1px solid #000000; padding-bottom: 2px; white-space: nowrap; }
  }

  /* --------------------------------------------------------------------------
     💻 PC 端网格形态重绘（黄金分栏，多断点自适应防裁切与高品质视觉呈现）
     -------------------------------------------------------------------------- */
  @media (min-width: 1025px) {
    custom-quick-shop.custom-qshop-modal,
    .custom-qshop-modal {
      align-items: center;
      justify-content: center;
    }
    .qshop-container { 
      width: 760px; 
      max-width: 92vw;
      height: auto;
      max-height: 88vh;
      max-height: 88dvh;
      border-radius: 16px; 
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.16);
      transform: translateY(20px); 
      opacity: 0; 
      transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.35s ease;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .custom-qshop-modal.is-open .qshop-container {
      transform: translateY(0);
      opacity: 1;
    }
    
    .qshop-header-row {
      padding: 20px 32px 12px;
      flex-shrink: 0;
    }
    
    /* 🎯 PC 端内容主体开启自适应柔和滚动，杜绝小屏幕/笔记本截断 */
    .qshop-body {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: thin;
      scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    }
    .qshop-body::-webkit-scrollbar {
      width: 5px;
    }
    .qshop-body::-webkit-scrollbar-thumb {
      background: rgba(0, 0, 0, 0.15);
      border-radius: 4px;
    }
    .qshop-controls-wrapper {
      padding: 0 32px 24px 32px;
      display: block;
      flex: 1;
    }
    
    .qshop-pc-layout {
      display: flex;
      gap: 28px;
      text-align: left;
      align-items: stretch;
    }
    .qshop-pc-left {
      flex: 0 0 320px;
      width: 320px;
      display: flex;
      flex-direction: column;
    }
    
    /* PC端主大图：严格锁定 3:4 黄金画报比例，放大舒展展现服装细节 */
    .qshop-pc-main-img {
      width: 100%;
      aspect-ratio: 3 / 4;
      height: auto;
      border-radius: 12px;
      object-fit: cover;
      margin-bottom: 10px;
      background: #f9f9fa;
      flex-shrink: 0;
      display: block;
    }
    
    /* 🎯 底部缩略图列表：配备 PC 端定制微型滑动条，支持平滑横向滚动，严格保持 3:4 比例 */
    .qshop-pc-thumbs { 
      display: flex;
      gap: 10px;
      align-items: center;
      width: 100%;
      box-sizing: border-box;
      flex-shrink: 0;
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: thin;
      scrollbar-color: #111111 #ebebed;
      padding: 5px 3px 8px;
    }
    .qshop-pc-thumbs::-webkit-scrollbar {
      height: 4px !important;
      display: block !important;
    }
    .qshop-pc-thumbs::-webkit-scrollbar-track {
      background: #ebebed !important;
      border-radius: 2px !important;
    }
    .qshop-pc-thumbs::-webkit-scrollbar-thumb {
      background: #111111 !important;
      border-radius: 2px !important;
      cursor: pointer !important;
    }
    .qshop-pc-thumbs::-webkit-scrollbar-thumb:hover {
      background: #444444 !important;
    }
    
    /* 🎯 缩略图 3:4 比例微交互（放大至 58px 宽，未选中淡化浅框，选中纯黑粗框+2px内凹白圈，强反差高奢质感） */
    .qshop-pc-thumb { 
      width: 58px;
      min-width: 58px;
      max-width: 58px;
      flex: 0 0 58px;
      aspect-ratio: 3 / 4;
      height: auto;
      border-radius: 6px;
      object-fit: cover; 
      cursor: pointer;
      border: 1px solid #e2e2e7;
      transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1); 
      flex-shrink: 0;
      opacity: 0.45;
      background: #f7f7f7;
      box-sizing: border-box;
      display: block;
    }
    .qshop-pc-thumb:hover {
      opacity: 0.85;
      border-color: #888888;
      transform: translateY(-1.5px);
    }
    .qshop-pc-thumb.is-active { 
      opacity: 1 !important;
      border: 2px solid #000000 !important;
      box-shadow: 0 0 0 2px #ffffff inset, 0 3px 8px rgba(0, 0, 0, 0.15) !important;
      transform: translateY(-1px);
    }
    
    /* 右侧分栏开启 Flexbox 纵向流动排版 (43% : 57% 黄金视觉平衡) */
    .qshop-pc-right {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-width: 0;
    }
    
    .qshop-pc-right .qshop-title {
      font-size: 18px;
      font-weight: 600;
      line-height: 1.35;
      margin: 0 0 8px 0;
      color: #111111;
      letter-spacing: -0.2px;
    }
    .qshop-pc-right .qshop-price {
      font-size: 19px;
      font-weight: 700;
      color: #111111;
    }
    .qshop-pc-right .qshop-compare-price {
      font-size: 14px;
      color: #8e8e93;
    }
    .qshop-pc-right .qshop-price-container {
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    
    .qshop-pc-right .qshop-options-container {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .qshop-pc-right .qshop-option-row {
      margin-bottom: 0;
    }
    
    /* PC端隐藏移动端底部的固定加购按钮，而把PC端自己右侧的按钮显现并钉在右下角 */
    .qshop-action-row { display: none !important; }
    .qshop-pc-action-row {
      display: block !important;
      margin-top: auto;
      padding-top: 20px;
      padding-bottom: 2px;
      width: 100%;
    }
    .qshop-pc-action-row .qshop-submit-btn {
      width: 100%;
      height: 50px;
      min-height: 50px;
      padding: 0 24px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: #000000;
      color: #ffffff;
      border: none;
      border-radius: 25px;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      line-height: normal;
      cursor: pointer;
      box-sizing: border-box;
      transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
    }
    .qshop-pc-action-row .qshop-submit-btn:hover {
      background: #222222;
      transform: translateY(-1.5px);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
    }
    .qshop-pc-action-row .qshop-submit-btn:active {
      transform: translateY(0);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    }
  }

  /* --------------------------------------------------------------------------
     💻 笔记本与中矮屏幕专项优化 (视口高度 <= 780px 时仅微调主图尺寸，弹窗总宽与右侧栏保持舒展)
     -------------------------------------------------------------------------- */
  @media (min-width: 1025px) and (max-height: 780px) {
    .qshop-container {
      max-height: 94vh;
      max-height: 94dvh;
      width: 730px; /* 仍然保持 730px 舒展宽度，绝不水平挤压！ */
    }
    .qshop-header-row {
      padding: 16px 26px 10px;
    }
    .qshop-controls-wrapper {
      padding: 0 26px 20px 26px;
    }
    .qshop-pc-layout {
      gap: 24px;
    }
    .qshop-pc-left {
      flex: 0 0 290px;
      width: 290px;
    }
    .qshop-pc-main-img {
      margin-bottom: 8px;
    }
    .qshop-pc-thumbs {
      gap: 8px;
      padding: 4px 2px 6px;
    }
    .qshop-pc-thumb {
      width: 50px;
      min-width: 50px;
      max-width: 50px;
      flex: 0 0 50px;
    }
    .qshop-pc-right .qshop-title {
      font-size: 17px;
      margin-bottom: 6px;
    }
    .qshop-pc-right .qshop-price-container {
      margin-bottom: 12px;
    }
    .qshop-pc-right .qshop-options-container {
      gap: 12px;
    }
    .qshop-pc-action-row {
      padding-top: 16px;
    }
    .qshop-pc-action-row .qshop-submit-btn {
      height: 48px;
      min-height: 48px;
      font-size: 13.5px;
      letter-spacing: 1.2px;
    }
  }

  /* --------------------------------------------------------------------------
     💻 极限矮屏笔记本优化 (视口高度 <= 620px 时纵向收拢，但总宽依然保持 700px 呼吸空间)
     -------------------------------------------------------------------------- */
  @media (min-width: 1025px) and (max-height: 620px) {
    .qshop-container {
      max-height: 96vh;
      max-height: 96dvh;
      width: 700px; /* 锁定 700px，左侧比例依然放得开！ */
    }
    .qshop-header-row {
      padding: 12px 22px 6px;
    }
    .qshop-controls-wrapper {
      padding: 0 22px 16px 22px;
    }
    .qshop-pc-layout {
      gap: 20px;
    }
    .qshop-pc-left {
      flex: 0 0 260px;
      width: 260px;
    }
    .qshop-pc-main-img {
      margin-bottom: 6px;
    }
    .qshop-pc-thumbs {
      gap: 7px;
      padding: 3px 2px 5px;
    }
    .qshop-pc-thumb {
      width: 44px;
      min-width: 44px;
      max-width: 44px;
      flex: 0 0 44px;
    }
    .qshop-pc-right .qshop-title {
      font-size: 16px;
      margin-bottom: 4px;
    }
    .qshop-pc-right .qshop-price-container {
      margin-bottom: 10px;
    }
    .qshop-pc-right .qshop-options-container {
      gap: 10px;
    }
    .qswatch-btn {
      padding: 7px 12px;
      font-size: 12px;
      min-width: 44px;
    }
    .qshop-pc-action-row {
      padding-top: 12px;
    }
    .qshop-pc-action-row .qshop-submit-btn {
      height: 46px; /* 即使在矮屏下也保持 46px，绝不挤压扁平 */
      min-height: 46px;
      font-size: 13px;
      letter-spacing: 1px;
    }
  }

  /* --------------------------------------------------------------------------
     ✨ 共享核心参数控件：选项 Swatches 与售罄（is-soldout）视觉表现样式
     -------------------------------------------------------------------------- */
  .qshop-option-row { margin-bottom: 18px; text-align: left; }
  .qshop-option-label { font-size: 12px; color: #666666; display: block; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
  .qshop-option-label strong { color: #000000; font-weight: 600; margin-left: 6px; }
  .qshop-swatches { display: flex; flex-wrap: wrap; gap: 10px; }

  .qswatch-btn {
    position: relative; background: #ffffff; border: 1px solid #d2d2d7; border-radius: 8px;
    padding: 10px 18px; font-size: 13px; font-weight: 500; cursor: pointer;
    transition: all 0.15s ease; min-width: 52px; text-align: center; color: #111111;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
  }
  .qswatch-btn:hover { border-color: #8e8e93; }
  /* ⭐ 选中状态的 Swatch 样式 - 白底、1px黑框 + 1px外阴影补偿 (物理占地恒定为1px，0挤压防抖) */
  .qswatch-btn.is-selected {
    background: #ffffff !important; color: #000000; border: 1px solid #000000; box-shadow: 0 0 0 1px #000000; font-weight: 700;
  }
  /* ⭐ 售罄状态下的置灰与倾斜划线物理机制 - 保持可点击且背景为白 */
  .qswatch-btn.is-soldout {
    color: #a1a1a6; background: #ffffff; border-color: #e5e5ea; opacity: 1;
    pointer-events: auto !important; cursor: pointer !important;
  }
  .qswatch-btn.is-soldout.is-selected {
    border-color: #000000; box-shadow: 0 0 0 1px #000000; color: #a1a1a6;
  }
  .qswatch-btn.is-soldout::after {
    content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to top right, transparent calc(50% - 0.5px), #a1a1a6 calc(50% - 0.5px), #a1a1a6 calc(50% + 0.5px), transparent calc(50% + 0.5px));
    pointer-events: none; /* 仅作为视觉划线线，绝不阻断底层的原生点击监听机制 */
  }

  /* 🎯 详情页原生 Swatches 样式同步为弹窗同款高档样式 */
  .product-form__input input[type='radio'] + label {
    display: inline-block !important;
    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important; /* 还原为 1px 清秀细边框 */
    border-radius: 8px !important;
    padding: 10px 18px !important; /* 强制覆盖大边距 */
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-align: center !important;
    color: #111111 !important;
    box-sizing: border-box !important;
    min-width: 52px !important;
    min-height: 0 !important; /* 🎯 强行打碎原厂的最小高度限制！ */
    height: auto !important;
    line-height: 1.2 !important; /* 🎯 强行打碎原厂的行高，拉回与弹窗完全一致的高度！ */
    margin: 0 8px 8px 0 !important;
  }
  .product-form__input input[type='radio'] + label:hover {
    border-color: #8e8e93 !important;
  }
  .product-form__input input[type='radio']:checked + label {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important; /* 保持 1px，用 shadow 补充 2px 视觉粗黑框，实现 0 物理挤压 */
    box-shadow: 0 0 0 1px #000000 !important;
    font-weight: 700 !important;
  }
  .product-form__input input[type='radio'].disabled + label,
  .product-form__input input[type='radio']:disabled + label {
    color: #a1a1a6 !important;
    background: #ffffff !important;
    border-color: #e5e5ea !important;
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    box-shadow: none !important;
  }
  .product-form__input input[type='radio'].disabled:checked + label,
  .product-form__input input[type='radio']:disabled:checked + label {
    border-color: #000000 !important;
    box-shadow: 0 0 0 1px #000000 !important;
    color: #a1a1a6 !important;
  }

  /* 🎯 永远固定在最底部的加购按钮容器 - 完美对齐详情页吸底栏 */
  .qshop-action-row {
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) 20px;
    border-top: 1px solid #f5f5f7;
    background: #ffffff;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04);
    width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
  }
  .qshop-pc-action-row {
    display: none; /* 移动端默认隐藏，允许 PC 媒体查询覆盖 */
  }

  /* 国际化标准的纯正英文加购按钮 */
  .qshop-submit-btn {
    width: 100%; background: #000000; color: #ffffff; border: none; border-radius: 30px;
    padding: 16px; font-size: 15px; font-weight: 700; cursor: pointer; transition: background 0.2s;
    letter-spacing: 0.5px; text-transform: uppercase; text-align: center; display: block;
  }
  .qshop-submit-btn:hover { background: #1c1c1e; }
  /* ⭐ 当用户点中了无库存的售罄组合变体时，底部的加购大键瞬间进入锁定置灰状态，文字变成 Sold Out */
  .qshop-submit-btn:disabled { background: #e5e5ea !important; color: #a1a1a6 !important; cursor: not-allowed !important; transform: none !important; opacity: 1; }

  /* 🎯 Size Guide Flex 居中两端布局样式 */
  .qshop-option-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 8px;
  }
  .qshop-option-header .qshop-option-label {
    margin-bottom: 0 !important;
  }
  .qshop-size-guide-btn {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    color: #8e8e93;
    cursor: pointer;
    font-weight: 500;
    transition: color 0.2s ease;
  }
  .qshop-size-guide-btn:hover {
    color: #1c1c1e;
  }

  /* === 提取的全局尺码指南弹窗通用样式 === */
  .cider-size-modal {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; height: 100vh; height: 100dvh; z-index: 2147483647 !important;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .cider-size-modal.is-active { opacity: 1; visibility: visible; }
  .cider-size-modal__overlay {
    position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.45); z-index: 1; cursor: pointer;
  }
  .cider-size-modal__content {
    position: relative; background: #ffffff !important; width: 100%; max-width: 580px; max-height: 80vh; max-height: 80dvh;
    box-sizing: border-box; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); z-index: 2; 
    transform: translateY(20px); transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); 
    display: flex; flex-direction: column; overflow: hidden;
  }
  .cider-size-modal.is-active .cider-size-modal__content { transform: translateY(0); }
  .cider-size-modal__header {
    display: flex; justify-content: space-between; align-items: center; padding: 30px 40px 16px; flex-shrink: 0;
  }
  .cider-size-modal__close { background: transparent !important; border: none; padding: 0; width: 24px; height: 24px; cursor: pointer; }
  .cider-size-modal__close svg { width: 20px; height: 20px; }
  .cider-size-modal__title { font-size: 16px; font-weight: 700; margin: 0; color: #111; text-transform: uppercase; }
  .cider-size-modal__body { 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; 
    padding: 24px 40px 40px; flex-grow: 1; overflow-y: auto; -webkit-overflow-scrolling: touch;
  }
  .cider-size-block { margin-bottom: 35px; }
  .cider-size-block__heading { font-size: 14px; font-weight: 700; margin: 0 0 16px 0; color: #111; text-transform: uppercase; }
  .sg26-indicator { margin-top: 10px; width: 100%; }
  .sg26-track { display: flex; width: 100%; height: 6px; border-radius: 3px; overflow: hidden; margin-bottom: 12px; background-color: #eaeaea; gap: 2px; }
  .sg26-segment { flex: 1; height: 100%; background-color: #eaeaea; transition: background-color 0.3s ease; }
  .sg26-indicator[data-active="slim"] .sg26-segment[data-id="slim"],
  .sg26-indicator[data-active="regular"] .sg26-segment[data-id="regular"],
  .sg26-indicator[data-active="oversized"] .sg26-segment[data-id="oversized"],
  .sg26-indicator[data-active="non"] .sg26-segment[data-id="non"],
  .sg26-indicator[data-active="slight"] .sg26-segment[data-id="slight"],
  .sg26-indicator[data-active="medium"] .sg26-segment[data-id="medium"],
  .sg26-indicator[data-active="high"] .sg26-segment[data-id="high"],
  .sg26-indicator[data-active="small"] .sg26-segment[data-id="small"],
  .sg26-indicator[data-active="true-to-size"] .sg26-segment[data-id="true-to-size"],
  .sg26-indicator[data-active="large"] .sg26-segment[data-id="large"] {
    background-color: #111111 !important;
  }
  .sg26-labels { display: flex; justify-content: space-between; font-size: 13px; color: #888; }
  .sg26-labels span { flex: 1; text-align: center; transition: all 0.2s ease; font-weight: 500; }
  .sg26-labels span:first-child { text-align: left; }
  .sg26-labels span:last-child { text-align: right; }
  .sg26-indicator[data-active="slim"] .sg26-labels span[data-id="slim"],
  .sg26-indicator[data-active="regular"] .sg26-labels span[data-id="regular"],
  .sg26-indicator[data-active="oversized"] .sg26-labels span[data-id="oversized"],
  .sg26-indicator[data-active="non"] .sg26-labels span[data-id="non"],
  .sg26-indicator[data-active="slight"] .sg26-labels span[data-id="slight"],
  .sg26-indicator[data-active="medium"] .sg26-labels span[data-id="medium"],
  .sg26-indicator[data-active="high"] .sg26-labels span[data-id="high"],
  .sg26-indicator[data-active="small"] .sg26-labels span[data-id="small"],
  .sg26-indicator[data-active="true-to-size"] .sg26-labels span[data-id="true-to-size"],
  .sg26-indicator[data-active="large"] .sg26-labels span[data-id="large"] {
    color: #111111 !important; font-weight: 700 !important;
  }
  .cider-measurements-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
  .sg26-toggle-wrap { display: flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; padding: 4px 0; }
  .sg26-unit-label { font-size: 13px; color: #999; font-weight: 500; transition: color 0.2s ease; }
  .sg26-unit-label.active { color: #111; font-weight: 700; }
  .sg26-switch-btn { appearance: none; -webkit-appearance: none; outline: none; border: none; padding: 0; margin: 0; width: 42px; height: 22px; border-radius: 11px; cursor: pointer; position: relative; background-color: #e5e5ea; transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
  .sg26-switch-btn[data-state="in"] { background-color: #111111; }
  .sg26-switch-knob { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background-color: #ffffff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1); transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
  .sg26-switch-btn[data-state="in"] .sg26-switch-knob { transform: translateX(20px); }
  .cider-size-table-wrapper { width: 100%; overflow-x: auto; border: 1px solid #eaeaea; border-radius: 8px; -webkit-overflow-scrolling: touch; }
  .cider-size-table { width: 100%; border-collapse: collapse; text-align: center; font-size: 13px; }
  .cider-size-table th { background: #000 !important; color: #fff !important; font-weight: 600; padding: 14px 15px; font-size: 12px; border: 1px solid #333 !important; text-transform: capitalize; }
  .cider-size-table tbody tr:nth-child(even) { background-color: #f7f7f7; }
  .cider-size-table td { padding: 16px 15px; vertical-align: middle; color: #111; font-weight: 500; white-space: nowrap; border: 1px solid #eaeaea; }
  .cell-model { display: flex; justify-content: center; align-items: center; }
  .model-avatar-wrapper { position: relative; width: 48px; height: 48px; border-radius: 50%; background: #f5f5f5; display: inline-block; }
  .model-avatar { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
  .model-size-badge { position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); background: #111; color: #fff; font-size: 10px; font-weight: 700; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
  .cider-size-image-wrapper { width: 100%; text-align: center; }
  .cider-size-chart-img { width: 100%; height: auto; display: block; border-radius: 8px; border: 1px solid #eaeaea; }

  @media screen and (max-width: 749px) {
    .cider-size-modal { align-items: flex-end; }
    .cider-size-modal__content { border-radius: 20px 20px 0 0; max-height: 85vh; max-height: 85dvh; transform: translateY(100%); }
    .cider-size-modal__header { padding: 24px 24px 16px; }
    .cider-size-modal__body { padding-left: 24px; padding-right: 24px; padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px)); }
    .cider-size-table th, .cider-size-table td { padding: 12px 10px; font-size: 12px; }
  }

  /* --------------------------------------------------------------------------
     📱 手机端固定常驻在屏幕最底部的加购固定栏样式
     -------------------------------------------------------------------------- */
  .custom-handcoded-sticky-bar {
    position: fixed; bottom: 0; left: 0; width: 100%; background: #ffffff;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08); border-top: 1px solid #f5f5f7;
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) 20px;
    z-index: 90; display: none;
    opacity: 1 !important; transform: translateY(0) !important; pointer-events: auto !important;
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
  }
  @media (max-width: 1024px) {
    .custom-handcoded-sticky-bar { display: block !important; }
    .sticky-bar-pc-left { display: none !important; }
    .qshop-pc-layout { display: block !important; }
    .qshop-pc-left { display: none !important; }
    .qshop-pc-only-title { display: none !important; }
    .qshop-pc-only-price { display: none !important; }
    .qshop-pc-action-row { display: none !important; }
    /* Keep the last KOL detail content above this fixed action bar. */
    html.template-product-influencer-mode #MainContent {
      padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    }
    /* 用最高优先级，在物理及渲染层面彻底抹除并杀死原主题自带的旧吸底栏、旧表单提交按钮 */
    .productView-stickyCart, .sticky-add-to-cart, #halo-sticky-add-to-cart, .productView-stickyActions, [id*="sticky-add-to-cart"], .sticky-cart, .product-form__buttons { display: none !important; }
    
    /* 🎯 优化：在手机端把原厂多属性下拉框 select 设为 pointer-events: none，防止原生焦点的跳动和原生滚轮弹出 */
    .product-form__input--dropdown select,
    .form__select select,
    select[id*="option"],
    select[id*="Option"] {
      pointer-events: none !important;
    }
    .custom-handcoded-sticky-bar .sticky-bar-wrapper { width: 100%; max-width: 600px; margin: 0 auto; }
    .custom-handcoded-sticky-bar .custom-sticky-atc-btn {
      width: 100%; background: #000000; color: #ffffff; border: none; border-radius: 30px;
      padding: 16px; font-size: 15px; font-weight: 700; text-transform: uppercase; cursor: pointer; letter-spacing: 0.5px;
    }
  }

  /* --------------------------------------------------------------------------
     💻 PC 端：1500px 居中对齐、滚动离开主按钮后平滑滑出的吸底浮动栏样式
     -------------------------------------------------------------------------- */
  @media (min-width: 1025px) {
    .custom-handcoded-sticky-bar {
      display: block !important;
      position: fixed; bottom: 0; left: 0; width: 100%;
      background: #ffffff;
      box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.07);
      border-top: 1px solid #ededed;
      padding: 12px 0;
      z-index: 90;
      transform: translateY(100%) !important;
      opacity: 0 !important;
      pointer-events: none !important;
      transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
    }
    .custom-handcoded-sticky-bar.is-pc-visible {
      transform: translateY(0) !important;
      opacity: 1 !important;
      pointer-events: auto !important;
    }
    .custom-handcoded-sticky-bar .sticky-bar-wrapper {
      max-width: 1500px;
      width: 100%;
      margin: 0 auto;
      padding: 0 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      box-sizing: border-box;
    }
    .sticky-bar-pc-left {
      display: flex;
      align-items: center;
      gap: 16px;
      flex: 1;
      min-width: 0;
      padding-right: 30px;
    }
    .sticky-bar-thumb {
      width: 51px;
      height: 68px;
      aspect-ratio: 3 / 4;
      object-fit: cover;
      border-radius: 6px;
      flex-shrink: 0;
      background: #f7f7f7;
    }
    .sticky-bar-info {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
    }
    .sticky-bar-title {
      font-size: 15px;
      font-weight: 600;
      color: #111111;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 600px;
      letter-spacing: 0.2px;
    }
    .sticky-bar-price-box {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .sticky-bar-price {
      font-size: 16px;
      font-weight: 700;
      color: #111111;
    }
    .sticky-bar-compare-price {
      font-size: 13px;
      color: #8e8e93;
      text-decoration: line-through;
    }
    .sticky-bar-actions {
      flex-shrink: 0;
    }
    .custom-handcoded-sticky-bar .custom-sticky-atc-btn {
      width: auto;
      min-width: 240px;
      height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 36px;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      border-radius: 24px;
      background: #000000;
      color: #ffffff;
      border: none;
      cursor: pointer;
      transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
      box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    }
    .custom-handcoded-sticky-bar .custom-sticky-atc-btn:hover {
      background: #222222;
      transform: translateY(-1.5px);
      box-shadow: 0 6px 16px rgba(0,0,0,0.18);
    }
    .custom-handcoded-sticky-bar .custom-sticky-atc-btn:active {
      transform: translateY(0);
      box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    }
  }

  /* --------------------------------------------------------------------------
     🎯 抽屉与全站遮罩联动：当购物车抽屉、移动菜单打开时，底部吸底条平滑滑出隐藏
     -------------------------------------------------------------------------- */
  body.cart-sidebar-show .custom-handcoded-sticky-bar,
  body.cart-sidebar-show .custom-handcoded-sticky-bar.is-pc-visible,
  body.menu_open .custom-handcoded-sticky-bar,
  body.menu_open .custom-handcoded-sticky-bar.is-pc-visible {
    transform: translateY(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  
  /* 专属定制防冲突级独立命名选择器：用于 Mode B 卡片内部动态重绘，完美防止原厂 QuerySelector('select') 的抓取污染 */
  .qshop-custom-select-sandboxed {
    width: 100%; padding: 12px; border: 1px solid #d2d2d7; border-radius: 8px; font-size: 14px; background: #fff; outline: none;
  }

  /* === 骨架屏动画与样式 === */
  .qshop-skeleton {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    box-sizing: border-box;
  }
  .sk-media-bar {
    width: 100%;
    height: 200px;
    border-radius: 12px;
    background: linear-gradient(90deg, #f2f2f7 25%, #e5e5ea 37%, #f2f2f7 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
  }
  .sk-text-line {
    height: 16px;
    border-radius: 4px;
    background: linear-gradient(90deg, #f2f2f7 25%, #e5e5ea 37%, #f2f2f7 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
  }
  .sk-text-line.short { width: 40%; }
  .sk-text-line.long { width: 85%; }
  .sk-swatches-box {
    width: 100%;
    height: 60px;
    border-radius: 8px;
    background: linear-gradient(90deg, #f2f2f7 25%, #e5e5ea 37%, #f2f2f7 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
  }
  @keyframes skeleton-loading {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
  }

  /* 🛒 购物车图标弹性反馈动效 */
  .cart-icon-pop-bounce {
    animation: cartBounce 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: inline-block;
  }
  @keyframes cartBounce {
    0% { transform: scale(1); }
    30% { transform: scale(1.3) rotate(-8deg); }
    50% { transform: scale(0.9) rotate(4deg); }
    70% { transform: scale(1.1) rotate(-2deg); }
    100% { transform: scale(1) rotate(0); }
  }

  /* 🎯 气泡数字跳变呼吸动效 */
  .cart-count-changed {
    animation: bubblePop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.6) !important;
    background-color: #ff3b30 !important; /* 临时变成亮红色进行高亮提示 */
    color: #ffffff !important;
  }
  @keyframes bubblePop {
    0% { transform: scale(1); }
    50% { transform: scale(1.5); }
    100% { transform: scale(1); }
  }