/* Novel Patterns form mapping + stable solution scheduler, 2026-07-27 v7 */

/* Widen only the CTA area on Home/CART/Genesis/MyConCall/HawkEye. */
html body .section-cta#demo > .container,
html body .section-cta#demo .container{
  width:calc(100% - 40px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
html body .section-cta#demo .cta-dual.np-single-message-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  align-items:start!important;
  gap:0!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
}
html body .section-cta#demo .cta-dual.np-single-message-layout>.np-single-message-card,
html body .section-cta#demo .cta-dual.np-single-message-layout>.cta-form-panel,
html body .section-cta#demo .cta-dual.np-single-message-layout>.cta-panel{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
html body .section-cta#demo .cta-dual.np-single-message-layout>.cta-divider,
html body .section-cta#demo .cta-dual.np-single-message-layout>.cta-schedule,
html body .section-cta#demo .cta-dual.np-single-message-layout>.cta-meeting{display:none!important}

/* Stable two-column field layout. The action row spans both columns. */
@media(min-width:761px){
  html body .section-cta#demo .np-single-message-card form.cta-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:20px!important;
    row-gap:13px!important;
    width:100%!important;
    min-width:0!important;
    align-items:start!important;
  }
  html body .section-cta#demo .np-single-message-card form.cta-form>.cform-row{display:contents!important}
}
html body .section-cta#demo .np-single-message-card form.cta-form>.cform-group{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
}
html body .section-cta#demo .np-single-message-card form.cta-form select{
  pointer-events:auto!important;
  opacity:1!important;
  cursor:pointer!important;
}
html body .section-cta#demo .np-single-message-card form.cta-form textarea{
  min-height:122px!important;
}

/* Checkbox and button always stay in one symmetric row. */
html body .section-cta#demo form.cta-form>.np-form-actions{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  min-width:0!important;
  margin:1px 0 0!important;
  align-items:stretch!important;
}
html body .section-cta#demo form.cta-form .np-form-actions>.np-recaptcha-shell,
html body .section-cta#demo form.cta-form .np-form-actions>.btn-submit{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}
html body .section-cta#demo form.cta-form .np-form-actions>.btn-submit{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 18px!important;
}

