/* Success modal: video full-bleed background + overlay copy */

.reg-done .reg-secondary,
#regDoneClose{display:none!important}

/*
  Explicit phone-frame size (9:16). Avoid relying on aspect-ratio alone —
  on desktop Safari, empty absolute content collapsed the sheet and video
  fell back into normal flow under the text.
*/
.reg-sheet.reg-sheet--video{
  --rw:min(390px,92vw);
  --rh:min(88vh,calc(var(--rw) * 16 / 9));
  width:var(--rw)!important;
  max-width:var(--rw)!important;
  height:var(--rh)!important;
  max-height:var(--rh)!important;
  min-height:var(--rh)!important;
  aspect-ratio:auto;
  padding:0!important;
  overflow:hidden!important;
  background:#000!important;
  border:1px solid rgba(34,211,238,.55);
  box-shadow:0 0 48px rgba(34,211,238,.35),0 16px 50px rgba(0,0,0,.65);
}

.reg-sheet.reg-sheet--video .reg-close{
  visibility:hidden;
  pointer-events:none;
}

.reg-form.hide{display:none!important}
.reg-done{display:none}
.reg-done.on{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  margin:0!important;
  text-align:center;
  width:100%;
  height:100%;
  box-sizing:border-box;
}

.reg-done-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:#000;
  overflow:hidden;
}

.reg-done-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover;
  display:block;
  filter:blur(5px) brightness(.78) saturate(1.05);
  transform:scale(1.06);
  transform-origin:center;
  pointer-events:none;
  transition:filter .35s ease, transform .35s ease;
}

.reg-done-stage.is-playing .reg-done-video{
  filter:none;
  transform:none;
  pointer-events:auto;
}

.reg-done-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:2;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  padding:24px 18px calc(22px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  background:
    linear-gradient(180deg, rgba(5,8,15,.45) 0%, rgba(5,8,15,.22) 40%, rgba(5,8,15,.78) 100%);
  pointer-events:auto;
}

.reg-done-stage.is-playing .reg-done-overlay{
  display:none!important;
}

.reg-done-stage.is-playing::after{
  content:"Please watch until the end — do not close this page.";
  position:absolute;
  left:0;right:0;bottom:0;z-index:3;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(5,8,15,.88);
  border-top:1px solid rgba(34,211,238,.25);
  color:#94a3b8;font-size:11px;text-align:center;
  pointer-events:none;
}

.reg-done-overlay .ok{
  width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;
  font-size:26px;font-weight:900;color:#041016;
  background:linear-gradient(135deg,var(--cyan),#2dd4bf);
  box-shadow:0 0 28px rgba(34,211,238,.5);
  flex:0 0 auto;
}

.reg-done-overlay h3{
  font-size:clamp(18px,5.2vw,22px);font-weight:800;margin:0 0 10px;line-height:1.2;
  background:linear-gradient(90deg,var(--cyan),var(--magenta));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.reg-done-overlay p{
  font-size:13px;color:#e2e8f0;line-height:1.45;margin:0 0 8px;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}

.reg-done-overlay .reg-note{
  font-style:italic;color:#cbd5e1;margin-bottom:16px;
}

.reg-done-overlay .reg-submit.reg-video{
  width:100%;
  max-width:100%;
  margin:0;
  flex:0 0 auto;
}

.reg-blur-wrap,.reg-blur-veil{display:none!important}

#forceWatch{
  position:fixed;inset:0;z-index:10050;display:none;flex-direction:column;align-items:stretch;
  background:#02060e;width:100%;max-width:480px;left:50%;transform:translateX(-50%);
}
#forceWatch.on{display:flex}
#forceWatch video{
  flex:1;width:100%;height:100%;object-fit:contain;background:#000;outline:none;
}
#forceWatch .fw-bar{
  flex:0 0 auto;padding:10px 14px calc(12px + env(safe-area-inset-bottom));
  background:rgba(5,8,15,.95);border-top:1px solid rgba(34,211,238,.25);
  color:#94a3b8;font-size:12px;text-align:center;
}

#thanksScreen{
  position:fixed;inset:0;z-index:10060;display:none;align-items:center;justify-content:center;
  background:rgba(2,6,14,.94);padding:20px 16px;width:100%;max-width:480px;left:50%;
  transform:translateX(-50%);box-sizing:border-box;
}
#thanksScreen.on{display:flex}
#thanksScreen .thanks-card{
  width:100%;max-width:380px;border-radius:18px;padding:22px 18px 18px;text-align:center;
  background:rgba(10,16,28,.98);border:1px solid rgba(34,211,238,.55);
  box-shadow:0 0 40px rgba(34,211,238,.18);
}
#thanksScreen .ok{
  width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#22d3ee,#34d399);color:#041016;font-size:26px;font-weight:900;
}
#thanksScreen h3{
  font-size:20px;font-weight:800;margin:0 0 10px;
  background:linear-gradient(90deg,#67e8f9,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent;
}
#thanksScreen p{color:#e2e8f0;font-size:14px;line-height:1.45;margin:0}

#preloadVideo{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px;bottom:0}
