/* MeerHeimatLiebe 2.5.2-r23 — stabiler Header und professioneller Footer */
:root {
  --r23-header-height: 76px;
  --r23-footer-height: 78px;
}

html, body {
  min-height: 100%;
}
body {
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  padding-top: var(--r23-header-height) !important;
  overflow-x: hidden !important;
}

/* ===== HEADER: exakt eine kompakte Zeile ===== */
.site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--r23-header-height) !important;
  min-height: var(--r23-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 5000 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  background: rgba(3, 42, 61, .96) !important;
  box-shadow: 0 6px 22px rgba(0, 12, 22, .28) !important;
}

.header-inner,
.site-header .header-inner,
.site-header .shell {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(.45rem, 1vw, 1rem) !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--r23-header-height) !important;
  min-height: var(--r23-header-height) !important;
  max-height: var(--r23-header-height) !important;
  margin: 0 !important;
  padding: .48rem clamp(.65rem, 1.25vw, 1.25rem) !important;
  overflow: visible !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.brand {
  flex: 0 1 auto !important;
  min-width: 235px !important;
  align-self: center !important;
  margin: 0 !important;
}
.brand-mark { flex: 0 0 auto !important; }
.brand-copy { min-width: 0 !important; }

.site-nav,
.site-nav {
  position: static !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: center !important;
  gap: .12rem !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 5100 !important;
}

.site-nav > a,
.site-nav > .nav-dropdown,
.site-nav > .nav-form,
.header-tools {
  flex: 0 0 auto !important;
  align-self: center !important;
  margin-block: 0 !important;
}
.site-nav > a,
.site-nav > .nav-dropdown > button,
.nav-form button,
.header-tool {
  min-height: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

.nav-dropdown {
  position: relative !important;
  z-index: 5300 !important;
}
.nav-dropdown__menu {
  position: absolute !important;
  top: calc(100% + .45rem) !important;
  left: 0 !important;
  width: max-content !important;
  min-width: 250px !important;
  max-width: min(340px, calc(100vw - 1rem)) !important;
  max-height: min(70vh, 560px) !important;
  overflow-y: auto !important;
  z-index: 5400 !important;
}
.header-tools {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  min-width: 0 !important;
}

/* Inhalt beginnt direkt unter dem stabilen Header. */
.site-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  min-height: calc(100dvh - var(--r23-header-height) - var(--r23-footer-height)) !important;
  margin: 0 !important;
  padding-top: .35rem !important;
}

/* ===== FOOTER: kein Sandbalken, keine Wellen, sauber am Dokumentende ===== */
.site-footer,
.site-footer::before,
.site-footer::after {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.site-footer::before,
.site-footer::after {
  content: none !important;
  display: none !important;
}
.site-footer {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: var(--r23-footer-height) !important;
  height: auto !important;
  margin: auto 0 0 !important;
  padding: 34px 0 0 !important;
  overflow: visible !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}
.shoreline,
.shoreline::before,
.shoreline::after {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 34px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  pointer-events: none !important;
}
.foam-belt,
.wet-sand,
.dry-sand,
.shoreline-wave,
.wave-far,
.wave-near {
  display: none !important;
}
.shoreline > span {
  opacity: .45 !important;
}
.footer-inner,
.site-footer .footer-inner {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem .85rem !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: .65rem 1rem !important;
  transform: none !important;
  color: #eaf8fb !important;
  background: rgba(3, 42, 61, .82) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
}
.footer-inner .copyright,
.footer-social {
  color: #eaf8fb !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.38) !important;
}
.footer-inner .copyright span { color: rgba(153, 227, 236, .72) !important; }
.image-credit { display: none !important; }
.back-to-top { z-index: 5600 !important; }




