/* RJS CBD V27 FINAL: scratch-card acquisition + production subscription journey */
.scratch-signup{padding:clamp(2.5rem,5vw,4.5rem) 0;background:linear-gradient(180deg,#0b0e0f 0%,#121719 100%);color:#f7f2df}
.scratch-signup__container{max-width:900px}
.scratch-signup__heading{text-align:center;max-width:720px;margin:0 auto 1.5rem}
.scratch-signup__heading h2{margin:.35rem 0 0;color:#fff4c6;font-size:clamp(1.8rem,4vw,3rem)}
.scratch-card{position:relative;min-height:410px;border-radius:30px;overflow:hidden;border:1px solid rgba(213,175,77,.4);background:#faf5e7;box-shadow:0 24px 62px rgba(0,0,0,.36);isolation:isolate}
.scratch-card__underlay{position:absolute;inset:0;z-index:1;padding:clamp(1.25rem,4vw,2.25rem);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,rgba(213,175,77,.16),transparent 45%),#fbf6ea;color:#17140e}
.scratch-card__reveal{width:min(100%,650px);text-align:center}
.scratch-card__reveal h3{font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.12;margin:.55rem auto 1.1rem;max-width:560px;color:#17130c}
.scratch-card__badge{display:inline-flex;padding:.38rem .85rem;border-radius:999px;background:#15120b;color:#f2d77e;border:1px solid rgba(183,139,47,.5);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.scratch-card__canvas{position:absolute;inset:0;z-index:3;width:100%;height:100%;touch-action:none;cursor:crosshair;background:none!important;outline:none}
.scratch-card__canvas:focus-visible{box-shadow:inset 0 0 0 4px rgba(255,244,198,.85)}
.scratch-card__overlay-copy{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;padding:1.5rem;color:#18130b;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.34)}
.scratch-card__overlay-copy strong{max-width:620px;font-size:clamp(1.65rem,4vw,2.75rem);line-height:1.05;letter-spacing:.015em}
.scratch-card__overlay-copy span{font-weight:750;font-size:1rem}
.scratch-card.is-complete .scratch-card__canvas,.scratch-card.is-complete .scratch-card__overlay-copy{display:none}
.scratch-form{display:grid;gap:.85rem;margin-top:.3rem}
.scratch-form__input-row{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:stretch}
.scratch-form input[type="email"]{width:100%;min-width:0;border:1px solid rgba(31,31,31,.16);border-radius:14px;padding:.95rem 1rem;font:inherit;background:#fff;color:#141414}
.scratch-form__input-row .button{white-space:nowrap}
.scratch-status,.subscription-status,.manage-status{font-size:.94rem;min-height:1.2em;margin:.1rem 0 0}

.purchase-mode-switch{margin-top:1rem;border-radius:18px;border:1px solid rgba(183,139,47,.3);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(183,139,47,.08)}
.purchase-mode-switch small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:#75613a}
.purchase-mode-switch strong{display:block;margin-top:.15rem;font-size:1.02rem;color:#211b0f}
.purchase-mode-switch--hero{max-width:760px;margin-top:1.3rem;background:rgba(5,7,8,.66);border-color:rgba(229,196,100,.38);backdrop-filter:blur(7px);color:#fff}
.purchase-mode-switch--hero .purchase-mode-switch__price strong{font-size:1.65rem;color:#fff1bb}
.purchase-mode-switch--hero small{color:#e4d8b9}
.purchase-mode-switch__actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.purchase-mode-switch--hero .button--outline{color:#fff;border-color:rgba(255,244,198,.72)}
.purchase-mode-switch--hero .button--outline:hover{color:#12100a;background:#f0d77d}

#subscription-options{scroll-margin-top:110px}
.subscription-journey{padding:clamp(2.75rem,5vw,5rem) 0;background:#0c1011}
.subscription-journey.subscription-journey--soft{background:#f8f1e3}
.subscription-journey__panel{display:grid;grid-template-columns:.82fr 1.18fr;gap:1.4rem;background:#101516;color:#f3ecd4;border-radius:30px;padding:clamp(1.35rem,3vw,2.2rem);box-shadow:0 24px 52px rgba(0,0,0,.22);border:1px solid rgba(213,175,77,.22)}
.subscription-journey__intro{padding:.45rem .35rem}
.subscription-journey__intro h2{margin:.25rem 0 .75rem;color:#fff4c6;font-size:clamp(1.8rem,3vw,2.65rem)}
.subscription-journey__lead{color:#e6dcc1;max-width:46rem}
.subscription-bullets{display:grid;gap:.65rem;margin:1.1rem 0 1.1rem;padding:0;list-style:none;color:#e6dcc1}
.subscription-bullets li{display:flex;gap:.65rem;align-items:flex-start}
.subscription-bullets li::before{content:"✓";color:#d5af4d;font-weight:800;margin-top:.03rem}
.subscription-back-link{display:inline-block;margin-top:.5rem;color:#f2d77e;text-decoration:none;font-weight:700}
.subscription-back-link:hover{text-decoration:underline}
.subscription-form-wrap{background:#fff8eb;color:#171413;border-radius:24px;padding:clamp(1.05rem,2.5vw,1.45rem);border:1px solid rgba(183,139,47,.28)}
.subscription-form-wrap h3{margin:.15rem 0 .85rem;color:#17110b}
.subscription-form-wrap p{color:#514a3b}
.subscription-form{display:grid;gap:.85rem;margin-top:.9rem}
.subscription-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.subscription-form input[type="text"],.subscription-form input[type="email"],.subscription-form input[type="tel"],.subscription-form input[type="password"],.subscription-form select{width:100%;border:1px solid rgba(31,31,31,.16);border-radius:14px;padding:.95rem 1rem;font:inherit;background:#fff;color:#141414}
.subscription-form button{justify-self:start}
.subscription-price-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border-radius:18px;background:#120f08;color:#f7e7b1}
.subscription-price-card strong{display:block;font-size:1.5rem;line-height:1.08}
.subscription-price-card small{display:block;color:#d9c69d}
.subscription-disclosure{font-size:.85rem;color:#6a6049!important;line-height:1.45}

.subscription-success,.subscription-manage{padding:clamp(2.6rem,5vw,5rem) 0;background:linear-gradient(180deg,#0a0d0e 0%,#13181a 100%);color:#f5ecd3;min-height:70vh}
.subscription-success__panel,.subscription-manage__panel{background:rgba(255,255,255,.04);border:1px solid rgba(213,175,77,.22);border-radius:30px;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.subscription-success__panel h1,.subscription-manage__panel h1{color:#fff4c6;margin-top:.25rem}
.subscription-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}
.subscription-summary__card{background:rgba(255,255,255,.04);border-radius:20px;padding:1rem;border:1px solid rgba(213,175,77,.15)}
.subscription-summary__card small{display:block;color:#d8cba7;margin-bottom:.35rem}
.subscription-summary__card strong{font-size:1.08rem;color:#fff7d8;overflow-wrap:anywhere}
.subscription-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.subscription-manage__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.2rem}
.subscription-manage__control{background:#fff8eb;color:#171413;border-radius:22px;padding:1rem;border:1px solid rgba(183,139,47,.25)}
.subscription-manage__control h3{margin:.1rem 0 .55rem;color:#17110b}
.subscription-manage__control p{color:#544a36;font-size:.95rem}
.subscription-manage__control button{margin-top:.55rem}
.manage-status.is-success,.scratch-status.is-success,.subscription-status.is-success{color:#2f7b40}
.manage-status.is-error,.scratch-status.is-error,.subscription-status.is-error{color:#b24f32}
.manage-status.is-neutral,.scratch-status.is-neutral,.subscription-status.is-neutral{color:#5b5031}

@media (max-width:960px){
  .subscription-journey__panel{grid-template-columns:1fr}
  .purchase-mode-switch--hero{align-items:flex-start;flex-direction:column}
  .purchase-mode-switch__actions{justify-content:flex-start}
}
@media (max-width:700px){
  .scratch-card{min-height:455px;border-radius:24px}
  .scratch-form__input-row{grid-template-columns:1fr}
  .scratch-form__input-row .button{width:100%}
  .purchase-mode-switch{align-items:flex-start;flex-direction:column}
  .purchase-mode-switch .button{width:100%;text-align:center}
  .purchase-mode-switch__actions{width:100%;display:grid;grid-template-columns:1fr}
  .subscription-form__row,.subscription-summary,.subscription-manage__controls{grid-template-columns:1fr}
  .subscription-price-card{align-items:flex-start;flex-direction:column}
  .subscription-journey__panel,.subscription-success__panel,.subscription-manage__panel{border-radius:24px}
}

/* V27 fixed subscription-management entry point */
.subscription-access-card{margin-top:1.5rem;background:#fff8eb;color:#171413;border:1px solid rgba(183,139,47,.28);border-radius:24px;padding:clamp(1.1rem,2.5vw,1.6rem);max-width:760px}
.subscription-access-card h2{margin:.1rem 0 .55rem;color:#17110b}
.subscription-access-card p{color:#544a36}
.subscription-access-form{display:grid;gap:.85rem;margin-top:1rem}
.subscription-access-form label{font-weight:700;color:#2b2418}
.subscription-access-form input{width:100%;border:1px solid rgba(31,31,31,.18);border-radius:14px;padding:.95rem 1rem;font:inherit;background:#fff;color:#141414;box-sizing:border-box}
.subscription-access-form .button{justify-self:start}
.subscription-dashboard-heading{display:flex;gap:1rem;justify-content:space-between;align-items:end;margin:1.65rem 0 1rem}
.subscription-dashboard-heading h2{margin:.2rem 0 0;color:#fff4c6}
.subscription-list{display:grid;gap:1rem}
.subscription-account-card{background:#fff8eb;color:#171413;border:1px solid rgba(183,139,47,.28);border-radius:24px;padding:1.2rem}
.subscription-account-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.subscription-account-card__head h3{margin:.2rem 0 0;color:#17110b}
.subscription-status-pill{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:#17130b;color:#f6df9c;font-size:.78rem;font-weight:800;letter-spacing:.05em}
.subscription-account-card__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.subscription-account-card__facts>div{background:#fff;border:1px solid rgba(31,31,31,.08);border-radius:15px;padding:.8rem}
.subscription-account-card__facts small{display:block;color:#776b55;margin-bottom:.3rem}
.subscription-account-card__facts strong{color:#241d12;overflow-wrap:anywhere}
.subscription-account-card__actions{display:flex;flex-wrap:wrap;gap:.65rem}
.subscription-account-card__actions button:disabled{opacity:.42;cursor:not-allowed}
.subscription-card-status{min-height:1.2em;margin:.8rem 0 0;font-size:.92rem;color:#655b48}
.subscription-card-status.is-success{color:#2f7b40}
.subscription-card-status.is-error{color:#b24f32}
.subscription-security-note{margin-top:1rem;color:#cdbf9d;font-size:.88rem}
@media (max-width:850px){.subscription-account-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-dashboard-heading{align-items:flex-start;flex-direction:column}}
@media (max-width:560px){.subscription-account-card__facts{grid-template-columns:1fr}.subscription-account-card__head{flex-direction:column}.subscription-account-card__actions{display:grid;grid-template-columns:1fr}.subscription-account-card__actions .button{width:100%}.subscription-access-form .button{width:100%}}

.subscription-management-password-row label{display:block;font-weight:700;color:#2b2418;margin-bottom:.35rem}.subscription-management-password-row small{display:block;color:#6b614c;margin-top:.4rem;line-height:1.4}

/* V27 final bugfix: scratch copy is rendered into the canvas itself so it scratches away. */
.scratch-card__overlay-copy{display:none!important}

/* Standard show/hide password control for subscription signup and management. */
.password-field{position:relative;width:100%}
.password-field input{width:100%;padding-right:3.25rem!important}
.password-toggle{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:2.35rem;height:2.35rem;border:0;border-radius:10px;background:transparent;color:#5a4a2c;display:grid;place-items:center;cursor:pointer;padding:.4rem}
.password-toggle:hover,.password-toggle:focus-visible{background:rgba(183,139,47,.12);color:#18130b;outline:2px solid rgba(183,139,47,.4);outline-offset:1px}
.password-toggle svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.subscription-access-form .password-field input{margin:0}
