:root{
  --np-demo-bg:#06142d;
  --np-demo-bg-deep:#031027;
  --np-demo-panel:#071831;
  --np-demo-input:#06142c;
  --np-demo-line:#28405f;
  --np-demo-text:#f7f9ff;
  --np-demo-muted:#9aabc4;
  --np-demo-blue:#68adff;
  --np-demo-blue-strong:#3387ff;
}

html.np-demo-modal-open,
body.np-demo-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none;
}

#npBookDemoModal[hidden]{display:none!important}

#npBookDemoModal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.np-book-demo-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,8,22,.82);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.np-book-demo-dialog{
  position:relative;
  z-index:1;
  width:min(1120px,calc(100vw - 48px));
  height:min(680px,calc(100dvh - 48px));
  min-height:610px;
  display:grid;
  grid-template-columns:minmax(300px,35%) minmax(0,65%);
  overflow:hidden;
  color:var(--np-demo-text);
  background:linear-gradient(120deg,#0b2855 0%,#06162f 39%,#06142d 100%);
  border:1px solid rgba(102,154,223,.24);
  border-radius:20px;
  box-shadow:0 34px 100px rgba(0,0,0,.56);
  animation:npDemoEnter .22s ease-out both;
}

@keyframes npDemoEnter{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.np-book-demo-intro{
  position:relative;
  min-width:0;
  padding:34px 32px 26px;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 18% 10%,rgba(47,128,255,.18),transparent 40%),
    linear-gradient(150deg,#11386f 0%,#082550 48%,#06182f 100%);
  border-right:1px solid rgba(105,156,220,.18);
  overflow:hidden;
}

.np-book-demo-intro:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(118,168,232,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(118,168,232,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}

.np-book-demo-kicker{
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border:1px solid rgba(78,151,249,.62);
  border-radius:999px;
  color:#b8d7ff;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.07em;
}

.np-book-demo-kicker i{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#67b8ff;
  box-shadow:0 0 14px rgba(103,184,255,.76);
}

.np-book-demo-intro h2{
  position:relative;
  z-index:1;
  margin:22px 0 16px;
  color:#fff;
  font-size:clamp(34px,3.35vw,51px);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:800;
}

.np-book-demo-intro h2 span{color:#72b1ff}

.np-book-demo-intro>p{
  position:relative;
  z-index:1;
  max-width:320px;
  margin:0 0 24px;
  color:#c0cee0;
  font-size:14px;
  line-height:1.72;
}

.np-book-demo-points{
  position:relative;
  z-index:1;
  display:grid;
  gap:13px;
  margin:0;
  padding:0;
  list-style:none;
}

.np-book-demo-points li{
  display:grid;
  grid-template-columns:23px 1fr;
  gap:10px;
  align-items:start;
  color:#eef5ff;
  font-size:13px;
  line-height:1.4;
  font-weight:600;
}

.np-book-demo-points li:before{
  content:"✓";
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  margin-top:-1px;
  border:1px solid rgba(77,162,255,.65);
  border-radius:7px;
  background:rgba(34,128,255,.12);
  color:#75c2ff;
  font-size:13px;
  font-weight:900;
}

.np-book-demo-privacy{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:19px;
  border-top:1px solid rgba(135,170,218,.18);
  color:#8498b4;
  font-size:11px;
  line-height:1.65;
}

.np-book-demo-form-wrap{
  min-width:0;
  padding:24px 34px 24px 44px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#29476d transparent;
  background:linear-gradient(135deg,rgba(5,20,45,.98),rgba(6,18,40,.98));
}

.np-book-demo-form-wrap::-webkit-scrollbar{width:7px}
.np-book-demo-form-wrap::-webkit-scrollbar-thumb{background:#29476d;border-radius:9px}

.np-book-demo-close{
  position:absolute;
  top:15px;
  right:16px;
  z-index:4;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(156,181,216,.28);
  border-radius:50%;
  background:rgba(4,17,38,.74);
  color:#f1f6ff;
  font:inherit;
  font-size:29px;
  line-height:1;
  cursor:pointer;
  transition:background .18s,border-color .18s,transform .18s;
}

.np-book-demo-close span{display:block;transform:translateY(-1px)}
.np-book-demo-close:hover{background:#102849;border-color:#567aa9;transform:rotate(4deg)}
.np-book-demo-close:focus-visible{outline:3px solid rgba(67,145,255,.32);outline-offset:3px}

.np-book-demo-form-head{
  padding-right:52px;
  margin-bottom:18px;
}

.np-book-demo-form-head h3{
  margin:0 0 6px;
  color:#fff;
  font-size:clamp(27px,3vw,36px);
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:800;
}

.np-book-demo-form-head p{
  max-width:620px;
  margin:0;
  color:var(--np-demo-muted);
  font-size:13px;
  line-height:1.55;
}

.np-book-demo-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 16px;
}

.np-book-demo-field{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.np-book-demo-field.np-full,
.np-book-demo-human.np-full{grid-column:1/-1}

.np-book-demo-field label{
  color:#dbe6f5;
  font-size:11.5px;
  line-height:1.2;
  font-weight:800;
}

.np-book-demo-field label span,
.np-book-demo-human b{color:#63b4ff}

.np-book-demo-field input,
.np-book-demo-field select,
.np-book-demo-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid var(--np-demo-line);
  border-radius:12px;
  outline:none;
  background:var(--np-demo-input);
  color:#f4f8ff;
  font:inherit;
  font-size:13.5px;
  transition:border-color .18s,box-shadow .18s,background .18s;
}

.np-book-demo-field input,
.np-book-demo-field select{
  height:46px;
  padding:0 14px;
}

.np-book-demo-field select{
  appearance:auto;
  color:#dce7f7;
}

.np-book-demo-field select option{
  color:#0d1c33;
  background:#fff;
}

.np-book-demo-field textarea{
  min-height:82px;
  max-height:150px;
  padding:12px 14px;
  resize:vertical;
  line-height:1.45;
}

.np-book-demo-field input::placeholder,
.np-book-demo-field textarea::placeholder{color:#687c99;opacity:1}

.np-book-demo-field input:focus,
.np-book-demo-field select:focus,
.np-book-demo-field textarea:focus{
  border-color:#3b8ff5;
  box-shadow:0 0 0 3px rgba(49,132,245,.13);
  background:#071933;
}

.np-book-demo-human{
  min-width:0;
  margin-top:2px;
}

.np-book-demo-human>label{
  position:relative;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  box-sizing:border-box;
  padding:9px 13px;
  border:1px solid var(--np-demo-line);
  border-radius:12px;
  background:rgba(6,20,44,.82);
  color:#edf4ff;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  cursor:pointer;
  user-select:none;
}

.np-book-demo-human input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.np-book-demo-checkmark{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  border:1px solid #7990ad;
  border-radius:3px;
  background:#fff;
}

.np-book-demo-human input:checked+.np-book-demo-checkmark{
  border-color:#338aff;
  background:#338aff;
}

.np-book-demo-human input:checked+.np-book-demo-checkmark:after{
  content:"✓";
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:900;
}

.np-book-demo-human input:focus-visible+.np-book-demo-checkmark{
  outline:3px solid rgba(67,145,255,.3);
  outline-offset:2px;
}

.np-book-demo-submit{
  width:100%;
  min-height:48px;
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:12px;
  background:linear-gradient(100deg,#2e82f7 0%,#356fff 47%,#665ef6 100%);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 13px 28px rgba(42,91,218,.22);
  transition:transform .18s,filter .18s,box-shadow .18s;
}

.np-book-demo-submit:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
  box-shadow:0 16px 34px rgba(42,91,218,.3);
}

.np-book-demo-submit:focus-visible{outline:3px solid rgba(105,169,255,.35);outline-offset:3px}
.np-book-demo-submit:disabled{opacity:.68;cursor:not-allowed;transform:none;filter:none}

.np-book-demo-spinner{
  display:none;
  width:15px;
  height:15px;
  box-sizing:border-box;
  border:2px solid rgba(255,255,255,.42);
  border-top-color:#fff;
  border-radius:50%;
  animation:npDemoSpin .75s linear infinite;
}

.np-book-demo-submit[aria-busy="true"] .np-book-demo-spinner{display:block}
@keyframes npDemoSpin{to{transform:rotate(360deg)}}

.np-book-demo-status{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  font-size:12px;
  line-height:1.45;
}

.np-book-demo-status.is-error{
  display:block;
  border:1px solid rgba(255,105,105,.35);
  background:rgba(130,25,34,.2);
  color:#ffb6bc;
}

.np-book-demo-status.is-success{
  display:block;
  border:1px solid rgba(76,218,150,.32);
  background:rgba(22,112,74,.2);
  color:#a8f2cf;
}

.np-book-demo-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media(max-width:1020px){
  .np-book-demo-dialog{grid-template-columns:minmax(275px,37%) minmax(0,63%)}
  .np-book-demo-intro{padding:30px 26px 24px}
  .np-book-demo-form-wrap{padding:24px 28px 24px 32px}
  .np-book-demo-intro h2{font-size:38px}
}

@media(max-width:820px){
  #npBookDemoModal{padding:0;align-items:stretch}
  .np-book-demo-dialog{
    width:100%;
    height:100dvh;
    min-height:0;
    max-height:none;
    display:block;
    overflow-y:auto;
    border:0;
    border-radius:0;
  }
  .np-book-demo-intro{
    min-height:auto;
    padding:25px 20px 22px;
    border-right:0;
    border-bottom:1px solid rgba(105,156,220,.18);
  }
  .np-book-demo-kicker{padding:7px 11px;font-size:10px}
  .np-book-demo-intro h2{margin:17px 0 10px;padding-right:45px;font-size:31px;line-height:1.1}
  .np-book-demo-intro>p{max-width:560px;margin-bottom:0;font-size:13px;line-height:1.55}
  .np-book-demo-points,.np-book-demo-privacy{display:none}
  .np-book-demo-form-wrap{overflow:visible;padding:22px 20px 28px}
  .np-book-demo-close{position:fixed;top:12px;right:12px;width:40px;height:40px;background:rgba(4,17,38,.9)}
  .np-book-demo-form-head{padding-right:0;margin-bottom:17px}
  .np-book-demo-form-head h3{font-size:27px}
  .np-book-demo-form-head p{font-size:12.5px}
}

@media(max-width:580px){
  .np-book-demo-grid{grid-template-columns:1fr;gap:12px}
  .np-book-demo-field.np-full,
  .np-book-demo-human.np-full{grid-column:auto}
  .np-book-demo-field input,
  .np-book-demo-field select,
  .np-book-demo-field textarea{font-size:16px}
  .np-book-demo-field input,
  .np-book-demo-field select{height:48px}
  .np-book-demo-field textarea{min-height:96px}
  .np-book-demo-submit{min-height:50px;font-size:14px}
}

@media(max-width:380px){
  .np-book-demo-intro{padding-left:16px;padding-right:16px}
  .np-book-demo-form-wrap{padding-left:16px;padding-right:16px}
  .np-book-demo-intro h2{font-size:28px}
}
