/**
 * Landing page — layout chrome only. Section look/feel uses homepage design-2 CSS.
 */

/* Hide global site header/footer — landing is self-contained */
body.fll-landing-page .elementor-location-header,
body.fll-landing-page .elementor-location-footer,
body.fll-landing-page header[data-elementor-type="wpr-theme-builder-header"],
body.fll-landing-page footer[data-elementor-type="wpr-theme-builder-footer"],
body.fll-landing-page .wpr-sticky-header-yes,
body.fll-landing-page .elementor-117,
body.fll-landing-page .elementor-120,
body.fll-landing-page .e-con.header-v2,
body.fll-landing-page .header.header-v2 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.fll-landing-page {
  padding-top: 0 !important;
}

body.fll-landing-page .site-content,
body.fll-landing-page #content,
body.fll-landing-page .ast-separate-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

/* Trust bar */
.fll-landing-trust-bar,
.fll-landing-trust-bar > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}

.fll-landing-trust-bar__text,
.fll-landing-trust-bar .elementor-heading-title,
.fll-landing-trust-bar__wrap,
.fll-landing-trust-bar__wrap p {
  margin: 0 !important;
  text-align: center !important;
  color: #ffffff !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.fll-landing-trust-bar .fll-trust-stars {
  color: #f0b429 !important;
  letter-spacing: 0.04em;
}

/* Landing header — logo left, call pill right (match site header) */
.fll-landing-header,
.fll-landing-header.e-con {
  flex-wrap: nowrap !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.fll-landing-header-inner,
.fll-landing-header-inner.e-con,
.fll-landing-header-inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: min(1200px, 92vw) !important;
  margin-inline: auto !important;
  gap: 0.75rem !important;
}

.fll-landing-header .logo.logo-v2,
.fll-landing-header .elementor-widget-image.logo-v2 {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

.fll-landing-header .logo-v2 img,
.fll-landing-header .logo img,
.fll-landing-header .elementor-widget-image.logo-v2 img,
.fll-landing-header .fll-landing-header-logo img {
  width: auto !important;
  height: 120px !important;
  max-width: none !important;
}

.fll-landing-header .elementor-widget-image.logo-v2,
.fll-landing-header .elementor-widget-image.fll-landing-header-logo,
.fll-landing-header .elementor-widget-image.logo-v2 .elementor-widget-container,
.fll-landing-header .elementor-widget-image.fll-landing-header-logo .elementor-widget-container,
.fll-landing-header .elementor-widget-image.logo-v2 a,
.fll-landing-header .elementor-widget-image.fll-landing-header-logo a {
  width: auto !important;
  max-width: none !important;
}

.fll-landing-header-call,
.fll-landing-header-call.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: auto !important;
}

.fll-landing-header-call > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: auto !important;
  gap: 0.35rem !important;
}

.fll-landing-header-call__label,
.fll-landing-header-call__label .elementor-heading-title {
  margin: 0 !important;
  text-align: right !important;
  font-family: var(--font-body) !important;
  font-size: 0.6875rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--green-dark) !important;
  line-height: 1.2 !important;
}

.fll-landing-header-call .elementor-widget-button.header-v2-phone {
  width: auto !important;
}

.fll-landing-header-call .elementor-widget-button.header-v2-phone .elementor-button,
.fll-landing-header-call .fll-btn-phone .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  background: var(--green-dark) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.55rem 1rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.fll-landing-header-call .fll-btn-phone .elementor-button-content-wrapper {
  gap: 0.65rem !important;
}

.fll-landing-header-call .fll-btn-phone .elementor-button-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.fll-landing-header-call .fll-btn-phone .elementor-button-text::before {
  margin-right: 0.15rem !important;
}

.fll-landing-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08) !important;
}

/* Hero — full overlay like homepage; form sits on white card only */
body.fll-landing-page .fll-landing-hero.e-con,
body.fll-landing-page .e-con.fll-landing-hero {
  position: relative !important;
}

body.fll-landing-page .fll-landing-hero.e-con::before,
body.fll-landing-page .e-con.fll-landing-hero::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    160deg,
    rgba(15, 35, 18, 0.9) 0%,
    rgba(22, 55, 26, 0.85) 45%,
    rgba(18, 42, 20, 0.92) 100%
  ) !important;
}

body.fll-landing-page .fll-landing-hero > .elementor-background,
body.fll-landing-page .e-con.fll-landing-hero > .elementor-background {
  z-index: 0 !important;
}

