@polyv/product-ui 1.0.0-rc-20250612.3 → 1.1.0-rc-20250703.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/address-edit.cjs.js +2 -2
  2. package/address-edit.es.js +22 -9
  3. package/address-edit.umd.js +2 -2
  4. package/address-item.cjs.js +2 -2
  5. package/address-item.es.js +12 -12
  6. package/address-item.umd.js +2 -2
  7. package/address-list.cjs.js +2 -2
  8. package/address-list.es.js +30 -18
  9. package/address-list.umd.js +3 -3
  10. package/big-card-popup.cjs.js +9 -0
  11. package/big-card-popup.es.d.ts +3 -0
  12. package/big-card-popup.es.js +4402 -0
  13. package/big-card-popup.umd.js +9 -0
  14. package/index.cjs.js +3 -3
  15. package/index.es.js +1438 -708
  16. package/index.umd.js +3 -3
  17. package/mobile-product-pendant.cjs.js +3 -3
  18. package/mobile-product-pendant.es.js +45 -35
  19. package/mobile-product-pendant.umd.js +3 -3
  20. package/order-confirm.cjs.js +2 -2
  21. package/order-confirm.es.js +30 -18
  22. package/order-confirm.umd.js +2 -2
  23. package/order-detail.cjs.js +2 -2
  24. package/order-detail.es.js +30 -18
  25. package/order-detail.umd.js +2 -2
  26. package/order-item.cjs.js +2 -2
  27. package/order-item.es.js +21 -9
  28. package/order-item.umd.js +2 -2
  29. package/order-list-popup.cjs.js +3 -3
  30. package/order-list-popup.es.js +40 -19
  31. package/order-list-popup.umd.js +2 -2
  32. package/order-list.cjs.js +2 -2
  33. package/order-list.es.js +21 -9
  34. package/order-list.umd.js +2 -2
  35. package/order-popup.cjs.js +2 -2
  36. package/order-popup.es.js +40 -19
  37. package/order-popup.umd.js +2 -2
  38. package/package.json +2 -1
  39. package/pc-product-pendant.cjs.js +3 -3
  40. package/pc-product-pendant.es.js +21 -9
  41. package/pc-product-pendant.umd.js +3 -3
  42. package/product-button.cjs.js +3 -3
  43. package/product-button.es.js +298 -261
  44. package/product-button.umd.js +3 -3
  45. package/product-detail-popup.cjs.js +3 -3
  46. package/product-detail-popup.es.js +265 -203
  47. package/product-detail-popup.umd.js +3 -3
  48. package/product-detail.cjs.js +3 -3
  49. package/product-detail.es.js +337 -283
  50. package/product-detail.umd.js +3 -3
  51. package/product-iframe-link-popup.cjs.js +2 -2
  52. package/product-iframe-link-popup.es.js +13 -4
  53. package/product-iframe-link-popup.umd.js +2 -2
  54. package/product-item.cjs.js +3 -3
  55. package/product-item.es.js +419 -222
  56. package/product-item.umd.js +3 -3
  57. package/product-list-popup.cjs.js +3 -3
  58. package/product-list-popup.es.js +445 -313
  59. package/product-list-popup.umd.js +3 -3
  60. package/product-list.cjs.js +3 -3
  61. package/product-list.es.js +436 -312
  62. package/product-list.umd.js +3 -3
  63. package/small-card.cjs.js +8 -0
  64. package/small-card.es.d.ts +3 -0
  65. package/small-card.es.js +4463 -0
  66. package/small-card.umd.js +9 -0
