/** Shopify CDN: Minification failed

Line 11:44 Unexpected "("

**/
/* ==========================================================================
   nc-pdp v1.6 (2026-11-04) — PDP buy section. Base: v1.5 (Grüns-style layout), unchanged except where marked v1.6.
   v1.6: stacked course cards (.pdp-opt) replace the bundle image boxes, the dynamic panel and the gifts box;
         one-off / subscribe rows (.pdp-plan) replace the subscription toggle; the selected card carries the
         big price; bullets set as bold outcome + authorised claim. Removed with them: .pdp-boxes/.pdp-box*,
         .pdp-panel*, .pdp-gifts*/.pdp-gift (except .pdp-gift-free), .pdp-mode/.pdp-mode-track/-knob/-text.
   Scoped under .nc-pdp. Breakpoint 860. Tokens are the Cool v6 values already used by nc-buy.
   ========================================================================== */
.nc-pdp, .nc-pdp *, .nc-pdp *::before, .nc-pdp *::after { box-sizing: border-box; }
.nc-pdp {
  --petrol:#005550; --petrol-light:#0A6B65; --charcoal:#0A2322;
  --text-primary:#1c4743; --text-secondary:rgba(28,71,67,0.82); --text-muted:rgba(28,71,67,0.76);
  --cream:#F6F3EF; --border:#E2E8F0; --silver:#C4CCD7; --sel-bg:#F4F8F7; --media-bg:#10221F; --bg:#F1F4F8;
  --tint:rgba(0,85,80,.06); --rule:rgba(10,35,34,.16);
  --pg:linear-gradient(135deg,#1c4743 0%,#005550 45%,#0A6B65 100%);
  --cta:#C7F032;
  --nc-rail:1280px; --nc-gutter:clamp(24px,5vw,48px);
  --pt:64px; --pb:96px; --pscale:1;
  --ease:cubic-bezier(.16,1,.3,1);
  --heading:'Advercase','Georgia',serif; --body:'Sohne','Helvetica Neue',Helvetica,Arial,sans-serif; --mono:'JetBrains Mono','Consolas',monospace;
  position:relative; background:var(--bg); color:var(--text-primary);
  font-family:var(--body); -webkit-font-smoothing:antialiased;
}
@keyframes pdpShine{from{transform:translateX(-130%) skewX(-18deg)}to{transform:translateX(330%) skewX(-18deg)}}
@keyframes pdpIn{from{opacity:0; transform:translateY(5px)}to{opacity:1; transform:none}}
@keyframes pdpPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes pdpLive{0%{box-shadow:0 0 0 0 rgba(10,107,101,.45)}70%{box-shadow:0 0 0 8px rgba(10,107,101,0)}100%{box-shadow:0 0 0 0 rgba(10,107,101,0)}}
@keyframes pdpTravel{0%{left:0; opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%; opacity:0}}
@keyframes pdpFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pdpSheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes pdpSheetPop{from{opacity:0; transform:translate(-50%,-50%) scale(.96)}to{opacity:1; transform:translate(-50%,-50%) scale(1)}}
@keyframes pdpFade{from{opacity:0}to{opacity:1}}

.nc-pdp .pdp-wrap{max-width:var(--nc-rail); margin:0 auto; padding:calc(var(--pt) * var(--pscale)) var(--nc-gutter) calc(var(--pb) * var(--pscale))}
.nc-pdp .pdp-grid{display:grid; grid-template-columns:minmax(0,57fr) minmax(0,43fr); gap:48px; align-items:start}
.nc-pdp .pdp-left{min-width:0; position:sticky; top:var(--stick,24px); display:flex; flex-direction:column; gap:22px}
.nc-pdp .pdp-right{min-width:0; display:flex; flex-direction:column; gap:26px; padding-bottom:8px}

.nc-pdp .pdp-gallery{display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-areas:"thumbs stage"; gap:14px; align-items:start}
.nc-pdp .pdp-stage-wrap{grid-area:stage; position:relative; min-width:0}
.nc-pdp .pdp-stage{display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; aspect-ratio:1080/1130; border-radius:18px; background:var(--media-bg); outline:none}
.nc-pdp .pdp-stage::-webkit-scrollbar{display:none}
.nc-pdp .pdp-stage:focus-visible{box-shadow:0 0 0 3px rgba(0,85,80,.5)}
.nc-pdp .pdp-slide{flex:0 0 100%; height:100%; scroll-snap-align:start; scroll-snap-stop:always}
.nc-pdp .pdp-slide img, .nc-pdp .pdp-slide-img{display:block; width:100%; height:100%; object-fit:cover}
.nc-pdp .pdp-arrow{position:absolute; top:50%; width:42px; height:42px; margin-top:-21px; border-radius:50%; border:none; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.92); color:var(--charcoal); box-shadow:0 4px 14px rgba(10,35,34,.18); cursor:pointer; opacity:0; transition:opacity .2s,transform .2s}
.nc-pdp .pdp-arrow.is-prev{left:14px}
.nc-pdp .pdp-arrow.is-next{right:14px}
.nc-pdp .pdp-stage-wrap:hover .pdp-arrow, .nc-pdp .pdp-arrow:focus-visible{opacity:1}
.nc-pdp .pdp-arrow:hover{transform:scale(1.06)}
.nc-pdp .pdp-arrow[disabled]{opacity:0 !important; pointer-events:none}
.nc-pdp .pdp-thumbs{grid-area:thumbs; display:flex; flex-direction:column; gap:10px; align-self:stretch; height:0; min-height:100%; overflow-y:auto; overflow-x:hidden; scrollbar-width:none; padding:1px}
.nc-pdp .pdp-thumbs::-webkit-scrollbar{display:none}
.nc-pdp .pdp-thumb{flex:none; width:70px; aspect-ratio:1080/1130; padding:2px; border-radius:10px; background:#fff; border:1px solid var(--border); opacity:.72; cursor:pointer; transition:opacity .2s,border-color .2s}
.nc-pdp .pdp-thumb img{display:block; width:100%; height:100%; object-fit:cover; border-radius:7px}
.nc-pdp .pdp-thumb:hover{opacity:1}
.nc-pdp .pdp-thumb.is-active{border:2px solid var(--petrol); padding:1px; opacity:1}

.nc-pdp .pdp-review{margin-left:86px; background:#fff; border:1px solid var(--border); border-radius:16px; padding:18px 20px; display:flex; flex-direction:column; gap:12px}
.nc-pdp .pdp-review-head{display:flex; align-items:center; gap:12px}
.nc-pdp .pdp-review-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none}
.nc-pdp .pdp-review-who{flex:1; min-width:0}
.nc-pdp .pdp-review-name{font-weight:500; font-size:14px; color:var(--text-primary)}
.nc-pdp .pdp-review-meta{font-size:12px; color:var(--text-muted); margin-top:1px}
.nc-pdp .pdp-review-stars{display:flex; flex-direction:column; align-items:flex-end; gap:4px}
.nc-pdp .pdp-review-badge{display:flex; align-items:center; gap:4px; font-family:var(--mono); font-size:9px; letter-spacing:.08em; color:var(--petrol)}
.nc-pdp .pdp-review-quote{font-size:14px; line-height:1.6; color:var(--text-secondary)}
.nc-pdp .pdp-review-foot{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap}
.nc-pdp .pdp-review-rated{font-size:12px; color:var(--text-muted)}
.nc-pdp .pdp-review-rated strong{font-weight:500; color:var(--text-primary)}
.nc-pdp .pdp-review-link{font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:var(--petrol); text-decoration:none}

.nc-pdp .pdp-label-btn{margin-left:86px; min-height:54px; padding:0 20px; border-radius:100px; border:1.5px solid var(--charcoal); background:transparent; color:var(--charcoal); font-family:var(--body); font-weight:500; font-size:16px; letter-spacing:.01em; cursor:pointer; transition:background .2s}
.nc-pdp .pdp-label-btn:hover{background:rgba(10,35,34,.05)}
.nc-pdp .pdp-label-btn:focus-visible{outline:3px solid rgba(0,85,80,.45); outline-offset:2px}
.nc-pdp .pdp-label-dialog{width:min(760px, calc(100vw - 32px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); padding:0; border:0; border-radius:18px; background:#fff; color:var(--charcoal); box-shadow:0 24px 60px rgba(10,35,34,.35); overflow:hidden}
.nc-pdp .pdp-label-dialog[open]{display:flex; flex-direction:column; animation:pdpFade .2s ease}
.nc-pdp .pdp-label-dialog::backdrop{background:rgba(10,35,34,.58); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px)}
.nc-pdp .pdp-label-head{flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 12px 12px 20px; border-bottom:1px solid var(--border); font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted)}
.nc-pdp .pdp-label-close{width:40px; height:40px; border-radius:50%; border:none; background:transparent; color:var(--charcoal); display:flex; align-items:center; justify-content:center; cursor:pointer}
.nc-pdp .pdp-label-close:hover{background:var(--tint)}
.nc-pdp .pdp-label-body{flex:1; min-height:0; overflow:auto; padding:16px; overscroll-behavior:contain}
.nc-pdp .pdp-label-img{display:block; width:100%; height:auto}

.nc-pdp .pdp-head{display:flex; flex-direction:column; gap:12px}
.nc-pdp .pdp-tp{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.nc-pdp .pdp-tp img{flex:none; display:block}
.nc-pdp .pdp-tp span{font-size:13.5px; color:var(--text-secondary)}
.nc-pdp .pdp-tp strong{font-weight:500; color:var(--text-primary)}
.nc-pdp .pdp-title{font-family:var(--heading); font-weight:700; font-size:44px; line-height:1.08; letter-spacing:-.015em; color:var(--text-primary); margin:0}
.nc-pdp .pdp-story{font-size:20px; line-height:1.5; font-weight:500; color:var(--charcoal); max-width:60ch}
.nc-pdp .pdp-story p{margin:0}
.nc-pdp .pdp-bens{display:flex; flex-direction:column; gap:12px}
.nc-pdp .pdp-ben{display:flex; align-items:flex-start; gap:12px}
.nc-pdp .pdp-seal{flex:none; width:21px; height:21px; margin-top:1px}
.nc-pdp .pdp-ben span{font-size:17.5px; line-height:1.4; color:var(--text-primary)}
/* v1.6 bullets: bold outcome, then the authorised claim in a quieter colour */
.nc-pdp .pdp-ben .pdp-ben-txt{color:var(--text-secondary)}
.nc-pdp .pdp-ben .pdp-ben-txt strong, .nc-pdp .pdp-ben .pdp-ben-txt b{font-weight:500; color:var(--charcoal)}
.nc-pdp .pdp-ben sup{font-size:10px; color:var(--text-muted)}
.nc-pdp .pdp-bens-note{font-size:12px; color:var(--text-muted); margin-top:10px}

.nc-pdp .pdp-buy{display:flex; flex-direction:column; gap:16px}
.nc-pdp .pdp-choose{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--text-muted)}
.nc-pdp .pdp-badge{position:absolute; top:0; left:50%; z-index:2; transform:translate(-50%,-55%); white-space:nowrap; font-family:var(--body); font-weight:500; font-size:11.5px; letter-spacing:.07em; text-transform:uppercase; line-height:1; padding:7px 12px; border-radius:100px; box-shadow:0 3px 10px rgba(10,35,34,.2)}
.nc-pdp .pdp-badge--lime{background:var(--cta); color:var(--charcoal)}
.nc-pdp .pdp-badge--petrol{background:var(--pg); color:var(--cream)}
.nc-pdp .pdp-badge--charcoal{background:var(--charcoal); color:var(--cream)}
.nc-pdp .pdp-badge.is-inline{position:static; transform:none; box-shadow:none; display:inline-block; margin-left:8px; padding:4px 8px; font-size:9.5px; vertical-align:2px}
.nc-pdp .pdp-tick{flex:none; color:var(--petrol); margin-top:1px}
.nc-pdp .pdp-gift-free{display:inline-block; padding:4px 10px; border-radius:100px; background:var(--cta); color:var(--charcoal); font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; line-height:1.2}
.nc-pdp .pdp-shine{position:absolute; top:0; bottom:0; left:0; width:40%; background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%); transform:translateX(-130%) skewX(-18deg); pointer-events:none; z-index:1}

