/*
 * LandHub v5.20.4 final site refinements.
 * Shared header, project navigation, CTA spacing, form contrast, gold accents
 * and administrator-controlled floating actions.
 */

:root{
  --lh5204-green:#009946;
  --lh5204-green-dark:#003b1c;
  --lh5204-gold:#c88a1a;
  --lh5204-gold-dark:#b18118;
}

/* Premium projects use exactly the same header shell as every other page. */
body.lh5200-premium-layout .lh-elementor-header,
body.lh5200-premium-layout .elementor-location-header,
body.lh5200-premium-layout .lh-site-header,
body.lh5200-premium-layout header.site-header,
body.lh5200-premium-layout .main-header,
body.lh5200-premium-layout .lhseed-header{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:var(--lh5204-green)!important;
  background-color:var(--lh5204-green)!important;
  color:#fff!important;
}

/* Keep the site-wide header call-to-action visible on the green header. */
body .lh-header-enquire,
body .lh-elementor-header .elementor-button,
body .elementor-location-header .elementor-button,
body .lh-site-header .lh5-cta,
body .lhseed-header .lh5-cta{
  border-color:#fff!important;
  background:#009946!important;
  -webkit-text-fill-color:#fff!important;
}

body .lh-header-enquire:hover,
body .lh-elementor-header .elementor-button:hover,
body .elementor-location-header .elementor-button:hover,
body .lh-site-header .lh5-cta:hover,
body .lhseed-header .lh5-cta:hover{
  border-color:var(--lh5204-gold-dark)!important;
  background:var(--lh5204-gold-dark)!important;
  background-color:var(--lh5204-gold-dark)!important;
}

/* A clipped horizontal viewport does not create the scroll container that
   overflow:hidden creates, so both project navigation bars can stay sticky. */
html{
  overflow-x:clip;
}

body.single-landhub_project{
  overflow-x:clip!important;
}

body.single-landhub_project #page,
body.single-landhub_project .site,
body.single-landhub_project .site-content,
body.single-landhub_project .site-main,
body.single-landhub_project .lh5-content,
body.single-landhub_project .lh511-project,
body.single-landhub_project .lh5200-project{
  overflow:visible!important;
}

