/* ============================================================
   Vobrix opt-in — modal + inline CTA
   Self-contained. Does not depend on the .lk article styles.
   ============================================================ */

.lk-optin{
  --lk-deep:#101A22;
  --lk-leak:#C92A4F;
  --lk-gain:#0B6E5A;
  --lk-display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --lk-body:'Newsreader',Georgia,'Times New Roman',serif;
  --lk-data:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(11,17,21,.62);
  overscroll-behavior:contain;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  font-family:var(--lk-body);
}
.lk-optin *{box-sizing:border-box;}
.lk-optin.is-open{display:flex;animation:lkFade .28s ease both;}
@keyframes lkFade{from{opacity:0}to{opacity:1}}
@keyframes lkRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.lk-optin__panel{
  position:relative;
  width:100%;
  max-width:30.5rem;
  max-height:calc(100vh - 2.5rem);
  overflow-y:auto;
  background:var(--lk-deep);
  color:#E7ECEE;
  padding:2.5rem 2.25rem 2.25rem;
  animation:lkRise .34s cubic-bezier(.2,.7,.3,1) both;
  box-shadow:0 30px 70px rgba(0,0,0,.45);

  /* scrolling still works, the grey bar just isn't drawn */
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.lk-optin__panel::-webkit-scrollbar{display:none;}

.lk-optin__close{
  position:absolute;
  top:.85rem;
  right:.85rem;
  width:2.25rem;
  height:2.25rem;
  display:grid;
  place-items:center;
  background:none;
  border:0;
  color:#7E939C;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  border-radius:2px;
  transition:color .15s ease;
}
.lk-optin__close:hover{color:#fff;}
.lk-optin__close:focus-visible{outline:2px solid var(--lk-leak);outline-offset:2px;}

.lk-optin__tag{
  font-family:var(--lk-data);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#FF6B8A;
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0 0 1.25rem;
}
.lk-optin__tag::after{content:"";flex:1;height:1px;background:#2A3940;}

.lk-optin h3{
  font-family:var(--lk-display);
  font-weight:800;
  font-size:1.75rem;
  line-height:1.06;
  letter-spacing:-.03em;
  color:#fff;
  margin:0 0 .9rem;
  text-wrap:balance;
}
.lk-optin__sub{
  font-size:1.08rem;
  line-height:1.45;
  color:#A8BAC1;
  margin:0 0 1.5rem;
}
.lk-optin__gets{
  list-style:none;
  padding:0;
  margin:0 0 1.75rem;
  border-top:1px solid #2A3940;
}
.lk-optin__gets li{
  position:relative;
  padding:.7rem 0 .7rem 1.5rem;
  border-bottom:1px solid #2A3940;
  font-size:1.02rem;
  line-height:1.35;
  color:#D3DEE2;
  margin:0;
}
.lk-optin__gets li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.15em;
  width:6px;
  height:6px;
  background:var(--lk-leak);
}

.lk-optin__field{margin-bottom:.9rem;}
.lk-optin__field label{
  display:block;
  font-family:var(--lk-data);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8FA3AB;
  margin-bottom:.4rem;
}
.lk-optin__field input{
  width:100%;
  background:#1B262D;
  border:1px solid #2F3E46;
  color:#fff;
  font-family:var(--lk-body);
  font-size:1.05rem;
  padding:.85rem 1rem;
  border-radius:0;
  transition:border-color .15s ease;
  -webkit-appearance:none;
  appearance:none;
}
.lk-optin__field input::placeholder{color:#6C808A;}
.lk-optin__field input:focus{outline:0;border-color:var(--lk-leak);}
.lk-optin__field.has-error input{border-color:#FF6B8A;}
.lk-optin__err{
  display:none;
  font-family:var(--lk-data);
  font-size:.72rem;
  letter-spacing:.04em;
  color:#FF8FA6;
  margin-top:.4rem;
}
.lk-optin__field.has-error .lk-optin__err{display:block;}

/* honeypot — off screen, still fillable by dumb bots */
.lk-optin__hp{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.lk-optin__submit{
  width:100%;
  margin-top:1.3rem;
  background:var(--lk-leak);
  color:#fff;
  border:0;
  cursor:pointer;
  font-family:var(--lk-data);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:1.15rem 1.5rem;
  transition:background .18s ease,transform .18s ease;
}
.lk-optin__submit:hover:not(:disabled){background:#E03A5F;transform:translateY(-2px);}
.lk-optin__submit:disabled{opacity:.6;cursor:progress;transform:none;}
.lk-optin__submit:focus-visible{outline:2px solid #fff;outline-offset:3px;}

.lk-optin__fine{
  font-family:var(--lk-data);
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7E939C;
  text-align:center;
  margin:1.1rem 0 0;
  line-height:1.7;
}
.lk-optin__no{
  display:block;
  width:100%;
  background:none;
  border:0;
  cursor:pointer;
  font-family:var(--lk-body);
  font-size:.95rem;
  color:#7E939C;
  text-decoration:underline;
  text-underline-offset:3px;
  margin-top:1rem;
  padding:.4rem;
}
.lk-optin__no:hover{color:#B9C8CE;}

/* success state */
.lk-optin__done{display:none;text-align:center;padding:.5rem 0;}
.lk-optin.is-done .lk-optin__form{display:none;}
.lk-optin.is-done .lk-optin__done{display:block;animation:lkRise .3s ease both;}
.lk-optin__check{
  width:3rem;
  height:3rem;
  margin:0 auto 1.25rem;
  display:grid;
  place-items:center;
  border:1px solid var(--lk-gain);
  color:#3FD9AE;
  font-size:1.4rem;
}
.lk-optin__done h3{font-size:1.5rem;}
.lk-optin strong{color:#fff;font-weight:600;}
.lk-optin__dl{
  display:inline-block;
  margin-top:1.4rem;
  background:var(--lk-leak);
  color:#fff;
  text-decoration:none;
  font-family:var(--lk-data);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:1.1rem 1.8rem;
  transition:background .18s ease;
}
.lk-optin__dl:hover{background:#E03A5F;color:#fff;}
.lk-optin__dl:focus-visible{outline:2px solid #fff;outline-offset:3px;}

@media(max-width:560px){
  .lk-optin{padding:0;align-items:flex-end;}
  .lk-optin__panel{max-width:none;max-height:92vh;padding:2.25rem 1.5rem 2rem;}
  .lk-optin h3{font-size:1.5rem;}
  .lk-optin__gets li{font-size:.98rem;}
}
@media(prefers-reduced-motion:reduce){
  .lk-optin,.lk-optin__panel,.lk-optin__done{animation:none !important;}
  .lk-optin__submit:hover:not(:disabled),.lk-optin__dl:hover{transform:none;}
}

/* ============================================================
   Inline CTA — the [optin_cta] shortcode
   ============================================================ */

.lk-inline-optin{
  --lk-deep:#101A22;
  --lk-leak:#C92A4F;
  --lk-gain:#0B6E5A;
  --lk-ink:#111619;
  --lk-muted:#5D6B72;
  --lk-rule:#D6DCDE;
  --lk-display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --lk-body:'Newsreader',Georgia,'Times New Roman',serif;
  --lk-data:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  margin:2.5rem 0;
  padding:1.45rem 1.55rem;
  background:#FFFFFF;
  border:1px solid var(--lk-rule);
  border-left:3px solid var(--lk-gain);
  font-family:var(--lk-body);
}
.lk-inline-optin *{box-sizing:border-box;}
.lk-inline-optin__eyebrow{
  display:block;
  font-family:var(--lk-data);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lk-gain);
  margin-bottom:.55rem;
}
.lk-inline-optin__title{
  font-family:var(--lk-display);
  font-weight:700;
  font-size:clamp(1.28rem,3vw,1.65rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--lk-ink);
  margin:0 0 .65rem;
}
.lk-inline-optin__copy{
  font-size:1.08rem;
  line-height:1.5;
  color:var(--lk-muted);
  margin:0;
}
.lk-inline-optin__btn{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.1rem;
  font-family:var(--lk-data);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--lk-gain);
  border-bottom:1px solid currentColor;
  padding-bottom:.15rem;
}
.lk-inline-optin__btn:hover{color:var(--lk-ink);}
.lk-inline-optin__btn:focus-visible{outline:2px solid var(--lk-gain);outline-offset:4px;}

.lk-inline-optin.is-strong{
  background:var(--lk-deep);
  border-color:var(--lk-deep);
  border-left-color:var(--lk-leak);
  padding:1.8rem 1.65rem;
}
.lk-inline-optin.is-strong .lk-inline-optin__eyebrow{color:#FF6B8A;}
.lk-inline-optin.is-strong .lk-inline-optin__title{color:#fff;}
.lk-inline-optin.is-strong .lk-inline-optin__copy{color:#A8BAC1;}
.lk-inline-optin.is-strong .lk-inline-optin__btn{
  border:0;
  background:var(--lk-leak);
  color:#fff;
  padding:.9rem 1.15rem;
}
.lk-inline-optin.is-strong .lk-inline-optin__btn:hover{background:#E03A5F;color:#fff;}
.lk-inline-optin.is-strong .lk-inline-optin__btn:focus-visible{outline-color:#fff;}

.lk-inline-optin.is-compact{border-left-color:var(--lk-leak);}
.lk-inline-optin.is-compact .lk-inline-optin__eyebrow{color:var(--lk-leak);}
