/* Fix für Bildcontainer */
.image-container {
  max-width: 100%;
  margin: 0 0 30px 0;
  width: 100% !important;
}

/* Bilder in Containern */
.image-container img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 10px;
}

/* Grüne Linie nach der Überschrift (nur im Haupttext) */
.main-content-area h2 {
  border-bottom: 2px solid #95C121;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

/* Image Grid System - Notwendig für Bilder nebeneinander */
.image-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  margin: 20px 0 !important;
  width: 100% !important;
}

.image-grid-item {
  position: relative !important;
  flex: 1 0 calc(50% - 15px) !important;
  max-width: calc(50% - 15px) !important;
  min-width: 250px !important;
}

.image-grid-item img {
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  display: block !important;
}

/* Standard Grid System Überschreibungen */
.row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-right: -15px !important;
  margin-left: -15px !important;
}

[class*="col-"] {
  position: relative !important;
  width: 100% !important;
  padding-right: 15px !important;
  padding-left: 15px !important;
}

/* Spaltengrößen */
@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  
  .col-sm-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }
  
  .col-sm-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}

@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  
  .col-md-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }
  
  .col-md-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}

/* Mobile Optimierungen */
@media (max-width: 767px) {
  .image-grid {
    flex-direction: column !important;
  }
  
  .image-grid-item {
    max-width: 100% !important;
    flex: 1 0 100% !important;
    margin-bottom: 15px !important;
  }
}

/* Fix für andere Layout-Elemente */
.content-card,
.infobox,
.highlight-box {
  margin: 30px 0 !important;
  width: 100% !important;
  clear: both !important;
}

/* Clear-Fix für Float-basierte Layouts */
.clearfix::after {
  content: "" !important;
  clear: both !important;
  display: table !important;
}