body.fll-landing-page .fll-landing-hero > .elementor-background-overlay,
body.fll-landing-page .e-con.fll-landing-hero > .elementor-background-overlay {
  opacity: 1 !important;
  z-index: 1 !important;
  background: linear-gradient(
    160deg,
    rgba(15, 35, 18, 0.9) 0%,
    rgba(22, 55, 26, 0.85) 45%,
    rgba(18, 42, 20, 0.92) 100%
  ) !important;
  mix-blend-mode: normal !important;
}

body.fll-landing-page .fll-landing-hero > .e-con-inner,
body.fll-landing-page .fll-landing-hero .hero-v2-layout,
body.fll-landing-page .fll-landing-hero .hero-v2-layout > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
}

body.fll-landing-page .fll-landing-hero-panel.e-con,
body.fll-landing-page .e-con.fll-landing-hero-panel,
body.fll-landing-page .fll-landing-hero .hero-v2-panel {
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.fll-landing-page .fll-landing-hero-panel > .e-con-inner {
  padding: 0 !important;
}

/* Hero — pipe-separated services line + mobile CTA swap */
.fll-landing-hero-services-line,
.fll-landing-hero-services-line p {
  margin: 0 0 1.5rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  letter-spacing: 0.02em !important;
}

.fll-landing-hero-call {
  display: inline-flex !important;
}

body.fll-landing-page .fll-landing-hero-call.fll-btn-phone .elementor-button,
body.fll-landing-page .fll-landing-hero-call.fll-btn-phone .elementor-button-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.fll-landing-page .fll-landing-hero-call.fll-btn-phone .elementor-button-content-wrapper {
  gap: 0.65rem !important;
}

body.fll-landing-page .fll-landing-hero-call.fll-btn-phone .elementor-button-text::before {
  margin-right: 0.2rem !important;
}

/* Hero form card */
.fll-landing-form-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28) !important;
  padding: 1.5rem 1.5rem 1rem !important;
  width: 100% !important;
}

.fll-landing-form-card__title {
  margin: 0 0 1rem !important;
  font-family: var(--font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--green-dark) !important;
  text-align: center !important;
}

.fll-landing-hero-panel .fll-ghl-form-embed {
  min-height: 420px !important;
  width: 100% !important;
}

.fll-landing-hero-panel .fll-ghl-form-embed iframe {
  min-height: 420px !important;
  border-radius: 10px !important;
}

/* Inline section CTAs */
.fll-landing-cta.fll-section-cta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.875rem !important;
  width: 100% !important;
}

.fll-btn-with-phone .fll-phone-icon {
  color: var(--green-dark);
}

/* Dark sections — white estimate + outline phone */
body.fll-landing-page .e-con.area .section-desc,
body.fll-landing-page .e-con.area .elementor-widget-text-editor.section-desc,
body.fll-landing-page .e-con.area .elementor-widget-text-editor.section-desc .elementor-widget-container {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.fll-landing-page .e-con.fll-landing-final-cta .fll-landing-cta-estimate {
  background: #ffffff !important;
  color: var(--green-dark) !important;
  border-color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18) !important;
}

body.fll-landing-page .e-con.area .fll-landing-cta-estimate:hover,
body.fll-landing-page .e-con.fll-landing-final-cta .fll-landing-cta-estimate:hover {
  background: var(--green-pale) !important;
  color: var(--green-dark) !important;
  border-color: var(--green-pale) !important;
}

body.fll-landing-page .e-con.area .fll-landing-cta-phone,
body.fll-landing-page .e-con.fll-landing-final-cta .fll-landing-cta-phone {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.75) !important;
  box-shadow: none !important;
}

body.fll-landing-page .e-con.area .fll-landing-cta-phone:hover,
body.fll-landing-page .e-con.fll-landing-final-cta .fll-landing-cta-phone:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

body.fll-landing-page .e-con.area .fll-landing-cta-phone .fll-phone-icon,
body.fll-landing-page .e-con.fll-landing-final-cta .fll-landing-cta-phone .fll-phone-icon {
  color: #ffffff !important;
}

/* Light sections — green estimate + white phone */
body.fll-landing-page .e-con.services .fll-landing-cta-estimate,
body.fll-landing-page .e-con.intro .fll-landing-cta-estimate {
  background: var(--green-mid) !important;
  color: #ffffff !important;
  border-color: var(--green-mid) !important;
  box-shadow: 0 4px 20px rgba(45, 106, 48, 0.35) !important;
}

body.fll-landing-page .e-con.services .fll-landing-cta-phone .fll-phone-icon,
body.fll-landing-page .e-con.intro .fll-landing-cta-phone .fll-phone-icon {
  color: var(--green-dark) !important;
}

