/* MeerHeimatLiebe 2.5.2-r139
   Konsolidierter Startseitenkarten-Fix.
   Der offene Zustand wird von r139.js aus der tatsaechlichen Sichtbarkeit
   ermittelt und als data-mhl-r139-open="1" markiert. Keine Abhaengigkeit
   von historischen Klassen wie .mhl-r110-open.

   r128 ist ein Rueckbau auf das funktionierende r126-Querformat. Die Karte
   bleibt zweispaltig; nur das Notizraster wird horizontal in den freien
   Bereich unter dem Bild erweitert. Kein Float- oder Hochkant-Umbau.
*/

:root {
  --mhl-r139-card-max: 82rem;
  --mhl-r139-visual-width: clamp(19rem, 25vw, 22rem);
  --mhl-r139-card-gap: clamp(1rem, 1.5vw, 1.35rem);
  --mhl-r139-note-gap: 1rem;
  --mhl-r139-note-icon: 3.125rem;
  --mhl-r139-note-extra: 0px;
  --mhl-r139-note-clearance: 0px;
}

/* Begrenzende Buehnen duerfen die geoeffnete Hauptkarte nicht einengen. */
.home-hub,
.mhl-r107-quickdeck,
[data-home-module-stage],
[data-home-module-grid],
.home-module-stage,
.home-module-grid,
.home-hub__stage {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Der Marker wird ausschliesslich auf die tatsaechlich sichtbare Karte gesetzt. */
[data-mhl-r139-open="1"] {
  position: relative !important;
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  width: min(82rem, calc(100% - clamp(1rem, 3vw, 2rem))) !important;
  max-width: 82rem !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: clamp(.9rem, 1.6vw, 1.4rem) auto 0 !important;
  padding: clamp(1.15rem, 1.6vw, 1.5rem) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, var(--mhl-r139-visual-width)) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "body visual"
    "body side" !important;
  align-items: start !important;
  align-content: start !important;
  gap: var(--mhl-r139-card-gap) !important;
  overflow: visible !important;
  transform: none !important;
}

[data-mhl-r139-open="1"] > .home-module__body {
  grid-area: body !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 1rem !important;
}

[data-mhl-r139-open="1"] > :is(img.home-module__visual, .home-module__visual) {
  grid-area: visual !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--mhl-r139-visual-width) !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
}

[data-mhl-r139-open="1"] > .mhl-r110-side-info {
  grid-area: side !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

[data-mhl-r139-open="1"] .home-module__head {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-inline-end: 3.6rem !important;
}

[data-mhl-r139-open="1"] :is(.people-intro, .home-module-copy) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 72ch !important;
  min-width: 0 !important;
  margin-block: 0 !important;
  font-size: clamp(1rem, .18vw + .96rem, 1.08rem) !important;
  line-height: 1.6 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-wrap: pretty !important;
}

/*
 * Das funktionierende r126-Kartenraster bleibt bestehen. Nur die Notizen
 * werden horizontal bis zur rechten Innenkante der Hauptkarte erweitert.
 * r139.js misst dafuer exakt Bildspalte plus Spaltenabstand und setzt zwei
 * lokale CSS-Variablen. So entstehen breite Textspalten statt einer hohen,
 * schmalen Karte.
 */
