:root {
  --lgcf-green: #0b5d3b;
  --lgcf-green-dark: #073d29;
  --lgcf-gold: #d8ad4a;
  --lgcf-ink: #13251d;
  --lgcf-muted: #607067;
  --lgcf-surface: #f5f8f6;
  --lgcf-radius: 20px;
  --lgcf-shadow: 0 18px 55px rgba(7, 61, 41, .12);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lgcf-ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lgcf-elementor-page { min-height: 70vh; overflow: hidden; }
.lgcf-elementor-page .elementor-section,
.lgcf-elementor-page .e-con { position: relative; }
.lgcf-elementor-page :is(h1,h2,h3,h4) {
  letter-spacing: -.025em;
  text-wrap: balance;
}
.lgcf-elementor-page p { line-height: 1.75; }
.lgcf-elementor-page .elementor-button {
  border-radius: 999px;
  padding: 14px 25px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(7, 61, 41, .14);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.lgcf-elementor-page .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(7, 61, 41, .2);
}
.lgcf-elementor-page .elementor-widget-image img,
.lgcf-elementor-page .elementor-image-box-img img {
  border-radius: var(--lgcf-radius);
}
.lgcf-elementor-page .elementor-widget-icon-box,
.lgcf-elementor-page .elementor-widget-image-box {
  transition: transform .3s ease, filter .3s ease;
}
.lgcf-elementor-page .elementor-widget-icon-box:hover,
.lgcf-elementor-page .elementor-widget-image-box:hover {
  transform: translateY(-5px);
}

/* A clean translucent header for Elementor/ElementsKit templates. */
.elementskit-navbar-nav-default,
.elementor-location-header {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.elementor-location-header {
  position: relative;
  z-index: 100;
  box-shadow: 0 8px 30px rgba(7, 61, 41, .08);
}

/* Modern focus states and accessible form styling. */
.lgcf-elementor-page :is(input,select,textarea) {
  border-radius: 12px;
  min-height: 48px;
}
.lgcf-elementor-page :is(input,select,textarea):focus {
  outline: 3px solid rgba(216, 173, 74, .3);
  border-color: var(--lgcf-gold);
}

@media (max-width: 767px) {
  .lgcf-elementor-page .elementor-button { width: 100%; text-align: center; }
  .lgcf-elementor-page :is(h1,h2,h3) { text-wrap: pretty; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.lgcf-whatsapp-contact {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 20px 0 15px;
  border-radius: 999px;
  color: #fff;
  background: #25d366;
  box-shadow: 0 14px 35px rgba(7, 61, 41, .3);
  font: 700 15px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.lgcf-whatsapp-contact svg { width: 30px; height: 30px; flex: 0 0 auto; }
.lgcf-whatsapp-contact:hover,
.lgcf-whatsapp-contact:focus-visible {
  color: #fff;
  background: #1fbd5a;
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(7, 61, 41, .38);
}
.lgcf-form-status {
  margin-top: 14px;
  padding: 12px 15px;
  border-radius: 10px;
  color: #0b5d3b;
  background: #e9f8ef;
  font-weight: 600;
  font-size: 14px;
}
.lgcf-form-status.is-error { color: #8a1f17; background: #fff0ee; }
@media (max-width: 600px) {
  .lgcf-whatsapp-contact { right: 16px; bottom: 16px; width: 58px; padding: 0; justify-content: center; }
  .lgcf-whatsapp-contact span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