/* Landing page grids — override Elementor flex + generic width:auto resets */
body.fll-landing-page.design-2 .e-con.services-grid,
body.fll-landing-page.design-2 .e-con.why-cards,
body.fll-landing-page.design-2 .e-con.intro-grid {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  --width: 100% !important;
  flex: unset !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

/* 5 cards — center the last row (2 cards) in a 3-column grid */
@media (min-width: 901px) {
  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card {
    grid-column: span 2 !important;
  }

  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card:nth-child(4) {
    grid-column: 2 / span 2 !important;
  }

  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card:nth-child(5) {
    grid-column: 4 / span 2 !important;
  }
}

body.fll-landing-page.design-2 .e-con.why-cards > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

body.fll-landing-page.design-2 .e-con.why-cards > .e-con-inner > .e-con.why-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  --width: 100% !important;
  height: auto !important;
}

body.fll-landing-page.design-2 .e-con.why-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  width: 100% !important;
  height: auto !important;
}

body.fll-landing-page.design-2 .e-con.intro-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3rem !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: center !important;
}

body.fll-landing-page.design-2 .e-con.intro-grid > .e-con-inner > .e-con.intro-image,
body.fll-landing-page.design-2 .e-con.intro-grid > .e-con-inner > .e-con.intro-content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  --width: 100% !important;
}

body.fll-landing-page.design-2 .e-con.fll-landing-hero .hero-v2-layout > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 3rem !important;
  width: 100% !important;
  max-width: min(1200px, 92vw) !important;
  margin-inline: auto !important;
}

body.fll-landing-page.design-2 .e-con.fll-landing-hero .e-con.hero-v2-main {
  flex: 1 1 340px !important;
  width: auto !important;
  min-width: min(100%, 340px) !important;
  --width: auto !important;
}

body.fll-landing-page.design-2 .e-con.fll-landing-hero .e-con.fll-landing-hero-panel {
  flex: 1 1 320px !important;
  width: auto !important;
  min-width: min(100%, 320px) !important;
  max-width: 100% !important;
  --width: auto !important;
}

@media (max-width: 1024px) {
  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card,
  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card:nth-child(4),
  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner > .e-con.service-card:nth-child(5) {
    grid-column: auto !important;
  }
}

@media (max-width: 768px) {
  body.fll-landing-page.design-2 .e-con.services-grid > .e-con-inner,
  body.fll-landing-page.design-2 .e-con.why-cards > .e-con-inner,
  body.fll-landing-page.design-2 .e-con.intro-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body.fll-landing-page.design-2 .e-con.fll-landing-hero .hero-v2-layout > .e-con-inner {
    flex-direction: column !important;
  }

  body.fll-landing-page.design-2 .e-con.fll-landing-hero .e-con.hero-v2-main,
  body.fll-landing-page.design-2 .e-con.fll-landing-hero .e-con.fll-landing-hero-panel {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
  }
}

.fll-landing-cta .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

/* Contact form at bottom */
.fll-landing-contact-form {
  width: 100% !important;
  margin-top: 1.5rem !important;
}

.fll-landing-contact-form .fll-ghl-form-embed {
  min-height: 432px !important;
  width: 100% !important;
}

.fll-landing-contact-form .fll-ghl-form-embed iframe {
  border-radius: 12px !important;
}

/* Powered by */
.fll-landing-powered .footer-powered-by,
.fll-landing-powered .elementor-heading-title {
  margin: 0 !important;
  font-size: 0.8125rem !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

.fll-landing-powered .elementor-heading-title a {
  color: rgba(255, 255, 255, 0.88) !important;
  text-decoration: none !important;
}

html.fll-landing-scroll {
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
  .fll-landing-trust-bar__text,
  .fll-landing-trust-bar .elementor-heading-title,
  .fll-landing-trust-bar__wrap,
  .fll-landing-trust-bar__wrap p {
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
  }

  .fll-landing-hero-panel {
    display: none !important;
  }

  .fll-landing-hero-call,
  .fll-landing-hero-call.elementor-widget-button {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .fll-landing-hero-call .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }

  .fll-landing-cta.fll-section-cta {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .fll-landing-cta .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .fll-landing-header-call .elementor-widget-button.header-v2-phone .elementor-button,
  .fll-landing-header-call .fll-btn-phone .elementor-button {
    font-size: 0.8125rem !important;
    padding: 0.5rem 0.85rem !important;
  }

  .fll-landing-header .logo-v2 img,
  .fll-landing-header .logo img,
  .fll-landing-header .elementor-widget-image.logo-v2 img,
  .fll-landing-header .fll-landing-header-logo img {
    height: 96px !important;
  }
}
