/* Restyle NEX-Forms output so it sits inside the TIP panel without looking bolted on.
   Scoped to .tipfb-nex (the panel body) and .tipfb-page so theme pages are untouched. */

.tipfb-nex,.tipfb-nex *{box-sizing:border-box}

.tipfb-nex .nf-form-cont,
.tipfb-nex .nex-forms-container,
.tipfb-nex form{font-family:var(--tipfb-text)!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}

/* Labels */
.tipfb-nex label,
.tipfb-nex .nf-field-label,
.tipfb-nex .field-label{display:block!important;font:600 12.5px/1 var(--tipfb-display)!important;color:#3B4759!important;margin-bottom:8px!important;text-transform:none!important;letter-spacing:.01em!important}
.tipfb-nex .required,
.tipfb-nex .nf-required,
.tipfb-nex abbr[title="required"]{color:var(--tipfb-red)!important;text-decoration:none!important;border:0!important}

/* Inputs */
.tipfb-nex input[type="text"],
.tipfb-nex input[type="email"],
.tipfb-nex input[type="tel"],
.tipfb-nex input[type="number"],
.tipfb-nex input[type="date"],
.tipfb-nex input[type="url"],
.tipfb-nex input[type="password"],
.tipfb-nex select,
.tipfb-nex textarea{
  width:100%!important;
  font:400 14.5px/1.4 var(--tipfb-text)!important;
  color:#16233C!important;
  padding:13px 14px!important;
  border:1.5px solid #DCE4F2!important;
  border-radius:8px!important;
  background:#FCFDFF!important;
  box-shadow:none!important;
  outline:none!important;
  min-height:48px!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.tipfb-nex textarea{min-height:104px!important;line-height:1.6!important;resize:vertical!important}
.tipfb-nex input:focus,
.tipfb-nex select:focus,
.tipfb-nex textarea:focus{border-color:var(--tipfb-blue)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(34,83,168,.13)!important}
.tipfb-nex ::placeholder{color:#9AA4B8!important;opacity:1}

.tipfb-nex select{
  appearance:none!important;-webkit-appearance:none!important;
  padding-right:38px!important;cursor:pointer!important;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236A7488' stroke-width='2'%3E%3Cpath d='M6 8.5l4 4 4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;
}

/* Radios and checkboxes — 44px touch targets for phones */
.tipfb-nex input[type="radio"],
.tipfb-nex input[type="checkbox"]{width:19px!important;height:19px!important;min-height:0!important;accent-color:var(--tipfb-blue);margin:0 9px 0 0!important;flex:none}
.tipfb-nex .nf-radio,
.tipfb-nex .nf-checkbox,
.tipfb-nex .radio-cont,
.tipfb-nex .checkbox-cont{display:flex!important;align-items:center!important;min-height:44px!important;font:400 14.5px/1.45 var(--tipfb-text)!important;color:#42506A!important}

/* Buttons */
.tipfb-nex button,
.tipfb-nex input[type="submit"],
.tipfb-nex .nf-next,
.tipfb-nex .nf-prev,
.tipfb-nex .nex-forms-submit{
  font:700 15px/1 var(--tipfb-display)!important;
  padding:16px 30px!important;
  border-radius:8px!important;
  border:0!important;
  cursor:pointer!important;
  background:var(--tipfb-red)!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(237,29,36,.26)!important;
  min-height:52px!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.tipfb-nex button:hover,
.tipfb-nex input[type="submit"]:hover,
.tipfb-nex .nex-forms-submit:hover{transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(237,29,36,.32)!important}
.tipfb-nex .nf-prev{background:#fff!important;color:var(--tipfb-blue)!important;border:1.5px solid #CBD8ED!important;box-shadow:none!important}

/* Step indicators / progress */
.tipfb-nex .nf-progress-bar,
.tipfb-nex .progress-bar{background:#E7EDF8!important;border-radius:20px!important;overflow:hidden!important;height:6px!important}
.tipfb-nex .nf-progress-bar > *,
.tipfb-nex .progress-bar > *{background:var(--tipfb-blue)!important}

/* Validation */
.tipfb-nex .nf-error,
.tipfb-nex .error-message,
.tipfb-nex label.error{font:500 12.5px/1.45 var(--tipfb-text)!important;color:var(--tipfb-red)!important;margin-top:6px!important}
.tipfb-nex input.error,
.tipfb-nex select.error,
.tipfb-nex textarea.error{border-color:var(--tipfb-red)!important;background:#FFF7F7!important}

/* Confirmation */
.tipfb-nex .nf-thank-you,
.tipfb-nex .thank-you-message{background:var(--tipfb-tint-2)!important;border:1px solid #D6E2F7!important;border-radius:12px!important;padding:24px!important;font:400 15px/1.65 var(--tipfb-text)!important;color:#26344D!important}

@media (max-width:640px){
  .tipfb-nex input[type="text"],
  .tipfb-nex input[type="email"],
  .tipfb-nex input[type="tel"],
  .tipfb-nex select,
  .tipfb-nex textarea{font-size:16px!important}
  .tipfb-nex button,
  .tipfb-nex input[type="submit"]{width:100%!important}
}

/* ---- Multi-step forms ----
   Do NOT restyle NEX-Forms' step markup: it hides internal nodes with display,
   so overriding display exposes them as stray text and clips the pill labels.
   The panel body scrolls horizontally instead (see .tipfb-group__formbody). */

/* Only neutralise the inner card chrome that double-framed our panel — nothing
   structural, no display/width overrides. */
.tipfb-nex .nf-form-cont,
.tipfb-nex .nex-forms-container{border:0!important;box-shadow:none!important;background:transparent!important}

/* Long intro copy inside a form reads as body text, not a wall. */
.tipfb-nex p{font:400 14.5px/1.7 var(--tipfb-text)!important;color:#42506A!important}
.tipfb-nex h1,.tipfb-nex h2,.tipfb-nex h3,.tipfb-nex h4{font-family:var(--tipfb-display)!important;color:var(--tipfb-ink)!important;letter-spacing:-.01em!important}