.np-recaptcha-shell{
  min-width:0;
  display:block;
  overflow:visible;
  box-sizing:border-box;
}
.np-human-confirm{
  min-height:48px;
  height:48px;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  padding:0 14px!important;
  border:1px solid #c7d5e7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#344054!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:border-color .16s,box-shadow .16s,background .16s;
  margin:0!important;
}
.np-human-confirm:hover{border-color:#9db7d8!important;background:#fbfdff!important}
.np-human-confirm:focus-within{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.14)!important}
.np-human-confirm input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
.np-human-checkbox{
  width:19px;
  height:19px;
  flex:0 0 19px;
  border:1.5px solid #98a7bb;
  border-radius:4px;
  background:#fff;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  transition:all .16s ease;
}
.np-human-confirm input:checked+.np-human-checkbox{border-color:#2563eb;background:#2563eb}
.np-human-confirm input:checked+.np-human-checkbox:after{
  content:"";
  width:8px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}
.np-human-label{
  color:#344054!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.np-recaptcha-shell.is-error .np-human-confirm{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}

html body .section-cta#demo form.cta-form>.np-recaptcha-disclosure{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  margin:0 2px!important;
  color:#7a8799!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.np-recaptcha-disclosure a{color:#526a8a!important;text-decoration:underline!important}
html body .section-cta#demo form.cta-form>.np-form-feedback{
  grid-column:1/-1!important;
  width:100%!important;
  min-height:18px!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1.4!important;
  text-align:left!important;
}
.np-form-feedback.is-error,.np-demo-feedback.is-error{color:#b42318}
.np-form-feedback.is-success,.np-demo-feedback.is-success{color:#087443}
.np-form-feedback.is-warning,.np-demo-feedback.is-warning{color:#9a6700}

/* v3 verification remains server-side. The in-form disclosure replaces the floating badge. */
.grecaptcha-badge{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important}

/* Solution-page scheduler retained. */
.np-solution-demo-section{padding:80px 20px;background:linear-gradient(180deg,#f7fbff,#eef5ff)}
.np-route-demo-form{
  width:100%;max-width:760px;margin:0 auto;padding:34px 38px;border:1px solid #d8e4f1;border-radius:24px;
  background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.08);color:#162033;box-sizing:border-box
}
.np-route-demo-head{display:flex;align-items:center;gap:15px;margin-bottom:10px}
.np-route-demo-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #bcd6ff;border-radius:13px;background:#eff6ff;flex:0 0 46px}
.np-route-demo-head h3{margin:0!important;color:#121a2b!important;font-size:24px!important;font-weight:800!important;line-height:1.2!important}
.np-route-demo-intro{margin:0 0 23px!important;color:#60708a!important;font-size:15px!important;line-height:1.55!important}
.np-route-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}
.np-route-field{min-width:0}
.np-route-field label{display:block;margin:0 0 7px;color:#45536a;font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.np-route-field label span{color:#45536a}
.np-route-field input,.np-route-field select{width:100%;height:42px;min-width:0;padding:0 14px;border:1px solid #c7d5e7;border-radius:10px;background:#fff;color:#172033;font:500 14px/1.2 Inter,Arial,sans-serif;box-sizing:border-box;outline:none;transition:border-color .16s,box-shadow .16s}
.np-route-field input:focus,.np-route-field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
.np-route-field input::placeholder{color:#9aabc2}
.np-route-field .np-slot-status{display:block;min-height:17px;margin-top:5px;color:#64748b;font-size:11px;line-height:1.35}
.np-route-demo-grid>.np-recaptcha-shell{align-self:end;min-height:48px}
.np-route-demo-submit{width:min(100%,420px);min-height:46px;margin:20px auto 0;padding:12px 22px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;background:linear-gradient(100deg,#2f68f5,#8347f4);color:#fff;font:800 15px/1.2 Inter,Arial,sans-serif;box-shadow:0 12px 25px rgba(71,85,235,.24);cursor:pointer}
.np-route-demo-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}
.np-route-demo-submit:disabled{opacity:.68;cursor:not-allowed;transform:none}
.np-route-demo-form>.np-demo-disclosure{margin:8px auto 0!important;max-width:620px;text-align:center!important;color:#7a8799!important;font-size:10px!important;line-height:1.35!important}
.np-route-demo-note{margin:8px 0 0!important;text-align:center;color:#68778e!important;font-size:12px!important;font-weight:600!important}
.np-route-demo-form .np-demo-feedback{min-height:20px;margin-top:10px;text-align:center;font-size:13px;font-weight:700;line-height:1.4}
.np-hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

@media(max-width:760px){
  html body .section-cta#demo > .container,
  html body .section-cta#demo .container{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html body .section-cta#demo .cta-dual.np-single-message-layout{grid-template-columns:minmax(0,1fr)!important;max-width:100%!important}
  html body .section-cta#demo .cta-dual.np-single-message-layout>.np-single-message-card{max-width:100%!important;padding:22px 16px!important;overflow:visible!important}
  html body .section-cta#demo .np-single-message-card form.cta-form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;overflow:visible!important}
  html body .section-cta#demo .np-single-message-card form.cta-form>.cform-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}
  html body .section-cta#demo .np-single-message-card form.cta-form>.cform-group,
  html body .section-cta#demo .np-single-message-card form.cta-form>.np-form-actions,
  html body .section-cta#demo .np-single-message-card form.cta-form>.np-recaptcha-disclosure,
  html body .section-cta#demo .np-single-message-card form.cta-form>.np-form-feedback{grid-column:1/-1!important;width:100%!important;min-width:0!important}
  html body .section-cta#demo form.cta-form>.np-form-actions{grid-template-columns:1fr!important;gap:10px!important}
  html body .section-cta#demo form.cta-form .np-form-actions>.np-recaptcha-shell,
  html body .section-cta#demo form.cta-form .np-form-actions>.btn-submit{height:48px!important;min-height:48px!important;width:100%!important}
  html body .section-cta#demo form.cta-form>.np-recaptcha-disclosure{font-size:9.5px!important;margin-top:-2px!important}
  html body .section-cta#demo form.cta-form>.np-form-feedback{min-height:0!important}
  .np-route-demo-form{padding:26px 22px;border-radius:19px}
  .np-route-demo-grid{grid-template-columns:1fr;gap:13px}
  .np-route-demo-grid>.np-recaptcha-shell{min-height:48px}
  .np-route-demo-submit{width:100%;margin-top:17px}
}
@media(max-width:420px){
  html body .section-cta#demo .cta-dual.np-single-message-layout>.np-single-message-card{padding:20px 14px!important}
  .np-route-demo-form{padding:22px 15px}
  .np-human-confirm{padding:0 11px!important}
  .np-recaptcha-disclosure{font-size:9.2px!important}
}


/* v7: solution scheduler is allowed only inside the page's original solution CTA. */
.np-solution-demo-section{display:none!important}
#solution-form.np-solution-demo-host form:not([data-np-mapped-form="demo"]){display:none!important}
#solution-form.np-solution-demo-host .np-route-demo-form{
  width:100%!important;
  max-width:760px!important;
  min-width:0!important;
  margin:0 0 0 auto!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
#solution-form.np-solution-demo-host .csp-form-shell{
  align-items:center!important;
}
#solution-form.np-solution-demo-host .np-route-demo-grid{
  align-items:start!important;
}
#solution-form.np-solution-demo-host .np-route-time-field,
#solution-form.np-solution-demo-host .np-route-human-field{
  display:grid!important;
  grid-template-rows:auto 42px 17px!important;
  align-content:start!important;
  min-width:0!important;
}
#solution-form.np-solution-demo-host .np-route-time-field>label,
#solution-form.np-solution-demo-host .np-route-human-field>label{
  min-height:15px!important;
}
#solution-form.np-solution-demo-host .np-route-human-field>.np-recaptcha-shell{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  align-self:stretch!important;
}
#solution-form.np-solution-demo-host .np-route-human-field .np-human-confirm{
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 14px!important;
}
#solution-form.np-solution-demo-host .np-route-field .np-slot-status,
#solution-form.np-solution-demo-host .np-route-human-status{
  display:block!important;
  width:100%!important;
  min-height:17px!important;
  height:17px!important;
  margin-top:5px!important;
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.35!important;
}
#solution-form.np-solution-demo-host .np-route-field input,
#solution-form.np-solution-demo-host .np-route-field select{
  height:42px!important;
  min-height:42px!important;
}
#solution-form.np-solution-demo-host .np-route-demo-submit{
  margin-top:18px!important;
}

@media(max-width:1050px){
  #solution-form.np-solution-demo-host .np-route-demo-form{
    max-width:760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media(max-width:760px){
  #solution-form.np-solution-demo-host .np-route-demo-form{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  #solution-form.np-solution-demo-host .np-route-demo-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #solution-form.np-solution-demo-host .np-route-time-field,
  #solution-form.np-solution-demo-host .np-route-human-field{
    grid-template-rows:auto 48px auto!important;
  }
  #solution-form.np-solution-demo-host .np-route-human-field>.np-recaptcha-shell,
  #solution-form.np-solution-demo-host .np-route-human-field .np-human-confirm{
    height:48px!important;
    min-height:48px!important;
  }
  #solution-form.np-solution-demo-host .np-route-human-status{
    min-height:0!important;
    height:0!important;
    margin:0!important;
  }
}
/* Mobile: keep checkbox and human-confirmation text on one line */
@media (max-width: 768px) {
  html body .section-cta#demo form.cta-form .np-human-confirm {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 12px !important;
  }

  html body .section-cta#demo form.cta-form .np-human-checkbox {
    display: grid !important;
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 19px !important;
    margin: 0 !important;
  }

  html body .section-cta#demo form.cta-form .np-human-label {
    display: inline-block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
}