/* DiyYarn：仅前端商品列表和 CommerceKit/WooCommerce 图库定位，不写后台设置界面。 */
/* DiyYarn Visual Core：所有徽章均在产品图片区域内，CSS 不修改价格或商品数据。 */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product .product-image { position:relative; }
.single-product div.product .woocommerce-product-gallery{position:relative;}
.single-product div.product .woocommerce-product-gallery > .dyvc-badges{position:absolute;inset:0;display:block;z-index:8;}
/* CommerceKit SSR：官方 commercekit_before_gallery Hook 在图库 wrapper 内直接输出徽章。
   第一帧即可显示；JS 只在替换图库或原生 WooCommerce 兜底时补挂，不操作轮播图列表。 */
body.single-product #commercegurus-pdp-gallery-wrapper {position:relative;}
body.single-product #commercegurus-pdp-gallery-wrapper > .dyvc-single-sale-overlay {
  position:absolute;inset:0;display:block;z-index:12;pointer-events:none;
}
/* fallback: only JS-mounted gallery badge uses this host; no transition/fade-in. */
body.single-product .cg-main-swiper.dyvc-sale-gallery-host,
body.single-product .woocommerce-product-gallery.dyvc-sale-gallery-host {position:relative;}
body.single-product .dyvc-sale-gallery-host > .dyvc-single-sale-overlay {
  position:absolute;inset:0;z-index:12;pointer-events:none;display:block;
}
body.single-product .dyvc-single-sale-overlay .dyvc-top-right {
  top:var(--dyvc-badge-offset,10px);right:var(--dyvc-badge-offset,10px);
}
/* Only the fallback outside both accepted gallery hosts is hidden to prevent misplaced badges. */
body.single-product .dyvc-single-sale-overlay:not(#commercegurus-pdp-gallery-wrapper > .dyvc-single-sale-overlay):not(.dyvc-sale-gallery-host > .dyvc-single-sale-overlay) {
  visibility:hidden;
}

/* 手机端只在前台 max-width:767px 启用独立 Sale 圆形与文字字号。 */
@media (max-width:767px) {
  .dyvc-badges {
    --dyvc-active-circle-size:var(--dyvc-mobile-circle-size,52px);
    --dyvc-active-sale-word-size:var(--dyvc-mobile-sale-word-size,10px);
    --dyvc-active-sale-percent-size:var(--dyvc-mobile-sale-percent-size,18px);
  }
  .dyvc-badge-stack {gap:min(var(--dyvc-stack-gap,5px),5px);}
  .dyvc-badge {padding:min(var(--dyvc-badge-pad-v,5px),5px) min(var(--dyvc-badge-pad-h,8px),7px);font-size:min(var(--dyvc-label-size,14px),12px);}
  .dyvc-badge.dyvc-circle {font-size:11px;}
  .dyvc-badge.dyvc-new {font-size:min(var(--dyvc-new-font-size,14px),12px);}
  .dyvc-badge.dyvc-tier {font-size:min(var(--dyvc-bulk-font-size,14px),12px);}
  .dyvc-badge.dyvc-free {font-size:min(var(--dyvc-free-font-size,14px),12px);}
}
