:root {
  --mw-bg: #fbf7ef;
  --mw-paper: #fffdf8;
  --mw-soft: #f3ecdd;
  --mw-line: rgba(60, 92, 49, .14);
  --mw-line-strong: rgba(60, 92, 49, .22);
  --mw-ink: #2b261d;
  --mw-copy: #5a6554;
  --mw-forest: #587b39;
  --mw-forest-deep: #3f5e32;
  --mw-brown: #7f4527;
  --mw-badge: #da7943;
  --mw-shadow: 0 18px 42px rgba(47, 50, 39, .08);
  --mw-radius: 26px;
}

body.mitforschen-page {
  background: linear-gradient(180deg, #fbf8f1 0%, #f9f5ec 100%);
  color: var(--mw-ink);
}

/* Mitforschen bleibt auch sichtbar, wenn das gemeinsame Reveal-Skript ausfällt. */
.mitforschen-page .reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}

.skip-link:focus {
  left: 20px;
  top: 18px;
  z-index: 999;
  padding: 10px 14px;
  color: #fff;
  background: var(--mw-forest-deep);
  border-radius: 999px;
}

.research-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(470px, 45vw, 620px);
  display: grid;
  align-items: center;
}

.research-hero-img,
.research-hero-shade {
  position: absolute;
  inset: 0;
}

.research-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research-hero-shade {
  background:
    linear-gradient(90deg, rgba(20, 24, 16, .22) 0%, rgba(20, 24, 16, .05) 36%, rgba(250,247,240,.92) 62%, rgba(250,247,240,.97) 100%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 100%);
}

.research-hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 1480px);
  margin: 0 auto;
  padding: clamp(42px, 5vw, 70px) clamp(20px, 4.5vw, 44px);
  display: grid;
  justify-items: end;
}

.research-hero-copy > * {
  width: min(100%, 520px);
}

.research-kicker {
  margin-bottom: 8px;
  color: #657059;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.research-hero h1 {
  margin: 0 0 8px;
  font-family: "Fraunces", serif;
  font-size: clamp(2.7rem, 6vw, 4.6rem);
  line-height: .95;
  color: var(--mw-brown);
}

.research-hero p {
  margin: 0;
  color: #514a3e;
  font-size: 1rem;
  line-height: 1.7;
}

.research-hero-path {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: #6c644e;
  font-size: .8rem;
  font-weight: 900;
}

.research-hero-path span,
.research-hero-path strong {
  padding: 6px 10px;
  background: rgba(255, 253, 248, .9);
  border: 1px solid rgba(127, 69, 39, .08);
  border-radius: 999px;
}

.research-page {
  width: min(100%, 1320px);
  margin: 0 auto;
  padding: 28px clamp(18px, 4vw, 32px) 56px;
}

.section-local-nav {
  position: sticky;
  top: 16px;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
  padding: 8px;
  background: rgba(255, 253, 248, .85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(88, 123, 57, .12);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(45, 54, 38, .05);
}

.section-local-nav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  color: #56614f;
  text-decoration: none;
  border-radius: 999px;
  font-size: .88rem;
  font-weight: 800;
}

.section-local-nav a:hover,
.section-local-nav a:focus-visible,
.section-local-nav a.active {
  color: #fff;
  background: var(--mw-forest);
}

.research-intro,
.research-section,
.research-bottom-note {
  margin-bottom: 34px;
}

.research-section-soft,
.research-intro {
  padding: 26px;
  background: rgba(255, 253, 248, .88);
  border: 1px solid var(--mw-line);
  border-radius: 28px;
}

.research-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .75fr);
  gap: 22px;
  align-items: start;
}

.sh-label {
  margin-bottom: 6px;
  color: #748068;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.sh-title {
  margin: 0 0 12px;
  font-family: "Fraunces", serif;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  line-height: 1.02;
  color: #1f2a19;
}

.sh-title em {
  color: var(--mw-forest);
  font-style: italic;
}

.intro-text,
.research-section-head p,
.research-bottom-note p {
  max-width: 76ch;
  color: var(--mw-copy);
  font-size: .98rem;
  line-height: 1.72;
}

