/* ============================================================================
   WAITLIST — pre-launch email capture: 10%-off popup + cart "join waitlist"
   ============================================================================ */
.wl{ position:fixed; inset:0; z-index:130; display:none; }
.wl.open{ display:block; }
.wl__scrim{ position:absolute; inset:0; background:rgba(10,10,10,.6); backdrop-filter:blur(3px); opacity:0; transition:opacity .4s var(--ease); }
.wl.open .wl__scrim{ opacity:1; }
.wl__card{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-44%); opacity:0;
  width:min(450px,92vw); background:var(--bg); border:1px solid var(--ink);
  padding:clamp(28px,5vw,46px); overflow:hidden;
  transition:transform .45s var(--ease), opacity .45s var(--ease);
}
.wl.open .wl__card{ transform:translate(-50%,-50%); opacity:1; }
.wl__card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--red); }
.wl__close{ position:absolute; top:14px; right:16px; font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--ink-soft); }
.wl__close:hover{ color:var(--red); }
.wl__kick{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--red); }
.wl__h{ font-weight:700; letter-spacing:-.03em; line-height:.92; text-transform:uppercase; font-size:clamp(30px,6vw,46px); margin:12px 0 12px; }
.wl__h .red{ color:var(--red); }
.wl__p{ color:var(--ink-soft); font-size:14px; line-height:1.55; margin-bottom:20px; }
.wl__form{ display:flex; flex-direction:column; gap:10px; }
.wl__form input{ border:1px solid var(--line-2); border-radius:8px; padding:14px 15px; font:inherit; font-size:15px; outline:none; transition:border-color .2s var(--ease); }
.wl__form input:focus{ border-color:var(--ink); }
.wl__form input.err{ border-color:var(--red); }
.wl__form .btn{ justify-content:center; }
.wl__note{ font-family:var(--mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); margin-top:14px; text-align:center; }
.wl__items{ font-family:var(--mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); margin:-6px 0 16px; }
/* success state */
.wl__ok{ display:none; text-align:center; }
.wl.done .wl__form, .wl.done .wl__p, .wl.done .wl__h, .wl.done .wl__items{ display:none; }
.wl.done .wl__ok{ display:block; }
.wl__ok .big{ font-weight:700; font-size:clamp(30px,6vw,46px); text-transform:uppercase; letter-spacing:-.02em; line-height:.95; }
.wl__ok .big .red{ color:var(--red); }
.wl__ok p{ color:var(--ink-soft); font-size:14px; line-height:1.5; margin-top:14px; }
.wl__ok .code{ display:inline-block; margin-top:18px; border:1px dashed var(--ink); padding:10px 18px; font-family:var(--mono); letter-spacing:.14em; font-size:14px; }
