/* Pure Faith Plus: plans, the free-versus-Plus comparison, the payment page, and the lock card on Plus lessons. */
.plus-status{margin:14px 0 0;padding:12px 16px;border:3px solid #1b1340;border-radius:16px;background:#fff;font:500 16px/1.45 var(--cm-ui,system-ui);box-shadow:4px 4px 0 #1b1340}
.plus-status.on{background:#c9f7e6}.plus-status.wait{background:#fff3bf}
.plus-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plus-plan{position:relative;display:grid;gap:8px;align-content:start;padding:24px 22px;border:3px solid #1b1340;border-radius:24px;background:#fff;box-shadow:6px 6px 0 #1b1340;text-align:center}
.plus-plan.best{background:#fff8dc;transform:translateY(-6px);box-shadow:8px 10px 0 #1b1340}
.plus-plan h2{margin:0;font:700 22px var(--cm-ui,system-ui)}
.plus-price{margin:0}.plus-price b{font:400 52px/1 var(--cm-display,Impact,sans-serif);letter-spacing:.02em;color:#1b1340}
.plus-note{margin:0 0 6px;font:600 14px var(--cm-ui,system-ui);color:#5b5677}
.plus-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-2deg);padding:5px 12px;border:2.5px solid #1b1340;border-radius:10px;background:#ff5d8f;color:#fff;font:800 12px var(--cm-ui,system-ui);letter-spacing:.06em;text-transform:uppercase}
.plus-small{margin:12px 0 0;font:500 14px/1.5 var(--cm-ui,system-ui);color:#5b5677;text-align:center}
.plus-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.plus-col{padding:20px 22px;border:3px solid #1b1340;border-radius:22px;background:#fff;box-shadow:5px 5px 0 #1b1340}
.plus-col.plus{background:#f3efff}
.plus-col h2{margin:0 0 10px;font:700 22px var(--cm-ui,system-ui)}
.plus-col li{margin:7px 0;font:500 16px/1.45 var(--cm-ui,system-ui)}
.plus-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.plus-steps li{counter-increment:s;padding:16px;border:3px solid #1b1340;border-radius:18px;background:#fff;font:500 16px/1.45 var(--cm-ui,system-ui);box-shadow:4px 4px 0 #1b1340}
.plus-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;margin-bottom:8px;border:3px solid #1b1340;border-radius:50%;background:#ffd23f;font:400 20px var(--cm-display,Impact,sans-serif)}
.plus-pay{max-width:860px;margin:0 auto}
.plus-pay-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:22px;align-items:start;margin:18px 0}
.plus-qr-box{display:grid;justify-items:center;gap:8px;padding:16px;border:3px solid #1b1340;border-radius:20px;background:#fff;box-shadow:5px 5px 0 #1b1340}
.plus-qr{display:grid;place-items:center;min-height:220px}.plus-qr-canvas{width:220px;height:220px;image-rendering:pixelated}
.plus-details{padding:16px 18px;border:3px solid #1b1340;border-radius:20px;background:#fff8dc}
.plus-details dl{margin:0;display:grid;gap:10px}.plus-details dt{font:700 12px var(--cm-ui,system-ui);letter-spacing:.06em;text-transform:uppercase;color:#5b5677}
.plus-details dd{margin:2px 0 0;font:600 18px var(--cm-ui,system-ui);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plus-details code{font:700 18px ui-monospace,Consolas,monospace}
.plus-details .plus-small{text-align:left}
.plus-claim,.plus-done{padding:20px 22px;border:3px solid #1b1340;border-radius:22px;background:#fff;box-shadow:6px 6px 0 #1b1340}
.plus-claim h2,.plus-done h2{margin:0 0 6px;font:700 22px var(--cm-ui,system-ui)}
.plus-claim label{display:grid;gap:4px;margin:10px 0;font:700 14px var(--cm-ui,system-ui)}
.plus-claim input{padding:11px 12px;border:2.5px solid #1b1340;border-radius:12px;font:600 18px ui-monospace,Consolas,monospace}
.plus-claim .plus-small{text-align:left}

/* the lock card on Plus lessons (server/teach.js) */
.plus-lock{max-width:900px;margin:0 auto;padding:26px;border:3px solid #1b1340;border-radius:26px;background:radial-gradient(circle,rgba(27,19,64,.06) 1.2px,transparent 1.7px) 0 0/16px 16px,#fff8dc;box-shadow:7px 7px 0 #1b1340}
.plus-lock h2{margin:6px 0 8px;font:400 clamp(28px,3.4vw,40px)/1.05 var(--cm-display,Impact,sans-serif);letter-spacing:.02em;color:#1b1340}
.plus-lock ul{columns:2;column-gap:28px;margin:12px 0;padding-left:20px}.plus-lock li{margin:5px 0;break-inside:avoid;font:500 15.5px/1.4 var(--cm-ui,system-ui)}
.plus-lock .hero-cta{margin-top:14px}
.plus-chip{display:inline-block;padding:2px 8px;border:2px solid #1b1340;border-radius:8px;background:#ffd23f;font:800 11px var(--cm-ui,system-ui);letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}
.plus-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border:3px solid #1b1340;border-radius:22px;background:#f3efff;box-shadow:5px 5px 0 #1b1340}
.plus-band p{margin:0;font:500 16.5px/1.5 var(--cm-ui,system-ui)}
@media(max-width:820px){.plus-plans,.plus-steps,.plus-compare{grid-template-columns:minmax(0,1fr)}.plus-plan.best{transform:none}.plus-pay-grid{grid-template-columns:minmax(0,1fr)}.plus-lock ul{columns:1}}

/* the two ways to learn, side by side (twoWays in server/plus.js) */
.ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.way{display:grid;gap:8px;align-content:start;padding:22px;border:3px solid #1b1340;border-radius:24px;box-shadow:6px 6px 0 #1b1340}
.way.plus{background:#fff8dc}.way.live{background:#e3f1ff}
.way-tag{justify-self:start;margin:0;padding:4px 10px;border:2px solid #1b1340;border-radius:10px;background:#fff;font:800 12px var(--cm-ui,system-ui);letter-spacing:.05em;text-transform:uppercase}
.way h3{margin:4px 0 0;font:700 23px/1.2 var(--cm-ui,system-ui)}
.way p{margin:0;font:500 16px/1.5 var(--cm-ui,system-ui)}
.way-price b{font:400 30px/1 var(--cm-display,Impact,sans-serif);letter-spacing:.02em}
.way-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ways-note{margin:12px 0 0;text-align:center;font:600 15px var(--cm-ui,system-ui);color:#5b5677}
.plus-who{display:block;width:100%;font:500 13px var(--cm-ui,system-ui);color:#5b5677}
@media(max-width:820px){.ways{grid-template-columns:minmax(0,1fr)}}
.plus-lock .plus-signin{margin:4px 0 10px;padding:10px 14px;border:2px dashed #1b1340;border-radius:12px;background:#fff;font:500 15.5px/1.4 var(--cm-ui,system-ui)}
