/* ==========================================================================
   enhance.css — visual polish layer (loaded last, additive only)
   Keeps the existing layout & content; refines the overall look & feel.
   Brand green: #4F705C
   ========================================================================== */

/* ---- global smoothing ---- */
html { scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
::selection { background: #4F705C; color: #fff; }

/* nicer scrollbar */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #eef1ee; }
::-webkit-scrollbar-thumb { background: #9fb3a6; border-radius: 8px; border: 2px solid #eef1ee; }
::-webkit-scrollbar-thumb:hover { background: #4F705C; }

/* ---- links ---- */
a { transition: color .2s ease, opacity .2s ease; }

/* ---- header: subtle depth ---- */
header.elementor-section,
header.elementor-location-header {
  box-shadow: 0 2px 20px rgba(31, 45, 38, .07);
}

/* ---- buttons: smooth, lifted hover ---- */
.elementor-button,
a.elementor-button,
button[type="submit"],
.wpcf7 input[type="submit"] {
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease, background-color .25s ease !important;
  will-change: transform;
}
.elementor-button:hover,
a.elementor-button:hover,
button[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(79, 112, 92, .30) !important;
  filter: brightness(1.05);
}
.elementor-button:active { transform: translateY(-1px); }

/* ---- content images: rounded, soft shadow, gentle zoom (excludes header/footer logos) ---- */
#content .elementor-widget-image img {
  border-radius: 12px;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
  box-shadow: 0 6px 18px rgba(31, 45, 38, .08);
}
#content .elementor-widget-image:hover img {
  transform: scale(1.035);
  box-shadow: 0 16px 38px rgba(31, 45, 38, .16);
}

/* ---- form fields: clean borders + brand focus ring ---- */
#content input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
#content textarea,
#content select {
  border-radius: 9px !important;
  border: 1px solid #d4dcd6 !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
#content input:focus,
#content textarea:focus,
#content select:focus {
  border-color: #4F705C !important;
  box-shadow: 0 0 0 3px rgba(79, 112, 92, .16) !important;
  outline: none !important;
}

/* ---- section headings: a touch more presence ---- */
.elementor-widget-heading .elementor-heading-title {
  letter-spacing: .2px;
}

/* ---- entrance animation for content sections (subtle fade-up) ---- */
@media (prefers-reduced-motion: no-preference) {
  .fo-reveal { opacity: 0; transform: translateY(22px); }
  .fo-reveal.fo-in { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
}
