
    
    /* ============ 画廊 ============ */
    .swiper{ position:relative; }
    .pd-main-swiper{ border:1px solid #eee; border-radius:12px; overflow:hidden; }
    .pd-main-swiper .swiper-slide a{ display:block; position:relative; z-index:2; pointer-events:auto; }
    .pd-main-swiper .swiper-slide img{ display:block; width:100%; height:auto; }
    #pd-main-swiper .swiper-button-prev, #pd-main-swiper .swiper-button-next{
      display:flex;
      width:44px;
      height:44px;
      border-radius:999px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(0,0,0,.12);
      box-shadow:0 10px 26px rgba(0,0,0,.12);
      color:#111;
      transition:opacity .18s ease, transform .18s ease;
      opacity:.95;
    }
    #pd-main-swiper .swiper-button-prev:hover, #pd-main-swiper .swiper-button-next:hover{ opacity:1; transform: translateY(-1px); }
    #pd-main-swiper .swiper-button-prev::after, #pd-main-swiper .swiper-button-next::after{ font-size:18px; font-weight:900; }

    .pd-thumbs-wrap{ margin-top:12px; position:relative; padding:0 36px; overflow:hidden; }
    .pd-thumbs-swiper{ overflow:hidden; }
    .pd-thumbs-swiper .swiper-slide{ width:90px; }
    .pd-thumbs-swiper img{ width:100%; display:block; border:1px solid #eee; border-radius:10px; }
    .pd-thumbs-nav{ position:absolute; top:50%; transform:translateY(-50%); width:28px; height:28px; border-radius:50%;
      background:#fff; border:1px solid #ddd; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:6;
      font-size:18px; line-height:1; color:#111; }
    .pd-thumbs-prev{ left:0; } .pd-thumbs-next{ right:0; }

    .product-details__img-inner{ position:relative; }
    .product-details__img-inner .overlay-icon a{ position:absolute; right:10px; bottom:-40px; background:#0008; color:#fff;
      border-radius:999px; padding:6px 10px; text-decoration:none; }

    /* ============ 按钮/数量（样式 + ±） ============ */
  .product-quantity-box-outer .quantity{ display:inline-flex; align-items:stretch; border:1px solid #e5e5e5; border-radius:10px; overflow:hidden; vertical-align:middle; }
  .product-quantity-box-outer .quantity input.qty{ width:70px; text-align:center; border:0; box-shadow:none; }
  .product-quantity-box-outer .qty-btn{ width:40px; border:0; background:#fafafa; cursor:pointer; font-size:18px; line-height:1; }
  .product-quantity-box-outer .qty-btn:active{ transform:translateY(1px); }
  .woocommerce.single-product .product-quantity-box-outer button.single_add_to_cart_button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:48px;
    padding:0 18px;
    width:100%;
    border-radius:10px;
    border:1px solid #111;
    background:#111;
    color:#fff;
    font-weight:700;
    box-sizing:border-box;
  }
  .product-quantity-box-outer{
    width:100%;
  }

  /* ===== 强制 3:7 布局，单行显示 ===== */
  .product-quantity-box-outer form.cart .quantity,
  .product-quantity-box-outer .woocommerce-variation-add-to-cart .quantity {
    /* flex: 3 1 0 !important; */
    /* width: auto !important; */
    /* max-width: none !important; */
    margin: 0 !important;
    align-items: center;
    display: flex !important;
        justify-content: center;
  }
  .product-quantity-box-outer form.cart .single_add_to_cart_button,
  .product-quantity-box-outer .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: 7 1 0 !important;
    width: auto !important;
    margin: 0 !important;
  }
  .product-quantity-box-outer form.cart,
  .product-quantity-box-outer .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }
  /* 确保变体加购区域可见（如果被Woo隐藏） */
  .woocommerce-variation-add-to-cart-disabled .woocommerce-variation-add-to-cart {
      display: flex !important; 
  }

  .product-quantity-box-outer form.cart.variations_form{
    display:block;
    width:100%;
  }
  .product-quantity-box-outer form.cart.variations_form .variations,
  .product-quantity-box-outer form.cart.variations_form .reset_variations{
    display:none !important;
  }
  .ow-variant-picker-slot{
    /* margin:0 0 14px; */
  }
  .product-quantity-box-outer .ow-qty-add-row{
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
    align-items:stretch;
    width:100%;
  }
  .product-quantity-box-outer .ow-qty-add-row .quantity{flex:3 1 0; margin:0; min-width:0;}
  .product-quantity-box-outer .ow-qty-add-row .single_add_to_cart_button{flex:7 1 0; width:100%; min-width:0;}
  .product-quantity-box-outer .ow-gpay-row{width:100%; margin-top:10px;}
  .product-quantity-box-outer .ow-qty-add-row .wc-stripe-googlepay-container,
  .product-quantity-box-outer .ow-qty-add-row .wc-stripe-googlepay-container .wc-stripe-googlepay-button{
    width:100%;
    display:block;
    height:48px;
  }
  .product-quantity-box-outer .ow-gpay-row .wc-stripe-googlepay-container,
  .product-quantity-box-outer .ow-gpay-row .wc-stripe-googlepay-container .wc-stripe-googlepay-button{
    width:100%;
    display:block;
    height:48px;
  }
  
  /* 强制移除 Stripe 容器顶部间距 */
  .wc-stripe-product-checkout-container.bottom.active {
      margin-top: 0 !important;
  }

  .product-details .product-quantity-box-outer,
  .product-details .product-quantity-box-outer .product-quantity-box,
  .product-details .product-quantity-box-outer .ow-cta-bar{
    width:100% !important;
    display:block;
  }
  /* 隐藏 Woo 默认 single_variation_wrap，使用自定义 CTA 栏 */
  .product-quantity-box-outer .single_variation_wrap{ display:none !important; }
  .ow-cta-bar{
    background:linear-gradient(135deg, rgba(255,75,12,0.12), rgba(0,0,0,0.04));
    border:1px solid rgba(255,75,12,0.22);
    border-radius:14px;
    padding:14px;
    box-shadow:0 12px 28px rgba(0,0,0,0.08);
  }
  .ow-cta-row{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:12px;
    width:100%;
    min-width:0;
  }
  .woocommerce.single-product .product-quantity-box-outer .ow-cta-row .quantity{
    flex:0 0 140px;
    min-width:140px;
    height:48px;
    box-sizing:border-box;
    margin:0;
    border-radius:10px;
    border:1px solid #e6e6e6;
  }
  .woocommerce.single-product .product-quantity-box-outer .ow-cta-row .qty-btn{
    flex:0 0 44px;
    min-width:44px;
    min-height:44px;
    height:46px;
  }
  .woocommerce.single-product .product-quantity-box-outer .ow-cta-row input.qty{
    flex:1 1 44px !important;
    min-width:44px !important;
    max-width:44px;
    height:46px;
    padding:0;
    font-size:16px;
  }
  @media (max-width:380px){
    .woocommerce.single-product .product-quantity-box-outer .ow-cta-row .quantity{flex-grow:1;}
  }
  .ow-cta-btn{
    flex:7 1 0;
    min-width:140px;
    border-radius:12px;
    background:linear-gradient(135deg, #0b0b0b, #181818);
    border:1px solid #0b0b0b;
    color:#fff;
    font-weight:800;
    letter-spacing:.01em;
    transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
    box-shadow:0 10px 24px rgba(0,0,0,0.16);
  }
  .woocommerce.single-product .product-quantity-box-outer button.single_add_to_cart_button:hover:not(:disabled):not(.disabled){ transform:translateY(-1px); box-shadow:0 14px 28px rgba(255,75,12,0.22); background:#202020; color:#fff; }
  .woocommerce.single-product .product-quantity-box-outer button.single_add_to_cart_button:focus-visible{outline:3px solid #ff4b0c;outline-offset:3px;}
  .ow-cta-btn:active{ transform:translateY(0); box-shadow:0 8px 18px rgba(0,0,0,0.18); }
  .woocommerce.single-product .product-quantity-box-outer button.single_add_to_cart_button.disabled,
  .woocommerce.single-product .product-quantity-box-outer button.single_add_to_cart_button[disabled]{ opacity:.6; cursor:not-allowed; box-shadow:none; background:#111; color:#fff; }
  .ow-gpay-row{ margin-top:10px; }
  .ow-gpay-row .wc-stripe-googlepay-container{ width:100%; }
  /* 计数器按钮布局微调 */
  .product-quantity-box-outer .qty-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
  }
  .product-quantity-box-outer .wc-stripe-googlepay-container,
  .product-quantity-box-outer .wc-stripe-googlepay-container .wc-stripe-googlepay-button{
    width:100%;
    display:block;
  }
  .product-quantity-box-outer .wc-stripe-googlepay-container{ height:48px; }
  .product-quantity-box-outer form.cart{width:100%;}

    /* ============ 规格“按钮化” ============ */
    .attr-swatches{ display:grid; gap:10px; margin:12px 0 6px; }
    .attr-group{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .attr-label{ min-width:90px; color:#666; font-size:14px; }
    .swatch{ padding:8px 12px; border:1px solid #ddd; border-radius:10px; cursor:pointer; background:#fff; font-size:14px; }
    .swatch.is-selected{ border-color:#111; box-shadow:0 0 0 2px #111 inset; }
    .swatch.is-disabled{ opacity:.45; cursor:not-allowed; text-decoration:line-through; }

    /* ===== Variant picker (custom replacements for Woo variations) ===== */
    .ow-variant-picker{
      position:relative;
      margin:14px 0 10px;
      padding:16px 16px 18px;
      border:1.5px solid #0b0b0b;
      border-radius:14px;
      background:linear-gradient(135deg, rgba(255,75,12,0.08), rgba(0,0,0,0.02));
      box-shadow:0 12px 30px rgba(0,0,0,0.08);
      overflow:hidden;
      isolation:isolate;
    }
    .ow-variant-picker::before,
    .ow-variant-picker::after{
      content:'';
      position:absolute;
      inset:-30%;
      background:radial-gradient(circle at 20% 20%, rgba(255,75,12,0.12), transparent 55%);
      pointer-events:none;
      opacity:.8;
      transform:rotate(3deg);
      mix-blend-mode:multiply;
    }
    .ow-variant-picker::after{
      inset:auto;
      top:-10%;
      right:-30%;
      width:60%;
      height:70%;
      background:radial-gradient(circle at 40% 40%, rgba(0,0,0,0.06), transparent 60%);
      transform:rotate(-4deg);
    }
    .ow-vp-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      position:relative;
      z-index:1;
    }
    .ow-vp-kicker{
      text-transform:uppercase;
      letter-spacing:.08em;
      font-size:11px;
      font-weight:800;
      color:#ff4b0c;
      background:rgba(255,75,12,0.12);
      padding:4px 10px;
      border-radius:999px;
      border:1px solid rgba(255,75,12,0.2);
    }
    .ow-vp-title{
      font-weight:900;
      font-size:18px;
      color:#0b0b0b;
    }
    .ow-vp-note{
      flex:1 1 100%;
      margin:2px 0 0;
      color:#444;
      font-size:13px;
      font-weight:600;
    }
    .ow-vp-spark{
      width:64px;
      height:4px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(255,75,12,0.2), rgba(255,75,12,0.6));
      position:relative;
      overflow:hidden;
      box-shadow:0 6px 12px rgba(255,75,12,0.25);
    }
    .ow-vp-spark::after{
      content:'';
      position:absolute;
      inset:-40% 0;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
      animation:owSpark 1.8s linear infinite;
    }
    .ow-vp-spark.is-on::after{ animation-duration:1s; }
    .ow-vp-body{
      display:grid;
      gap:10px;
      margin-top:12px;
      position:relative;
      z-index:1;
    }
    .ow-vp-group{
      background:#fff;
      border:1px solid rgba(0,0,0,0.08);
      border-radius:12px;
      padding:10px 12px;
      position:relative;
      overflow:hidden;
      box-shadow:0 6px 16px rgba(0,0,0,0.06);
      transition:transform .2s ease, box-shadow .2s ease;
    }
    .ow-vp-group::after{
      content:'';
      position:absolute;
      inset:-2px;
      border-radius:14px;
      border:1px dashed rgba(255,75,12,0.18);
      opacity:0;
      transition:opacity .3s ease;
      pointer-events:none;
    }
    .ow-vp-group:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,0.08); }
    .ow-vp-group:hover::after{ opacity:1; }
    .ow-vp-group-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .ow-vp-label{
      font-weight:800;
      font-size:13px;
      color:#0b0b0b;
      letter-spacing:.01em;
    }
    .ow-vp-pill{
      font-size:12px;
      color:#666;
      background:rgba(255,75,12,0.08);
      border:1px solid rgba(255,75,12,0.3);
      border-radius:999px;
      padding:4px 10px;
      font-weight:700;
      white-space:nowrap;
      box-shadow:0 6px 14px rgba(255,75,12,0.16);
    }
    .ow-vp-options{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }
    .ow-vp-option{
      position:relative;
      border:1.4px solid #e2e2e2;
      background:#fff;
      border-radius:12px;
      padding:10px 14px;
      font-weight:800;
      font-size:13px;
      color:#111;
      cursor:pointer;
      transition:color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
      overflow:hidden;
    }
    .ow-vp-option::before{
      content:'';
      position:absolute;
      inset:0;
      border-radius:12px;
      background:linear-gradient(135deg, rgba(255,75,12,0.18), transparent 60%);
      opacity:0;
      transform:scale(.98);
      transition:opacity .25s ease, transform .25s ease;
    }
    .ow-vp-option::after{
      content:'';
      position:absolute;
      inset:-1px;
      border-radius:14px;
      border:1px solid rgba(255,75,12,0.28);
      opacity:0;
      transition:opacity .25s ease;
      pointer-events:none;
    }
    .ow-vp-option span{ position:relative; z-index:1; }
    .ow-vp-option:hover{
      border-color:#ff4b0c;
      color:#ff4b0c;
      transform:translateY(-1px);
      box-shadow:0 10px 18px rgba(255,75,12,0.18);
    }
    .ow-vp-option:hover::before{ opacity:1; transform:scale(1); }
    .ow-vp-option.is-active{
      border-color:#0b0b0b;
      color:#0b0b0b;
      box-shadow:0 12px 22px rgba(0,0,0,0.12);
    }
    .ow-vp-option.is-active::after{ opacity:1; }
    .ow-vp-option.is-disabled{
      opacity:.4;
      cursor:not-allowed;
      text-decoration:line-through;
      filter:grayscale(.2);
    }
    .ow-vp-option.is-disabled::before,
    .ow-vp-option.is-disabled::after{
      display:none;
    }
    .ow-vp-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-top:10px;
    }
    .ow-vp-reset{
      background:#0b0b0b;
      color:#fff;
      border:1px solid #0b0b0b;
      border-radius:999px;
      padding:9px 14px;
      font-weight:800;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      box-shadow:0 8px 18px rgba(0,0,0,0.16);
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
    }
    .ow-vp-reset:hover{
      background:#ff4b0c;
      border-color:#ff4b0c;
      transform:translateY(-1px);
      box-shadow:0 12px 24px rgba(255,75,12,0.25);
    }
    .ow-vp-reset:active{
      transform:translateY(0);
      box-shadow:0 6px 12px rgba(0,0,0,0.22);
    }
    .ow-vp-hint{
      font-size:12px;
      color:#555;
      font-weight:600;
    }
    .ow-variant-picker.ow-has-variation .ow-vp-hint{
      color:#0f5132;
      background:rgba(16,185,129,.08);
      padding:6px 10px;
      border-radius:10px;
      border:1px solid rgba(16,185,129,.2);
    }
    .ow-vp-status{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      font-weight:800;
      color:#0b0b0b;
    }
    .ow-vp-status::before{
      content:'';
      width:12px;
      height:12px;
      border-radius:999px;
      background:radial-gradient(circle at 30% 30%, #ffb347, #ff4b0c);
      box-shadow:0 0 0 6px rgba(255,75,12,0.14);
      transition:box-shadow .3s ease;
    }
    .ow-variant-picker.ow-has-variation .ow-vp-status::before{
      background:radial-gradient(circle at 30% 30%, #22c55e, #15803d);
      box-shadow:0 0 0 6px rgba(34,197,94,0.16);
    }
    .ow-vp-empty{
      padding:12px 14px;
      border:1px dashed #d1d5db;
      border-radius:12px;
      background:linear-gradient(135deg, rgba(0,0,0,0.02), rgba(255,75,12,0.04));
      font-weight:700;
      color:#555;
    }
    .product-quantity-box-outer form.ow-variants-enhanced .variations,
    .product-quantity-box-outer form.ow-variants-enhanced .reset_variations{
      display:none !important;
    }
  @keyframes owSpark{from{transform:translateX(-40%);}to{transform:translateX(120%);}}
  @media (max-width:720px){
    .ow-variant-picker{padding:14px 12px;}
    .ow-vp-options{gap:6px;}
    .ow-vp-option{padding:9px 12px;}
    .ow-vp-title{font-size:16px;}
    .ow-vp-note{font-size:12px;}
    .ow-vp-hint{flex:1 1 100%;}
  }
  .ow-toast{
    position:fixed;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    background:linear-gradient(135deg, rgba(255,75,12,0.95), rgba(255,122,26,0.95));
    color:#fff;
    padding:12px 16px;
    border-radius:12px;
    box-shadow:0 12px 28px rgba(0,0,0,0.16);
    z-index:999999;
    font-weight:800;
    letter-spacing:.02em;
    transition:opacity .2s ease, transform .2s ease;
    opacity: 0;
    pointer-events: none;
  }
  .ow-toast.is-show{ opacity:1; transform:translateX(-50%) translateY(0); }
  .ow-toast.is-hide{ opacity:0; transform:translateX(-50%) translateY(6px);}

  .product-details__value h3{ margin:8px 0 12px; }

    /* ============ 评分/评论样式 ============ */
    .pd-rating{ display:flex; align-items:center; gap:10px; margin-top:6px; }
    /* Ensure `wc_get_rating_html()` doesn't show the "Rated ... based on ..." text even if Woo styles are missing */
    .pd-rating .star-rating{
      position:relative;
      display:inline-block;
      margin:0;
      line-height:1;
      height:1em;
      font-size:14px;
    }
    .pd-rating .star-rating::before{
      content:"★★★★★";
      color:#d9d9d9;
    }
    .pd-rating .star-rating span{
      position:absolute;
      left:0;
      top:0;
      display:block;
      height:1em;
      overflow:hidden;
      white-space:nowrap;
      text-indent:-9999px; /* hide "Rated ... based on ..." */
    }
    .pd-rating .star-rating span::before{
      content:"★★★★★";
      position:absolute;
      left:0;
      top:0;
      color:#ffb400;
      text-indent:0;
    }
    .pd-rating .woocommerce-review-link,
    .pd-rating .pd-review-count{ color:#666; font-size:14px; text-decoration:none; }
    .pd-rating .woocommerce-review-link:hover,
    .pd-rating .pd-review-count:hover{ text-decoration:underline; }

    /* ============ 简介“省略 + 查看更多” ============ */
    .pd-text{ --lines:4; position:relative; }
    .pd-text__content{ margin:0; }
    .pd-text.is-clamped .pd-text__content{
      display:-webkit-box; -webkit-line-clamp:var(--lines); -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .pd-text.is-clamped .pd-text__fade{
      position:absolute; left:0; right:0; bottom:0; height:3.2em;
      background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
      pointer-events:none;
    }
    .pd-text__toggle{
      margin-top:8px;
      padding:0;
      background:none;
      border:0;
      color:var(--ow-accent, #ff4b0c);
      font-weight:700;
      cursor:pointer;
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .pd-text__toggle::after{
      content:'';
      width:12px;
      height:12px;
      border-radius:50%;
      border:2px solid currentColor;
      box-shadow:0 0 0 0 rgba(255,75,12,0.3);
      transform:scale(.9);
      transition:transform .25s ease, box-shadow .25s ease;
    }
    .pd-text__toggle:hover::after,
    .pd-text__toggle:focus-visible::after{
      transform:scale(1);
      box-shadow:0 0 0 6px rgba(255,75,12,0.1);
    }

    /* Product description box: themed hover/active frame */
    .product-details .product-description-box{
      position:relative;
      border-radius:16px;
      padding:20px 18px 18px;
      background:linear-gradient(145deg, #ffffff, #f9fafb);
      box-shadow:0 10px 30px rgba(15,15,15,0.06);
      overflow:hidden;
    }
    .product-details .product-description-box::before{
      content:'';
      position:absolute;
      inset:-40%;
      background:radial-gradient(circle at 0 0, rgba(255,75,12,0.14), transparent 55%);
      opacity:0;
      transform:translate3d(-10px,-10px,0);
      transition:opacity .35s ease, transform .35s ease;
      pointer-events:none;
    }
    .product-details .product-description-box:hover::before{
      opacity:1;
      transform:translate3d(0,0,0);
    }
    .product-details .product-description-box .inner-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:6px 0 10px;
      cursor:pointer;
      position:relative;
    }
    .product-details .product-description-box .inner-title::after{
      content:'';
      position:absolute;
      left:0;
      bottom:0;
      width:72px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--ow-accent, #ff4b0c), rgba(255,75,12,0));
      transform-origin:left center;
      transform:scaleX(.8);
      transition:transform .25s ease;
    }
    .product-details .product-description-box .inner-title:hover::after{
      transform:scaleX(1);
    }
    .product-details__value h3 del{color: #696767;}
    .product-details__value h3 ins{font-size: 24px;}
/* 卡片基础 - 新布局：图片在顶部 */
.related-card { 
  background:#fff; 
  border-radius:12px; 
  padding:8px; 
  box-shadow:0 2px 8px rgba(0,0,0,.06); 
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 缩略图容器 - 锁定宽高比 */
.related-card .rp-thumb {
  display: block;
  width: 100%;
  position: relative;
  margin-bottom: 8px;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #f8f9fa;
}

.related-card .rp-thumb img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  object-position: center;
  display: block; 
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.related-card .rp-thumb:hover img {
  transform: scale(1.05);
}

/* Top-right wishlist/compare icons for related slides */
.related-card .rp-thumb .bc-wish.bc-wish--related{
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 3;
  pointer-events: auto;
}
.related-card .rp-thumb .bc-wish.bc-wish--related .woosw-btn + .woosc-btn,
.related-card .rp-thumb .bc-wish.bc-wish--related .woosc-btn + .woosw-btn{
  margin-left: 8px;
}

/* 产品信息区域 */
/* 关联产品信息容器：缩短整体高度，减少内部垂直间距 */
.related-card .rp-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  gap: 2px; /* 原 3px → 2px */
}

/* 标题两行省略号 */
/* 标题高度缩短：固定 50px 改为 44px（两行仍保持可读性） */
.related-card .rp-title { 
  margin: 0; 
  font-size: 14px; 
  line-height: 1.35; 
  height: 40px;
}

.related-card .rp-title a{
  display:-webkit-box;
  -webkit-line-clamp:2;          /* 两行 */
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height: calc(1.35em * 2);  /* 保证两行高度占位 */
  text-decoration: none;
  color: #000;
  font-weight: 600;
}

.related-card .rp-title a:hover {
  color: #FF7A1A;
}

/* 价格 */
.related-card .rp-price { 
  font-weight: 700; 
  margin-bottom: 0;
  height: auto;
  min-height: 22px;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.3;
}

.related-card .rp-price ins{
  color: #FF7A1A;
  font-size: 1em;
  white-space: nowrap;
}

/* 操作区域放在底部 */
.related-card .rp-actions {
  margin-top: auto;
  margin-bottom: 2px;
  flex-shrink: 0;
}
/* 让计数器与按钮上下堆叠且满宽 */
.related-card .rp-actions-row{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.related-card .rp-quantity-wrapper,
.related-card .rp-cart-wrapper{
  width:100% !important;
}
.related-card .rp-cart-wrapper .bc-btn{
  width:100%;
  box-sizing:border-box;
}
.related-card .rp-cart-wrapper .rp-cart-select{
  display:block;
}

    /* Related Swiper: desktop equal-height cards (no clipping) */
    @media (min-width: 992px){
      .product-like__list .related-swiper .swiper-wrapper { align-items: stretch !important; }
      .product-like__list .related-swiper .swiper-slide{
        height: auto !important;
        align-self: stretch !important;
      }
      /* If markup uses .swiper-slide > .related-card wrapper, ensure it fills */
      .product-like__list .related-swiper .swiper-slide .related-card { width: 100% !important; height: 100% !important; }
      /* Fix for when swiper-slide IS the related-card */
      .product-like__list .related-swiper .swiper-slide.related-card { height: auto !important; min-height: 100% !important; }
    }

    /* 移动端：显示1个 */
    @media (max-width: 575px) {
      /* 移动端缩略图稍小一些 */
      .related-card .rp-thumb {
        aspect-ratio: 4/3; /* 移动端使用4:3比例 */
      }
      
      .related-card {
        padding: 10px;
      }
      
      .related-card .rp-title {
        font-size: 14px;
        height: 40px;
        margin-bottom: 6px;
      }
      
      .related-card .rp-price {
        margin-bottom: 10px;
        font-size: 13px;
      }
    }

    /* 让左右两列等高（组件内可伸展），并在较大屏幕上让两列并排 */
  .product-details .row.xjm-eq { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; height:auto !important; min-height:0 !important; }
  .product-details .row.xjm-eq{ margin-bottom:16px !important; padding-bottom:0 !important; }
  .product-details .row.xjm-eq > *{ min-height:0 !important; height:auto !important; }
  .product-details .row.xjm-eq > .col-xl-6 { flex: 0 0 50%; max-width: 50%; }
  /* 如果有 col-12（full width）在同一 row 内，确保它独占一行，不会强制其它列换行 */
  .product-details .row.xjm-eq > .col-12 { flex: 0 0 100%; max-width: 100%; }
    /* 删除这个导致布局紊乱的规则 */
    /* .product-details .row.xjm-eq > .col-xl-6 .product-details__img,
    .product-details .row.xjm-eq > .col-xl-6 .product-details__content { height: 100%; } */

    /* product-like__list 全宽样式（占满 container 的宽度） */
    .product-like__full {
      width: 100%;
      margin-top: 28px;
      padding: 0 12px;
      box-sizing: border-box;
    }
    .product-like__full .product-description-box { margin: 0; }

    @media (max-width: 991.98px) {
      .product-details .row.xjm-eq { display: block; }
    .product-details .row.xjm-eq > .col-xl-6 { max-width: 100%; flex: 1 1 auto; }
    .product-details .row.xjm-eq > *{ height:auto !important; }
  }

  /* 桌面强制左右两列并列显示，related 模块独占整行（提高优先级以覆盖框架样式） */
  @media (min-width: 992px) {
    .product-details .row.xjm-eq { flex-wrap: wrap; }
    /* 左/右并列宽度 */
    .product-details .row.xjm-eq > .col-xl-6 {
      flex: 0 0 calc(50% - 12px) !important;
      max-width: calc(50% - 12px) !important;
      height:auto !important;
    }
      /* 明确控制顺序：左列(0), 右列(1), related full(2) */
      .product-details .row.xjm-eq > .col-xl-6:first-child { order: 0 !important; }
      .product-details .row.xjm-eq > .col-xl-6:nth-of-type(2) { order: 1 !important; }
    .product-details .row.xjm-eq > .col-12.product-like__full {
      flex: 0 0 100% !important;
      max-width: 100% !important;
      order: 2 !important;
      height:auto !important;
    }
      /* 其余同级元素强制排在之后，避免抢占位置 */
      .product-details .row.xjm-eq > *:not(.col-xl-6):not(.product-like__full) {
        order: 99 !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
        height:auto !important;
      }
    }


/* 按钮黑色（含可变商品/已加入） */
.related-card .rp-actions .button,
.related-card .rp-actions .add_to_cart_button,
.related-card .rp-actions .ajax_add_to_cart,
.related-card .rp-actions a.added_to_cart{
  background:#000 !important;
  color:#fff !important;
  border:0 !important;
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
  display:inline-block;
  font-weight:700;
}
.related-card .rp-actions .button:hover,
.related-card .rp-actions .add_to_cart_button:hover,
.related-card .rp-actions .ajax_add_to_cart:hover,
.related-card .rp-actions a.added_to_cart:hover{
  background:#111 !important;
  color:#fff !important;
}

/* 让“已加入购物车”链接也像按钮 */
.related-card .rp-actions a.added_to_cart{
  margin-left:8px;
  opacity:.92;
}

/* 相关产品操作行布局 */

/* 布局：数量固定宽度，购物车填充剩余 */
.related-card .rp-actions-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}

.related-card .rp-quantity-wrapper {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
}

.related-card .rp-cart-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
}

/* 数量控件：还原原有间距与尺寸 */
.related-card .bc-qty,
.related-card .quantity[data-related-qty] {
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #ddd;
  border-radius:10px;
  padding:6px 8px;
  background:#fff;
  width:100%;
  max-width:none;
  flex:1 1 auto;
  box-sizing:border-box;
  height:40px;
  min-height:40px;
}
.related-card .bc-qty__btn{
  width:28px;
  height:28px;
  border-radius:8px;
  border:0;
  background:#f5f5f5;
  color:#111;
  font-weight:900;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}
.related-card .bc-qty__input{
  width:52px;
  text-align:center;
  border:0;
  background:transparent;
  font-weight:700;
  font-size:14px;
  height:100%;
  line-height:1.2;
}

/* 选择按钮样式 */
.related-card .rp-cart-wrapper .bc-btn,
.related-card .rp-cart-wrapper .bc-btn--select,
.related-card .rp-cart-wrapper .rp-cart-select {
  width: 100%;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  text-align: center;
  text-indent: 0 !important;
  line-height: 1 !important;
  font-size: 13px !important;
  padding: 0 16px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;  /* 原来是 gap: 8px !important; 改为 1px */
  background: #ff4b0c !important;
  border: 1.5px solid #ff4b0c !important;
  color: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.16) !important;
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease !important;
}
.related-card .rp-cart-wrapper .bc-btn i,
.related-card .rp-cart-wrapper .bc-btn .btn-cart-icon{
  display:none !important;
}
.related-card .rp-cart-wrapper .bc-btn::before{
  content:none !important;
  display:none !important;
}
.related-card .rp-cart-wrapper .obw-select-icon{
  display:inline-flex;
  width:18px;
  height:18px;
  flex-shrink:0;
  color:currentColor;
}
.related-card .rp-cart-wrapper .obw-select-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:currentColor;
}
.related-card .rp-cart-wrapper .obw-select-label{ line-height:1; }
.related-card .rp-cart-wrapper .bc-btn:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.22) !important;
  filter: saturate(1.05) !important;
}

/* 按钮配色：有变体为白底橙字，无变体为橙底白字 */
.related-card .rp-cart-wrapper .bc-btn[data-has-variants="1"],
.related-card .rp-cart-wrapper .bc-btn--select[data-has-variants="1"],
.related-card .rp-cart-wrapper .rp-cart-select[data-has-variants="1"]{
  background:#fff !important;
  border-color:#ff4b0c !important;
  color:#ff4b0c !important;
}
.related-card .rp-cart-wrapper .bc-btn[data-has-variants="1"]:hover,
.related-card .rp-cart-wrapper .bc-btn--select[data-has-variants="1"]:hover,
.related-card .rp-cart-wrapper .rp-cart-select[data-has-variants="1"]:hover{
  background:#fff !important;
  border-color:#e55a00 !important;
  color:#e55a00 !important;
}
.related-card .rp-cart-wrapper .bc-btn[data-has-variants="0"],
.related-card .rp-cart-wrapper .bc-btn--select[data-has-variants="0"],
.related-card .rp-cart-wrapper .rp-cart-select[data-has-variants="0"]{
  background:#ff4b0c !important;
  border-color:#ff4b0c !important;
  color:#fff !important;
}
.related-card .rp-cart-wrapper .bc-btn[data-has-variants="0"]:hover,
.related-card .rp-cart-wrapper .bc-btn--select[data-has-variants="0"]:hover,
.related-card .rp-cart-wrapper .rp-cart-select[data-has-variants="0"]:hover{
  background:#e55a00 !important;
  border-color:#e55a00 !important;
  color:#fff !important;
}

/* 确保SVG图标在按钮中正常显示 */
.related-card .rp-cart-wrapper .rp-cart-icon-only svg {
  margin: 0 auto !important;
  width: 1.35em !important;
  height: 1.35em !important;
  display: block !important;
  margin: auto !important;
  width: 1.35em !important;
  height: 1.35em !important;
}


/* 确保原价颜色为黑色 */
.bc-price del, .bc-price del .amount, .bc-price-fit del, .bc-price-fit del .amount, .price del, .price del .amount { color: #000 !important; }

/* 使用与 shop bc-card 接近的数量样式 */
.related-card .bc-qty{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #ddd;
  border-radius:10px;
  padding:6px 8px;
  background:#fff;
  width:100%;
  max-width:none;
  flex:1 1 auto;
  box-sizing:border-box;
  height:40px;
  min-height:40px;
  justify-content: center;
}
.related-card .bc-qty__btn{
  width:28px;
  height:28px;
  border-radius:8px;
  border:0;
  background:#f5f5f5;
  color:#111;
  font-weight:900;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}
.related-card .bc-qty__btn:focus-visible{outline:2px solid rgba(255,75,12,.4);}
.related-card .bc-qty__input{
  width:52px;
  text-align:center;
  border:0;
  background:transparent;
  font-weight:700;
  font-size:14px;
  height:100%;
  line-height:1.2;
}
.related-card .bc-qty__input::-webkit-inner-spin-button,
.related-card .bc-qty__input::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.related-card .bc-qty__input[type=number]{ -moz-appearance:textfield; }

/* 响应式调整 */
@media (max-width: 575px) {
  .related-card .rp-actions-row {
    flex-direction: column;
    gap: 8px;
  }
  
  .related-card .rp-quantity-wrapper,
  .related-card .rp-cart-wrapper {
    width: 100%;
  }
  
  .related-card .bc-qty {
    max-width: none;
    justify-content: center;
  }
}
}

/* Buy Now 黑色按钮（放在原生加入购物车旁边） */
.single-product .buy-now-button{
  background:#000!important; color:#fff!important; border:0!important;
  padding:12px 18px; border-radius:8px; font-weight:700; margin-left:10px;
}
.single-product .buy-now-button:hover{ background:#111!important; color:#fff!important; }

/* 库存状态条 */
.stock-status-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #fff8e1, #ffffff);
  border: 1px solid rgba(255,122,26,0.3);
  padding: 12px 16px;
  border-radius: 8px;
  margin-top: 12px;
  margin-bottom: 16px;
  color: #000;
  font-weight: 500;
}

.stock-status-bar .benefit-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.89-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E") !important;
}

.stock-text {
  color: #000;
  font-size: 14px;
  font-weight: 500;
}
/* Highlight for specific brands when in stock */
.stock-text--brand-in{ color:#10b981 !important; text-align:left !important; }
/* Inventory capacity badge (three-state) + SKU styling */
.xjm-stock__badge{
  font-size:12px;font-weight:900;letter-spacing:.2px;
  display:inline-flex;align-items:center;gap:8px;margin:6px 0;
  position:relative;padding-left:18px;
}
/* 旧圆点隐藏 */
.xjm-stock__badge .dot{
  width:0;height:0;border-radius:50%;display:none;
}

/* In stock: √ 绿色 */
.xjm-stock__badge.is-in{ color:#10b981; }
.xjm-stock__badge.is-in::before{
  content:"\2713";
  position:absolute;left:0;top:50%;
  transform:translateY(-50%);
  font-size:12px;font-weight:900;color:#10b981;
}

/* Out of stock: × 红色 */
.xjm-stock__badge.is-out{ color:#ef4444; }
.xjm-stock__badge.is-out::before{
  content:"\00D7";
  position:absolute;left:0;top:50%;
  transform:translateY(-50%);
  font-size:12px;font-weight:900;color:#ef4444;
}

/* Pre-sale: ⚠ 橙色 */
.xjm-stock__badge.is-pre{ color:#ff4b0c; }
.xjm-stock__badge.is-pre::before{
  content:"\26A0";
  position:absolute;left:0;top:50%;
  transform:translateY(-50%);
  font-size:12px;font-weight:900;color:#ff4b0c;
}

.product-details__product-info .xjm-sku p{ font-weight:600; }
.product-details__product-info li.xjm-sku-info p{ text-align:left; }
/* hide original qty/unit line under Inventory capacity, but keep our badge visible */
.product-details__product-info .xjm-stock > p:not(.xjm-stock__badge) { display:none; }
/* add spacing between Inventory capacity (badge) and SKU row */
.product-details__product-info li.xjm-sku { margin-top: 10px; }

/* 10% OFF 横幅 */
.promo-banner {
  display: flex;
  height: 60px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin-bottom: 16px;
  position: relative;
  background: #FFB347;
}

.promo-left {
  flex: 1;
  background: linear-gradient(135deg, #000000 0%, #000000 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  position: relative;
  clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%);
  padding-right: 25px;
}

.promo-right {
  flex: 1;
  background: linear-gradient(135deg, #FF7A1A 0%, #FFB347 50%, #FF7A1A 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #000000;
  padding-left: 20px;
  gap: 4px;
}

.promo-percentage {
  font-size: 28px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(90deg, #CC6A00 0%, #FFB347 25%, #FFF 50%, #FFB347 75%, #CC6A00 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  position: relative;
}

.promo-text {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.promo-code {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.code-label {
  color: #000;
  font-weight: 500;
}

.code-value {
  color: #FF7A1A;
  font-weight: bold;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.code-value:hover {
  background: rgba(255,122,26,0.1);
  transform: translateY(-1px);
}

.code-value.copied {
  background: #FF7A1A;
  color: white;
  transform: scale(1.05);
}

/* 优势列表 */
.product-benefits {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e9ecef;
}
.ow-preowned-pdp-trust{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(255,75,12,.28);
  background:linear-gradient(135deg,#111 0%,#27201c 100%);
  color:#fff;
}
.ow-preowned-pdp-trust__label{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.2);
  color:#ffb347;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ow-preowned-pdp-trust h3{
  margin:0 0 10px;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.ow-preowned-pdp-trust p{
  margin:0 0 12px;
  color:rgba(255,255,255,.78);
  line-height:1.55;
}
.ow-preowned-pdp-trust ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.ow-preowned-pdp-trust li{
  position:relative;
  padding-left:22px;
  color:#fff;
  font-weight:700;
}
.ow-preowned-pdp-trust li:before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:8px;
  height:8px;
  background:#ff4b0c;
}

/* 右侧信息区域：在各块之间增加间距，避免元素贴在一起 */
.product-details__content > .stock-status-bar,
.product-details__content > .product-benefits,
.product-details__content > .ow-preowned-pdp-trust,
.product-details__content > .elementor-element-d0c4073,
.product-details__content > .finance-options-section,
.product-details__content > .product-quantity-box-outer,
.product-details__content > .product-details__product-info,
.product-details__content > .xjm-tabs {
  margin-top: 18px;
}
.elementor-element-d0c4073 {
  margin-top: 18px;
}

.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  /* border-bottom: 1px solid #e9ecef; */
}

.benefit-item:last-child {
  border-bottom: none;
}

.benefit-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  position: relative;
  margin-top: 2px;
}

/* 图标样式 */
.benefit-icon::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.benefit-icon[data-icon="calendar"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.89-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E");
}

.benefit-icon[data-icon="truck"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E");
}

.benefit-icon[data-icon="shield"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,7C13.4,7 14.8,8.6 14.8,10V11.5H16.3V16H7.7V11.5H9.2V10C9.2,8.6 10.6,7 12,7M12,8.2C11.2,8.2 10.5,8.7 10.5,10V11.5H13.5V10C13.5,8.7 12.8,8.2 12,8.2Z'/%3E%3C/svg%3E");
}

.benefit-icon[data-icon="return"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M11,9H13.5L9,13.5L4.5,9H7C7,6.24 9.24,4 12,4C14.76,4 17,6.24 17,9H15C15,7.34 13.66,6 12,6C10.34,6 9,7.34 9,9H11M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'/%3E%3C/svg%3E");
}

.benefit-icon[data-icon="gift"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF7A1A' viewBox='0 0 24 24'%3E%3Cpath d='M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A1,1 0 0,1 1,11V8A2,2 0 0,1 3,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H21A2,2 0 0,1 23,8V11A1,1 0 0,1 22,12M4,20H11V12H4V20M20,12H13V20H20V12M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M3,8V10H11V8H3M13,8V10H21V8H13Z'/%3E%3C/svg%3E");
}

.benefit-text {
  color: rgba(0,0,0,0.8);
  font-size: 14px;
  line-height: 1.4;
  flex: 1;
}

.benefit-link {
  color: #FF7A1A;
  text-decoration: none;
  font-weight: 500;
}

.benefit-link:hover {
  text-decoration: underline;
}

/* ===== Enhanced Feature List Icons & Effects ===== */
.feature-list-enhanced {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.feature-list-item::before {
  content: '';
  position: absolute;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 165, 0, 0.1), transparent);
  transition: left 0.6s ease;
}

.feature-list-item:hover::before {
  left: 100%;
}

.feature-list-item:hover {
  transform: translateX(8px);
  background: linear-gradient(90deg, rgba(255, 165, 0, 0.05) 0%, transparent 100%);
}

.feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 22px !important;
  min-width: 32px;
  background: transparent;
  border-radius: 0;
  transition: all 0.3s ease;
  position: relative;
  overflow: visible;
  box-shadow: none;
}

/* 图标外发光圆环 */
.feature-icon::before {
  content: none !important;
}

/* 图标内光泽效果 */
.feature-icon::after {
  content: none !important;
}

@keyframes iconGloss {
  0% {
    transform: rotate(45deg) translateX(-100%) translateY(-100%);
  }
  100% {
    transform: rotate(45deg) translateX(100%) translateY(100%);
  }
}

/* 悬停效果 */
.feature-list-item:hover .feature-icon {
  transform: translateY(-3px) scale(1.1);
}

/* 悬停时外圈扩散 */
.feature-list-item:hover .feature-icon::before { }

@keyframes ringPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 0.6;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

@keyframes iconFloat {
  0%, 100% {
    transform: translateY(-3px) scale(1.1);
  }
  50% {
    transform: translateY(-6px) scale(1.12);
  }
}

.feature-icon svg {
  position: relative;
  z-index: 2;
  color: #FF7A1A;
  filter: none;
  transition: all 0.3s ease;
}

.feature-list-item:hover .feature-icon svg {
  transform: scale(1.15);
}

@keyframes iconWiggle {
  0%, 100% {
    transform: scale(1.15) rotate(0deg);
  }
  25% {
    transform: scale(1.15) rotate(-5deg);
  }
  75% {
    transform: scale(1.15) rotate(5deg);
  }
}

.feature-list-item .list-content {
  flex: 1;
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
  transition: color 0.3s ease;
}

.feature-list-item:hover .list-content {
  color: #000000;
}

.feature-list-item .list-content strong {
  color: #FFA500;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(255, 165, 0, 0);
  transition: text-shadow 0.3s ease;
}

.feature-list-item:hover .list-content strong {
  text-shadow: 0 0 10px rgba(255, 165, 0, 0.3);
}

/* Responsive Design */
@media (max-width: 768px) {
  .feature-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
  
  .feature-icon svg {
    width: 18px;
    height: 18px;
  }
  
  .feature-list-item {
    gap: 10px;
    /* padding: 8px 0; */
  }
  
  .feature-list-item .list-content {
    font-size: 13px;
  }
  /* 让特征列表在移动端单列显示（仅限本模块） */
  .elementor-element-d0c4073 > .e-con-inner {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .elementor-element-d0c4073 > .e-con-inner > .e-con-child {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 16px !important;
  }
  .elementor-element-d0c4073 .feature-list-enhanced {
    flex-direction: column !important;
    width: 100% !important;
  }
}

/* Mobile: feature list grid with full-width text */
@media (max-width: 767.98px){
  .elementor-element-d0c4073 .feature-list-enhanced{
    display:grid !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    gap:12px 16px !important;
  }
  .elementor-element-d0c4073 .feature-list-enhanced .feature-list-item{
    max-width:100% !important;
    justify-content:flex-start !important;
  }
}

/* 响应式设计 */
@media (max-width: 768px) {
  .promo-banner {
    height: auto;
    flex-direction: column;
  }

  .promo-left, .promo-right {
    flex: none;
    padding: 15px;
    clip-path: none;
  }

  .promo-left {
    border-radius: 12px 12px 0 0;
  }

  .promo-right {
    border-radius: 0 0 12px 12px;
  }

  .promo-percentage {
    font-size: 24px;
  }

  .promo-text {
    font-size: 14px;
  }

  .stock-status-bar {
    padding: 10px 12px;
  /* 让优惠信息区、库存条、优势列表在移动端单列显示 */
  .product-benefits {
    flex-direction: column !important;
    width: 100% !important;
  }
  .benefit-item {
    flex-direction: row !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .stock-status-bar {
    flex-direction: row !important;
    width: 100% !important;
    gap: 8px !important;
  }
  }

  .benefit-item {
    gap: 8px;
  }

  .benefit-icon {
    width: 18px;
    height: 18px;
  }

  .benefit-text {
    font-size: 13px;
  }
}

/* 响应式 */
@media (max-width: 768px) {
  .promo-banner {
    flex-direction: column;
  }
  
  .promo-left, .promo-right {
    padding: 16px 20px;
  }
  
  .promo-percentage {
    font-size: 28px;
  }
  
  .promo-text {
    font-size: 16px;
  }
  
  .benefit-item {
    padding: 10px 0;
  }
  
  .benefit-text {
    font-size: 13px;
  }
  /* Finance弹窗按钮、表格、工具区在移动端单列显示并缩小 */
  .finance-modal__footer {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  .finance-modal__btn {
    width: 100% !important;
    font-size: 15px !important;
    padding: 12px 0 !important;
  }
  .finance-table__header, .finance-table__row {
    display: flex;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .finance-table__col {
    width: 100% !important;
    font-size: 14px !important;
    padding: 6px 0 !important;
  }
  .tools {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .tools p {
    margin: 0 0 10px 0 !important;
    width: auto !important;
    padding: 8px 12px !important;
    font-size: 15px !important;
  }
  /* Each price tool occupies its own touch target, without covering VAT. */
  .single-product .price-tools-row > .tools > p > button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  .single-product .price-tools-row .woocommerce-price-suffix {
    display: inline-block;
    white-space: nowrap;
  }
  .product-quantity-box-outer {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .product-quantity-box {
    width: 100% !important;
    margin-bottom: 10px !important;
  }
  /* Make quantity control full-width on mobile to match button */
  .product-quantity-box-outer .quantity{
    width: 100% !important;
    display: flex !important;
  }
  .product-quantity-box-outer .quantity input.qty{
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .product-quantity-box-outer .qty-btn{
    width: 44px !important;
  }
  .single_add_to_cart_button {
    width: 100% !important;
    font-size: 16px !important;
    padding: 12px 0 !important;
    margin-left: 0 !important;
  }
}

/* YITH 按钮区域 */
.product-wishlist-btn.yith-actions{
  display:flex; gap:14px; flex-wrap:wrap; margin-top:14px;
}

/* 心愿单按钮（YITH 默认 class） */
.yith-wcwl-add-to-wishlist .add_to_wishlist,
.yith-wcwl-add-to-wishlist .delete_item,
.yith-wcwl-add-to-wishlist .button{
  background:#000; color:#fff; border:0; border-radius:8px;
  padding:10px 14px; font-weight:700; display:inline-flex; align-items:center; gap:8px;
}
.yith-wcwl-add-to-wishlist .add_to_wishlist:hover,
.yith-wcwl-add-to-wishlist .delete_item:hover,
.yith-wcwl-add-to-wishlist .button:hover{ background:#111; }

/* 对比按钮（YITH Compare 短代码按钮） */
a.compare.button{
  background:#000; color:#fff; border:0; border-radius:8px;
  padding:10px 14px; font-weight:700; display:inline-flex; align-items:center; gap:8px;
}
a.compare.button:hover{ background:#111; }

/* 让“已加入购物车/已加入心愿单”的链接也保留黑色样式 */
a.added_to_cart, .yith-wcwl-wishlistaddedbrowse a, .yith-wcwl-wishlistexistsbrowse a{
  background:#000; color:#fff; border-radius:8px; padding:10px 14px; display:inline-block; font-weight:700;
}
a.added_to_cart:hover,
.yith-wcwl-wishlistaddedbrowse a:hover,
.yith-wcwl-wishlistexistsbrowse a:hover{ background:#111; color:#fff; }
/* .product-wishlist-btn a span{color: white;} */
.tools p{ transform: none;
    background:#fff ;
    border-radius: 10px;
    padding: 6px 10px;
    color: #ff4b0c;
    z-index: 2;}
    .rp-next, .rp-prev { display: none !important; }
 .woosw-btn-icon,.woosc-btn-icon{
    color: #ff4b0c;
    }

  /* 主轮播列相对定位（任选其一） */
.xjm-gallery-box { position: relative; }
.product-details__content .col-xl-6.col-lg-6.col-md-12 { position: relative; }

/* 粘性购物栏样式 */
.xjm-sticky-cart {
  position: fixed;
  left: 0; right: 0; bottom: 0; bottom: max(env(safe-area-inset-bottom, 0px), 0px);
  z-index: 999999999999999 !important;
  background: #fff;
  box-shadow: 0 1px 20px rgba(0,0,0,.1);
  border-top: 1px solid #eaeaea;
  box-sizing: border-box;
  padding-bottom: 8px;
  padding-bottom: max(env(safe-area-inset-bottom, 0px), 8px);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform .25s ease, opacity .25s ease, visibility .25s;
}
.xjm-sticky-cart.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  z-index: 999999999999999 !important;
}
body.single-product.xjm-sticky-cart-visible{
  padding-bottom: calc(var(--xjm-sticky-cart-h, 0px) + 12px);
}
.xjm-sticky-cart__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 10px 16px 10px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
}
.xjm-sticky-cart__thumb {
  width: 56px; height: 56px; border: 1px solid #eee; border-radius: 6px; overflow: hidden;
  display: grid; place-items: center; background: #fff;
}
.xjm-sticky-cart__thumb img { width: 100%; height: 100%; object-fit: contain; }
.xjm-sticky-cart__info { min-width: 0; }
.xjm-sticky-cart__title {
  font-size: 14px; font-weight: 700; line-height: 1.4; margin: 0 0 4px;
  color: #111;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.xjm-sticky-cart__price {
  display: flex; gap: 8px; align-items: baseline;
  font-size: 14px; color: #232323;
}
.xjm-sticky-cart__price s { color: #999; font-size: 13px; }
.xjm-sticky-cart__actions { display: flex; align-items: center; gap: 10px; }
.xjm-qty {
  display: flex; width: 140px; height: 40px;
  border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden; background: #fff;
}
.xjm-qty .btn { flex: 0 0 40px; border: 0; background: #fafafa; font-size: 18px; line-height: 1; cursor: pointer; }
.xjm-qty input {
  flex: 1 1 auto; min-width: 0; border: 0; text-align: center; font-weight: 600; outline: none;
}
.xjm-sticky-cart__button {
  height: 40px; padding: 0 18px; border-radius: 6px; border: 1px solid #232323;
  background: #232323; color: #fff; font-weight: 700; cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.xjm-sticky-cart__button:hover { background: #f6c34e; color: #232323; border-color: #232323; }
.xjm-sticky-cart__close {
  position: absolute; right: 8px; top: -38px; width: 32px; height: 32px;
  display: grid; place-items: center; border-radius: 50%;
  background: #fff; border: 1px solid #e5e5e5; cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  opacity: .95;
}
@media (max-width: 576px) {
  .xjm-sticky-cart__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .xjm-sticky-cart__thumb { display: none; }
  .xjm-sticky-cart__price { display: none; }
  .xjm-sticky-cart__variant { display: none !important; }
  .xjm-sticky-cart__actions { margin-left: auto; }
  .xjm-qty { display: none; }
  .xjm-sticky-cart__title { font-size: 13px; margin: 0; }
  .xjm-sticky-cart__button { height: 40px; padding: 0 14px; white-space: nowrap; }
}

/* ========================= Enhanced Product Description Styles ========================= */

/* Container and Header */
.enhanced-product-description {
  background: #ffffff;
  padding: 60px 0;
  margin: 40px 0;
  position: relative;
}

.epd-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.epd-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
}

 :root{ --epd-title-size: 42px; }
 .epd-title {
   font-family: var(--wd-title-font, 'Roboto', sans-serif);
   font-size: var(--epd-title-size);
   font-weight: 700;
   color: #000000;
   margin: 0 0 12px 0;
   letter-spacing: -0.5px;
   animation: epdTitleFadeIn 0.8s ease-out;
 }

 /* 使以下标题字号与 epd-title 保持一致 */
 .product-details__title h2,
 .xjm-tabs__btn,
 .xjm-panel-inner h2,
 .xjm-panel-inner h3,
 .xjm-panel-inner h4,
 .epd-block-title,
 .epd-specs-title,
 .epd-benefit-title,
 .epd-faq-title,
 .summary__title{
   font-size: var(--epd-title-size);
 }

.epd-subtitle {
  font-family: var(--wd-text-font, 'Open Sans', sans-serif);
  font-size: 18px;
  color: #666666;
  margin: 0 0 20px 0;
  animation: epdSubtitleFadeIn 1s ease-out 0.2s both;
}

.epd-title-underline {
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #FFA500 0%, #FFD700 100%);
  margin: 0 auto;
  border-radius: 2px;
  animation: epdUnderlineGrow 0.8s ease-out 0.4s both;
}

/* Block Layouts */
.epd-block {
  display: grid;
  gap: 40px;
  margin-bottom: 80px;
  align-items: center;
  opacity: 0;
  transform: translateY(30px);
  animation: epdBlockFadeIn 0.8s ease-out forwards;
}

.epd-block:nth-child(2) { animation-delay: 0.2s; }
.epd-block:nth-child(3) { animation-delay: 0.4s; }
.epd-block:nth-child(4) { animation-delay: 0.6s; }

.epd-block--image-left {
  grid-template-columns: 1fr 1fr;
}

.epd-block--image-right {
  grid-template-columns: 1fr 1fr;
}

.epd-block--image-right .epd-block__image {
  order: 2;
}

.epd-block--full-width {
  grid-template-columns: 1fr;
}

/* Image Styling */
.epd-image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.epd-image-wrapper:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.epd-img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.epd-image-wrapper:hover .epd-img {
  transform: scale(1.05);
}

.epd-image-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(255, 165, 0, 0.4);
  animation: epdBadgePulse 2s ease-in-out infinite;
}

.epd-image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
  padding: 24px;
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.epd-image-wrapper:hover .epd-image-overlay {
  transform: translateY(0);
}

.epd-overlay-text {
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

/* Content Styling */
.epd-block__content {
  padding: 20px;
}

.epd-block__content--centered {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px;
}

.epd-block-title {
  font-family: var(--wd-title-font, 'Roboto', sans-serif);
  font-size: 32px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 20px 0;
  line-height: 1.3;
  position: relative;
  display: inline-block;
}

.epd-block-title::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, #FFA500 0%, #FFD700 100%);
  transition: width 0.6s ease;
}

.epd-block:hover .epd-block-title::after {
  width: 60%;
}

.epd-block-text {
  font-family: var(--wd-text-font, 'Open Sans', sans-serif);
  font-size: 16px;
  line-height: 1.8;
  color: #000000;
  margin-bottom: 24px;
}

.epd-block-text p {
  margin: 0 0 16px 0;
}

.epd-block-text p:last-child {
  margin-bottom: 0;
}

/* Feature List */
.epd-feature-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0 0;
}

.epd-feature-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  font-size: 15px;
  color: #000000;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.3s ease;
}

.epd-feature-list li:hover {
  padding-left: 8px;
  background: linear-gradient(90deg, rgba(255, 165, 0, 0.05) 0%, transparent 100%);
}

.epd-feature-list li:last-child {
  border-bottom: none;
}

.epd-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #FFA500 0%, #FFD700 100%);
  color: #ffffff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: bold;
  flex-shrink: 0;
  animation: epdIconRotate 0.6s ease;
}

.epd-feature-list li:hover .epd-icon {
  animation: epdIconBounce 0.6s ease;
}

/* Stats Grid */
.epd-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 32px;
}

.epd-stat-item {
  text-align: center;
  padding: 24px 16px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border: 2px solid #e9ecef;
  border-radius: 12px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.epd-stat-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 165, 0, 0.1), transparent);
  transition: left 0.6s ease;
}

.epd-stat-item:hover::before {
  left: 100%;
}

.epd-stat-item:hover {
  transform: translateY(-6px);
  border-color: #FFA500;
  box-shadow: 0 8px 20px rgba(255, 165, 0, 0.2);
}

.epd-stat-number {
  font-size: 36px;
  font-weight: 700;
  color: #FFA500;
  margin-bottom: 8px;
  font-family: var(--wd-title-font, 'Roboto', sans-serif);
}

.epd-stat-label {
  font-size: 14px;
  color: #666666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Dual Images */
.epd-dual-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 40px 0;
}

.epd-dual-image-item {
  position: relative;
}

.epd-image-caption {
  text-align: center;
  margin-top: 16px;
  font-size: 15px;
  font-weight: 600;
  color: #000000;
}

/* Specifications Table */
.epd-specs-table {
  margin: 48px 0;
  background: #f8f9fa;
  padding: 32px;
  border-radius: 12px;
}

.epd-specs-title {
  font-size: 24px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 24px 0;
  text-align: center;
}

.epd-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.epd-table tbody tr {
  transition: all 0.3s ease;
}

.epd-table tbody tr:hover {
  background: linear-gradient(90deg, rgba(255, 165, 0, 0.08) 0%, transparent 100%);
  transform: translateX(4px);
}

.epd-table-label {
  font-weight: 600;
  color: #000000;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  width: 35%;
}

.epd-table-value {
  color: #000000;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
}

.epd-table tbody tr:last-child .epd-table-label,
.epd-table tbody tr:last-child .epd-table-value {
  border-bottom: none;
}

/* Benefits Grid */
.epd-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 48px 0;
}

.epd-benefit-card {
  background: #ffffff;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.epd-benefit-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FFA500 0%, #FFD700 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.epd-benefit-card:hover::before {
  transform: scaleX(1);
}

.epd-benefit-card:hover {
  transform: translateY(-8px);
  border-color: #FFA500;
  box-shadow: 0 12px 28px rgba(255, 165, 0, 0.2);
}

/* Specs + benefits 在 EPD 模块中必须上下堆叠，不允许并排
   这里使用 .epd-spec-table（与 product-enhancements.css 内一致），
   只让两块作为独立 block 纵向堆叠，不再参与任何左右 float/grid。 */
.enhanced-product-description .epd-spec-table,
.enhanced-product-description .epd-benefits-grid{
  display:block;
  width:100%;
  max-width:100%;
  float:none;
  clear:both;
  margin:0 0 18px 0;
}

.epd-benefit-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FFA500 0%, #FFD700 100%);
  border-radius: 50%;
  transition: all 0.4s ease;
}

.epd-benefit-card:hover .epd-benefit-icon {
  transform: rotate(360deg) scale(1.1);
}

.epd-benefit-icon svg {
  width: 32px;
  height: 32px;
  color: #ffffff;
}

.epd-benefit-title {
  font-size: 18px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 12px 0;
}

.epd-benefit-text {
  font-size: 14px;
  line-height: 1.6;
  color: #666666;
  margin: 0;
}

/* FAQ Section */
.epd-faq-section {
  margin-top: 60px;
  padding: 48px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.epd-faq-title {
  font-size: 32px;
  font-weight: 700;
  color: #000000;
  text-align: center;
  margin: 0 0 40px 0;
}

.epd-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.epd-faq-item {
  background: #ffffff;
  padding: 24px;
  border-radius: 12px;
  border-left: 4px solid #FFA500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.epd-faq-item:hover {
  transform: translateX(8px);
  box-shadow: 0 4px 16px rgba(255, 165, 0, 0.15);
  border-left-width: 6px;
}

.epd-faq-question {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: 0 0 12px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.epd-faq-question::before {
  content: '?';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #FFA500;
  color: #ffffff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

.epd-faq-answer {
  margin: 0;
}

.epd-faq-answer p {
  font-size: 15px;
  line-height: 1.7;
  color: #555555;
  margin: 0;
}

/* Animations */
@keyframes epdTitleFadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes epdSubtitleFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes epdUnderlineGrow {
  from {
    width: 0;
    opacity: 0;
  }
  to {
    width: 80px;
    opacity: 1;
  }
}

@keyframes epdBlockFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes epdBadgePulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 12px rgba(255, 165, 0, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(255, 165, 0, 0.6);
  }
}

@keyframes epdIconRotate {
  from {
    transform: rotate(-180deg);
    opacity: 0;
  }
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}

@keyframes epdIconBounce {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.2); }
  50% { transform: scale(0.9); }
  75% { transform: scale(1.1); }
}

/* Responsive Design */
@media (max-width: 992px) {
  .epd-title {
    font-size: 36px;
  }
  
  .epd-block-title {
    font-size: 28px;
  }
  
  .epd-block--image-left,
  .epd-block--image-right {
    grid-template-columns: 1fr;
  }
  
  .epd-block--image-right .epd-block__image {
    order: 1;
  }
  
  .epd-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .epd-benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .epd-faq-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .enhanced-product-description {
    padding: 40px 0;
  }
  
  .epd-header {
    margin-bottom: 40px;
  }
  
  .epd-title {
    font-size: 30px;
  }
  
  .epd-subtitle {
    font-size: 16px;
  }
  
  .epd-block {
    margin-bottom: 50px;
  }
  
  .epd-block-title {
    font-size: 24px;
  }
  
  .epd-dual-images {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .epd-stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .epd-benefits-grid {
    grid-template-columns: 1fr;
  }
  
  .epd-specs-table {
    padding: 20px;
  }
  
  .epd-table-label,
  .epd-table-value {
    display: block;
    width: 100%;
    padding: 12px 16px;
  }
  
  .epd-table-label {
    border-bottom: none;
    padding-bottom: 4px;
  }
  
  .epd-faq-section {
    padding: 32px 20px;
  }
}

@media (max-width: 576px) {
  .epd-title {
    font-size: 26px;
  }
  
  .epd-block-title {
    font-size: 20px;
  }
  
  .epd-block-text {
    font-size: 15px;
  }
  
  .epd-stat-number {
    font-size: 28px;
  }
  
  .epd-benefit-icon {
    width: 48px;
    height: 48px;
  }
  
  .epd-benefit-icon svg {
    width: 24px;
    height: 24px;
  }
}

    /* ====== 统一产品页面内所有章节标题样式 ====== */
    /* 高优先级覆盖主题样式：针对常见标题选择器（tabs, blocks, spec tables, descriptions 等） */
    .product-details .product-description-box h2,
    .product-details .product-description-box h3,
    .product-details .product-description-box h4,
    .woocommerce-tabs .wc-tab h2,
    .woocommerce-tabs .wc-tab h3,
    .woocommerce-tabs .wc-tab h4,
    .woocommerce-tabs .tabs h2,
    .woocommerce-tabs .tabs h3,
    .woocommerce-Tabs h2,
    .product_meta h2,
    .product_meta h3,
    .epd-block-title,
    .epd-specs-title,
    .epd-faq-title,
    .product-like__full .product-description-box .section-title,
    .product-like__full .product-description-box .heading,
    .product-description-box .section-title,
    .product-description-box .heading,
    .product-details__value h3,
    h2.product-section-title,
    .product-section-title,
    .product-details h2,
    .product-details h3,
    .product-details h4 {
      font-family: var(--wd-title-font, 'Roboto', Arial, sans-serif) !important;
      color: #111111 !important;
      font-weight: 700 !important;
      letter-spacing: -0.2px !important;
      line-height: 1.25 !important;
      margin: 0 0 14px 0 !important;
    }

    /* 一致的字号层级：Description 等主要标题使用 22px，二级使用 18px，三级使用 16px */
    .product-details h2,
    .woocommerce-tabs .tabs h2,
    .epd-block-title,
    .epd-specs-title {
      font-size: 22px !important;
    }
    .product-details h3,
    .woocommerce-tabs .tabs h3,
    .epd-block-text + h3,
    .product-description-box h3 {
      font-size: 18px !important;
    }
    .product-details h4,
    .product-description-box h4 {
      font-size: 16px !important;
    }

    /* 小屏微调 */
    @media (max-width: 768px) {
      .product-details h2, .epd-block-title { font-size: 20px !important; }
      .product-details h3 { font-size: 16px !important; }
      .product-details h4 { font-size: 15px !important; }
    }

    /* 如果某些插件使用 .section-title 或 .heading 类，保证视觉一致 */
    .section-title, .heading { font-family: var(--wd-title-font, 'Roboto', Arial, sans-serif) !important; color:#111 !important; font-weight:700 !important; }


/* ===== Finance Options Section ===== */
.finance-options-section {
  /* margin: 30px 0; */
  position: relative;
  z-index: 10;
}

.finance-trigger {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

/* 背景动画光效 */
.finance-trigger::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent 30%, rgba(255,165,0,0.05) 50%, transparent 70%);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  opacity: 0;
}

.finance-trigger:hover::before {
  opacity: 1;
  animation: financeShine 2s ease-in-out infinite;
}

@keyframes financeShine {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.finance-trigger:hover {
  border-color: #FFA500;
  box-shadow: 0 8px 24px rgba(255,165,0,0.2);
  transform: translateY(-2px);
}

.finance-trigger:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(255,165,0,0.15);
}

/* Icon 容器 */
.finance-trigger__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(255,165,0,0.3);
}

.finance-trigger__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.finance-trigger:hover .finance-trigger__icon::after {
  width: 200%;
  height: 200%;
}

.finance-trigger:hover .finance-trigger__icon {
  transform: rotate(360deg) scale(1.1);
  box-shadow: 0 6px 20px rgba(255,165,0,0.5);
}

.finance-trigger__icon svg {
  position: relative;
  z-index: 1;
  animation: iconPulse 2s ease-in-out infinite;
}

@keyframes iconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

/* Content 区域 */
.finance-trigger__content {
  flex: 1;
  position: relative;
  z-index: 1;
}

.finance-trigger__title {
  font-size: 18px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 4px 0;
  font-family: var(--wd-title-font);
  transition: color 0.3s ease;
}

.finance-trigger:hover .finance-trigger__title {
  color: #FFA500;
  animation: titleShake 0.5s ease;
}

@keyframes titleShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-2px); }
  75% { transform: translateX(2px); }
}

.finance-trigger__subtitle {
  font-size: 14px;
  color: rgba(0,0,0,0.6);
  margin: 0 0 8px 0;
}

.finance-trigger__range {
  font-size: 13px;
  color: rgba(0,0,0,0.8);
  margin: 0;
}

.finance-trigger__range strong {
  color: #FFA500;
  font-weight: 600;
}

/* Arrow 箭头 */
.finance-trigger__arrow {
  flex-shrink: 0;
  color: rgba(0,0,0,0.6);
  transition: all 0.3s ease;
}

.finance-trigger:hover .finance-trigger__arrow {
  color: #FFA500;
  transform: translateX(5px);
  animation: arrowBounce 1s ease-in-out infinite;
}

@keyframes arrowBounce {
  0%, 100% { transform: translateX(5px); }
  50% { transform: translateX(10px); }
}

/* ===== Finance Modal ===== */
.finance-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.finance-modal.active {
  display: flex;
  opacity: 1;
}

.finance-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
  animation: overlayFadeIn 0.3s ease;
}

@keyframes overlayFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.finance-modal__container {
  position: relative;
  background: white;
  border-radius: 16px;
  max-width: 900px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  animation: modalSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  /* 隐藏滚动条但保持滚动功能 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

/* 隐藏 Webkit 浏览器（Chrome, Safari）的滚动条 */
.finance-modal__container::-webkit-scrollbar {
  display: none;
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Close Button */
.finance-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: #f8f9fa;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
  color: rgba(0,0,0,0.6);
}

.finance-modal__close:hover {
  background: #e9ecef;
  color: #000000;
  transform: rotate(90deg);
}

/* Modal Header */
.finance-modal__header {
  padding: 40px 40px 30px;
  border-bottom: 2px solid #f1f1f1;
  text-align: center;
  background: linear-gradient(180deg, #fff8e1 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
}

.finance-modal__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FFA500, #FFD700, #FFA500);
  background-size: 200% 100%;
  animation: gradientShift 3s ease infinite;
}

.finance-modal__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #000000;
}

.finance-modal__logo svg {
  animation: logoSpin 3s linear infinite;
}

@keyframes logoSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.finance-modal__title {
  font-size: 28px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 12px 0;
  font-family: var(--wd-title-font);
}

.finance-modal__subtitle {
  font-size: 16px;
  color: rgba(0,0,0,0.6);
  margin: 0;
}

/* Modal Body */
.finance-modal__body {
  padding: 40px;
}

/* Finance Calculator */
.finance-calculator {
  background: white;
}

.finance-calculator__title {
  font-size: 22px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 24px 0;
  text-align: center;
  font-family: var(--wd-title-font);
}

.finance-calculator__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

.finance-calculator__field label {
  display: block;
  font-size: 14px;
  color: rgba(0,0,0,0.6);
  margin-bottom: 8px;
  font-weight: 500;
}

.finance-calculator__value {
  font-size: 32px;
  font-weight: 700;
  color: #FFA500;
  font-family: var(--wd-title-font);
}

/* Slider */
.finance-calculator__slider {
  margin-bottom: 40px;
  padding: 24px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 12px;
  border: 1px solid #e9ecef;
}

.finance-calculator__slider label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin-bottom: 16px;
}

.slider-container {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.slider-label {
  font-size: 13px;
  color: rgba(0,0,0,0.6);
  white-space: nowrap;
}

.deposit-slider {
  flex: 1;
  height: 6px;
  background: linear-gradient(90deg, #e9ecef 0%, #FFA500 100%);
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.deposit-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(255,165,0,0.4);
  transition: all 0.3s ease;
}

.deposit-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  box-shadow: 0 6px 20px rgba(255,165,0,0.6);
}

.deposit-slider::-moz-range-thumb {
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  border-radius: 50%;
  cursor: pointer;
  border: none;
  box-shadow: 0 4px 12px rgba(255,165,0,0.4);
  transition: all 0.3s ease;
}

.deposit-slider::-moz-range-thumb:hover {
  transform: scale(1.2);
  box-shadow: 0 6px 20px rgba(255,165,0,0.6);
}

.slider-value {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #FFA500;
  font-family: var(--wd-title-font);
  animation: valueGlow 2s ease-in-out infinite;
}

@keyframes valueGlow {
  0%, 100% { text-shadow: 0 0 10px rgba(255,165,0,0.3); }
  50% { text-shadow: 0 0 20px rgba(255,165,0,0.6); }
}

/* Finance Table */
.finance-table {
  margin-bottom: 30px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.finance-table__header {
  display: grid;
  grid-template-columns: 1fr 1fr 0.8fr 1fr 1fr;
  gap: 8px;
  background: linear-gradient(135deg, #000000 0%, #000000 100%);
  color: white;
  padding: 16px 20px;
  font-weight: 600;
  font-size: 14px;
}

.finance-table__row {
  display: grid;
  grid-template-columns: 1fr 1fr 0.8fr 1fr 1fr;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.finance-table__row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #FFA500;
  transform: scaleY(0);
  transition: transform 0.3s ease;
}

.finance-table__row:hover::before {
  transform: scaleY(1);
}

.finance-table__row:hover {
  background: linear-gradient(90deg, #fff8e1 0%, #ffffff 100%);
  transform: translateX(8px);
}

.finance-table__row:last-child {
  border-bottom: none;
}

.finance-table__col {
  display: flex;
  align-items: center;
  font-size: 15px;
  color: rgba(0,0,0,0.8);
}

.finance-table__col strong {
  color: #000000;
  font-weight: 600;
}

/* Representative Example */
.finance-example {
  padding: 24px;
  background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
  border-radius: 12px;
  border-left: 4px solid #FFA500;
}

.finance-example h4 {
  font-size: 16px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 12px 0;
}

.finance-example p {
  font-size: 14px;
  color: rgba(0,0,0,0.8);
  line-height: 1.7;
  margin: 0;
}

.finance-example strong {
  color: #FFA500;
  font-weight: 600;
}

/* Modal Footer */
.finance-modal__footer {
  padding: 30px 40px;
  background: #f8f9fa;
  border-top: 2px solid #e9ecef;
  display: flex;
  gap: 16px;
  justify-content: center;
}

.finance-modal__btn {
  padding: 14px 32px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  overflow: hidden;
}

.finance-modal__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.finance-modal__btn:hover::before {
  width: 300px;
  height: 300px;
}

.finance-modal__btn--primary {
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  color: white;
  box-shadow: 0 4px 16px rgba(255,165,0,0.3);
}

.finance-modal__btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(255,165,0,0.5);
}

.finance-modal__btn--primary:active {
  transform: translateY(0);
}

.finance-modal__btn--primary span,
.finance-modal__btn--primary svg {
  position: relative;
  z-index: 1;
}

.finance-modal__btn--secondary {
  background: white;
  color: rgba(0,0,0,0.6);
  border: 2px solid #e9ecef;
}

.finance-modal__btn--secondary:hover {
  background: #f8f9fa;
  border-color: #dee2e6;
  color: #000000;
}

/* Responsive Design */
@media (max-width: 768px) {
  .finance-trigger {
    padding: 16px 18px;
    flex-wrap: wrap;
  }
  
  .finance-trigger__icon {
    width: 40px;
    height: 40px;
  }
  
  .finance-trigger__content {
    flex: 1 1 calc(100% - 60px);
  }
  
  .finance-trigger__arrow {
    flex: 0 0 auto;
  }
  
  .finance-modal__container {
    width: 95%;
    max-height: 95vh;
  }
  
  .finance-modal__header,
  .finance-modal__body,
  .finance-modal__footer {
    padding: 24px 20px;
  }
  
  .finance-modal__title {
    font-size: 22px;
  }
  
  .finance-calculator__row {
    grid-template-columns: 1fr;
  }
  
  .finance-table__header,
  .finance-table__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  
  .finance-table__header {
    display: none;
  }
  
  .finance-table__col {
    padding: 4px 0;
  }
  
  .finance-table__col::before {
    content: attr(data-label);
    font-weight: 600;
    margin-right: 8px;
    color: #000000;
  }
  
  .finance-modal__footer {
    flex-direction: column;
  }
  
  .finance-modal__btn {
    width: 100%;
    justify-content: center;
  }
}

/* Scrollbar Styling */
.finance-modal__container::-webkit-scrollbar {
  width: 8px;
}

.finance-modal__container::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.finance-modal__container::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #FFA500 0%, #FF8C00 100%);
  border-radius: 4px;
}

.finance-modal__container::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #FF8C00 0%, #FFA500 100%);
}

/* ===== 复选框价格布局 ===== */
.rp-price-checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

/* 自定义复选框容器 */
.rp-checkbox-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}

/* 隐藏默认复选框 */
.rp-checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 0;
  height: 0;
}

/* 自定义复选框样式 - 黑白灰 */
.rp-checkmark {
  position: relative;
  height: 24px;
  width: 24px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 2px solid #dee2e6;
  border-radius: 6px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Hover 效果 - 黄色 */
.rp-checkbox-container:hover .rp-checkmark {
  border-color: #FFA500;
  background: linear-gradient(135deg, #fff8e1 0%, #ffe0b2 100%);
  box-shadow: 0 4px 8px rgba(255,165,0,0.15);
  transform: translateY(-1px);
}

/* 选中状态 - 黑色背景 */
.rp-checkbox-container input:checked ~ .rp-checkmark {
  background: linear-gradient(135deg, #000000 0%, #000000 100%);
  border-color: #000000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: checkboxPulse 0.4s ease;
}

/* 勾选标记 */
.rp-checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 7px;
  top: 3px;
  width: 6px;
  height: 11px;
  border: solid white;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

.rp-checkbox-container input:checked ~ .rp-checkmark:after {
  display: block;
  animation: checkmarkSlide 0.3s ease 0.1s both;
}

/* 动画效果 */
@keyframes checkboxPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

@keyframes checkmarkSlide {
  0% { 
    opacity: 0;
    transform: rotate(45deg) translate(-3px, 3px);
  }
  100% { 
    opacity: 1;
    transform: rotate(45deg) translate(0, 0);
  }
}

/* 价格信息容器 */
.rp-price-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* 未税价格样式 */
.rp-price-excl-tax {
  font-size: 12px;
  color: rgba(0,0,0,0.6);
  font-weight: 400;
}

.rp-price-excl-tax::before {
  content: "💰 ";
  opacity: 0.6;
}

/* ===== 售后服务部分样式 ===== */
.product-aftercare-section {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}

.product-aftercare-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FFA500, #FFD700, #FFA500);
  background-size: 200% 100%;
  animation: gradientShift 8s ease infinite;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.aftercare-header {
  margin-bottom: 24px;
}

.aftercare-title {
  font-size: 26px;
  font-weight: 700;
  color: #000000;
  margin: 0 0 12px 0;
  position: relative;
  display: inline-block;
}

.aftercare-title::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #FFA500, #FFD700);
  border-radius: 2px;
}

.aftercare-accordions {
  display: grid;
  gap: 16px;
  margin-bottom: 32px;
}

/* 手风琴样式 */
.aftercare__accordion {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  position: relative;
}

/* 悬停光效 - 每个手风琴独立光效 */
.aftercare__accordion::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, transparent 30%, rgba(255,165,0,0.1) 50%, transparent 70%);
  background-size: 300% 300%;
  border-radius: 12px;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.aftercare__accordion:hover::before {
  opacity: 1;
  animation: shimmerFlow 3s ease infinite;
}

@keyframes shimmerFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* 悬停状态 - 不同的颜色主题 */
.aftercare__accordion:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border-color: #dee2e6;
  transform: translateX(4px);
}

/* 第1个手风琴 - 橙色主题 */
.aftercare__accordion[data-index="0"]:hover {
  box-shadow: 0 8px 24px rgba(255,165,0,0.2);
}

.aftercare__accordion[data-index="0"]:hover::before {
  background: linear-gradient(45deg, transparent 30%, rgba(255,165,0,0.15) 50%, transparent 70%);
  background-size: 300% 300%;
}

/* 第2个手风琴 - 金黄主题 */
.aftercare__accordion[data-index="1"]:hover {
  box-shadow: 0 8px 24px rgba(255,215,0,0.2);
}

.aftercare__accordion[data-index="1"]:hover::before {
  background: linear-gradient(45deg, transparent 30%, rgba(255,215,0,0.15) 50%, transparent 70%);
  background-size: 300% 300%;
}

/* 第3个手风琴 - 深橙主题 */
.aftercare__accordion[data-index="2"]:hover {
  box-shadow: 0 8px 24px rgba(255,140,0,0.2);
}

.aftercare__accordion[data-index="2"]:hover::before {
  background: linear-gradient(45deg, transparent 30%, rgba(255,140,0,0.15) 50%, transparent 70%);
  background-size: 300% 300%;
}

/* 第4个手风琴 - 黑灰主题 */
.aftercare__accordion[data-index="3"]:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.aftercare__accordion[data-index="3"]:hover::before {
  background: linear-gradient(45deg, transparent 30%, rgba(0,0,0,0.08) 50%, transparent 70%);
  background-size: 300% 300%;
}

.aftercare__accordion[open] {
  border-color: #FFA500;
  box-shadow: 0 6px 20px rgba(255,165,0,0.15);
  transform: translateX(0);
}

.aftercare__accordion[open]::before {
  opacity: 0;
}

.aftercare__summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}

.aftercare__summary::-webkit-details-marker {
  display: none;
}

/* 悬停时的背景渐变 */
.aftercare__summary:hover {
  background: linear-gradient(90deg, #f8f9fa 0%, #ffffff 100%);
}

/* 不同手风琴的悬停背景 */
.aftercare__accordion[data-index="0"]:hover .aftercare__summary {
  background: linear-gradient(90deg, rgba(255,165,0,0.05) 0%, #ffffff 100%);
}

.aftercare__accordion[data-index="1"]:hover .aftercare__summary {
  background: linear-gradient(90deg, rgba(255,215,0,0.05) 0%, #ffffff 100%);
}

.aftercare__accordion[data-index="2"]:hover .aftercare__summary {
  background: linear-gradient(90deg, rgba(255,140,0,0.05) 0%, #ffffff 100%);
}

.aftercare__accordion[data-index="3"]:hover .aftercare__summary {
  background: linear-gradient(90deg, rgba(0,0,0,0.03) 0%, #ffffff 100%);
}

.aftercare__accordion[open] .aftercare__summary {
  background: linear-gradient(90deg, #fff8e1 0%, #ffffff 100%);
  border-bottom: 1px solid #e9ecef;
}

.summary__icon {
  flex-shrink: 0;
  width: 44px;
  height: 56px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

/* 图标内部光效 */
.summary__icon::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.3) 50%, transparent 70%);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  opacity: 0;
}

.aftercare__accordion:hover .summary__icon::after {
  opacity: 1;
  animation: iconShine 2s ease-in-out infinite;
}

@keyframes iconShine {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

/* 不同手风琴的图标颜色 */
.aftercare__accordion[data-index="0"]:hover .summary__icon {
  background: linear-gradient(135deg, rgba(255,165,0,0.15) 0%, rgba(255,165,0,0.25) 100%);
  transform: scale(1.08) rotate(-5deg);
}

.aftercare__accordion[data-index="1"]:hover .summary__icon {
  background: linear-gradient(135deg, rgba(255,215,0,0.15) 0%, rgba(255,215,0,0.25) 100%);
  transform: scale(1.08) rotate(5deg);
}

.aftercare__accordion[data-index="2"]:hover .summary__icon {
  background: linear-gradient(135deg, rgba(255,140,0,0.15) 0%, rgba(255,140,0,0.25) 100%);
  transform: scale(1.08) rotate(-5deg);
}

.aftercare__accordion[data-index="3"]:hover .summary__icon {
  background: linear-gradient(135deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.15) 100%);
  transform: scale(1.08) rotate(5deg);
}

.aftercare__accordion[open] .summary__icon {
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(255,165,0,0.3);
}

.aftercare__accordion[open] .summary__icon::after {
  opacity: 0;
}

.summary__icon svg {
  width: 24px;
  height: 24px;
  fill: #FF7A1A;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

/* 悬停时SVG动画 */
.aftercare__accordion:hover .summary__icon svg {
  animation: iconPulse 1.5s ease-in-out infinite;
}

@keyframes iconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.aftercare__accordion[open] .summary__icon svg {
  fill: white;
  animation: none;
  transform: scale(1);
}

.summary__title {
  flex: 1;
  font-size: 17px;
  font-weight: 600;
  color: #000000;
  margin: 0;
  transition: color 0.3s ease;
}

.aftercare__accordion[open] .summary__title {
  color: #FFA500;
}

.icon-caret {
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  fill: #FF7A1A;
}

.aftercare__accordion[open] .icon-caret {
  transform: rotate(180deg);
  fill: #FFA500;
}

.aftercare__content {
  padding: 0 24px 24px 84px;
  color: rgba(0,0,0,0.8);
  line-height: 1.7;
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.aftercare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.aftercare-list li {
  padding: 10px 0;
  padding-left: 28px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 6px;
  margin: 4px 0;
}

.aftercare-list li:hover {
  padding-left: 35px;
  background: linear-gradient(90deg, rgba(255,248,225,0.5) 0%, transparent 100%);
  transform: translateX(5px);
}

.aftercare-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 10px;
  width: 20px;
  height: 20px;
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  color: #000000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px rgba(255,165,0,0.3);
}

.aftercare-list li:hover::before {
  transform: scale(1.15) rotate(360deg);
  box-shadow: 0 4px 12px rgba(255,165,0,0.5);
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
}

/* 悬停时勾号发光 */
.aftercare__accordion[open] .aftercare-list li:hover::before {
  animation: checkGlow 1.5s ease-in-out infinite;
}

@keyframes checkGlow {
  0%, 100% {
    box-shadow: 0 4px 12px rgba(255,165,0,0.5);
  }
  50% {
    box-shadow: 0 4px 20px rgba(255,165,0,0.8), 0 0 30px rgba(255,215,0,0.6);
  }
}

.aftercare-list li strong {
  color: #000000;
  font-weight: 600;
}

/* 配送信息横幅 */
.delivery-info-banner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  padding: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border: 2px solid #e9ecef;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}

.delivery-info-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: linear-gradient(135deg, rgba(255,215,0,0.05) 0%, rgba(255,165,0,0.05) 100%);
  pointer-events: none;
}

.delivery-item {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.delivery-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 10px;
  background: linear-gradient(135deg, #fff8e1 0%, #ffe0b2 100%);
  border-radius: 12px;
  transition: all 0.3s ease;
}

.delivery-item:hover .delivery-icon {
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  transform: scale(1.05) rotate(5deg);
  box-shadow: 0 4px 12px rgba(255,165,0,0.3);
}

.delivery-icon .cls-1 {
  fill: none;
  stroke: #FFA500;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  transition: stroke 0.3s ease;
}

.delivery-item:hover .delivery-icon .cls-1 {
  stroke: white;
}

.delivery-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.delivery-text strong {
  font-size: 15px;
  font-weight: 600;
  color: #000000;
}

.delivery-text span {
  font-size: 14px;
  color: rgba(0,0,0,0.6);
}

/* 响应式设计 */
@media (max-width: 768px) {
  .product-aftercare-section {
    padding: 24px 20px;
  }
  
  .aftercare-title {
    font-size: 22px;
  }
  
  .aftercare__summary {
    padding: 16px 18px;
    gap: 12px;
  }
  
  .aftercare__content {
    padding: 0 18px 20px 64px;
  }
  
  .summary__icon {
    width: 40px;
    height: 40px;
  }
  
  .delivery-info-banner {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}

/* ===== 产品选中状态样式 ===== */
.related-card.product-selected {
  background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
  border: 2px solid #FFA500;
  box-shadow: 0 8px 24px rgba(255,165,0,0.2);
  transform: translateY(-4px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.related-card.product-selected::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255,215,0,0.05) 0%, rgba(255,165,0,0.05) 100%);
  border-radius: 12px;
  pointer-events: none;
  animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

/* ===== 通知样式 ===== */
.bulk-cart-notification {
  position: fixed;
  top: 20px;
  right: 20px;
  min-width: 320px;
  max-width: 480px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  z-index: 999999;
  transform: translateX(120%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-left: 4px solid #FF7A1A;
}

.bulk-cart-notification.show {
  transform: translateX(0);
}

.bulk-cart-notification--success {
  border-left-color: #FFD700;
  background: linear-gradient(135deg, #fffef0 0%, #ffffff 100%);
}

.bulk-cart-notification--error {
  border-left-color: #000000;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.bulk-cart-notification--warning {
  border-left-color: #FFA500;
  background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
}

.bulk-cart-notification--info {
  border-left-color: #FF7A1A;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.notification-content {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.notification-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  background: #e9ecef;
  color: rgba(0,0,0,0.6);
}

.bulk-cart-notification--success .notification-icon {
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  color: #000000;
  animation: successBounce 0.6s ease;
}

.bulk-cart-notification--error .notification-icon {
  background: linear-gradient(135deg, #000000 0%, #000000 100%);
  color: white;
  animation: shake 0.5s ease;
}

.bulk-cart-notification--warning .notification-icon {
  background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
  color: white;
  animation: swing 0.6s ease;
}

.bulk-cart-notification--info .notification-icon {
  background: linear-gradient(135deg, #000000 0%, #000000 100%);
  color: white;
}

@keyframes successBounce {
  0%, 100% { transform: scale(1); }
  30% { transform: scale(1.2); }
  50% { transform: scale(0.95); }
  70% { transform: scale(1.05); }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

@keyframes swing {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-10deg); }
  75% { transform: rotate(10deg); }
}

.notification-message {
  font-size: 15px;
  color: #000000;
  line-height: 1.4;
  font-weight: 500;
}

.notification-close {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: none;
  background: #f8f9fa;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  color: rgba(0,0,0,0.6);
  transition: all 0.2s ease;
  line-height: 1;
}

.notification-close:hover {
  background: #e9ecef;
  color: #000000;
  transform: rotate(90deg);
}

/* 加载状态按钮 */
.add_to_cart_button.loading,
.single_add_to_cart_button.loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.add_to_cart_button.loading::after,
.single_add_to_cart_button.loading::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 50%;
  margin: -10px 0 0 -10px;
  border: 3px solid rgba(255,255,255,0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* 响应式 - 通知 */
@media (max-width: 576px) {
  .bulk-cart-notification {
    top: 10px;
    right: 10px;
    left: 10px;
    min-width: auto;
    max-width: none;
    padding: 14px 18px;
  }
  
  .notification-icon {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
  
  .notification-message {
    font-size: 14px;
  }
}


  