/* Live homepage: BIO-test hero + quote (chrome in guest.css) */
:root {
  --mm-ink: #1c1712;
  --mm-muted: #6f6a63;
  --mm-line: #d4cfc4;
  --mm-foam: #fffcf8;
  --mm-bg: #f5f2ec;
  --mm-soft: #f7f2eb;
  --mm-beige: #efe8dc;
  --mm-stone: #9a948c;
  --mm-accent: #c9c3b8;
  --mm-btn: #5c5752;
  --mm-btn-hover: #746e66;
  --mm-brand: #3a3632;
  --mm-radius: 0;
  --mm-max: 1200px;
  --mm-font: "Source Sans 3", "Segoe UI", sans-serif;
  --mm-display: "Cormorant Garamond", Georgia, serif;
  --mm-shadow: 0 2px 16px rgba(28, 23, 18, .06);
}

/* Keine Rundungen auf der Startseite */
.guest-landing {
  --guest-radius: 0;
}
.guest-landing .guest-btn,
.guest-landing .guest-input,
.guest-landing .guest-select,
.guest-landing .lp-room,
.guest-landing .lp-room img,
.guest-landing .lp-gallery img,
.guest-landing .lp-datebar,
.guest-landing .lp-avail-room,
.guest-landing .guest-card,
.guest-landing .guest-panel,
.guest-landing .guest-header__tools,
.guest-landing .guest-menu-toggle,
.guest-landing .guest-lang__toggle,
.guest-landing .mm-btn,
.guest-landing .mm-logo,
.guest-landing .mm-hero-nav button {
  border-radius: 0 !important;
}

.mm-hero-slider { position: relative; background: var(--mm-beige); overflow: hidden; }
.mm-hero-slide {
  display: none; position: relative;
  min-height: min(78vh, 640px);
  background: center/cover no-repeat var(--mm-hero-image, #cfc7bb);
}
.mm-hero-slide.is-active { display: block; }
.mm-hero-slide::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(28,23,18,.72) 0%, rgba(28,23,18,.35) 48%, rgba(28,23,18,.15) 100%);
}
.mm-hero-slide .mm-wrap {
  position: relative; z-index: 1;
  display: grid; align-content: end; gap: .75rem;
  min-height: inherit; padding: 4.5rem 0 7.5rem; color: #fff;
  max-width: 40rem; margin-left: max(1.25rem, calc((100% - var(--mm-max)) / 2 + 1.25rem));
}
.mm-hero__kicker {
  margin: 0; font-size: .78rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; opacity: .9;
  font-family: var(--mm-font);
}
.mm-hero__brand {
  margin: 0; font-family: var(--mm-display);
  font-size: clamp(2.4rem, 5.5vw, 3.8rem); font-weight: 600; line-height: 1.1;
}
.mm-hero__lead { margin: 0; font-size: 1.05rem; max-width: 32rem; opacity: .95; font-family: var(--mm-font); }
.mm-hero__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .35rem; }

/* Hero-CTAs an Stelle der früheren Buttons */
.mm-hero__actions--cta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.6rem;
  z-index: 3;
  display: block;
  margin: 0;
  pointer-events: none;
}
.mm-hero__actions--cta .mm-wrap {
  pointer-events: auto;
  max-width: 40rem;
  margin-left: max(1.25rem, calc((100% - var(--mm-max)) / 2 + 1.25rem));
  margin-right: 1.25rem;
  padding: 0;
  min-height: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.mm-hero__actions .mm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .7rem 1.15rem;
  font-family: var(--mm-font);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  text-transform: none;
  letter-spacing: .02em;
}
.mm-hero__actions .mm-btn--beige {
  background: var(--mm-beige);
  color: var(--mm-ink);
  border-color: var(--mm-beige);
}
.mm-hero__actions .mm-btn--beige:hover { background: #fff; border-color: #fff; }
.mm-hero__actions .mm-btn--outline-light {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.75);
}
.mm-hero__actions .mm-btn--outline-light:hover { background: rgba(255,255,255,.12); }

/* Header-Button immer wie auf den Unterseiten */
.mm-top .mm-btn.mm-btn--top {
  padding: .55rem .9rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-family: var(--mm-font);
}
@media (min-width: 901px) {
  .mm-top .mm-btn.mm-btn--top {
    padding: .5rem .8rem;
    font-size: .72rem;
  }
}

