: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);
}

body.lgcf-modal-open{overflow:hidden}.lgcf-story-modal{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:24px;background:rgba(0,20,12,.86);backdrop-filter:blur(8px)}.lgcf-story-dialog{position:relative;width:min(100%,1000px);max-height:90vh;border-radius:18px;overflow:hidden;background:#041c12;box-shadow:0 24px 80px rgba(0,0,0,.55)}.lgcf-story-dialog video{display:block;width:100%;max-height:86vh;background:#000;object-fit:contain;filter:brightness(1.18)}.lgcf-story-close{position:absolute;top:10px;right:12px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#0b442e;font-size:32px;line-height:1;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.35)}@media(max-width:640px){.lgcf-story-modal{padding:10px}.lgcf-story-dialog{border-radius:12px}.lgcf-story-close{width:40px;height:40px;font-size:28px}}
.lgcf-watch-story{margin-left:10px!important;background:#fff!important;color:#12633f!important;border:2px solid #fff!important}.lgcf-watch-story:hover{background:#e8fff3!important;color:#0b442e!important}@media(max-width:640px){.lgcf-watch-story{margin:10px 0 0!important;display:inline-flex!important}}

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 { width: 100%; }

/* Keep Elementor and theme navigation polished at every breakpoint. */
.elementor-location-header,
nav.fixed { isolation: isolate; }
nav.fixed a, nav.fixed button { white-space: nowrap; }
nav.fixed .max-w-7xl { max-width: 1440px; }
@media (min-width: 1280px) and (max-width: 1480px) {
  nav.fixed .max-w-7xl { padding-inline: 1rem; }
  nav.fixed a, nav.fixed button { font-size: .78rem; }
}
@media (max-width: 1279px) {
  nav.fixed [class*="max-h-"] { overscroll-behavior: contain; }
}
.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); }
}
