/* 茉莉貓 v4.1 — 按確認草圖比例重製 */
body.jpv50-page{overflow-x:hidden;background:#fff!important}
body.jpv50-page .main-page-wrapper,body.jpv50-page .site-content,body.jpv50-page .container,body.jpv50-page .container-fluid,body.jpv50-page .wd-content-layout,body.jpv50-page .content-layout-wrapper{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.jpv50-page .site-content>.container,body.jpv50-page .main-page-wrapper>.container{max-width:none!important;padding:0!important}
body.jpv50-hide-theme-header .whb-header,body.jpv50-hide-theme-header .website-wrapper>header,body.jpv50-hide-theme-header #site-header,body.jpv50-hide-theme-header header.site-header,body.jpv50-hide-theme-header .header-banner,body.jpv50-hide-theme-header .wd-header,body.jpv50-hide-theme-header .whb-sticky-header{display:none!important}
body.jpv50-hide-theme-footer .website-wrapper>footer,body.jpv50-hide-theme-footer footer.footer-container,body.jpv50-hide-theme-footer .footer-container,body.jpv50-hide-theme-footer .copyrights-wrapper,body.jpv50-hide-theme-footer .wd-footer{display:none!important}
body.jpv50-hide-page-title .page-title,body.jpv50-hide-page-title .title-wrapper,body.jpv50-hide-page-title .wd-page-title,body.jpv50-hide-page-title .breadcrumbs,body.jpv50-hide-page-title .entry-header{display:none!important}
body.jpv50-page .elementor-widget-shortcode,body.jpv50-page .elementor-shortcode{width:100%!important}

.jpv50,.jpv50 *{box-sizing:border-box}
.jpv50{width:100vw;max-width:none;position:relative;left:50%;margin-left:-50vw;background:#fff;color:var(--jpv50-text);font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased}
.jpv50 a{text-decoration:none;color:inherit}.jpv50 img{display:block;max-width:100%}.jpv50 button{font:inherit}.jpv50 svg{display:block}
.jpv50-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}

/* 公告列 */
.jpv50-announcement{height:30px;background:linear-gradient(90deg,#f6b3ca 0%,#ed91b4 50%,#f5b0c8 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.025em;position:relative;z-index:1001;text-shadow:0 1px 1px rgba(117,38,70,.08)}
.jpv50-announcement a{padding:0 44px;text-align:center}.jpv50-announcement button{position:absolute;right:15px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:4px}

/* 頁首 */
.jpv50-header{height:74px;background:rgba(255,255,255,.985);border-bottom:1px solid #f4d5e0;z-index:1000;box-shadow:0 2px 12px rgba(113,45,71,.045)}
.jpv50-header.is-sticky{position:sticky;top:0}.admin-bar .jpv50-header.is-sticky{top:32px}
.jpv50-header-inner{height:100%;display:grid;grid-template-columns:270px minmax(0,1fr) 120px;align-items:center;gap:24px}
.jpv50-brand{display:flex;align-items:center;gap:13px;min-width:0;position:relative}
.jpv50-brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px #efb5ca,0 4px 14px rgba(124,43,76,.12)}
.jpv50-brand span{display:flex;flex-direction:column;min-width:0}.jpv50-brand strong{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:23px;line-height:1.15;color:var(--jpv50-dark);white-space:nowrap;letter-spacing:.02em}.jpv50-brand small{font-size:9px;letter-spacing:.15em;color:var(--jpv50-primary);font-weight:800;margin-top:3px}.jpv50-brand>b{font-size:14px;color:#ef9fbd;margin-left:-4px}
.jpv50-nav{display:flex;justify-content:center;align-items:center;gap:31px;font-size:14px;font-weight:700;white-space:nowrap;height:100%}
.jpv50-nav a{height:100%;display:flex;align-items:center;position:relative;color:#5f3246;transition:.2s}
.jpv50-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:17px;height:2px;background:var(--jpv50-primary);transition:.22s;border-radius:3px}
.jpv50-nav a:hover,.jpv50-nav a.active{color:var(--jpv50-primary)}.jpv50-nav a:hover:after,.jpv50-nav a.active:after{left:4px;right:4px}
.jpv50-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px}.jpv50-tools>a,.jpv50-tools>button{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff8fb;color:var(--jpv50-dark);cursor:pointer;position:relative;transition:.2s;box-shadow:0 4px 13px rgba(121,44,73,.07)}.jpv50-tools>a:hover,.jpv50-tools>button:hover{background:var(--jpv50-soft);transform:translateY(-1px)}.jpv50-tool-wishlist{display:none!important}.jpv50-cart-count{position:absolute;right:-3px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--jpv50-primary);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;border:2px solid #fff}
.jpv50-mobile-menu{display:none;border:0;background:transparent;color:var(--jpv50-dark);cursor:pointer;padding:0}

/* Hero */
.jpv50-hero{padding:17px 0 0;background:#fff}
.jpv50-hero-card{height:404px;border:2px solid #f0b9cd;border-radius:36px;background:
 radial-gradient(circle at 16% 24%,rgba(255,255,255,.95) 0 3px,transparent 4px),
 radial-gradient(circle at 44% 12%,rgba(255,255,255,.9) 0 3px,transparent 4px),
 radial-gradient(circle at 48% 75%,rgba(255,255,255,.85) 0 2px,transparent 3px),
 linear-gradient(105deg,#fff8fb 0%,#fee7ef 45%,#f9d1e0 100%);
 position:relative;overflow:hidden;display:grid;grid-template-columns:55% 45%;box-shadow:0 11px 35px rgba(133,49,82,.08),inset 0 0 0 8px rgba(255,255,255,.48)}
.jpv50-hero-card:before{content:"";position:absolute;inset:9px;border:2px dashed rgba(231,117,160,.35);border-radius:29px;pointer-events:none}
.jpv50-hero-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;background:radial-gradient(circle at 16px -2px,transparent 18px,#fff 19px) 0 0/32px 32px repeat-x;opacity:.95;pointer-events:none}
.jpv50-hero-bow{position:absolute;left:-7px;top:-18px;width:165px;height:100px;background:url(../images/bow-large.svg) center/contain no-repeat;transform:rotate(-11deg);z-index:4;filter:drop-shadow(0 6px 5px rgba(119,39,72,.1))}
.jpv50-hero-flower{position:absolute;width:58px;height:58px;background:url(../images/flower.svg) center/contain no-repeat;z-index:3;opacity:.8}.jpv50-hero-flower.flower-one{left:20px;bottom:56px;transform:rotate(-18deg)}.jpv50-hero-flower.flower-two{left:76px;bottom:31px;width:38px;height:38px;transform:rotate(16deg)}
.jpv50-hero-castle{position:absolute;right:18px;bottom:24px;width:250px;height:330px;background:url(../images/castle.svg) center bottom/contain no-repeat;z-index:1}
.jpv50-hero-sparkles{position:absolute;inset:25px 18px auto auto;width:46%;height:52%;background:url(../images/sparkles.svg) center/contain no-repeat;z-index:2;opacity:.75}
.jpv50-hero-copy{padding:62px 10px 52px 89px;position:relative;z-index:6;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.jpv50-kicker{color:var(--jpv50-primary);font-size:11px;font-weight:900;letter-spacing:.18em;margin-bottom:8px}
.jpv50-hero h1{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:54px;line-height:1.22;margin:0 0 16px;color:#63243e;font-weight:700;letter-spacing:.02em;text-shadow:0 2px #fff}
.jpv50-ribbon{margin:0 0 22px;position:relative;background:#f7b9cf;color:#5f2940;font-size:16px;font-weight:700;line-height:1.2;padding:11px 34px;min-width:390px;text-align:center;border:1px solid #e99ab7;box-shadow:inset 0 1px rgba(255,255,255,.8),0 4px 10px rgba(141,52,87,.08)}
.jpv50-ribbon:before,.jpv50-ribbon:after{content:"";position:absolute;top:7px;width:36px;height:36px;background:#eda7c1;z-index:-1}.jpv50-ribbon:before{left:-24px;clip-path:polygon(0 0,100% 15%,79% 50%,100% 85%,0 100%)}.jpv50-ribbon:after{right:-24px;clip-path:polygon(100% 0,0 15%,21% 50%,0 85%,100% 100%)}
.jpv50-hero-actions{display:flex;gap:15px;margin-left:25px}.jpv50-btn{height:49px;padding:0 28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:800;transition:.2s;border:1px solid transparent}.jpv50-btn-primary{background:linear-gradient(180deg,#ee8fb4,#e7699b);color:#fff!important;box-shadow:0 7px 14px rgba(218,76,132,.25),inset 0 1px rgba(255,255,255,.5)}.jpv50-btn-light{background:#fff;color:#6a2944!important;border-color:#eeb7cb;box-shadow:0 6px 13px rgba(122,44,76,.08)}.jpv50-btn:hover{transform:translateY(-2px)}
.jpv50-hero-art{position:relative;display:flex;align-items:flex-end;justify-content:center;z-index:5;min-width:0;height:100%}.jpv50-hero-art img{width:510px;height:392px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 10px rgba(104,34,64,.11));transform:translate(-8px,3px)}

/* 分類卡 */
.jpv50-categories{padding:16px 0 28px;background:#fff}
.jpv50-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jpv50-category-card{height:156px;display:grid;grid-template-columns:48% 52%;align-items:center;background:linear-gradient(180deg,#fff,#fffafb);border:1px solid #f0c2d3;border-radius:18px;padding:10px 12px 8px 7px;position:relative;box-shadow:0 8px 20px rgba(121,44,73,.055);transition:.22s;overflow:visible}
.jpv50-category-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(121,44,73,.1)}
.jpv50-category-bow{position:absolute;left:50%;top:-15px;width:64px;height:35px;background:url(../images/bow-small.svg) center/contain no-repeat;transform:translateX(-50%);z-index:3;filter:drop-shadow(0 3px 2px #fff)}
.jpv50-category-image{height:130px;display:flex;align-items:center;justify-content:center;overflow:hidden}.jpv50-category-image img{width:100%;height:100%;object-fit:contain;transform:scale(1.18)}
.jpv50-category-copy{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}.jpv50-category-copy strong{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:26px;color:#6b2943;line-height:1.1;margin-bottom:4px}.jpv50-category-copy small{font-size:12px;color:#7f5365;font-weight:700}.jpv50-category-copy em{font-size:9px;color:#aa7d8d;font-style:normal;white-space:nowrap;margin-top:2px}.jpv50-category-copy i{margin-top:9px;width:27px;height:27px;border:1px solid #df98b4;border-radius:50%;display:grid;place-items:center;color:#8a3154;background:#fff}

/* 區塊標題 */
.jpv50-section{padding:27px 0 31px;background:#fff}.jpv50-section.jpv50-new{background:#fff}
.jpv50-section-head{text-align:center;margin-bottom:18px}.jpv50-section-kicker{display:block;color:var(--jpv50-primary);font-size:10px;font-weight:900;letter-spacing:.17em;margin-bottom:3px}.jpv50-title-row{display:flex;align-items:center;justify-content:center;gap:11px}.jpv50-title-row h2{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;color:#6a2943;font-size:31px;margin:0;line-height:1.2;letter-spacing:.055em}.jpv50-mini-bow{width:34px;height:20px;background:url(../images/bow-small.svg) center/contain no-repeat;display:block;transform:rotate(-8deg)}.jpv50-mini-bow-right{transform:scaleX(-1) rotate(-8deg)}.jpv50-section-head p{margin:5px 0 0;color:var(--jpv50-muted);font-size:12px}

/* 草圖式商品卡 */
.jpv50-product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}
.jpv50-product-card{min-width:0;text-align:center}
.jpv50-product-media{position:relative;border-radius:12px;overflow:hidden;background:#fff4f7;aspect-ratio:1/1.03;box-shadow:0 2px 9px rgba(126,52,83,.06)}
.jpv50-product-image-link{display:block;width:100%;height:100%}.jpv50-product-img{width:100%;height:100%;object-fit:cover;transition:.35s}.jpv50-product-img-hover{position:absolute;inset:0;opacity:0}.jpv50-product-media:hover .jpv50-product-img-hover{opacity:1}.jpv50-product-media:hover .jpv50-product-img:first-child{transform:scale(1.035)}
.jpv50-product-heart{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:#9a536e;z-index:4;box-shadow:0 2px 8px rgba(91,30,55,.08)}.jpv50-product-heart:hover{color:var(--jpv50-primary)}
.jpv50-product-badge{position:absolute;left:7px;top:7px;z-index:4;background:#f05f98;color:#fff;padding:3px 7px;border-radius:5px;font-size:9px;font-weight:900;line-height:1.2}
.jpv50-product-quick{position:absolute;left:8px;right:8px;bottom:8px;z-index:5;transform:translateY(44px);opacity:0;transition:.22s}.jpv50-product-media:hover .jpv50-product-quick{transform:none;opacity:1}.jpv50-product-quick .button{width:100%;min-height:34px!important;padding:7px 8px!important;border-radius:999px!important;background:#e96c9d!important;color:#fff!important;font-size:11px!important;line-height:1.2!important;box-shadow:none!important;border:0!important;text-transform:none!important}
.jpv50-product-info{padding:8px 2px 0}.jpv50-product-info h3{font-size:11px;line-height:1.35;margin:0 0 4px;font-weight:650;color:#5e3447;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jpv50-product-price{font-size:13px;font-weight:900;color:#e25188;line-height:1.25}.jpv50-product-price del{font-size:9px;color:#aaa;margin-right:3px}.jpv50-product-price ins{text-decoration:none}.jpv50-product-rating{height:18px;display:flex;justify-content:center;align-items:center;gap:4px;font-size:9px;color:#999}.jpv50-stars{color:#f3a23a;letter-spacing:-1px}.jpv50-review-count{color:#9f8791}
.jpv50-center{text-align:center;margin-top:24px}.jpv50-outline-btn{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 22px;border:1px solid #e6c6d2;border-radius:999px;background:#fff;color:#df5d91!important;font-size:12px;font-weight:800;box-shadow:0 6px 14px rgba(105,39,66,.06)}

/* 限時優惠 */
.jpv50-campaign{padding:15px 0 17px;background:#fff}
.jpv50-campaign-card{height:143px;border:2px solid #f0b6cb;border-radius:18px;background:
 radial-gradient(circle at 38% 32%,rgba(255,255,255,.95) 0 2px,transparent 3px),
 linear-gradient(100deg,#fff5f8,#ffe1eb 48%,#fff8fa);display:grid;grid-template-columns:205px 1fr 170px 300px;align-items:center;position:relative;overflow:hidden;color:#642842!important;box-shadow:0 7px 22px rgba(126,45,78,.06)}
.jpv50-campaign-card:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(232,111,155,.3);border-radius:12px;pointer-events:none}
.jpv50-campaign-bow{width:190px;height:125px;background:url(../images/bow-large.svg) center/contain no-repeat;transform:rotate(-7deg);z-index:2}
.jpv50-campaign-copy{text-align:center;position:relative;z-index:2}.jpv50-campaign-copy>span{display:flex;align-items:center;justify-content:center;gap:6px;color:#c55b83;font-size:13px;font-weight:800}.jpv50-campaign-copy h2{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:38px;line-height:1.1;margin:5px 0;color:#6a2943;letter-spacing:.04em}.jpv50-campaign-copy p{margin:0;font-size:12px;color:#7d5363}.jpv50-campaign-copy b{display:inline-block;margin-left:5px;border:1px solid #e5a2bb;border-radius:999px;padding:3px 9px;background:#fff;color:#d95e8f}
.jpv50-campaign-cat{height:130px;display:flex;align-items:flex-end;justify-content:center;z-index:2}.jpv50-campaign-cat img{max-height:135px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(91,31,57,.08))}
.jpv50-countdown{height:90px;border-left:1px solid #ebc2d1;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.jpv50-countdown>strong{font-size:13px;color:#8b5d70;margin-bottom:7px}.jpv50-countdown>span{display:flex;align-items:baseline;gap:5px}.jpv50-countdown b{font-family:Georgia,serif;font-size:27px;color:#6a2943}.jpv50-countdown small{font-size:10px;color:#8a5c6e}.jpv50-countdown em{font-style:normal;font-size:9px;color:#9f7b89;margin-top:6px}

/* 品牌故事 */
.jpv50-story{padding:0 0 10px;background:#fff}.jpv50-story-card{height:190px;display:grid;grid-template-columns:210px 1fr 320px;align-items:center;gap:28px;padding:15px 28px;border-top:1px solid #f0c3d3;border-bottom:1px solid #f0c3d3;background:linear-gradient(90deg,#fff,#fffafb 55%,#fff);position:relative}.jpv50-story-card:after{content:"✦  ♡  ✦";position:absolute;left:49%;bottom:15px;color:#f2b0c8;letter-spacing:16px;font-size:15px}
.jpv50-story-round{width:156px;height:156px;border-radius:50%;margin:0 auto;padding:7px;background:#ffe2ec;border:1px solid #f0b6cc;display:grid;place-items:center;overflow:hidden}.jpv50-story-round img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.jpv50-story-copy h2{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;color:#6a2943;font-size:25px;margin:0 0 8px}.jpv50-story-copy p{margin:0;color:#6f4b5b;font-size:12px;line-height:1.7;max-width:570px}.jpv50-story-scene img{width:100%;height:150px;object-fit:cover;border-radius:12px;border:1px solid #efc2d2}

/* 四保障 */
.jpv50-benefits{padding:8px 0 17px;background:#fff}.jpv50-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #efbed0;border-radius:12px;overflow:hidden;background:#fff}.jpv50-benefit{min-height:82px;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 15px;border-right:1px solid #efbed0}.jpv50-benefit:last-child{border-right:0}.jpv50-benefit i{color:#e26d9b;flex:none}.jpv50-benefit span{display:flex;flex-direction:column}.jpv50-benefit strong{font-size:17px;color:#8b3e5c;line-height:1.2}.jpv50-benefit small{font-size:10px;color:#8c6a78;line-height:1.45;margin-top:3px}

/* 評價 */
.jpv50-reviews{padding:4px 0 14px;background:#fff}.jpv50-reviews .jpv50-section-head{margin-bottom:9px}.jpv50-reviews .jpv50-title-row h2{font-size:28px}
.jpv50-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.jpv50-review-grid article{min-height:92px;border:1px solid #efc3d2;border-radius:11px;background:#fff;padding:11px 14px;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px;box-shadow:0 4px 11px rgba(112,40,69,.035)}.jpv50-review-avatar span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f8c7d8,#fff);border:1px solid #efb7cc;color:#8a3154;font-weight:900;font-size:17px}.jpv50-review-body>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.jpv50-review-body strong{font-size:12px;color:#633148}.jpv50-review-body b{font-size:10px;color:#ef6f9e;letter-spacing:1px}.jpv50-review-body p{font-size:10px;color:#6f5260;margin:5px 0 0;line-height:1.55}.jpv50-review-dots{height:13px;display:flex;align-items:flex-end;justify-content:center;gap:5px}.jpv50-review-dots i{width:5px;height:5px;border-radius:50%;background:#f2c4d5}.jpv50-review-dots i.active{background:#e96c9d}

/* 頁尾 */
.jpv50-footer{background:linear-gradient(#ffd9e6,#fac3d7);border-top:1px solid #efb6ca;padding:20px 0 0;position:relative;overflow:hidden}.jpv50-footer:before{content:"";position:absolute;left:0;right:0;top:-15px;height:30px;background:radial-gradient(circle at 15px 30px,#ffd9e6 15px,transparent 16px) 0 0/30px 30px repeat-x}
.jpv50-footer-grid{display:grid;grid-template-columns:1.8fr repeat(4,1fr);gap:25px;align-items:start}.jpv50-footer-brand{display:flex;gap:13px;align-items:center}.jpv50-footer-brand img{width:92px!important;height:92px!important;object-fit:contain!important;display:block!important;flex:0 0 92px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;clip-path:none!important;overflow:visible!important}.jpv50-footer-brand strong{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:19px;color:#6a2943}.jpv50-footer-brand p{font-size:10px;color:#7f5365;margin:4px 0 8px}.jpv50-socials{display:flex;gap:7px}.jpv50-socials a{height:21px;min-width:21px;padding:0 5px;border-radius:50%;background:#ec7ca7;color:#fff!important;display:grid;place-items:center;font-size:9px;font-weight:800}.jpv50-footer h4{font-size:12px;color:#6a2943;margin:0 0 7px;font-weight:800}.jpv50-footer-grid>div:not(.jpv50-footer-brand){display:flex;flex-direction:column;gap:3px;font-size:10px;color:#76485b}.jpv50-footer a:hover{color:#fff}.jpv50-footer-bottom{border-top:1px solid rgba(138,49,84,.12);margin-top:15px;padding:8px 0;text-align:center;font-size:9px;color:#87566b}.jpv50-footer-flower{position:absolute;right:67px;bottom:8px;width:42px;height:42px;background:url(../images/flower.svg) center/contain no-repeat;opacity:.75}.jpv50-footer-bow{position:absolute;right:-10px;bottom:-3px;width:100px;height:55px;background:url(../images/bow-small.svg) center/contain no-repeat;transform:rotate(-8deg)}

/* LINE */
.jpv50-line{position:fixed;z-index:9999;transform:translateY(-50%);width:54px;border-radius:17px 0 0 17px;background:#6fc64d;color:#fff!important;text-align:center;padding:10px 5px 8px;box-shadow:0 8px 22px rgba(41,111,37,.22);display:flex;flex-direction:column;align-items:center;border:2px solid rgba(255,255,255,.9);border-right:0}.jpv50-line span{font-size:11px;font-weight:900;background:#fff;color:#57aa40;border-radius:999px;padding:2px 5px;margin-bottom:4px}.jpv50-line small{font-size:10px;line-height:1.25;writing-mode:vertical-rl;letter-spacing:2px}.jpv50-line b{font-size:11px;color:#ffebf2;margin-top:3px}

/* 抽屜、搜尋、手機列 */
.jpv50-mobile-bar{display:none}.jpv50-drawer,.jpv50-search-layer{position:fixed;inset:0;z-index:10050;background:rgba(70,30,48,.42);opacity:0;pointer-events:none;transition:.25s}.jpv50-drawer.is-open,.jpv50-search-layer.is-open{opacity:1;pointer-events:auto}.jpv50-drawer-panel{width:min(360px,88vw);height:100%;background:#fff;padding:24px;transform:translateX(-100%);transition:.25s;position:relative}.jpv50-drawer.is-open .jpv50-drawer-panel{transform:none}.jpv50-drawer-close,.jpv50-search-close{position:absolute;right:18px;top:18px;border:0;background:transparent;color:var(--jpv50-dark);cursor:pointer}.jpv50-drawer-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.jpv50-drawer-brand img{width:50px;height:50px;border-radius:50%;object-fit:cover}.jpv50-drawer nav{display:flex;flex-direction:column}.jpv50-drawer nav a{padding:13px 2px;border-bottom:1px solid #f3e5eb;font-weight:700}.jpv50-search-layer{display:grid;place-items:center}.jpv50-search-box{width:min(560px,calc(100% - 30px));background:#fff;padding:36px;border-radius:24px;position:relative}.jpv50-search-box h3{font-family:Georgia,"Noto Serif TC",serif;text-align:center;color:var(--jpv50-dark);font-size:27px}.jpv50-search-box form{display:flex;gap:8px}.jpv50-search-box input{flex:1;height:48px;border:1px solid var(--jpv50-border);border-radius:999px;padding:0 18px}.jpv50-search-box form button{border:0;border-radius:999px;background:var(--jpv50-primary);color:#fff;padding:0 20px;font-weight:800;display:flex;align-items:center;gap:6px}

@media(max-width:1200px){
 .jpv50-shell{width:min(1080px,calc(100% - 30px))}.jpv50-header-inner{grid-template-columns:245px 1fr 110px;gap:14px}.jpv50-nav{gap:22px;font-size:13px}.jpv50-hero-card{height:380px}.jpv50-hero-copy{padding-left:70px}.jpv50-hero h1{font-size:48px}.jpv50-ribbon{min-width:350px}.jpv50-hero-art img{height:370px;width:460px}.jpv50-category-card{height:145px}.jpv50-category-copy strong{font-size:23px}.jpv50-product-grid{gap:14px}.jpv50-campaign-card{grid-template-columns:180px 1fr 150px 270px}.jpv50-story-card{grid-template-columns:180px 1fr 285px}.jpv50-footer-grid{gap:18px}}

@media(max-width:980px){
 .admin-bar .jpv50-header.is-sticky{top:46px}.jpv50-shell{width:min(900px,calc(100% - 24px))}.jpv50-header-inner{grid-template-columns:38px 1fr auto;gap:9px}.jpv50-mobile-menu{display:grid}.jpv50-nav{display:none}.jpv50-brand{justify-self:start}.jpv50-brand strong{font-size:21px}.jpv50-brand img{width:52px;height:52px}.jpv50-tools>a,.jpv50-tools>button{width:39px;height:39px}.jpv50-tool-wishlist{display:grid!important}.jpv50-hero-card{height:350px;grid-template-columns:54% 46%}.jpv50-hero-copy{padding:50px 5px 45px 52px}.jpv50-hero h1{font-size:41px}.jpv50-ribbon{min-width:0;width:92%;font-size:14px;padding:10px 20px}.jpv50-hero-actions{margin-left:0}.jpv50-hero-art img{height:340px;width:400px}.jpv50-category-grid{grid-template-columns:repeat(2,1fr);gap:15px}.jpv50-category-card{height:150px}.jpv50-product-grid{grid-template-columns:repeat(3,1fr)}.jpv50-campaign-card{grid-template-columns:150px 1fr 130px}.jpv50-countdown{display:none}.jpv50-story-card{grid-template-columns:140px 1fr;gap:18px}.jpv50-story-scene{display:none}.jpv50-benefit-grid{grid-template-columns:repeat(2,1fr)}.jpv50-benefit:nth-child(2){border-right:0}.jpv50-benefit:nth-child(-n+2){border-bottom:1px solid #efbed0}.jpv50-review-grid{grid-template-columns:1fr}.jpv50-footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}.jpv50-footer-grid>div:nth-child(4),.jpv50-footer-grid>div:nth-child(5){margin-top:8px}.jpv50-line{display:none}}

@media(max-width:640px){
 .jpv50{padding-bottom:66px}.jpv50-shell{width:calc(100% - 18px)}.jpv50-announcement{height:28px;font-size:9px;white-space:nowrap;overflow:hidden;padding:0 35px 0 10px}.jpv50-header{height:62px}.jpv50-header-inner{grid-template-columns:30px 1fr auto}.jpv50-brand{gap:8px}.jpv50-brand img{width:43px;height:43px}.jpv50-brand strong{font-size:17px}.jpv50-brand>b,.jpv50-brand small{display:none}.jpv50-tools{gap:4px}.jpv50-tools>button,.jpv50-tools>a{width:35px;height:35px}.jpv50-tools .jpv50-tool-wishlist{display:none!important}.jpv50-hero{padding-top:8px}.jpv50-hero-card{height:auto;min-height:530px;display:flex;flex-direction:column;border-radius:23px}.jpv50-hero-card:before{inset:6px;border-radius:18px}.jpv50-hero-bow{width:102px;height:65px;left:-8px;top:-12px}.jpv50-hero-flower.flower-one{width:40px;height:40px;bottom:217px}.jpv50-hero-flower.flower-two{display:none}.jpv50-hero-castle{right:-15px;bottom:15px;width:170px;height:230px}.jpv50-hero-sparkles{width:65%;height:35%;top:285px}.jpv50-hero-copy{padding:58px 17px 5px;align-items:center;text-align:center}.jpv50-hero h1{font-size:37px;line-height:1.18;margin-bottom:14px}.jpv50-ribbon{width:auto;min-width:0;font-size:12px;padding:9px 18px;margin-bottom:17px}.jpv50-hero-actions{gap:9px}.jpv50-btn{height:42px;padding:0 17px;font-size:12px}.jpv50-hero-art{height:275px;width:100%}.jpv50-hero-art img{height:280px;width:300px;transform:none}.jpv50-categories{padding:11px 0 20px}.jpv50-category-grid{gap:9px}.jpv50-category-card{height:116px;grid-template-columns:45% 55%;padding:7px 7px 5px 3px;border-radius:14px}.jpv50-category-bow{width:47px;top:-12px}.jpv50-category-image{height:100px}.jpv50-category-copy strong{font-size:18px}.jpv50-category-copy small{font-size:10px}.jpv50-category-copy em{font-size:7px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.jpv50-category-copy i{width:21px;height:21px;margin-top:5px}.jpv50-section{padding:23px 0 26px}.jpv50-section-head{margin-bottom:13px}.jpv50-title-row{gap:7px}.jpv50-title-row h2{font-size:25px}.jpv50-mini-bow{width:25px;height:15px}.jpv50-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 10px}.jpv50-product-media{border-radius:10px}.jpv50-product-info h3{font-size:10px}.jpv50-product-price{font-size:12px}.jpv50-product-quick{display:none}.jpv50-campaign{padding:9px 0 13px}.jpv50-campaign-card{height:112px;grid-template-columns:90px 1fr 82px;padding-right:5px}.jpv50-campaign-bow{width:95px;height:80px}.jpv50-campaign-copy>span{font-size:10px}.jpv50-campaign-copy h2{font-size:23px}.jpv50-campaign-copy p{font-size:8px}.jpv50-campaign-cat{height:100px}.jpv50-campaign-cat img{max-height:100px}.jpv50-story-card{height:auto;min-height:150px;grid-template-columns:82px 1fr;gap:10px;padding:13px 8px}.jpv50-story-round{width:78px;height:78px;padding:4px}.jpv50-story-copy h2{font-size:19px;margin-bottom:5px}.jpv50-story-copy p{font-size:9px;line-height:1.55}.jpv50-story-card:after{display:none}.jpv50-benefit{min-height:72px;padding:8px 7px;gap:7px}.jpv50-benefit i svg{width:25px;height:25px}.jpv50-benefit strong{font-size:13px}.jpv50-benefit small{font-size:8px}.jpv50-review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:9px;padding-bottom:4px}.jpv50-review-grid article{min-width:88%;scroll-snap-align:start}.jpv50-footer{padding-top:22px}.jpv50-footer-grid{grid-template-columns:1fr 1fr;gap:18px}.jpv50-footer-brand{grid-column:1/3}.jpv50-footer-grid>div:nth-child(4),.jpv50-footer-grid>div:nth-child(5){margin-top:0}.jpv50-footer-bottom{margin-top:11px}.jpv50-footer-flower,.jpv50-footer-bow{display:none}.jpv50-mobile-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:62px;background:rgba(255,255,255,.98);border-top:1px solid var(--jpv50-border);z-index:10000}.jpv50-mobile-bar>a,.jpv50-mobile-bar>button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--jpv50-dark);font-size:9px;position:relative}.jpv50-mobile-bar svg{width:19px}.jpv50-mobile-bar .jpv50-cart-count{right:17%;top:5px}.jpv50-search-box{padding:28px 18px}.jpv50-search-box form{flex-direction:column}.jpv50-search-box form button{height:46px;justify-content:center}}

/* =========================================================
   v4.1.1 WoodMart／Elementor 版面隔離與快取修復
   ========================================================= */
.jpv50{isolation:isolate!important;contain:paint style;overflow:clip!important}
.jpv50 main,.jpv50 section,.jpv50 footer,.jpv50 header{float:none!important;clear:both!important;max-width:none}
.jpv50 .jpv50-shell{position:relative!important;float:none!important;clear:both!important}

/* 頁首：阻止 WoodMart 的按鈕、工具列和 flex 規則把圖示推到 Hero 上。 */
.jpv50 .jpv50-header{display:block!important;position:relative;float:none!important;clear:both!important;width:100%!important;min-height:74px!important;overflow:visible!important}
.jpv50 .jpv50-header.is-sticky{position:sticky!important}
.jpv50 .jpv50-header-inner{display:grid!important;grid-template-columns:270px minmax(0,1fr) 110px!important;align-items:center!important;position:relative!important;float:none!important;clear:both!important;width:min(1180px,calc(100% - 32px))!important;height:74px!important;min-height:74px!important;margin:0 auto!important;padding:0!important;overflow:visible!important}
.jpv50 .jpv50-mobile-menu{display:none!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;position:static!important;float:none!important;transform:none!important}
.jpv50 .jpv50-brand,.jpv50 .jpv50-nav,.jpv50 .jpv50-tools{position:static!important;float:none!important;clear:none!important;transform:none!important;margin:0!important;max-width:none!important}
.jpv50 .jpv50-nav{display:flex!important;min-width:0!important;overflow:visible!important}
.jpv50 .jpv50-tools{display:flex!important;width:auto!important;min-width:0!important;height:auto!important;align-self:center!important;justify-self:end!important;padding:0!important;inset:auto!important;z-index:3!important}
.jpv50 .jpv50-tools>a,.jpv50 .jpv50-tools>button{display:grid!important;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;margin:0!important;padding:0!important;position:relative!important;inset:auto!important;transform:none!important;float:none!important}

/* 品牌故事：禁止固定高度、浮動圖片或主題 img 規則造成上下區塊重疊。 */
.jpv50 .jpv50-story{display:block!important;position:relative!important;clear:both!important;padding:0 0 12px!important;overflow:visible!important}
.jpv50 .jpv50-story-card{display:grid!important;grid-template-columns:210px minmax(0,1fr) 320px!important;align-items:center!important;position:relative!important;float:none!important;clear:both!important;width:100%!important;height:auto!important;min-height:190px!important;margin:0!important;padding:16px 28px!important;overflow:hidden!important}
.jpv50 .jpv50-story-round,.jpv50 .jpv50-story-copy,.jpv50 .jpv50-story-scene{position:relative!important;float:none!important;clear:none!important;min-width:0!important;margin-top:0!important;margin-bottom:0!important;transform:none!important}
.jpv50 .jpv50-story-round{width:156px!important;height:156px!important;min-width:156px!important;min-height:156px!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden!important}
.jpv50 .jpv50-story-round img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;object-fit:cover!important;position:static!important}
.jpv50 .jpv50-story-copy{align-self:center!important;z-index:2!important}
.jpv50 .jpv50-story-copy h2,.jpv50 .jpv50-story-copy p{position:static!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important}
.jpv50 .jpv50-story-scene{display:block!important;width:100%!important;height:150px!important;overflow:hidden!important;border-radius:12px!important}
.jpv50 .jpv50-story-scene img{display:block!important;width:100%!important;height:150px!important;min-height:150px!important;max-height:150px!important;margin:0!important;object-fit:cover!important;object-position:center!important;position:static!important;transform:none!important}

.jpv50 .jpv50-benefits,.jpv50 .jpv50-reviews{display:block!important;position:relative!important;float:none!important;clear:both!important;height:auto!important;overflow:visible!important}
.jpv50 .jpv50-benefits{padding:8px 0 18px!important}
.jpv50 .jpv50-benefit-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;position:relative!important;float:none!important;clear:both!important;width:100%!important;height:auto!important;margin:0!important}
.jpv50 .jpv50-benefit{position:relative!important;float:none!important;clear:none!important;min-width:0!important;height:auto!important;min-height:82px!important;margin:0!important;transform:none!important}
.jpv50 .jpv50-reviews{padding-top:4px!important}

/* 活動圖限制在自己的欄位，不允許舊圖尺寸撐破橫幅。 */
.jpv50 .jpv50-campaign-card{overflow:hidden!important;isolation:isolate!important}
.jpv50 .jpv50-campaign-cat{overflow:hidden!important;min-width:0!important}
.jpv50 .jpv50-campaign-cat img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:132px!important;margin:0 auto!important;object-fit:contain!important;position:static!important;transform:none!important}

/* 769–1100px 仍使用完整桌面頁首；避免高 DPI／瀏覽器縮放時誤切成手機版。 */
@media (min-width:769px) and (max-width:1100px){
 .jpv50 .jpv50-shell{width:calc(100% - 24px)!important}
 .jpv50 .jpv50-header-inner{grid-template-columns:190px minmax(0,1fr) 86px!important;width:calc(100% - 24px)!important;gap:10px!important}
 .jpv50 .jpv50-mobile-menu{display:none!important}
 .jpv50 .jpv50-brand{gap:8px!important}.jpv50 .jpv50-brand img{width:44px!important;height:44px!important}.jpv50 .jpv50-brand strong{font-size:18px!important}.jpv50 .jpv50-brand>b{font-size:11px!important}
 .jpv50 .jpv50-nav{display:flex!important;gap:10px!important;font-size:11.5px!important;justify-content:center!important}
 .jpv50 .jpv50-nav a:after{bottom:15px!important}
 .jpv50 .jpv50-tools{gap:5px!important}.jpv50 .jpv50-tools>a,.jpv50 .jpv50-tools>button{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;min-height:36px!important}
 .jpv50 .jpv50-hero-card{height:360px!important;grid-template-columns:54% 46%!important}.jpv50 .jpv50-hero-copy{padding:50px 8px 45px 58px!important}.jpv50 .jpv50-hero h1{font-size:44px!important}.jpv50 .jpv50-ribbon{min-width:0!important;width:94%!important;font-size:13px!important}.jpv50 .jpv50-hero-art img{width:410px!important;height:350px!important}
 .jpv50 .jpv50-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.jpv50 .jpv50-category-card{height:138px!important;padding-left:4px!important;padding-right:6px!important}.jpv50 .jpv50-category-copy strong{font-size:20px!important}.jpv50 .jpv50-category-copy em{font-size:7px!important}
 .jpv50 .jpv50-product-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
 .jpv50 .jpv50-campaign-card{grid-template-columns:150px minmax(0,1fr) 120px 225px!important}.jpv50 .jpv50-campaign-bow{width:145px!important}.jpv50 .jpv50-campaign-copy h2{font-size:30px!important}.jpv50 .jpv50-countdown b{font-size:22px!important}
 .jpv50 .jpv50-story-card{grid-template-columns:150px minmax(0,1fr) 230px!important;gap:16px!important;padding:14px 18px!important;min-height:180px!important}.jpv50 .jpv50-story-round{width:136px!important;height:136px!important;min-width:136px!important;min-height:136px!important}.jpv50 .jpv50-story-scene,.jpv50 .jpv50-story-scene img{height:140px!important;min-height:140px!important;max-height:140px!important}.jpv50 .jpv50-story-copy h2{font-size:22px!important}.jpv50 .jpv50-story-copy p{font-size:11px!important}
 .jpv50 .jpv50-benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.jpv50 .jpv50-benefit{padding:8px!important;gap:7px!important}.jpv50 .jpv50-benefit strong{font-size:14px!important}.jpv50 .jpv50-benefit small{font-size:8px!important}
}

/* 真正的平板／手機版從 768px 才開始。 */
@media (max-width:768px){
 .jpv50 .jpv50-header-inner{grid-template-columns:38px minmax(0,1fr) auto!important;width:calc(100% - 24px)!important;gap:9px!important}
 .jpv50 .jpv50-mobile-menu{display:grid!important;place-items:center!important}
 .jpv50 .jpv50-nav{display:none!important}
 .jpv50 .jpv50-tools{display:flex!important}
 .jpv50 .jpv50-story-card{grid-template-columns:120px minmax(0,1fr)!important;gap:14px!important;height:auto!important;min-height:160px!important;padding:14px!important}
 .jpv50 .jpv50-story-round{width:110px!important;height:110px!important;min-width:110px!important;min-height:110px!important}
 .jpv50 .jpv50-story-scene{display:none!important}
 .jpv50 .jpv50-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .jpv50 .jpv50-benefit:nth-child(2){border-right:0!important}.jpv50 .jpv50-benefit:nth-child(-n+2){border-bottom:1px solid #efbed0!important}
 .jpv50 .jpv50-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .jpv50 .jpv50-countdown{display:none!important}
}

@media (max-width:640px){
 .jpv50 .jpv50-header{min-height:62px!important;height:62px!important}
 .jpv50 .jpv50-header-inner{height:62px!important;min-height:62px!important;grid-template-columns:30px minmax(0,1fr) auto!important;width:calc(100% - 18px)!important}
 .jpv50 .jpv50-mobile-menu{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;min-height:30px!important}
 .jpv50 .jpv50-tools>a,.jpv50 .jpv50-tools>button{width:35px!important;height:35px!important;min-width:35px!important;max-width:35px!important;min-height:35px!important}
 .jpv50 .jpv50-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .jpv50 .jpv50-story-card{grid-template-columns:82px minmax(0,1fr)!important;gap:10px!important;min-height:150px!important;padding:13px 8px!important}
 .jpv50 .jpv50-story-round{width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important}
}

/* v4.1.3：頁尾 LOGO 強制透明，避免 WoodMart / 主題樣式重新加白底。 */
.jpv50 .jpv50-footer-brand img,.jpv50-footer .jpv50-footer-brand img{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0!important;object-fit:contain!important;}

/* v4.1.5 footer cutout logo fix */
.jpv50 .jpv50-footer-brand img,.jpv50-footer .jpv50-footer-brand img{background:none!important;background-color:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0!important;object-fit:contain!important;mix-blend-mode:normal!important;filter:none!important;}

/* v4.1.9 最近大家都在買｜WooCommerce 購買動態輪播 */
.jpv50-purchase-feed{padding:18px 0 8px;background:linear-gradient(180deg,rgba(255,249,251,.15),rgba(255,240,245,.45))}
.jpv50-purchase-feed-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;color:var(--jpv50-dark)}
.jpv50-purchase-feed-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.jpv50-purchase-feed-head strong{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:18px;font-weight:700;letter-spacing:.02em}
.jpv50-purchase-feed-head small{font-size:10px;color:var(--jpv50-muted);white-space:nowrap}
.jpv50-live-dot{width:9px;height:9px;border-radius:50%;background:var(--jpv50-primary);box-shadow:0 0 0 5px rgba(233,108,157,.13);animation:jpv50Pulse 1.7s ease-in-out infinite}
@keyframes jpv50Pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.55}}
.jpv50-purchase-scroll{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 5px;-webkit-overflow-scrolling:touch}
.jpv50-purchase-scroll::-webkit-scrollbar{display:none}
.jpv50-purchase-card{scroll-snap-align:start;flex:0 0 calc((100% - 24px)/3);min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:78px;padding:10px 12px;background:rgba(255,255,255,.94);border:1px solid var(--jpv50-border);border-radius:14px;box-shadow:0 5px 18px rgba(115,43,73,.05);color:var(--jpv50-text)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.jpv50-purchase-card:hover{transform:translateY(-2px);border-color:var(--jpv50-primary);box-shadow:0 8px 22px rgba(115,43,73,.09)}
.jpv50-purchase-thumb{width:54px;height:54px;border-radius:11px;overflow:hidden;background:#fff;display:block;border:1px solid rgba(243,191,209,.62)}
.jpv50-purchase-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;margin:0!important}
.jpv50-purchase-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.jpv50-purchase-meta{display:flex;align-items:center;gap:7px;min-width:0;font-size:9px;line-height:1.15}
.jpv50-purchase-meta b{color:var(--jpv50-primary);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jpv50-purchase-meta em{font-style:normal;color:var(--jpv50-muted);white-space:nowrap;margin-left:auto}
.jpv50-purchase-copy>strong{display:block;color:var(--jpv50-dark);font-size:11px;line-height:1.35;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jpv50-purchase-arrow{font-size:22px;color:var(--jpv50-primary);line-height:1;text-align:right}
@media(max-width:1024px){.jpv50-purchase-card{flex-basis:calc((100% - 12px)/2)}}
@media(max-width:640px){.jpv50-purchase-feed{padding:13px 0 5px}.jpv50-purchase-feed-head{margin-bottom:8px}.jpv50-purchase-feed-head strong{font-size:15px}.jpv50-purchase-feed-head small{font-size:8px}.jpv50-purchase-card{flex-basis:88%;grid-template-columns:48px minmax(0,1fr) 16px;min-height:69px;padding:8px 10px;gap:8px}.jpv50-purchase-thumb{width:48px;height:48px}.jpv50-purchase-copy>strong{font-size:10px}.jpv50-purchase-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){.jpv50-live-dot{animation:none}.jpv50-purchase-scroll{scroll-behavior:auto}}

/* v4.2.2 3–5 條同時播放 + 漸變消失效果 */
.jpv50-purchase-ticker-section{padding:5px 0 10px;background:linear-gradient(180deg,rgba(255,240,245,.42),rgba(255,249,251,.08))}
.jpv50-purchase-ticker-stack{display:block!important;padding:10px 12px 12px;border:1px solid var(--jpv50-border,#f3bfd1);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 5px 18px rgba(106,41,68,.06);overflow:hidden;color:var(--jpv50-text,#642842)}
.jpv50-ticker-head{display:flex;align-items:center;gap:8px;min-height:24px;margin-bottom:7px}
.jpv50-ticker-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--jpv50-primary,#e96c9d);box-shadow:0 0 0 4px rgba(233,108,157,.12);animation:jpv50Pulse 1.7s ease-in-out infinite}
.jpv50-ticker-title{font-size:11px;color:var(--jpv50-dark,#6a2944);white-space:nowrap}
.jpv50-ticker-disclosure{margin-left:auto;font-size:8px;line-height:1.2;color:var(--jpv50-muted,#986b7c);font-weight:700;white-space:nowrap}
.jpv50-ticker-list{display:flex;flex-direction:column;gap:5px;min-height:0;overflow:hidden}
.jpv50-ticker-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;padding:6px 9px;border-radius:10px;background:linear-gradient(90deg,rgba(255,240,245,.72),rgba(255,255,255,.48));color:var(--jpv50-text,#642842)!important;text-decoration:none!important;transform-origin:center;transition:opacity .42s ease,transform .42s ease,filter .42s ease;will-change:opacity,transform}
.jpv50-ticker-row-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--jpv50-primary,#e96c9d);font-size:10px;box-shadow:0 2px 8px rgba(106,41,68,.06)}
.jpv50-ticker-row-copy{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap}
.jpv50-ticker-row-copy b{font-size:10px;color:var(--jpv50-primary,#e96c9d);font-weight:800;flex:0 0 auto}
.jpv50-ticker-row-copy span{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.jpv50-ticker-row em{font-size:9px;font-style:normal;color:var(--jpv50-muted,#986b7c);white-space:nowrap}
.jpv50-ticker-row.is-entering{opacity:0!important;transform:translateY(10px) scale(.985)!important;filter:blur(1px)}
.jpv50-ticker-row.is-leaving{opacity:0!important;transform:translateY(-12px) scale(.985)!important;filter:blur(1px)}
.jpv50-product-ticker{margin:10px 0 0;--jpv50-primary:#e96c9d;--jpv50-dark:#6a2944;--jpv50-text:#642842;--jpv50-muted:#986b7c;--jpv50-border:#f3bfd1;background:linear-gradient(135deg,#fff9fb,#fff0f5)}
@media(max-width:640px){.jpv50-purchase-ticker-stack{padding:9px 9px 10px}.jpv50-ticker-head{gap:6px}.jpv50-ticker-title{font-size:10px}.jpv50-ticker-disclosure{font-size:7px}.jpv50-ticker-row{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;min-height:33px;padding:5px 7px}.jpv50-ticker-row-icon{width:20px;height:20px;font-size:9px}.jpv50-ticker-row-copy b{font-size:9px}.jpv50-ticker-row-copy span{font-size:10px}.jpv50-ticker-row em{font-size:8px}}
@media(prefers-reduced-motion:reduce){.jpv50-ticker-dot,.jpv50-ticker-row{animation:none!important;transition:none!important}}
/* v4.2.3 防止 3→4 列切換時推動下方頁面 */
.jpv50-ticker-list{overflow:hidden!important;overflow-anchor:none;contain:layout paint}
.jpv50-purchase-ticker-section,.jpv50-product-ticker{overflow-anchor:none}



/* v4.2.5.1：移除分类卡顶部蝴蝶结，以及内建分类图右上角的小猫头像。
   仅对外外挂内建 category-*.png 生效；后台自行上传的分类图不覆盖。 */
.jpv50 .jpv50-category-bow{display:none!important}
.jpv50 .jpv50-category-image{position:relative}
.jpv50 .jpv50-category-card.jpv50-category-no-kitty .jpv50-category-image:after{
    content:"";
    position:absolute;
    z-index:4;
    top:5%;
    right:3%;
    width:29%;
    height:26%;
    background:#ffe3ee;
    border-radius:50%;
    pointer-events:none;
}


/* v4.2.5.2 关于区域：删除右侧大图后，让左图 + 文案铺满。 */
.jpv50 .jpv50-story-card.jpv50-story-no-right-image{
    grid-template-columns:180px minmax(0,1fr)!important;
}
.jpv50 .jpv50-story-card.jpv50-story-no-right-image .jpv50-story-copy{
    min-width:0!important;
}
.jpv50 .jpv50-story-card.jpv50-story-no-right-image:after{
    display:none!important;
}

/* v4.2.5.2 顾客评价：避免只显示标题和轮播圆点。 */
.jpv50 .jpv50-reviews .jpv50-review-grid{
    min-height:105px!important;
    visibility:visible!important;
    opacity:1!important;
}
.jpv50 .jpv50-reviews .jpv50-review-grid article{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
}

@media(max-width:980px){
    .jpv50 .jpv50-story-card.jpv50-story-no-right-image{
        grid-template-columns:140px minmax(0,1fr)!important;
    }
}
@media(max-width:600px){
    .jpv50 .jpv50-story-card.jpv50-story-no-right-image{
        grid-template-columns:82px minmax(0,1fr)!important;
    }
}


/* =========================================================
   J-VAPE JAPAN v1.1.0｜茉莉貓粉色系 + Elementor 穩定修復
   ========================================================= */
body.jpv50-page,.jpv50{background:#fff!important}
.jpv50{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP","Yu Gothic",Meiryo,"PingFang TC","Microsoft JhengHei",sans-serif!important;contain:none!important}

/* 即使 Elementor 預覽沒有及時加 body class，也可隱藏 WoodMart 原頁首／頁尾。 */
body:has(.jpv50).jpv50-hide-theme-header .whb-header,
body:has(.jpv50).jpv50-hide-theme-header .website-wrapper>header,
body:has(.jpv50).jpv50-hide-theme-header #site-header,
body:has(.jpv50).jpv50-hide-theme-header header.site-header,
body:has(.jpv50).jpv50-hide-theme-header .header-banner,
body:has(.jpv50).jpv50-hide-theme-header .wd-header,
body:has(.jpv50).jpv50-hide-theme-header .whb-sticky-header{display:none!important}
body:has(.jpv50).jpv50-hide-theme-footer .website-wrapper>footer,
body:has(.jpv50).jpv50-hide-theme-footer footer.footer-container,
body:has(.jpv50).jpv50-hide-theme-footer .footer-container,
body:has(.jpv50).jpv50-hide-theme-footer .copyrights-wrapper,
body:has(.jpv50).jpv50-hide-theme-footer .wd-footer{display:none!important}

/* 品牌：保留茉莉貓同款粉色頁首，但改成日本電子煙字標。 */
.jpv50 .jpv50-brand{gap:10px!important}
.jpv50 .jpv50-brand img{width:168px!important;height:48px!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
.jpv50 .jpv50-brand span{display:none!important}
.jpv50 .jpv50-header-inner{grid-template-columns:210px minmax(0,1fr) 110px!important}
.jpv50 .jpv50-nav{gap:24px!important;font-size:12px!important}

/* Hero：沿用茉莉貓粉色漸層／虛線／緞帶感，右側改成 WooCommerce 電子煙商品。 */
.jpv50 .jpv50-hero-card{grid-template-columns:53% 47%!important}
.jpv50 .jpv50-hero-castle{display:none!important}
.jpv50 .jpv50-hero-sparkles{right:12px!important;width:42%!important}
.jpv50 .jpv50-hero-art{overflow:visible!important}
.jpv50-hero-product-stack{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;isolation:isolate}
.jpv50-hero-product{position:absolute;display:flex!important;align-items:center;justify-content:center;width:190px;height:292px;padding:13px;border-radius:28px;background:rgba(255,255,255,.95);border:1px solid rgba(233,108,157,.26);box-shadow:0 18px 34px rgba(106,41,68,.13);overflow:hidden;transition:transform .2s ease;z-index:3}
.jpv50-hero-product img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;filter:none!important;margin:0!important}
.jpv50-hero-product-1{transform:translate(-82px,8px) rotate(-7deg);z-index:4}
.jpv50-hero-product-2{transform:translate(80px,-14px) rotate(7deg);z-index:3}
.jpv50-hero-product-3{width:150px;height:230px;transform:translate(7px,82px) rotate(1deg);z-index:5}
.jpv50-hero-product:hover{z-index:8;box-shadow:0 20px 42px rgba(106,41,68,.2)}
.jpv50-hero-fallback{display:block!important;width:460px!important;height:350px!important;object-fit:contain!important;transform:none!important;filter:drop-shadow(0 12px 10px rgba(104,34,64,.11))!important}
.jpv50-hero-orbit{position:absolute;border-radius:50%;border:1px dashed rgba(233,108,157,.34);pointer-events:none;z-index:1}
.jpv50-hero-orbit.orbit-one{width:310px;height:310px}
.jpv50-hero-orbit.orbit-two{width:235px;height:235px;border-color:rgba(106,41,68,.18)}

/* 無分類圖時的粉色圖示，不再出現黑綠大圖。 */
.jpv50-category-symbol{width:100%;height:100%;display:grid;place-items:center;position:relative;border-radius:16px;background:linear-gradient(145deg,#fff,#fff0f5);border:1px solid rgba(233,108,157,.18);overflow:hidden;color:var(--jpv50-dark)}
.jpv50-category-symbol:before,.jpv50-category-symbol:after{content:"";position:absolute;border-radius:50%;background:#f8b7d0;opacity:.45}
.jpv50-category-symbol:before{width:64px;height:64px;right:-17px;top:-16px}
.jpv50-category-symbol:after{width:38px;height:38px;left:-9px;bottom:-9px;background:#fff}
.jpv50-category-symbol b{font-family:Georgia,"Noto Serif JP",serif;font-size:30px;color:var(--jpv50-primary);position:relative;z-index:2}
.jpv50-category-symbol i{position:absolute;width:42px;height:42px;border:7px solid var(--jpv50-primary);border-radius:50%;opacity:.11;right:10px;bottom:10px}

/* 20+ 年齡確認：前台固定彈窗；Elementor 編輯預覽由 PHP 自動不輸出。 */
html.jpv50-age-locked,html.jpv50-age-locked body{overflow:hidden!important}
.jpv50-age-gate{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(86,31,54,.72)!important;backdrop-filter:blur(12px);display:grid!important;place-items:center!important;padding:22px!important;opacity:1;visibility:visible;transition:.25s}
.jpv50-age-gate.is-cleared{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.jpv50-age-card{width:min(500px,100%);background:#fff9fb;border:1px solid #f3bfd1;border-radius:26px;padding:38px 34px;text-align:center;box-shadow:0 26px 80px rgba(73,22,45,.28);position:relative;overflow:hidden;color:#642842}
.jpv50-age-card:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,#f6b3ca,#e96c9d,#f6b3ca)}
.jpv50-age-mark{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#fff0f5;border:2px solid #e96c9d;color:#6a2944;font-size:29px;font-weight:900}
.jpv50-age-card>small{display:block;font-size:10px;letter-spacing:.22em;color:#b1748c;font-weight:800;margin-bottom:8px}
.jpv50-age-card h2{font-size:29px;line-height:1.25;margin:0 0 11px;color:#6a2944;font-weight:800}
.jpv50-age-card p{max-width:390px;margin:0 auto 22px;color:#986b7c;font-size:12px;line-height:1.8}
.jpv50-age-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jpv50-age-actions button{min-height:48px;border-radius:999px;border:1px solid #e8a6bf;background:#fff;color:#6a2944;font-weight:800;cursor:pointer}
.jpv50-age-actions button:first-child{background:linear-gradient(180deg,#ee8fb4,#e7699b);border-color:#e7699b;color:#fff;box-shadow:0 7px 14px rgba(218,76,132,.2)}
.jpv50-age-actions button:hover{transform:translateY(-1px)}
.jpv50-age-denied{margin-top:16px;padding:15px;border-radius:14px;background:#fff0f5;color:#6a2944;display:flex;flex-direction:column;gap:4px}.jpv50-age-denied[hidden]{display:none!important}
.jpv50-age-card.is-denied .jpv50-age-actions{display:none}.jpv50-age-card.is-denied .jpv50-age-denied{display:flex!important}

/* 頁尾 LOGO 改為透明粉色字標。 */
.jpv50 .jpv50-footer-brand img,.jpv50-footer .jpv50-footer-brand img{width:190px!important;height:64px!important;object-fit:contain!important;background:transparent!important;border:0!important}

/* 商品資訊字體稍微貼近日系商城，但配色完全沿用茉莉貓。 */
.jpv50 .jpv50-product-info h3{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif!important;font-weight:700!important}
.jpv50 .jpv50-section-head h2,.jpv50 .jpv50-story-copy h2{font-family:Georgia,"Noto Serif JP","Yu Mincho",serif!important}

@media (min-width:769px) and (max-width:1100px){
 .jpv50 .jpv50-header-inner{grid-template-columns:170px minmax(0,1fr) 86px!important}
 .jpv50 .jpv50-brand img{width:148px!important;height:43px!important}
 .jpv50 .jpv50-nav{gap:10px!important;font-size:10.5px!important}
 .jpv50-hero-product{width:165px;height:250px}.jpv50-hero-product-1{transform:translate(-66px,5px) rotate(-7deg)}.jpv50-hero-product-2{transform:translate(64px,-8px) rotate(7deg)}.jpv50-hero-product-3{width:135px;height:205px;transform:translate(6px,70px) rotate(1deg)}
}
@media (max-width:768px){
 .jpv50 .jpv50-brand img{width:140px!important;height:42px!important}
 .jpv50 .jpv50-header-inner{grid-template-columns:38px minmax(0,1fr) auto!important}
}
@media (max-width:640px){
 .jpv50 .jpv50-brand img{width:122px!important;height:38px!important}
 .jpv50 .jpv50-hero-card{grid-template-columns:1fr!important}
 .jpv50-hero-product{width:135px;height:196px;padding:8px;border-radius:20px}.jpv50-hero-product-1{transform:translate(-54px,4px) rotate(-7deg)}.jpv50-hero-product-2{transform:translate(54px,-5px) rotate(7deg)}.jpv50-hero-product-3{width:110px;height:164px;transform:translate(5px,55px) rotate(1deg)}
 .jpv50-hero-fallback{width:280px!important;height:260px!important}
 .jpv50-age-card{padding:31px 20px;border-radius:22px}.jpv50-age-actions{grid-template-columns:1fr}.jpv50-age-mark{width:72px;height:72px;font-size:25px}.jpv50-age-card h2{font-size:24px}
 .jpv50 .jpv50-footer-brand img{width:160px!important;height:56px!important}
}
