
/* JJ visual refresh v3: presentation only; DO NOT mutate purchase, rewards or DB state. */
:root { --jjv-violet:#6e3cd6; --jjv-ink:#2d1b63; --jjv-lavender:#f5f0ff; --jjv-line:#e5dcf6; }
html { scroll-padding-top:72px; }
html body { background:linear-gradient(180deg,#fff 0%,#f9f6ff 48%,#fdfbff 100%)!important; }
/* Tight, quiet typography links rather than giant separated menu buttons. */
body.jj-lv-home .jj-lv-topbar { padding-inline:clamp(14px,3vw,36px)!important; }
body.jj-lv-home .jj-lv-nav { display:flex!important; justify-content:center!important; align-items:stretch!important; gap:clamp(5px,1.5vw,25px)!important; padding:0 10px!important; }
body.jj-lv-home .jj-lv-nav a { display:flex!important; align-items:center!important; justify-content:center!important; flex:0 0 auto!important; font-weight:800!important; letter-spacing:-.025em!important; padding:14px clamp(7px,1.2vw,14px)!important; }
body.jj-lv-home .jj-lv-nav a:first-child:after { left:50%!important;transform:translateX(-50%)!important; }
body.jj-lv-home .jj-lv-quicklinks { gap:clamp(8px,1.2vw,19px)!important; }
body.jj-lv-home .jj-lv-quicklinks .jj-lv-quick-icon { border:1px solid #e5d5fe!important; background:linear-gradient(145deg,#fff,#eee5ff)!important; color:#7345d4!important; }
/* Old injected hero appears on every non-home informational page: remove duplication. */
html body:not(.jj-lv-home) .jj-v9-banner,
html body:not(.jj-lv-home) .jj-v12-banner { display:none!important; }
/* Modern inner-page hero: lavender mist and a moon, original page-specific text remains live. */
html body:not(.jj-lv-home) .wrap > section.hero,
html body:not(.jj-lv-home) .wrap > main > section.hero,
html body:not(.jj-lv-home) main > section.hero.collection-hero {
 isolation:isolate!important;
 position:relative!important;
 max-width:100%!important;
 min-height:190px!important;
 margin:6px 0 14px!important;
 padding:clamp(25px,3.3vw,46px) clamp(20px,4vw,52px)!important;
 overflow:hidden!important;
 border:1px solid #ded0fa!important;
 border-radius:clamp(18px,2vw,26px)!important;
 background:
   radial-gradient(circle at 82% 29%,rgba(255,255,255,.97) 0 50px,rgba(233,217,255,.32) 53px,transparent 91px),
   radial-gradient(circle at 89% 82%,rgba(161,127,241,.19),transparent 35%),
   radial-gradient(circle at 51% 2%,rgba(255,255,255,.91),transparent 60%),
   linear-gradient(115deg,#fffdfc 0%,#f6f0ff 46%,#dfd3ff 100%)!important;
 color:#281658!important;
 box-shadow:0 12px 38px rgba(91,62,151,.09)!important;
}
html body:not(.jj-lv-home) .wrap > section.hero:after,
html body:not(.jj-lv-home) .wrap > main > section.hero:after,
html body:not(.jj-lv-home) main > section.hero.collection-hero:after {
 content:"✦  ·  ✧"!important;position:absolute!important;
 right:clamp(18px,5vw,70px)!important;top:28px!important;bottom:auto!important;
 font:400 clamp(20px,3vw,35px)/1 Georgia,serif!important;
 letter-spacing:clamp(18px,2vw,42px)!important;color:#9160d9!important;
 opacity:.42!important;pointer-events:none!important;
 z-index:-1!important;
}
html body:not(.jj-lv-home) .wrap > section.hero:before,
html body:not(.jj-lv-home) .wrap > main > section.hero:before,
html body:not(.jj-lv-home) main > section.hero.collection-hero:before {border:none!important;box-shadow:none!important;pointer-events:none!important;}
html body:not(.jj-lv-home) :is(.wrap > section.hero,.wrap > main > section.hero,main > section.hero.collection-hero) :is(h1,h2,h3) { color:#2d1665!important;text-shadow:none!important;letter-spacing:-.035em!important;line-height:1.25!important;position:relative!important;z-index:1!important; }
html body:not(.jj-lv-home) :is(.wrap > section.hero,.wrap > main > section.hero,main > section.hero.collection-hero) :is(p,.eyebrow,.kicker,.hero-meta,.pill) { color:#604787!important;text-shadow:none!important;position:relative!important;z-index:1!important; }
html body:not(.jj-lv-home) :is(.wrap > section.hero,.wrap > main > section.hero,main > section.hero.collection-hero) :is(input,textarea) {background:#fff!important;color:#281658!important;border-color:#c9b2ed!important;}
/* Harmonize info-page nav while leaving link destinations and state untouched. */
html body:not(.jj-lv-home) .wrap > header :is(.nav,nav.nav) {gap:clamp(3px,.7vw,12px)!important;justify-content:center!important;align-items:center!important; }
html body:not(.jj-lv-home) .wrap > header :is(.nav a,nav.nav a) {
 color:#39246d!important;
 background:transparent!important;box-shadow:none!important;
 border:0!important;border-radius:0!important;
 font-size:clamp(11px,.95vw,14px)!important;
 padding:8px clamp(5px,.65vw,10px)!important;
}
html body:not(.jj-lv-home) .wrap > header :is(.nav a.current,nav.nav a.current,.nav a[aria-current="page"],nav.nav a[aria-current="page"]) {
 color:#6e37d5!important;background:transparent!important;box-shadow:inset 0 -2px #783cf0!important;
}
html body:not(.jj-lv-home) .wrap .logo { background:linear-gradient(135deg,#562caa,#a479ec)!important;box-shadow:0 8px 21px #6943ac24!important; }
html body:not(.jj-lv-home) .wrap > :is(.section,.card,.box) {border-color:#e4d9f4!important;}
/* Seven monetized cards: smaller and softer, with cute circular symbols. */
body.jj-lv-home .product-zone {padding-inline:clamp(0px,1.2vw,19px)!important;}
body.jj-lv-home .products,
body.jj-lv-home .jj-extra-products {gap:clamp(11px,1.3vw,22px)!important; }
body.jj-lv-home .products .product,
body.jj-lv-home .jj-extra-products .jj-extra-product {
 display:flex!important;flex-direction:column!important;align-items:center!important;
 text-align:center!important;justify-content:flex-start!important;
 padding:20px 13px 15px!important;
 min-width:0!important;min-height:250px!important;height:auto!important;
 border:1px solid #e4d7f8!important;border-radius:21px!important;
 background:linear-gradient(145deg,#fff,#f8f3ff 87%)!important;
 box-shadow:0 8px 26px rgba(105,69,177,.075)!important;
 color:#38266c!important;transform:none;
}
body.jj-lv-home .products .product:hover,
body.jj-lv-home .jj-extra-products .jj-extra-product:hover {border-color:#bba2ef!important;transform:translateY(-2px)!important;box-shadow:0 12px 27px rgba(105,69,177,.13)!important;}
body.jj-lv-home .products .product.active {border-color:#8553e3!important;box-shadow:0 0 0 2px #d4c2f7,0 8px 26px #774ca123!important;}
body.jj-lv-home .products .product::before,
body.jj-lv-home .jj-extra-products .jj-extra-product::before {
 content:"✧"!important;position:relative!important;inset:auto!important;
 display:grid!important;place-items:center!important;flex:0 0 auto!important;
 width:58px!important;height:58px!important;margin:0 auto 9px!important;
 border:1px solid #e4d3fc!important;border-radius:50%!important;
 background:radial-gradient(circle at 35% 30%,#fff 8%,#eee4ff 75%)!important;
 box-shadow:0 6px 17px #9372cf1a!important;
 color:#8151e1!important;font:400 28px/1 Georgia,serif!important;
 pointer-events:none!important;
}
body.jj-lv-home .products .product[data-kind="today"]::before {content:"☀"!important;}
body.jj-lv-home .products .product[data-kind="focus"]::before {content:"✦"!important;}
body.jj-lv-home .products .product[data-kind="full"]::before {content:"☯"!important;}
body.jj-lv-home .jj-extra-product[data-jj-sale-kind="saju-match"]::before {content:"♡"!important;}
body.jj-lv-home .jj-extra-product[data-jj-sale-kind="dream-detail"]::before {content:"☾"!important;}
body.jj-lv-home .jj-extra-product[data-jj-sale-kind="name-detail"]::before {content:"✿"!important;}
body.jj-lv-home .products .product .tier,
body.jj-lv-home .jj-extra-product .jj-extra-kicker {position:static!important;display:block!important;margin:0 0 4px!important;color:#8e6abc!important;font-size:10px!important;letter-spacing:.11em!important}
body.jj-lv-home .products .product h3,
body.jj-lv-home .jj-extra-product h3 {margin:4px 0 7px!important;font-size:clamp(17px,1.6vw,22px)!important;letter-spacing:-.04em!important;color:#2b1a66!important;position:relative!important;line-height:1.28!important}
body.jj-lv-home .products .product p,
body.jj-lv-home .jj-extra-product p {font-size:12px!important;line-height:1.65!important;min-height:0!important;color:#655582!important;margin:0 0 8px!important;max-width:29ch!important}
body.jj-lv-home .products .product .price,
body.jj-lv-home .jj-extra-product .price {position:static!important;display:block!important;margin:8px auto 3px!important;color:#7436da!important;font-size:clamp(17px,1.7vw,23px)!important;text-align:center!important}
body.jj-lv-home .products .product :is(.product-benefit,.full-benefit),
body.jj-lv-home .jj-extra-product .jj-extra-note {position:static!important;display:block!important;margin:4px 0!important;color:#8761ad!important;font-size:11px!important}
body.jj-lv-home .products .product .stamp {display:none!important;}
body.jj-lv-home .products .product .product-revisit-btn {position:static!important;inset:auto!important;width:auto!important;max-width:100%!important;min-height:32px!important;margin:auto 0 0!important;padding:6px 9px!important;border:0!important;border-bottom:1px solid #a681df!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#6841bc!important;font-size:11px!important;line-height:1.3!important;}
body.jj-lv-home .jj-extra-product .jj-extra-cta {margin-top:auto!important;padding:9px 0 0!important;color:#7040c0!important;border:0!important;background:transparent!important;}
/* Fortune collection service cards: keep every existing anchor/price and its href. */
body #content .category .cards {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(10px,1.3vw,18px)!important;}
body #content .category .cards.two {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body #content .category .cards .feature {display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;min-width:0!important;gap:4px!important;padding:19px 13px!important;border-radius:20px!important;background:linear-gradient(135deg,#fff,#f8f3ff)!important;border:1px solid #e2d5f7!important;box-shadow:0 7px 22px #7553ad14!important;}
body #content .category .cards .feature .symbol {order:-1!important;position:static!important;display:grid!important;place-items:center!important;width:58px!important;height:58px!important;margin:0 auto 6px!important;border-radius:50%!important;border:1px solid #dfcffa!important;background:radial-gradient(circle at 35% 23%,#fff,#eee5ff)!important;color:#7445d2!important;font-size:29px!important;line-height:1!important;}
body #content .category .cards .feature h4 {font-size:clamp(15px,1.4vw,18px)!important;color:#312062!important;line-height:1.3!important;margin:6px 0!important;}
body #content .category .cards .feature :is(p,small,.feature-note) {font-size:12px!important;line-height:1.5!important;color:#63517f!important;word-break:keep-all!important;}
body #content .category .cards .feature .state {margin-top:auto!important;color:#7443cc!important;border:0!important;background:transparent!important;}
/* Opening popup: only recolor; untouched controls, timing, dismissal and payment info. */
#jj-launch-event .jjle-shade {background:rgba(29,18,67,.56)!important;}
#jj-launch-event .jjle-card {background:radial-gradient(circle at 87% 0%,#e6d5ff95,transparent 58%),linear-gradient(155deg,#fff,#f7f0ff)!important;color:#332263!important;border:1px solid #dfd0fa!important;box-shadow:0 30px 80px #28174c5c!important;}
#jj-launch-event .jjle-card:before {border-color:#d7c2f455!important;}
#jj-launch-event .jjle-close {color:#6847a4!important;background:#eae0fc!important;right:10px!important;top:10px!important;}
#jj-launch-event .jjle-close:hover{background:#dac8f7!important;}
#jj-launch-event :is(.jjle-brand,.jjle-star){color:#7b57be!important;}
#jj-launch-event :is(h2,.jjle-offer){color:#38226c!important;}
#jj-launch-event .jjle-offer strong{color:#753ed9!important;}
#jj-launch-event .jjle-rule{background:#af89ed!important;}
#jj-launch-event .jjle-period{border-color:#d8c2f1!important;color:#7855ab!important;background:#ffffff70!important;}
#jj-launch-event .jjle-action{border-color:#7043c2!important;background:linear-gradient(130deg,#6134bc,#8e5ce3)!important;color:#fff!important;box-shadow:0 8px 22px #815dc23d!important;}
#jj-launch-event .jjle-action:hover{background:#5e2eae!important;}
#jj-launch-event .jjle-note{color:#82729a!important;}
/* Mobile: compact top nav, 2-column friendly cards, preserve reading. */
@media(max-width:800px){
 body #content .category .cards {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.jj-lv-home .products,.jj-lv-home .jj-extra-products {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.jj-lv-home .jj-lv-nav{gap:0!important;justify-content:space-between!important;}
 body.jj-lv-home .jj-lv-nav a{padding:12px 3px!important;font-size:clamp(10px,2.65vw,13px)!important;}
 html body:not(.jj-lv-home) .wrap>header{gap:8px!important;flex-wrap:wrap!important;}
 html body:not(.jj-lv-home) .wrap>header :is(nav.nav,.nav){flex-wrap:wrap!important;justify-content:flex-start!important;}
 html body:not(.jj-lv-home) .wrap>header :is(nav.nav a,.nav a){font-size:11px!important;padding:7px 6px!important;}
}
@media(max-width:480px){
 body.jj-lv-home .products,.jj-lv-home .jj-extra-products{gap:9px!important;}
 body.jj-lv-home .products .product,body.jj-lv-home .jj-extra-products .jj-extra-product{min-height:240px!important;padding:14px 8px 12px!important;border-radius:16px!important;}
 body.jj-lv-home .products .product::before,body.jj-lv-home .jj-extra-products .jj-extra-product::before,body #content .category .cards .feature .symbol{width:48px!important;height:48px!important;font-size:23px!important;}
 body.jj-lv-home .products .product h3,body.jj-lv-home .jj-extra-product h3{font-size:16px!important;}
 body.jj-lv-home .products .product p,body.jj-lv-home .jj-extra-product p{font-size:11px!important;}
 body #content .category .cards .feature{padding:14px 8px!important;}
 body #content .category .cards .feature h4{font-size:15px!important;}
 html body:not(.jj-lv-home) .wrap > section.hero,html body:not(.jj-lv-home) .wrap>main>section.hero{padding:24px 18px!important;min-height:165px!important;}
 #jj-launch-event .jjle-card{width:min(100%,365px)!important;}
}
@media(max-width:350px){
 body.jj-lv-home .jj-lv-nav a{font-size:10px!important;padding:10px 2px!important;}
 body.jj-lv-home .products .product .product-revisit-btn{font-size:10px!important;}
}