@@ -1,4 +1,4 @@
1
- !function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode('@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-font-din-pro-regular{font-family:D-DIN-PRO-Regular,sans-serif}.plv-font-din-pro-medium{font-family:D-DIN-PRO-Medium,sans-serif}.plv-font-din-pro-bold{font-family:D-DIN-PRO-Bold,sans-serif}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer{position:relative;flex-shrink:0}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
1
+ !function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode('.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag-container:last-child{margin-right:0}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-common-popup--horizontal-screen .plv-product-c-product-info__detail--mobile{padding-bottom:0}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAJiklEQVR4Xu3du4ucVRjH8TOE7LRWVhZWioraWKlg0MJSEHJTsPAf8B9QDAiiIFpZipVgl8Q/QUSwjWhh1EqsZDdo2M3FXWV2d7I793Pec3suX8v4vuc85/c8n8w7M9lkFPiPBEhgaQKPfv7PlRHZkAAJLCZwiGMU3gcI00ECcwlMcUx+GSCMBwmcSuA0DoAwGiSwBgdAGA8SOE5g/pVjGgyPWIyI+wRW4eAVxP1oEMA6HABhPlwnsAkHQFyPh+/Dx+AAiO8ZcXv6WBwAcTsifg+eggMgfufE5clTcQDE5Zj4PPQQHADxOSvuTj0UB0DcjYq/A+fgAIi/eXF14lwcAHE1Lr4OWwIHQHzNjJvTlsIBEDcj4+egJXEAxM/cuDhpaRwAcTE2Pg5ZAwdAfMyO+VPWwgEQ86Nj/4A1cQDE/vyYPmFtHAAxPT62D9cCB0Bsz5DZ07XCARCzI2T3YC1xAMTuHJk8WWscADE5RjYP1QMHQGzOkrlT9cIBEHOjZO9APXEAxN48mTpRbxwAMTVOtg4jAQdAbM2UmdNIwQEQMyNl5yCScADEzlyZOIk0HAAxMVY2DiERB0BszJb6U0jFARD1o6X/AJJxAET/fKk+gXQcAFE9XrqL14ADILpnTG31WnAARO2I6S1cEw6A6J0zlZVrwwEQlWOms2iNOACic9bUVa0VB0DUjZq+gjXjAIi+eVNVsXYcAFE1brqKtYADILpmTk21VnAARM3I6SnUEg6A6Jk7FZVawwEQFWOno0iLOACiY/bEV2kVB0DEj578Ai3jAIj8+RNdoXUcABE9frKL84ADILJnUGx1XnAAROwIyi3MEw6AyJ1DkZV5wwEQkWMosyiPOAAicxbFVeUVB0DEjaK8gjzjAIi8eRRVkXccABE1jrKKAcdRP0ay2kI1EhIAx0kXACJhIgXVAI7ZZgBE0HD2LgUcix0ASO+pFLI/OJY3AiBCBrRnGeBYnT5Aek6mgL3Bsb4JABEwpL1KAMfm5AGyOSOTV4Ajrq0AicvJ1FXgiG8nQOKzMnElONLaCJC0vFRfDY709gEkPTOVd4BjWNsAMiw3VXeBY3i7ADI8OxV3giOvTQDJy0/03eDIbw9A8jMUuQI4yrQFIGVyFLUKOMq1AyDlshSxEjjKtgEgZfPsuho4yscPkPKZdlkRHHViB0idXJuuCo56cQOkXrZNVgZH3ZgBUjffqquDo2q8h4sDpH7GVXYAR5VYFxYFSJuci+4CjqJxrl0MIO2yLrITOIrEGL0IQKKj6n8hONr3ACDtMx+0IzgGxZZ9E0CyI6y/ADjqZ7xqB4D0yz5qZ3BExVTtIoBUizZ/YXDkZ5i7AkByE6x0PzgqBZu4LEASA2txOThapBy3B0Dicmp2FTiaRR21EUCiYmpzETja5JyyC0BS0qp4LTgqhpuxNEAywit1KzhKJVl+HYCUzzRpRXAkxdX8YoA0j/xkQ3B0DD9ya4BEBlX6MnCUTrTOegCpk+vaVcHRIfSBWwJkYHBDbwPH0OT63AeQhrmDo2HYhbYCSKEgNy0Djk0Jyfz/AGnQF3A0CLnSFgCpFOx0WXBUDrjy8gCpGDA48sJ9/pEz4fs/9vMWybwbIJkBrrodHHnBXnlxK7z19Fb44Lu74csf7+ctlnE3QDLCA0eF8EIIUxzT1XsiAUjhHvPKkRfoPI7eSACS18+Zu8GRF+YqHD2RACSvpw/uBkdekJtwTFd/79s74auf/s3bLOFugCSExXuOAmEtWSIWRw8kAMnsOa8ceQGm4miNBCAZ/QVHRnhLPq1KXa3F4xZAUrtyfD04BgZ3fNvQV475XWsjAciAPoNjQGinbimFo8XjFkASew2OxMDmLi+NozYSgCT0GxwJYRX4tCp1txqPWwCJ7AI4IoNacVmtV47a70kAEtF3cESEtOaSVjhqPG4BZEPvwaELR2kkAFnTfwk43nluK3xx4364fe+/vEntcPe7L2yFt5/Z6rBzCDd3DsKrX+9m7w2QFRH2xjFpzKevjMNrj50NP/+1Hy5d2wu3+/1YRPKgtX6sOl3gbzsH4eK13bB9J7nshRsAsiRDSTim5WlCYgXHJHuAzAGRiEMTEks4AKIIhwYk1nAA5BQQya8c80+BEh+3PnxpHC49eTb/oX/ACiXfc8xvzyNWCEETDomvJFZx8AqiFIckJJZxuAei8ZVj2ePWG9f3wt/3BjybZN5iHYdrIBZwTOf7l+39cOFqWyQecLgFYglHDyRecLgEYhFHSySecLgDYhlHCyTecLgC4gFHTSQecbgB0hvHJOjPjv/gYeYHR9G3l3zj7hWHCyAScHx8bhzOP9H+W+YSSDzjMA9EAo5JyJ+8PA6vP94eyGTvHCTecZgGIgXH9JmoN5LL1/fCTsLPR4DjqHMm/yyWNBwSkPx+6yCcv7obhQQcJ2/1zAGRikMLEnDMfg5iCoh0HNKRgGPxQ0IzQLTgkIoEHMs/QTcBRBsOaUjAsfrrJfVAtOKYtuSjc+NwocN3JJP9f905CD/8uR/efKrPR9A3tw/C5W/2wvae3L/SSDUQ7TgkvJJEfzVf+MKaPyZbslS1QKzg8IhECw6134NYw+EJiSYcKoFYxeEBiTYc6oBYx2EZiUYcqoB4wWERiVYcaoB4w2EJiWYcKoB4xWEBiXYc4oF4x6EZiQUcooGAY/brrp4/T5L6xZsVHGKBgGP5SGpAYgmHSCDgWP/7tWQk1nCIAwKOuIcZiUgs4hAFBBxxOCS+cbeKQwwQcKThkITEMg4RQMAxDIcEJNZxdAcCjjwcPZF4wNEVCDjK4OiBxAuObkDAURZHSySecHQBAo46OFog8YajORBw1MVRE4lHHE2BgKMNjhpIvOJoBgQcbXGUROIZRxMg4OiDowQS7ziqAwFHXxw5SMBxlF61vxcLHDJwDEECjpPeVQECDlk4UpCAY7Z3xYGAQyaOGCTgWOxdUSDgkI1jHRJwLO9dMSDg0IFjGRJwrO5dESDg0IXjNJJnHz4TLl7bDdsJ/8CnztMOqzobCDiGBS/lrofGo3Drrtx/n6N3TllAwNG7fexfO4HBQMBRuzWsLyGBQUDAIaF11NAigWQg4GjRFvaQkkASEHBIaRt1tEogGgg4WrWEfSQlEAUEHJJaRi0tE9gIBBwt28Fe0hJYCwQc0tpFPa0TWAkEHK1bwX4SE1gKBBwSW0VNPRJYAAKOHm1gT6kJzAABh9Q2UVevBB4AAUevFrCv5AQOgYBDcouorWcCI3D0jJ+9pSfwP3eG5IxiNQqFAAAAAElFTkSuQmCC);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__footer{position:relative;flex-shrink:0}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -475,6 +475,7 @@ function get(object, path, defaultValue) {
475
475
  }
476
476
  const order$5 = { "title": "订单中心", "chooseAddress": "请添加收货地址", "add": "去添加", "phone": "手机号码:", "phonePlaceholder": "请输入手机号码", "submitOrder": "提交订单", "addAddress": "添加地址", "applyRefund": "申请退款", "refundTips": "退款金额 ", "confirmRefund": "退款", "refundFailed": "退款失败", "failed": "发起失败", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待发货", "delivering": "待收货", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合计", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看详情", "deliveringBtnText": "确认收货", "finishBtnText": "查看详情", "closeBtnText": "查看详情", "emptyText": "暂无订单" }, "detail": { "orderNo": "订单号", "createTime": "下单时间", "payTime": "支付时间", "deliveryTime": "发货时间", "finishTime": "完成时间", "actualPay": "实付", "payNow": "立即支付", "confirmReceipt": "确认收货", "expired": "已失效", "payAutoCancel": " 后自动取消", "cancelReason": "取消原因", "payTimeOut": "超时未支付", "refundTips": "退款金额原路返回", "qrCodeTips": "长按识别或截图保存,联系客服", "qrCodeExpiredTips": "二维码已失效,暂时无法联系客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付宝" }, "confirmOrder": "确认订单", "shippingAddress": "收货地址", "noAddressTips": "请填写收货地址", "paySuccess": "支付成功", "cancelPay": "取消支付", "payFailed": "支付失败", "createOrderFailed": "无法创建订单,请稍后重试", "wechatPayTips": "请在微信中打开本页进行支付", "confirmReceiptTips": "请确认已经收到包裹", "confirmedReceipt": "已确认收货" };
477
477
  const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
478
+ const bigCard$5 = { "title": "商品推荐" };
478
479
  const zhCNLang = {
479
480
  "common.confirm": "确认",
480
481
  "common.cancel": "取消",
@@ -502,10 +503,12 @@ const zhCNLang = {
502
503
  "product.allProduct": "全部商品",
503
504
  "product.stock.soldOut": "已抢光",
504
505
  order: order$5,
505
- addressEdit: addressEdit$5
506
+ addressEdit: addressEdit$5,
507
+ bigCard: bigCard$5
506
508
  };
507
509
  const order$4 = { "title": "訂單中心", "chooseAddress": "請添加收貨地址", "add": "去添加", "phone": "手機號碼:", "phonePlaceholder": "請輸入手機號碼", "submitOrder": "提交訂單", "addAddress": "添加地址", "applyRefund": "申請退款", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "发起失敗", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待發貨", "delivering": "待收貨", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合計", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看詳情", "deliveringBtnText": "確認收貨", "finishBtnText": "查看詳情", "closeBtnText": "查看詳情", "emptyText": "暫無訂單" }, "detail": { "orderNo": "訂單號", "createTime": "下單時間", "payTime": "支付時間", "deliveryTime": "發貨時間", "finishTime": "完成時間", "actualPay": "實付", "payNow": "立即支付", "confirmReceipt": "確認收貨", "expired": "已失效", "payAutoCancel": " 後自動取消", "cancelReason": "取消原因", "payTimeOut": "超時未支付", "refundTips": "退款金額原路返回", "qrCodeTips": "長按識別或截圖保存,聯繫客服", "qrCodeExpiredTips": "二維碼已失效,暫時無法聯繫客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付寶" }, "confirmOrder": "確認訂單", "shippingAddress": "收貨地址", "noAddressTips": "請填寫收貨地址", "paySuccess": "支付成功", "payFailed": "支付失敗", "cancelPay": "取消支付", "createOrderFailed": "無法創建訂單,請稍後重試", "wechatPayTips": "請在微信中打開本頁進行支付", "confirmReceiptTips": "請確認已經收到包裹", "confirmedReceipt": "已確認收貨" };
508
510
  const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
511
+ const bigCard$4 = { "title": "商品推薦" };
509
512
  const zhTWLang = {
510
513
  "common.confirm": "確認",
511
514
  "common.cancel": "取消",
@@ -533,10 +536,12 @@ const zhTWLang = {
533
536
  "product.allProduct": "全部商品",
534
537
  "product.stock.soldOut": "已搶光",
535
538
  order: order$4,
536
- addressEdit: addressEdit$4
539
+ addressEdit: addressEdit$4,
540
+ bigCard: bigCard$4
537
541
  };
538
542
  const order$3 = { "title": "Order Center", "chooseAddress": "Add Shipping Address", "add": "Add Shipping Address", "phone": "Phone:", "phonePlaceholder": "Enter Phone", "submitOrder": "Submit", "addAddress": "Add Address", "applyRefund": "Apply Refund", "refundTips": "Refund Amount ", "confirmRefund": "Refund", "refundFailed": "Refund Failed", "failed": "Failed", "list": { "all": "All", "waitPay": "Wait Payment", "waitDelivery": "Wait Delivery", "delivering": "Delivering", "finish": "Finished", "close": "Closed", "refunding": "Refunding", "refunded": "Refunded", "total": "Total", "waitPayBtnText": "Pay Now", "waitDeliveryBtnText": "View Details", "deliveringBtnText": "Confirm Receipt", "finishBtnText": "View Details", "closeBtnText": "View Details", "emptyText": "No Order History" }, "detail": { "orderNo": "Order Number", "createTime": "Order Time", "payTime": "Payment Time", "deliveryTime": "Delivery Time", "finishTime": "Completion Time", "actualPay": "Total Amount", "payNow": "Pay Now", "confirmReceipt": "Confirm Receipt", "expired": "Expired", "payAutoCancel": "Cancel", "cancelReason": "Cancel Reason", "payTimeOut": "Pay Time Out", "refundTips": "Refund amount returned to the original path", "qrCodeTips": "Long press to scan or save screenshot for support", "qrCodeExpiredTips": "QR code expired, support unavailable", "paymentMethod": "Payment Method", "wechat": "Wechat", "alipay": "Alipay" }, "confirmOrder": "Confirm Order", "shippingAddress": "Shipping Address", "noAddressTips": "Please fill in the shipping address", "paySuccess": "Payment Success", "cancelPay": "Cancel Payment", "payFailed": "Payment Failed", "createOrderFailed": "Failed to create order, please try again later", "wechatPayTips": "Please open this page in WeChat to pay", "confirmReceiptTips": "Have you received the package?", "confirmedReceipt": "Confirmed Receipt" };
539
543
  const addressEdit$3 = { "name": "Name", "namePlaceholder": "Enter Name", "choiceAddress": "Select Area", "addressPlaceholder": "Select Area", "phone": "Phone", "phonePlaceholder": "Enter Phone", "phoneError": "Please enter a valid phone number", "addressDetail": "Address Detail", "addressDetailPlaceholder": "Enter Address Detail", "error": "Please fill in all required fields", "submit": "Save", "deleteConfirm": "Delete this address?", "deleteAddress": "Yes", "addAddress": "Add Address", "editAddress": "Edit Address", "addSuccess": "Save Success", "addError": "Save Failed", "editSuccess": "Edit Success", "editError": "Edit Failed" };
544
+ const bigCard$3 = { "title": "Top Picks" };
540
545
  const enLang = {
541
546
  "common.confirm": "Confirm",
542
547
  "common.cancel": "Cancel",
@@ -564,10 +569,12 @@ const enLang = {
564
569
  "product.allProduct": "Products",
565
570
  "product.stock.soldOut": "Sold Out",
566
571
  order: order$3,
567
- addressEdit: addressEdit$3
572
+ addressEdit: addressEdit$3,
573
+ bigCard: bigCard$3
568
574
  };
569
575
  const order$2 = { "title": "注文中心", "chooseAddress": "配送先を追加", "add": "配送先を追加", "phone": "電話番号:", "phonePlaceholder": "電話番号を入力", "submitOrder": "注文を提出", "addAddress": "配送先を追加", "applyRefund": "退款申請", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "失敗", "list": { "all": "全て", "waitPay": "支払い待ち", "waitDelivery": "発送待ち", "delivering": "配送中", "finish": "完了", "close": "キャンセル", "refunding": "退款中", "refunded": "退款完了", "total": "合計", "waitPayBtnText": "支払い", "waitDeliveryBtnText": "詳細を見る", "deliveringBtnText": "確認受け取り", "finishBtnText": "詳細を見る", "closeBtnText": "詳細を見る", "emptyText": "注文履歴がありません" }, "detail": { "orderNo": "注文番号", "createTime": "注文日時", "payTime": "支払い日時", "deliveryTime": "発送日時", "finishTime": "完了日時", "actualPay": "実払い", "payNow": "支払い", "confirmReceipt": "確認受け取り", "expired": "失効", "payAutoCancel": " 後自動キャンセル", "cancelReason": "キャンセル理由", "payTimeOut": "超時未支払い", "refundTips": "退款金額原路返回", "qrCodeTips": "長押し識別またはスクリーンショット保存、サポートにお問い合わせください", "qrCodeExpiredTips": "QRコードは失効しました。暫時的にサポートに連絡できません", "paymentMethod": "支払い方法", "wechat": "ウェブアプリ", "alipay": "アリペイ" }, "confirmOrder": "注文を確認", "shippingAddress": "配送先", "noAddressTips": "配送先を入力してください", "paySuccess": "支払い成功", "cancelPay": "支払いをキャンセル", "payFailed": "支払い失敗", "createOrderFailed": "注文の作成に失敗しました。後で再試行してください。", "wechatPayTips": "WeChatでこのページを開いて支払いしてください", "confirmReceiptTips": "パッケージを確認しましたか?", "confirmedReceipt": "確認受け取り完了" };
570
576
  const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
577
+ const bigCard$2 = { "title": "商品推薦" };
571
578
  const jaLang = {
572
579
  "common.confirm": "確認",
573
580
  "common.cancel": "キャンセル",
@@ -595,10 +602,12 @@ const jaLang = {
595
602
  "product.allProduct": "すべての商品",
596
603
  "product.stock.soldOut": "売り切れ",
597
604
  order: order$2,
598
- addressEdit: addressEdit$2
605
+ addressEdit: addressEdit$2,
606
+ bigCard: bigCard$2
599
607
  };
600
608
  const order$1 = { "title": "주문 센터", "chooseAddress": "주문 주소 추가", "add": "주문 주소 추가", "phone": "전화번호:", "phonePlaceholder": "전화번호 입력", "submitOrder": "주문 제출", "addAddress": "주문 주소 추가", "applyRefund": "환불 신청", "refundTips": "환불 금액 ", "confirmRefund": "환불", "refundFailed": "환불 실패", "failed": "실패", "list": { "all": "전체", "waitPay": "결제 대기", "waitDelivery": "배송 대기", "delivering": "배송 중", "finish": "완료", "close": "취소", "refunding": "환불 중", "refunded": "환불 완료", "total": "총 금액", "waitPayBtnText": "결제하기", "waitDeliveryBtnText": "상세 보기", "deliveringBtnText": "확인 받기", "finishBtnText": "상세 보기", "closeBtnText": "상세 보기", "emptyText": "주문 내역이 없습니다." }, "detail": { "orderNo": "주문번호", "createTime": "주문일시", "payTime": "결제일시", "deliveryTime": "배송일시", "finishTime": "완료일시", "actualPay": "총 금액", "payNow": "결제하기", "confirmReceipt": "확인 받기", "expired": "만료", "payAutoCancel": " 후 자동 취소", "cancelReason": "취소 사유", "payTimeOut": "결제 시간 초과", "refundTips": "환불 금액 원래 경로로 반환", "qrCodeTips": "장치 인식 또는 스크린샷 저장 후 문의", "qrCodeExpiredTips": "이미 만료되었습니다. 잠시 후 다시 시도해주세요.", "paymentMethod": "결제 방법", "wechat": "웹앱", "alipay": "알리페이" }, "confirmOrder": "주문 확인", "shippingAddress": "배송 주소", "noAddressTips": "배송 주소를 입력해주세요", "paySuccess": "결제 성공", "cancelPay": "결제 취소", "payFailed": "결제 실패", "createOrderFailed": "주문 생성에 실패했습니다. 나중에 다시 시도해주세요.", "wechatPayTips": "카카오톡에서 이 페이지를 열어 결제해주세요", "confirmReceiptTips": "패키지를 확인하셨습니까?", "confirmedReceipt": "확인 받기 완료" };
601
609
  const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
610
+ const bigCard$1 = { "title": "상품 추천" };
602
611
  const koLang = {
603
612
  "common.confirm": "확인",
604
613
  "common.cancel": "취소",
@@ -626,10 +635,12 @@ const koLang = {
626
635
  "product.allProduct": "모든 상품",
627
636
  "product.stock.soldOut": "품절",
628
637
  order: order$1,
629
- addressEdit: addressEdit$1
638
+ addressEdit: addressEdit$1,
639
+ bigCard: bigCard$1
630
640
  };
631
641
  const order = { "title": "Центр заказов", "chooseAddress": "Пожалуйста, добавьте адрес доставки", "add": "Добавить", "phone": "Номер телефона:", "phonePlaceholder": "Пожалуйста, введите номер телефона", "submitOrder": "Отправить заказ", "addAddress": "Добавить адрес", "applyRefund": "Заявить о возврате", "refundTips": "Сумма возврата ", "confirmRefund": "Возврат", "refundFailed": "Возврат не удался", "failed": "Не удалось инициировать", "list": { "all": "Все", "waitPay": "Ожидает оплаты", "waitDelivery": "Ожидает отправки", "delivering": "Ожидает получения", "finish": "Завершено", "close": "Отменено", "refunding": "В процессе возврата", "refunded": "Возвращено", "total": "Итого", "waitPayBtnText": "Оплатить сейчас", "waitDeliveryBtnText": "Посмотреть детали", "deliveringBtnText": "Подтвердить получение", "finishBtnText": "Посмотреть детали", "closeBtnText": "Посмотреть детали", "emptyText": "Пока нет заказов" }, "detail": { "orderNo": "Номер заказа", "createTime": "Время создания заказа", "payTime": "Время оплаты", "deliveryTime": "Время отправки", "finishTime": "Время завершения", "actualPay": "Фактически оплачено", "payNow": "Оплатить сейчас", "confirmReceipt": "Подтвердить получение", "expired": "Истек срок действия", "payAutoCancel": " автоматическая отмена", "cancelReason": "Причина отмены", "payTimeOut": "Время оплаты истекло", "refundTips": "Сумма возврата вернется тем же способом", "qrCodeTips": "Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом", "qrCodeExpiredTips": "QR-код истек, временно невозможно связаться с сервисом", "paymentMethod": "Способ оплаты", "wechat": "Веб-приложение", "alipay": "АлиПай" }, "confirmOrder": "Подтвердить заказ", "shippingAddress": "Адрес доставки", "noAddressTips": "Пожалуйста, заполните адрес доставки", "paySuccess": "Оплата успешна", "cancelPay": "Отменить оплату", "payFailed": "Оплата не удалась", "createOrderFailed": "Не удается создать заказ, попробуйте позже", "wechatPayTips": "Пожалуйста, откройте эту страницу в WeChat для оплаты", "confirmReceiptTips": "Пожалуйста, подтвердите, что посылка получена", "confirmedReceipt": "Получение подтверждено" };
632
642
  const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
643
+ const bigCard = { "title": "Товары" };
633
644
  const ruLang = {
634
645
  "common.confirm": "Подтвердить",
635
646
  "common.cancel": "Отмена",
@@ -657,7 +668,8 @@ const ruLang = {
657
668
  "product.allProduct": "Все товары",
658
669
  "product.stock.soldOut": "Распродано",
659
670
  order,
660
- addressEdit
671
+ addressEdit,
672
+ bigCard
661
673
  };
662
674
  const fullI18nData = {
663
675
  [LangType.ZH_CN]: zhCNLang,
@@ -1213,12 +1225,12 @@ function getCurrentUAInfo() {
1213
1225
  return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
1214
1226
  }
1215
1227
  const ua = navigator.userAgent.toLowerCase();
1216
- const uaInfo = getCurrentUAInfo();
1217
- const isAndroid = uaInfo.os.isAndroid;
1218
- const isIOS = uaInfo.os.isIOS;
1219
- const weixinVersion = uaInfo.client.version;
1220
- const isWeixin = uaInfo.client.isWx;
1221
- const isWorkWeixin = uaInfo.client.isWxWork;
1228
+ const uaInfo$1 = getCurrentUAInfo();
1229
+ const isAndroid$1 = uaInfo$1.os.isAndroid;
1230
+ const isIOS$1 = uaInfo$1.os.isIOS;
1231
+ const weixinVersion = uaInfo$1.client.version;
1232
+ const isWeixin = uaInfo$1.client.isWx;
1233
+ const isWorkWeixin = uaInfo$1.client.isWxWork;
1222
1234
  const isPcMiniProgram = (isWeixin || isWorkWeixin) && /miniprogramenv/.test(ua);
1223
1235
  function __isMobile() {
1224
1236
  const ua2 = navigator.userAgent;
@@ -1235,7 +1247,7 @@ function __isMobile() {
1235
1247
  function __isTablet() {
1236
1248
  const ua2 = navigator.userAgent;
1237
1249
  if (/(?:iPad|PlayBook)/.test(ua2)) return true;
1238
- if (uaInfo.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
1250
+ if (uaInfo$1.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
1239
1251
  return false;
1240
1252
  }
1241
1253
  const isMob = __isMobile();
@@ -1340,7 +1352,8 @@ function getProductTargetExport(productTarget) {
1340
1352
  ProductExplainStatus: productTarget.ProductExplainStatus,
1341
1353
  ProductMediaType: productTarget.ProductMediaType,
1342
1354
  ProductDeliveryType: productTarget.ProductDeliveryType,
1343
- ProductEvents: productTarget.ProductEvents
1355
+ ProductEvents: productTarget.ProductEvents,
1356
+ ProductPushRule: productTarget.ProductPushRule
1344
1357
  };
1345
1358
  }
1346
1359
  const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
@@ -1439,6 +1452,91 @@ const useProductStock = (options) => {
1439
1452
  isSoldOut
1440
1453
  };
1441
1454
  };
1455
+ const useScreenOrientHook = (params = {}) => {
1456
+ const { autoListen = true, autoListenCb = () => {
1457
+ } } = params;
1458
+ const { injectData } = useGlobalInject();
1459
+ const screenOrientationMode = ref(
1460
+ "Vertical"
1461
+ /* Vertical */
1462
+ );
1463
+ const pageFullscreen = computed(() => {
1464
+ var _a;
1465
+ return (_a = injectData.pageFullscreen) != null ? _a : false;
1466
+ });
1467
+ const isVerticalScreenOrientation = computed(() => {
1468
+ if (!isMobile) {
1469
+ return false;
1470
+ }
1471
+ return screenOrientationMode.value === "Vertical";
1472
+ });
1473
+ const isHorizontalScreenOrientation = computed(() => {
1474
+ if (!isMobile) {
1475
+ return false;
1476
+ }
1477
+ if (pageFullscreen.value) {
1478
+ return true;
1479
+ }
1480
+ return screenOrientationMode.value === "Horizontal";
1481
+ });
1482
+ function resetScreenOrientationModeByWindow() {
1483
+ if (window.innerWidth < window.innerHeight) {
1484
+ screenOrientationMode.value = "Vertical";
1485
+ }
1486
+ }
1487
+ function updateScreenOrientationModeManually() {
1488
+ if (window.orientation === 180 || window.orientation === 0) {
1489
+ screenOrientationMode.value = "Vertical";
1490
+ }
1491
+ if (window.orientation === 90 || window.orientation === -90) {
1492
+ screenOrientationMode.value = "Horizontal";
1493
+ }
1494
+ resetScreenOrientationModeByWindow();
1495
+ }
1496
+ function onOrientationChange() {
1497
+ setTimeout(() => {
1498
+ const mql = window.matchMedia("(orientation: portrait)");
1499
+ if (mql == null ? void 0 : mql.matches) {
1500
+ screenOrientationMode.value = "Vertical";
1501
+ } else {
1502
+ screenOrientationMode.value = "Horizontal";
1503
+ }
1504
+ resetScreenOrientationModeByWindow();
1505
+ autoListenCb(screenOrientationMode.value);
1506
+ }, 200);
1507
+ }
1508
+ function listenOrientationEvent() {
1509
+ window.addEventListener(
1510
+ "onorientationchange" in window ? "orientationchange" : "resize",
1511
+ onOrientationChange,
1512
+ false
1513
+ );
1514
+ }
1515
+ function unlistenOrientationEvent() {
1516
+ window.removeEventListener(
1517
+ "onorientationchange" in window ? "orientationchange" : "resize",
1518
+ onOrientationChange,
1519
+ false
1520
+ );
1521
+ }
1522
+ onMounted(() => {
1523
+ if (autoListen) {
1524
+ listenOrientationEvent();
1525
+ onOrientationChange();
1526
+ }
1527
+ });
1528
+ onBeforeUnmount(() => {
1529
+ unlistenOrientationEvent();
1530
+ });
1531
+ return {
1532
+ screenOrientationMode,
1533
+ isVerticalScreenOrientation,
1534
+ isHorizontalScreenOrientation,
1535
+ pageFullscreen,
1536
+ listenOrientationEvent,
1537
+ updateScreenOrientationModeManually
1538
+ };
1539
+ };
1442
1540
  const hasOwnProperty = Object.prototype.hasOwnProperty;
1443
1541
  function hasOwnProp(r2, n2) {
1444
1542
  return hasOwnProperty.call(r2, n2);
@@ -6022,56 +6120,66 @@ Object.keys(prototypes).forEach((prototypeGroup) => {
6022
6120
  });
6023
6121
  Swiper.use([Resize, Observer]);
6024
6122
  const supportWebP = /* @__PURE__ */ (() => {
6025
- let A2;
6123
+ let e;
6026
6124
  return () => {
6027
- if (null == A2) try {
6028
- A2 = function() {
6029
- const A3 = document.createElement("canvas");
6030
- if (A3.getContext && A3.getContext("2d")) {
6031
- const e = "image/webp";
6032
- return 0 === A3.toDataURL(e).indexOf("data:" + e);
6125
+ if (null == e) try {
6126
+ e = function() {
6127
+ const e2 = document.createElement("canvas");
6128
+ if (e2.getContext && e2.getContext("2d")) {
6129
+ const A2 = "image/webp";
6130
+ return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
6033
6131
  }
6034
6132
  return false;
6133
+ }() || function() {
6134
+ let e2 = false;
6135
+ const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
6136
+ if (t2) e2 = parseInt(t2[1]) >= 14;
6137
+ else {
6138
+ const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
6139
+ t3 && (e2 = parseInt(t3[1]) >= 16);
6140
+ }
6141
+ return e2;
6035
6142
  }();
6036
- } catch (e) {
6037
- A2 = false;
6143
+ } catch (A2) {
6144
+ e = false;
6038
6145
  }
6039
- return A2;
6146
+ return e;
6040
6147
  };
6041
6148
  })();
6042
- function getExtname(A2) {
6043
- const e = (A2 || "").split("."), t2 = e[e.length - 1];
6149
+ function getExtname(e) {
6150
+ const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
6044
6151
  return t2 ? t2.toLowerCase() : "";
6045
6152
  }
6046
- function handleCompressOptions(A2) {
6047
- var e, t2;
6048
- const r2 = "number" == typeof A2 ? { width: A2 } : A2;
6049
- return r2.allowJPG = null === (e = r2.allowJPG) || void 0 === e || e, r2.allowWebP = null !== (t2 = r2.allowWebP) && void 0 !== t2 ? t2 : "auto", r2;
6153
+ function handleCompressOptions(e) {
6154
+ var A2, t2;
6155
+ const n2 = "number" == typeof e ? { width: e } : e;
6156
+ return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
6050
6157
  }
6051
- function createURLObject(A2) {
6052
- let e;
6158
+ function createURLObject(e) {
6159
+ let A2;
6053
6160
  if ("undefined" != typeof document) {
6054
6161
  const t2 = document.createElement("a");
6055
- t2.href = A2, e = t2;
6162
+ t2.href = e, A2 = t2;
6056
6163
  } else if ("function" == typeof URL) try {
6057
- e = new URL(/^\/\//.test(A2) ? "https:" + A2 : A2);
6058
- } catch (A3) {
6164
+ A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
6165
+ } catch (e2) {
6059
6166
  }
6060
- return e;
6167
+ return A2;
6061
6168
  }
6062
- function genOSSCompressParams(A2, e) {
6169
+ function genOSSCompressParams(e, A2) {
6063
6170
  let t2 = "";
6064
- return null == e.width && null == e.height || (t2 += "/resize", e.width && (t2 += ",w_" + e.width), e.height && (t2 += ",h_" + e.height), t2 += ",limit_1"), e.allowAVIF && "gif" !== A2 ? t2 += "/format,avif" : true === e.allowWebP || "auto" === e.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : e.allowJPG && "gif" !== A2 && (t2 += "/format,jpg/quality,Q_80"), t2;
6171
+ return null == A2.width && null == A2.height || (t2 += "/resize", A2.width && (t2 += ",w_" + A2.width), A2.height && (t2 += ",h_" + A2.height), t2 += ",limit_1"), A2.allowAVIF && "gif" !== e ? t2 += "/format,avif" : true === A2.allowWebP || "auto" === A2.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : A2.allowJPG && "gif" !== e && (t2 += "/format,jpg/quality,Q_80"), t2;
6065
6172
  }
6066
- function setOSSCompressParams(A2, e) {
6173
+ function setOSSCompressParams(e, A2) {
6067
6174
  let t2 = false;
6068
- return A2 = A2.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (A3, r2, o2) => (t2 = true, /^image/.test(o2) ? r2 + "=" + o2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + e : A3)), t2 ? A2 : A2 + (-1 === A2.indexOf("?") ? "?" : "&") + "x-oss-process=image" + e;
6069
- }
6070
- function ossCompress(A2, e) {
6071
- const t2 = createURLObject(A2);
6072
- if (!t2) return A2;
6073
- if (!/\.videocc\.net$/i.test(t2.hostname)) return A2;
6074
- const r2 = genOSSCompressParams(getExtname(t2.pathname.split("/").pop()), handleCompressOptions(e));
6175
+ return e = e.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (e2, n2, r2) => (t2 = true, /^image/.test(r2) ? n2 + "=" + r2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + A2 : e2)), t2 ? e : e + (-1 === e.indexOf("?") ? "?" : "&") + "x-oss-process=image" + A2;
6176
+ }
6177
+ function ossCompress(e, A2) {
6178
+ const t2 = createURLObject(e);
6179
+ if (!t2) return e;
6180
+ const n2 = getExtname(t2.pathname.split("/").pop());
6181
+ if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
6182
+ const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
6075
6183
  return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
6076
6184
  }
6077
6185
  const emitFunc = () => () => true;
@@ -6365,24 +6473,31 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6365
6473
  }
6366
6474
  function isTitleOverflowing() {
6367
6475
  const titleEl = titleRef.value;
6368
- if (!titleEl) return false;
6476
+ if (!titleEl || !titleEl.parentElement) {
6477
+ return false;
6478
+ }
6479
+ const originalRect = titleEl.getBoundingClientRect();
6369
6480
  const clone = titleEl.cloneNode(true);
6370
- const computedStyle = window.getComputedStyle(titleEl);
6371
- clone.style.font = computedStyle.font;
6372
- clone.style.lineHeight = computedStyle.lineHeight;
6373
- clone.style.display = "block";
6374
- clone.style.width = titleEl.clientWidth + "px";
6375
- clone.style.visibility = "hidden";
6376
6481
  clone.style.position = "absolute";
6482
+ clone.style.top = "-9999px";
6483
+ clone.style.left = "-9999px";
6484
+ clone.style.visibility = "hidden";
6485
+ clone.style.width = `${originalRect.width}px`;
6486
+ clone.style.boxSizing = "border-box";
6377
6487
  clone.style.whiteSpace = "normal";
6378
- document.body.appendChild(clone);
6379
- const isOverflowing = clone.scrollHeight > titleEl.clientHeight + 1;
6380
- document.body.removeChild(clone);
6381
- return isOverflowing;
6488
+ clone.style.webkitLineClamp = "unset";
6489
+ clone.style.display = "block";
6490
+ titleEl.parentElement.appendChild(clone);
6491
+ const cloneHeight = clone.getBoundingClientRect().height;
6492
+ titleEl.parentElement.removeChild(clone);
6493
+ return cloneHeight > originalRect.height + 1;
6382
6494
  }
6383
- function checkTitleOverflow() {
6495
+ const checkOverflow2 = () => {
6384
6496
  moreArrowVisible.value = isTitleOverflowing();
6385
- }
6497
+ };
6498
+ onMounted(() => {
6499
+ checkOverflow2();
6500
+ });
6386
6501
  watch(
6387
6502
  () => props.title,
6388
6503
  () => {
@@ -6390,14 +6505,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6390
6505
  titleRef.value.classList.remove("plv-product-c-item__title--expanded");
6391
6506
  }
6392
6507
  nextTick$1(() => {
6393
- checkTitleOverflow();
6508
+ checkOverflow2();
6394
6509
  });
6395
6510
  }
6396
6511
  );
6397
- onMounted(() => {
6398
- checkTitleOverflow();
6399
- });
6400
- return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkTitleOverflow, ProductIconArrowDown };
6512
+ return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkOverflow: checkOverflow2, ProductIconArrowDown };
6401
6513
  }
6402
6514
  });
6403
6515
  var _sfc_render$3 = function render7() {
@@ -6443,6 +6555,104 @@ var __component__$2 = /* @__PURE__ */ normalizeComponent(
6443
6555
  _sfc_staticRenderFns$2
6444
6556
  );
6445
6557
  const ProductInfo = __component__$2.exports;
6558
+ var __awaiter = function(i2, n2, o2, t2) {
6559
+ return new (o2 || (o2 = Promise))(function(e, a2) {
6560
+ function r2(i3) {
6561
+ try {
6562
+ k2(t2.next(i3));
6563
+ } catch (i4) {
6564
+ a2(i4);
6565
+ }
6566
+ }
6567
+ function l2(i3) {
6568
+ try {
6569
+ k2(t2.throw(i3));
6570
+ } catch (i4) {
6571
+ a2(i4);
6572
+ }
6573
+ }
6574
+ function k2(i3) {
6575
+ var n3;
6576
+ i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
6577
+ i4(n3);
6578
+ })).then(r2, l2);
6579
+ }
6580
+ k2((t2 = t2.apply(i2, n2 || [])).next());
6581
+ });
6582
+ };
6583
+ const uaInfo = getCurrentUAInfo();
6584
+ const isAndroid = uaInfo.os.isAndroid;
6585
+ const isIOS = uaInfo.os.isIOS;
6586
+ var LinkType;
6587
+ !function(i2) {
6588
+ i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
6589
+ }(LinkType || (LinkType = {}));
6590
+ var LinkJumpWay;
6591
+ function getNativeToPointMallFn() {
6592
+ var i2, n2, o2, t2;
6593
+ return isAndroid ? null === (i2 = window.AndroidNative) || void 0 === i2 ? void 0 : i2.toPointMall : isIOS ? null === (t2 = null === (o2 = null === (n2 = window.webkit) || void 0 === n2 ? void 0 : n2.messageHandlers) || void 0 === o2 ? void 0 : o2.gotoPointsMall) || void 0 === t2 ? void 0 : t2.postMessage : void 0;
6594
+ }
6595
+ function toNativeLink(i2) {
6596
+ const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
6597
+ if (e) {
6598
+ let i3 = isAndroid ? n2 : o2;
6599
+ const t3 = encodeURIComponent(location.href);
6600
+ i3 = concat(i3, { plt_back_uri: t3 });
6601
+ e(JSON.stringify({ url: i3 }));
6602
+ } else window.open(t2, "_blank", "noopener=yes");
6603
+ }
6604
+ function toPlvWebviewBridge(i2) {
6605
+ return __awaiter(this, void 0, void 0, function* () {
6606
+ const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
6607
+ e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
6608
+ });
6609
+ }
6610
+ function toMultiPlatformLink(i2) {
6611
+ return __awaiter(this, void 0, void 0, function* () {
6612
+ const { linkData: n2, isWxMiniProgramEnv: o2, toWxMiniProgram: t2, openLink: e, getLinkParams: a2, isMobile: r2 } = i2, { wxMiniprogramLink: l2, mobileLink: k2, pcLink: d2 } = n2, s2 = (null == r2 ? void 0 : r2()) || false;
6613
+ let u2 = false;
6614
+ try {
6615
+ u2 = (yield null == o2 ? void 0 : o2()) || false;
6616
+ } catch (i3) {
6617
+ u2 = false;
6618
+ }
6619
+ u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
6620
+ });
6621
+ }
6622
+ !function(i2) {
6623
+ i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
6624
+ }(LinkJumpWay || (LinkJumpWay = {}));
6625
+ function formatLink(i2, n2) {
6626
+ let o2 = {};
6627
+ if (n2) {
6628
+ const t2 = n2(i2);
6629
+ o2 = Object.assign({}, o2, t2);
6630
+ }
6631
+ return concat(i2, o2);
6632
+ }
6633
+ function navigateToLink(i2) {
6634
+ const { linkData: n2, openLink: o2, isPlvWebview: t2, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, getLinkParams: k2, isMobile: d2 } = i2, { linkType: s2 } = n2, u2 = (null == t2 ? void 0 : t2()) || false;
6635
+ if (s2 !== LinkType.Native) {
6636
+ if (u2) {
6637
+ let i3 = "";
6638
+ const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
6639
+ switch (s2) {
6640
+ case LinkType.Normal:
6641
+ i3 = o3;
6642
+ break;
6643
+ case LinkType.MultiPlatform:
6644
+ i3 = r3 || t3;
6645
+ }
6646
+ let u3 = null;
6647
+ return s2 !== LinkType.Normal && (u3 = { mobileLink: formatLink(t3, k2), wxMiniprogramOriginalId: l3, wxMiniprogramLink: formatLink(d3, k2), mobileAppLink: formatLink(r3, k2) }), void toPlvWebviewBridge({ link: formatLink(i3, k2), data: u3, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2 });
6648
+ }
6649
+ if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
6650
+ else {
6651
+ const { link: i3, jumpWay: t3 } = n2;
6652
+ o2(formatLink(i3, k2), t3);
6653
+ }
6654
+ } else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
6655
+ }
6446
6656
  const useTrackEvent = (iarCore) => {
6447
6657
  const { injectData } = useGlobalInject();
6448
6658
  function trackEvent(data) {
@@ -6456,7 +6666,7 @@ const useTrackEvent = (iarCore) => {
6456
6666
  trackEvent
6457
6667
  };
6458
6668
  };
6459
- const htmlChars = ['"', "'", "&", "<", ">"], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
6669
+ const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;", "&nbsp;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
6460
6670
  htmlChars.forEach((n2, e) => {
6461
6671
  charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
6462
6672
  });
@@ -6511,7 +6721,7 @@ const useWeixinButton = (hookOptions = {}) => {
6511
6721
  }
6512
6722
  const wx = yield injectData.getWeixinSdk();
6513
6723
  (_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
6514
- url
6724
+ url: url.startsWith("/") ? url : `/${url}`
6515
6725
  });
6516
6726
  return;
6517
6727
  });
@@ -6566,7 +6776,9 @@ const useWeixinButton = (hookOptions = {}) => {
6566
6776
  watch(
6567
6777
  () => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
6568
6778
  () => {
6569
- createWxMiniProgramButton();
6779
+ setTimeout(() => {
6780
+ createWxMiniProgramButton();
6781
+ }, 500);
6570
6782
  },
6571
6783
  {
6572
6784
  immediate: true
@@ -6583,25 +6795,25 @@ const useWeixinButton = (hookOptions = {}) => {
6583
6795
  };
6584
6796
  };
6585
6797
  const useAppNative = () => {
6586
- function getNativeToPointMallFn() {
6798
+ function getNativeToPointMallFn2() {
6587
6799
  var _a, _b, _c, _d;
6588
- if (isAndroid) {
6800
+ if (isAndroid$1) {
6589
6801
  return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
6590
- } else if (isIOS) {
6802
+ } else if (isIOS$1) {
6591
6803
  return (_d = (_c = (_b = window.webkit) == null ? void 0 : _b.messageHandlers) == null ? void 0 : _c.gotoPointsMall) == null ? void 0 : _d.postMessage;
6592
6804
  }
6593
6805
  }
6594
6806
  function supportNativeToPointMall() {
6595
- return !!getNativeToPointMallFn();
6807
+ return !!getNativeToPointMallFn2();
6596
6808
  }
6597
6809
  const supportAppNative = computed(() => {
6598
6810
  return supportNativeToPointMall();
6599
6811
  });
6600
- function toNativeLink(options) {
6812
+ function toNativeLink2(options) {
6601
6813
  const { androidLink, iosLink, otherLink } = options;
6602
- const nativePointMallFn = getNativeToPointMallFn();
6814
+ const nativePointMallFn = getNativeToPointMallFn2();
6603
6815
  if (nativePointMallFn) {
6604
- let url = isAndroid ? androidLink : iosLink;
6816
+ let url = isAndroid$1 ? androidLink : iosLink;
6605
6817
  const pltBackUri = encodeURIComponent(location.href);
6606
6818
  url = concat(url, {
6607
6819
  plt_back_uri: pltBackUri
@@ -6615,60 +6827,10 @@ const useAppNative = () => {
6615
6827
  window.open(otherLink, "_blank", "noopener=yes");
6616
6828
  }
6617
6829
  return {
6618
- getNativeToPointMallFn,
6830
+ getNativeToPointMallFn: getNativeToPointMallFn2,
6619
6831
  supportNativeToPointMall,
6620
6832
  supportAppNative,
6621
- toNativeLink
6622
- };
6623
- };
6624
- const usePolyvWebview = () => {
6625
- const { injectData } = useGlobalInject();
6626
- const isPlvWebview = ref(false);
6627
- const supportPlvWebview = computed(() => {
6628
- return isPlvWebview.value;
6629
- });
6630
- function getPlvWebviewBridge() {
6631
- return __async(this, null, function* () {
6632
- if (injectData.getPlvWebviewBridge) {
6633
- return yield injectData.getPlvWebviewBridge();
6634
- }
6635
- });
6636
- }
6637
- function toPlvWebviewBridge(options) {
6638
- return __async(this, null, function* () {
6639
- if (!supportPlvWebview.value) {
6640
- return;
6641
- }
6642
- let plvWebviewDataSize = {
6643
- width: 90,
6644
- height: 160
6645
- };
6646
- if (injectData.getPlvWebviewSmallWindowSize) {
6647
- plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
6648
- }
6649
- const webviewBridge = yield getPlvWebviewBridge();
6650
- if (!webviewBridge) {
6651
- return;
6652
- }
6653
- webviewBridge.sendData("clickProduct", {
6654
- width: plvWebviewDataSize.width,
6655
- height: plvWebviewDataSize.height,
6656
- newPage: true,
6657
- link: options.link,
6658
- data: options.data
6659
- });
6660
- });
6661
- }
6662
- onMounted(() => {
6663
- if (injectData.isPlvWebview) {
6664
- isPlvWebview.value = injectData.isPlvWebview();
6665
- }
6666
- });
6667
- return {
6668
- isPlvWebview,
6669
- supportPlvWebview,
6670
- getPlvWebviewBridge,
6671
- toPlvWebviewBridge
6833
+ toNativeLink: toNativeLink2
6672
6834
  };
6673
6835
  };
6674
6836
  const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
@@ -6687,12 +6849,12 @@ const useProductButton = (options) => {
6687
6849
  const { isSoldOut } = useProductStock({
6688
6850
  product: () => props.productData
6689
6851
  });
6690
- const { getEmitter } = useGlobalInject();
6852
+ const { getEmitter, injectData } = useGlobalInject();
6691
6853
  const { $t } = useI18n();
6692
6854
  const productConfig = computed(() => {
6693
6855
  return props.productConfig;
6694
6856
  });
6695
- const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
6857
+ const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
6696
6858
  getButtonOptions: () => {
6697
6859
  const productData = props.productData;
6698
6860
  return {
@@ -6703,10 +6865,9 @@ const useProductButton = (options) => {
6703
6865
  },
6704
6866
  launchCallback: () => sendClickEvent()
6705
6867
  });
6706
- const { supportAppNative, toNativeLink } = useAppNative();
6707
- const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
6868
+ const { supportAppNative } = useAppNative();
6708
6869
  const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
6709
- const { ProductBuyType, ProductType, ProductLinkType, ProductLinkJumpWay } = getProductTargetExport(props.productTarget);
6870
+ const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
6710
6871
  const isDirectBuy = computed(() => {
6711
6872
  return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
6712
6873
  });
@@ -6733,13 +6894,13 @@ const useProductButton = (options) => {
6733
6894
  if (isDirectBuy.value) {
6734
6895
  return false;
6735
6896
  }
6736
- if (productData.linkType === ProductLinkType.Normal) {
6897
+ if (productData.linkType === LinkType.Normal) {
6737
6898
  return !productData.link;
6738
6899
  }
6739
- if (productData.linkType === ProductLinkType.MultiPlatform) {
6900
+ if (productData.linkType === LinkType.MultiPlatform) {
6740
6901
  return isMultiPlatformDisabled.value;
6741
6902
  }
6742
- if (productData.linkType === ProductLinkType.Native) {
6903
+ if (productData.linkType === LinkType.Native) {
6743
6904
  if (supportAppNative.value) {
6744
6905
  return !productData.androidLink && !productData.iosLink;
6745
6906
  }
@@ -6798,9 +6959,26 @@ const useProductButton = (options) => {
6798
6959
  }
6799
6960
  return concat(url, urlParams);
6800
6961
  }
6962
+ function getLinkData() {
6963
+ const productData = props.productData;
6964
+ const linkData = {
6965
+ linkType: productData.linkType,
6966
+ jumpWay: productData.jumpWay,
6967
+ link: productData.link,
6968
+ pcLink: productData.pcLink,
6969
+ mobileLink: productData.mobileLink,
6970
+ mobileAppLink: productData.mobileAppLink,
6971
+ androidLink: productData.androidLink,
6972
+ iosLink: productData.iosLink,
6973
+ otherLink: productData.otherLink,
6974
+ wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
6975
+ wxMiniprogramAppId: productData.wxMiniprogramAppId,
6976
+ wxMiniprogramLink: productData.wxMiniprogramLink
6977
+ };
6978
+ return linkData;
6979
+ }
6801
6980
  function onClickLinkBtn() {
6802
6981
  const productData = props.productData;
6803
- const { linkType } = productData;
6804
6982
  sendClickEvent();
6805
6983
  if (productConfig.value.customClickButtonHandler) {
6806
6984
  productConfig.value.customClickButtonHandler(productData);
@@ -6810,70 +6988,28 @@ const useProductButton = (options) => {
6810
6988
  toDirectBuy();
6811
6989
  return;
6812
6990
  }
6813
- if (productData.linkType === ProductLinkType.Native) {
6814
- toNativeLink({
6815
- androidLink: formatProductLink(productData.androidLink),
6816
- iosLink: formatProductLink(productData.iosLink),
6817
- otherLink: formatProductLink(productData.otherLink)
6818
- });
6819
- return;
6820
- }
6821
- if (supportPlvWebview.value) {
6822
- let linkTo = "";
6823
- const { link, mobileLink, mobileAppLink, wxMiniprogramOriginalId, wxMiniprogramLink } = productData;
6824
- switch (productData.linkType) {
6825
- case ProductLinkType.Normal:
6826
- linkTo = link;
6827
- break;
6828
- case ProductLinkType.MultiPlatform:
6829
- linkTo = mobileAppLink || mobileLink;
6830
- break;
6831
- }
6832
- let otherData = null;
6833
- if (productData.linkType !== ProductLinkType.Normal) {
6834
- otherData = {
6835
- mobileLink: formatProductLink(mobileLink),
6836
- wxMiniprogramOriginalId,
6837
- wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
6838
- mobileAppLink: formatProductLink(mobileAppLink)
6839
- };
6840
- }
6841
- toPlvWebviewBridge({
6842
- link: formatProductLink(linkTo),
6843
- data: otherData
6844
- });
6845
- return;
6846
- }
6847
- if (linkType === ProductLinkType.Normal) {
6848
- const { link, jumpWay } = productData;
6849
- openLink(formatProductLink(link), jumpWay);
6850
- return;
6851
- }
6852
- if (linkType === ProductLinkType.MultiPlatform) {
6853
- const { wxMiniprogramLink, mobileLink, pcLink } = productData;
6854
- if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
6855
- toWxMiniProgram(formatProductLink(wxMiniprogramLink));
6856
- return;
6857
- }
6858
- if (isMobile) {
6859
- openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
6860
- return;
6861
- }
6862
- if (!isMobile) {
6863
- openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
6864
- return;
6865
- }
6866
- }
6991
+ const linkData = getLinkData();
6992
+ navigateToLink({
6993
+ linkData,
6994
+ getLinkParams: productConfig.value.getLinkParams,
6995
+ openLink,
6996
+ isPlvWebview: injectData.isPlvWebview,
6997
+ isMobile: injectData.isMobile,
6998
+ getPlvWebviewBridge: injectData.getPlvWebviewBridge,
6999
+ getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
7000
+ isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
7001
+ toWxMiniProgram
7002
+ });
6867
7003
  }
6868
7004
  function openLink(url, jumpWay) {
6869
7005
  switch (jumpWay) {
6870
- case ProductLinkJumpWay.NewWindow:
7006
+ case LinkJumpWay.NewWindow:
6871
7007
  window.open(url, "_blank", "noopener=yes");
6872
7008
  break;
6873
- case ProductLinkJumpWay.CurrentWindow:
7009
+ case LinkJumpWay.CurrentWindow:
6874
7010
  window.location.href = url;
6875
7011
  break;
6876
- case ProductLinkJumpWay.PopUp:
7012
+ case LinkJumpWay.PopUp:
6877
7013
  getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url);
6878
7014
  break;
6879
7015
  default:
@@ -6896,7 +7032,7 @@ const useProductButton = (options) => {
6896
7032
  name: productData.name,
6897
7033
  productId: productData.productId,
6898
7034
  productType: productData.productType,
6899
- productPushRule: data == null ? void 0 : data.pushRule
7035
+ productPushRule: (data == null ? void 0 : data.pushRule) || ""
6900
7036
  }
6901
7037
  });
6902
7038
  props.productTarget.sendProductClickEvent({
@@ -7413,91 +7549,6 @@ const useAppendTo = (elemRef, parentRef) => {
7413
7549
  }
7414
7550
  });
7415
7551
  };
7416
- const useScreenOrientHook = (params = {}) => {
7417
- const { autoListen = true, autoListenCb = () => {
7418
- } } = params;
7419
- const { injectData } = useGlobalInject();
7420
- const screenOrientationMode = ref(
7421
- "Vertical"
7422
- /* Vertical */
7423
- );
7424
- const pageFullscreen = computed(() => {
7425
- var _a;
7426
- return (_a = injectData.pageFullscreen) != null ? _a : false;
7427
- });
7428
- const isVerticalScreenOrientation = computed(() => {
7429
- if (!isMobile) {
7430
- return false;
7431
- }
7432
- return screenOrientationMode.value === "Vertical";
7433
- });
7434
- const isHorizontalScreenOrientation = computed(() => {
7435
- if (!isMobile) {
7436
- return false;
7437
- }
7438
- if (pageFullscreen.value) {
7439
- return true;
7440
- }
7441
- return screenOrientationMode.value === "Horizontal";
7442
- });
7443
- function resetScreenOrientationModeByWindow() {
7444
- if (window.innerWidth < window.innerHeight) {
7445
- screenOrientationMode.value = "Vertical";
7446
- }
7447
- }
7448
- function updateScreenOrientationModeManually() {
7449
- if (window.orientation === 180 || window.orientation === 0) {
7450
- screenOrientationMode.value = "Vertical";
7451
- }
7452
- if (window.orientation === 90 || window.orientation === -90) {
7453
- screenOrientationMode.value = "Horizontal";
7454
- }
7455
- resetScreenOrientationModeByWindow();
7456
- }
7457
- function onOrientationChange() {
7458
- setTimeout(() => {
7459
- const mql = window.matchMedia("(orientation: portrait)");
7460
- if (mql == null ? void 0 : mql.matches) {
7461
- screenOrientationMode.value = "Vertical";
7462
- } else {
7463
- screenOrientationMode.value = "Horizontal";
7464
- }
7465
- resetScreenOrientationModeByWindow();
7466
- autoListenCb(screenOrientationMode.value);
7467
- }, 200);
7468
- }
7469
- function listenOrientationEvent() {
7470
- window.addEventListener(
7471
- "onorientationchange" in window ? "orientationchange" : "resize",
7472
- onOrientationChange,
7473
- false
7474
- );
7475
- }
7476
- function unlistenOrientationEvent() {
7477
- window.removeEventListener(
7478
- "onorientationchange" in window ? "orientationchange" : "resize",
7479
- onOrientationChange,
7480
- false
7481
- );
7482
- }
7483
- onMounted(() => {
7484
- if (autoListen) {
7485
- listenOrientationEvent();
7486
- onOrientationChange();
7487
- }
7488
- });
7489
- onBeforeUnmount(() => {
7490
- unlistenOrientationEvent();
7491
- });
7492
- return {
7493
- screenOrientationMode,
7494
- isVerticalScreenOrientation,
7495
- isHorizontalScreenOrientation,
7496
- pageFullscreen,
7497
- listenOrientationEvent,
7498
- updateScreenOrientationModeManually
7499
- };
7500
- };
7501
7552
  const useFullscreenApi = () => {
7502
7553
  const apis = [
7503
7554
  {
@@ -7837,6 +7888,7 @@ const useDynamicHeight = (options) => {
7837
7888
  if (props.fillBody) {
7838
7889
  return "90%";
7839
7890
  }
7891
+ if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
7840
7892
  if (props.enableDynamicHeight) {
7841
7893
  return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
7842
7894
  }
@@ -8040,6 +8092,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8040
8092
  });
8041
8093
  const { handleDirectBuy, getPayProviders } = useProductDirectBuy({ props, emitNotSupportDirectBuy });
8042
8094
  const { $t } = useI18n();
8095
+ const { isHorizontalScreenOrientation } = useScreenOrientHook();
8043
8096
  const { productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut } = useProductDetail({ props, emit });
8044
8097
  onMounted(() => {
8045
8098
  getPayProviders();
@@ -8048,14 +8101,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8048
8101
  provide("handleVideoPlay", handleVideoPlay);
8049
8102
  provide("handleVideoPause", handleVideoPause);
8050
8103
  expose(instance);
8051
- return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
8104
+ return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, isHorizontalScreenOrientation, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
8052
8105
  }
8053
8106
  });
8054
8107
  var _sfc_render = function render10() {
8055
8108
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
8056
8109
  return _setup.product ? _c("div", { staticClass: "plv-product-detail-container", class: {
8057
8110
  "plv-product-detail-container--mobile": _setup.isMobile,
8058
- "plv-product-detail-container--pc": !_setup.isMobile
8111
+ "plv-product-detail-container--pc": !_setup.isMobile,
8112
+ "plv-product-common-popup--horizontal-screen": _setup.isHorizontalScreenOrientation
8059
8113
  } }, [_c("div", { staticClass: "plv-product-detail-container__content" }, [_setup.productCoverVisible ? _c(_setup.ProductCover, { ref: "productCoverRef" }) : _setup.product.productType === _setup.ProductType.Position ? _c("div", { staticClass: "plv-product-detail-container__content-title" }, [_vm._v(" " + _vm._s(_setup.$t("product.detail.job")) + " ")]) : _vm._e(), _c(_setup.ProductInfo)], 1), _c("div", { staticClass: "plv-product-detail-container__footer" }, [_vm._t("footer", function() {
8060
8114
  return [_c(_setup.ProductButton, { attrs: { "product-data": _setup.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
8061
8115
  return [_c("button", { staticClass: "plv-product-detail-container__footer-button", class: { "plv-product-detail-container__footer-button--disabled": disabled } }, [_vm._v(" " + _vm._s(_setup.isSoldOut ? _setup.$t("product.stock.soldOut") : buttonText) + " ")])];
@@ -8074,8 +8128,8 @@ console.log(
8074
8128
  "%c@polyv/product-ui",
8075
8129
  "background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
8076
8130
  "[component: product-detail]",
8077
- "[version: 1.0.0-rc-20250612.3]",
8078
- "[buildTime: 2025-06-12 02:28:52]"
8131
+ "[version: 1.1.0-rc-20250703.1]",
8132
+ "[buildTime: 2025-07-03 01:48:20]"
8079
8133
  );
8080
8134
  export {
8081
8135
  productDetail as default