/* ==================================================================
 * Register page — pricing cards over Paid Member Subscriptions' plan list.
 * Same palette as the course catalog (lc-front.css).
 * ================================================================== */
.lc-plans{
  --ink:#0a1b3d; --ink-soft:#4a5b7a; --ink-mute:#8391ab;
  --navy:#0b2a6f; --cobalt:#1452d4; --blue:#1f7ae0; --sky:#38b2f0;
  --ice:#eaf6fd; --ice-2:#d6ecfb; --line:#d3e3f3;
  --orange:#ff8a1f; --orange-soft:#fff1e3; --pink:#ff5c93;
  --display:'Bricolage Grotesque','Inter',system-ui,sans-serif;
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;
  /* Break out of a narrow theme text column so three plans fit side by side */
  width:min(1080px, calc(100vw - 32px)) !important; max-width:none !important;
  margin:8px 0 28px calc(50% - min(540px, 50vw - 16px)) !important;
  padding:0 !important; list-style:none !important;
  font-family:'Inter',system-ui,-apple-system,sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased;
}
.lc-plans *,.lc-plans *::before,.lc-plans *::after{box-sizing:border-box;}
.lc-plans > .lc-plans-extra{grid-column:1 / -1;}

/* ---------- group headings ---------- */
.lc-plans-heading{grid-column:1 / -1; margin:10px 0 -4px;}
.lc-plans-heading--member{order:0;}
.lc-plans-heading--credits{order:2; margin-top:22px;}
.lc-plans-heading h2{
  font-family:var(--display); font-size:24px; font-weight:700; letter-spacing:-.02em;
  color:var(--ink); margin:0 0 4px; line-height:1.15;
}
.lc-plans-heading p{margin:0; font-size:14.5px; color:var(--ink-soft);}
.lc-plans-heading--credits h2::after{
  content:""; display:inline-block; width:10px; height:10px; margin-left:10px; border-radius:3px;
  background:var(--orange); transform:rotate(45deg) translateY(-3px);
}

