/* FormaRise — quiz + personalized paywall (bento / periwinkle) */

.quiz-body{min-height:100vh;display:flex;flex-direction:column;background:var(--cream);}
.quiz-header{padding:22px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:center;background:var(--cream);}
.quiz-header .logo-word{font-family:var(--disp);font-size:26px;color:var(--ink);}
.quiz-header .logo-word b{font-style:italic;font-weight:400;color:var(--peri-dk);}

/* ── Step quiz ── */
.quiz-stage{flex-grow:1;display:flex;flex-direction:column;align-items:center;padding:72px 24px 110px;transition:opacity .26s ease,transform .38s var(--ease);}
.quiz-stage[hidden]{display:none;}
.quiz-stage.fade-out{opacity:0;transform:translateY(-110px);z-index:10;}

.quiz-progress{width:min(100%,920px);display:flex;align-items:center;gap:18px;margin-bottom:64px;}
.quiz-back{background:var(--card);border:1px solid var(--line);border-radius:999px;width:44px;height:44px;flex-shrink:0;cursor:pointer;color:var(--ink);font-size:1.1rem;transition:border-color var(--t),color var(--t);}
.quiz-back:hover{border-color:var(--peri);color:var(--peri-dk);}
.quiz-progress-track{flex-grow:1;height:8px;background:var(--peri-soft);border-radius:999px;overflow:hidden;}
.quiz-progress-bar{height:100%;width:20%;background:var(--peri);border-radius:999px;transition:width var(--t) var(--ease);}
.quiz-progress-count{flex-shrink:0;font-size:.85rem;font-weight:600;letter-spacing:.06em;color:var(--muted);}

.quiz-card{width:min(100%,920px);transition:opacity .22s ease,transform .22s ease;}
.quiz-card.leaving{opacity:0;transform:translateY(10px);}
.quiz-row{display:flex;align-items:center;gap:56px;}
.quiz-col-content{flex:1;min-width:0;text-align:left;}
.quiz-col-image{flex-shrink:0;}
.quiz-col-image img{width:360px;height:460px;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:block;}

.quiz-question{font-family:var(--disp);font-weight:400;font-size:clamp(2rem,5vw,3.2rem);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin-bottom:42px;}
.quiz-options{display:flex;flex-direction:column;gap:14px;text-align:left;}
.quiz-option{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:19px 24px;text-align:left;font-family:var(--body);font-size:1.05rem;font-weight:500;color:var(--ink);cursor:pointer;transition:transform var(--t),box-shadow var(--t),border-color var(--t),background var(--t);}
.quiz-option:hover{border-color:var(--peri);transform:translateY(-2px);box-shadow:var(--shadow);}
.quiz-option.selected{border-color:var(--peri);background:var(--peri-soft);}
.quiz-ready-note{color:var(--muted);margin-bottom:36px;font-size:1.05rem;line-height:1.6;}
.quiz-ready-btn{min-width:220px;}

/* ── Paywall ── */
.paywall{transition:opacity .38s ease .09s,transform .44s var(--ease) .09s;}
.paywall.pw-enter{opacity:0;transform:translateY(72px);}
.paywall[hidden]{display:none;}
.accent{color:var(--peri-dk);}

.pw-hero{padding:80px 0 60px;text-align:center;}
.pw-title{font-family:var(--disp);font-weight:400;font-size:clamp(2.4rem,6vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:20px 0 18px;}
.pw-lead{max-width:600px;margin:0 auto;color:var(--muted);font-size:1.1rem;line-height:1.7;}
.pw-plan-wrap{max-width:440px;margin:48px auto 0;text-align:left;}
.pw-guarantee{margin-top:22px;font-size:.9rem;color:var(--muted);text-align:center;}

/* plan card */
.price-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:40px 34px;box-shadow:var(--shadow);}
.price-card.featured{border-color:var(--peri);}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--peri);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 18px;border-radius:999px;white-space:nowrap;}
.plan-name{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.plan-price{font-family:var(--disp);font-weight:400;font-size:3.6rem;line-height:1;color:var(--ink);}
.plan-period{font-size:15px;font-weight:500;color:var(--ink);margin:12px 0 16px;}  /* legible */
.plan-desc{font-size:14.5px;color:var(--muted);margin-bottom:22px;line-height:1.6;}
.plan-btn,.pw-cta{width:100%;}
.plan-feats{margin-top:22px;display:flex;flex-direction:column;}
.plan-feat{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);padding:10px 0;border-top:1px solid var(--line);}
.plan-feat:first-child{border-top:none;}
.plan-feat::before{content:'✓';color:var(--peri);font-weight:700;flex-shrink:0;}

