.elementor-2753 .elementor-element.elementor-element-fdfb704{--display:flex;}/* Start custom CSS *//* Rahmen / Optik */
.gm-widget-header {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  padding: 16px 20px;
  border-radius: 12px;
  margin-bottom: 12px;
  font-family: "Inter","Helvetica Neue",Arial,sans-serif;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.gm-widget-header strong {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 4px;
  color: #111827;
}

.gm-widget-header span {
  font-size: 0.95rem;
  color: #6b7280;
}

.gm-widget-intro {
  font-family: "Inter","Helvetica Neue",Arial,sans-serif;
  font-size: 0.95rem;
  color: #4b5563;
  max-width: 720px;
  margin: 0 auto 16px auto;
}

/* Äußere Box des Widgets */
.gm-bw-widget {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px;
  margin: 0 auto 32px auto;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  font-family: "Inter","Helvetica Neue",Arial,sans-serif;
  min-height: 420px;

  width: 100%;
  max-width: 720px;
  box-sizing: border-box;
  position: relative;
  overflow-x: auto; /* falls innen doch breiter ist -> Scroll statt Layout kaputt */
}

/* 🔥 Harter Responsiv-Override fürs Innenleben */

/* alles im Widget soll nie breiter als die Box sein */
.gm-bw-widget * {
  box-sizing: border-box;
  max-width: 100% !important;
}

/* falls das SDK ein iframe benutzt */
.gm-bw-widget iframe {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}

/* Text soll umbrechen, statt rauszuragen */
.gm-bw-widget p,
.gm-bw-widget span,
.gm-bw-widget a,
.gm-bw-widget li,
.gm-bw-widget td,
.gm-bw-widget th {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Tabellen im Widget */
.gm-bw-widget table {
  width: 100% !important;
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
}

/* Form-Elemente */
.gm-bw-widget input,
.gm-bw-widget select {
  width: 100% !important;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-bottom: 12px;
}

/* Buttons */
.gm-bw-widget button {
  background: #1abc9c;
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
  padding: 10px 16px;
  border: none;
  cursor: pointer;
}

.gm-bw-widget button:hover {
  filter: brightness(0.95);
}

/* Mobile */
@media (max-width: 768px) {
  .gm-bw-widget {
    padding: 16px;
    margin: 16px auto 24px auto;
  }

  .gm-bw-widget input,
  .gm-bw-widget select {
    font-size: 0.95rem;
  }

  .gm-bw-widget button {
    width: 100% !important;
    text-align: center;
    padding: 12px 16px;
    font-size: 0.95rem;
  }
}/* End custom CSS */