/* Contact / Get a Quote page (/get-a-quote/): layout and form styling.
   Only the presentation changes. The text, the three maps and the Service
   Autopilot form (its fields, script and submission) are left exactly as they
   are; the rules below only restyle the form's existing markup. */

/* Intro and form side by side on wide screens; stacked on phones. */
body.elementor-page-2738 .elementor-element-0d48414,
body.elementor-page-2738 .elementor-element-f5d36c9 { display: none; }

body.elementor-page-2738 .elementor-element-3f53968 { padding: 56px 20px 24px; }
body.elementor-page-2738 .elementor-element-3f53968 > .elementor-container { max-width: 1180px; }
body.elementor-page-2738 .elementor-element-07a0901 > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
body.elementor-page-2738 .elementor-element-1aff3b3,
body.elementor-page-2738 .elementor-element-f4ef7ab { width: 100%; margin: 0 !important; }

/* Intro: a dark Concept D card with the instructions. */
body.elementor-page-2738 .elementor-element-1aff3b3 > .elementor-widget-container {
  background: #0F1A13;
  color: #C9D6CC;
  border-radius: 12px;
  padding: 32px 28px;
  text-align: left !important;
}
body.elementor-page-2738 .elementor-element-1aff3b3 :is(p, div, span, strong, em) {
  color: #C9D6CC !important;
  text-align: left !important;
}
body.elementor-page-2738 .elementor-element-1aff3b3 p { margin: 0 0 14px; font-size: 16px; line-height: 1.65; }
body.elementor-page-2738 .elementor-element-1aff3b3 p:first-child,
body.elementor-page-2738 .elementor-element-1aff3b3 p:last-child,
body.elementor-page-2738 .elementor-element-1aff3b3 p:first-child *,
body.elementor-page-2738 .elementor-element-1aff3b3 p:last-child * { color: #FFFFFF !important; font-weight: 800; font-size: 18px; }
body.elementor-page-2738 .elementor-element-1aff3b3 p:last-child { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid #1F3326; }
body.elementor-page-2738 .elementor-element-1aff3b3 a { color: #82C449 !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.elementor-page-2738 .elementor-element-1aff3b3 a:hover { color: #B9E08F !important; }
body.elementor-page-2738 .elementor-element-1aff3b3 em { font-style: normal; }

/* Form: a white card. */
body.elementor-page-2738 .elementor-element-f4ef7ab > .elementor-widget-container {
  background: #FFFFFF;
  border: 1px solid #DDE3DC;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(15, 26, 19, 0.08);
  padding: 32px 28px 20px;
}

@media (min-width: 1025px) {
  body.elementor-page-2738 .elementor-element-07a0901 > .elementor-widget-wrap {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.45fr);
    gap: 40px;
  }
  body.elementor-page-2738 .elementor-element-1aff3b3 { grid-column: 1; grid-row: 1; position: sticky; top: 120px; }
  body.elementor-page-2738 .elementor-element-f4ef7ab { grid-column: 2; grid-row: 1; }
  body.elementor-page-2738 .elementor-element-f4ef7ab > .elementor-widget-container { padding: 40px 40px 24px; }
}

/* The form's own markup (Service Autopilot classes). */
body.elementor-page-2738 .sa-form { max-width: none; background: transparent; }
body.elementor-page-2738 .sa-form-page[style*="block"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  padding: 0;
}
body.elementor-page-2738 .sa-form-page > * { grid-column: 1 / -1; }
body.elementor-page-2738 .sa-form-page > :is([data-field="4"], [data-field="5"], [data-field="6"], [data-field="7"], [data-field="10"], [data-field="11"]) { grid-column: auto; }
body.elementor-page-2738 .sa-form-field { margin: 0 0 20px !important; }
body.elementor-page-2738 .sa-form-field p { margin: 0 0 7px; font-size: 15px; line-height: 1.4; color: #0F1A13; }
body.elementor-page-2738 .sa-form-field p * { color: #0F1A13 !important; }
body.elementor-page-2738 .sa-required::before { color: #B42318; }

/* Title, intro line and divider at the top of the form. */
body.elementor-page-2738 .sa-form-field[data-field="1"] { font-size: 28px !important; line-height: 1.15; margin-bottom: 10px !important; }
body.elementor-page-2738 .sa-form-field[data-field="1"] * { color: #0F1A13 !important; font-weight: 800; letter-spacing: -0.02em; }
body.elementor-page-2738 .sa-form-field[data-field="2"] { font-size: 16px; line-height: 1.6; }
body.elementor-page-2738 .sa-form-field[data-field="2"] * { color: #3E4A42 !important; }
body.elementor-page-2738 .sa-form-divider { border-bottom: 2px solid #F3F5F2 !important; margin: 4px 0 24px !important; }

/* The address group heading. */
body.elementor-page-2738 .sa-form-field[data-field="8"] {
  font-size: 18px !important; line-height: 1.3;
  margin: 8px 0 16px !important; padding-top: 22px; border-top: 2px solid #F3F5F2;
}
body.elementor-page-2738 .sa-form-field[data-field="8"] * { color: #2F6B1E !important; font-weight: 800; }

/* Inputs: full width of their cell, comfortable to tap. */
body.elementor-page-2738 .sa-input-wrapper { width: 100% !important; }
body.elementor-page-2738 .sa-input {
  width: 100% !important;
  height: 50px;
  padding: 12px 14px !important;
  border: 1px solid #C3CEC6 !important;
  border-radius: 8px !important;
  background: #FFFFFF;
  font-size: 16px !important;
  color: #0F1A13;
  transition: border-color .18s ease, box-shadow .18s ease;
}
body.elementor-page-2738 textarea.sa-input { height: auto; min-height: 140px; }
body.elementor-page-2738 .sa-input:hover { border-color: #8FA396 !important; }
body.elementor-page-2738 .sa-input:focus { border-color: #2F6B1E !important; box-shadow: 0 0 0 3px rgba(130, 196, 73, 0.35); outline: none; }
body.elementor-page-2738 .sa-input::placeholder { color: #7C8A80; }
body.elementor-page-2738 .sa-invalid { border-color: #B42318 !important; background: #FEF3F2 !important; }

/* File picker and submit button. */
body.elementor-page-2738 .sa-chooseFile {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 10px 20px; border: 2px dashed #8FA396; border-radius: 8px;
  background: #F3F5F2; color: #0F1A13; font-weight: 700; font-size: 15px; cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease;
}
body.elementor-page-2738 .sa-chooseFile:hover { border-color: #2F6B1E; background: #EEF3EA; }
body.elementor-page-2738 .sa-form-page-nav { margin: 8px 0 12px !important; padding: 0; }
body.elementor-page-2738 .sa-form-page-submit {
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  height: 54px !important; line-height: 54px !important;
  background-color: #F5A300 !important; color: #0F1A13 !important;
  border-radius: 6px !important; font-size: 17px;
  filter: none !important;
  transition: background-color .18s ease, transform .18s cubic-bezier(.2, .7, .2, 1), box-shadow .18s ease;
}
body.elementor-page-2738 .sa-form-page-submit:hover { background-color: #FFB72B !important; box-shadow: 0 8px 22px rgba(245, 163, 0, 0.32); }
body.elementor-page-2738 .sa-form-page-submit strong { color: #0F1A13; }
body.elementor-page-2738 .sa-form-confirmation-message { padding: 24px; font-size: 18px; color: #2F6B1E; }

@media (max-width: 600px) {
  body.elementor-page-2738 .sa-form-page[style*="block"] { grid-template-columns: minmax(0, 1fr); }
  body.elementor-page-2738 .sa-form-page > * { grid-column: 1 / -1 !important; }
  body.elementor-page-2738 .elementor-element-f4ef7ab > .elementor-widget-container { padding: 24px 18px 12px; }
}

/* Rating, maps and contact details below the form. */
body.elementor-page-2738 .elementor-element-ba43c8d { padding: 32px 20px 72px; }
body.elementor-page-2738 .elementor-element-ba43c8d > .elementor-container { max-width: 1180px; }
body.elementor-page-2738 .elementor-element-462968c { margin: 24px 0 8px; }
body.elementor-page-2738 .elementor-element-462968c .elementor-widget-google_maps iframe {
  border-radius: 12px; border: 1px solid #DDE3DC; display: block;
}
body.elementor-page-2738 .elementor-element-b5f0df4 > .elementor-widget-container {
  max-width: 900px; margin: 16px auto 0; padding: 32px 28px;
  background: #F3F5F2; border-radius: 12px;
}

/* The five-star line is set at 3.2em; keep it inside the smallest phones. */
body.elementor-page-2738 .elementor-element-f971d3d span[style*="3.2em"] { font-size: min(3.2em, 15vw) !important; }
