.elementor-2369 .elementor-element.elementor-element-237a430:not(.elementor-motion-effects-element-type-background), .elementor-2369 .elementor-element.elementor-element-237a430 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F8F8;background-image:url("https://www.center4functionalmedicine.com/wp-content/uploads/2026/03/Images-20.jpg");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-2369 .elementor-element.elementor-element-237a430 > .elementor-background-overlay{background-color:#000000;opacity:0.11;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2369 .elementor-element.elementor-element-237a430{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-89px;margin-bottom:0px;padding:180px 20px 105px 20px;}.elementor-2369 .elementor-element.elementor-element-eecfe49{text-align:center;}.elementor-2369 .elementor-element.elementor-element-eecfe49 .elementor-heading-title{color:#FFFFFF;}.elementor-2369 .elementor-element.elementor-element-115fd58{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-2369 .elementor-element.elementor-element-d37951b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2369 .elementor-element.elementor-element-96e2ba6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2369 .elementor-element.elementor-element-96e2ba6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2369 .elementor-element.elementor-element-031b30c{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2369 .elementor-element.elementor-element-cd6f402{--display:flex;--border-radius:20px 20px 20px 20px;box-shadow:0px 10px 50px 0px rgba(0, 0, 0, 0.06);--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2369 .elementor-element.elementor-element-cd6f402:not(.elementor-motion-effects-element-type-background), .elementor-2369 .elementor-element.elementor-element-cd6f402 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0d851c2 );}.elementor-2369 .elementor-element.elementor-element-a976c4b{text-align:center;}.elementor-2369 .elementor-element.elementor-element-a976c4b .elementor-heading-title{color:#FFFFFF;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:17px;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-17px;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-labels-inline .elementor-field-group > label{padding-left:9px;}body:not(.rtl) .elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-labels-inline .elementor-field-group > label{padding-right:9px;}body .elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-labels-above .elementor-field-group > label{padding-bottom:9px;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group > label{font-weight:600;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-type-html{padding-bottom:4px;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group .elementor-field, .elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-subgroup label{text-transform:capitalize;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-button[type="submit"]{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2369 .elementor-element.elementor-element-4bd812c{--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;}@media(min-width:768px){.elementor-2369 .elementor-element.elementor-element-96e2ba6{--width:65.439%;}.elementor-2369 .elementor-element.elementor-element-cd6f402{--width:80%;}}@media(max-width:1024px){.elementor-2369 .elementor-element.elementor-element-237a430{margin-top:0px;margin-bottom:0px;padding:60px 20px 60px 20px;}}@media(max-width:767px){.elementor-2369 .elementor-element.elementor-element-eecfe49{text-align:center;}}@media(min-width:1025px){.elementor-2369 .elementor-element.elementor-element-237a430:not(.elementor-motion-effects-element-type-background), .elementor-2369 .elementor-element.elementor-element-237a430 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for form, class: .elementor-element-4bd812c *//* ─────────────────────────────────────────
       RESET & BASE
    ─────────────────────────

    
    /* ─────────────────────────────────────────
       INTRO BLURB ABOVE FORM
    ───────────────────────────────────────── */
   
    /* ─────────────────────────────────────────
       ELEMENTOR FORM WRAPPER
    ───────────────────────────────────────── */
    .elementor-widget-form {
      width: 100%;
      
    }

    .elementor-widget-container {
        
      width: 100%;
    }

    .elementor-form {
   
      width: 100%;
    }

    .elementor-form-fields-wrapper {
      display: flex;
      flex-direction: column;
      gap: 10px;
      
    }

    /* ─────────────────────────────────────────
       QUESTION CARD  (each field-group)
    ───────────────────────────────────────── */
    .elementor-field-group {
         
      background: #ffffff;
      border: 1px solid #e5e5dd;
      border-radius: 14px;
      padding: 1.6rem 1.75rem;
      transition: border-color 0.25s ease, box-shadow 0.25s ease;
      position: relative;
    }

    .elementor-field-group:hover {
      border-color: #c5c5bc;
    }

    .elementor-field-group.is-answered {
      border-color: #1D9E75;
      box-shadow: 0 0 0 3px rgba(29,158,117,0.07);
    }
.elementor-field-group {
    padding: 20px !important;
}
    /* ─────────────────────────────────────────
       QUESTION LABEL
    ───────────────────────────────────────── */
    label.elementor-field-label {
        
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 15px;
      font-weight: 600;
      color: #1a1a1a;
      line-height: 1.5;
      margin-bottom: 1.1rem;
      cursor: default;
      user-select: none;
    }

    /* The number bubble — injected via JS into the label */
    .q-bubble {
      min-width: 28px;
      height: 28px;
      border-radius: 50%;
      background: #f0f0ea;
      border: 1.5px solid #d8d8d0;
      font-size: 12px;
      font-weight: 700;
      color: #999;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-top: 1px;
      transition: background 0.25s, border-color 0.25s, color 0.25s;
      line-height: 1;
    }

    .elementor-field-group.is-answered .q-bubble {
      background: #1D9E75;
      border-color: #1D9E75;
      color: #fff;
    }

    /* Required asterisk */
    .elementor-mark-required label.elementor-field-label::after {
      content: ' *';
      color: #c0392b;
      font-weight: 400;
      font-size: 14px;
      margin-left: 1px;
    }

    /* ─────────────────────────────────────────
       OPTIONS SUBGROUP
    ───────────────────────────────────────── */
    .elementor-field-subgroup {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    /* ─────────────────────────────────────────
       SINGLE OPTION ROW
    ───────────────────────────────────────── */
    span.elementor-field-option {
      display: flex;
      align-items: stretch;
    }

    /* Hide the native input visually but keep it functional */
    span.elementor-field-option input[type="radio"],
    span.elementor-field-option input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
      pointer-events: none;
    }

    /* The visible option pill */
    span.elementor-field-option label {
      display: flex;
      align-items: center;
      gap: 0;
      width: 100%;
      padding: 11px 15px;
      border: 1px solid #eaeae2;
      border-radius: 10px;
      cursor: pointer;
      font-size: 14px;
      font-weight: 400;
      color: #333;
      background: #fafaf8;
      transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
      line-height: 1.45;
      user-select: none;
    }

    span.elementor-field-option label:hover {
      background: #E8FEFF;
      border-color: #9ddec6;
      color: #0a4a33;
    }

    /* Custom radio dot */
    span.elementor-field-option label::before {
      content: '';
      display: inline-block;
      width: 18px;
      height: 18px;
      min-width: 1px;
      border: 1.5px solid #ccc;
      border-radius: 50%;
      margin-right: 12px;
      background: #fff;
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
      flex-shrink: 0;
      position: relative;
    }

    /* Checkbox: square corners */
    .elementor-field-type-checkbox span.elementor-field-option label::before {
      border-radius: 5px;
    }

    /* Checked state — radio */
    span.elementor-field-option input[type="radio"]:checked ~ label {
      background: #edf9f5;
      border-color: #1D9E75;
      color: #0a5c41;
      font-weight: 500;
    }

    span.elementor-field-option input[type="radio"]:checked ~ label::before {
      border-color: #1D9E75;
      background: #1D9E75;
      box-shadow: inset 0 0 0 3.5px #fff;
    }

    /* Checked state — checkbox */
    span.elementor-field-option input[type="checkbox"]:checked ~ label {
      background: #edf9f5;
      border-color: #1D9E75;
      color: #0a5c41;
      font-weight: 500;
    }

    span.elementor-field-option input[type="checkbox"]:checked ~ label::before {
      border-color: #1D9E75;
      background: #1D9E75;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3.5 3.5L13 4'/%3E%3C/svg%3E");
      background-size: 11px;
      background-repeat: no-repeat;
      background-position: center;
      box-shadow: none;
    }

    /* ─────────────────────────────────────────
       SUBMIT BUTTON AREA
    ───────────────────────────────────────── */
    .elementor-field-type-submit {
      background: transparent !important;
      border: none !important;
      padding: 1rem 0 0 !important;
      display: flex !important;
 
      align-items: center;
      gap: 12px;
      box-shadow: none !important;
    }

    button.elementor-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 220px;
      padding: 14px 36px;
      background: #1a3a2e;
      color: #fff;
      border: none;
      border-radius: 10px;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.02em;
      cursor: pointer;
      font-family: inherit;
      transition: background 0.2s ease, transform 0.1s ease;
    }

    button.elementor-button:hover:not(:disabled) {
    
      transform: translateY(-1px);
    }

    button.elementor-button:active:not(:disabled) {
      transform: translateY(0);
    }

    button.elementor-button:disabled {
      background: #d4d4cc;
      color: #aaa;
      cursor: not-allowed;
      transform: none;
    }

    .elementor-button-content-wrapper {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .submit-note {
      font-size: 12px;
      color: #aaa;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    /* ─────────────────────────────────────────
       RESPONSIVE
    ───────────────────────────────────────── */
    @media (max-width: 560px) {
      .page-hero h1 { font-size: 24px; }
      .page-hero h2 { font-size: 15px; }
      .elementor-field-group { padding: 1.25rem 1.25rem; }
      .quiz-intro { flex-direction: column; gap: 0.75rem; }
      .page-content { padding: 1.5rem 1rem 0; }
    }/* End custom CSS */