.elementor-4518 .elementor-element.elementor-element-4dd7678{--display:flex;}#elementor-popup-modal-4518 .dialog-widget-content{animation-duration:0.8s;background-color:var( --e-global-color-astglobalcolor4 );border-radius:0px 0px 0px 0px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-4518{background-color:rgba(0,0,0,.8);justify-content:flex-end;align-items:center;pointer-events:all;}#elementor-popup-modal-4518 .dialog-message{width:800px;height:100vh;align-items:flex-start;padding:30px 30px 30px 30px;}#elementor-popup-modal-4518 .dialog-close-button{display:flex;top:0%;background-color:var( --e-global-color-74fde9a );font-size:23px;}body:not(.rtl) #elementor-popup-modal-4518 .dialog-close-button{right:97.1%;}body.rtl #elementor-popup-modal-4518 .dialog-close-button{left:97.1%;}#elementor-popup-modal-4518 .dialog-close-button i{color:var( --e-global-color-7f4cfc96 );}#elementor-popup-modal-4518 .dialog-close-button svg{fill:var( --e-global-color-7f4cfc96 );}#elementor-popup-modal-4518 .dialog-close-button:hover i{color:var( --e-global-color-7f4cfc96 );}#elementor-popup-modal-4518 .dialog-close-button:hover{background-color:#B91C1CB0;}@media(max-width:767px){#elementor-popup-modal-4518 .dialog-close-button{top:0px;}body:not(.rtl) #elementor-popup-modal-4518 .dialog-close-button{right:0%;}body.rtl #elementor-popup-modal-4518 .dialog-close-button{left:0%;}#elementor-popup-modal-4518 .dialog-message{padding:20px 20px 20px 20px;}}/* Start custom CSS for shortcode, class: .elementor-element-0776220 *//* ==========================================================================
   Redstone Manufacturing - Gravity Form #5 Custom Styles
   Pixel-perfect match to the quote-form-demo design
   ========================================================================== */

/* ---------- Google Font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* ---------- Page Background ---------- */
.elementor-element-ebcf7c2,
.elementor-element-ebcf7c2 > .e-con-inner {
  background: #EBEBEB !important;
  padding: 48px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#gform_wrapper_5 {
    display: block !important;
}

/* ---------- Form Wrapper ---------- */
#gform_wrapper_5 {
  font-family: 'Montserrat', sans-serif !important;
  background: #fff !important;
  width: 100% !important;
  max-width: 740px !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04),
              0 4px 16px rgba(0,0,0,0.06),
              0 16px 48px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1.7 !important;
  font-size: 16px !important;
  color: #1a1a1a !important;
}

#gform_wrapper_5 * {
  font-family: 'Montserrat', sans-serif !important;
  box-sizing: border-box !important;
}

/* ---------- Progress Bar - Convert to Step Indicator ---------- */
#gform_wrapper_5 .gf_progressbar_wrapper {
  background: linear-gradient(135deg, #111 0%, #1a1a1a 100%) !important;
  padding: 32px 44px !important;
  border-bottom: 3px solid #B21E24 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

#gform_wrapper_5 .gf_progressbar_title {
  font-size: 1.2em !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Hide ALL default text inside the progress title - only show pseudo-elements */
#gform_wrapper_5 .gf_progressbar_title .gf_step_current_page,
#gform_wrapper_5 .gf_progressbar_title .gf_step_page_count,
#gform_wrapper_5 .gf_progressbar_title .gf_step_page_name {
  display: none !important;
}

#gform_wrapper_5 .gf_progressbar_title {
  font-size: 0 !important;
  overflow: hidden !important;
}

#gform_wrapper_5 .gf_progressbar_title::before {
  content: 'Request a Quote' !important;
  font-size: 19.2px !important;
  font-weight: 800 !important;
  color: #fff !important;
}

#gform_wrapper_5 .gf_progressbar_title::after {
  content: 'Takes about 2 minutes' !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #ccc !important;
  background: rgba(255,255,255,0.07) !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* Hide the default Gravity Forms progress bar (replaced by custom step indicator) */
#gform_wrapper_5 .gf_progressbar {
  display: none !important;
}

