.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-3140ef5:#092731;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Luxury Lifestyle Homes – Gravity Forms styling
   Works on both the header (multi-step) and footer forms.

   Setup
   1. Form Settings › Form Layout › CSS Class Name
      Header form CSS Class Name:  llh-form
   2. Embed with the Gravity Forms 2.5 theme, not Orbital, e.g.
      [gravityform id="X" title="false" description="false" ajax="true" theme="gravity-theme"]
   3. Paste this into Elementor › Site Settings › Custom CSS (or the theme's
      Additional CSS). Hanken Grotesk must already be loaded on the site.
      Footer form CSS Class Name:  llh-form llh-footer-form
   4. After saving, Elementor › Tools › Regenerate CSS & Data, then clear any
      page cache and hard refresh.
   ========================================================================== */

body .gform_wrapper form.llh-form.llh-form {
  --llh-navy: #092731;
  --llh-gold: #bc7f0a;
  --llh-gold-text: #8a5c05;
  --llh-ink-muted: #4b6168;
  --llh-line: #dcd6cc;
  --llh-ctrl: #9aa8ac;
  --llh-placeholder: #6b7d82;
  --llh-error: #a3261b;
  --llh-font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  font-family: var(--llh-font);
  color: var(--llh-navy);
  margin: 0;
}

/* ---------- Field spacing ---------- */
body .gform_wrapper form.llh-form.llh-form .gform_fields {
  row-gap: 20px;
}
body .gform_wrapper form.llh-form.llh-form .gfield {
  margin: 0;
}

/* ---------- Progress bar (header form) ---------- */
body .gform_wrapper form.llh-form.llh-form .gf_progressbar_wrapper {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}
body .gform_wrapper form.llh-form.llh-form .gf_progressbar_title {
  margin: 0 0 10px;
  font: 400 14px/1.5 var(--llh-font);
  color: var(--llh-ink-muted);
}
body .gform_wrapper form.llh-form.llh-form .gf_progressbar {
  height: 3px;
  padding: 0;
  border-radius: 0;
  background: var(--llh-line);
  box-shadow: none;
}
body .gform_wrapper form.llh-form.llh-form .gf_progressbar_percentage {
  height: 3px;
  border-radius: 0;
  background: var(--llh-gold);
  transition: width 300ms ease;
}
body .gform_wrapper form.llh-form.llh-form .gf_progressbar_percentage span {
  display: none; /* hides the "25%" text */
}

