/* Über uns: Geschichte, Betrieb, Kontakt. Grosse Schrift, grosse Klickflächen (≥ 56 px). */
.rha-ueberuns { max-width: 72rem; margin: 0 auto; font-size: 1.125rem; line-height: 1.6; color: #1f2937; }
.rha-ueberuns h2 { font-weight: 700; line-height: 1.25; margin: 2.5rem 0 1rem; font-size: 1.75rem; scroll-margin-top: 5rem; }
.rha-ueberuns h3 { font-weight: 700; line-height: 1.3; margin: 0 0 .4rem; font-size: 1.3rem; }
.rha-ueberuns p { margin: 0 0 .75rem; }
.rha-ueberuns .rha-lead { font-size: 1.35rem; line-height: 1.55; max-width: 48rem; }
.rha-sprung { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.rha-sprung a, .rha-ueberuns .rha-knopf { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: .5rem 1.25rem; border: 2px solid #167a5a; border-radius: .6rem; color: #0f5c43; background: #fff; font-weight: 700; text-decoration: none; }
.rha-sprung a:hover, .rha-ueberuns .rha-knopf:hover { background: #0f5c43; color: #fff; }

/* ---------- Zeitstrahl ---------- */
.rha-zeit { list-style: none; margin: 1.5rem 0 0; padding: 0; border-left: 4px solid #167a5a; }
.rha-zeit-eintrag { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem 1.5rem; position: relative; margin: 0 0 2rem; padding: 0 0 0 1.25rem; }
.rha-zeit-eintrag::before { content: ''; position: absolute; left: -.8rem; top: .45rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #167a5a; border: 3px solid #fff; }
.rha-zeit-eintrag::marker { content: none; }
.rha-zeit-jahr { font-weight: 800; font-size: 1.4rem; color: #0f5c43; }
@media (min-width: 900px) { .rha-zeit-eintrag { grid-template-columns: 9rem minmax(0, 1fr); } }
.rha-zeit-bild img { display: block; max-width: 100%; max-height: 22rem; width: auto; border-radius: .6rem; margin: .5rem 0 0 !important; }

/* ---------- Betrieb ---------- */
.rha-hoefe, .rha-adressen { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 800px) { .rha-hoefe, .rha-adressen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rha-hof, .rha-adresse { background: #f1f6f3; border-radius: .8rem; padding: 1rem 1.25rem 1.25rem; }
.rha-adresse { background: #fff; border: 1px solid #d5dbd8; }
.rha-adresse address { font-style: normal; margin: 0 0 .75rem; }
.rha-kontaktliste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
.rha-kontaktliste li { margin: 0; }
.rha-hinweis { margin-top: 1.25rem; color: #374151; }

/* ---------- Links im Text: erkennbar, aber ruhig ---------- */
.rha-ueberuns p a:not(.rha-knopf) { color: #0f5c43; font-weight: 600; text-decoration: underline; text-decoration-color: #8fcbb4; text-decoration-thickness: 2px; text-underline-offset: .22em; }
.rha-ueberuns p a:not(.rha-knopf):hover { text-decoration-color: currentColor; background: #e3f3ec; }
.rha-ueberuns a.rha-mehr::after { content: ' \2192'; display: inline-block; transition: transform .15s; }
.rha-ueberuns a.rha-mehr:hover::after { transform: translateX(.25rem); }
.rha-ueberuns .rha-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Grosse Lücken (ab 10 Jahren) im Zeitstrahl: gestrichelte Linie statt durchgehender */
.rha-zeit-luecke { margin-top: 3.5rem; }
.rha-zeit-luecke::after { content: ''; position: absolute; left: -4px; top: -3.5rem; height: 3.95rem; width: 4px; background: repeating-linear-gradient(to bottom, #fff 0 .45rem, transparent .45rem .9rem); pointer-events: none; }

/* Einklappbare ältere Geschichte */
.rha-zeit-mehr { list-style: none; margin: 0 0 2rem; padding-left: 1.25rem; position: relative; }
.rha-zeit-mehr::marker { content: none; }
.rha-zeit-knopf { min-height: 3.5rem; padding: .5rem 1.25rem; border: 2px solid #167a5a; border-radius: .6rem; background: #fff; color: #0f5c43; font: inherit; font-weight: 700; cursor: pointer; }
.rha-zeit-knopf:hover { background: #0f5c43; color: #fff; }
.rha-zeit-knopf:focus-visible { outline: 3px solid #0f5c43; outline-offset: 3px; }

/* Breite Bildschirme: abwechselnd links und rechts der Mittellinie */
@media (min-width: 1100px) {
  .rha-zeit { position: relative; border-left: 0; }
  .rha-zeit::before { content: ''; position: absolute; left: calc(50% - 2px); top: 0; bottom: 0; width: 4px; background: #167a5a; }
  .rha-zeit-mehr { text-align: center; padding: 0; z-index: 1; }
  .rha-zeit-eintrag { display: block; width: calc(50% - 2.5rem); }
  .rha-zeit-eintrag.rha-links { margin-right: auto; padding: 0; text-align: right; }
  .rha-zeit-eintrag.rha-rechts { margin-left: calc(50% + 2.5rem); padding: 0; }
  .rha-zeit-eintrag.rha-links::before { left: auto; right: calc(-2.5rem - .55rem); }
  .rha-zeit-eintrag.rha-rechts::before { left: calc(-2.5rem - .55rem); }
  .rha-zeit-eintrag.rha-links .rha-zeit-bild img { margin-left: auto !important; }
  .rha-zeit-eintrag.rha-links.rha-zeit-luecke::after { left: auto; right: calc(-2.5rem - 2px); }
  .rha-zeit-eintrag.rha-rechts.rha-zeit-luecke::after { left: calc(-2.5rem - 2px); }
  .rha-zeit-luecke::after { top: calc(-3.5rem - 2rem); height: calc(3.95rem + 2rem); }
}

/* Druck: alles aufgeklappt, einspaltig, Einträge nicht zerschneiden */
@media print {
  .rha-zeit-mehr { display: none !important; }
  .rha-zeit-eintrag.rha-alt[hidden] { display: block !important; }
  .rha-zeit-eintrag { break-inside: avoid; display: block !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 1.25rem !important; text-align: left !important; }
  .rha-zeit { border-left: 4px solid #167a5a !important; }
  .rha-zeit::before { display: none; }
  .rha-zeit-eintrag::before { left: -.8rem !important; right: auto !important; }
  .rha-zeit-bild img { max-height: 12rem; }
  .rha-sprung { display: none; }
}

.rha-zeit-video { margin: .5rem 0 0; }
.rha-zeit-video video { display: block; max-width: 100%; max-height: 22rem; width: auto; border-radius: .6rem; background: #000; }
.rha-zeit-video figcaption { font-size: .85rem; opacity: .75; margin-top: .25rem; }
@media (min-width: 1100px) { .rha-zeit-eintrag.rha-links .rha-zeit-video video { margin-left: auto; } }
@media (max-width: 700px) { .rha-zeit-video video { max-height: 12rem; } }
.rha-video-standbild { display: none; max-width: 100%; max-height: 22rem; width: auto; border-radius: .6rem; }
.rha-zeit-video video img { max-width: 100%; max-height: 22rem; }
@media print { .rha-zeit-video video { display: none; } .rha-zeit-video .rha-video-standbild { display: block; } }
