/* JVN Financial 2.8.2: the add-to-cart design (canvas "Bundle picker redesign"). Scoped under .jvncur-store; the theme keeps the gallery, text and tabs. */
.jvncur-store{--jc-ink:#151515;--jc-mute:#5f5f5f;--jc-line:#e4e4e4;--jc-panel:#f6f6f4;--jc-ok:#17603a;--jc-okbg:#e6f2ea;--jc-bad:#8a1f11;color:var(--jc-ink);font-family:inherit;margin:0 0 1.5em;box-sizing:border-box}
/* 2.8.1: a theme floats the short description (Salient: float:left); a flex or BFC form beside a float shrinks to the space left, which was 0. Clear it, fill the column, never shrink. */
html body form.cart.jvncur-store{clear:both!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:1 1 100%;position:relative}
html body .jvncur-store .jvncur-pcard,html body .jvncur-store .jvncur-vars,html body .jvncur-store .single_variation_wrap,html body .jvncur-store .woocommerce-variation-add-to-cart{float:none!important;clear:none;width:100%;max-width:100%;min-width:0;margin:0!important}
html body .jvncur-store table.variations{display:none!important}
html body .jvncur-store .flex-break,html body .jvncur-store .jvncur-product .flex-break{display:none!important}
.jvncur-store *,.jvncur-store *::before,.jvncur-store *::after{box-sizing:border-box}
.jvncur-store button{font-family:inherit}
.jvncur-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jvncur-store select.jvncur-sel-off{display:none!important}
.jvncur-store select.jvncur-select,.jvncur-store select.jvncur-sel:not(.jvncur-sel-off){width:100%;max-width:100%;min-height:48px;padding:10px 14px;border:1px solid #d6d6d6;border-radius:12px;background:#fff;color:var(--jc-ink);font:inherit;font-size:15px}
.jvncur-pills{display:flex;flex-wrap:wrap;gap:8px;width:100%;min-width:0;margin:0;padding:0;float:none}
html body .jvncur-store label.jvncur-pill{display:inline-flex;position:relative;margin:0!important;padding:0!important;border:0!important;background:none!important;float:none!important;width:auto;min-width:0;max-width:100%;cursor:pointer;text-transform:none!important;letter-spacing:normal;font-size:14px;font-weight:400;line-height:18px;box-shadow:none}
.jvncur-store .jvncur-pill input.jvncur-radio{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;pointer-events:none;-webkit-appearance:none;appearance:none}
html body .jvncur-store .jvncur-pill .jvncur-pill__t{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid #d6d6d6;border-radius:999px;background:#fff;color:var(--jc-ink);font-size:14px;line-height:18px;font-weight:400;padding:12px 16px;min-height:44px;min-width:0;max-width:100%;white-space:nowrap;text-transform:none;letter-spacing:normal;transition:none}
.jvncur-store .jvncur-pill:hover input:not(:disabled):not(:checked)+.jvncur-pill__t{border-color:#9a9a9a}
html body .jvncur-store .jvncur-pill input:checked+.jvncur-pill__t{background:var(--jc-ink);border-color:var(--jc-ink);color:#fff}
html body .jvncur-store .jvncur-pill input:disabled+.jvncur-pill__t{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.jvncur-store .jvncur-pill input:focus-visible+.jvncur-pill__t{outline:2px solid var(--jc-ink);outline-offset:2px}
.jvncur-cta:focus-visible,.jvncur-step:focus-visible,.jvncur-q:focus-visible{outline:2px solid var(--jc-ink);outline-offset:2px}
.jvncur-opt{border:0;margin:0;padding:0;min-width:0}
.jvncur-opt>legend{font-size:13px;color:var(--jc-mute);padding:0;margin:0 0 8px;float:none;display:block;width:auto}
html body .jvncur-store .jvncur-qty.quantity{display:inline-flex!important;align-items:center;border:1px solid #d6d6d6;border-radius:999px;background:#fff;margin:0!important;float:none!important;width:auto!important;position:static}
.jvncur-step{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-size:20px;line-height:1;width:44px;height:44px;cursor:pointer;color:var(--jc-ink);margin:0;padding:0;border-radius:999px}
.jvncur-step:disabled{opacity:.35;cursor:not-allowed}
.jvncur-step[hidden]{display:none}
html body .jvncur-store .jvncur-qty input.qty.jvncur-q{width:56px;min-width:0;height:44px;border:0;background:transparent;text-align:center;font:inherit;font-size:16px;font-weight:600;padding:0;margin:0;box-shadow:none;-moz-appearance:textfield;appearance:textfield}
html body .jvncur-store .jvncur-qty.has-steps input.qty.jvncur-q{width:40px}
.jvncur-q::-webkit-outer-spin-button,.jvncur-q::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* The buttons (2.8.1): a theme's button rules are important and specific (Salient: upper case, 12px, its own padding and radius), so ours say what they mean in
   one place, doubled for weight: filled #151515 for Add to cart, outlined for Buy now, grey when off, normal case, filling their grid cell. */
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta{box-sizing:border-box!important;display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:none!important;min-width:0!important;height:56px!important;min-height:56px!important;margin:0!important;float:none!important;flex:none!important;padding:0 20px!important;border:2px solid #151515!important;border-radius:999px!important;background:#151515!important;color:#fff!important;font-family:inherit!important;font-size:16px!important;font-weight:700!important;letter-spacing:.02em!important;line-height:1.2!important;text-transform:none!important;text-align:center;box-shadow:none!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;opacity:1!important;appearance:none;-webkit-appearance:none}
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta:hover{background:#000!important;border-color:#000!important;color:#fff!important}
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta--ghost{background:#fff!important;color:#151515!important;border-color:#151515!important}
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta--ghost:hover{background:#f3f3f3!important;color:#151515!important;border-color:#151515!important}
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta:is(:disabled,.disabled,[aria-disabled=true]){background:#d9d9d9!important;border-color:#d9d9d9!important;color:#5a5a5a!important;cursor:not-allowed}
html body .jvncur-store.jvncur-store .jvncur-btns button.jvncur-cta.jvncur-cta--ghost:is(:disabled,.disabled,[aria-disabled=true]){background:#fff!important;border-color:#d9d9d9!important;color:#767676!important;cursor:not-allowed}
.jvncur-chip{display:inline-block;font-size:14px;line-height:20px;color:#3d3d3d;background:#f3f3f3;border-radius:999px;padding:4px 10px;white-space:nowrap}
.jvncur-save{display:inline-block;font-size:13px;line-height:18px;font-weight:700;color:var(--jc-ok);background:var(--jc-okbg);padding:4px 10px;border-radius:999px;margin-left:12px;vertical-align:middle;white-space:nowrap}
.jvncur-save[hidden]{display:none}
.jvncur-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;float:none}
.jvncur-bar{display:flex;flex-direction:column;gap:12px}
.jvncur-bar__sum{display:none}
.jvncur-status{margin:0;min-height:1.4em;color:var(--jc-bad);font-size:.95em;line-height:1.4}
/* the bundle */
.jvncur-bundle{display:flex;flex-direction:column;gap:28px}
.jvncur-sec{display:flex;flex-direction:column;gap:14px;margin:0}
.jvncur-sec__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.jvncur-sec__head h2{margin:0;padding:0;font-size:20px;line-height:1.3;font-weight:700;color:var(--jc-ink)}
.jvncur-sec__note{font-size:14px;color:var(--jc-mute)}
.jvncur-list{list-style:none;margin:0;padding:0;border:1px solid var(--jc-line);border-radius:16px;overflow:hidden}
.jvncur-list>li{margin:0;list-style:none}
.jvncur-list>li+li{border-top:1px solid #ececec}
.jvncur-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:20px;align-items:start;padding:20px 22px}
.jvncur-item--nothumb{grid-template-columns:minmax(0,1fr) auto}
.jvncur-thumb{display:block;width:80px;height:80px;border-radius:10px;overflow:hidden;background:#f2f2f2}
.jvncur-thumb img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0}
.jvncur-item__main{display:flex;flex-direction:column;gap:4px;min-width:0}
.jvncur-item__name{font-size:17px;font-weight:700;line-height:24px;overflow-wrap:anywhere}
.jvncur-item__type{font-size:14px;color:var(--jc-mute);line-height:20px}
.jvncur-item__opt{margin-top:10px}
.jvncur-item__side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.jvncur-bundle--pick .jvncur-list{border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;gap:10px}
.jvncur-bundle--pick .jvncur-list>li+li{border-top:0}
.jvncur-bundle--pick .jvncur-list--fixed{border:1px solid var(--jc-line);border-radius:16px;overflow:hidden;gap:0}
.jvncur-bundle--pick .jvncur-list--fixed>li+li{border-top:1px solid #ececec}
.jvncur-tickcard{border:1px solid var(--jc-line);border-radius:14px;background:#fff;position:relative}
.jvncur-tickcard.is-on{border:2px solid var(--jc-ink);background:#fafafa}
.jvncur-tickcard:hover{border-color:#a8a8a8}
.jvncur-tickcard.is-on:hover{border-color:var(--jc-ink)}
.jvncur-tickcard:focus-within{outline:2px solid var(--jc-ink);outline-offset:2px}
.jvncur-tick{display:grid;grid-template-columns:28px 64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;min-height:44px;cursor:pointer;margin:0}
.jvncur-tick--nothumb{grid-template-columns:28px minmax(0,1fr) auto}
.jvncur-tickcard.is-on .jvncur-tick{padding:13px 17px}
.jvncur-tick .jvncur-thumb{width:64px;height:64px}
.jvncur-tick input.jvncur-bundle__on{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.jvncur-box{width:24px;height:24px;border-radius:7px;border:2px solid #8a8a8a;display:flex;align-items:center;justify-content:center;background:#fff}
.jvncur-box svg{opacity:0}
.jvncur-tickcard.is-on .jvncur-box{background:var(--jc-ink);border-color:var(--jc-ink)}
.jvncur-tickcard.is-on .jvncur-box svg{opacity:1}
.jvncur-tickcard__more{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;padding:0 18px 14px 126px}
.jvncur-tickcard__more[hidden]{display:none}
.jvncur-tickcard--nothumb .jvncur-tickcard__more{padding-left:62px}
.jvncur-progress{display:flex;align-items:center;gap:12px}
.jvncur-progress__track{flex:1;height:6px;border-radius:999px;background:#ececec;overflow:hidden}
.jvncur-progress__fill{display:block;height:6px;border-radius:999px;background:var(--jc-ink);width:0;transition:width .15s}
.jvncur-progress__label{font-size:14px;font-weight:600;min-width:120px;text-align:right}
.jvncur-sum{background:var(--jc-panel);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px}
.jvncur-sum__lines{display:flex;flex-direction:column;gap:10px}
.jvncur-sum__line{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:#5c5c5c}
.jvncur-sum__line--save{color:var(--jc-ok);font-weight:600}
.jvncur-sum__line--save[hidden],.jvncur-sum__line--was[hidden]{display:none}
.jvncur-sum__was{text-decoration:line-through}
.jvncur-sum__rule{height:1px;background:#e2e2de}
.jvncur-sum__total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.jvncur-sum__total .jvncur-sum__label{font-size:17px;font-weight:700}
.jvncur-sum__price{font-size:28px;font-weight:700;line-height:1.2}
.jvncur-sum__qty{display:flex;align-items:center;justify-content:space-between;gap:16px}
.jvncur-sum__qty label,.jvncur-sum__qty .jvncur-lbl{font-size:14px;font-weight:600}
.jvncur-sum__rule[hidden]{display:none}
.jvncur-note{margin:0;font-size:13px;line-height:20px;color:#6b6b6b;text-align:center}
.jvncur-item__x{display:none}
.jvncur-bundle-from{font-size:.85em;margin-right:.25em}
.jvncur-bundled .product-name{padding-left:1.25em}
.jvncur-bundle-qty{display:inline-block}
/* a normal product */
.jvncur-product{display:flex;flex-direction:column;gap:22px}
.jvncur-product .jvncur-vars{display:flex;flex-direction:column;gap:18px;margin:0;padding:0;border:0}
.jvncur-product .jvncur-vars .reset_variations[style*="hidden"]{display:none}
.jvncur-product .jvncur-vars .reset_variations{align-self:flex-start;font-size:13px;color:var(--jc-mute);text-decoration:underline;margin-top:-6px}
.jvncur-pcard{border:1px solid var(--jc-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:22px;background:#fff}
html body .jvncur-store .jvncur-pcard{box-sizing:border-box}
.jvncur-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.jvncur-row .jvncur-lbl{font-size:14px;font-weight:600}
.jvncur-hr{height:1px;background:#ececec;border:0;margin:0}
.jvncur-totalrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.jvncur-totalrow .jvncur-lbl{font-size:16px;font-weight:700}
.jvncur-totalrow .jvncur-total{font-size:26px;font-weight:700}
html body .jvncur-store.jvncur-product .single_variation_wrap{display:flex;flex-direction:column;gap:0}
html body .jvncur-store .jvncur-vars{margin:0!important}
.jvncur-product .woocommerce-variation-description:not(:empty){margin-bottom:22px}
.jvncur-product .woocommerce-variation{margin:0}
html body .jvncur-store.jvncur-product .woocommerce-variation-add-to-cart{display:flex;flex-direction:column;flex-wrap:nowrap;gap:22px}
.jvncur-product .woocommerce-variation-price{display:none}
body.jvncur-has-bar .jvncur-oos{margin:0}
/* the phone */
@media (max-width:600px){
 .jvncur-sec__head h2{font-size:18px}
 .jvncur-item{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px;align-items:center}
 .jvncur-item--nothumb{grid-template-columns:minmax(0,1fr)}
 .jvncur-thumb{width:64px;height:64px}
 .jvncur-item__name{font-size:16px;line-height:22px}
 .jvncur-item__side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;margin-top:-4px}
 .jvncur-item__side.jvncur-side--fixed{display:none}
 .jvncur-item__x{display:inline}
 html body .jvncur-store label.jvncur-pill{flex:1 1 0}
 html body .jvncur-store .jvncur-pill .jvncur-pill__t{width:100%;padding:12px 14px}
 .jvncur-pcard--bar-only{border:0;padding:0;background:none;gap:0;min-height:0}
 .jvncur-tick{grid-template-columns:28px 52px minmax(0,1fr);gap:12px;padding:12px 14px}
 .jvncur-tick--nothumb{grid-template-columns:28px minmax(0,1fr)}
 .jvncur-tick .jvncur-thumb{width:52px;height:52px}
 .jvncur-tick .jvncur-tick__side{grid-column:2/-1}
 .jvncur-tickcard__more{padding:0 14px 14px}
 .jvncur-progress__label{min-width:96px}
 .jvncur-sum{padding:18px}
 .jvncur-sum__price{font-size:22px}
 .jvncur-sum__total .jvncur-sum__label{font-size:16px}
 .jvncur-pcard{padding:16px}
 /* 2.8.2: the room for the fixed bar is at the END of the page (the bar's real height, set by store.js; 136px covers a bar with a status line when the script has not run), never under the box */
 html body.jvncur-has-bar{padding-bottom:var(--jvncur-bar-h,136px)}
 .jvncur-bar{position:fixed;left:0;right:0;bottom:0;z-index:99990;background:#fff;border-top:1px solid var(--jc-line);box-shadow:0 -6px 18px rgba(0,0,0,.06);padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));gap:10px;margin:0}
 .jvncur-bar__sum{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
 .jvncur-bar__price{font-size:20px;font-weight:700}
 .jvncur-bar__save{font-size:13px;color:var(--jc-ok);font-weight:600}
 .jvncur-bar .jvncur-btns{gap:10px}
 html body .jvncur-store.jvncur-store .jvncur-bar .jvncur-btns button.jvncur-cta.jvncur-cta{height:52px!important;min-height:52px!important;font-size:15px!important;padding:0 12px!important;white-space:nowrap}
 html body .jvncur-store .jvncur-bar .jvncur-status{font-size:13px;min-height:0;margin:0!important;padding:0!important}
 .jvncur-bar .jvncur-status:empty{display:none}
}
@media (max-width:600px){.jvncur-desk{display:none}}
@media (prefers-reduced-motion:reduce){.jvncur-progress__fill{transition:none}}