.research-principles {
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, rgba(246,240,226,.92) 0%, rgba(255,253,248,.96) 100%);
  border: 1px solid rgba(88, 123, 57, .14);
  border-radius: 20px;
}

.research-principles strong {
  display: block;
  margin-bottom: 10px;
  color: var(--mw-brown);
  font-family: "Fraunces", serif;
  font-size: 1.1rem;
}

.research-principles ul {
  margin: 0;
  padding-left: 18px;
  color: #5a6554;
  line-height: 1.65;
}

.research-section-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}

.research-section-head--with-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: end;
}

.section-jump-button {
  align-self: start;
  min-height: 48px;
  padding: 0 18px;
  color: #544e40;
  background: rgba(255, 253, 248, .96);
  border: 1px solid rgba(88, 123, 57, .18);
  border-radius: 16px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.section-jump-button:hover,
.section-jump-button:focus-visible {
  color: #fff;
  background: var(--mw-forest);
  border-color: var(--mw-forest);
}

.research-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.research-card-grid--compact {
  padding-top: 6px;
}

.research-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--mw-paper);
  border: 1px solid var(--mw-line);
  border-radius: var(--mw-radius);
  box-shadow: var(--mw-shadow);
  overflow: hidden;
}

.research-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 52px rgba(47, 50, 39, .11);
}

.card-media-split {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  aspect-ratio: 2 / 1;
  background: linear-gradient(135deg, #f4efe2 0%, #ebe2ca 100%);
}

.card-media-pane {
  position: relative;
  overflow: hidden;
  min-width: 0;
  aspect-ratio: 1 / 1;
}

.card-media-pane img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.card-media-pane--org {
  --org-bg: #f5efe2;
  --org-bg-2: #eee4d3;
  --org-ink: #6f432c;
  --org-accent: #b8875a;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--org-bg) 0%, var(--org-bg-2) 100%);
  border-right: 1px solid rgba(88, 123, 57, .1);
}

.card-org-name {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 18px 16px;
  color: var(--org-ink);
  font-family: "Fraunces", serif;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.12;
  text-align: center;
}

.card-org-name::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 14px;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: var(--org-accent);
  transform: translateX(-50%);
  opacity: .75;
}

.card-org-name--modal {
  font-size: clamp(1.5rem, 2.6vw, 2.15rem);
  padding: 30px 24px;
}