/* ---------- Custom Step Indicator ---------- */
#gform_wrapper_5 .rs-step-indicator {
  display: flex !important;
  background: #FAFAFA !important;
  border-bottom: 1px solid #E8E8E8 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step {
  flex: 1 !important;
  text-align: center !important;
  padding: 18px 8px 16px !important;
  font-size: 0.72em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #ccc !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  position: relative !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step.active {
  color: #B21E24 !important;
  background: #fff !important;
  border-bottom-color: #B21E24 !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step.completed {
  color: #16a34a !important;
  background: #f7fdf9 !important;
  border-bottom-color: #16a34a !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step .rs-step-num {
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #ddd !important;
  border-radius: 50% !important;
  font-size: 0.85em !important;
  font-weight: 700 !important;
  margin-bottom: 5px !important;
  transition: all 0.3s !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step.active .rs-step-num {
  border-color: #B21E24 !important;
  color: #B21E24 !important;
  background: #fef6f6 !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step.completed .rs-step-num {
  border-color: #16a34a !important;
  background: #16a34a !important;
  color: #fff !important;
}

#gform_wrapper_5 .rs-step-indicator .rs-step .rs-step-label {
  display: block !important;
  margin-top: 2px !important;
}

/* Progress fill bar under step indicator */
#gform_wrapper_5 .rs-progress-fill {
  height: 3px !important;
  background: #E8E8E8 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#gform_wrapper_5 .rs-progress-fill-bar {
  height: 100% !important;
  background: linear-gradient(90deg, #B21E24, #d4393f) !important;
  transition: width 0.5s ease !important;
}

/* ---------- Form Body / Pages ---------- */
#gform_wrapper_5 .gform_body {
  padding: 0 !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gform_page {
  padding: 0 !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gform_page_fields {
  padding: 40px 44px 32px !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gform_fields {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  display: block !important;
  grid-template-columns: unset !important;
  grid-column-gap: unset !important;
  grid-row-gap: unset !important;
}

/* ---------- Section Headers (Step Titles) ---------- */
#gform_wrapper_5 .gsection {
  margin-bottom: 36px !important;
  padding: 0 !important;
  border: none !important;
}

#gform_wrapper_5 .gsection .gsection_title {
  font-size: 1.35em !important;
  font-weight: 800 !important;
  color: #111 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: none !important;
}

#gform_wrapper_5 .gsection .gsection_description {
  font-size: 0.92em !important;
  color: #8a8a8a !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- Individual Fields ---------- */
#gform_wrapper_5 .gfield {
  margin-bottom: 28px !important;
  padding: 0 !important;
}

/* Hide honeypot */
#gform_wrapper_5 .gform_validation_container {
  display: none !important;
}

/* ---------- Labels ---------- */
#gform_wrapper_5 .gfield_label,
#gform_wrapper_5 .gfield_label.gform-field-label {
  font-size: 0.95em !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin-bottom: 10px !important;
  display: block !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}

/* Required asterisk */
#gform_wrapper_5 .gfield_required {
  color: #B21E24 !important;
  font-weight: 700 !important;
}

/* Sub-labels (First, Last under Name) */
#gform_wrapper_5 .gform-field-label--type-sub {
  font-size: 0.82em !important;
  color: #a0a0a0 !important;
  font-weight: 500 !important;
  margin-top: 6px !important;
}

/* ---------- Input Fields ---------- */
#gform_wrapper_5 input[type="text"],
#gform_wrapper_5 input[type="email"],
#gform_wrapper_5 input[type="tel"],
#gform_wrapper_5 input[type="url"],
#gform_wrapper_5 input[type="number"],
#gform_wrapper_5 select,
#gform_wrapper_5 textarea {
  width: 100% !important;
  padding: 14px 18px !important;
  font-size: 0.95em !important;
  font-family: 'Montserrat', sans-serif !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  background: #FAFAFA !important;
  color: #1a1a1a !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  outline: none !important;
  -webkit-appearance: none !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

#gform_wrapper_5 input::placeholder,
#gform_wrapper_5 textarea::placeholder {
  color: #c0c0c0 !important;
  font-weight: 400 !important;
}

/* Focus state */
#gform_wrapper_5 input[type="text"]:focus,
#gform_wrapper_5 input[type="email"]:focus,
#gform_wrapper_5 input[type="tel"]:focus,
#gform_wrapper_5 input[type="url"]:focus,
#gform_wrapper_5 input[type="number"]:focus,
#gform_wrapper_5 select:focus,
#gform_wrapper_5 textarea:focus {
  border-color: #B21E24 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(178,30,36,0.06) !important;
}

/* Textarea */
#gform_wrapper_5 textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Select dropdown arrow */
#gform_wrapper_5 select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  padding-right: 44px !important;
  cursor: pointer !important;
}

/* ---------- Name Field (Two-column) ---------- */
#gform_wrapper_5 .ginput_container_name.gform-grid-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