/* ---------------- v1.6: stacked course cards ---------------- */
.nc-pdp .pdp-opts{display:flex; flex-direction:column; gap:12px}
.nc-pdp .pdp-opt{position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) auto; grid-template-areas:"media id price" "more more more"; column-gap:14px; align-items:center; padding:12px 18px 12px 12px; border-radius:16px; border:2px solid var(--border); background:#fff; cursor:pointer; transition:border-color .2s,box-shadow .3s,background .25s; -webkit-tap-highlight-color:transparent}
.nc-pdp .pdp-opt.has-badge{margin-top:12px}
.nc-pdp .pdp-opt:hover{border-color:var(--silver)}
.nc-pdp .pdp-opt:focus-visible{outline:3px solid rgba(0,85,80,.45); outline-offset:2px}
.nc-pdp .pdp-opt.is-sel{border-color:var(--petrol); background:linear-gradient(180deg,rgba(0,85,80,.07),rgba(0,85,80,.03)),#fff; box-shadow:0 12px 32px rgba(0,85,80,.14)}
.nc-pdp .pdp-opt.is-off{opacity:.55}
/* badge sits on the right so it never covers the selection tick on the picture */
.nc-pdp .pdp-opt .pdp-badge{left:82px; right:auto; transform:translateY(-55%)}
.nc-pdp .pdp-opt-media{grid-area:media; position:relative; width:52px; height:52px; border-radius:11px; background:var(--media-bg)}
.nc-pdp .pdp-opt-media img{display:block; width:100%; height:100%; object-fit:cover; border-radius:11px}
/* selection marker = v1.5's box check: ring on every card, the chosen one fills with the buy colour */
.nc-pdp .pdp-opt-check{position:absolute; top:-7px; right:-7px; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--charcoal); border:2px solid #fff; background:var(--silver); box-shadow:0 2px 6px rgba(10,35,34,.25); transition:background .2s,transform .35s var(--ease)}
.nc-pdp .pdp-opt-check svg{display:block; width:13px; height:13px; opacity:0; transform:scale(.4); transition:opacity .2s,transform .35s var(--ease)}
.nc-pdp .pdp-opt.is-sel .pdp-opt-check{background:var(--cta); transform:scale(1.06)}
.nc-pdp .pdp-opt.is-sel .pdp-opt-check svg{opacity:1; transform:none}
.nc-pdp .pdp-opt-id{grid-area:id; min-width:0}
.nc-pdp .pdp-opt-name{display:block; font-family:var(--heading); font-weight:700; font-size:21px; line-height:1.15; color:var(--charcoal); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
/* Advercase sets a wide gap between a figure and a hyphen ("90 -Day"); the Liquid wraps hyphens: {{ title | replace: '-', '<span class="pdp-hy">-</span>' }} */
.nc-pdp .pdp-hy{margin-left:-.13em}
.nc-pdp .pdp-opt-price{grid-area:price; display:flex; align-items:baseline; justify-content:flex-end; gap:9px; text-align:right; white-space:nowrap}
.nc-pdp .pdp-opt-price .pdp-price{display:block; font-size:25px; line-height:1; color:var(--charcoal); transition:font-size .3s var(--ease)}
.nc-pdp .pdp-opt.is-sel .pdp-opt-price .pdp-price{font-size:31px}
.nc-pdp .pdp-opt-was{display:block; font-size:15px; line-height:1; color:var(--text-muted)}
.nc-pdp .pdp-opt-was[hidden]{display:none}
.nc-pdp .pdp-opt-facts{font-size:14.5px; line-height:1.35; color:var(--text-secondary)}
/* what the selected course includes: opens in the selected card only */
.nc-pdp .pdp-opt-more{grid-area:more; display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s var(--ease)}
.nc-pdp .pdp-opt.is-sel .pdp-opt-more{grid-template-rows:1fr}
.nc-pdp .pdp-opt-in{overflow:hidden; min-height:0}
.nc-pdp .pdp-opt-body{display:flex; flex-direction:column; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid rgba(0,85,80,.16)}
.nc-pdp .pdp-opt-save{font-weight:500; font-size:15px; line-height:1.35; color:var(--petrol); margin-top:-4px}
.nc-pdp .pdp-opt-gifts{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; background:#fff; border:1px solid rgba(0,85,80,.16); border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(0,85,80,.06)}
.nc-pdp .pdp-opt-covers{display:flex}
.nc-pdp .pdp-opt-covers img{width:40px; height:40px; border-radius:8px; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 4px rgba(10,35,34,.2)}
.nc-pdp .pdp-opt-covers img + img{margin-left:-12px}
.nc-pdp .pdp-opt-gtxt{min-width:0; line-height:1.3}
.nc-pdp .pdp-opt-gtxt b{display:block; font-weight:500; font-size:15.5px; color:var(--charcoal)}
.nc-pdp .pdp-opt-gtxt span{display:block; font-size:13px; color:var(--text-muted)}
.nc-pdp .pdp-opt-gval{display:flex; flex-direction:column; align-items:flex-end; gap:4px; white-space:nowrap}
.nc-pdp .pdp-opt-worth{font-size:12.5px; line-height:1.2; color:var(--text-muted)}
.nc-pdp .pdp-opt-ticks{display:flex; flex-wrap:wrap; gap:6px 16px; list-style:none; margin:0; padding:0}
.nc-pdp .pdp-opt-ticks li{display:flex; align-items:center; gap:6px; font-size:14.5px; line-height:1.3; color:var(--text-primary)}
.nc-pdp .pdp-opt-note{font-size:13.5px; line-height:1.4; color:var(--text-muted)}
.nc-pdp .pdp-opt.is-swap .pdp-shine{animation:pdpShine .8s ease .05s 1 forwards}
.nc-pdp .pdp-opt-shinebox{position:absolute; inset:0; overflow:hidden; border-radius:14px; pointer-events:none}

/* ---------------- v1.6: one-off / subscribe rows ---------------- */
.nc-pdp .pdp-plans{display:flex; flex-direction:column; gap:10px}
.nc-pdp .pdp-plan{position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; padding:15px 16px; border-radius:16px; border:2px solid var(--border); background:#fff; cursor:pointer; transition:border-color .2s,background .25s,box-shadow .3s; -webkit-tap-highlight-color:transparent}
.nc-pdp .pdp-plan:hover{border-color:var(--silver)}
.nc-pdp .pdp-plan:focus-visible{outline:3px solid rgba(0,85,80,.45); outline-offset:2px}
.nc-pdp .pdp-plan.is-sel{border-color:var(--petrol); background:var(--sel-bg); box-shadow:0 6px 18px rgba(0,85,80,.1)}
.nc-pdp .pdp-plan.is-na{opacity:.5; cursor:not-allowed}
.nc-pdp .pdp-plan-radio{width:22px; height:22px; border-radius:50%; border:2px solid var(--silver); background:#fff; display:flex; align-items:center; justify-content:center}
.nc-pdp .pdp-plan.is-sel .pdp-plan-radio{border-color:var(--petrol)}
.nc-pdp .pdp-plan.is-sel .pdp-plan-radio::after{content:""; width:10px; height:10px; border-radius:50%; background:var(--petrol)}
.nc-pdp .pdp-plan-t{display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; font-weight:500; font-size:16.5px; line-height:1.3; color:var(--charcoal)}
.nc-pdp .pdp-plan-s{display:block; font-size:13.5px; line-height:1.4; color:var(--text-muted); margin-top:2px}
.nc-pdp .pdp-plan .pdp-price{font-size:24px; line-height:1; color:var(--charcoal); white-space:nowrap}
.nc-pdp .pdp-mode-chip{flex:none; display:inline-flex; align-items:center; font-weight:500; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; padding:7px 11px; border-radius:100px; background:var(--cta); color:var(--charcoal); white-space:nowrap; box-shadow:0 4px 14px rgba(199,240,50,.55), inset 0 0 0 1px rgba(10,35,34,.08); transition:background .25s,color .25s}
/* the save chip sits inline next to "Subscribe", so it can never overlap the one-off row */
.nc-pdp .pdp-plan .pdp-mode-chip{padding:5px 9px; font-size:11.5px; box-shadow:0 2px 8px rgba(199,240,50,.45), inset 0 0 0 1px rgba(10,35,34,.08)}
.nc-pdp.is-sub .pdp-plan .pdp-mode-chip{background:var(--charcoal); color:var(--cta); box-shadow:0 4px 14px rgba(10,35,34,.25)}
.nc-pdp .pdp-mode-chip[hidden]{display:none}
.nc-pdp .pdp-sub-terms{font-size:14px; line-height:1.5; color:var(--text-primary); background:#fff; border:1px solid var(--border); border-left:3px solid var(--petrol); border-radius:10px; padding:11px 14px}
.nc-pdp:not(.is-sub) .pdp-sub-terms{display:none}
.nc-pdp .pdp-plans.is-compact .pdp-plan{padding:11px 13px}
.nc-pdp .pdp-plans.is-compact .pdp-plan-t{font-size:15px}
.nc-pdp .pdp-plans.is-compact .pdp-plan .pdp-price{font-size:20px}

.nc-pdp .pdp-cta{width:100%; min-height:66px; border-radius:100px; border:none; cursor:pointer; background:var(--cta); color:var(--charcoal); font-family:var(--body); font-weight:500; font-size:17.5px; letter-spacing:.01em; box-shadow:0 8px 22px rgba(199,240,50,.35); transition:background .25s,color .25s,transform .2s,box-shadow .25s}
.nc-pdp .pdp-cta:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(10,35,34,.22)}
.nc-pdp .pdp-cta:focus-visible{outline:3px solid var(--charcoal); outline-offset:3px}
.nc-pdp .pdp-cta.is-loading{opacity:.75; cursor:progress}
.nc-pdp .pdp-cta.is-added{background:var(--charcoal); color:var(--cream); box-shadow:none}
.nc-pdp .pdp-cta.is-error{background:#B23A33; color:#f1f4f8; box-shadow:none}
.nc-pdp .pdp-cta[disabled]{background:var(--border); color:var(--text-muted); box-shadow:none; cursor:default; transform:none}
.nc-pdp .pdp-price{font-family:var(--heading); font-weight:400}
.nc-pdp .pdp-pence{font-size:.58em; position:relative; top:-.45em}
.nc-pdp .pdp-paywrap{display:flex; flex-direction:column; gap:8px; margin-top:-2px}
.nc-pdp .pdp-pay{display:flex; flex-wrap:wrap; gap:6px; justify-content:center}
.nc-pdp .pdp-pay > span{font-family:var(--mono); font-size:8.5px; letter-spacing:.08em; color:var(--text-muted); border:1px solid var(--border); border-radius:6px; padding:5px 8px; background:#fff}
.nc-pdp .pdp-pay-icons .pdp-pay-icon{border:none; padding:0; background:transparent; display:block; line-height:0}
.nc-pdp .pdp-pay-svg{height:24px; width:auto; display:block; border-radius:3px}
.nc-pdp .pdp-secure{display:flex; align-items:center; justify-content:center; gap:6px; font-size:11.5px; color:var(--text-muted)}

.nc-pdp .pdp-guar{display:flex; flex-direction:column; gap:18px}
.nc-pdp .pdp-guar-head{margin:0; padding:13px 16px; border-radius:14px; background:rgba(0,85,80,.08); text-align:center; font-size:15.5px; line-height:1.4; color:var(--text-primary)}
.nc-pdp .pdp-guar-head strong{font-weight:500; color:var(--charcoal)}
.nc-pdp .pdp-guar-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.nc-pdp .pdp-guar-item{display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center}
.nc-pdp .pdp-guar-ico{width:58px; height:58px; border-radius:50%; border:1.5px solid var(--petrol); display:flex; align-items:center; justify-content:center; color:var(--petrol); background:#fff}
.nc-pdp .pdp-guar-ico.has-img{width:88px; height:88px; border:0; border-radius:0; background:none; position:relative}
.nc-pdp .pdp-guar-ico.has-img::after{content:""; position:absolute; left:18%; right:18%; bottom:2px; height:8px; border-radius:50%; background:radial-gradient(closest-side,rgba(10,35,34,.22),rgba(10,35,34,0)); z-index:0}
.nc-pdp .pdp-guar-ico.has-img img{position:relative; z-index:1; width:88px; height:88px; object-fit:contain; transition:transform .35s var(--ease)}
.nc-pdp .pdp-guar-item:hover .pdp-guar-ico.has-img img{transform:translateY(-3px) rotate(-3deg)}
.nc-pdp .pdp-guar-label{font-size:14.5px; line-height:1.35; color:var(--text-primary)}

.nc-pdp .pdp-dp{container:pdpdp / inline-size; background:#fff; border:1px solid var(--border); border-radius:16px; padding:12px 16px; display:flex; flex-direction:column; gap:10px}
.nc-pdp .pdp-dp-top{display:flex; align-items:center; gap:10px}
.nc-pdp .pdp-dp-live{flex:none; width:9px; height:9px; border-radius:50%; background:var(--petrol-light); animation:pdpLive 2s ease-out infinite}
.nc-pdp .pdp-dp-head{flex:1; min-width:0; margin:0; font-size:15px; line-height:1.35; color:var(--text-primary)}
.nc-pdp .pdp-dp-head b{font-family:var(--mono); font-weight:700; font-size:.97em; color:var(--petrol); font-variant-numeric:tabular-nums; white-space:nowrap}
.nc-pdp .pdp-dp-check{display:none; font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; color:var(--text-muted); animation:pdpPulse 1.1s ease-in-out infinite}
.nc-pdp.dp-checking .pdp-dp-check{display:inline}
.nc-pdp.dp-checking .pdp-dp-line{display:none}
.nc-pdp .pdp-dp-rail{display:flex; align-items:center; transition:opacity .3s}
.nc-pdp.dp-checking .pdp-dp-rail{opacity:.35}
.nc-pdp .pdp-dp-step{display:flex; align-items:center; gap:8px; flex:none}
.nc-pdp .pdp-dp-node{width:28px; height:28px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; background:var(--pg); color:var(--cream); box-shadow:0 2px 8px rgba(0,85,80,.22)}
.nc-pdp .pdp-dp-node.is-off{background:#fff; border:1.5px solid var(--silver); color:var(--text-muted); box-shadow:none}
.nc-pdp .pdp-dp-txt{display:flex; flex-direction:column; min-width:0}
.nc-pdp .pdp-dp-lab{font-weight:500; font-size:12.5px; line-height:1.2; color:var(--text-primary)}
.nc-pdp .pdp-dp-sub{font-size:11.5px; line-height:1.3; color:var(--text-muted); white-space:nowrap}
.nc-pdp .pdp-dp-conn{position:relative; flex:1; min-width:16px; height:2px; margin:0 10px; border-radius:2px; background:var(--pg); transform-origin:left; animation:pdpFill .6s var(--ease) both}
.nc-pdp .pdp-dp-conn i{position:absolute; top:50%; width:7px; height:7px; margin:-3.5px 0 0 -3.5px; border-radius:50%; background:var(--cta); box-shadow:0 0 0 2px #fff,0 0 8px rgba(199,240,50,.9); animation:pdpTravel 2.4s ease-in-out .6s infinite}
.nc-pdp .pdp-dp-conn.is-off{height:0; background:none; border-top:2px dashed var(--silver); animation:none}
.nc-pdp.dp-checking .pdp-dp-conn i{display:none}
.nc-pdp .pdp-dp-batch{font-size:13px; line-height:1.5; color:var(--text-secondary)}
.nc-pdp .pdp-dp-rm{display:flex; align-items:center; gap:9px}
.nc-pdp .pdp-dp-rm span{font-family:var(--mono); font-size:9px; letter-spacing:.11em; color:var(--text-muted)}

.nc-pdp .pdp-dosage{background:#fff; border:1px solid var(--border); border-radius:14px; padding:15px 17px; display:flex; flex-direction:column; gap:8px}
.nc-pdp .pdp-dosage-head{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}
.nc-pdp .pdp-dosage-tag{display:flex; align-items:center; gap:7px; font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; color:var(--petrol)}
.nc-pdp .pdp-dosage-max{font-family:var(--mono); font-size:8.5px; letter-spacing:.08em; color:var(--petrol); background:var(--tint); border-radius:100px; padding:4px 10px; white-space:nowrap}
.nc-pdp .pdp-dosage-body{font-size:14px; line-height:1.6; color:var(--text-secondary)}
.nc-pdp .pdp-dosage-body p{margin:0}
.nc-pdp .pdp-dosage-body strong{font-weight:500; color:var(--text-primary)}

.nc-pdp .pdp-details{display:flex; flex-direction:column; gap:10px}
.nc-pdp .pdp-detail-head{display:flex; align-items:center; justify-content:space-between; gap:10px}
.nc-pdp .pdp-detail-label{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--text-muted)}
.nc-pdp .pdp-detail-hint{font-family:var(--mono); font-size:9px; letter-spacing:.1em; color:var(--text-muted)}
.nc-pdp .pdp-hint-m{display:none}
.nc-pdp .pdp-accs{border-top:1.5px solid var(--rule)}
.nc-pdp .pdp-acc{border-bottom:1.5px solid var(--rule)}
.nc-pdp .pdp-acc-head{display:flex; align-items:center; gap:14px; width:100%; padding:22px 2px; background:none; border:0; cursor:pointer; text-align:left; font:inherit; color:inherit}
.nc-pdp .pdp-acc-head:focus-visible{outline:3px solid rgba(0,85,80,.45); outline-offset:2px; border-radius:6px}
.nc-pdp .pdp-acc-ico{flex:none; width:24px; display:flex; justify-content:center; color:var(--petrol)}
.nc-pdp .pdp-acc-title{flex:1; min-width:0; font-weight:500; font-size:21px; line-height:1.25; letter-spacing:-.01em; color:var(--charcoal); transition:color .25s}
.nc-pdp .pdp-acc-head:hover .pdp-acc-title, .nc-pdp .pdp-acc.is-open .pdp-acc-title{color:var(--petrol)}
.nc-pdp .pdp-acc-plus{position:relative; flex:none; width:24px; height:24px; color:var(--charcoal)}
.nc-pdp .pdp-acc-plus::before, .nc-pdp .pdp-acc-plus::after{content:""; position:absolute; left:2px; right:2px; top:50%; height:2px; margin-top:-1px; border-radius:2px; background:currentColor; transition:transform .3s var(--ease)}
.nc-pdp .pdp-acc-plus::after{transform:rotate(90deg)}
.nc-pdp .pdp-acc.is-open .pdp-acc-plus::after{transform:rotate(0deg)}
.nc-pdp .pdp-acc-body{display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s var(--ease)}
.nc-pdp .pdp-acc.is-open .pdp-acc-body{grid-template-rows:1fr}
.nc-pdp .pdp-acc-inner{overflow:hidden; min-height:0}
.nc-pdp .pdp-acc-copy{padding:0 2px 24px 40px; font-size:16px; line-height:1.65; color:var(--text-secondary)}
.nc-pdp .pdp-acc-copy p{margin:0}
.nc-pdp .pdp-acc-copy p + p{margin-top:.7em}
.nc-pdp .pdp-claim{display:flex; gap:12px; align-items:flex-start; margin-top:14px}
.nc-pdp .pdp-claim-ico{width:32px; height:32px; border-radius:50%; background:var(--tint); display:flex; align-items:center; justify-content:center; flex:none; color:var(--petrol)}
.nc-pdp .pdp-claim-k{font-weight:500; font-size:15.5px; color:var(--charcoal)}
.nc-pdp .pdp-claim-b{font-size:15px; line-height:1.55; color:var(--text-secondary); margin-top:1px}
.nc-pdp .pdp-foot{display:flex; flex-direction:column; gap:4px; padding-top:8px}
.nc-pdp .pdp-foot div{line-height:1.55; color:var(--text-muted)}
.nc-pdp .pdp-foot .fn1{font-size:11.5px}
.nc-pdp .pdp-foot .fn2{font-size:11px}

.nc-pdp .pdp-bar{position:fixed; left:0; right:0; bottom:0; z-index:40; transform:translateY(150%); transition:transform .45s var(--ease)}
.nc-pdp .pdp-bar.is-on{transform:translateY(0)}
.nc-pdp .pdp-bar-inner{display:flex; align-items:center; gap:18px; background:var(--media-bg); border-radius:22px 22px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom)); box-shadow:0 -14px 44px rgba(10,35,34,.28), inset 0 1px 0 rgba(246,243,239,.07)}
.nc-pdp .pdp-bar-thumb{width:72px; height:72px; border-radius:16px; object-fit:cover; flex:none}
.nc-pdp .pdp-bar-mid{flex:1; min-width:0}
.nc-pdp .pdp-bar-name{font-weight:500; font-size:19px; line-height:1.22; color:var(--cream); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.nc-pdp .pdp-bar-price{display:flex; align-items:baseline; gap:9px; margin-top:5px}
.nc-pdp .pdp-bar-price .pdp-price{font-size:26px; line-height:1; color:var(--cream)}
.nc-pdp .pdp-bar-price s{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:rgba(246,243,239,.62)}
.nc-pdp .pdp-bar-cta{flex:none; min-height:64px; padding:0 36px; border-radius:100px; border:none; cursor:pointer; background:var(--cta); color:var(--charcoal); font-family:var(--body); font-weight:500; font-size:16.5px; letter-spacing:.01em}
.nc-pdp .pdp-bar-cta[disabled]{background:var(--border); color:var(--text-muted); cursor:default}
.nc-pdp .pdp-sheet-back{position:fixed; inset:0; z-index:48; background:rgba(10,35,34,.58); -webkit-backdrop-filter:blur(6px) saturate(120%); backdrop-filter:blur(6px) saturate(120%); animation:pdpFade .25s ease}
.nc-pdp .pdp-sheet-back[hidden]{display:none}
.nc-pdp .pdp-sheet{position:fixed; left:0; right:0; bottom:0; z-index:50; background:var(--bg); border-radius:20px 20px 0 0; padding:12px 16px calc(18px + env(safe-area-inset-bottom)); box-shadow:0 -8px 32px rgba(0,0,0,.18); animation:pdpSheetUp .35s var(--ease); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; display:flex; flex-direction:column; gap:12px}
.nc-pdp .pdp-sheet[hidden]{display:none}
.nc-pdp .pdp-sheet-grab{width:36px; height:4px; border-radius:2px; background:var(--silver); margin:0 auto}
.nc-pdp .pdp-sheet-head{display:flex; justify-content:space-between; align-items:center}
.nc-pdp .pdp-sheet-head span{font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--text-muted)}
.nc-pdp .pdp-sheet-close{background:none; border:none; cursor:pointer; color:var(--text-muted); padding:4px; display:flex}
.nc-pdp .pdp-rows{display:flex; flex-direction:column; gap:8px}
.nc-pdp .pdp-row{display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; border:2px solid var(--border); background:#fff; cursor:pointer; transition:border-color .2s,background .2s}
.nc-pdp .pdp-row.is-sel{border-color:var(--petrol); background:var(--sel-bg)}
.nc-pdp .pdp-row:focus-visible{outline:3px solid rgba(0,85,80,.45); outline-offset:2px}
.nc-pdp .pdp-row-thumb{flex:none; width:52px; height:52px; border-radius:9px; overflow:hidden; background:var(--media-bg)}
.nc-pdp .pdp-row-thumb img{display:block; width:100%; height:100%; object-fit:cover}
.nc-pdp .pdp-row-mid{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.nc-pdp .pdp-row-name{font-weight:500; font-size:15px; color:var(--text-primary)}
.nc-pdp .pdp-row-meta{font-size:12px; color:var(--text-muted)}
.nc-pdp .pdp-row-price{display:flex; flex-direction:column; align-items:flex-end; gap:2px}
.nc-pdp .pdp-row-price s{font-size:11px; color:var(--text-muted)}
.nc-pdp .pdp-row-price s[hidden]{display:none}
.nc-pdp .pdp-row-price b{font-family:var(--heading); font-weight:400; font-size:22px; color:var(--charcoal)}

@media (max-width:860px){
  .nc-pdp .pdp-wrap{padding:40px 0 40px}
  .nc-pdp .pdp-grid{grid-template-columns:1fr; gap:0}
  .nc-pdp .pdp-left{position:static; gap:0}
  .nc-pdp .pdp-gallery{grid-template-columns:minmax(0,1fr); grid-template-areas:"stage" "thumbs"; gap:12px}
  .nc-pdp .pdp-stage{border-radius:0}
  .nc-pdp .pdp-arrow{display:none}
  .nc-pdp .pdp-thumbs{flex-direction:row; height:auto; min-height:0; overflow-x:auto; overflow-y:hidden; gap:8px; padding:1px 16px}
  .nc-pdp .pdp-thumb{width:clamp(50px, calc((100vw - 72px) / 6), 68px)}
  .nc-pdp .pdp-review{display:none}
  .nc-pdp .pdp-label-btn{margin:16px 16px 0; min-height:50px; font-size:15px}
  .nc-pdp .pdp-hint-d{display:none}
  .nc-pdp .pdp-hint-m{display:inline}
  .nc-pdp .pdp-right{padding:22px 20px 18px; gap:22px}
  .nc-pdp .pdp-tp span{font-size:12.5px}
  .nc-pdp .pdp-title{font-size:34px; line-height:1.1}
  .nc-pdp .pdp-story{font-size:18px; line-height:1.5}
  .nc-pdp .pdp-seal{width:19px; height:19px}
  .nc-pdp .pdp-ben span{font-size:16px}
  .nc-pdp .pdp-bens{gap:10px}
  .nc-pdp .pdp-bens-note{font-size:11px}
  .nc-pdp .pdp-badge{font-size:9.5px; letter-spacing:.05em; padding:6px 8px}
  /* v1.6 cards, mobile */
  .nc-pdp .pdp-opt{grid-template-columns:46px minmax(0,1fr) auto; column-gap:12px; padding:10px 14px 10px 10px}
  .nc-pdp .pdp-opt .pdp-badge{left:72px}
  .nc-pdp .pdp-opt-media, .nc-pdp .pdp-opt-media img{width:46px; height:46px; border-radius:10px}
  .nc-pdp .pdp-opt-name{font-size:18.5px}
  .nc-pdp .pdp-opt-facts{font-size:13.5px}
  .nc-pdp .pdp-opt-price .pdp-price{font-size:22px}
  .nc-pdp .pdp-opt.is-sel .pdp-opt-price .pdp-price{font-size:27px}
  .nc-pdp .pdp-opt-was{font-size:13.5px}
  .nc-pdp .pdp-opt-body{margin-top:10px; padding-top:10px; gap:9px}
  .nc-pdp .pdp-opt-save{font-size:14px}
  .nc-pdp .pdp-opt-gtxt b{font-size:14.5px}
  .nc-pdp .pdp-opt-ticks li{font-size:13.5px}
  .nc-pdp .pdp-plan{padding:13px 14px; gap:12px}
  .nc-pdp .pdp-plan-t{font-size:15.5px}
  .nc-pdp .pdp-plan .pdp-price{font-size:21px}
  .nc-pdp .pdp-cta{min-height:62px; font-size:17px}
  .nc-pdp .pdp-guar-head{font-size:14.5px; padding:12px 14px}
  .nc-pdp .pdp-guar-ico{width:52px; height:52px}
  .nc-pdp .pdp-guar-ico.has-img, .nc-pdp .pdp-guar-ico.has-img img{width:76px; height:76px}
  .nc-pdp .pdp-guar-label{font-size:13.5px}
  .nc-pdp .pdp-dp{padding:11px 13px; gap:9px}
  .nc-pdp .pdp-dp-head{font-size:14px}
  .nc-pdp .pdp-dp-step{gap:6px}
  .nc-pdp .pdp-dp-node{width:24px; height:24px}
  .nc-pdp .pdp-dp-node svg{width:12px; height:12px}
  .nc-pdp .pdp-dp-lab{font-size:11.5px}
  .nc-pdp .pdp-dp-sub{font-size:10.5px}
  .nc-pdp .pdp-dp-conn{margin:0 6px; min-width:10px}
  .nc-pdp .pdp-dp-rm span{font-size:8.5px; letter-spacing:.07em; white-space:nowrap}
  .nc-pdp .pdp-dosage{padding:14px 16px}
  .nc-pdp .pdp-dosage-body{font-size:13.5px}
  .nc-pdp .pdp-dosage-max{font-size:8px; padding:4px 9px}
  .nc-pdp .pdp-acc-head{padding:19px 2px; gap:12px}
  .nc-pdp .pdp-acc-title{font-size:19px}
  .nc-pdp .pdp-acc-ico{width:20px}
  .nc-pdp .pdp-acc-copy{padding:0 2px 20px 34px; font-size:15px}
  .nc-pdp .pdp-bar-price{display:none}
  .nc-pdp .pdp-bar-name{font-size:16px; line-height:1.25; -webkit-line-clamp:3}
  .nc-pdp .pdp-bar-inner{gap:14px; padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
  .nc-pdp .pdp-bar-thumb{width:56px; height:56px; border-radius:12px}
  .nc-pdp .pdp-bar-cta{min-height:58px; padding:0 22px; font-size:13.5px}
}
/* v1.6.1 narrow phones: the struck price stacks above the price (same row height) so the name stays on one line */
@media (max-width:520px){
  .nc-pdp .pdp-opt{grid-template-columns:44px minmax(0,1fr) auto}
  .nc-pdp .pdp-opt .pdp-badge{left:70px}
  .nc-pdp .pdp-opt-media, .nc-pdp .pdp-opt-media img{width:44px; height:44px}
  .nc-pdp .pdp-opt-name{font-size:clamp(16px,4.7vw,18.5px)}
  .nc-pdp .pdp-opt-price{flex-direction:column; align-items:flex-end; justify-content:center; gap:3px}
  .nc-pdp .pdp-opt-price .pdp-price{font-size:clamp(20px,5.7vw,22px)}
  .nc-pdp .pdp-opt.is-sel .pdp-opt-price .pdp-price{font-size:clamp(23px,6.9vw,27px)}
  .nc-pdp .pdp-opt-was{font-size:12.5px}
}
@container pdpdp (max-width:318px){
  .nc-pdp .pdp-dp-step{flex-direction:column; gap:4px; text-align:center}
  .nc-pdp .pdp-dp-txt{align-items:center}
  .nc-pdp .pdp-dp-rail{align-items:flex-start}
  .nc-pdp .pdp-dp-conn, .nc-pdp .pdp-dp-conn.is-off{margin-top:12px}
}
@media (min-width:861px){
  .nc-pdp .pdp-bar{left:50%; right:auto; width:min(640px, calc(100vw - 24px)); transform:translate(-50%,150%)}
  .nc-pdp .pdp-bar.is-on{transform:translate(-50%,0)}
  .nc-pdp .pdp-sheet{left:50%; right:auto; bottom:auto; top:50%; width:min(500px, calc(100vw - 48px)); border-radius:20px; padding:20px 20px 22px; transform:translate(-50%,-50%); animation:pdpSheetPop .3s var(--ease); max-height:calc(100vh - 48px)}
  .nc-pdp .pdp-sheet-grab{display:none}
}
@media (prefers-reduced-motion:reduce){
  .nc-pdp *, .nc-pdp *::before, .nc-pdp *::after{animation:none !important; transition:none !important}
  .nc-pdp .pdp-cta:hover{transform:none}
}