/* ---------- Labels ---------- */
body .gform_wrapper form.llh-form.llh-form .gfield_label,
body .gform_wrapper form.llh-form.llh-form legend.gfield_label {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  font: 600 16px/1.35 var(--llh-font);
  color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form .gfield_required {
  margin-left: 6px;
  font: 500 12px/1 var(--llh-font);
  color: var(--llh-gold-text);
}
body .gform_wrapper form.llh-form.llh-form .gfield_description {
  padding: 6px 0 0;
  font: 400 14px/1.5 var(--llh-font);
  color: var(--llh-ink-muted);
}

/* ---------- Text, phone, email and dropdown ---------- */
body .gform_wrapper form.llh-form.llh-form input[type="text"],
body .gform_wrapper form.llh-form.llh-form input[type="tel"],
body .gform_wrapper form.llh-form.llh-form input[type="email"],
body .gform_wrapper form.llh-form.llh-form select {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--llh-ctrl);
  border-radius: 2px;
  background-color: #ffffff;
  box-shadow: none;
  font: 400 16px/1.2 var(--llh-font); /* 16px stops iOS zooming in */
  color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form input::placeholder {
  color: var(--llh-placeholder);
  opacity: 1;
}
body .gform_wrapper form.llh-form.llh-form input:hover,
body .gform_wrapper form.llh-form.llh-form select:hover {
  border-color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form input:focus-visible,
body .gform_wrapper form.llh-form.llh-form select:focus-visible {
  outline: 2px solid var(--llh-gold);
  outline-offset: 2px;
  border-color: var(--llh-navy);
}

/* ---------- Radio choices as buttons ---------- */
body .gform_wrapper form.llh-form.llh-form .gfield_radio {
  display: flex !important;
  flex-direction: column; /* stacked, full width (header) */
  gap: 10px !important; /* space between the choice buttons, both directions */
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio .gchoice {
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 0;
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio label {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--llh-ctrl);
  border-radius: 2px;
  background: #ffffff;
  font: 500 15px/1.3 var(--llh-font);
  color: var(--llh-navy);
  cursor: pointer;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio label:hover {
  border-color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio input:checked + label {
  background: var(--llh-navy);
  border-color: var(--llh-navy);
  color: #ffffff;
}
body .gform_wrapper form.llh-form.llh-form .gfield_radio input:focus-visible + label {
  outline: 2px solid var(--llh-gold);
  outline-offset: 2px;
}

/* Footer form: choices in a row (header stays stacked) */
body .gform_wrapper form.llh-form.llh-footer-form .gfield_radio {
  flex-direction: row;
  flex-wrap: wrap;
}
body .gform_wrapper form.llh-form.llh-footer-form .gfield_radio label {
  width: auto;
  justify-content: center;
}

/* ---------- Buttons ---------- */
body .gform_wrapper form.llh-form.llh-form .gform_page_footer,
body .gform_wrapper form.llh-form.llh-form .gform_footer {
  display: flex;
  flex-direction: column-reverse; /* Next on top, Back underneath */
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
}
body .gform_wrapper form.llh-form.llh-form .gform_next_button,
body .gform_wrapper form.llh-form.llh-form .gform_button {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 16px 32px;
  border: 1px solid var(--llh-navy);
  border-radius: 2px;
  background: var(--llh-navy);
  color: #ffffff;
  font: 600 14px/1 var(--llh-font);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 200ms ease, border-color 200ms ease;
}
body .gform_wrapper form.llh-form.llh-form .gform_next_button:hover {
  background: #0f3340;
  border-color: #0f3340;
}
/* Final submit ("Next, pick a call time") in gold, as on the footer form */
body .gform_wrapper form.llh-form.llh-form .gform_button {
  background: var(--llh-gold);
  border-color: var(--llh-gold);
  color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form .gform_button:hover {
  background: #a66f08;
  border-color: #a66f08;
}
body .gform_wrapper form.llh-form.llh-form .gform_previous_button {
  align-self: center;
  margin: 0;
  padding: 8px 4px;
  border: 0;
  background: none;
  color: var(--llh-ink-muted);
  font: 500 14px/1 var(--llh-font);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
body .gform_wrapper form.llh-form.llh-form .gform_previous_button:hover {
  color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form .gform_next_button:focus-visible,
body .gform_wrapper form.llh-form.llh-form .gform_button:focus-visible,
body .gform_wrapper form.llh-form.llh-form .gform_previous_button:focus-visible {
  outline: 2px solid var(--llh-gold);
  outline-offset: 2px;
}

/* Footer form on desktop: right-aligned button, as in the design */
@media (min-width: 768px) {
  body .gform_wrapper form.llh-form.llh-footer-form .gform_footer {
    align-items: flex-end;
  }
  body .gform_wrapper form.llh-form.llh-footer-form .gform_button {
    width: auto;
  }
}

/* ---------- Validation ---------- */
body .gform_wrapper form.llh-form.llh-form .gform_validation_errors {
  margin: 0 0 20px;
  padding: 12px 16px;
  border: 1px solid var(--llh-error);
  border-radius: 2px;
  background: #fbf1ef;
  box-shadow: none;
}
body .gform_wrapper form.llh-form.llh-form .gform_validation_errors h2 {
  font: 600 14px/1.4 var(--llh-font);
  color: var(--llh-error);
}
body .gform_wrapper form.llh-form.llh-form .gfield_error input,
body .gform_wrapper form.llh-form.llh-form .gfield_error select,
body .gform_wrapper form.llh-form.llh-form .gfield_error .gfield_radio label {
  border-color: var(--llh-error);
}
body .gform_wrapper form.llh-form.llh-form .gfield_error .gfield_label {
  color: var(--llh-navy);
}
body .gform_wrapper form.llh-form.llh-form .gfield_validation_message {
  margin: 6px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font: 500 13px/1.4 var(--llh-font);
  color: var(--llh-error);
}

/* AJAX spinner sits under the button rather than beside it */
body .gform_wrapper form.llh-form.llh-form .gform_ajax_spinner {
  align-self: center;
}

/* ---------- Footer form padding ---------- */
body .gform_wrapper form.llh-form.llh-footer-form {
  padding: 24px;
}
@media (min-width: 768px) {
  body .gform_wrapper form.llh-form.llh-footer-form {
    padding: 48px 56px;
  }
}/* End custom CSS */