#gform_wrapper_5 .ginput_container_name .name_first,
#gform_wrapper_5 .ginput_container_name .name_last {
  padding: 0 !important;
  margin: 0 !important;
}

/* ---------- Checkbox Fields (Option Cards Style) ---------- */
#gform_wrapper_5 .gfield_checkbox,
#gform_wrapper_5 .gfield--type-checkbox .gfield_checkbox {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gfield_checkbox .gchoice {
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  position: relative !important;
  background: #FAFAFA !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gfield_checkbox .gchoice:hover {
  border-color: #d4393f !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(178,30,36,0.06) !important;
}

/* Hide default checkbox */
#gform_wrapper_5 .gfield_checkbox .gchoice input[type="checkbox"] {
  position: relative !important;
  z-index: 2 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 50% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  background: #fff !important;
  transition: all 0.2s !important;
  flex-shrink: 0 !important;
}

#gform_wrapper_5 .gfield_checkbox .gchoice input[type="checkbox"]:checked {
  border-color: #B21E24 !important;
  background: #B21E24 !important;
}

#gform_wrapper_5 .gfield_checkbox .gchoice input[type="checkbox"]:checked::after {
  content: '\2713' !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Checkbox label — stretched to cover the entire card so clicking anywhere triggers the checkbox */
#gform_wrapper_5 .gfield_checkbox .gchoice label {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  /* 20px card left-padding + 22px checkbox width + 12px gap = 54px */
  padding-left: 54px !important;
  padding-right: 20px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 0.92em !important;
  font-weight: 700 !important;
  color: #222 !important;
  cursor: pointer !important;
  margin: 0 !important;
  z-index: 1 !important;
}

/* Selected card state - using JS-enhanced class or :has */
#gform_wrapper_5 .gfield_checkbox .gchoice:has(input:checked) {
  border-color: #B21E24 !important;
  background: #fef6f6 !important;
  box-shadow: 0 0 0 1px #B21E24, 0 2px 8px rgba(178,30,36,0.08) !important;
}

/* ---------- File Upload ---------- */
#gform_wrapper_5 .gform_drop_area {
  border: 2px dashed #d0d0d0 !important;
  border-radius: 12px !important;
  padding: 40px 24px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  background: #FAFAFA !important;
}

#gform_wrapper_5 .gform_drop_area:hover {
  border-color: #B21E24 !important;
  background: #fef6f6 !important;
}

#gform_wrapper_5 .gform_drop_instructions {
  font-size: 0.95em !important;
  font-weight: 700 !important;
  color: #333 !important;
  display: block !important;
  margin-bottom: 8px !important;
}

#gform_wrapper_5 .gform_drop_area .button,
#gform_wrapper_5 .gform_drop_area button {
  font-size: 0.85em !important;
  font-weight: 600 !important;
  color: #B21E24 !important;
  background: #fef6f6 !important;
  border: 1.5px solid #B21E24 !important;
  border-radius: 6px !important;
  padding: 8px 20px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  margin-top: 4px !important;
}

#gform_wrapper_5 .gform_drop_area .button:hover,
#gform_wrapper_5 .gform_drop_area button:hover {
  background: #B21E24 !important;
  color: #fff !important;
}

/* Upload description */
#gform_wrapper_5 #field_5_30 .gfield_description {
  font-size: 0.82em !important;
  color: #a0a0a0 !important;
  margin-top: 8px !important;
  line-height: 1.5 !important;
  font-style: italic !important;
}

/* Uploaded file items */
#gform_wrapper_5 .ginput_preview_list .ginput_preview {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 14px !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 6px !important;
  margin-bottom: 6px !important;
  font-size: 0.82em !important;
  font-weight: 500 !important;
  color: #166534 !important;
}

/* ---------- Reassurance Box (Contact Page) ---------- */
#field_5_60 .notification-box {
  background: linear-gradient(135deg, #f0fdf4, #ecfdf5) !important;
  border: 1.5px solid #bbf7d0 !important;
  border-radius: 10px !important;
  padding: 18px 22px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

#field_5_60 .notification-box .icon-container {
  flex-shrink: 0 !important;
}

#field_5_60 .notification-box .checkmark {
  font-size: 1.2em !important;
  color: #16a34a !important;
}

#field_5_60 .notification-box .notification-text {
  font-size: 0.88em !important;
  color: #166534 !important;
  margin: 0 !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* ---------- Form Page Footer / Actions ---------- */
#gform_wrapper_5 .gform_page_footer,
#gform_wrapper_5 .gform-page-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 24px 44px 32px !important;
  background: #FAFAFA !important;
  border-top: 1px solid #F0F0F0 !important;
  margin: 0 !important;
}

