.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:18px;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-18px;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4313 .elementor-element.elementor-element-685e4db .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-4313 .elementor-element.elementor-element-685e4db .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-4313 .elementor-element.elementor-element-685e4db .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-type-html{padding-bottom:0px;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-button[type="submit"]{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4313 .elementor-element.elementor-element-685e4db{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS for form, class: .elementor-element-685e4db *//* =========================================================
NORTHERN THERAPY — REQUEST FORM (Merel · One-Column · Clean)
FULL CSS — replaces prior rules.
Changes vs last version:
• Removed required-field layout (no banner, no special invalid styling)
• Submit button switched to WHITE outline style (pill)
Scope: page ID 4313 — change if yours differs.
========================================================= */

/* ---------- Design tokens ---------- */
body.page-id-4313{
--nts-bg: #ffffff;
--nts-surface: #ffffff;
--nts-muted-bg: #eff8f6;
--nts-border: #d9ece9;
--nts-input-border: #cfd9d7;
--nts-text: #0f172a;
--nts-muted: #64748b;
--nts-primary: #0f766e;
--nts-primary-700: #115e59;
--nts-radius: 14px;
--nts-radius-sm: 10px;
--nts-shadow: 0 8px 26px rgba(2,6,23,.06);
--nts-lh: 1.45;
--nts-field-h: 46px;
--nts-gap: 18px;
--nts-sticky-top: 8px;
}

/* ---------- Force Merel everywhere in the form ---------- */
body.page-id-4313 .elementor-heading-title,
body.page-id-4313 .nts-intake-form,
body.page-id-4313 .nts-intake-form *:not(i):not(svg):not(path),
body.page-id-4313 .nts-intake-form input,
body.page-id-4313 .nts-intake-form select,
body.page-id-4313 .nts-intake-form textarea,
body.page-id-4313 .nts-intake-form .elementor-button,
body.page-id-4313 .nts-intake-form .elementor-field-label,
body.page-id-4313 .nts-intake-form .elementor-field-option label,
body.page-id-4313 .nts-intake-form ::placeholder,
body.page-id-4313 .nts-intake-form select option{
font-family: "merel", Sans-serif !important;
text-transform: none !important;
letter-spacing: normal !important;
color: var(--nts-text) !important;
}


/* ---------- Form card ---------- */
body.page-id-4313 .elementor-widget-form.nts-intake-form .elementor-widget-container{
max-width: 820px !important;
margin: 0 auto 28px !important;
padding: 22px !important;
background: var(--nts-surface) !important;
border: 1px solid #e7efed !important;
border-radius: var(--nts-radius) !important;
box-shadow: var(--nts-shadow) !important;
}

/* Remove any previous "required fields" banner if present */
body.page-id-4313 .nts-intake-form form::before{
content: none !important;
display: none !important;
}

/* ---------- Base type & layout ---------- */
body.page-id-4313 .nts-intake-form{ font-size: 16px !important; line-height: var(--nts-lh) !important; }
body.page-id-4313 .nts-intake-form *{ box-sizing: border-box !important; }

/* One column */
body.page-id-4313 .nts-intake-form form .elementor-form-fields-wrapper{ display: block !important; }
body.page-id-4313 .nts-intake-form .elementor-field-group{
width: 100% !important;
margin: 0 0 var(--nts-gap) 0 !important;
clear: both !important;
}

/* ---------- Labels ---------- */
body.page-id-4313 .nts-intake-form .elementor-field-label{
font-size: 15px !important;
font-weight: 600 !important;
margin: 0 0 8px 0 !important;
line-height: 1.3 !important;
}

/* ---------- Inputs / Select / Textarea ---------- */
body.page-id-4313 .nts-intake-form .elementor-field:not(.elementor-acceptance-field) input[type="text"],
body.page-id-4313 .nts-intake-form .elementor-field:not(.elementor-acceptance-field) input[type="tel"],
body.page-id-4313 .nts-intake-form .elementor-field:not(.elementor-acceptance-field) input[type="email"],
body.page-id-4313 .nts-intake-form .elementor-field:not(.elementor-acceptance-field) input[type="date"],
body.page-id-4313 .nts-intake-form .elementor-field textarea,
body.page-id-4313 .nts-intake-form .elementor-field select{
height: var(--nts-field-h) !important;
padding: 12px 14px !important;
border: 1px solid var(--nts-input-border) !important;
border-radius: var(--nts-radius-sm) !important;
background: #fff !important;
box-shadow: 0 2px 8px rgba(2,6,23,.04) inset !important;
font-size: 16px !important;
line-height: 1.25 !important;
}
body.page-id-4313 .nts-intake-form .elementor-field textarea{
min-height: 122px !important;
height: auto !important;
resize: vertical !important;
line-height: 1.5 !important;
}
body.page-id-4313 .nts-intake-form .elementor-field input:focus,
body.page-id-4313 .nts-intake-form .elementor-field textarea:focus,
body.page-id-4313 .nts-intake-form .elementor-field select:focus{
outline: none !important;
border-color: var(--nts-primary) !important;
box-shadow: 0 0 0 3px rgba(15,118,110,.16) !important;
}
body.page-id-4313 .nts-intake-form ::placeholder{
color: #95a3ad !important;
font-size: 15px !important;
}

/* Remove special required/invalid styling (keep everything neutral) */
body.page-id-4313 .nts-intake-form .elementor-field[aria-invalid="true"],
body.page-id-4313 .nts-intake-form .elementor-field:invalid{
border-color: var(--nts-input-border) !important;
background: #fff !important;
box-shadow: none !important;
color: var(--nts-text) !important;
}
body.page-id-4313 .nts-intake-form input:invalid,
body.page-id-4313 .nts-intake-form select:invalid,
body.page-id-4313 .nts-intake-form textarea:invalid{
box-shadow: none !important;
}

/* Optional: neutralize colored asterisk if theme styles it */
body.page-id-4313 .nts-intake-form .elementor-mark-required .elementor-field-label:after{
color: inherit !important;
}

/* ---------- Radios & Checkboxes (stacked) ---------- */
body.page-id-4313 .nts-intake-form .elementor-field-type-checkbox .elementor-field-subgroup,
body.page-id-4313 .nts-intake-form .elementor-field-type-radio .elementor-field-subgroup{
display: block !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-option{
display: flex !important;
align-items: flex-start !important;
gap: 12px !important;
width: 100% !important;
margin: 0 0 10px 0 !important;
padding: 0 !important;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
text-align: left !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-option input{
width: 19px !important;
height: 19px !important;
margin-top: 2px !important;
accent-color: var(--nts-primary) !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-option label{
font-size: 15.5px !important;
line-height: 1.35 !important;
}

/* ---------- Acceptance rows ---------- */
body.page-id-4313 .nts-intake-form .elementor-field-type-acceptance .elementor-field-option{
display: flex !important;
align-items: flex-start !important;
gap: 10px !important;
padding: 0 !important;
}

/* ---------- Section headers (sticky) ---------- */
body.page-id-4313 .nts-intake-form form{ counter-reset: ntssec; }
body.page-id-4313 .nts-intake-form .elementor-field-group-community::before,
body.page-id-4313 .nts-intake-form .elementor-field-group-services::before,
body.page-id-4313 .nts-intake-form .elementor-field-group-contact_name::before,
body.page-id-4313 .nts-intake-form .elementor-field-group-is_claim_related::before,
body.page-id-4313 .nts-intake-form .elementor-field-group-session_times::before{
counter-increment: ntssec;
content: counter(ntssec) ". " attr(data-nts-title);
display: block !important;
width: 100% !important;
margin: 20px 0 12px !important;
padding: 12px 14px !important;
background: var(--nts-muted-bg) !important;
border: 1px solid var(--nts-border) !important;
border-radius: 12px !important;
color: #0b4b46 !important;
font-weight: 700 !important;
font-size: 16px !important;
position: sticky;
top: var(--nts-sticky-top);
z-index: 2;
}
body.page-id-4313 .nts-intake-form .elementor-field-group-community::before{ content: counter(ntssec) ". About the Individual" !important; }
body.page-id-4313 .nts-intake-form .elementor-field-group-services::before{ content: counter(ntssec) ". Services & Concerns" !important; }
body.page-id-4313 .nts-intake-form .elementor-field-group-contact_name::before{ content: counter(ntssec) ". Contact Information" !important; }
body.page-id-4313 .nts-intake-form .elementor-field-group-is_claim_related::before{ content: counter(ntssec) ". Coverage & Claims" !important; }
body.page-id-4313 .nts-intake-form .elementor-field-group-session_times::before{ content: counter(ntssec) ". Preferences & Consent" !important; }

/* ---------- Submit button (WHITE pill, centered) ---------- */
body.page-id-4313 .nts-intake-form .elementor-field-type-submit{
display: flex !important;
justify-content: center !important;
margin-top: 16px !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button{
height: var(--nts-field-h) !important;
padding: 0 22px !important;
min-width: 240px !important;
width: auto !important;

border-radius: 9999px !important;                 /* pill */
background: #ffffff !important;                   /* WHITE */
border: 2px solid var(--nts-primary) !important;  /* outline */
color: var(--nts-primary) !important;             /* teal text */
text-transform: none !important;
letter-spacing: .2px !important;
font-size: 16px !important;
font-weight: 700 !important;
box-shadow: 0 4px 12px rgba(2,6,23,.08) !important;
transition: transform .08s ease, background .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button:hover{
background: #ffffff !important;                   /* stay white */
border-color: var(--nts-primary-700) !important;
color: var(--nts-primary-700) !important;
box-shadow: 0 8px 18px rgba(2,6,23,.10) !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button:active{
transform: translateY(1px) !important;
}
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button:focus{
outline: none !important;
box-shadow: 0 0 0 3px rgba(15,118,110,.16), 0 6px 14px rgba(2,6,23,.10) !important;
}
/* Subtle arrow */
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button .elementor-button-text::after{
content: "  →" !important;
font-weight: 700 !important;
margin-left: 4px !important;
}
/* Loading/disabled */
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button[disabled],
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button.elementor-button--loading{
background: #ffffff !important;
color: #88c7c2 !important;
border-color: #88c7c2 !important;
box-shadow: none !important;
cursor: not-allowed !important;
}

/* ---------- Messages (neutral, clean) ---------- */
body.page-id-4313 .nts-intake-form .elementor-message{
border-radius: 10px !important;
padding: 12px 14px !important;
font-size: 15px !important;
border: 1px solid #e7efed !important;
background: #f7fbfa !important;
color: #0b4b46 !important;
}

/* ---------- Extra spacing ---------- */
body.page-id-4313 .nts-intake-form .elementor-field-description{ margin-top: 6px !important; }
body.page-id-4313 .nts-intake-form .elementor-field-type-recaptcha{ margin: 12px 0 10px !important; }

/* ---------- Mobile polish ---------- */
@media (max-width: 480px){
body.page-id-4313 .elementor-widget-form.nts-intake-form .elementor-widget-container{ padding: 18px !important; }
body.page-id-4313 .nts-intake-form{ font-size: 15.5px !important; }
body.page-id-4313 .nts-intake-form .elementor-field-type-submit .elementor-button{
width: 100% !important; min-width: 0 !important;
}
}

/* ================================
Page title (H1) styling – Request Form
Targets the WP title inside .page-header on page 4313
================================ */

body.page-id-4313 .page-header{
background: transparent !important;
padding: 0 !important;
margin: 0 0 8px 0 !important;
}

body.page-id-4313 .page-header .entry-title{
/* layout */
max-width: 820px !important;     /* align with form card */
margin: 8px auto 10px !important;
padding: 0 12px !important;
text-align: center !important;

/* typography */
font-family: "merel", Sans-serif !important;
font-size: clamp(24px, 3.2vw, 38px) !important;   /* responsive */
line-height: 1.22 !important;
font-weight: 700 !important;
letter-spacing: normal !important;
text-transform: none !important;
color: #0b4b46 !important;

/* polish */
-webkit-font-smoothing: antialiased !important;
text-rendering: optimizeLegibility !important;
text-wrap: balance; /* graceful if unsupported */
}

/* subtle underline accent (remove if not desired) */
body.page-id-4313 .page-header .entry-title::after{
content: "" !important;
display: block !important;
width: 64px !important;
height: 3px !important;
margin: 8px auto 0 !important;
border-radius: 999px !important;
background: #cfe9e6 !important;
}

/* mobile tweaks */
@media (max-width: 480px){
body.page-id-4313 .page-header .entry-title{
font-size: 24px !important;
line-height: 1.24 !important;
margin-bottom: 6px !important;
}
body.page-id-4313 .page-header .entry-title::after{
width: 48px !important;
height: 2px !important;
}
}
/* Keep the row tidy and clickable */
body.page-id-4313 .elementor-field-group-send_copy .elementor-field-option{
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
}

/* Turn the checkbox into a custom iOS-style switch */
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 50px !important;
  height: 28px !important;
  border-radius: 999px !important;
  border: 1px solid #b8c7c4 !important;
  background: #cfd9d7 !important;
  position: relative !important;
  outline: none !important;
  box-shadow: inset 0 1px 2px rgba(2,6,23,.12) !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  cursor: pointer !important;
}

/* The knob */
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 3px !important;
  width: 22px !important;
  height: 22px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 6px rgba(2,6,23,.18) !important;
  transition: left .18s ease !important;
}

/* ON state */
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]:checked{
  background: #0f766e !important;
  border-color: #0f766e !important;
}
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]:checked::after{
  left: 24px !important; /* slides knob to the right */
}

/* Focus ring for accessibility */
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]:focus-visible{
  box-shadow: 0 0 0 3px rgba(15,118,110,.22) !important;
}

/* Disabled state */
body.page-id-4313 .elementor-field-group-send_copy input[type="checkbox"]:disabled{
  opacity: .55 !important;
  cursor: not-allowed !important;
}

/* Label text sizing/spacing (Merel already applied on page) */
body.page-id-4313 .elementor-field-group-send_copy label{
  font-size: 16px !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
}/* End custom CSS */