/* ---------- card ---------- */
.lc-plans .lc-plan{
  position:relative; display:flex !important; flex-direction:column; gap:0;
  margin:0 !important; padding:24px 22px 20px !important; list-style:none !important;
  background:#fff !important; border:1.5px solid var(--line) !important; border-radius:22px !important;
  box-shadow:0 1px 0 rgba(10,27,61,.04),0 18px 40px -28px rgba(11,42,111,.45);
  cursor:pointer; text-align:left;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .3s ease;
}
.lc-plans .lc-plan--member{order:1;}
.lc-plans .lc-plan--credits{order:3;}
.lc-plans .lc-plan:hover{transform:translateY(-4px); border-color:var(--ice-2) !important; box-shadow:0 1px 0 rgba(10,27,61,.04),0 26px 48px -26px rgba(11,42,111,.55);}
.lc-plans .lc-plan.is-selected{
  border-color:var(--cobalt) !important;
  box-shadow:0 0 0 4px rgba(20,82,212,.14),0 26px 48px -26px rgba(11,42,111,.55);
}
.lc-plans .lc-plan--credits.is-selected{border-color:var(--orange) !important; box-shadow:0 0 0 4px rgba(255,138,31,.18),0 26px 48px -26px rgba(11,42,111,.45);}
.lc-plans .lc-plan.is-best{background:linear-gradient(180deg,#f5f9ff 0%,#fff 38%) !important;}

.lc-plan-head{display:flex; flex-direction:column; gap:6px;}
.lc-plan-kicker{
  display:inline-flex; align-items:center; gap:8px;
  font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}
.lc-plan-kicker::before{content:""; width:9px; height:9px; border-radius:2px; transform:rotate(45deg); background:var(--cobalt);}
.lc-plan--credits .lc-plan-kicker::before{background:var(--orange);}
.lc-plan-badge{
  position:absolute; top:-13px; left:20px; z-index:3; box-shadow:0 6px 14px -6px rgba(255,138,31,.7);
  font-size:11.5px; font-weight:700; letter-spacing:.02em; color:#fff;
  background:var(--orange); padding:5px 11px; border-radius:999px;
}
.lc-plan-name{
  font-family:var(--display) !important; font-size:26px !important; font-weight:700 !important;
  letter-spacing:-.02em; line-height:1.1 !important; color:var(--ink) !important; margin:2px 0 0 !important;
}
.lc-plan-price{display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-top:10px;}
.lc-plan-price strong{
  font-family:var(--display); font-size:40px; font-weight:800; letter-spacing:-.03em; line-height:1;
  color:var(--navy); font-variant-numeric:tabular-nums;
}
.lc-plan--credits .lc-plan-price strong{color:var(--ink);}
.lc-plan-price span{font-size:14.5px; font-weight:600; color:var(--ink-soft);}
.lc-plan-unit{
  align-self:flex-start; margin-top:4px; font-size:12.5px; font-weight:700; color:var(--cobalt);
  background:var(--ice); padding:4px 10px; border-radius:999px; font-variant-numeric:tabular-nums;
}
.lc-plan--credits .lc-plan-unit{color:#b35300; background:var(--orange-soft);}

.lc-plan-perks{list-style:none !important; margin:18px 0 0 !important; padding:16px 0 0 !important; border-top:2px dashed var(--line); display:flex; flex-direction:column; gap:9px;}
.lc-plan-perks li{
  position:relative; margin:0 !important; padding:0 0 0 26px !important; list-style:none !important;
  font-size:14px; line-height:1.4; color:var(--ink);
}
.lc-plan-perks li::before{
  content:""; position:absolute; left:0; top:2px; width:17px; height:17px; border-radius:50%;
  background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231452d4' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat;
}
.lc-plan--credits .lc-plan-perks li::before{
  background-color:var(--orange-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e06d00' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
}

/* Trade-offs: quieter than the perks, grey minus instead of a check */
.lc-plan-cons{list-style:none !important; margin:12px 0 0 !important; padding:0 !important; display:flex; flex-direction:column; gap:7px;}
.lc-plan-cons li{
  position:relative; margin:0 !important; padding:0 0 0 26px !important; list-style:none !important;
  font-size:13.5px; line-height:1.4; color:var(--ink-soft);
}
.lc-plan-cons li::before{
  content:""; position:absolute; left:0; top:2px; width:17px; height:17px; border-radius:50%;
  background:#f1f3f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238391ab' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E") center/11px no-repeat;
}

/* PMS description, clamped */
.lc-plans .lc-plan-desc{margin:14px 0 0 !important; font-size:13px !important; line-height:1.5; color:var(--ink-soft) !important;}
.lc-plans .lc-plan-desc.is-clamped{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.lc-plan-more{
  position:relative; z-index:3; align-self:flex-start; margin-top:4px; padding:0; border:0; background:none;
  font:600 12.5px/1.4 'Inter',system-ui,sans-serif; color:var(--cobalt); cursor:pointer;
  text-decoration:underline; text-underline-offset:3px; box-shadow:none;
}

/* The PMS label (radio + its original name/price text) becomes an invisible
 * layer over the whole card: click anywhere to choose. The radio is redrawn
 * as a check circle in the top-right corner. */
.lc-plans .lc-plan-hit{
  position:absolute !important; inset:0; z-index:2; margin:0 !important; padding:0 !important;
  font-size:0 !important; color:transparent !important; cursor:pointer; border-radius:22px;
}
.lc-plans .lc-plan-hit *:not(input){font-size:0 !important; color:transparent !important;}
.lc-plans .lc-plan-radio{
  -webkit-appearance:none; appearance:none; position:absolute; top:20px; right:20px; margin:0 !important;
  z-index:3; width:26px; height:26px; border-radius:50%; border:2px solid var(--line); background:#fff; cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.lc-plans .lc-plan-radio:checked{
  border-color:var(--cobalt);
  background:var(--cobalt) 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='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat;
}
.lc-plan--credits .lc-plan-radio:checked{border-color:var(--orange); background-color:var(--orange);}
.lc-plans .lc-plan-radio:focus-visible{outline:3px solid var(--sky); outline-offset:2px;}
.lc-plans .lc-plan-kicker,.lc-plans .lc-plan-name{padding-right:34px;}

@media (prefers-reduced-motion:reduce){ .lc-plans .lc-plan{transition:none;} .lc-plans .lc-plan:hover{transform:none;} }
@media (max-width:760px){
  .lc-plans{grid-template-columns:minmax(0,1fr); gap:16px;}
  .lc-plan-name{font-size:23px !important;}
  .lc-plan-price strong{font-size:34px;}
}
