/* ============================================
   elementor-compat.css
   Stellt sicher, dass Elementor-Widgets
   korrekt mit dem Theme-Design zusammenpassen.
   ============================================ */

/* Elementor-Abschnitte ohne Extra-Padding wenn Theme-Sections genutzt */
.elementor-section.fbe-no-pad > .elementor-container { padding: 0; }

/* Elementor Full-Width */
.elementor-section-full_width .elementor-container { max-width: 100%; }

/* Typografie aus Theme in Elementor */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3 {
  font-family: var(--font-serif);
  font-weight: 300;
}

/* Gold-Button als Elementor-Button-Style */
.elementor-button.elementor-button-gold {
  background: var(--grad-gold) !important;
  color: var(--ink) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 24px rgba(201,168,76,.3) !important;
  transition: transform .3s, box-shadow .3s !important;
}
.elementor-button.elementor-button-gold:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 40px rgba(201,168,76,.45) !important;
}

/* Elementor Divider → Gold */
.elementor-widget-divider .elementor-divider-separator {
  border-color: var(--gold) !important;
  opacity: .35;
}

/* Elementor: Icons in Theme-Farbe */
.elementor-icon { color: var(--gold); }

/* Abstände (Sektionen) */
.elementor-top-section { padding: 80px 0; }
@media (max-width: 768px) {
  .elementor-top-section { padding: 48px 0; }
}

/* Elementor Formular → Theme-Style */
.elementor-form .elementor-field-group input,
.elementor-form .elementor-field-group textarea,
.elementor-form .elementor-field-group select {
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-weight: 300 !important;
  padding: 12px 0 !important;
  box-shadow: none !important;
  transition: border-color .3s !important;
}
.elementor-form .elementor-field-group input:focus,
.elementor-form .elementor-field-group textarea:focus {
  border-bottom-color: var(--gold) !important;
  box-shadow: none !important;
}
.elementor-form .elementor-button {
  background: var(--grad-gold) !important;
  color: var(--ink) !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-size: .7rem !important;
}
.elementor-form .elementor-field-label {
  font-size: .6rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--ink-muted) !important;
}

/* Elementor Testimonial Widget */
.elementor-testimonial-wrapper .elementor-testimonial-content {
  font-style: italic;
  font-weight: 300;
}

/* Elementor Image Box */
.elementor-image-box-title {
  font-family: var(--font-serif) !important;
  font-weight: 400 !important;
}

/* Lottie / Animation Widget */
.elementor-widget-lottie { overflow: hidden; }