/* Next Button */
#gform_wrapper_5 .gform_next_button,
#gform_wrapper_5 input.gform_next_button {
  font-size: 0.85em !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #B21E24, #c92a30) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 44px !important;
  cursor: pointer !important;
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 0.06em !important;
  transition: all 0.2s !important;
  box-shadow: 0 2px 8px rgba(178,30,36,0.2) !important;
  margin-left: auto !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

#gform_wrapper_5 .gform_next_button:hover {
  background: linear-gradient(135deg, #8B1519, #a51d22) !important;
  box-shadow: 0 4px 12px rgba(178,30,36,0.3) !important;
  transform: translateY(-1px) !important;
}

/* Previous Button */
#gform_wrapper_5 .gform_previous_button,
#gform_wrapper_5 input.gform_previous_button {
  font-size: 0.82em !important;
  font-weight: 600 !important;
  color: #888 !important;
  background: #fff !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 0.04em !important;
  transition: all 0.2s !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

#gform_wrapper_5 .gform_previous_button:hover {
  color: #333 !important;
  border-color: #999 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}

/* Submit Button */
#gform_wrapper_5 #gform_submit_button_5,
#gform_wrapper_5 input.gform_button {
  font-size: 0.85em !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #16a34a, #1db954) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 48px !important;
  cursor: pointer !important;
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 0.06em !important;
  transition: all 0.2s !important;
  box-shadow: 0 2px 8px rgba(22,163,74,0.25) !important;
  margin-left: auto !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

#gform_wrapper_5 #gform_submit_button_5:hover,
#gform_wrapper_5 input.gform_button:hover {
  background: linear-gradient(135deg, #15803d, #16a34a) !important;
  box-shadow: 0 4px 12px rgba(22,163,74,0.35) !important;
  transform: translateY(-1px) !important;
}

/* ---------- Validation / Error States ---------- */
#gform_wrapper_5 .gfield_error input,
#gform_wrapper_5 .gfield_error select,
#gform_wrapper_5 .gfield_error textarea {
  border-color: #B21E24 !important;
  background: #fef6f6 !important;
}

#gform_wrapper_5 .gfield_error .gfield_label {
  color: #B21E24 !important;
}

#gform_wrapper_5 .validation_message,
#gform_wrapper_5 .gfield_description.validation_message {
  font-size: 0.78em !important;
  color: #B21E24 !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

#gform_wrapper_5 .gform_validation_errors,
#gform_wrapper_5 .validation_error {
  background: #fef6f6 !important;
  border: 1.5px solid #B21E24 !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin-bottom: 24px !important;
  color: #B21E24 !important;
  font-size: 0.88em !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* ---------- Description / Helper Text ---------- */
#gform_wrapper_5 .gfield_description:not(.validation_message) {
  font-size: 0.82em !important;
  color: #a0a0a0 !important;
  margin-top: 8px !important;
  line-height: 1.5 !important;
  font-style: italic !important;
}

/* ---------- Hidden Fields ---------- */
#gform_wrapper_5 .gfield--type-hidden {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- ginput_container spacing ---------- */
#gform_wrapper_5 .ginput_container {
  margin-top: 0 !important;
}

/* ---------- Heading (hide default) ---------- */
#gform_wrapper_5 .gform_heading {
  display: none !important;
}

/* ---------- Form step animation ---------- */
#gform_wrapper_5 .gform_page {
  animation: gfFadeIn 0.3s ease !important;
}

@keyframes gfFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- Trust Bar (after form via pseudo-element) ---------- */
#gform_wrapper_5::after {
  content: '\1F3C5 ISO 9001 \00a0\00a0\00a0 \1F3C5 IATF 16949 \00a0\00a0\00a0 \1F512 Secure Submission' !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 18px 24px !important;
  background: #F5F5F5 !important;
  border-top: 1px solid #eee !important;
  font-size: 0.72em !important;
  font-weight: 600 !important;
  color: #999 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* ---------- RESPONSIVE - Tablet (max-width: 780px) ---------- */
@media (max-width: 780px) {
  #gform_wrapper_5 {
    max-width: 100% !important;
  }

  #gform_wrapper_5 .gform_page_fields {
    padding: 36px 32px 28px !important;
  }

  #gform_wrapper_5 .gform_page_footer,
  #gform_wrapper_5 .gform-page-footer {
    padding: 20px 32px 28px !important;
  }
}

