.elementor-603 .elementor-element.elementor-element-a1caa5a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-603 .elementor-element.elementor-element-6e71602 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-field-type-html{padding-bottom:0px;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-button[type="submit"]{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-603 .elementor-element.elementor-element-6e71602{--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-6e71602 *//* =====================================================================
   PASTE INTO: Elementor > Form widget > Advanced > Custom CSS
   (replace everything you pasted there before)

   ".elementor-603 .elementor-element.elementor-element-6e71602" is Elementor's keyword for "this widget", so it works in the
   editor preview AND on the live page, with no .boyle-home wrapper needed.
   Colors + fonts come from the global variables.
   ===================================================================== */

/* ---------- Field groups ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-group {
  margin-bottom: 16px !important;
  flex: 0 0 100% !important;   /* stack all fields full width; delete these 3 lines for side-by-side */
  width: 100% !important;
  max-width: 100% !important;
}

/* ---------- Labels ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-label:not(.elementor-screen-only) {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  font-family: var(--e-global-typography-text-font-family, inherit);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  color: var(--e-global-color-text);
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-mark-required .elementor-field-label::after {
  color: var(--e-global-color-primary);
}

/* ---------- Inputs, email, tel, select, textarea ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-group .elementor-field-textual {
  width: 100%;
  min-height: 0;
  padding: 12px 14px !important;
  background-color: white !important;
  color: var(--e-global-color-text) !important;
  border: 1.5px solid color-mix(in srgb, var(--e-global-color-text) 20%, white) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: var(--e-global-typography-text-font-family, inherit) !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form textarea.elementor-field-textual {
  min-height: 110px;
  resize: vertical;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-textual::placeholder {
  color: color-mix(in srgb, var(--e-global-color-text) 45%, white);
  opacity: 1;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-group .elementor-field-textual:hover {
  border-color: color-mix(in srgb, var(--e-global-color-text) 35%, white) !important;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-group .elementor-field-textual:focus {
  border-color: var(--e-global-color-primary) !important;
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 1px;
  box-shadow: none !important;
}

/* ---------- Select arrow ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-select-wrapper select {
  padding-right: 40px !important;
  cursor: pointer;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-select-wrapper::before {
  right: 14px;
  z-index: 1;
  color: var(--e-global-color-primary);
  pointer-events: none;
}

/* ---------- Checkbox / radio / acceptance ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-subgroup .elementor-field-option label {
  font-family: var(--e-global-typography-text-font-family, inherit);
  font-size: 14px;
  font-weight: 500;
  color: var(--e-global-color-text);
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-subgroup .elementor-field-option input[type="checkbox"],
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-subgroup .elementor-field-option input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  accent-color: var(--e-global-color-primary);
}

/* ---------- Submit button (matches .btn.btn-primary) ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-type-submit {
  margin-bottom: 0 !important;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px 32px !important;
  background: var(--e-global-color-accent) !important;
  color: var(--e-global-color-text) !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: var(--e-global-typography-primary-font-family, inherit) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  cursor: pointer;
  transition: transform .15s ease, background-color .15s ease;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button .elementor-button-content-wrapper {
  gap: 8px;
  justify-content: center;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:hover,
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:focus {
  background: color-mix(in srgb, var(--e-global-color-accent) 85%, black) !important;
  color: var(--e-global-color-text) !important;
  transform: translateY(-2px);
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 2px;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:active {
  transform: translateY(0);
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button[disabled] {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

/* ---------- Validation + messages ---------- */
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-error .elementor-field-textual {
  border-color: #b3261e !important;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-help-inline {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #b3261e;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-message {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 8px;
  font-family: var(--e-global-typography-text-font-family, inherit);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-message-success {
  color: var(--e-global-color-secondary);
  background: color-mix(in srgb, var(--e-global-color-secondary) 10%, white);
}
.elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-message-danger:not(.elementor-help-inline) {
  color: #b3261e;
  background: color-mix(in srgb, #b3261e 8%, white);
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-group .elementor-field-textual {
    font-size: 16px !important;   /* stops iOS zoom on focus */
  }
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button {
    padding: 14px 24px !important;
    font-size: 15px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button,
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-field-textual { transition: none; }
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:hover,
  .elementor-603 .elementor-element.elementor-element-6e71602 .elementor-form .elementor-button:focus { transform: none; }
}/* End custom CSS */