body.single-landhub_project .lh511-sticky,
body.single-landhub_project .lh5182-project-nav,
body.lh5200-premium-layout .lh5200-project-nav{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:var(--lh5203-header-height,100px)!important;
  z-index:9990!important;
  isolation:isolate;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh5182-project-nav{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh5182-project-nav::-webkit-scrollbar{
  display:none!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh5182-project-nav a{
  flex:0 0 auto!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh5182-project-nav a.active,
body.single-landhub_project:not(.lh5200-premium-layout) .lh5182-project-nav a[aria-current="true"]{
  border-bottom-color:var(--lh5204-green)!important;
  background:#f0faf4!important;
  color:var(--lh5204-green)!important;
  -webkit-text-fill-color:var(--lh5204-green)!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh511-project section[id],
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-project [id="project-map"]{
  scroll-margin-top:calc(var(--lh5203-header-height,100px) + 92px)!important;
}

/* Give the Classic final site-visit panel comfortable breathing room. */
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-sec.lh5189-final-cta{
  width:min(1440px,92vw)!important;
  max-width:1440px!important;
  margin:32px auto 50px!important;
  padding:38px 46px!important;
  gap:32px!important;
}

/* Strong, predictable contrast for project forms and the global popup. */
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form input:not([type="checkbox"]):not([type="radio"]),
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form select,
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form textarea,
.lh5139-form-wrap input:not([type="checkbox"]):not([type="radio"]),
.lh5139-form-wrap select,
.lh5139-form-wrap textarea{
  border:1px solid #cadbd1!important;
  background:#fff!important;
  background-color:#fff!important;
  color:#173d29!important;
  -webkit-text-fill-color:#173d29!important;
  caret-color:#173d29!important;
  opacity:1!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form input::placeholder,
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form textarea::placeholder,
.lh5139-form-wrap input::placeholder,
.lh5139-form-wrap textarea::placeholder{
  color:#697a70!important;
  -webkit-text-fill-color:#697a70!important;
  opacity:1!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form select option,
.lh5139-form-wrap select option{
  background:#fff!important;
  color:#173d29!important;
}

body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form button[type="submit"],
body.single-landhub_project:not(.lh5200-premium-layout) .lh511-form input[type="submit"],
.lh5139-form-wrap button[type="submit"],
.lh5139-form-wrap input[type="submit"],
.lh5139-form-wrap .ff-btn-submit{
  border-color:var(--lh5204-green)!important;
  background:var(--lh5204-green)!important;
  background-color:var(--lh5204-green)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}

body.lh5200-premium-document .lh5200-enquiry input:not([type="checkbox"]):not([type="radio"]),
body.lh5200-premium-document .lh5200-enquiry select,
body.lh5200-premium-document .lh5200-enquiry textarea{
  border:1px solid #34415a!important;
  background:#101a30!important;
  background-color:#101a30!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;
  opacity:1!important;
}

body.lh5200-premium-document .lh5200-enquiry input::placeholder,
body.lh5200-premium-document .lh5200-enquiry textarea::placeholder{
  color:#c2cad6!important;
  -webkit-text-fill-color:#c2cad6!important;
  opacity:1!important;
}

body.lh5200-premium-document .lh5200-enquiry select option{
  background:#101a30!important;
  color:#fff!important;
}

body.lh5200-premium-document .lh5200-enquiry button[type="submit"],
body.lh5200-premium-document .lh5200-enquiry input[type="submit"],
body.lh5200-premium-document .lh5200-enquiry .ff-btn-submit{
  border-color:var(--lh5204-green)!important;
  background:var(--lh5204-green)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}

/* Theme-colour final bands, centred copy and the established LandHub gold. */
body .lh54-next,
body .lh57-next,
body .lh58-next,
body .lh5-next{
  background:linear-gradient(135deg,var(--lh5204-green-dark) 0%,#005329 62%,#006f34 100%)!important;
  background-color:var(--lh5204-green-dark)!important;
  text-align:center!important;
}

body .lh54-next>.elementor-container,
body .lh57-next>.elementor-container,
body .lh58-next>.elementor-container,
body .lh5-next>.elementor-container,
body .lh54-next>.e-con-inner,
body .lh57-next>.e-con-inner,
body .lh58-next>.e-con-inner,
body .lh5-next>.e-con-inner{
  justify-content:center!important;
  text-align:center!important;
}

body .lh54-next .elementor-column,
body .lh57-next .elementor-column,
body .lh58-next .elementor-column,
body .lh5-next .elementor-column,
body .lh54-next .elementor-widget-wrap,
body .lh57-next .elementor-widget-wrap,
body .lh58-next .elementor-widget-wrap,
body .lh5-next .elementor-widget-wrap{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

body .lh54-next .elementor-heading-title,
body .lh57-next .elementor-heading-title,
body .lh58-next .elementor-heading-title,
body .lh5-next .elementor-heading-title,
body .lh54-next .elementor-widget-text-editor,
body .lh57-next .elementor-widget-text-editor,
body .lh58-next .elementor-widget-text-editor,
body .lh5-next .elementor-widget-text-editor{
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
}

body .lh54-next .elementor-heading-title span,
body .lh57-next .elementor-heading-title span,
body .lh58-next .elementor-heading-title span,
body .lh5-next .elementor-heading-title span{
  background:none!important;
  color:var(--lh5204-gold)!important;
  -webkit-text-fill-color:var(--lh5204-gold)!important;
  animation:none!important;
}

/* The two requested homepage accent words use the same static gold. */
body.home .lh54-signature-head .lh5-darkgold,
body.home .lh54-enquiry .lh5-darkgold,
body.home .lh54-contact .lh5-darkgold{
  background:none!important;
  color:#f4b138 !important;
  -webkit-text-fill-color:#f4b138 !important;
  animation:none!important;
}

/* Banner eyebrows and all above-title labels use one consistent gold. */
body .lh5-kicker,
body .lh510-all-kicker,
body .lh5200-kicker,
body .lh5200-section-label,
body .lh5200-section-head>span,
body .lh5200-compact-head>span,
body .lh511-section-head>small,
body .lh5189-finance-copy>small,
body [class*="hero"] .lh5-kicker,
body [class*="hero"] [class*="kicker"],
body [class*="banner"] .lh5-kicker,
body [class*="banner"] [class*="kicker"],
body .lh58-archive-hero>div>span,
body .lh582-blog-hero>div>span,
body .lh582-contact-hero>div>span,
body .lh598-all-hero>div>span,
body .lh56-about-hero>div>span,
body .lh512-hero-content>small{
  color:var(--lh5204-gold)!important;
  -webkit-text-fill-color:var(--lh5204-gold)!important;
}

/* Replace all previous hard-coded project float buttons with one system. */
body .lh511-float,
body .lh5200-floating{
  display:none!important;
}

.lh5204-floating-actions{
  --lh5204-wa:#25d366;
  --lh5204-phone:#009946;
  --lh5204-enquiry:#c88a1a;
  position:fixed;
  z-index:100080;
  right:18px;
  bottom:20px;
  pointer-events:none;
}

.lh5204-floating-actions.is-left{
  right:auto;
  left:18px;
}

.lh5204-floating-desktop{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.lh5204-floating-actions.is-left .lh5204-floating-desktop{
  align-items:flex-start;
}

.lh5204-floating-action{
  pointer-events:auto;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.92);
  border-radius:999px;
  box-shadow:0 8px 24px rgba(0,59,28,.24);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  transition:width .22s ease,transform .18s ease,box-shadow .18s ease;
}

.lh5204-floating-action.is-whatsapp{background:var(--lh5204-wa)!important}
.lh5204-floating-action.is-phone{background:var(--lh5204-phone)!important}
.lh5204-floating-action.is-enquiry{background:var(--lh5204-enquiry)!important}

.lh5204-floating-action svg{
  width:24px;
  height:24px;
  flex:0 0 24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.lh5204-floating-action svg .lh5204-icon-fill{
  fill:currentColor;
  stroke:none;
}

.lh5204-floating-action>span{
  width:0;
  margin-left:0;
  overflow:hidden;
  white-space:nowrap;
  font-size:12px;
  font-weight:800;
  line-height:1;
  opacity:0;
  transition:width .22s ease,margin .22s ease,opacity .18s ease;
}

.lh5204-floating-action:hover,
.lh5204-floating-action:focus-visible{
  width:142px;
  transform:translateY(-1px);
  box-shadow:0 11px 28px rgba(0,59,28,.30);
}

.lh5204-floating-action:hover>span,
.lh5204-floating-action:focus-visible>span{
  width:76px;
  margin-left:9px;
  opacity:1;
}

.lh5204-floating-mobile{
  display:none;
}

@media(max-width:767px){
  body.single-landhub_project:not(.lh5200-premium-layout) .lh511-sec.lh5189-final-cta{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    margin:24px auto 36px!important;
    padding:29px 21px!important;
  }

  body.single-landhub_project .lh511-project section[id],
  body.single-landhub_project .lh5200-project section[id]{
    scroll-margin-top:calc(var(--lh5203-header-height,76px) + 76px)!important;
  }

  body.lh5204-has-mobile-actions{
    padding-bottom:82px!important;
  }

  .lh5204-floating-actions{
    right:10px!important;
    left:10px!important;
    bottom:max(9px,env(safe-area-inset-bottom))!important;
    width:auto;
  }

  .lh5204-floating-desktop{
    display:none!important;
  }

  .lh5204-floating-mobile{
    pointer-events:auto;
    display:flex;
    width:100%;
    min-height:62px;
    align-items:stretch;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.70);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(0,59,28,.26);
  }

  .lh5204-mobile-action{
    flex:1 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:8px 5px;
    border:0;
    border-right:1px solid rgba(255,255,255,.20);
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-decoration:none!important;
    font-size:10px;
    font-weight:800;
    line-height:1;
  }

  .lh5204-mobile-action:last-child{border-right:0}
  .lh5204-mobile-action.is-whatsapp{background:var(--lh5204-wa)!important}
  .lh5204-mobile-action.is-phone{background:var(--lh5204-phone)!important}
  .lh5204-mobile-action.is-enquiry{background:var(--lh5204-enquiry)!important}

  .lh5204-mobile-action svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .lh5204-mobile-action svg .lh5204-icon-fill{
    fill:currentColor;
    stroke:none;
  }
}

@media(min-width:768px){
  .lh5204-floating-actions:not(.has-desktop-actions){
    display:none!important;
  }
}

body [class*="hero"] [class*="kicker"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* v5.23.6: readable homepage navigation over every hero slide. */
@media (min-width:981px) {
  body.home .lh-elementor-header .main-header,
  body.home .elementor-location-header .main-header {
    background-color:#009946 !important;
    background-image:none !important;
  }

  html body.home .lh-elementor-header .lh5138-desktop-menu > li > a,
  html body.home .lh-elementor-header .lh5138-desktop-menu > li.current-menu-item > a,
  html body.home .lh-elementor-header .lh5138-desktop-menu > li.current-menu-ancestor > a,
  html body.home .elementor-location-header .lh5138-desktop-menu > li > a,
  html body.home .elementor-location-header .lh5138-desktop-menu > li.current-menu-item > a,
  html body.home .elementor-location-header .lh5138-desktop-menu > li.current-menu-ancestor > a {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-shadow:0 1px 2px rgba(0,59,28,.24);
  }

  html body.home .lh-elementor-header .lh5138-desktop-menu > li > a:hover,
  html body.home .lh-elementor-header .lh5138-desktop-menu > li > a:focus-visible,
  html body.home .elementor-location-header .lh5138-desktop-menu > li > a:hover,
  html body.home .elementor-location-header .lh5138-desktop-menu > li > a:focus-visible {
    color:#f0bf4d !important;
    -webkit-text-fill-color:#f0bf4d !important;
  }
}

/* v5.23.8: the removed global button design belongs only to filter/tab controls. */
body .lh5x-status-head > button,
body .lh5x-type-head > button,
body .lh5-tabs-head > button,
body .lh58-toolbar > button {
  color:#494949;
  font-size:14px;
  padding-bottom:10px;
  border:0;
}

body .lh5x-status-head > button:hover,
body .lh5x-type-head > button:hover,
body .lh5-tabs-head > button:hover,
body .lh58-toolbar > button:hover {
  color:#007a38;
}

body .lh5x-status-head > button.is-active,
body .lh5x-type-head > button.is-active,
body .lh5-tabs-head > button.is-active,
body .lh58-toolbar > button.is-active {
  color:#009946;
  border-bottom:3px solid #009946;
}

/* v5.23.7: beat Elementor's inline transparent header and legacy ID-level menu colours. */
@media (min-width:981px) {
  body.home .lh-elementor-header .main-header,
  body.home .elementor-location-header .main-header {
    position:fixed !important;
    isolation:isolate;
  }

  body.home .lh-elementor-header .main-header::before,
  body.home .elementor-location-header .main-header::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:#009946;
    box-shadow:0 3px 14px rgba(0,59,28,.18);
  }

  body.home .lh-elementor-header .main-header > .elementor-container,
  body.home .elementor-location-header .main-header > .elementor-container {
    position:relative !important;
    z-index:1 !important;
  }

  html body.home:not(#landhub-header-scope) .lh-elementor-header .lh5138-desktop-menu > li > a,
  html body.home:not(#landhub-header-scope) .lh-elementor-header .lh5138-desktop-menu > li.current-menu-item > a,
  html body.home:not(#landhub-header-scope) .lh-elementor-header .lh5138-desktop-menu > li.current-menu-ancestor > a,
  html body.home:not(#landhub-header-scope) .elementor-location-header .lh5138-desktop-menu > li > a,
  html body.home:not(#landhub-header-scope) .elementor-location-header .lh5138-desktop-menu > li.current-menu-item > a,
  html body.home:not(#landhub-header-scope) .elementor-location-header .lh5138-desktop-menu > li.current-menu-ancestor > a {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
  }

  html body.home:not(#landhub-header-scope) .lh-elementor-header .lh5138-desktop-menu > li > a:hover,
  html body.home:not(#landhub-header-scope) .lh-elementor-header .lh5138-desktop-menu > li > a:focus-visible,
  html body.home:not(#landhub-header-scope) .elementor-location-header .lh5138-desktop-menu > li > a:hover,
  html body.home:not(#landhub-header-scope) .elementor-location-header .lh5138-desktop-menu > li > a:focus-visible {
    color:#f0bf4d !important;
    -webkit-text-fill-color:#f0bf4d !important;
  }
}