/* Text zeitverzögert einlaufen (wie Bio Planète) */
.mm-hero-slide .mm-hero__kicker,
.mm-hero-slide .mm-hero__brand,
.mm-hero-slide .mm-hero__lead {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition: none;
}
.mm-hero-slide.is-active.is-in .mm-hero__kicker,
.mm-hero-slide.is-active.is-in .mm-hero__brand,
.mm-hero-slide.is-active.is-in .mm-hero__lead {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 1.05s cubic-bezier(.22, 1, .36, 1),
              transform 1.05s cubic-bezier(.22, 1, .36, 1);
}
.mm-hero-slide.is-active.is-in .mm-hero__kicker { transition-delay: .12s; }
.mm-hero-slide.is-active.is-in .mm-hero__brand { transition-delay: .32s; }
.mm-hero-slide.is-active.is-in .mm-hero__lead { transition-delay: .52s; opacity: .95; }

.mm-hero__actions--cta .mm-btn {
  opacity: 0;
  transform: translate3d(0, .9rem, 0);
  transition: none;
}
.mm-hero-slider.is-cta-in .mm-hero__actions--cta .mm-btn {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity .95s cubic-bezier(.22, 1, .36, 1),
              transform .95s cubic-bezier(.22, 1, .36, 1);
}
.mm-hero-slider.is-cta-in .mm-hero__actions--cta .mm-btn:nth-child(1) { transition-delay: .72s; }
.mm-hero-slider.is-cta-in .mm-hero__actions--cta .mm-btn:nth-child(2) { transition-delay: .88s; }

