
/* Site layout stabilization pass - prevents injected SEO/form sections from overlapping template sections */
html, body {
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
}

body {
  display: block !important;
}

#page,
.page {
  display: block !important;
  width: 100% !important;
  min-height: 100vh;
  position: relative !important;
  overflow: visible !important;
}

#page > * {
  width: 100%;
  box-sizing: border-box;
}

._header_rp1,
.niches-header-home-4,
.header_banner,
[class*="niches-header"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: 1000 !important;
  clear: both !important;
}

.header_banner {
  clear: both !important;
  overflow: visible !important;
}

section,
.full-width,
.width-100,
.float-left,
.featured-dealer-section,
.seo-aeo-content-section,
.homepage-authority-hub,
.related-content-section,
.footer-2-outer,
.footer-content {
  box-sizing: border-box;
  clear: both !important;
  position: relative !important;
}

.float-left,
.width-100,
.full-width {
  width: 100% !important;
}

.homepage-authority-hub,
.seo-aeo-content-section,
.related-content-section,
.featured-dealer-section {
  display: block !important;
  overflow: hidden;
  z-index: 1;
}

.homepage-authority-hub .container,
.seo-aeo-content-section .container,
.related-content-section .container,
.featured-dealer-section .featured-dealer-inner,
.ghl-form-wrap {
  max-width: 1180px;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.ghl-form-wrap {
  width: 100% !important;
  max-width: 860px !important;
  min-height: 1026px;
  height: auto !important;
  padding: 0 15px;
  clear: both !important;
}

.ghl-form-wrap iframe {
  width: 100% !important;
  min-height: 1026px !important;
  height: 1026px !important;
  display: block;
}

iframe[src*="google.com/maps"] {
  max-width: 100% !important;
  display: block;
}

.footer-2-outer,
.footer-content {
  display: block !important;
  clear: both !important;
  z-index: 2;
  margin-top: 0;
}

#page:after,
.clearfix:after,
.section-bg-color-img:after,
.full-width:after,
.width-100:after {
  content: "";
  display: table;
  clear: both;
}

img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .nav-toggle-res {
    z-index: 1001 !important;
  }
  .ghl-form-wrap {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .homepage-authority-hub,
  .seo-aeo-content-section,
  .related-content-section,
  .featured-dealer-section {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .ghl-form-wrap {
    padding-left: 0;
    padding-right: 0;
    min-height: 1026px;
  }
  .ghl-form-wrap iframe {
    min-height: 1026px !important;
  }
}


/* v12 footer flow repair: keep footer after all content and at viewport bottom on short pages */
#page.site-page-flow,
.page.site-page-flow {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

#page.site-page-flow > *,
.page.site-page-flow > * {
  flex: 0 0 auto;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

#page.site-page-flow > .footer-2-outer.footer-content,
.page.site-page-flow > .footer-2-outer.footer-content {
  margin-top: auto !important;
}

#page.site-page-flow > .footer-2-outer,
.page.site-page-flow > .footer-2-outer {
  flex-shrink: 0 !important;
  clear: both !important;
}

#page.site-page-flow > span.input-group-addon,
.page.site-page-flow > span.input-group-addon {
  display: none !important;
}

body > section.internal-linking-section,
body > section.homepage-authority-hub,
body > section.seo-aeo-content-section,
body > section.related-content-section,
body > section.featured-dealer-section,
body > section#home-aeo-faq-section {
  display: none !important;
}


/* v13 header repair: use compact homepage header on all pages */
._header_rp1.niches-header-home-4 {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  margin: 0 !important;
  padding: 0 !important;
  clear: both !important;
  position: relative !important;
  z-index: 9999 !important;
}

._header_rp1 .header-top {
  min-height: 82px !important;
  background: #fff !important;
}

._header_rp1 .header-top-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  min-height: 82px !important;
  padding: 10px 0 !important;
  box-sizing: border-box !important;
}

._header_rp1 .logo {
  flex: 0 0 auto !important;
  height: auto !important;
  max-width: 180px !important;
  text-align: left !important;
}

._header_rp1 .logo img {
  width: 160px !important;
  max-height: 70px !important;
  object-fit: contain !important;
}

._header_rp1 .header-nav {
  flex: 1 1 auto !important;
  position: static !important;
  background: transparent !important;
  height: auto !important;
  width: auto !important;
  right: auto !important;
}

._header_rp1 .nav-wrapper,
._header_rp1 nav {
  width: 100% !important;
}

._header_rp1 nav ul.menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

._header_rp1 nav ul.menu > li {
  float: none !important;
  width: auto !important;
  border: 0 !important;
  list-style: none !important;
  position: relative !important;
}

._header_rp1 nav ul.menu > li > a {
  display: block !important;
  width: auto !important;
  padding: 12px 4px !important;
  color: #071528 !important;
  font-weight: 700 !important;
  text-align: center !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}

._header_rp1 nav ul.menu li ul.sub-menu {
  display: none;
  position: absolute !important;
  left: 0;
  top: 100%;
  z-index: 10000;
  background: #fff;
  min-width: 260px;
  padding: 8px 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

._header_rp1 nav ul.menu li:hover > ul.sub-menu {
  display: block !important;
}

._header_rp1 nav ul.menu li ul.sub-menu li {
  width: 100% !important;
  list-style: none !important;
}

._header_rp1 nav ul.menu li ul.sub-menu li a {
  color: #071528 !important;
  display: block !important;
  padding: 10px 16px !important;
  text-align: left !important;
}

._header_rp1 .header-phone.call_us_button {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  height: 56px !important;
  margin: 0 !important;
  max-width: 285px !important;
}

._header_rp1 .header-phone.call_us_button h1,
._header_rp1 .header-phone.call_us_button h2,
._header_rp1 .header-phone.call_us_button h3,
._header_rp1 .header-phone.call_us_button h4,
._header_rp1 .header-phone.call_us_button h5 {
  display: none !important;
}

.page-title-clean {
  background: #f7f8fa !important;
  padding: 52px 20px 42px !important;
  text-align: center !important;
  clear: both !important;
}

.page-title-clean .container {
  max-width: 1180px;
  margin: 0 auto;
}

.page-title-clean h1 {
  margin: 0 !important;
  color: #071528 !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}

.internal-linking-section h2 {
  font-size: clamp(26px, 3.2vw, 42px) !important;
  line-height: 1.15 !important;
}

@media (max-width: 1024px) {
  ._header_rp1 .header-top-inner {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 10px 15px !important;
  }
  ._header_rp1 .header-nav {
    order: 3;
    flex: 1 0 100% !important;
  }
  ._header_rp1 nav ul.menu {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
  }
  ._header_rp1 .header-phone.call_us_button {
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  ._header_rp1 .header-top-inner {
    display: block !important;
  }
  ._header_rp1 .logo {
    margin: 0 auto 10px !important;
    text-align: center !important;
  }
  ._header_rp1 .header-nav {
    display: block !important;
  }
  ._header_rp1 nav a#pull {
    display: none !important;
  }
  ._header_rp1 nav ul.menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  ._header_rp1 nav ul.menu > li > a {
    padding: 10px !important;
  }
  ._header_rp1 nav ul.menu li ul.sub-menu {
    position: static !important;
    box-shadow: none !important;
    min-width: 0 !important;
  }
  ._header_rp1 .header-phone.call_us_button {
    justify-content: center !important;
    margin: 10px auto 0 !important;
    width: 100% !important;
  }
  .page-title-clean {
    padding: 36px 15px 30px !important;
  }
}


/* v14 visual order + footer/header polish */
html, body {
  width: 100% !important;
  min-height: 100% !important;
}

body {
  background: #fff !important;
}

#page.site-page-flow,
.page.site-page-flow {
  display: block !important;
  min-height: auto !important;
}

#page.site-page-flow > *,
.page.site-page-flow > * {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

._header_rp1,
._header_rp1.niches-header-home-4,
._header_rp1 .header-top,
._header_rp1 .header-top-inner,
.header_banner,
.niches-header-home-4 {
  position: static !important;
  transform: none !important;
  float: none !important;
}

._header_rp1.niches-header-home-4 {
  display: block !important;
  min-height: 86px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  z-index: 10 !important;
}

._header_rp1 .header-top-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.inner-banner {
  display: none !important;
}

.page-title-clean {
  margin: 0 !important;
  padding: 58px 20px 46px !important;
  background: linear-gradient(135deg, #f7f9fc 0%, #eef3f8 100%) !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}

.page-title-clean h1 {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(34px, 5vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.seo-aeo-content-section,
.internal-linking-section,
.related-content-section,
.homepage-authority-hub {
  position: relative !important;
  display: block !important;
  clear: both !important;
  margin: 0 !important;
  z-index: 1 !important;
}

.internal-linking-section {
  background: #f7f8fa !important;
  padding: 44px 20px !important;
  color: #071528 !important;
}

.internal-linking-section .container,
.seo-aeo-content-section .container,
.related-content-section .container,
.homepage-authority-hub .container {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.internal-linking-section h2 {
  color: #071528 !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  margin: 0 0 10px !important;
}

.internal-linking-section p,
.internal-linking-section li,
.internal-linking-section a {
  color: #263447 !important;
}

.internal-linking-section ul {
  margin: 20px 0 0 !important;
  padding-left: 20px !important;
}

.footer-2-outer,
.footer-2-outer.footer-content {
  display: block !important;
  position: relative !important;
  clear: both !important;
  float: none !important;
  margin-top: 0 !important;
  z-index: 2 !important;
}

.footer-2-outer * {
  box-sizing: border-box !important;
}

body > .footer-2-outer,
body > footer {
  position: relative !important;
}

@media (max-width: 900px) {
  ._header_rp1 .header-top-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  ._header_rp1 .header-nav {
    width: 100% !important;
  }
  ._header_rp1 nav ul.menu {
    justify-content: center !important;
  }
}



/* v16 polish: global link visibility and footer/map layout */
:root { --brand-green: #007a1f; --brand-blue: #00285f; }

a, a:visited {
  color: var(--brand-green);
}
a:hover, a:focus {
  color: #005f18;
  text-decoration: underline;
}

.footer-section a,
.footer-2-outer a,
footer a,
.contact-footer a {
  color: #ffffff !important;
}
.footer-section a:hover,
.footer-2-outer a:hover,
footer a:hover,
.contact-footer a:hover {
  color: #70d878 !important;
}

.internal-links a,
.service-related-links a,
.related-pages a,
.homepage-authority-hub a,
.seo-resource-section a,
.seo-aeo-section a,
.faq-section a,
main a {
  color: var(--brand-green) !important;
  font-weight: 600;
}

.footer-map-embed {
  width: 100% !important;
  max-width: 260px !important;
  height: 260px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  line-height: 0 !important;
}
.footer-map-embed iframe {
  width: 100% !important;
  height: 260px !important;
  max-width: 100% !important;
  display: block !important;
}

.homepage-approval-cta .btn-get-approved {
  background: var(--brand-green) !important;
  color: #fff !important;
}
.homepage-approval-cta .btn-get-approved:hover {
  background: #005f18 !important;
  color: #fff !important;
}

.ghl-form-wrap {
  max-width: 760px !important;
  margin: 30px auto !important;
  clear: both !important;
}
.ghl-form-wrap iframe {
  min-height: 1026px !important;
}

.helpful-resources,
.seo-resource-section,
.related-resources-section {
  background: #f6f8fb !important;
  color: #1f2933 !important;
  padding: 36px 18px !important;
  clear: both !important;
}
.helpful-resources a,
.seo-resource-section a,
.related-resources-section a {
  color: var(--brand-green) !important;
}


/* v17 mobile visibility rescue */
@media (max-width: 767px) {
  html, body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: #fff !important;
  }

  body,
  #page,
  .page,
  .site-page-flow {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
    transform: none !important;
  }

  #page > *,
  .page > *,
  section,
  header,
  footer,
  .full-width,
  .width-100,
  .float-left,
  .section-bg-color-img,
  .header_banner,
  .footer-2-outer,
  .footer-content,
  .seo-aeo-content-section,
  .internal-linking-section,
  .related-content-section,
  .homepage-authority-hub,
  .featured-dealer-section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  [data-aos],
  .aos-init,
  .aos-animate,
  .wow,
  .animated {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }

  .container,
  #wrapper,
  .wrapper,
  .row,
  .rowcustom,
  [class*="col-"],
  [class*="span"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  ._header_rp1,
  ._header_rp1.niches-header-home-4,
  ._header_rp1 .header-top,
  ._header_rp1 .header-top-inner {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
  }

  ._header_rp1 .logo,
  ._header_rp1 .header-nav,
  ._header_rp1 .header-phone,
  ._header_rp1 .header-phone.call_us_button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 8px auto !important;
    left: auto !important;
    right: auto !important;
  }

  ._header_rp1 .logo img {
    display: inline-block !important;
    width: auto !important;
    max-width: 145px !important;
    max-height: 70px !important;
    height: auto !important;
  }

  ._header_rp1 nav,
  ._header_rp1 .nav-wrapper,
  ._header_rp1 .header-nav {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  ._header_rp1 nav ul,
  ._header_rp1 nav ul.menu,
  ._header_rp1 .nav-toggle-res {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  ._header_rp1 nav ul li,
  ._header_rp1 nav ul.menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  ._header_rp1 nav ul li a,
  ._header_rp1 nav ul.menu > li > a {
    display: block !important;
    color: #071528 !important;
    background: #fff !important;
    padding: 12px 10px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    font-size: 16px !important;
  }

  ._header_rp1 .header-phone.call_us_button a,
  ._header_rp1 .header-phone.call_us_button {
    color: #fff !important;
    background-color: #007a1f !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
  }

  .header_banner {
    min-height: 0 !important;
    padding: 30px 15px !important;
    background-size: cover !important;
    background-position: center !important;
  }

  .header_banner h1,
  .header_banner h2,
  .page-title-clean h1 {
    font-size: 32px !important;
    line-height: 1.12 !important;
    margin: 0 0 16px !important;
    text-align: center !important;
  }

  img,
  iframe,
  video,
  object,
  embed {
    max-width: 100% !important;
  }

  .footer-map-embed,
  .footer-map-embed iframe,
  iframe[src*="google.com/maps"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 260px !important;
  }

  .ghl-form-wrap {
    max-width: 100% !important;
    min-height: 1026px !important;
    margin: 24px auto !important;
    padding: 0 10px !important;
  }

  .ghl-form-wrap iframe {
    width: 100% !important;
    height: 1026px !important;
    min-height: 1026px !important;
  }

  .homepage-approval-cta {
    padding: 34px 18px !important;
    text-align: center !important;
  }

  a,
  main a,
  .internal-linking-section a,
  .related-content-section a,
  .seo-aeo-content-section a {
    color: #007a1f !important;
  }

  .footer-2-outer,
  .footer-content {
    background: #00285f !important;
    color: #fff !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .footer-2-outer a,
  .footer-content a,
  footer a {
    color: #fff !important;
  }
}
