/* /unlock offer selector: the same Full Reading Video three times, plus 0, 1 or 3 questions;
   one recommended, one optional speed-up. Loaded after unlock-refresh.css; the selected
   card carries the dark plum header. */
/* "Prepared personally for Sam" stands out under the title, sign and life path beneath. */
.rf-page-unlock .rf-for { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:2px 12px; margin:0 0 18px; padding:12px 16px; border:0; border-left:3px solid #a3609b; border-radius:0 8px 8px 0; background:linear-gradient(90deg,#f1e2f3,#faf5fa); }
.rf-page-unlock .rf-for .rf-ico { grid-row:1 / 3; width:24px; height:24px; }
.rf-page-unlock .rf-for b { font-size:18px; font-weight:700; line-height:1.3; color:#402047; }
.rf-page-unlock .rf-for > span { margin:0; font-size:13.5px; font-weight:500; letter-spacing:.02em; color:#6c4f69; }
.rf-page-unlock .rf-from { margin:0 0 20px; font-size:17px; font-weight:600; color:#28132e; }
.rf-page-unlock .rf-offer-select { scroll-margin-top:22px; }

/* Anniversary offer: a real conversion element — title, magenta discount, large clock and a
   bar showing how much of the campaign has already run. */
.rf-page-unlock .rf-offer-urgency { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 18px; margin:0 0 22px; padding:12px 18px 13px; border:1px solid #d6b375; border-radius:10px; background:linear-gradient(135deg,#fffaf0,#fcefd8); color:#402047; box-shadow:0 14px 28px -24px #8a6a2f99,inset 0 1px #fff; }
.rf-page-unlock .rf-offer-urgency__copy { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.rf-page-unlock .rf-offer-urgency__copy strong { display:inline-flex; align-items:center; gap:7px; font:500 22px/1.1 var(--rf-serif); letter-spacing:-.02em; color:#402047; white-space:nowrap; }
.rf-page-unlock .rf-offer-urgency__copy strong .rf-ico { flex:none; width:14px; height:14px; color:#aa8149; }
.rf-page-unlock .rf-offer-urgency__off { padding:3px 9px; border-radius:4px; background:#cf086b; color:#fff; font-size:13px; font-weight:700; letter-spacing:.02em; white-space:nowrap; box-shadow:0 6px 14px -8px #cf086b; }
.rf-page-unlock .rf-offer-urgency__countdown { display:flex; align-items:baseline; gap:8px; padding-left:18px; border-left:1px solid #e3cc9f; }
.rf-page-unlock .rf-offer-urgency__countdown > span { font-size:11.5px; font-weight:500; color:#725e6e; }
.rf-page-unlock .rf-offer-urgency__countdown .rf-offer-clock { color:#402047; font-size:23px; font-weight:600; line-height:1.1; letter-spacing:-.035em; }
.rf-page-unlock .rf-offer-urgency__track { grid-column:1 / -1; height:6px; overflow:hidden; border-radius:3px; background:#f5dbe6; }
.rf-page-unlock .rf-offer-urgency__track > span { display:block; height:100%; width:calc(100% - var(--offer-remaining)); border-radius:inherit; background:linear-gradient(90deg,#e8318f,#cf086b); }

.rf-page-unlock .rf-package-heading { margin:0 0 16px; }
.rf-page-unlock .rf-package-heading h2 { margin:0; font:500 24px/1.2 var(--rf-serif); letter-spacing:-.01em; color:#28132e; }

/* Cards */
.rf-page-unlock .rf-tiers { display:grid; gap:10px; }
.rf-page-unlock .rf-tier { position:relative; display:block; border:1px solid #dccbdc; border-radius:10px; background:#fff; box-shadow:none; cursor:pointer; transition:border-color .25s ease,box-shadow .25s ease; }
.rf-page-unlock .rf-tier:hover { border-color:#9a6f9c; }
.rf-page-unlock .rf-tier--best { margin-top:16px; border-color:#cfae7b; box-shadow:0 12px 26px -22px #6b4a1f66; }
.rf-page-unlock .rf-tier--best:has(input:checked) { box-shadow:0 0 0 1px #402047,0 0 0 5px #f4e3c1,0 18px 34px -24px #402047b0; }
.rf-page-unlock .rf-tier:has(input:checked) { border-color:#402047; background:#fff; box-shadow:0 0 0 1px #402047,0 16px 30px -24px #402047a0; }
/* Best Value: a bright emerald cartouche centred on the card edge, ringed in white so it
   stands out against the plum header as well as the white card. */
.rf-page-unlock .rf-tier__badge { position:absolute; z-index:1; top:-14px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:6px; padding:5px 15px 5px 13px; border:0; border-radius:999px; background:linear-gradient(135deg,#22c47a,#0f9a5c); color:#fff; font-size:12.5px; font-weight:800; line-height:1.2; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; text-shadow:0 1px 1px #0a5c3766; box-shadow:0 0 0 2.5px #fff,0 8px 18px -8px #0f9a5ccc; }
.rf-page-unlock .rf-tier__badge .rf-ico { width:12px; height:12px; filter:brightness(0) invert(1); }

.rf-page-unlock .rf-tier__row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px; border-radius:9px; background:transparent; transition:background-color .3s ease; }
.rf-page-unlock .rf-tier--best .rf-tier__row { padding-top:22px; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__row { background:#402047; border-radius:9px 9px 0 0; }
.rf-page-unlock .rf-tier__radio { width:22px; height:22px; border:1.5px solid #a07ca0; border-radius:50%; background:#fff; box-shadow:none; transition:border-color .25s ease,background .25s ease; }
.rf-page-unlock .rf-tier input:checked ~ .rf-tier__radio { border:2px solid #f6deae; background:radial-gradient(circle,#f6deae 0 4.5px,transparent 5px); box-shadow:none; }
.rf-page-unlock .rf-tier input:focus-visible ~ .rf-tier__radio { outline:2px solid #cf086b; outline-offset:2px; }
.rf-page-unlock .rf-tier__text { min-width:0; }
.rf-page-unlock .rf-tier__text .rf-tier__name { display:block; font-size:15px; font-weight:700; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; color:#28132e; transition:color .3s ease; }
.rf-page-unlock .rf-tier__line { display:block; margin-top:4px; font-size:13.5px; line-height:1.4; color:#6c576b; transition:color .3s ease; }
/* The questions read as an add-on to the same Full Reading Video: blush, never the gold of the badge. */
.rf-page-unlock .rf-tier__q { grid-column:2 / -1; justify-self:start; margin-top:-3px; padding:3px 9px; border:1px solid #f1c3d7; border-radius:4px; background:#fdeef4; color:#9b1457; font-size:12px; font-weight:700; line-height:1.35; letter-spacing:.05em; text-transform:uppercase; transition:background-color .3s ease,border-color .3s ease,color .3s ease; }
.rf-page-unlock .rf-tier__price { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.rf-page-unlock .rf-tier__price b { font-size:24px; font-weight:600; letter-spacing:-.03em; color:#28132e; transition:color .3s ease; }
.rf-page-unlock .rf-tier__price s { font-size:13px; color:#8b7a8a; text-decoration-thickness:1px; transition:color .3s ease; }
.rf-page-unlock .rf-tier__price s[hidden] { display:none; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__name,
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__price b { color:#fff; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__line,
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__price s { color:#d9c2d6; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__q { border-color:#f0a9c9; background:#fdeef41f; color:#ffd9ea; }

/* The comparison that matters: one question vs three, stated plainly. */
.rf-page-unlock .rf-tier__nudge { display:flex; align-items:center; gap:8px; padding:9px 16px; border-top:1px solid #ecd5a8; border-radius:0 0 9px 9px; background:#fdf2dc; color:#402047; font-size:14px; line-height:1.4; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__nudge { border-top:0; border-radius:0; }
.rf-page-unlock .rf-tier__nudge .rf-ico { flex:none; width:14px; height:14px; color:#aa8149; }
.rf-page-unlock .rf-tier__nudge { color:#5d435e; }
.rf-page-unlock .rf-tier__nudge b { color:#cf086b; font-size:15px; font-weight:700; }

/* Only the selected card unfolds what it includes. */
.rf-page-unlock .rf-tier__more { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.rf-page-unlock .rf-tier:has(input:checked) .rf-tier__more { grid-template-rows:1fr; }
.rf-page-unlock .rf-tier__more-inner { min-height:0; overflow:hidden; }
.rf-page-unlock .rf-tier__includes { display:flex; flex-wrap:wrap; gap:8px 18px; padding:13px 16px 14px; border-radius:0 0 9px 9px; background:#fbf8fb; }
.rf-page-unlock .rf-tier__includes > span { display:flex; align-items:center; gap:7px; font-size:13px; line-height:1.4; color:#3b2540; }
.rf-page-unlock .rf-tier__includes .rf-ico { flex:none; width:17px; height:17px; padding:3px; margin-top:0; border-radius:50%; background:#e2f1e8; color:#22714a; }

.rf-page-unlock [data-rf-main-cta] { min-height:62px; margin-top:18px; font-size:16px; }
.rf-page-unlock [data-rf-main-cta] [data-rf-cta-label] { text-wrap:balance; }
/* Priority answers on the page: shown only after the checkout modal offered it, to change the choice. */
.rf-page-unlock .rf-addon { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin:14px 0 0; padding:14px 16px; border:1px dashed #c9a8c4; border-radius:10px; background:#fff; cursor:pointer; transition:border-color .2s ease,background-color .2s ease; animation:rf-addon-in .35s ease; }
.rf-page-unlock .rf-addon[hidden] { display:none; }
.rf-page-unlock .rf-addon:has(input:checked) { border-style:solid; border-color:#402047; background:#f8f1f8; }
.rf-page-unlock .rf-addon input { position:absolute; opacity:0; pointer-events:none; }
.rf-page-unlock .rf-addon__box { display:grid; place-items:center; width:22px; height:22px; border:1.5px solid #95788f; border-radius:5px; background:#fff; color:transparent; }
.rf-page-unlock .rf-addon input:checked ~ .rf-addon__box { border-color:#402047; background:#402047; color:#fff; }
.rf-page-unlock .rf-addon input:focus-visible ~ .rf-addon__box { outline:2px solid #cf086b; outline-offset:2px; }
.rf-page-unlock .rf-addon__box .rf-ico { width:14px; height:14px; }
.rf-page-unlock .rf-addon__label { display:block; font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#8a6a2f; }
.rf-page-unlock .rf-addon__text b { display:block; margin-top:3px; font-size:14.5px; font-weight:600; line-height:1.35; color:#28132e; }
.rf-page-unlock .rf-addon__text small { display:block; margin-top:3px; font-size:12.5px; line-height:1.45; color:#6c576b; }
.rf-page-unlock .rf-addon__price { font-size:16px; font-weight:600; color:#402047; white-space:nowrap; }
@keyframes rf-addon-in { from { opacity:0; transform:translateY(-4px); } }

/* The two reassurances that matter at the moment of paying. */
.rf-page-unlock .rf-guarantees { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 10px; margin:14px 0 0; font-size:14.5px; font-weight:600; color:#402047; }
.rf-page-unlock .rf-guarantees > span { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.rf-page-unlock .rf-guarantees .rf-ico { flex:none; width:17px; height:17px; color:#22714a; }
.rf-page-unlock .rf-guarantees__sep { color:#b49ab0; }
.rf-page-unlock .rf-offer-reference { margin:10px 0 0; text-align:center; font-size:12.5px; color:#6c576b; }
.rf-page-unlock .rf-offer-reference s { color:#8b7a8a; text-decoration-thickness:1px; }
.rf-page-unlock .rf-offer-reference b { color:#a30a54; font-weight:600; }

@media (max-width:600px) {
  .rf-page-unlock .rf-from { margin-bottom:20px; }
  .rf-page-unlock .rf-offer-urgency { gap:9px 12px; padding:11px 14px 12px; }
  .rf-page-unlock .rf-offer-urgency__copy { gap:5px 8px; }
  .rf-page-unlock .rf-offer-urgency__copy strong { font-size:19px; }
  .rf-page-unlock .rf-offer-urgency__off { padding:2px 7px; font-size:12px; }
  .rf-page-unlock .rf-offer-urgency__countdown { display:grid; justify-items:end; gap:2px; padding-left:12px; }
  .rf-page-unlock .rf-offer-urgency__countdown > span { font-size:11px; }
  .rf-page-unlock .rf-offer-urgency__countdown .rf-offer-clock { font-size:20px; }
  .rf-page-unlock .rf-package-heading h2 { font-size:22px; }
  .rf-page-unlock .rf-tier__row { gap:11px; padding:15px 14px; }
  /* Title across the card, price beside the description, so names stay on one line. */
  .rf-page-unlock .rf-tier__row { grid-template-areas:"radio name name" "radio line price" "radio q q"; row-gap:4px; }
  .rf-page-unlock .rf-tier__text { display:contents; }
  .rf-page-unlock .rf-tier__radio { grid-area:radio; }
  .rf-page-unlock .rf-tier__text .rf-tier__name { grid-area:name; }
  .rf-page-unlock .rf-tier__line { grid-area:line; margin-top:0; align-self:center; }
  .rf-page-unlock .rf-tier__price { grid-area:price; }
  .rf-page-unlock .rf-tier__q { grid-area:q; margin-top:4px; }
  .rf-page-unlock .rf-addon { gap:11px; padding:13px 14px; }
  .rf-page-unlock .rf-addon__text b { font-size:14px; }
  .rf-page-unlock .rf-guarantees { flex-direction:column; gap:7px; font-size:14px; }
  .rf-page-unlock .rf-guarantees > .rf-guarantees__sep { display:none; }
  .rf-page-unlock .rf-tier--best .rf-tier__row { padding-top:21px; }
  .rf-page-unlock .rf-tier__text .rf-tier__name { font-size:14px; }
  .rf-page-unlock .rf-tier__q { font-size:11.5px; padding-inline:8px; }
  /* Struck price just above the promotional price. */
  .rf-page-unlock .rf-tier__price { flex-direction:column-reverse; align-items:flex-end; gap:1px; }
  .rf-page-unlock .rf-tier__price b { font-size:22px; }
  .rf-page-unlock .rf-tier__nudge { padding:9px 14px; font-size:13.5px; }
  .rf-page-unlock .rf-tier__includes { gap:7px 14px; padding:12px 14px 13px; }
  .rf-page-unlock .rf-tier__includes > span { font-size:12.5px; }
  .rf-page-unlock [data-rf-main-cta] { min-height:60px; font-size:15px; }
}
@media (max-width:380px) {
  .rf-page-unlock .rf-tier__row { gap:9px; padding-inline:12px; }
  .rf-page-unlock .rf-offer-urgency__copy strong { font-size:16px; }
  .rf-page-unlock .rf-offer-urgency__countdown .rf-offer-clock { font-size:18px; }
  .rf-page-unlock .rf-tier__text .rf-tier__name { font-size:13px; }
  .rf-page-unlock .rf-tier__q { font-size:11px; padding-inline:7px; }
  .rf-page-unlock .rf-tier__price b { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .rf-page-unlock :is(.rf-tier, .rf-tier__row, .rf-tier__radio, .rf-tier__name, .rf-tier__line, .rf-tier__q, .rf-tier__price b, .rf-tier__price s, .rf-tier__more, .rf-upsell__bar i, .rf-addon) { transition:none; animation:none; }
}

/* Checkout modal: priority answers, offered once after the CTA (10 s, then checkout without it). */
.rf-page-unlock .rf-upsell { display:grid; gap:6px; margin:4px 0 16px; padding:16px; border:1px solid #e3cc9f; border-radius:10px; background:linear-gradient(135deg,#fffaf0,#fcefd8); }
.rf-page-unlock .rf-upsell__label { font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#8a6a2f; }
.rf-page-unlock .rf-upsell__row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.rf-page-unlock .rf-upsell__row b { font-size:16px; font-weight:600; line-height:1.35; color:#28132e; }
.rf-page-unlock .rf-upsell__row strong { font-size:18px; font-weight:700; color:#402047; white-space:nowrap; }
.rf-page-unlock .rf-upsell small { font-size:13px; line-height:1.45; color:#6c576b; }
.rf-page-unlock .rf-upsell__no { display:block; width:100%; margin:8px 0 0; padding:12px; border:1px solid #d8c6d6; border-radius:8px; background:#fff; color:#402047; font:600 15px var(--rf-sans); cursor:pointer; }
.rf-page-unlock .rf-upsell__no:hover { border-color:#9a6f9c; }
.rf-page-unlock .rf-upsell__auto { display:grid; gap:6px; margin:14px 0 0; text-align:center; font-size:12px; color:#7a6479; visibility:hidden; }
.rf-page-unlock .is-counting .rf-upsell__auto { visibility:visible; }
.rf-page-unlock .rf-upsell__bar { display:block; height:3px; overflow:hidden; border-radius:2px; background:#eee3ec; }
.rf-page-unlock .rf-upsell__bar i { display:block; width:0; height:100%; background:#a3609b; }
.rf-page-unlock .is-counting .rf-upsell__bar i { animation:rf-upsell-clock 10s linear forwards; }
@keyframes rf-upsell-clock { to { width:100%; } }
.rf-page-unlock .rf-modal__remove { margin-left:6px; padding:0; border:0; background:none; color:#8b7a8a; font-size:12px; text-decoration:underline; cursor:pointer; }
