.elementor-539 .elementor-element.elementor-element-2545c9fa{--display:flex;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-type-html{padding-bottom:0px;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-539 .elementor-element.elementor-element-1c40ed47{--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-1c40ed47 */.ag-quote-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 16px !important;
}

/* Remove Elementor column behavior */
.ag-quote-form .elementor-field-group {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Full-width fields */
.ag-quote-form .elementor-field-group-name,
.ag-quote-form .elementor-field-group-message,
.ag-quote-form .elementor-field-group-budget,
.ag-quote-form .e-form__buttons {
  grid-column: 1 / -1 !important;
}

/* Force 50% fields into 2 columns */
.ag-quote-form .elementor-col-50 {
  width: 100% !important;
}

/* Labels */
.ag-quote-form .elementor-field-label {
  display: block !important;
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin-bottom: 7px !important;
}

/* Required star */
.ag-quote-form .elementor-mark-required .elementor-field-label::after {
  color: #fc6102 !important;
  margin-left: 3px;
}

/* Inputs/select/textarea */
.ag-quote-form input.elementor-field,
.ag-quote-form select,
.ag-quote-form textarea {
  width: 100% !important;
  background: #F8FAFC !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 10px !important;
  color: #111827 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  padding: 13px 15px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

.ag-quote-form textarea {
  min-height: 115px !important;
  resize: vertical;
}

.ag-quote-form input:focus,
.ag-quote-form select:focus,
.ag-quote-form textarea:focus {
  background: #ffffff !important;
  border-color: #fc6102 !important;
  outline: none !important;
}

/* Select field wrapper */
.ag-quote-form .elementor-select-wrapper {
  width: 100% !important;
}

.ag-quote-form .elementor-select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
}

.ag-quote-form .select-caret-down-wrapper {
  color: #111827 !important;
  right: 14px !important;
}

.ag-quote-form .select-caret-down-wrapper svg {
  fill: #111827 !important;
  width: 13px !important;
  height: 13px !important;
}

/* =====================================
   Budget Radio Buttons as Cards
===================================== */

.ag-quote-form .elementor-field-group-budget {
  margin-top: 2px !important;
}

.ag-quote-form .elementor-field-group-budget .elementor-field-label {
  margin-bottom: 10px !important;
}

/* Radio group layout */
.ag-quote-form .elementor-field-group-budget .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Each radio option */
.ag-quote-form .elementor-field-group-budget .elementor-field-option {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Hide default radio */
.ag-quote-form .elementor-field-group-budget input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

/* Styled radio label */
.ag-quote-form .elementor-field-group-budget input[type="radio"] + label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  width: 100% !important;
  padding: 13px 14px 13px 42px !important;
  background: #F8FAFC !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 12px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

/* Radio circle */
.ag-quote-form .elementor-field-group-budget input[type="radio"] + label::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 2px solid #9CA3AF;
  background: #ffffff;
  box-sizing: border-box;
  transition: all 0.25s ease;
}

/* Radio dot */
.ag-quote-form .elementor-field-group-budget input[type="radio"] + label::after {
  content: "";
  position: absolute;
  left: 19px;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translateY(-50%) scale(0);
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.25s ease;
}

/* Hover */
.ag-quote-form .elementor-field-group-budget input[type="radio"] + label:hover {
  border-color: #fc6102 !important;
  background: #ffffff !important;
}

/* Checked state */
.ag-quote-form .elementor-field-group-budget input[type="radio"]:checked + label {
  background: #fc6102 !important;
  border-color: #fc6102 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(245, 158, 11, 0.24);
}

.ag-quote-form .elementor-field-group-budget input[type="radio"]:checked + label::before {
  border-color: #ffffff;
  background: transparent;
}

.ag-quote-form .elementor-field-group-budget input[type="radio"]:checked + label::after {
  transform: translateY(-50%) scale(1);
}

/* Submit button */
.ag-quote-form .e-form__buttons {
  margin-top: 2px !important;
}

.ag-quote-form .e-form__buttons button,
.ag-quote-form .elementor-button {
  width: 100% !important;
  background: #fc6102 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 15px 24px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  border: none !important;
}

.ag-quote-form .elementor-button:hover {
  background: #D97706 !important;
  transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 767px) {
  .ag-quote-form .elementor-form-fields-wrapper {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ag-quote-form .elementor-field-group-name,
  .ag-quote-form .elementor-field-group-message,
  .ag-quote-form .elementor-field-group-budget,
  .ag-quote-form .e-form__buttons,
  .ag-quote-form .elementor-col-50 {
    grid-column: 1 / -1 !important;
  }

  .ag-quote-form .elementor-field-group-budget .elementor-field-subgroup {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ag-quote-form .elementor-field-group-budget input[type="radio"] + label {
    min-height: 52px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 14px !important;
  }
}
.ag-quote-form .elementor-field-group-requirevisit,
.ag-quote-form .elementor-field-group-gateinfo {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-top: 8px !important;
}

/* Labels */
.ag-quote-form .elementor-field-group-requirevisit > .elementor-field-label,
.ag-quote-form .elementor-field-group-gateinfo > .elementor-field-label {
  display: block !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  margin-bottom: 14px !important;
}

/* Require visit: 3 columns */
.ag-quote-form .elementor-field-group-requirevisit .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Gate info: 2 columns */
.ag-quote-form .elementor-field-group-gateinfo .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Each option */
.ag-quote-form .elementor-field-group-requirevisit .elementor-field-option,
.ag-quote-form .elementor-field-group-gateinfo .elementor-field-option {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Hide default radio */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"],
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

/* Styled radio card */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"] + label,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"] + label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 13px 16px 13px 44px !important;
  background: #F8FAFC !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 12px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

/* Radio circle */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"] + label::before,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"] + label::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 17px;
  height: 17px;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 2px solid #9CA3AF;
  background: #ffffff;
  box-sizing: border-box;
  transition: all 0.25s ease;
}

/* Radio dot */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"] + label::after,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"] + label::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 50%;
  width: 7px;
  height: 7px;
  transform: translateY(-50%) scale(0);
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.25s ease;
}

/* Hover */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"] + label:hover,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"] + label:hover {
  border-color: #ef1c26 !important;
  background: #ffffff !important;
}

/* Checked state */
.ag-quote-form .elementor-field-group-requirevisit input[type="radio"]:checked + label,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"]:checked + label {
  background: #ef1c26 !important;
  border-color: #ef1c26 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(239, 28, 38, 0.22) !important;
}

.ag-quote-form .elementor-field-group-requirevisit input[type="radio"]:checked + label::before,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"]:checked + label::before {
  border-color: #ffffff !important;
  background: transparent !important;
}

.ag-quote-form .elementor-field-group-requirevisit input[type="radio"]:checked + label::after,
.ag-quote-form .elementor-field-group-gateinfo input[type="radio"]:checked + label::after {
  transform: translateY(-50%) scale(1) !important;
}

/* Mobile */
@media (max-width: 767px) {
  .ag-quote-form .elementor-field-group-requirevisit .elementor-field-subgroup,
  .ag-quote-form .elementor-field-group-gateinfo .elementor-field-subgroup {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ag-quote-form .elementor-field-group-requirevisit input[type="radio"] + label,
  .ag-quote-form .elementor-field-group-gateinfo input[type="radio"] + label {
    min-height: 52px !important;
    font-size: 14px !important;
  }
}/* End custom CSS */