.orga-section.clean {
  background: var(--clr-bg);
  color: var(--clr-text);
  padding: 4rem 1.5rem;
}

.orga-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 3rem;
}
.orga-subtitle { opacity: .9; margin-top: .5rem; }

/* GRID (Kacheln auf Mobile, zwei Spalten auf Desktop) */
.orga-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  max-width: 1100px;
  margin: 0 auto 2rem;
}



/* KARTEN */
.orga-card {
  background: #fff;
  border: 1px solid var(--border, #e6e6e6);
  border-radius: 1.25rem;
  padding: 1.75rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.orga-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}
.card-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
}
.card-head h3 {
  color: var(--clr-accent-orange);
  margin: 0;
}
.badge {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: .75rem;
  background: rgba(192,136,100,.12);
  color: var(--clr-accent-orange);
  font-weight: 700;
}

/* LISTEN & DETAILS */
.orga-list,
.dot-list {
  margin: .75rem 0 1rem;
  padding-left: 1.25rem;
}
.dot-list { list-style: disc; }
.orga-list { list-style: none; }
.orga-list li + li,
.dot-list li + li { margin-top: .25rem; }

.callout {
  margin-top: .75rem;
  background: rgba(80,122,156,.07);
  border-left: 4px solid var(--clr-accent);
  padding: .9rem 1rem;
  border-radius: .5rem;
}

.address {
  font-style: normal;
  margin: .5rem 0 1rem;
}

/* BUTTONS */
.btn {
  display: inline-block;
  padding: .7rem 1rem;
  border-radius: .75rem;
  text-decoration: none;
  color: var(--clr-text);
  border: 1px solid var(--border, #e6e6e6);
  background: #fff;
  transition: all .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--accent {
  background: var(--clr-accent-orange);
  color: #fff;
  border-color: transparent;
}

/* MAP */
.map-wrapper {
  margin-top: 1rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
}
.map-wrapper iframe {
  display: block;
  width: 100%;
  height: 340px;
  border: 0;
}

.map-wrapper img,
.orga-card img,
.orga-card video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* FOOTNOTE */
.orga-help {
  text-align: center;
  margin-top: 1rem;
  opacity: .9;
}

/* RESPONSIVE */
@media (min-width: 820px) {
  .orga-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  /* Damit die letzte Karte (Anfahrt) über volle Breite geht */
  .orga-card:last-child {
    grid-column: 1 / -1;
  }
  .map-wrapper iframe {
    height: 380px;
  }
}
@media (min-width: 1200px) {
  .orga-section.clean { padding: 5rem 0; }
  .orga-grid { gap: 2.5rem; }
}

.map-credit {
  font-size: 0.8rem;
  color: rgba(0,0,0,0.6);
  margin-top: 0.5rem;
}