/* ---------- RESPONSIVE - Mobile (max-width: 640px) ---------- */
@media (max-width: 640px) {
  .elementor-element-ebcf7c2,
  .elementor-element-ebcf7c2 > .e-con-inner {
    padding: 12px !important;
    align-items: flex-start !important;
  }

  #gform_wrapper_5 {
    border-radius: 10px !important;
    font-size: 15px !important;
  }

  #gform_wrapper_5 .gf_progressbar_wrapper {
    padding: 20px 20px !important;
  }

  #gform_wrapper_5 .gf_progressbar_title {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  #gform_wrapper_5 .gf_progressbar_title::before {
    font-size: 1em !important;
  }

  #gform_wrapper_5 .gf_progressbar_title::after {
    font-size: 0.65em !important;
    padding: 4px 10px !important;
  }

  #gform_wrapper_5 .rs-step-indicator .rs-step {
    padding: 12px 4px !important;
    font-size: 0.6em !important;
  }

  #gform_wrapper_5 .rs-step-indicator .rs-step .rs-step-num {
    width: 22px !important;
    height: 22px !important;
    font-size: 0.78em !important;
    margin-bottom: 3px !important;
  }

  #gform_wrapper_5 .rs-step-indicator .rs-step .rs-step-label {
    display: none !important;
  }

  #gform_wrapper_5 .gform_page_fields {
    padding: 24px 16px 20px !important;
  }

  #gform_wrapper_5 .gform_page_footer,
  #gform_wrapper_5 .gform-page-footer {
    padding: 16px 16px 24px !important;
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  /* Full-width buttons on mobile */
  #gform_wrapper_5 .gform_next_button,
  #gform_wrapper_5 input.gform_next_button,
  #gform_wrapper_5 #gform_submit_button_5,
  #gform_wrapper_5 input.gform_button,
  #gform_wrapper_5 .gform_previous_button,
  #gform_wrapper_5 input.gform_previous_button {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
    margin-left: 0 !important;
    justify-content: center !important;
  }

  /* Single column for name fields */
  #gform_wrapper_5 .ginput_container_name.gform-grid-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Single column for checkbox cards */
  #gform_wrapper_5 .gfield_checkbox {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Adjust checkbox card label padding for smaller screens */
  #gform_wrapper_5 .gfield_checkbox .gchoice label {
    padding-left: 50px !important;
    padding-right: 16px !important;
  }

  /* Checkbox card padding on mobile */
  #gform_wrapper_5 .gfield_checkbox .gchoice {
    padding: 16px 16px !important;
  }

  /* Tighten field spacing */
  #gform_wrapper_5 .gfield {
    margin-bottom: 20px !important;
  }

  #gform_wrapper_5 .gsection {
    margin-bottom: 24px !important;
  }

  #gform_wrapper_5 .gsection .gsection_title {
    font-size: 1.15em !important;
  }

  /* File upload area */
  #gform_wrapper_5 .gform_drop_area {
    padding: 28px 16px !important;
  }

  /* Input fields */
  #gform_wrapper_5 input[type="text"],
  #gform_wrapper_5 input[type="email"],
  #gform_wrapper_5 input[type="tel"],
  #gform_wrapper_5 input[type="number"],
  #gform_wrapper_5 select,
  #gform_wrapper_5 textarea {
    padding: 12px 14px !important;
    font-size: 16px !important; /* Prevent iOS zoom on focus */
  }
}

/* ---------- RESPONSIVE - Extra Small (max-width: 380px) ---------- */
@media (max-width: 380px) {
  .elementor-element-ebcf7c2,
  .elementor-element-ebcf7c2 > .e-con-inner {
    padding: 8px !important;
  }

  #gform_wrapper_5 .gf_progressbar_wrapper {
    padding: 16px !important;
  }

  #gform_wrapper_5 .gform_page_fields {
    padding: 20px 14px 16px !important;
  }

  #gform_wrapper_5 .gform_page_footer,
  #gform_wrapper_5 .gform-page-footer {
    padding: 14px 14px 20px !important;
  }
}


.gfield {
    display: block !important;
}
.name_last,
.name_first {
    width: 100% !important;
}

.name_last label,
.name_first label {
    display: none !important;
}
@media (min-width: 1024px) {
  #gform_wrapper_5 .gfield_checkbox .gchoice label {
    min-width: 320px !important;
  }
}

@media (max-width: 1024px) {
  #gform_wrapper_5 .gfield_checkbox .gchoice label {
   font-size: 12px !important;
   letter-spacing: -0.5px !important;
   min-width: -webkit-fill-available !important;
  }
}/* End custom CSS */