/* what's included */
.pw-incl .pw-head{text-align:center;max-width:600px;margin:0 auto 44px;}
.pw-incl .pw-head .eyebrow{margin-bottom:16px;}
.pw-incl .pw-head h2{font-family:var(--disp);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.06;}
.pw-features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.pw-feature{display:flex;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:24px 26px;}
.pw-feature-icon{font-size:1.9rem;line-height:1;flex-shrink:0;}
.pw-feature strong{display:block;font-family:var(--disp);font-size:1.25rem;margin-bottom:5px;color:var(--ink);}
.pw-feature p{font-size:.96rem;line-height:1.55;color:var(--muted);}

/* ── FF checkout modal + consent gate ── */
.ff-checkout-modal{position:fixed;inset:0;z-index:220;display:none;}
.ff-checkout-modal.open{display:block;}
.ff-checkout-backdrop{position:absolute;inset:0;background:rgba(20,22,40,.6);}
.ff-checkout-panel{position:relative;z-index:1;width:min(100% - 32px,560px);max-height:calc(100vh - 48px);margin:24px auto;padding:26px 24px 28px;border-radius:var(--r);background:var(--cream);border:1px solid var(--line);overflow-y:auto;}
.ff-checkout-title{font-family:var(--disp);font-weight:400;font-size:30px;line-height:1.1;color:var(--ink);}
.ff-checkout-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--cream);color:var(--ink);cursor:pointer;}
.ff-checkout-subtitle{margin-top:14px;color:var(--muted);}
.ff-checkout-lead{display:grid;gap:12px;margin-top:20px;}
.ff-checkout-lead .btn{justify-content:center;}
.ff-input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--body);font-size:15px;outline:none;}
.ff-input:focus{border-color:var(--peri);}
.ff-checkout-error{margin:12px 0 0;color:#b42318;font-weight:600;}
.ff-checkout-container{position:relative;min-height:220px;margin-top:16px;}
.ff-checkout-modal.has-checkout .ff-checkout-lead,.ff-checkout-modal.has-checkout .ff-checkout-subtitle{display:none;}
.ff-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}

.ff-gate{display:none;margin-top:20px;}
.ff-checkout-modal.has-checkout .ff-gate{display:block;}
.ff-checkout-modal.has-checkout .ff-checkout-container button{display:none !important;}
.ff-gate-banner{display:none;background:var(--ink);color:var(--peri-soft2);text-align:center;font-weight:500;line-height:1.5;padding:14px 18px;border-radius:12px;margin-bottom:14px;}
.ff-checkout-modal.ff-has-banner .ff-gate-banner{display:block;}
.ff-gate-note{display:none;color:var(--muted);font-size:.86rem;line-height:1.6;margin:0 0 14px;}
.ff-checkout-modal.ff-has-banner .ff-gate-note{display:block;}
.ff-gate-consent{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--ink);margin:12px 0;line-height:1.5;}
.ff-gate-consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--peri);flex-shrink:0;}
.ff-gate-consent a{color:var(--peri-dk);text-decoration:underline;}
#ffGatePay{width:100%;justify-content:center;margin-top:14px;}
#ffGatePay:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none;}

@media (max-width:860px){
  .quiz-header{padding:18px 20px;}
  .quiz-row{flex-direction:column-reverse;gap:32px;}
  .quiz-col-content{width:100%;text-align:center;}
  .quiz-col-image{width:100%;}
  .quiz-col-image img{width:100%;height:auto;max-height:340px;}
  .pw-features{grid-template-columns:1fr;}
  .quiz-stage{padding-top:44px;}
  .quiz-progress{margin-bottom:44px;}
}