[data-mhl-r139-open="1"] :is(.people-deck, .home-module-notes) {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  width: calc(100% + var(--mhl-r139-note-extra, 0px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: var(--mhl-r139-note-clearance, 0px) 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  gap: var(--mhl-r139-note-gap) !important;
  align-items: stretch !important;
  align-content: start !important;
  justify-self: start !important;
  overflow: visible !important;
}

[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 9.5rem !important;
  height: auto !important;
  margin: 0 !important;
  padding: 1.1rem 1.15rem !important;
  display: grid !important;
  grid-template-columns: var(--mhl-r139-note-icon) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 1rem !important;
  row-gap: .35rem !important;
  overflow: visible !important;
}

/* Bei drei oder jeder anderen ungeraden Anzahl belegt die letzte Box beide Spalten. */
[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note):last-child:nth-child(odd),
[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note).mhl-r139-span-two,
[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note).mhl-r122-span-two {
  grid-column: 1 / -1 !important;
}

/* Symbole bleiben exakt rund und koennen vom Grid nicht zusammengedrueckt werden. */
[data-mhl-r139-open="1"] :is(.people-deck__icon, .home-module-note__icon) {
  box-sizing: border-box !important;
  inline-size: var(--mhl-r139-note-icon) !important;
  block-size: var(--mhl-r139-note-icon) !important;
  width: var(--mhl-r139-note-icon) !important;
  height: var(--mhl-r139-note-icon) !important;
  min-width: var(--mhl-r139-note-icon) !important;
  min-height: var(--mhl-r139-note-icon) !important;
  max-width: var(--mhl-r139-note-icon) !important;
  max-height: var(--mhl-r139-note-icon) !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 var(--mhl-r139-note-icon) !important;
  display: grid !important;
  place-items: center !important;
  align-self: start !important;
  justify-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  overflow: hidden !important;
  transform: none !important;
}

[data-mhl-r139-open="1"] :is(.people-deck__icon, .home-module-note__icon) > svg {
  display: block !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  min-width: 1.35rem !important;
  min-height: 1.35rem !important;
  max-width: 1.35rem !important;
  max-height: 1.35rem !important;
  flex: none !important;
}

[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note) > span:last-child,
[data-mhl-r139-open="1"] .home-module-note__content {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: .35rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note) strong {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: clamp(1.02rem, .18vw + .98rem, 1.1rem) !important;
  line-height: 1.34 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-wrap: pretty !important;
}

[data-mhl-r139-open="1"] :is(.people-deck__item, .home-module-note) small {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: clamp(.96rem, .12vw + .93rem, 1.02rem) !important;
  line-height: 1.58 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-wrap: pretty !important;
}

/* Historische Close-Elemente werden nicht parallel angezeigt. */
[data-home-module-card] > :is(
  .mhl-r115-card-close,
  .mhl-r116-card-close,
  .mhl-r117-card-close,
  .mhl-r118-card-close,
  .mhl-r119-card-close,
  .mhl-r120-card-close,
  .mhl-r121-card-close,
  .mhl-r122-card-close,
  .mhl-r123-card-close,
  .mhl-r124-card-close,
  .mhl-r125-card-close,
  .mhl-r126-card-close,
  .mhl-r127-card-close,
  .mhl-r128-card-close,
  .mhl-box-close,
  .home-module__close,
  [data-home-close]
) {
  display: none !important;
}

/* Genau ein lokaler Button, fest oben rechts innerhalb der Hauptkarte. */
[data-home-module-card] > .mhl-r139-card-close,
.home-module > .mhl-r139-card-close {
  box-sizing: border-box !important;
  position: absolute !important;
  top: .8rem !important;
  right: .8rem !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2147482000 !important;
  inline-size: 2.625rem !important;
  block-size: 2.625rem !important;
  width: 2.625rem !important;
  height: 2.625rem !important;
  min-width: 2.625rem !important;
  min-height: 2.625rem !important;
  max-width: 2.625rem !important;
  max-height: 2.625rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(125, 220, 243, .95) !important;
  border-radius: 50% !important;
  background: rgba(2, 39, 58, .98) !important;
  color: #ffe079 !important;
  align-items: center !important;
  justify-content: center !important;
  appearance: none !important;
  cursor: pointer !important;
  box-shadow: 0 .45rem 1rem rgba(0, 12, 24, .42), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
  overflow: visible !important;
  transform: none !important;
  isolation: isolate !important;
}

[data-mhl-r139-open="1"] > .mhl-r139-card-close:not([hidden]) {
  display: inline-flex !important;
}

.mhl-r139-card-close[hidden] {
  display: none !important;
}

/* Inline-SVG statt Pseudoelement: bleibt auch unter alten globalen Regeln sichtbar. */
.mhl-r139-card-close > .mhl-r139-card-close__icon {
  box-sizing: content-box !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  inline-size: 1.22rem !important;
  block-size: 1.22rem !important;
  width: 1.22rem !important;
  height: 1.22rem !important;
  min-width: 1.22rem !important;
  min-height: 1.22rem !important;
  max-width: 1.22rem !important;
  max-height: 1.22rem !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: inherit !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.6 !important;
  stroke-linecap: round !important;
  pointer-events: none !important;
  transform: none !important;
}

.mhl-r139-card-close > .mhl-r139-card-close__icon path {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.6 !important;
  stroke-linecap: round !important;
}

.mhl-r139-card-close:hover,
.mhl-r139-card-close:focus-visible {
  border-color: #baf1ff !important;
  background: rgba(5, 57, 79, 1) !important;
  color: #fff0a6 !important;
  outline: 2px solid rgba(246, 212, 109, .75) !important;
  outline-offset: 2px !important;
  transform: translateY(-1px) !important;
}

/* Alte Tooltip- und Pseudoelemente konsequent abschalten.
   Der Hover-Hinweis kommt ausschließlich vom nativen title="Schließen". */
.mhl-r139-card-close::before,
.mhl-r139-card-close::after,
.mhl-r139-card-close > .mhl-r139-card-close__tooltip {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

/* Reste früherer Cursor-Layer dürfen weder als schwarzer Block noch über Text liegen. */
.mhl-r115-maritime-cursor,
.mhl-r116-maritime-cursor,
.mhl-r117-maritime-cursor,
.mhl-r118-maritime-cursor,
.mhl-r119-maritime-cursor,
.mhl-r120-maritime-cursor,
.mhl-r121-maritime-cursor,
.mhl-r122-maritime-cursor,
.mhl-r123-maritime-cursor,
.mhl-r124-maritime-cursor,
.mhl-r125-maritime-cursor,
.mhl-r126-maritime-cursor,
.mhl-r127-maritime-cursor,
.mhl-r128-maritime-cursor {
  display: none !important;
}

/* Maritimer Cursor ohne deckende Fläche: Anker, Kompass, Seestern, Möwe und Segelboot. */
@media (hover: hover) and (pointer: fine) {
  html.mhl-r139-cursor-enabled,
  html.mhl-r139-cursor-enabled body,
  html.mhl-r139-cursor-enabled a,
  html.mhl-r139-cursor-enabled button,
  html.mhl-r139-cursor-enabled input,
  html.mhl-r139-cursor-enabled select,
  html.mhl-r139-cursor-enabled textarea,
  html.mhl-r139-cursor-enabled summary,
  html.mhl-r139-cursor-enabled label,
  html.mhl-r139-cursor-enabled [role="button"],
  html.mhl-r139-cursor-enabled [tabindex] {
    cursor: none !important;
  }

  /* Spezifische alte Button-Regeln mit cursor:pointer dürfen nicht gewinnen. */
  html.mhl-r139-cursor-enabled .mhl-r139-card-close,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close:hover,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close:focus,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close:active,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close *,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close *::before,
  html.mhl-r139-cursor-enabled .mhl-r139-card-close *::after {
    cursor: none !important;
  }

  .mhl-r139-maritime-cursor {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 2147483646 !important;
    display: grid !important;
    place-items: center !important;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffe078 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    filter: drop-shadow(0 1px 1px rgba(0, 20, 35, .95)) drop-shadow(0 0 .28rem rgba(91, 220, 247, .62)) !important;
    transform: translate3d(-100px, -100px, 0) !important;
    transition: opacity .1s ease, filter .14s ease !important;
    contain: layout paint style !important;
  }

  .mhl-r139-maritime-cursor.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .mhl-r139-maritime-cursor.is-clicking {
    filter: brightness(1.3) drop-shadow(0 1px 1px rgba(0, 20, 35, .95)) drop-shadow(0 0 .5rem rgba(255, 224, 120, .9)) !important;
  }

  .mhl-r139-maritime-cursor > svg {
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1.78rem !important;
    height: 1.78rem !important;
    min-width: 1.78rem !important;
    min-height: 1.78rem !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mhl-r139-maritime-cursor,
  .mhl-r139-card-close {
    transition: none !important;
  }
}







/* ================================================================
 
         Leuchtturm-Planer
   ================================================================ */





/* ================================================================
 
   ================================================================ */





/* ================================================================
   r135: stabiler Wechsel Hochformat / Querformat
   ================================================================ */







/* ================================================================
 
   ================================================================ */






/* ================================================================
   r139: Footer abhängig von Hoch- und Querformat
   ================================================================ */


/* r139: Rechtliche Ziele bleiben im bestehenden Navigationsfluss.
   Ein eventuell aus dem vorherigen DOM-Zustand verbliebener Linkblock im
   kompakten Footer wird deshalb sicher ausgeblendet. */

