/* ============================================================
   Weft Advisory — Elementor Compatibility CSS
   Makes Elementor widgets inherit our brand design system
   ============================================================ */

/* ---- Pass our CSS variables into Elementor scope ---- */
.elementor-page,
.elementor-section-wrap,
.e-con {
  --lime:      #A3C62C;
  --lime-dark: #7FA021;
  --dark:      #1A1F0F;
  --paper:     #F7F8F2;
  --gold:      #C2A65A;
  --white:     #ffffff;
  --muted:     #4B5563;
  --border:    rgba(26,31,15,0.10);
}

/* ---- Remove Elementor default section padding conflicts ---- */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 80rem;
}

/* ---- Elementor headings use Outfit font ---- */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Outfit', ui-sans-serif, system-ui, sans-serif !important;
}

/* ---- Elementor text/paragraph uses Manrope ---- */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor .elementor-text-editor {
  font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif !important;
  color: var(--muted) !important;
  line-height: 1.75;
}

/* ---- Elementor button inherits our btn-lime style ---- */
.elementor-widget-button .elementor-button.weft-btn-lime {
  background: var(--lime);
  color: var(--dark);
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  border: none;
  border-radius: 0;
  padding: 0.875rem 1.5rem;
  transition: background 0.3s, color 0.3s, transform 0.3s;
  box-shadow: 0 8px 24px -10px rgba(163,198,44,0.55);
}
.elementor-widget-button .elementor-button.weft-btn-lime:hover {
  background: var(--lime-dark);
  color: #fff;
  transform: translateY(-2px);
}

/* ---- Section padding matching our design ---- */
.elementor-section.weft-section-pad {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (max-width: 768px) {
  .elementor-section.weft-section-pad {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

/* ---- Dark background section ---- */
.elementor-section.weft-bg-dark {
  background-color: var(--dark);
}
.elementor-section.weft-bg-paper {
  background-color: var(--paper);
}
.elementor-section.weft-bg-white {
  background-color: #fff;
}

/* ---- Eyebrow label style ---- */
.elementor-widget-heading .weft-eyebrow {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  font-weight: 700 !important;
  color: var(--lime) !important;
  font-family: 'Manrope', sans-serif !important;
}
.elementor-widget-heading .weft-eyebrow-gold {
  color: var(--gold) !important;
}

/* ---- Prevent Elementor page wrapper from adding extra margins ---- */
.elementor-page .elementor {
  margin: 0;
}

/* ---- Our HTML widgets retain full styling ---- */
.elementor-widget-html .hero-content,
.elementor-widget-html .partners-section,
.elementor-widget-html .stats-section,
.elementor-widget-html .service-group,
.elementor-widget-html .how-grid,
.elementor-widget-html .why-grid,
.elementor-widget-html .industries-grid,
.elementor-widget-html .swiper-testimonials,
.elementor-widget-html .results-grid,
.elementor-widget-html .tools-card,
.elementor-widget-html .trust-grid,
.elementor-widget-html .cta-box {
  /* Inherit all original CSS — no overrides needed */
  all: revert;
}

/* ---- Elementor editor: show section names ---- */
.elementor-edit-mode .elementor-element::before {
  font-family: 'Manrope', sans-serif;
  font-size: 0.65rem;
}

/* ---- Fix Elementor column gap ---- */
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 0;
}

/* ---- Ensure hero section fills viewport inside Elementor ---- */
.elementor-widget-html #hero {
  min-height: 100vh;
}

/* ---- Service cards inside Elementor HTML widget ---- */
.elementor-widget-html .service-card {
  height: 100%;
}

/* ---- Testimonials swiper inside Elementor ---- */
.elementor-widget-html .swiper-testimonials {
  overflow: hidden;
}
