.elementor-74 .elementor-element.elementor-element-3a532d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-7eca3c7{--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;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-74 .elementor-element.elementor-element-ff70477{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-c54f05f{--display:flex;--justify-content:center;}.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-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-type-html{padding-bottom:0px;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-button[type="submit"]{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-a0f82b3{--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;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-74 .elementor-element.elementor-element-7eca3c7{--padding-top:5em;--padding-bottom:5em;--padding-left:1em;--padding-right:1em;}}/* Start custom CSS for form, class: .elementor-element-a0f82b3 *//* FALLBACK - FORCE 3RD TEXT FIELD FULL WIDTH IF PROJECT LOCATION ID FAILS */
.ahc-estimate-form .elementor-field-group:has(label[for*="project_location"]),
.ahc-estimate-form .elementor-field-group:has(label[for*="Project"]),
.ahc-estimate-form .elementor-field-group:has(label[for*="location"]) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* FORM CONTAINER */
.ahc-estimate-form {
  background: #f7f7f7;
  border: 1px solid rgba(25, 25, 25, 0.10);
  border-radius: 26px;
  padding: 34px 32px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
}

/* ZIP CODE FIELD - FULL ROW */
.ahc-estimate-form .elementor-field-group-zip_code {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

.ahc-estimate-form .elementor-field-group-zip_code {
  grid-column: auto !important;
  width: 100% !important;
}

.ahc-estimate-form .elementor-field-group-zip_code input {
  width: 100% !important;
}

/* TITLE */
.ahc-estimate-form .elementor-heading-title,
.ahc-estimate-form h2 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: #050b12 !important;
  margin-bottom: 10px;
}

/* DESCRIPTION */
.ahc-estimate-form p {
  font-family: Arial, sans-serif;
  font-size: 14px;
  color: #344054;
  margin-bottom: 26px;
}

/* FORM GRID */
.ahc-estimate-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 14px;
  row-gap: 16px;
}

/* FIELD GROUP */
.ahc-estimate-form .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
}

/* FULL WIDTH FIELDS */
.ahc-estimate-form .elementor-field-group-message,
.ahc-estimate-form .elementor-field-group-project_location,
.ahc-estimate-form .elementor-field-type-textarea,
.ahc-estimate-form .elementor-field-type-acceptance,
.ahc-estimate-form .elementor-field-type-submit {
  grid-column: 1 / -1;
}

/* LABELS */
.ahc-estimate-form .elementor-field-label {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #474747 !important;
  margin-bottom: 8px !important;
}



/* INPUTS, SELECT AND TEXTAREA */
.ahc-estimate-form input[type="text"],
.ahc-estimate-form input[type="email"],
.ahc-estimate-form input[type="tel"],
.ahc-estimate-form input[type="url"],
.ahc-estimate-form input[type="number"],
.ahc-estimate-form input[type="date"],
.ahc-estimate-form select,
.ahc-estimate-form textarea {
  width: 100%;
  min-height: 52px;
  background: #ffffff !important;
  border: 1px solid rgba(25, 25, 25, 0.12) !important;
  border-radius: 14px !important;
  padding: 14px 15px !important;
  font-family: Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 400;
  color: #191919 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.25s ease;
}

/* PLACEHOLDER */
.ahc-estimate-form input::placeholder,
.ahc-estimate-form textarea::placeholder {
  color: #667085 !important;
  opacity: 1;
}

/* FOCUS */
.ahc-estimate-form input:focus,
.ahc-estimate-form select:focus,
.ahc-estimate-form textarea:focus {
  border-color: #cb2629 !important;
  box-shadow: 0 0 0 4px rgba(203, 38, 41, 0.10) !important;
}

/* TEXTAREA */
.ahc-estimate-form textarea {
  min-height: 126px !important;
  resize: vertical;
  padding-top: 16px !important;
}

/* SELECT */
.ahc-estimate-form select {
  appearance: auto;
  cursor: pointer;
}

/* ACCEPTANCE / CHECKBOX GROUP */
.ahc-estimate-form .elementor-field-type-acceptance {
  display: block !important;
  margin-top: 0 !important;
}

/* CHECKBOX LABEL */
.ahc-estimate-form .elementor-field-type-acceptance label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px;
  font-family: Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #344054 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* CHECKBOX INPUT */
.ahc-estimate-form .elementor-field-type-acceptance input[type="checkbox"] {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  margin: 3px 2px 0 0 !important;
  accent-color: #cb2629;
  cursor: pointer;
}

/* TERMS LINKS */
.ahc-estimate-form .elementor-field-type-acceptance a {
  color: #cb2629 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}

/* SUBMIT BUTTON WRAPPER */
.ahc-estimate-form .elementor-field-type-submit {
  margin-top: 4px !important;
}

/* BUTTON */
.ahc-estimate-form .elementor-button {
  width: 100% !important;
  min-height: 56px;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #d9252b, #f3373c) !important;
  border: none !important;
  box-shadow: 0 16px 34px rgba(203, 38, 41, 0.28);
  transition: all 0.25s ease;
}

/* BUTTON TEXT */
.ahc-estimate-form .elementor-button-text {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff !important;
}

/* BUTTON HOVER */
.ahc-estimate-form .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(203, 38, 41, 0.38);
  background: linear-gradient(135deg, #cb2629, #ee3a3e) !important;
}

/* REMOVE DEFAULT ELEMENTOR SPACING */
.ahc-estimate-form .elementor-form {
  margin: 0 !important;
}

.ahc-estimate-form .elementor-message {
  grid-column: 1 / -1;
}

/* MOBILE */
@media (max-width: 767px) {
  .ahc-estimate-form {
    padding: 28px 20px;
    border-radius: 22px;
  }

  .ahc-estimate-form .elementor-form-fields-wrapper {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .ahc-estimate-form .elementor-heading-title,
  .ahc-estimate-form h2 {
    font-size: 27px !important;
  }

  .ahc-estimate-form p {
    font-size: 14px;
    margin-bottom: 22px;
  }

  .ahc-estimate-form input[type="text"],
  .ahc-estimate-form input[type="email"],
  .ahc-estimate-form input[type="tel"],
  .ahc-estimate-form select,
  .ahc-estimate-form textarea {
    min-height: 50px;
    font-size: 14px !important;
  }

  .ahc-estimate-form textarea {
    min-height: 120px !important;
  }

  .ahc-estimate-form .elementor-button {
    min-height: 54px;
  }
}

/* FIX ACCEPTANCE CHECKBOX ALIGNMENT */
.ahc-estimate-form .elementor-field-type-acceptance {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
}

.ahc-estimate-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
}

.ahc-estimate-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
}

.ahc-estimate-form .elementor-field-type-acceptance input[type="checkbox"] {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  flex: 0 0 13px !important;
  margin: 4px 2px 0 0 !important;
  accent-color: #cb2629 !important;
  cursor: pointer;
}

.ahc-estimate-form .elementor-field-type-acceptance label {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #344054 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ahc-estimate-form .elementor-field-type-acceptance a {
  color: #cb2629 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}/* End custom CSS */