/* Röntgen-Geburtshaus · atomic CMS · .block-content.aligntext
   Ausschließlich auf .rga begrenzt; keine externen Abhängigkeiten. */
.rga {
  --rga-overlap: clamp(12px, 3vw, 30px);
  color: var(--us-text-strong);
  font: inherit;
  font-family: var(--us-font);
  text-align: left;
  isolation: isolate;
}
.rga, .rga * { box-sizing: border-box; }
.rga [hidden] { display: none !important; }
.rga .rga-map {
  position: relative;
  margin: 0;
  line-height: 0;
  /* Bild und Zahlen gemeinsam drehen: Koordinaten bleiben deckungsgleich. */
  transform: rotate(-2deg);
  transform-origin: center;
}
.rga .rga-map img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  user-select: none;
}
/* Das bestehende Theme schaltet body.dark; kein zusätzliches JavaScript nötig.
   Jeweils nur ein Bild belegt Platz und ist für Screenreader zugänglich. */
.rga .rga-map .rga-map-image--dark { display: none; }
body.dark .rga .rga-map .rga-map-image--light { display: none; }
body.dark .rga .rga-map .rga-map-image--dark { display: block; }

/* Prozentkoordinaten beziehen sich auf das UNBESCHNITTENE Bild (1448 × 1086).
   Kein object-fit: cover, kein Padding im Bildcontainer. */
.rga .rga-points { display: none; }
.rga.is-ready .rga-points { display: block; }
.rga .rga-dot {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 2;
  display: grid;
  overflow: visible;
  place-items: center;
  width: clamp(44px, 5vw, 50px);
  height: clamp(44px, 5vw, 50px);
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 2px solid var(--us-bg-surface);
  border-radius: 50%;
  background: var(--us-primary-color);
  color: var(--us-bg-surface);
  font: inherit;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  box-shadow: var(--us-box-shadow);
  appearance: none;
  cursor: pointer;
  touch-action: manipulation;
  /* Gegendrehung zur Neigung des Grundrisses: Zahlen bleiben aufrecht. */
  transform: translate(-50%, -50%) rotate(2deg);
  transition: var(--us-transition-alt);
}
.rga .rga-dot::before {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1.5px solid var(--us-primary-color);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}
/* Kreisförmig auslaufender Pulsring wie beim Diskuswerfer.
   Wiederholt sich, solange der Grundriss im sichtbaren Bereich liegt. */
.rga.has-arrived .rga-dot::before {
  animation: rga-pulse 2.5s ease-out infinite;
  animation-delay: var(--delay, 0s);
}
@keyframes rga-pulse {
  0% { opacity: .5; transform: scale(.75); }
  60%, 100% { opacity: 0; transform: scale(1.95); }
}
.rga .rga-dot:hover { background: var(--us-secondary-color); }
.rga .rga-dot[aria-pressed="true"] {
  background: linear-gradient(150deg, var(--us-accent-color), color-mix(in oklch, var(--us-accent-color) 70%, black 30%));
  color:#FFF!important;
  text-shadow: 0 1px 0 rgba(0,0,0,.1), 0 0 3px rgba(0,0,0,.1);
  box-shadow: 0 0 0 3px var(--us-secondary-color), var(--us-box-shadow);
}
.rga .rga-dot[aria-pressed="true"]::before { animation: none; }
.rga .rga-dot:focus-visible {
  outline: 3px solid var(--us-form-highlight);
  outline-offset: 5px;
}
.rga .rga-dot:focus-visible { z-index: 3; }
.rga .rga-card {
  position: relative;
  z-index: 4;
  width: 100%;
  margin:0 auto;
  padding: clamp(22px, 4vw, 38px);
  border-radius: var(--us-radius);
  background: var(--us-bg-surface);
  box-shadow: var(--us-box-shadow);
  scroll-margin-top: var(--rga-scroll-offset, calc(var(--us-header-height) + var(--us-margin)));
}
.rga .rga-panel { margin: 0; padding: 0; border: 0; box-shadow: none; }
/* Durchgehende Theme-Oberfläche: im Light Mode weiß, im Dark Mode dunkel. */
.rga .rga-card .rga-panel,
.rga .rga-card .rga-card-header,
.rga .rga-card .rga-card-header > div,
.rga .rga-card .rga-eyebrow,
.rga .rga-card .rga-title,
.rga .rga-card .rga-copy,
.rga .rga-card .rga-copy p { background: var(--us-bg-surface); }
.rga .rga-panel + .rga-panel { margin-top: 2rem; }
.rga.is-ready .rga-panel + .rga-panel { margin-top: 0; }
.rga .rga-panel.is-entering { animation: rga-enter .22s ease-out; }
@keyframes rga-enter {
  from { opacity: .4; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.rga .rga-card-header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: var(--us-box-padding);
  margin: 0 0 20px;
}
.rga .rga-number {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(150deg, var(--us-accent-color), color-mix(in oklch, var(--us-accent-color) 70%, black 30%));
  box-shadow:inset 0 0 0 1px var(--us-hairline-color);
  color: #FFF!important;
  text-shadow:0 1px 0 rgba(0,0,0,.1), 0 0 3px rgba(0,0,0,.1);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
}
/* Auf den hellen Blau- und Grüntönen bleiben Ziffern im Dark Mode dunkel.
   Der Hintergrundtoken liefert dabei den erforderlichen Textkontrast. */
body.dark .rga .rga-dot,
body.dark .rga .rga-number { color: var(--us-bg-color); }

.rga .rga-eyebrow {
  margin: 0 0 5px;
  color: var(--us-text-weak);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.rga .rga-title {
  font-family: var(--us-headline-font);
  margin: 0;
  color: var(--us-primary-color);
  font-size: clamp(1.3rem, 2.5vw, 1.65rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.rga .rga-copy {overflow-wrap: break-word; }
/*
.rga .rga-copy p { margin: 0 0 1em; color: inherit; font-size: inherit; line-height: inherit; }
.rga .rga-copy p:last-child { margin-bottom: 0; }*/
.rga .rga-navigation {
  display: none;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--us-stroke-weak);
}
.rga.is-ready .rga-navigation { display: flex; }
/* Aussehen und Zustände kommen aus .themebtn.secondary / .themebtn.primary. */
.rga .rga-navigation .themebtn {
  min-height: 44px;
  max-width: 100%;
  margin: 0;
}
.rga .rga-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 480px) {
  .rga .rga-card { width: 100%; padding: 22px 18px; }
  .rga .rga-card-header { gap: 12px; }
  .rga .rga-navigation { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .rga .rga-dot { transition: none; }
  .rga.has-arrived .rga-dot::before, .rga .rga-panel.is-entering { animation: none; }
}
@media print {
  /* Im Ausdruck den blauen Grundriss auf hellem Papier verwenden. */
  body .rga .rga-map .rga-map-image--light,
  body.dark .rga .rga-map .rga-map-image--light { display: block; }
  body .rga .rga-map .rga-map-image--dark,
  body.dark .rga .rga-map .rga-map-image--dark { display: none; }
  .rga .rga-points, .rga.is-ready .rga-navigation { display: none; }
  .rga .rga-panel[hidden] { display: block !important; }
  .rga.is-ready .rga-panel + .rga-panel { margin-top: 2rem; }
  .rga .rga-card { width: 100%; box-shadow: none; margin-top: 0; }
}