.vvr a{color:#CF3A4F;text-decoration:none}
.vvr a:hover{color:#B3304A}
.vvr{--ink:#1D1D1F;--text:#3A3A3C;--muted:#6E6E73;--line:#E3E3E8;--surface:#F5F5F7;--coral:#F05869;--coral-ink:#CF3A4F;--coral-press:#B3304A;--green:#14532D;--green-bg:#E6F6EC;--deal:#B42318;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.3,1.25,.4,1);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-optical-sizing:auto;color:var(--text);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
.vvr *{box-sizing:border-box}
.vvr h1,.vvr h2,.vvr h3,.vvr h4,.vvr p{margin:0}
.vvr .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.vvr .eyebrow{font-size:15px;font-weight:600;color:var(--coral-ink)}
.vvr .h2{font-size:clamp(32px,4.4vw,54px);line-height:1.04;letter-spacing:-.036em;font-weight:800;color:var(--ink)}
.vvr .lead{font-size:clamp(18px,1.9vw,21px);line-height:1.45;color:var(--muted)}
.vvr .small{font-size:14px;line-height:1.45;color:var(--muted)}
.vvr .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;background:var(--coral-ink);color:#fff;font:600 16px/1 'DM Sans',system-ui,sans-serif;border:0;cursor:pointer;transition:transform 120ms var(--ease),background-color 160ms;white-space:nowrap}
.vvr .btn:hover{background:var(--coral-press);color:#fff}
.vvr .btn:active{transform:scale(.96)}
.vvr .btn.ghost{background:transparent;color:var(--coral-ink);box-shadow:inset 0 0 0 1.5px currentColor}
.vvr .btn.ghost:hover{background:rgba(207,58,79,.07);color:var(--coral-press)}
.vvr .btn.light{background:#fff;color:#1D1D1F}
.vvr .btn.light:hover{background:#ECECEF;color:#1D1D1F}
.vvr .btn.ink{background:var(--ink)}
.vvr .btn.ink:hover{background:#000}
.vvr .btn.sm{min-height:44px;padding:0 18px;font-size:15px}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes fanIn{from{opacity:0;transform:translateX(0) translateY(60px) rotate(0deg)}to{opacity:1}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(240,88,105,.0),0 24px 60px rgba(0,0,0,.06)}50%{box-shadow:0 0 0 6px rgba(240,88,105,.14),0 24px 60px rgba(0,0,0,.06)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.vvr .in1{animation:rise 800ms var(--ease) both 60ms}
.vvr .in2{animation:rise 800ms var(--ease) both 180ms}
.vvr .in3{animation:rise 800ms var(--ease) both 300ms}
@supports (animation-timeline: view()){
.vvr .rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
.vvr .bar i{animation:grow linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.vvr /* HERO: bright,.vvr warm stage with a tap-a-book fan */
.hero{position:relative;background:linear-gradient(180deg,#FFF8F1 0%,#FFF1E8 60%,#FFE9E2 100%);color:var(--ink);padding:48px 0 0;overflow:hidden}
.vvr .hero::before{content:"";position:absolute;inset:-10% -10% auto;height:120%;background:radial-gradient(38% 46% at 50% 72%,rgba(240,88,105,.22),transparent 70%),radial-gradient(28% 36% at 12% 22%,rgba(255,196,120,.35),transparent 70%),radial-gradient(28% 36% at 90% 18%,rgba(0,188,242,.14),transparent 70%);pointer-events:none}
.vvr .hero .wrap{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.vvr .crumbs{font-size:13px;color:var(--muted)}
.vvr .crumbs a{color:var(--muted)}
.vvr .kicker{font-size:clamp(17px,1.8vw,21px);font-weight:700;letter-spacing:-.01em;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.vvr .kicker span{font-size:12px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:5px 10px;background:#1D1D1F;color:#fff}
.vvr .display{font-size:clamp(42px,7vw,96px);line-height:.98;letter-spacing:-.05em;font-weight:800;max-width:1000px;color:var(--ink)}
.vvr .display em{font-style:normal;color:var(--coral-ink)}
.vvr .hsub{font-size:clamp(17px,1.9vw,21px);line-height:1.45;color:var(--text);max-width:700px}
.vvr .hctas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.vvr .hfrom{font-size:14px;color:var(--muted)}
.vvr .hfrom b{color:var(--ink)}
.vvr .hstrip{position:relative;z-index:2;width:100%;background:rgba(255,255,255,.78);border-top:1px solid rgba(207,58,79,.10);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.vvr .hstrip-in{max-width:1180px;margin:0 auto;padding:18px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;text-align:left}
.vvr .hstrip b{display:block;font-size:20px;letter-spacing:-.02em;color:var(--ink)}
.vvr .hstrip span{font-size:13.5px;color:var(--muted);line-height:1.4}
.vvr .solve{padding:96px 0;background:#fff}
.vvr .sec-head{max-width:780px;margin:0 auto 44px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.vvr .vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1000px;margin:0 auto}
.vvr .vs-card{border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:14px}
.vvr .vs-card.before{background:var(--surface)}
.vvr .vs-card.after{background:#0B0B0D;color:#fff}
.vvr .vs-card h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.vvr .vs-card.before h3{color:var(--muted)}
.vvr .vs-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.vvr .vs-card li{display:flex;gap:10px;font-size:16px;line-height:1.45}
.vvr .vs-card.before li{color:var(--muted)}
.vvr .vs-card.before li svg{color:#A1A1AA;flex:none;margin-top:3px}
.vvr .vs-card.after li{color:rgba(255,255,255,.88)}
.vvr .vs-card.after li svg{color:#4ADE80;flex:none;margin-top:3px}
.vvr .buy{padding:88px 0 96px;background:linear-gradient(180deg,#FBF7F8,#fff 340px);scroll-margin-top:56px}
.vvr .edition{padding:0 0 96px;background:#fff}
.vvr .ed-card{border-radius:36px;overflow:hidden;background:#0B0B0D;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;position:relative}
.vvr .ed-card::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 80% 50%,rgba(134,80,160,.45),transparent 70%),radial-gradient(40% 60% at 95% 90%,rgba(240,88,105,.35),transparent 70%);pointer-events:none}
.vvr .ed-copy{position:relative;padding:56px;display:flex;flex-direction:column;gap:18px}
.vvr .ed-copy .tag{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:6px 12px;background:linear-gradient(100deg,#29B6F6,#A06CC8 50%,#F05869)}
.vvr .ed-copy h2{font-size:clamp(34px,4.6vw,58px);line-height:1.02;letter-spacing:-.04em;font-weight:800}
.vvr .ed-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.vvr .ed-list div{display:flex;gap:14px}
.vvr .ed-list i{font-style:normal;flex:none;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#FF8A98}
.vvr .ed-list b{display:block;font-size:17px;color:#fff}
.vvr .ed-list span{font-size:14.5px;color:rgba(255,255,255,.68);line-height:1.45}
.vvr .ed-art{position:relative;padding:40px;display:flex;justify-content:center}
.vvr .ed-art img{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6))}
.vvr .helped{padding:96px 0;background:var(--surface)}
.vvr .hgrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:stretch}
.vvr .bars{border-radius:28px;background:#fff;padding:32px;display:flex;flex-direction:column;gap:24px}
.vvr .bar-row{display:flex;flex-direction:column;gap:8px}
.vvr .bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.vvr .bar-top b{font-size:clamp(36px,4vw,52px);letter-spacing:-.04em;line-height:1;color:var(--ink);font-weight:800}
.vvr .bar-top span{font-size:15.5px;color:var(--text);text-align:right;max-width:330px;line-height:1.4}
.vvr .bar{height:12px;border-radius:99px;background:#EFEFF2;overflow:hidden}
.vvr .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#CF3A4F,#8650A0);transform-origin:left center}
.vvr .big-stat{border-radius:28px;background:#0B0B0D;color:#fff;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.vvr .big-stat b{font-size:clamp(56px,7vw,92px);letter-spacing:-.05em;line-height:.95;font-weight:800}
.vvr .big-stat p{font-size:17px;color:rgba(255,255,255,.75);line-height:1.5}
.vvr .reviews{margin-top:20px;border-radius:24px;border:1.5px dashed #C9C9D1;padding:24px;text-align:center;color:var(--muted);font-size:15px;background:#fff}
.vvr .howto{padding:96px 0}
.vvr .hw-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center}
.vvr .video{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:16/9;background:#111;display:flex;align-items:center;justify-content:center}
.vvr .video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.vvr .video button{position:relative;width:84px;height:84px;border-radius:99px;border:0;background:rgba(255,255,255,.92);color:#1D1D1F;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px rgba(0,0,0,.35);transition:transform 160ms var(--ease)}
.vvr .video button:active{transform:scale(.94)}
.vvr .video .vcap{position:absolute;left:20px;bottom:18px;color:#fff;font-size:15px;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.vvr .hsteps{display:flex;flex-direction:column;gap:6px;counter-reset:s}
.vvr .hstep{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.vvr .hstep:last-child{border-bottom:0}
.vvr .hstep i{font-style:normal;flex:none;width:36px;height:36px;border-radius:12px;background:var(--surface);color:var(--coral-ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.vvr .hstep b{display:block;font-size:17px;color:var(--ink);letter-spacing:-.01em}
.vvr .hstep span{font-size:15px;color:var(--text);line-height:1.5}
.vvr .deep{padding:24px 0 40px}
.vvr .feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.vvr .feat.flip .f-art{order:2}
.vvr .f-art{border-radius:28px;background:var(--surface);aspect-ratio:5/4;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}
.vvr .f-art img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.vvr .f-copy{display:flex;flex-direction:column;gap:14px}
.vvr .f-copy .n{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--coral-ink)}
.vvr .f-copy h3{font-size:clamp(28px,3.2vw,40px);line-height:1.08;letter-spacing:-.032em;font-weight:800;color:var(--ink)}
.vvr .f-copy p{font-size:17px;line-height:1.55;color:var(--text)}
.vvr .helps{border-radius:16px;background:#F0FAF3;padding:14px 16px;font-size:15px;color:#14532D;line-height:1.5}
.vvr .helps b{font-weight:800}
.vvr .chips{display:flex;flex-wrap:wrap;gap:8px;padding:28px}
.vvr .chip{background:#fff;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.vvr .chip small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.vvr .mini-q{width:82%;background:#fff;border-radius:18px;padding:20px;box-shadow:0 20px 40px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px;font-size:14.5px;color:var(--text)}
.vvr .mini-q .refs{display:flex;gap:6px;flex-wrap:wrap}
.vvr .mini-q .refs span{font-size:11.5px;font-weight:800;letter-spacing:.03em;border-radius:999px;padding:4px 9px;background:#EEF6FB;color:#0B5394}
.vvr .mini-q .refs span.m{background:#FDF1F3;color:#B3304A}
.vvr .mini-q .dup{font-size:12.5px;color:#92400E;background:#FFF7ED;border-radius:10px;padding:8px 10px}
.vvr .ladder-v{display:flex;flex-direction:column;gap:8px;width:72%}
.vvr .ladder-v div{border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;color:#fff}
.vvr .fresh{display:flex;flex-direction:column;gap:10px;width:80%}
.vvr .fresh div{background:#fff;border-radius:14px;padding:14px 16px;display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.vvr .fresh i{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:#1F9D55;border-radius:999px;padding:3px 8px}
.vvr .mid-cta{border-radius:28px;background:#0B0B0D;color:#fff;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:16px 0 0}
.vvr .mid-cta b{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.02em}
.vvr .mid-cta span{display:block;font-size:14.5px;color:rgba(255,255,255,.7);font-weight:400;letter-spacing:0;margin-top:4px}
.vvr .prep{padding:96px 0;background:linear-gradient(180deg,#fff,#F7F4F9)}
.vvr .ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vvr .rung{border-radius:24px;background:#fff;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 14px 34px rgba(0,0,0,.05)}
.vvr .rung.here{background:#1D1D1F;color:#fff;box-shadow:none}
.vvr .rung.here h4,.vvr .rung.here b{color:#fff}
.vvr .rung.here p{color:rgba(255,255,255,.75)}
.vvr .rung .stepn{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--coral-ink)}
.vvr .rung.here .stepn{color:#FF8A98}
.vvr .rung h4{font-size:19px;font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.vvr .rung p{font-size:14.5px;line-height:1.5;color:var(--text);flex:1}
.vvr .rung b{font-size:15px;color:var(--ink)}
.vvr .rung a.go{font-weight:700;font-size:15px;display:inline-flex;align-items:center;min-height:44px}
.vvr .rung .youre{display:inline-flex;align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.05em;background:#fff;color:#1D1D1F;border-radius:999px;padding:4px 9px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}
.vvr /* faq,.vvr levels,.vvr footer */
.faq-sec{padding:96px 0 80px}
.vvr .faq{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.vvr .faq-item{border-bottom:1px solid var(--line)}
.vvr .faq-q{width:100%;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;text-align:left;cursor:pointer;font:700 19px/1.35 'DM Sans',system-ui,sans-serif;letter-spacing:-.012em;color:var(--ink);min-height:44px}
.vvr .faq-ic{flex:none;width:32px;height:32px;border-radius:999px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform 400ms var(--ease),background-color 200ms}
.vvr .faq-body{display:grid;transition:grid-template-rows 450ms var(--ease),opacity 300ms}
.vvr .faq-body>div{overflow:hidden}
.vvr .faq-a{padding:0 56px 24px 0;font-size:16px;line-height:1.6;color:var(--text)}
.vvr .levels{padding:0 0 1px}
.vvr .lgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vvr .lcard{border-radius:22px;background:var(--surface);padding:20px;display:flex;align-items:center;gap:16px;color:var(--ink);transition:transform 240ms var(--ease),box-shadow 240ms}
.vvr .lcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.07);color:var(--ink)}
.vvr .lcard img{width:64px;height:64px;object-fit:contain;flex:none}
.vvr .lcard b{font-size:17px;display:block}
.vvr .lcard span{font-size:13.5px;color:var(--muted)}
@media (max-width:1100px){
.vvr .ladder{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
.vvr .hstrip-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
.vvr .vs,.vvr .hgrid,.vvr .hw-grid,.vvr .feat,.vvr .ed-card{grid-template-columns:minmax(0,1fr)}
.vvr .feat.flip .f-art{order:0}
.vvr .feat{gap:24px;padding:40px 0}
.vvr .ed-art{padding:0 28px 32px}
.vvr .ed-copy{padding:32px 28px}
.vvr .lgrid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
.vvr{font-size:16px}
.vvr .wrap{padding-left:20px;padding-right:20px}
.vvr .hero{padding-top:28px}
.vvr .hstrip-in{padding:14px 20px}
.vvr .hstrip b{font-size:17px}
.vvr .solve,.vvr .buy,.vvr .helped,.vvr .howto,.vvr .prep,.vvr .faq-sec{padding-top:64px;padding-bottom:64px}
.vvr .ladder{grid-template-columns:minmax(0,1fr)}
.vvr .bars,.vvr .big-stat{padding:22px}
.vvr .faq-a{padding-right:0}
.vvr .faq-q{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
.vvr *{animation:none!important;transition:none!important}
}
@media (prefers-reduced-transparency:reduce){
.vvr .hstrip{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.vvr .hstrip{background:#1D1D1F!important}
}
.vvr /* v3 as coded: warm,.vvr bright blocks */
.vs-card.after{background:linear-gradient(160deg,#FFF1EA,#FFE7EE);color:#1D1D1F}
.vvr .vs-card.after h3{color:#CF3A4F}
.vvr .vs-card.after li{color:#1D1D1F}
.vvr .vs-card.after li svg{color:#1F9D55}
.vvr .ed-card{background:linear-gradient(135deg,#FFE9DD 0%,#FFE1E8 55%,#F3E6FA 100%);color:#1D1D1F}
.vvr .ed-card::before{background:radial-gradient(50% 70% at 82% 50%,rgba(255,255,255,.7),transparent 70%)}
.vvr .ed-copy .tag{background:#CF3A4F;color:#fff}
.vvr .ed-copy h2{color:#1D1D1F}
.vvr .ed-copy p{color:#3A3A3C !important}
.vvr .ed-list i{background:#fff;color:#CF3A4F}
.vvr .ed-list b{color:#1D1D1F}
.vvr .ed-list span{color:#3A3A3C}
.vvr .ed-copy .btn.light{background:#CF3A4F;color:#fff}
.vvr .big-stat{background:linear-gradient(150deg,#CF3A4F,#E0577A 60%,#B9478F)}
.vvr .mid-cta{background:linear-gradient(110deg,#CF3A4F,#E0577A)}
.vvr .rung.here{background:#CF3A4F}
.vvr .hero{padding-top:56px}
.vvr .display{font-size:clamp(36px,5.6vw,74px);max-width:1200px;text-wrap:balance}
.vvr .display em{display:block}
.vvr .hstrip{z-index:3;margin-top: 10px;}
@media (max-width:767px){
.vvr .hstrip-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}:root{--vv-nav-h:100px}
@media (max-width:991px){:root{--vv-nav-h:80px}}

/* =====================================================================
   PRODUCT PAGES — skin for the existing buy section (markup and scripts
   unchanged). Everything is scoped to body.vv-page so other pages are
   not affected.
   ===================================================================== */
body.vv-page{margin-top:0!important;background:#fff!important;font-family:'DM Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;color:#3A3A3C}
body.vv-page .section-1{margin:0!important;padding:var(--vv-nav-h,56px) 0 0!important;display:block!important;background:transparent!important;min-height:0!important;height:auto!important}
body.vv-page .include-header{padding:0!important;margin:0!important;height:0;min-height:0}
/* the old hero image slot is kept for the script but not shown */
body.vv-page .vv-legacy-hero,body.vv-page .vv-legacy{display:none!important}

/* ---------- section wrapper ---------- */
.vvbuy{--ink:#1D1D1F;--text:#3A3A3C;--muted:#6E6E73;--line:#E3E3E8;--surface:#F5F5F7;--coral:#F05869;--coral-ink:#CF3A4F;--coral-press:#B3304A;--green:#14532D;--green2:#1F9D55;--green-bg:#E6F6EC;--deal:#B42318;--ease:cubic-bezier(.2,.8,.2,1);
  padding:88px 0 72px;background:linear-gradient(180deg,#FBF7F8,#fff 340px);scroll-margin-top:56px;font-size:16px;line-height:1.5;color:var(--text)}
.vvbuy *{box-sizing:border-box}
.vvbuy .vvbuy-head{max-width:780px;margin:0 auto 28px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;padding:0 24px}
.vvbuy .vvbuy-head .eyebrow{font-size:15px;font-weight:600;color:var(--coral-ink);margin:0}
.vvbuy .vvbuy-head h2{font-size:clamp(32px,4.4vw,54px);line-height:1.04;letter-spacing:-.036em;font-weight:800;color:var(--ink);margin:0}
.vvbuy .vvbuy-head p{font-size:clamp(17px,1.8vw,20px);color:var(--muted);margin:0}
body.vv-page .vvbuy .container-fluid{width:auto!important;max-width:1180px;margin:0 auto;padding:0 24px}
body.vv-page .vvbuy .choose-material{display:none}
body.vv-page .vvbuy .choose-material-margin{margin:0!important}

/* ---------- step 1: format cards (desktop tabs) ---------- */
.vvbuy .vv-steptitle{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.vvbuy .vv-steptitle h3{font-size:clamp(21px,2.2vw,26px);font-weight:800;letter-spacing:-.025em;color:var(--ink);margin:0}
.vvbuy .vv-steptitle h3 i{font-style:normal;color:var(--coral-ink);margin-right:8px}
.vvbuy .vv-steptitle p{font-size:14px;color:var(--muted);margin:0}
body.vv-page .vvbuy .tabs{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 14px!important;cursor:default}
body.vv-page .vvbuy .tabs>.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
body.vv-page .vvbuy .tabs div.tablinks{max-width:none;flex:none;width:auto;padding:0!important;border-radius:22px!important;background:var(--surface)!important;cursor:pointer;transition:transform 200ms var(--ease),box-shadow 240ms var(--ease),background-color 240ms;display:block}
body.vv-page .vvbuy .tabs div.tablinks:hover{background:#EFEFF2!important}
body.vv-page .vvbuy .tabs div.tablinks:active{transform:scale(.98)}
body.vv-page .vvbuy .tabs div.tablinks.active{background:#fff!important;box-shadow:inset 0 0 0 2.5px var(--ink),0 16px 36px rgba(0,0,0,.08)}
body.vv-page .vvbuy .tabs div.tablinks:last-child.active{box-shadow:inset 0 0 0 2.5px var(--coral-ink),0 18px 40px rgba(207,58,79,.16)}
body.vv-page .vvbuy .tabs button.tablinks{width:100%;min-height:84px;padding:18px 20px!important;background:none!important;border:0;border-radius:22px!important;display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;text-align:left;color:var(--ink)!important;font:inherit;cursor:pointer}
body.vv-page .vvbuy .tabs button.tablinks img{width:44px!important;height:44px!important;padding:10px;margin:0!important;border-radius:14px;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.08);filter:none!important;flex:none}
body.vv-page .vvbuy .tabs div.tablinks.active button.tablinks img{background:var(--ink);filter:brightness(0) invert(1)!important;box-shadow:none}
body.vv-page .vvbuy .tabs div.tablinks:last-child.active button.tablinks img{background:var(--coral-ink)}
body.vv-page .vvbuy .tabs .tab-texts{font-size:18px;font-weight:800;letter-spacing:-.015em;color:var(--ink)!important;line-height:1.2;flex:1;min-width:0}
body.vv-page .vvbuy .tabs .badge{position:absolute;top:-11px;right:16px;font-size:11px!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff!important;background:linear-gradient(100deg,#CF3A4F,#8650A0)!important;border-radius:999px;padding:5px 11px;box-shadow:0 6px 14px rgba(207,58,79,.3)}
body.vv-page .vvbuy .tabs div.tablinks{position:relative}

/* phone: segmented control, sticks under the nav while scrolling */
body.vv-page .vvbuy .mobile-tabs{border:0!important;background:transparent;margin:0 0 12px}
body.vv-page .vvbuy .mobile-tabs .tab-buttons{display:flex;gap:4px;padding:4px;border-radius:999px;background:#EDEDF0}
body.vv-page .vvbuy .mobile-tabs .tab-button{flex:1;min-height:44px;opacity:1!important;background:transparent!important;color:var(--text)!important;border:0;border-radius:999px;padding:6px 6px!important;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;transition:background-color 250ms var(--ease),color 250ms,box-shadow 250ms}
body.vv-page .vvbuy .mobile-tabs .tab-button img{width:20px!important;height:20px!important;filter:grayscale(1) opacity(.6)!important}
body.vv-page .vvbuy .mobile-tabs .tab-button span{font-size:13px!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.005em;color:inherit}
body.vv-page .vvbuy .mobile-tabs .tab-button.active{background:#fff!important;color:var(--ink)!important;box-shadow:0 2px 8px rgba(0,0,0,.12)}
body.vv-page .vvbuy .mobile-tabs .tab-button.active img{filter:none!important}
body.vv-page .vvbuy .mobile-tabs .tab-button.active::after{display:none}
body.vv-page .mobile-tabs.sticky{position:fixed!important;top:var(--vv-nav-h,56px)!important;left:0;right:0;z-index:990;margin:0!important;padding:8px 12px;background:rgba(255,255,255,.82)!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 rgba(0,0,0,.06)}

/* what each format gives you */
body.vv-page .vvbuy .tab-para-1{margin:0 0 6px!important;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start!important}
body.vv-page .vvbuy .tab-para-1.d-none{display:none!important}
@media (min-width:768px){body.vv-page .vvbuy .tab-para-1.d-md-flex{display:flex!important}}
body.vv-page .vvbuy .tab-para-1>.content{flex:none!important;max-width:none!important;width:auto!important;padding:0!important}
body.vv-page .vvbuy .tab-para-1 .new_icons{display:inline-flex!important;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--green-bg);color:var(--green);font-size:14px;font-weight:600;line-height:1.3;margin:0}
body.vv-page .vvbuy .tab-para-1 .new_icons .row{margin:0;flex-wrap:nowrap;gap:6px}
body.vv-page .vvbuy .tab-para-1 .new_icons [class*="col-"]{padding:0;max-width:none;flex:none;width:auto}
body.vv-page .vvbuy .tab-para-1 .new_icons img{width:20px!important;height:20px!important;margin:0!important}
body.vv-page .vvbuy .tab-para-1 .new_icons span{color:var(--green)!important;font-size:14px!important;text-align:left}

/* ---------- step 2: the papers panel ---------- */
body.vv-page .vvbuy .c_border{background:#fff!important;border:0!important;border-radius:30px!important;padding:28px!important;margin-top:20px!important;box-shadow:0 1px 2px rgba(0,0,0,.04),0 24px 60px rgba(0,0,0,.06)}
body.vv-page .vvbuy .book-cart-section{padding:0!important;margin:0!important;background:transparent!important}
body.vv-page .vvbuy .tabcontent>.row:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
body.vv-page .vvbuy .tabcontent>.row:first-child>[class*="col-"]{padding:0;max-width:none;flex:0 1 auto;width:auto;margin:0!important}
body.vv-page .vvbuy .choose-subject{font-size:clamp(21px,2.2vw,26px)!important;font-weight:800!important;letter-spacing:-.025em;color:var(--ink)!important}
body.vv-page .vvbuy .choose-subject::before{color:var(--coral-ink);margin-right:10px}

/* licence validity: iOS-style switch */
body.vv-page .vvbuy .licenseValidity{font-size:14px;color:var(--text)}
body.vv-page .vvbuy .licenseValidity>span{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 6px 6px 14px;border-radius:999px;background:var(--surface);font-weight:600;color:var(--ink)}
body.vv-page .vvbuy .licenseValidity .nm,body.vv-page .vvbuy .licenseValidity .ul{font-size:14px!important;font-weight:600!important;text-decoration:none!important;color:var(--muted)!important;margin:0!important}
body.vv-page .vvbuy .licenseValidity .switch{position:relative;display:inline-block;width:51px!important;height:31px!important;margin:0 4px!important}
body.vv-page .vvbuy .licenseValidity .switch input{opacity:0;width:0;height:0}
body.vv-page .vvbuy .licenseValidity .slider{position:absolute;inset:0;cursor:pointer;background:#E9E9EB!important;border-radius:999px!important;transition:background-color 250ms var(--ease)}
body.vv-page .vvbuy .licenseValidity .slider::before{content:"";position:absolute;width:27px!important;height:27px!important;left:2px!important;bottom:2px!important;top:auto!important;background:#fff!important;border-radius:50%!important;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);transition:transform 300ms cubic-bezier(.3,1.25,.4,1)!important}
body.vv-page .vvbuy .licenseValidity input:checked+.slider{background:#34C759!important}
body.vv-page .vvbuy .licenseValidity input:checked+.slider::before{transform:translateX(20px)!important}
body.vv-page .vvbuy .licenseValidity .btn.badge{width:36px;height:36px;border-radius:999px;background:#fff!important;color:var(--ink)!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 .5px rgba(0,0,0,.08)}

/* paper cards */
body.vv-page .vvbuy #allCourses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0!important}
body.vv-page .vvbuy #allCourses>[class*="col-"]{max-width:none;width:auto;flex:none;padding:0!important;margin:0!important}
body.vv-page .vvbuy .card-outside{height:100%;margin:0!important;padding:0!important;border:0!important;border-radius:22px!important;background:var(--surface)!important;overflow:hidden;transition:box-shadow 240ms var(--ease),background-color 240ms}
body.vv-page .vvbuy .card-outside.selected{background:#fff!important;border:0!important;box-shadow:inset 0 0 0 2.5px var(--ink),0 14px 34px rgba(0,0,0,.08)}
body.vv-page .vvbuy .card-outside>.row{margin:0;height:100%;flex-wrap:nowrap}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]{padding:0}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child{flex:0 0 40%;max-width:40%}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:last-child{flex:1 1 auto;max-width:60%}
body.vv-page .vvbuy .card-inside{height:100%;display:flex!important;flex-direction:column;align-items:stretch;gap:10px;padding:18px 14px 14px;background:linear-gradient(160deg,#FDF1F3,#EEF6FB)!important;border:0!important;border-radius:0!important}
body.vv-page .vvbuy .card-inside>.row.over{order:3;margin:0}
body.vv-page .vvbuy .card-inside>.row.over [class*="col-"]{padding:0}
body.vv-page .vvbuy .card-inside .carousel{order:1;margin:0!important}
body.vv-page .vvbuy .card-inside .image-footer{order:2;margin:0!important}
body.vv-page .vvbuy .card-inside .carousel img{max-height:200px;width:auto!important;margin:0 auto!important;display:block;filter:drop-shadow(0 12px 18px rgba(0,0,0,.16));transition:transform 500ms var(--ease)}
body.vv-page .vvbuy .card-outside:hover .card-inside .carousel img{transform:translateY(-4px)}
body.vv-page .vvbuy .sample-pdf,body.vv-page .vvbuy .sample-pdf .btn{font-size:13px!important;font-weight:600!important;color:var(--coral-ink)!important;text-decoration:none!important;padding:0!important;margin:0!important;justify-content:center;width:100%}
body.vv-page .vvbuy .sample-pdf i{display:none}

/* add-to-cart toggle: a full-width pill */
body.vv-page .vvbuy .custom-checkbox-row{min-height:44px;margin:0!important;padding:0 14px!important;border:0!important;border-radius:999px!important;background:var(--coral-ink)!important;box-shadow:none!important;color:#fff;gap:8px!important;transition:background-color 200ms,transform 120ms var(--ease)}
body.vv-page .vvbuy .custom-checkbox-row:hover{background:var(--coral-press)!important}
body.vv-page .vvbuy .custom-checkbox-row:active{transform:scale(.96)}
body.vv-page .vvbuy .custom-checkbox-row .cart-icon{width:auto!important;color:#fff!important;font-size:15px!important;transform:none!important}
body.vv-page .vvbuy .custom-checkbox-row .tooltip-text{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;background:none!important;box-shadow:none!important;padding:0!important;color:#fff;font-size:15px!important;font-weight:700!important;pointer-events:none}
body.vv-page .vvbuy .custom-checkbox-row .tooltip-text::after{display:none}
body.vv-page .vvbuy .custom-checkbox-row.checked{background:var(--green-bg)!important;color:var(--green)}
body.vv-page .vvbuy .custom-checkbox-row.checked .tooltip-text{font-size:0!important}
body.vv-page .vvbuy .custom-checkbox-row.checked .tooltip-text::before{content:"Added";font-size:15px;color:var(--green)}
body.vv-page .vvbuy .custom-checkbox-row.checked .cart-icon{color:var(--green)!important}
body.vv-page .vvbuy .custom-checkbox-row.checked .check-emoji{display:none!important}
body.vv-page .vvbuy .custom-checkbox-row.checked .cart-icon::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}

/* card text */
body.vv-page .vvbuy .card-outside .card-body{padding:18px 18px 16px!important;display:flex;flex-direction:column;gap:8px;height:100%}
body.vv-page .vvbuy .card-outside .card-body>.row{margin:0;display:flex;flex-direction:column;gap:6px}
body.vv-page .vvbuy .card-outside .card-body>.row>.pdf-1{max-width:none;flex:none;width:100%;padding:0}
body.vv-page .vvbuy .pdf-1>span:first-child{font-size:17px!important;font-weight:800!important;letter-spacing:-.015em;color:var(--ink)!important;line-height:1.25}
body.vv-page .vvbuy .pdf-1 .badge.recom,body.vv-page .vvbuy .pdf-1 .badge.recom-2,body.vv-page .vvbuy .pdf-1 .badge.recom-3{font-size:10.5px!important;font-weight:800!important;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:4px 9px!important;background:#1D1D1F!important;color:#fff!important;margin-left:6px;vertical-align:middle}
body.vv-page .vvbuy .pdf-1 span[style*="float"]{float:none!important;display:inline}
body.vv-page .vvbuy .pdf-1:nth-child(2){display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
body.vv-page .vvbuy .pdf-1:nth-child(2)>span:first-child{order:1;font-size:22px!important;font-weight:800!important;color:var(--ink)!important;letter-spacing:-.02em}
body.vv-page .vvbuy .pdf-1:nth-child(2)>span[style*="line-through"]{order:2;font-size:14px!important;font-weight:500!important;color:var(--muted)!important}
body.vv-page .vvbuy .pdf-1:nth-child(2) .tag_price{font-size:inherit}
body.vv-page .vvbuy .card-outside .card-text{font-size:14px!important;line-height:1.45;color:var(--muted)!important;margin:0}
body.vv-page .vvbuy .radio-group{margin:0!important}
body.vv-page .vvbuy .radio-group .row{margin:0}
body.vv-page .vvbuy .pdf-radio-button{padding:0}
body.vv-page .vvbuy .couponText-combo{font-size:13px;margin:0!important}
body.vv-page .vvbuy .couponText-combo span[style]{color:var(--green)!important;font-weight:600}
body.vv-page .vvbuy .couponText-combo i{font-style:normal}
body.vv-page .vvbuy .couponText-combo:empty{display:none}
body.vv-page .vvbuy .sold-out-badge{font-size:12px;font-weight:700;color:#B45309;background:#FFF7ED;border-radius:999px;padding:3px 9px}

/* capsule add-on */
body.vv-page .vvbuy .capsule-wrapper{margin:4px 0 0}
body.vv-page .vvbuy .capsule-label{display:flex;align-items:center;gap:10px;width:100%;margin:0;border-radius:14px;background:#FFF7ED;padding:10px 12px;cursor:pointer;transition:background-color 200ms,box-shadow 200ms}
body.vv-page .vvbuy .capsule-label:has(input:checked){background:#fff;box-shadow:inset 0 0 0 2px #B45309}
body.vv-page .vvbuy .capsule-label input{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:none;margin:0;border-radius:7px;box-shadow:inset 0 0 0 2px #B45309;background:#fff;cursor:pointer;display:grid;place-content:center}
body.vv-page .vvbuy .capsule-label input:checked{background:#B45309 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:none}
body.vv-page .vvbuy .capsule-text{font-size:13.5px!important;font-weight:700;color:var(--ink)!important;line-height:1.3}
body.vv-page .vvbuy .capsulePriceValue{color:#92400E!important}

/* quantity stepper */
body.vv-page .vvbuy .quantity-selector{margin-top:4px!important}
body.vv-page .vvbuy .pill-shape{border:0!important;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px!important;padding:2px!important;max-height:none!important;gap:2px}
body.vv-page .vvbuy .increment-decrement-btn{width:40px;height:40px;border-radius:999px!important;padding:0!important;font-size:20px!important;font-weight:500;color:var(--ink)!important;background:transparent!important;border:0!important;box-shadow:none!important;line-height:1;transition:background-color 120ms,transform 120ms var(--ease)}
body.vv-page .vvbuy .increment-decrement-btn:hover{background:var(--surface)!important}
body.vv-page .vvbuy .increment-decrement-btn:active{transform:scale(.9)}
body.vv-page .vvbuy #quantityDisplay,body.vv-page .vvbuy .quantityDisplay{min-width:28px;text-align:center;font-weight:800;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}

/* ---------- sticky cart bar + order summary (glass) ---------- */
body.vv-page .sticky-cart{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 -1px 0 rgba(0,0,0,.06),0 -12px 40px rgba(0,0,0,.08)!important;border-radius:22px 22px 0 0;font-family:'DM Sans',system-ui,sans-serif;z-index:995!important}
body.vv-page .sticky-cart .container-fluid{max-width:1180px;margin:0 auto;padding:0 24px}
body.vv-page .sticky-cart .cart-summary{border:0!important;padding:12px 0 calc(12px + env(safe-area-inset-bottom))!important}
body.vv-page .sticky-cart .cart-checkout-section{margin:0}
body.vv-page .sticky-cart .my-cart{display:flex;align-items:center;gap:12px;padding:0}
body.vv-page .sticky-cart .cart-cart-title{font-size:17px!important;font-weight:800!important;color:#1D1D1F!important;letter-spacing:-.01em}
body.vv-page .sticky-cart .view-summary{font-size:14px!important;font-weight:600!important;color:#CF3A4F!important;cursor:pointer;text-decoration:none!important;min-height:44px;display:inline-flex;align-items:center}
body.vv-page .sticky-cart .my-cart-checkout{display:flex;justify-content:flex-end;padding:0}
body.vv-page .sticky-cart .btn-checkout{min-height:48px;padding:0 24px!important;border-radius:999px!important;border:0!important;background:#CF3A4F!important;color:#fff!important;font:700 16px/1 'DM Sans',system-ui,sans-serif!important;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background-color 160ms,transform 120ms cubic-bezier(.2,.8,.2,1)}
body.vv-page .sticky-cart .btn-checkout:hover{background:#B3304A!important}
body.vv-page .sticky-cart .btn-checkout:active{transform:scale(.96)}
body.vv-page .sticky-cart .incl-taxes{font-size:12px!important;font-weight:500;opacity:.8}
body.vv-page .sticky-cart .cart-details{border:0!important;max-height:min(60vh,520px);overflow:auto;padding:20px 0 4px!important}
body.vv-page .sticky-cart .cart-details>.container-fluid>.row{margin:0;gap:16px;flex-wrap:nowrap}
body.vv-page .sticky-cart #cartItemsContainer{padding:0;flex:1 1 auto;max-width:none}
body.vv-page .sticky-cart .order-summary-1{flex:0 0 320px;max-width:320px;padding:0!important}
body.vv-page .sticky-cart .order-summary{border-radius:20px;background:#F5F5F7;padding:18px!important;border:0!important;box-shadow:none!important}
body.vv-page .sticky-cart .order-summary h5{font-size:17px;font-weight:800;color:#1D1D1F;margin:0 0 8px!important}
body.vv-page .sticky-cart .order-summary .d-flex[style*="border-top"]{display:none!important}
body.vv-page .sticky-cart .summary-item{display:flex;justify-content:space-between;font-size:15px;color:#3A3A3C;margin:6px 0 0!important}
body.vv-page .sticky-cart .summary-item.total{font-size:17px;font-weight:800;color:#1D1D1F;border-top:1px solid #E3E3E8;padding-top:10px;margin-top:10px!important}
body.vv-page .sticky-cart .shipping-info{font-size:13px;color:#6E6E73;margin:8px 0 0}
body.vv-page .sticky-cart .cart-item{border:0!important;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #E3E3E8;padding:12px!important;margin:0 0 10px!important}
body.vv-page .sticky-cart .cart-book-heading{font-size:15px;font-weight:800;color:#1D1D1F}
body.vv-page .sticky-cart .cart-name-price{font-size:13px;color:#6E6E73;margin:2px 0 0}
body.vv-page .sticky-cart .price{font-weight:800;color:#1D1D1F}
body.vv-page .sticky-cart .fa-trash{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#6E6E73;background:#F5F5F7}
body.vv-page .sticky-cart .fa-trash:hover{color:#B3304A}

/* ---------- modals ---------- */
body.vv-page .modal-content{border:0;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.25);font-family:'DM Sans',system-ui,sans-serif}
body.vv-page .modal-header{border:0;padding:20px 22px 8px}
body.vv-page .modal-title{font-size:20px;font-weight:800;color:#1D1D1F;letter-spacing:-.015em}
body.vv-page .modal-footer{border:0;padding:8px 22px 22px}
body.vv-page .modal-footer .btn-checkout{min-height:48px;border-radius:999px;border:0;background:#CF3A4F;color:#fff;font-weight:700;padding:0 28px;font-size:16px}
body.vv-page .modal .close{width:36px;height:36px;border-radius:999px;background:#F5F5F7;opacity:1;margin:-4px -6px 0 auto;padding:0;font-size:22px;line-height:36px;text-shadow:none}
body.vv-page .license-option-card{border-radius:18px;background:#F5F5F7;border:0!important;height:100%;transition:box-shadow 200ms,background-color 200ms}
body.vv-page .license-option-card:has(input:checked){background:#fff;box-shadow:inset 0 0 0 2px #1D1D1F}
body.vv-page .license-label{padding:16px;margin:0;cursor:pointer;width:100%}
body.vv-page .license-duration{font-size:18px;font-weight:800;color:#1D1D1F}
body.vv-page .license-features{padding-left:18px;margin:8px 0 0;font-size:14px;color:#3A3A3C}
body.vv-page .license-badge{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#14532D;background:#E6F6EC;border-radius:999px;padding:3px 9px;display:inline-block}
body.vv-page .license-badge:empty{display:none}
body.vv-page .validity-note{font-size:13px;color:#6E6E73;margin:12px 0 0}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  body.vv-page .vvbuy #allCourses{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:991px){
  body.vv-page .sticky-cart .cart-details>.container-fluid>.row{flex-direction:column}
  body.vv-page .sticky-cart .order-summary-1{flex:none;max-width:none;width:100%}
}
@media (max-width:767px){
  .vvbuy{padding:56px 0 48px}
  body.vv-page .vvbuy .container-fluid{padding:0 16px}
  body.vv-page .vvbuy .c_border{padding:18px 14px!important;border-radius:24px!important;margin-top:12px!important}
  body.vv-page .vvbuy .tabcontent>.row:first-child{flex-direction:column;align-items:flex-start}
  body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child{flex:0 0 42%;max-width:42%}
  body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:last-child{max-width:58%}
  body.vv-page .vvbuy .card-inside{padding:14px 10px 12px}
  body.vv-page .vvbuy .card-inside .carousel img{max-height:150px}
  body.vv-page .vvbuy .card-outside .card-body{padding:14px 12px 12px!important}
  body.vv-page .vvbuy .pdf-1>span:first-child{font-size:15.5px!important}
  body.vv-page .vvbuy .pdf-1:nth-child(2)>span:first-child{font-size:19px!important}
  body.vv-page .vvbuy .tab-para-1 .new_icons{font-size:13px}
  body.vv-page .sticky-cart{border-radius:18px 18px 0 0}
  body.vv-page .sticky-cart .container-fluid{padding:0 14px}
  body.vv-page .sticky-cart .cart-cart-title{font-size:15px!important}
  body.vv-page .sticky-cart .view-summary{font-size:13px!important}
  body.vv-page .sticky-cart .btn-checkout{min-height:44px;padding:0 16px!important;font-size:14px!important}
  body.vv-page .sticky-cart .incl-taxes{display:none}
  body.vv-page .vvbuy .licenseValidity>span{padding-left:12px}
}
@media (prefers-reduced-motion:reduce){.vvbuy *,.sticky-cart *{transition:none!important;animation:none!important}}
@media (prefers-reduced-transparency:reduce){body.vv-page .sticky-cart,body.vv-page .mobile-tabs.sticky{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---------- product page sections: PHP port additions ---------- */
.vvr .vr-hero-art{position:relative;z-index:1;width:100%;max-width:820px;margin:20px auto -8px}
.vvr .vr-hero-art img{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 40px rgba(120,40,30,.18))}
.vvr .hero .wrap{padding-bottom:0}
.vvr .vr-video{position:relative;border-radius:28px;overflow:hidden;background:var(--surface);min-height:240px;display:flex;align-items:center;justify-content:center}
.vvr .vr-video>img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;aspect-ratio:16/10}
.vvr .faq details{border-bottom:1px solid var(--line)}
.vvr .faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font:700 19px/1.35 'DM Sans',system-ui,sans-serif;letter-spacing:-.012em;color:var(--ink);min-height:44px}
.vvr .faq summary::-webkit-details-marker{display:none}
.vvr .faq details[open] .faq-ic{transform:rotate(45deg);background:#1D1D1F;color:#fff}
.vvr .faq details[open] .faq-a{animation:rise 400ms var(--ease) both}
.vvr .ladder.vr-ladder-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vvr .ladder.vr-ladder-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vvr .lgrid a{text-decoration:none}
@media (max-width:767px){
  .vvr .ladder.vr-ladder-2,.vvr .ladder.vr-ladder-3{grid-template-columns:minmax(0,1fr)}
  .vvr .faq summary{font-size:17px}
  .vvr .vr-hero-art{margin-top:8px}
}
.vvr .vr-steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vvr .vr-steps4 .hstep{flex-direction:column;gap:12px;padding:22px;border:0;border-radius:24px;background:var(--surface)}
.vvr .vr-steps4 .hstep i{background:#fff}
.vvr .vr-videos{margin-top:40px}
@media (max-width:1023px){.vvr .vr-steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.vvr .vr-steps4{grid-template-columns:minmax(0,1fr)}.vvr .vr-steps4 .hstep{flex-direction:row}}

/* legacy .btn / .bars rules must not reach the new sections */
.vvr .btn{font-size:16px!important;padding:0 24px!important;min-height:48px;line-height:1!important;border-radius:999px!important;text-transform:none!important;font-weight:600!important}
.vvr .btn.sm{font-size:15px!important;padding:0 18px!important;min-height:44px}
.vvr .vr-statbars{border-radius:28px;background:#fff;padding:32px;display:flex;flex-direction:column;gap:24px;width:auto;height:auto}
body.vv-page .vvbuy .tabcontent>.row:first-child>[class*="col-"]:first-child{flex:1 1 auto}
@media (max-width:767px){.vvr .vr-statbars{padding:22px}}
body.vv-page .vvbuy .card-inside>.row.over{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;transform:none!important;z-index:1}
body.vv-page .vvbuy .card-inside>.row.over [class*="col-"]{position:static!important}
body.vv-page .vvbuy .custom-checkbox-row{position:relative!important;width:100%!important}
body.vv-page .vvbuy .book-cart-section{border:0!important;box-shadow:none!important;border-radius:0!important}
body.vv-page .vvbuy .tab-para-1>.content{max-width:100%!important;min-width:0}
body.vv-page .vvbuy .tab-para-1 .new_icons{max-width:100%;white-space:normal}
body.vv-page .vvbuy .tab-para-1 .new_icons .col-10,body.vv-page .vvbuy .tab-para-1 .new_icons .fp{min-width:0;flex:1 1 auto!important}
@media (max-width:767px){body.vv-page .vvbuy .tab-para-1{gap:6px}body.vv-page .vvbuy .tab-para-1 .new_icons{padding:6px 12px 6px 8px}}
body.vv-page .vvbuy .tab-para-1 .new_icons img{font-size:0;color:transparent;overflow:hidden}
body.vv-page .vvbuy>.container-fluid{padding-left:24px!important;padding-right:24px!important}
@media (max-width:767px){body.vv-page .vvbuy>.container-fluid{padding-left:16px!important;padding-right:16px!important}}
body.vv-page .vvbuy .card-outside .card-body .badge:not(.recom):not(.recom-2):not(.recom-3){display:inline-flex!important;width:auto!important;align-self:flex-start;background:#EEF6FB!important;color:#0B5394!important;font-size:12px!important;font-weight:700!important;border-radius:999px!important;padding:4px 10px!important;white-space:normal;text-align:left;line-height:1.3}
body.vv-page .vvbuy .card-inside>.row.over{margin-left:0!important;margin-right:0!important}
body.vv-page .vvbuy .card-inside .custom-checkbox-row{max-width:100%}

/* ---- fixes 15 Oct: card spacing, selected ring, tab icon ---- */
/* the Add to Cart pill sits in a nested Bootstrap .row whose -15px side margins pushed it past the card */
body.vv-page .vvbuy .card-inside .row{margin-left:0!important;margin-right:0!important;flex-wrap:nowrap}
body.vv-page .vvbuy .card-inside .row>[class*="col"]{padding-left:0!important;padding-right:0!important;max-width:100%;flex:1 1 auto}
body.vv-page .vvbuy .card-inside .custom-checkbox-row{width:100%!important;max-width:100%!important;justify-content:center}
/* the cover column is as tall as its content, never taller than the card */
body.vv-page .vvbuy .card-outside>.row{height:auto;min-height:100%;align-items:stretch}
body.vv-page .vvbuy .card-inside{height:auto!important;min-height:100%;justify-content:space-between}
body.vv-page .vvbuy .card-inside .image-footer:empty{display:none}
/* selected ring drawn on top, so the cover column's tint can't hide its left side */
body.vv-page .vvbuy .card-outside{position:relative}
body.vv-page .vvbuy .card-outside.selected{box-shadow:0 14px 34px rgba(0,0,0,.08)!important}
body.vv-page .vvbuy .card-outside.selected::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2.5px var(--ink);pointer-events:none;z-index:3}
/* active format tab: tinted icon tile instead of an inverted (invisible) icon */
body.vv-page .vvbuy .tabs div.tablinks.active button.tablinks img{background:#FDECEF!important;filter:none!important;box-shadow:inset 0 0 0 1.5px rgba(207,58,79,.25)!important}
body.vv-page .vvbuy .tabs div.tablinks:last-child.active button.tablinks img{background:#FDECEF!important}
/* cover column: tint on the column, "View sample PDF" kept inside it */
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child{display:flex;flex-direction:column;background:linear-gradient(160deg,#FDF1F3,#EEF6FB)}
body.vv-page .vvbuy .card-inside{min-height:0!important;flex:1 1 auto;background:none!important}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child>.image-footer{margin:0!important;padding:0 14px 12px;font-size:13px}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child>.image-footer>.d-flex{justify-content:center!important}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child>.image-footer .sample-pdf{white-space:nowrap;gap:4px}
body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child>.image-footer .btn-link{font-size:13px!important;font-weight:700;color:var(--coral-ink)!important;padding:0 4px!important;text-decoration:none}

/* ==== fixes 15 Oct (QA round 2) ==== */
/* hero background runs right up under the floating header (no white strip above it) */
body.vv-page .section-1{padding-top:0!important}
body.vv-page .vvr .hero{padding-top:calc(var(--vv-nav-h,100px) + 36px)!important}
@media (max-width:767px){body.vv-page .vvr .hero{padding-top:calc(var(--vv-nav-h,80px) + 20px)!important}}
/* frosted backing behind the floating desktop header */
@media (min-width:992px){body.vv-page #nav.sticky-nav{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:0 1px 0 rgba(0,0,0,.05)}}
/* the old page's spacer before the footer (20% of the screen, 50% on phones) left a big empty gap */
body.vv-page .inc-height{margin-bottom:0!important;height:0}
/* large screens: line the content up with the header (90% of the screen) */
@media (min-width:1280px){
  .vvr .wrap,.vvr .hstrip-in{max-width:min(90vw,1720px)}
  body.vv-page .vvbuy .container-fluid,body.vv-page .vvbuy>.container-fluid,body.vv-page .sticky-cart .container-fluid{max-width:min(90vw,1720px)!important}
  .vvr .vs{max-width:1240px}
  .vvr .sec-head{max-width:900px}
  .vvr .vr-hero-art{max-width:960px}
  .vvr .display{max-width:1200px}
}
@media (min-width:1600px){.vvr .lead,.vvr .hsub{font-size:21px}.vvr .vs-card li{font-size:17px}}
/* phones: product card as cover + details side by side, Add to Cart full width underneath (no empty gap under the cover) */
@media (max-width:767px){
  body.vv-page .vvbuy .card-outside>.row{display:grid!important;grid-template-columns:104px minmax(0,1fr);grid-template-areas:"img body" "cta cta" "foot foot";column-gap:14px;padding:14px;height:auto;min-height:0}
  body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child{display:contents!important}
  body.vv-page .vvbuy .card-outside .card-inside{display:contents!important}
  body.vv-page .vvbuy .card-inside .carousel{grid-area:img;align-self:start;margin:0!important}
  body.vv-page .vvbuy .card-inside .carousel img{max-height:150px!important}
  body.vv-page .vvbuy .card-inside>.row.over{grid-area:cta;margin:12px 0 0!important}
  body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:first-child>.image-footer{grid-area:foot;padding:8px 0 0!important}
  body.vv-page .vvbuy .card-outside>.row>[class*="col-"]:last-child{grid-area:body;max-width:none!important;width:auto!important;flex:none!important}
  body.vv-page .vvbuy .card-outside .card-body{padding:0!important;height:auto}
  body.vv-page .vvbuy .card-outside{background:linear-gradient(160deg,#FDF1F3,#F5F5F7 40%)!important}
}
/* very wide screens: three product cards per row instead of two */
@media (min-width:1600px){body.vv-page .vvbuy .tabcontent .row>.col-lg-6:has(>.card-outside){flex:0 0 33.333%;max-width:33.333%}}
/* the feature rows (book page + text) stay at a comfortable width on very wide screens */
@media (min-width:1280px){.vvr .deep .wrap{max-width:1240px}}

/* ---------- hero: text left, smaller image right (desktop); stacked & centred on tablet/mobile ---------- */
.vvr .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:clamp(28px,4vw,64px);row-gap:16px;align-items:center;justify-items:start;text-align:left}
.vvr .hero .wrap>*{grid-column:1;min-width:0;max-width:100%}
.vvr .hero .kicker{justify-content:flex-start}
.vvr .hero .hctas{justify-content:flex-start}
.vvr .hero .display{font-size:clamp(36px,4.6vw,68px);max-width:none;text-wrap:balance}
.vvr .hero .hsub{max-width:640px}
.vvr .hero .wrap>.vr-hero-art{grid-column:2;grid-row:1 / span 5;justify-self:end;width:100%;max-width:400px;margin:0}
@media (min-width:1280px){
  .vvr .hero .wrap>.vr-hero-art{max-width:600px}
  .vvr .hero .display{font-size:clamp(44px,4.4vw,72px)}
}
/* tablet and phones: single centred column, image scaled down */
@media (max-width:899px){
  .vvr .hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
  .vvr .hero .kicker,.vvr .hero .hctas{justify-content:center}
  .vvr .hero .wrap>*{width:100%;max-width:100%}
  .vvr .hero .display{font-size:clamp(36px,8vw,64px);margin:0 auto}
  .vvr .hero .hsub{margin:0 auto}
  .vvr .hero .wrap>.vr-hero-art{max-width:440px;margin:12px auto -8px;justify-self:center}
}
@media (max-width:767px){
  .vvr .hero .wrap>.vr-hero-art{max-width:340px;margin-top:8px;margin-bottom:-4px}
  .vvr .hero .hctas .btn{flex:1 1 auto}
}