@media (prefers-reduced-motion: reduce) {
  .mm-hero-slide .mm-hero__kicker,
  .mm-hero-slide .mm-hero__brand,
  .mm-hero-slide .mm-hero__lead,
  .mm-hero__actions--cta .mm-btn {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

.mm-hero-nav {
  position: absolute; inset: auto 1rem 1.25rem auto; z-index: 4;
  display: flex; gap: .4rem;
}
.mm-hero-nav button, .mm-hero-dots button {
  border: 1px solid rgba(255,255,255,.65); background: rgba(0,0,0,.25);
  color: #fff; width: 2.2rem; height: 2.2rem; cursor: pointer; border-radius: 0;
}
.mm-hero-dots {
  position: absolute; left: 50%; bottom: 1.1rem; transform: translateX(-50%);
  z-index: 4; display: flex; gap: .35rem;
}
.mm-hero-dots button {
  width: .55rem; height: .55rem; border-radius: 0; padding: 0;
  border: 0; background: rgba(255,255,255,.45);
}
.mm-hero-dots button.is-on { background: #fff; }
.mm-quote {
  padding: 2.75rem 0; text-align: center; background: var(--mm-foam);
  border-bottom: 1px solid var(--mm-line);
}
.mm-quote blockquote {
  margin: 0 auto; max-width: 40rem;
  font-family: var(--mm-display); font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 500; line-height: 1.35; color: var(--mm-ink);
}
.mm-quote cite {
  display: block; margin-top: 1rem; font-style: normal;
  font-family: var(--mm-font); font-size: .82rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--mm-muted);
}
@media (max-width: 720px) {
  .mm-hero-slide { min-height: min(72vh, 620px); }
  .mm-hero-slide .mm-wrap {
    padding: 3.5rem 0 8.5rem;
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    max-width: none;
  }
  .mm-hero__actions--cta {
    bottom: 3.2rem;
  }
  .mm-hero__actions--cta .mm-wrap {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    max-width: none;
  }
  .mm-hero-nav { inset: auto .75rem 1rem auto; }
}

/* Fixiertes Hero-Bild; weißer Zitatbalken startet höher und füllt den Rest auf 100vh */
.guest-landing--mm {
  --mm-top-offset: 5.6rem;
  --mm-quote-band: clamp(12.5rem, 30vh, 18rem);
}
.guest-landing--mm .mm-home-fold {
  position: relative;
  z-index: 0;
  display: block;
  height: calc(100svh - var(--mm-quote-band));
  height: calc(100dvh - var(--mm-quote-band));
  min-height: 16rem;
  pointer-events: none;
}
.guest-landing--mm .mm-home-fold .mm-hero-slider {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100svh - var(--mm-quote-band));
  height: calc(100dvh - var(--mm-quote-band));
  min-height: 16rem;
  z-index: 0;
  pointer-events: auto;
  display: grid;
  grid-template-areas: "stack";
  overflow: hidden;
}
.guest-landing--mm .mm-home-fold .mm-hero-slide {
  grid-area: stack;
  min-height: 100% !important;
  height: 100%;
}
.guest-landing--mm .mm-home-fold .mm-hero-slide .mm-wrap {
  padding: 2.5rem 0 5rem;
}
.guest-landing--mm .mm-home-fold .mm-hero__actions--cta {
  bottom: 1.6rem;
}
/* Weißer Inhalt inkl. Zitat – scrollt sofort über dem stehenden Bild */
.guest-landing--mm .mm-scroll-sheet,
.guest-landing--mm .mm-footer,
.guest-landing--mm .guest-footer {
  position: relative;
  z-index: 1;
}
.guest-landing--mm .mm-scroll-sheet {
  width: 100%;
  background: #fff;
  color: var(--mm-ink);
}
.guest-landing--mm .mm-scroll-sheet .mm-quote {
  margin: 0;
  min-height: var(--mm-quote-band);
  padding: 0.85rem 1.25rem 2.1rem;
  box-sizing: border-box;
  display: grid;
  align-content: start;
  justify-items: center;
  background: #fff;
  border-bottom: 1px solid var(--mm-line);
  text-align: center;
}
.guest-landing--mm .mm-scroll-sheet .mm-quote .mm-wrap {
  width: min(100%, 42rem);
}
.guest-landing--mm .mm-scroll-sheet .mm-quote blockquote {
  margin: 0 auto;
  max-width: 40rem;
  color: var(--mm-ink);
  font-size: clamp(1.15rem, 2.1vw, 1.55rem);
  line-height: 1.4;
  font-weight: 500;
}
.guest-landing--mm .mm-scroll-sheet .mm-quote cite {
  display: block;
  margin-top: .85rem;
  color: var(--mm-muted);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.guest-landing--mm .mm-scroll-sheet .guest-section,
.guest-landing--mm .mm-scroll-sheet .guest-section--tint,
.guest-landing--mm .mm-scroll-sheet .lp-reviews {
  background: transparent !important;
}
.guest-landing--mm .mm-footer,
.guest-landing--mm .guest-footer {
  background: #fff !important;
  border-top-color: var(--mm-line);
}

@media (max-width: 720px) {
  .guest-landing--mm {
    --mm-top-offset: 4.75rem;
    --mm-quote-band: clamp(13.5rem, 34vh, 20rem);
  }
  .guest-landing--mm .mm-home-fold .mm-hero-slide .mm-wrap {
    padding: 2rem 0 5.5rem;
  }
  .guest-landing--mm .mm-home-fold .mm-hero__actions--cta {
    bottom: 1.25rem;
  }
  .guest-landing--mm .mm-scroll-sheet .mm-quote {
    padding: 0.7rem 1.1rem 1.85rem;
  }
  .guest-landing--mm .mm-scroll-sheet .mm-quote blockquote {
    font-size: 1.08rem;
    line-height: 1.38;
  }
  .guest-landing--mm .mm-scroll-sheet .mm-quote cite {
    margin-top: .65rem;
    font-size: .74rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guest-landing--mm .mm-home-fold {
    pointer-events: auto;
    height: auto;
    min-height: 0;
  }
  .guest-landing--mm .mm-home-fold .mm-hero-slider {
    position: relative;
    top: auto;
    height: auto;
    min-height: min(62vh, 560px);
  }
  .guest-landing--mm .mm-scroll-sheet .mm-quote {
    min-height: 0;
  }
}

/* Nach-oben-Button wie Bio Planète (Startseite) */
.guest-landing--mm .guest-toplink {
  width: 2.625rem;
  height: 2.625rem;
  padding: 0;
  border-radius: 0;
  background: var(--mm-btn);
  color: #fff;
  border-color: var(--mm-btn);
  box-shadow: 0 0 0 0 var(--mm-btn);
}
.guest-landing--mm .guest-toplink:hover,
.guest-landing--mm .guest-toplink.is-visible:hover {
  background: var(--mm-btn-hover);
  border-color: var(--mm-btn-hover);
  box-shadow: 0 0 0 0.2rem rgba(92, 87, 82, 0.35);
}


/* Inhalt ohne Kartenrahmen (wie Bio Planète) */
.guest-landing--mm .guest-section {
  padding: 3.5rem 1.25rem;
}
.guest-landing--mm .guest-section + .guest-section {
  border-top: 1px solid var(--mm-line);
}
.guest-landing--mm .guest-section h2 {
  font-family: var(--mm-display);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.guest-landing--mm .guest-section .section-lead {
  max-width: 40rem;
  font-family: var(--mm-font);
}

.guest-landing--mm .lp-contact,
.guest-landing--mm .lp-contact--unified,
.guest-landing--mm .lp-reviews-empty {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  max-width: 42rem;
}
.guest-landing--mm .lp-contact p,
.guest-landing--mm .lp-contact--unified p {
  margin: 0 0 1rem;
  line-height: 1.65;
  font-size: 1.05rem;
  color: var(--mm-ink);
  font-family: var(--mm-font);
}
.guest-landing--mm .lp-contact p:last-child,
.guest-landing--mm .lp-contact--unified p:last-child {
  margin-bottom: 0;
}

.guest-landing--mm .lp-room {
  background: #fff;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 0 0 0 transparent;
  transition: transform 500ms cubic-bezier(0.34, 2, 0.6, 1), box-shadow 200ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .guest-landing--mm .lp-room:hover,
  .guest-landing--mm .lp-room:focus-within {
    transform: translateY(-5px);
    box-shadow:
      0 20px 30px rgba(0, 0, 0, 0.2),
      0 5px 8px -5px rgba(0, 0, 0, 0.2),
      0 15px 16px -15px rgba(0, 0, 0, 0.2),
      0 25px 32px -25px rgba(0, 0, 0, 0.2);
  }
}
.guest-landing--mm .lp-rooms-grid {
  gap: 1.75rem 1.5rem;
}
.guest-landing--mm .lp-room__media {
  border-radius: 0;
  background: var(--mm-beige, #ebe6de);
  overflow: hidden;
}
.guest-landing--mm .lp-room__media img {
  transition: transform 1s ease;
}
@media (hover: hover) and (pointer: fine) {
  .guest-landing--mm .lp-room:hover .lp-room__media img,
  .guest-landing--mm .lp-room:focus-within .lp-room__media img {
    transform: scale(1.1);
  }
}
.guest-landing--mm .lp-room__body {
  padding: 1rem 1rem 1.15rem;
  gap: 0.55rem;
}
.guest-landing--mm .lp-room__body h3 {
  font-family: var(--mm-display);
  font-size: 1.45rem;
}
.guest-landing--mm .lp-room__body p {
  font-family: var(--mm-font);
  line-height: 1.55;
}
@media (prefers-reduced-motion: reduce) {
  .guest-landing--mm .lp-room,
  .guest-landing--mm .lp-room__media img {
    transition: none !important;
  }
  .guest-landing--mm .lp-room:hover,
  .guest-landing--mm .lp-room:focus-within {
    transform: none;
  }
}

.guest-landing--mm .lp-gallery {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  gap: 0.75rem;
}
.guest-landing--mm .lp-gallery img {
  border-radius: 0;
}

.guest-landing--mm .lp-umgebung-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.guest-landing--mm .lp-umgebung-card__img {
  border-radius: 0;
}
.guest-landing--mm .lp-umgebung-list--compact {
  display: grid;
  gap: 1.75rem;
}
.guest-landing--mm .lp-lage__map iframe {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid var(--mm-line);
}

.guest-landing--mm .lp-reviews-list {
  max-width: none;
  width: 100%;
  gap: 1.15rem;
}
.guest-landing--mm .lp-review {
  background: #fff;
  border: 0;
  border-radius: 0;
  padding: 1.15rem 1.2rem 1.25rem;
  border-bottom: 0;
  animation: none;
  overflow: hidden;
  box-shadow: 0 0 0 0 transparent;
  transition: transform 500ms cubic-bezier(0.34, 2, 0.6, 1), box-shadow 200ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .guest-landing--mm .lp-review:hover,
  .guest-landing--mm .lp-review:focus-within {
    transform: translateY(-5px);
    box-shadow:
      0 20px 30px rgba(0, 0, 0, 0.2),
      0 5px 8px -5px rgba(0, 0, 0, 0.2),
      0 15px 16px -15px rgba(0, 0, 0, 0.2),
      0 25px 32px -25px rgba(0, 0, 0, 0.2);
  }
}
.guest-landing--mm .lp-review__quote {
  font-family: var(--guest-hand, "Caveat", cursive);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: #2f3236;
}
.guest-landing--mm .lp-faq__item,
.guest-landing--mm details.lp-faq__item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mm-line);
  border-radius: 0;
  padding: 0.85rem 0;
  box-shadow: none;
}
.guest-landing--mm .lp-faq__item + .lp-faq__item {
  margin-top: 0;
}
