/* NLBA branded registration skin — scoped to plugin; inherits WordPress site header/footer. */
.nlba-wrap{--nlba-purple:#4c347b;--nlba-orange:#f47721;--nlba-red:#ed1725;--nlba-ink:#171717;--nlba-line:#e5e2e7;max-width:1060px;margin:28px auto 65px;font-family:inherit;color:var(--nlba-ink);line-height:1.55}
.nlba-wrap .nlba-hero{background:linear-gradient(115deg,rgba(15,12,18,.94),rgba(21,14,20,.84)),linear-gradient(90deg,#4c347b,#f47721);color:#fff;border-radius:14px;overflow:hidden;padding:30px 34px;border-top:6px solid var(--nlba-orange)}
.nlba-wrap .nlba-kicker{color:#ff9b3f;font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.nlba-wrap .nlba-hero h2{font-size:clamp(26px,4vw,43px);color:#fff!important;margin:6px 0 8px;font-weight:800;line-height:1.1}
.nlba-wrap .nlba-hero p{color:#fff!important;margin:8px 0}
.nlba-wrap .nlba-gift{display:inline-block;background:#fff;color:#302047;border-radius:8px;padding:9px 13px;font-weight:800;margin-top:8px}
.nlba-wrap .nlba-stepnav{display:flex;gap:5px;margin:20px 0 4px;flex-wrap:wrap}
.nlba-wrap .nlba-stepnav span{flex:1;min-width:105px;border-top:4px solid #ed1725;background:#f7f5f8;text-align:center;padding:9px 4px;font-size:12px;font-weight:700}
.nlba-wrap section{background:#fff;border:1px solid var(--nlba-line);border-radius:12px;padding:26px;margin:16px 0;box-shadow:0 3px 16px #1717170b}
.nlba-wrap h3{margin:0 0 15px;color:#231b2b;font-size:22px;font-weight:800;border-left:5px solid var(--nlba-red);padding-left:12px}
.nlba-wrap label{display:block;font-weight:650;margin:12px 0}
.nlba-wrap input:not([type=checkbox]),.nlba-wrap select{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #bfb9c6;border-radius:6px;margin-top:6px;font:inherit;background:#fff;color:#151515}
.nlba-wrap input:focus,.nlba-wrap select:focus{outline:2px solid #714a9c;outline-offset:1px}
.nlba-wrap input[type=checkbox]{margin-right:8px;accent-color:#ed1725}
.nlba-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.nlba-wrap button{background:var(--nlba-red);color:white;border:0;border-radius:5px;padding:13px 20px;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.nlba-wrap button:hover{background:#b90f20}.nlba-wrap button:focus-visible{outline:3px solid var(--nlba-purple);outline-offset:3px}
.nlba-wrap fieldset{border:1px solid var(--nlba-line);border-radius:9px;padding:16px;margin:14px 0}.nlba-wrap legend{font-weight:800}
.nlba-checks{display:flex;flex-wrap:wrap;gap:8px 22px}
.nlba-note{background:#f5f0f8;border-left:4px solid var(--nlba-purple);padding:12px 15px;border-radius:4px;font-size:14px}
.nlba-policies label{font-weight:400;border-bottom:1px solid #e9e6eb;padding:8px 0}
.nlba-warning{background:#fff1e7;border-left:4px solid var(--nlba-orange);padding:14px}
.nlba-wrap table{width:100%;border-collapse:collapse}.nlba-wrap td{padding:10px;border-bottom:1px solid #e8e4eb}.nlba-wrap td:last-child{text-align:right}
.nlba-strong{font-weight:800;font-size:20px;background:#f8f5f9}.nlba-hp{position:absolute!important;left:-9999px!important}
#nlba-error{color:#a52121;font-weight:700;margin:10px 0}
.nlba-wrap .nlba-promo{border:1px solid #edd2b8;background:#fffaf5;padding:14px;border-radius:8px}
@media(max-width:650px){.nlba-grid{grid-template-columns:1fr}.nlba-wrap section{padding:17px}.nlba-wrap .nlba-hero{padding:22px}.nlba-wrap .nlba-stepnav span{min-width:85px}.nlba-wrap table{font-size:13px}}

/* Grade-first program selection */
.nlba-program-intro{margin:0 0 18px}
.nlba-program-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.nlba-wrap .nlba-program-card{display:flex;align-items:center;gap:12px;margin:0;padding:20px 16px;border:2px solid #e4dfe9;border-radius:12px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
.nlba-wrap .nlba-program-card:has(input:checked){border-color:#ed1725;background:#fff4f1;box-shadow:0 0 0 2px #ed17251c}
.nlba-program-card input{width:20px;height:20px;accent-color:#ed1725;flex-shrink:0}
.nlba-program-card strong{display:block;font-size:25px;color:#261a30;line-height:1.25}
.nlba-program-card small{display:block;font-size:13px;font-weight:500;line-height:1.5;margin-top:5px}
@media(max-width:650px){.nlba-program-options{grid-template-columns:1fr}}

/* v0.3.0: confirmation and referral sharing experience */
.nlba-success-wrap{max-width:900px;margin:38px auto 70px}
.nlba-success-hero{position:relative;overflow:hidden;text-align:center;padding:44px 30px 38px;border-radius:20px;background:linear-gradient(125deg,#121c32 0%,#32224e 58%,#5a2e62 100%);color:#fff;box-shadow:0 15px 45px rgba(19,24,48,.16)}
.nlba-success-hero:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#f47721,#ed1725,#a74bd4)}
.nlba-success-eyebrow{display:block;color:#ffbd86;font-size:12px;font-weight:800;letter-spacing:.16em}
.nlba-success-check{display:grid;place-items:center;width:62px;height:62px;margin:23px auto 14px;background:rgba(255,255,255,.13);border:2px solid #f47721;border-radius:50%;color:#fff;font-size:33px;font-weight:800}
.nlba-success-wrap .nlba-success-hero h2{color:#fff!important;font-size:clamp(29px,5vw,44px);font-weight:800;line-height:1.2;margin:0 0 12px}
.nlba-success-hero p{max-width:630px;margin:0 auto 25px;color:#f2eaf6;font-size:16px;line-height:1.7}
.nlba-success-invoice{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 22px;border-radius:10px;background:#f47721;color:#fff!important;font-weight:800;text-decoration:none!important;transition:background .2s,transform .2s}
.nlba-success-invoice:hover{background:#dd5e0b;transform:translateY(-2px)}
.nlba-share-card{margin:22px auto 0;padding:30px;border-radius:18px;background:#fff;border:1px solid #e8e4ef;box-shadow:0 9px 30px rgba(26,20,49,.08)}
.nlba-share-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}
.nlba-share-icon{flex-shrink:0;display:grid;place-items:center;width:47px;height:47px;border-radius:13px;background:#fff1e6;color:#d65b0c;font-size:27px;font-weight:800}
.nlba-success-wrap .nlba-share-heading h3{border:0;padding:0;margin:0 0 5px;color:#231b39;font-size:24px;line-height:1.25}
.nlba-share-heading p{margin:0;color:#55546a;font-size:15px}
.nlba-share-label{display:block;font-size:13px;font-weight:800;color:#29233c;margin:0 0 8px}
.nlba-share-controls{display:flex;gap:10px;align-items:stretch}
.nlba-success-wrap .nlba-share-controls input{flex:1;min-width:0;margin:0;padding:13px 14px;background:#f8f7fb;border:1px solid #d9d4e3;border-radius:9px;color:#312a48;font-size:14px}
.nlba-success-wrap .nlba-copy-referral{flex-shrink:0;border:0;border-radius:9px;background:#f47721;color:#fff;font-weight:800;text-transform:none;letter-spacing:0;padding:12px 19px;cursor:pointer}
.nlba-success-wrap .nlba-copy-referral:hover{background:#d85d10}
.nlba-copy-status{display:block;min-height:20px;margin-top:9px;color:#276e48;font-size:13px;font-weight:700}
@media(max-width:650px){.nlba-success-hero{padding:34px 19px}.nlba-share-card{padding:22px 17px}.nlba-share-controls{flex-direction:column}.nlba-success-wrap .nlba-copy-referral{width:100%}.nlba-success-invoice{font-size:14px}.nlba-share-heading{gap:11px}.nlba-success-wrap .nlba-share-heading h3{font-size:21px}}

/* v0.3.1: Keep confirmation and referral sharing visible together on desktop. */
@media (min-width: 850px) {
  .nlba-success-wrap:has(> .nlba-share-card) {
    max-width: 1240px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 22px;
  }
  .nlba-success-wrap > .nlba-success-hero,
  .nlba-success-wrap > .nlba-share-card { min-width: 0; height: 100%; box-sizing: border-box; }
  .nlba-success-wrap > .nlba-share-card { margin: 0; }
  .nlba-success-hero { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 38px 27px; }
  .nlba-success-wrap .nlba-success-hero h2 { font-size: clamp(27px, 3vw, 39px); }
  .nlba-success-invoice { max-width: 100%; text-align: center; }
  .nlba-share-card { display: flex; flex-direction: column; justify-content: center; padding: 32px 26px; }
  .nlba-share-controls { flex-direction: column; }
  .nlba-success-wrap .nlba-copy-referral { width: 100%; }
}
@media (min-width: 850px) and (max-width: 1050px) {
  .nlba-success-wrap:has(> .nlba-share-card) { gap: 15px; }
  .nlba-success-hero, .nlba-share-card { padding-left: 22px; padding-right: 22px; }
}