/* Dezente Farbwelten – nur als Anlehnung an die jeweilige Markenwirkung, ohne Logo. */
.org-wildtierstiftung { --org-bg:#f4eadb; --org-bg-2:#eadbc5; --org-ink:#6b3f2a; --org-accent:#9a6a44; }
.org-nabu-lbv { --org-bg:#eaf3f4; --org-bg-2:#dcebea; --org-ink:#285d6b; --org-accent:#4e8b83; }
.org-naju-nabu { --org-bg:#eef5e7; --org-bg-2:#e0edd6; --org-ink:#3f6a43; --org-accent:#6f9d5f; }
.org-naturgucker { --org-bg:#eef3dc; --org-bg-2:#e1ebc8; --org-ink:#4f6e33; --org-accent:#7ea150; }
.org-birdlife-at { --org-bg:#eef4f8; --org-bg-2:#e0ebf2; --org-ink:#385d76; --org-accent:#d07b49; }
.org-birdlife-ch { --org-bg:#eef4f8; --org-bg-2:#e2edf2; --org-ink:#375e75; --org-accent:#6b8ca0; }
.org-vogelwarte { --org-bg:#edf1f3; --org-bg-2:#e1e8ea; --org-ink:#475f68; --org-accent:#79939d; }
.org-city-nature { --org-bg:#edf4ef; --org-bg-2:#dfece3; --org-ink:#31674a; --org-accent:#68a26f; }
.org-flora-incognita { --org-bg:#f1f3e7; --org-bg-2:#e7ebd5; --org-ink:#5a6f3b; --org-accent:#879b5a; }
.org-phaenonet { --org-bg:#f2eef7; --org-bg-2:#e8e1f0; --org-ink:#65567d; --org-accent:#9985b2; }
.org-geosphere { --org-bg:#eef2f4; --org-bg-2:#e0e7ea; --org-ink:#4f6770; --org-accent:#7b98a1; }
.org-info-flora { --org-bg:#f3f0e8; --org-bg-2:#eae4d7; --org-ink:#667148; --org-accent:#9b9d64; }
.org-info-fauna { --org-bg:#f1efe8; --org-bg-2:#e7e2d6; --org-ink:#5d5b4d; --org-accent:#8a8d70; }
.org-naturbeobachtung { --org-bg:#eef4e8; --org-bg-2:#e1ecd8; --org-ink:#4d6d45; --org-accent:#7ca06f; }
.org-stadtwildtiere { --org-bg:#f3eee6; --org-bg-2:#e8dfd3; --org-ink:#6b5846; --org-accent:#9a7b5d; }
.org-artenfinder { --org-bg:#eef1f6; --org-bg-2:#e1e6ef; --org-ink:#4c5f79; --org-accent:#7a8ba5; }
.org-klimafalter { --org-bg:#f6f0e9; --org-bg-2:#ede3d8; --org-ink:#71574d; --org-accent:#b98969; }
.org-lepmon { --org-bg:#eef0f3; --org-bg-2:#e2e5e9; --org-ink:#4f5864; --org-accent:#7c8794; }
.org-senckenberg { --org-bg:#f1eee7; --org-bg-2:#e5ded2; --org-ink:#5d5347; --org-accent:#8f806e; }
.org-ufz { --org-bg:#eef3e9; --org-bg-2:#e0e9d8; --org-ink:#536b47; --org-accent:#839d72; }
.org-thuenen { --org-bg:#eef3ee; --org-bg-2:#e1ebe4; --org-ink:#476452; --org-accent:#73907a; }
.org-bayreuth { --org-bg:#f0eef5; --org-bg-2:#e4e0ed; --org-ink:#5c5571; --org-accent:#89809e; }
.org-naturkundemuseum { --org-bg:#f2efe8; --org-bg-2:#e8e0d3; --org-ink:#625646; --org-accent:#93826a; }
.org-friedhof { --org-bg:#f0f2ea; --org-bg-2:#e4e8d8; --org-ink:#596449; --org-accent:#87956d; }
.org-roadkill { --org-bg:#f3eeee; --org-bg-2:#e7dddd; --org-ink:#6d5050; --org-accent:#9c7474; }
.org-forschungsverbund { --org-bg:#eef1f2; --org-bg-2:#e2e7e8; --org-ink:#50626a; --org-accent:#7d939b; }
.org-neutral { --org-bg:#f5efe2; --org-bg-2:#eee4d3; --org-ink:#6f432c; --org-accent:#b8875a; }

.card-media-pane--cover {
  background: linear-gradient(135deg, #6f8a4e 0%, #4e6c39 100%);
}

.card-action-placeholder {
  color: #fff;
  background: linear-gradient(135deg, #6f8a4e 0%, #4e6c39 100%);
}

.card-action-placeholder span {
  display: block;
  font-family: "Fraunces", serif;
  font-size: 1.1rem;
  line-height: 1.1;
}

.card-action-placeholder small {
  display: block;
  margin-top: 8px;
  font-size: .72rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: .9;
}

.card-action-placeholder--modal span {
  font-size: 1.35rem;
}

.card-badge,
.card-country-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(47, 50, 39, .12);
}

.card-badge {
  left: 12px;
  color: #fff;
  background: var(--mw-badge);
}

.card-country-badge {
  right: 12px;
  color: #47533f;
  background: rgba(255,255,255,.92);
}

.card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px 18px;
  flex: 1;
}

.card-topline {
  color: #9a6a2f;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .9px;
  text-transform: uppercase;
}

.research-card h3 {
  margin: 0;
  font-family: "Fraunces", serif;
  font-size: 1.2rem;
  line-height: 1.15;
  color: #1e241c;
}

.card-organizer {
  color: #6b6e64;
  font-size: .84rem;
}

.card-short {
  margin: 0;
  color: #525e50;
  font-size: .95rem;
  line-height: 1.56;
}

.card-meta,
.card-audience {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: #736d5e;
  font-size: .83rem;
}

.card-meta span,
.card-audience span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.card-status-row {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.card-status {
  font-size: .77rem;
  font-weight: 900;
}

.card-status--confirmed { color: #417935; }
.card-status--recurring { color: #a36d12; }
.card-status--running { color: #4c6c8f; }

.card-more-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 16px;
  color: #fff;
  background: var(--mw-forest);
  border: 0;
  border-radius: 14px;
  font: inherit;
  font-size: .88rem;
  font-weight: 900;
  cursor: pointer;
}

.card-more-button:hover,
.card-more-button:focus-visible {
  background: var(--mw-forest-deep);
}

.research-status-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-bottom: 16px;
  color: #677261;
  font-size: .8rem;
  font-weight: 800;
}

.research-status-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.status-confirmed { background: #4d8b46; }
.status-recurring { background: #d4921a; }
.status-running { background: #557a9d; }

.research-collection {
  background: rgba(255, 253, 248, .94);
  border: 1px solid var(--mw-line);
  border-radius: 22px;
  overflow: hidden;
}

.research-collection > summary,
.tip-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}

.research-collection > summary::-webkit-details-marker,
.tip-card > summary::-webkit-details-marker {
  display: none;
}

.research-collection > summary strong,
.tip-card > summary strong {
  display: block;
  color: #1f261e;
  font-family: "Fraunces", serif;
  font-size: 1rem;
}

.research-collection > summary small,
.tip-card > summary small {
  display: block;
  margin-top: 4px;
  color: #747f70;
  font-size: .76rem;
}

.collection-chevron {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--mw-forest);
  background: rgba(88, 123, 57, .1);
  border-radius: 50%;
  transition: transform .2s ease;
}

.research-collection[open] > summary .collection-chevron,
.tip-card[open] > summary .collection-chevron {
  transform: rotate(180deg);
}

.research-collection > .research-card-grid {
  padding: 0 18px 18px;
}

.tips-accordion {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.tip-card {
  background: rgba(255, 253, 248, .96);
  border: 1px solid var(--mw-line);
  border-radius: 20px;
  overflow: hidden;
}

.tip-card > summary {
  justify-content: flex-start;
}

.tip-card > summary > span:nth-child(2) {
  flex: 1;
}

.tip-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: rgba(218, 121, 67, .12);
  border-radius: 14px;
  font-size: 1.25rem;
}

.tip-card-body {
  padding: 0 20px 18px;
}

.tip-card-body ul {
  margin: 0;
  padding-left: 18px;
  color: var(--mw-copy);
  line-height: 1.68;
}

.research-bottom-note {
  padding: 18px 20px;
  background: rgba(255, 253, 248, .9);
  border: 1px solid var(--mw-line);
  border-radius: 20px;
}

.project-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
}

.project-modal.is-open {
  display: block;
}

.project-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(23, 28, 20, .56);
  backdrop-filter: blur(4px);
}

.project-modal__dialog {
  position: relative;
  width: min(960px, calc(100% - 24px));
  max-height: calc(100vh - 32px);
  margin: 16px auto;
  background: #fffdf9;
  border-radius: 28px;
  box-shadow: 0 36px 72px rgba(0, 0, 0, .18);
  overflow: auto;
}

.project-modal__close {
  position: sticky;
  top: 12px;
  z-index: 4;
  float: right;
  width: 42px;
  height: 42px;
  margin: 14px 14px 0 0;
  color: #fff;
  background: var(--mw-forest);
  border: 0;
  border-radius: 50%;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.project-modal__content {
  padding: 24px 26px 28px;
}

.modal-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--mw-line);
  border-radius: 24px;
  background: #faf5e9;
}

.modal-hero__org,
.modal-hero__cover {
  position: relative;
  min-height: 230px;
}

.modal-hero__org {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--org-bg, #f5efe2) 0%, var(--org-bg-2, #eee4d3) 100%);
  border-right: 1px solid rgba(88, 123, 57, .12);
}

.modal-hero__cover img {
  width: 100%;
  height: 100%;
  display: block;
}

.modal-hero__cover img { object-fit: cover; }

.modal-hero__badge,
.modal-hero__country {
  position: absolute;
  top: 16px;
  z-index: 2;
  min-height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.modal-hero__badge {
  left: 16px;
  color: #fff;
  background: var(--mw-badge);
}

.modal-hero__country {
  right: 16px;
  color: #4f5846;
  background: rgba(255,255,255,.92);
}

.modal-copy {
  padding: 20px 6px 0;
}

.modal-copy__topline {
  color: #9a6a2f;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

#project-modal-title {
  margin: 6px 0 8px;
  font-family: "Fraunces", serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.04;
}

.modal-copy__organizer,
.modal-copy__lead,
.modal-detail p,
.modal-note,
.modal-review {
  color: var(--mw-copy);
  line-height: 1.7;
}

.modal-meta,
.modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 12px;
  color: #6f695d;
  font-size: .88rem;
}

.modal-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.modal-detail {
  padding: 16px 16px 14px;
  background: #f8f4ea;
  border: 1px solid rgba(88, 123, 57, .12);
  border-radius: 18px;
}

.modal-detail h3 {
  margin: 0 0 7px;
  color: var(--mw-forest-deep);
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.modal-note {
  margin-top: 16px;
  padding: 14px 16px;
  background: rgba(240, 184, 64, .12);
  border-radius: 18px;
}

.modal-footer {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.modal-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 18px;
  color: #fff;
  text-decoration: none;
  background: var(--mw-forest);
  border-radius: 14px;
  font-weight: 900;
}

.modal-link:hover,
.modal-link:focus-visible {
  color: #fff;
  background: var(--mw-forest-deep);
}

.modal-review { font-size: .82rem; }

.research-card-grid--compact .research-card {
  box-shadow: 0 14px 28px rgba(47, 50, 39, .06);
}

@media (max-width: 1120px) {
  .research-card-grid,
  .tips-accordion { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .research-intro-grid,
  .research-section-head--with-control,
  .modal-hero,
  .modal-detail-grid { grid-template-columns: 1fr; }

  .section-jump-button { justify-self: start; }
  .modal-hero__org { border-right: 0; border-bottom: 1px solid rgba(88, 123, 57, .12); }
}

@media (max-width: 760px) {
  .research-hero-copy { justify-items: stretch; }
  .research-hero-copy > * { width: 100%; }
  .research-hero-shade {
    background: linear-gradient(180deg, rgba(250,247,240,.18) 0%, rgba(250,247,240,.82) 44%, rgba(250,247,240,.98) 100%);
  }

  .section-local-nav {
    position: static;
    border-radius: 22px;
  }

  .research-section-soft,
  .research-intro,
  .research-bottom-note { padding: 20px; }

  .research-card-grid,
  .tips-accordion,
  .modal-detail-grid { grid-template-columns: 1fr; }

  .card-media-split { aspect-ratio: 2 / 1; }

  .project-modal__content { padding: 18px; }
  .modal-copy { padding-inline: 0; }
  .modal-footer { flex-direction: column; align-items: flex-start; }
}

/* ==================================================
   Karten-Feinschliff: Bilder frei, Zeit/Land darunter,
   Organisationsnamen auch bei langen Namen gut lesbar.
================================================== */
.card-event-strip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-height: 66px;
  padding: 8px 10px 9px;
  background: rgba(255, 253, 248, .96);
  border-top: 1px solid rgba(60, 92, 49, .08);
  border-bottom: 1px solid rgba(60, 92, 49, .10);
}

.card-event-strip .card-badge,
.card-event-strip .card-country-badge {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  min-height: 0;
  max-width: 100%;
  box-shadow: none;
  line-height: 1.18;
  border-radius: 0;
}

/* Land: nur noch klare Textzeile, kein Button-/Pill-Look. */
.card-event-strip .card-country-badge {
  order: 1;
  align-self: stretch;
  width: 100%;
  padding: 2px 0 4px;
  color: var(--mw-forest-deep);
  background: transparent;
  border: 0;
  white-space: normal;
  text-align: left;
  justify-content: flex-start;
  overflow-wrap: anywhere;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .55px;
}

/* Datum: eigene vollflächige Farbleiste über die gesamte Kartenbreite. */
.card-event-strip .card-badge {
  order: 2;
  align-self: stretch;
  width: calc(100% + 20px);
  max-width: none;
  margin: 0 -10px -9px;
  padding: 7px 10px 8px;
  color: #fff;
  background: var(--mw-badge);
  border: 0;
  white-space: normal;
  text-align: left;
  justify-content: flex-start;
  overflow-wrap: anywhere;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .45px;
}

.research-card .card-media-split {
  overflow: hidden;
}

.research-card .card-org-name {
  padding: 20px 12px 28px;
  font-size: clamp(.86rem, 1.05vw, 1.08rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  text-wrap: balance;
}

.research-card .card-org-name::after {
  bottom: 12px;
}

@media (max-width: 760px) {
  .card-event-strip {
    align-items: stretch;
  }

  .card-event-strip .card-badge {
    font-size: .68rem;
  }

  .research-card .card-org-name {
    font-size: .95rem;
    padding-inline: 10px;
  }
}


/* ===== Tipps-Karten als Vollformatkarten ===== */
.tips-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.tip-overview-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}

.tip-overview-image {
  min-height: 220px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-bottom: 1px solid rgba(88,123,57,.12);
}

.tip-overview-image--families {
  background-image: url('/Bilder/Mitforschen/tipps-familien.png');
  background-color: #efe3cf;
}

.tip-overview-image--groups {
  background-image: url('/Bilder/Mitforschen/tipps-outdoorgruppen.png');
  background-color: #dde8da;
}

.tip-overview-image--education {
  background-image: url('/Bilder/Mitforschen/tipps-paedagogik.png');
  background-color: #dfe8ea;
}

.tip-overview-card .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.tip-overview-card .card-short {
  min-height: 5.8em;
}

.tip-overview-card .card-status-row {
  margin-top: auto;
}

.tip-modal-copy .modal-copy__topline {
  color: #9a6a2f;
}

.tip-modal-list {
  margin: 0;
  padding-left: 20px;
  color: var(--mw-copy);
  line-height: 1.7;
}

.tip-modal-list li + li {
  margin-top: 9px;
}

.tip-modal-note {
  margin-top: 18px;
}

@media (max-width: 980px) {
  .tips-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .tips-card-grid {
    grid-template-columns: 1fr;
  }

  .tip-overview-image {
    min-height: 190px;
  }

  .tip-overview-card .card-short {
    min-height: 0;
  }
}

/* ==================================================
   Mitforschen – Bildicons aus /icons
================================================== */
.local-nav-icon,
.path-icon,
.meta-icon,
.strip-icon,
.detail-icon,
.principle-icon {
  display: inline-block;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: middle;
}

.local-nav-icon {
  width: 22px;
  height: 22px;
}

.path-icon {
  width: 18px;
  height: 18px;
  margin-right: 6px;
}

.research-hero-path span,
.research-hero-path strong {
  display: inline-flex;
  align-items: center;
}

.principle-list {
  list-style: none;
  padding-left: 0 !important;
  display: grid;
  gap: 9px;
}

.principle-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.principle-icon {
  width: 24px;
  height: 24px;
  margin-top: 1px;
}

.meta-icon {
  width: 20px;
  height: 20px;
}

.card-meta span,
.modal-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.strip-icon {
  width: 18px;
  height: 18px;
  margin-right: 7px;
}

.card-event-strip .card-country-badge,
.card-event-strip .card-badge {
  display: flex;
  align-items: center;
}

.detail-icon {
  width: 25px;
  height: 25px;
  margin-right: 8px;
}

.modal-detail h3 {
  display: flex;
  align-items: center;
}

@media (max-width: 620px) {
  .local-nav-icon { width: 20px; height: 20px; }
  .path-icon { width: 16px; height: 16px; margin-right: 4px; }
  .strip-icon { width: 16px; height: 16px; }
  .meta-icon { width: 18px; height: 18px; }
}
