/* lz-hp-css 2.9 – LieferZwerge startseite.css (aus dem Design-System „LieferZwerge“)
   Alle Klassen mit Präfix lz-hp-, alles unter .lz-hp gekapselt.
   Nutzt die Theme-Variablen (--lz-green, --darkblue …) – jede mit
   Fallback-Wert, falls das Theme sie auf einer Seite nicht definiert.
   Die lz-hp-Aliase werden hier lokal gesetzt. */

.lz-hp, .lz-hp-lb {
  --lz-hp-white: #fff;
  --lz-hp-ink: var(--lz-darkblue, #313945);
  --lz-hp-ink-muted: var(--lightgrey, #6e768a);
  --lz-hp-ink-on-dark: var(--lz-hp-white);
  --lz-hp-surface: var(--lz-hp-white);
  --lz-hp-surface-alt: var(--lz-creme, #f9f7f5);
  --lz-hp-surface-dark: var(--darkblue, #16191e);
  --lz-hp-card-dark: var(--middlegrey, #252b33);
  --lz-hp-primary: var(--lz-green, #2dc42a);
  --lz-hp-primary-hover: var(--lz-green-dark, #42af40);
  --lz-hp-on-primary: var(--lz-hp-white);
  --lz-hp-focus: var(--darkblue, #16191e);
  --lz-hp-hairline: var(--light, #eef3fb);
  --lz-hp-accent: var(--lz-purple, rgba(104,37,255,1));
  --lz-hp-radius-button: 12px;
  --lz-hp-shadow-sm: 0 1px 2px rgba(22,25,30,.06), 0 2px 8px rgba(22,25,30,.04);
  --lz-hp-shadow-md: 0 6px 20px rgba(22,25,30,.10);
  --lz-hp-gutter: 20px;
  --lz-hp-section-y: 64px;
  --lz-hp-ease: cubic-bezier(.2,.7,.2,1);

  font-family: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--lz-hp-ink);
  background: var(--lz-hp-surface);
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) {
  .lz-hp { font-size: 17px; --lz-hp-section-y: 150px; }
}
.lz-hp *, .lz-hp *::before, .lz-hp *::after { box-sizing: border-box; }
.lz-hp img { max-width: 100%; height: auto; display: block; }
.lz-hp p { margin: 0 0 1em;font-size:14px; }

/* ---------- Layout & Flächen ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-container { width: 100%; max-width: var(--lz-container-width, 1220px); margin: 0 auto; padding: 0 var(--lz-hp-gutter); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section { padding: var(--lz-hp-section-y) 0; background: var(--lz-hp-surface); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--alt { background: var(--lz-hp-surface-alt); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark { background:#252b33 !important; color: var(--lz-creme, #f9f7f5) !important; --lz-hp-focus: var(--lz-green, #2dc42a); --lz-hp-on-primary: var(--darkblue, #16191e); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark :is(.lz-hp-h1,.lz-hp-h2,.lz-hp-h3) { color: var(--lz-hp-ink-on-dark); }

/* ---------- Typografie ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; letter-spacing: .02em; line-height: 1.4; margin: 0 0 16px; color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lz-green, #2dc42a); flex: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-eyebrow { color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-h1 { font-size: 36px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 24px; color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-h2 { font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 16px; color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-h3 { font-size: 20px; line-height: 1.3; font-weight: 600; margin: 0 0 8px; color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-lead { font-size: 1.0625em; margin: 0 0 24px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-small { font-size: 14px; line-height: 1.5; color: var(--lz-hp-ink-muted); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--alt .lz-hp-small { color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-small { color: var(--lz-creme, #f9f7f5); }
@media (min-width: 1024px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-h1 { font-size: 56px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-h2 { font-size: 42px; line-height: 1.15; letter-spacing: -0.015em; }
}

/* Pinselstrich unter Schlüsselwörtern – sparsam, 1× pro Überschrift */
:is(.lz-hp, .lz-hp-lb) .lz-hp-brush {
  /* Hintergrund statt Pseudo-Element: bricht mit dem Text um (box-decoration-break) */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath fill='%232dc42a' d='M3 8.5C38 3.8 92 2.2 152 3.4c18 .4 32 1.4 45 3.2.9.1 1.5.9 1.4 1.8-.1.8-.8 1.4-1.6 1.4-30-1.6-80-2.6-128-.4-22 1-44 2.6-64 4.7C3.4 14.3 1.6 13 1.5 11.3c-.1-1.3.6-2.5 1.5-2.8z'/%3E%3C/svg%3E") 0 96% / 100% .3em no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
  padding: 0 .04em;
}

/* ---------- Fokus (überall sichtbar) ---------- */
.lz-hp :is(a,button,summary):focus-visible, .lz-hp .is-focus { outline: 3px solid var(--lz-hp-focus); outline-offset: 2px; }

/* ---------- Buttons ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 24px; border-radius: var(--lz-hp-radius-button);
  font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.25; text-decoration: none; cursor: pointer;
  border: 2px solid transparent; transition: background-color .15s, border-color .15s, color .15s, transform .1s;
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--primary { background: var(--lz-hp-primary); color: var(--lz-hp-on-primary); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--primary:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-btn--primary.is-hover { background: var(--lz-hp-primary-hover); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--primary:active, :is(.lz-hp, .lz-hp-lb) .lz-hp-btn--primary.is-active { background: var(--lz-hp-primary-hover); transform: translateY(1px); box-shadow: inset 0 2px 0 rgba(22,25,30,.15); }
/* Schrift auf Grün: auf hellen Flächen Weiß, auf dunklen Flächen darkblue (über --lz-hp-on-primary in .lz-hp-section--dark). */
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--secondary { background: transparent; color: var(--lz-hp-ink); border-color: var(--lz-darkblue, #313945); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--secondary:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-btn--secondary.is-hover { background: var(--lz-darkblue, #313945); color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--secondary:active, :is(.lz-hp, .lz-hp-lb) .lz-hp-btn--secondary.is-active { background: var(--darkblue, #16191e); border-color: var(--darkblue, #16191e); color: var(--lz-hp-white); transform: translateY(1px); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-btn--secondary { color: var(--lz-hp-white); border-color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-btn--secondary:hover { background: var(--lz-hp-white); color: var(--darkblue, #16191e); }
/* Variante B zur Freigabe: dunkel gefüllt, grüner Pfeil (17,6:1) */
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--dark { background: var(--darkblue, #16191e); color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--dark i { color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--dark:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-btn--dark.is-hover { background: var(--lz-darkblue, #313945); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--block { width: 100%; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-btn--pill { border-radius: 999px; }

:is(.lz-hp, .lz-hp-lb) .lz-hp-link {
  display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--lz-hp-ink);
  text-decoration: underline; text-decoration-color: var(--lz-green, #2dc42a); text-decoration-thickness: 2px; text-underline-offset: 4px;
  background: none; border: 0; padding: 0; font: inherit; font-weight: 600; cursor: pointer;
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-link:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-link.is-hover { text-decoration-thickness: 3px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-link i { transition: transform .15s; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-link:hover i, :is(.lz-hp, .lz-hp-lb) .lz-hp-link.is-hover i { transform: translateX(3px); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-link { color: var(--lz-hp-white); }

/* ---------- Chips & Vorlauf ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline), var(--lz-hp-shadow-sm); font-size: 14px; font-weight: 500; line-height: 1.3; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-chip i { color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-leadtime { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 500; line-height: 1.45; margin: 0 0 24px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-leadtime i { color: var(--lz-green, #2dc42a); margin-top: 1px; flex: none; }

/* ---------- Preis-Platzhalter ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-preis { display: inline-block; padding: 3px 10px; border-radius: var(--lz-radius-small, 8px); background: var(--lz-creme, #f9f7f5); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline); font-size: 11px; font-weight: 600; line-height: 1.4; color: var(--lz-hp-ink); white-space: nowrap; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--alt .lz-hp-preis { background: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-preis { background: var(--lz-hp-card-dark); color: var(--lz-hp-white); box-shadow: none; }

/* ---------- Platzhalter (sichtbar markiert) ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-ph {
  position: relative; display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 16px; border-radius: var(--lz-radius, 16px); border: 2px dashed var(--lightgrey, #6e768a);
  background: repeating-linear-gradient(135deg, var(--light, #eef3fb) 0 12px, var(--lz-hp-white) 12px 24px);
  color: var(--lz-hp-ink); font-size: 14px; font-weight: 600; line-height: 1.4;
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-ph::before { content: "Platzhalter"; position: absolute; top: 10px; left: 10px; padding: 2px 8px; border-radius: var(--lz-radius-small, 8px); background: var(--darkblue, #16191e); color: var(--lz-hp-white); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ph--text { display: inline; padding: 1px 6px; border-radius: 4px; border: 1px dashed var(--lightgrey, #6e768a); background: var(--light, #eef3fb); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ph--text::before { content: none; }

/* ---------- Anlass-Liste: eine Zeile je Anlass (Icon · Titel + Unterzeile · Preis · Pfeil) ---------- */
.lz-hp .lz-hp-tiles, .lz-hp .lz-hp-tiles > li { list-style: none; margin: 0; padding: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tiles { display: grid; gap: 8px; width:100% !important;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile {
  display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 14px 16px;
  border-radius: 12px; background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline);
  color: var(--lz-hp-ink); text-decoration: none; transition: box-shadow .2s var(--lz-hp-ease);
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__icon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--lz-creme, #f9f7f5); display: grid; place-items: center; color: var(--lz-green, #2dc42a); font-size: 18px; transition: background-color .2s, color .2s; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__title { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: 16px; font-weight: 600; line-height: 1.3; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__sub { font-size: 13px; line-height: 1.4; color: var(--lz-hp-ink-muted); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__meta { flex: none; display: flex; align-items: center; gap: 10px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__go { color: var(--lz-darkblue, #313945); font-size: 20px; line-height: 1; transition: transform .2s var(--lz-hp-ease); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile__badge { padding: 1px 8px; border-radius: 999px; background: var(--lz-hp-accent); color: var(--lz-hp-white); font-size: 11px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-tile.is-hover { box-shadow: inset 0 0 0 2px var(--lz-green, #2dc42a), var(--lz-hp-shadow-sm); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile:hover .lz-hp-tile__icon, :is(.lz-hp, .lz-hp-lb) .lz-hp-tile.is-hover .lz-hp-tile__icon { background: var(--lz-green, #2dc42a); color: var(--lz-hp-on-primary); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile:hover .lz-hp-tile__go, :is(.lz-hp, .lz-hp-lb) .lz-hp-tile.is-hover .lz-hp-tile__go { transform: translateX(4px); }
/* Handy: Preis unter die Unterzeile, Pfeil bleibt rechts */
@media (max-width: 559px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 6px 14px; padding: 14px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__icon { grid-row: 1 / span 2; align-self: center; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__meta { display: contents; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__meta .lz-hp-preis { grid-column: 2; grid-row: 2; justify-self: start; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__go { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
}

/* ---------- Speisen-Karte ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-food { display: flex; flex-direction: column; border-radius: var(--lz-radius, 16px); background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline), var(--lz-hp-shadow-sm); overflow: hidden; height: 100%; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__media { aspect-ratio: 3 / 2; border-radius: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__media img { width: 100%; height: 100%; object-fit: cover; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__media.lz-hp-ph { border-radius: var(--lz-radius, 16px) var(--lz-radius, 16px) 0 0; border-bottom: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__body { padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__head .lz-hp-h3 { margin: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__typ { font-size: 14px; line-height: 1.5; color: var(--lz-hp-ink-muted); margin: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-food__actions { margin-top: auto; padding-top: 6px; display: flex; gap: 20px; flex-wrap: wrap; font-size: 15px; }

/* ---------- Schritte ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-steps { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 0; counter-reset: lzstep; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 0 16px; padding-bottom: 28px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step:last-child { padding-bottom: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step::before { content: ""; position: absolute; left: 27px; top: 56px; bottom: 0; width: 2px; background: var(--lz-green, #2dc42a); opacity: .45; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step:last-child::before { content: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step__badge { position: relative; width: 56px; height: 56px; border-radius: 50%; background: var(--lz-creme, #f9f7f5); display: grid; place-items: center; font-size: 24px; color: var(--lz-darkblue, #313945); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step__num { position: absolute; top: -4px; right: -4px; width: 24px; height: 24px; border-radius: 50%; background: var(--lz-green, #2dc42a); color: var(--lz-hp-on-primary); font-size: 13px; font-weight: 700; display: grid; place-items: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step .lz-hp-h3 { margin-top: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-step p { margin: 0; }
@media (min-width: 768px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-steps { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-step { grid-template-columns: 1fr; padding-bottom: 0; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-step::before { left: 72px; right: -24px; top: 27px; bottom: auto; width: auto; height: 2px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-step .lz-hp-h3 { margin-top: 20px; }
}

/* ---------- Katalog-Band ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog { position: relative; display: grid; gap: 24px; padding: 32px 24px; border-radius: var(--lz-radius, 16px); background: color-mix(in srgb, var(--lz-green, #2dc42a) 12%, var(--lz-creme, #f9f7f5)); overflow: hidden; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover { position: relative; height: 290px; order: 2; margin-bottom: -32px; }
/* Katalog-Cover: schräg, unten vom Band angeschnitten */
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover a { position: absolute; left: 50%; top: 22px; width: 220px;transform: translateX(-50%) rotate(-6deg); border-radius: 8px; overflow: hidden; box-shadow: 0 12px 32px rgba(22,25,30,.22); transition: transform .25s var(--lz-hp-ease); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover a:hover { transform: translateX(-50%) rotate(-4deg) translateY(-6px); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover img { display: block; width: 100%; height: auto; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover .lz-hp-ph { position: absolute; inset: 8px 18%; transform: rotate(-6deg); box-shadow: var(--lz-hp-shadow-md); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__fine { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 14px; margin-top: 16px; align-items: center;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__fine span { color: var(--lz-hp-ink); }
@media (min-width: 768px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-catalog { grid-template-columns: 1.4fr 1fr; align-items: center; padding: 48px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover { align-self: stretch; height: auto; min-height: 260px; margin: -48px 0; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__cover a { top: 50px; width: 290px; }
}

/* ---------- Bewertung ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; background: var(--lz-hp-white); box-shadow: var(--lz-hp-shadow-md); font-size: 14px; line-height: 1.3; color: var(--lz-hp-ink); text-decoration: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating__src { font-weight: 600; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating__stars { color: #fbbc04; display: inline-flex; gap: 1px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating__value { font-weight: 700; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating--inline { box-shadow: none; padding: 0; background: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating--float { position: absolute; left: 16px; bottom: 16px; }

/* ---------- FAQ ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq { display: grid; gap: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq details { border-radius: var(--lz-radius, 16px); background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq details[open] { box-shadow: inset 0 0 0 2px var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; min-height: 48px; font-weight: 600; cursor: pointer; border-radius: var(--lz-radius, 16px); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq summary::-webkit-details-marker { display: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq summary::after { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--lz-creme, #f9f7f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23313945' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .2s; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq details[open] summary::after { transform: rotate(45deg); background-color: var(--lz-green, #2dc42a); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E"); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq__a { padding: 0 20px 20px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq__a p { margin: 0;font-size:13px; }

:is(.lz-hp, .lz-hp-lb) .lz-hp-glance { padding: 28px; border-radius: var(--lz-radius, 16px); background: var(--lz-creme, #f9f7f5); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-glance .lz-hp-h3 { margin-bottom: 16px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-glance ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-glance li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.15; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-glance li i { color: var(--lz-green, #2dc42a); margin-top: 1px; flex: none;width:15px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-glance__pay { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--light, #eef3fb); font-size: 14px; }

/* ---------- Chat ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-chat { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 4px; background: none; border: 0; font: inherit; font-weight: 600; color: var(--lz-hp-ink); cursor: pointer; text-decoration: underline; text-decoration-color: var(--lz-green, #2dc42a); text-decoration-thickness: 2px; text-underline-offset: 4px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-dot { position: relative; width: 10px; height: 10px; border-radius: 50%; background: var(--lightgrey, #6e768a); flex: none; }
[data-online="1"] .lz-hp-dot, :is(.lz-hp, .lz-hp-lb) .lz-hp-dot[data-online="1"] { background: var(--lz-green, #2dc42a); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lz-green, #2dc42a) 25%, transparent); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-chat__status { font-size: 14px; line-height: 1.4; color: var(--lz-hp-ink-muted); text-decoration: none; display: block; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-chat { color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-chat__status { color: var(--lz-creme, #f9f7f5); }

/* ---------- Sticky-Leiste (nur < 768 px) ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  display: flex; gap: 10px; align-items: center;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: var(--lz-hp-white); box-shadow: 0 -4px 20px rgba(22,25,30,.10);
  transform: translateY(110%); visibility: hidden; transition: transform .25s var(--lz-hp-ease), visibility 0s linear .25s;
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky.is-visible { transform: none; visibility: visible; transition: transform .25s var(--lz-hp-ease); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky .lz-hp-btn { flex: 1; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky__chat { text-decoration: none; flex: none; width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--lz-darkblue, #313945); background: var(--lz-hp-white); color: var(--lz-darkblue, #313945); font-size: 22px; display: grid; place-items: center; cursor: pointer; position: relative; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky__chat .lz-hp-dot { position: absolute; top: 2px; right: 2px; border: 2px solid var(--lz-hp-white); width: 12px; height: 12px; }
@media (min-width: 768px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-sticky { display: none; } }
/* Platz für die Leiste, damit nichts verdeckt wird */
@media (max-width: 767px) { .lz-hp.has-sticky { padding-bottom: calc(72px + env(safe-area-inset-bottom)); } }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky--demo { position: relative; transform: none; visibility: visible; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sticky--demo.is-hidden { transform: translateY(110%); visibility: hidden; }

/* ---------- Ansprechpartner ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact { display: grid; grid-template-columns: 88px 1fr; gap: 16px 20px; align-items: center; padding: 24px; border-radius: var(--lz-radius, 16px); background: var(--darkblue, #16191e); color: var(--lz-creme, #f9f7f5); }
.lz-hp .lz-hp-contact__img { width: 88px; height: 88px; aspect-ratio: 1 / 1; border-radius: 50%; background: var(--lz-creme, #f9f7f5); object-fit: cover; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__name { font-size: 18px; font-weight: 600; color: var(--lz-hp-white); margin: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__role { font-size: 14px; margin: 0; color: var(--lz-creme, #f9f7f5); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: grid; gap: 2px;font-size:14px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list > li > a { display: inline-flex; align-items: center; gap: 10px; color: var(--lz-hp-white); text-decoration: none; min-height: 32px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__status { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__status .lz-hp-chat__status { display: inline; color: var(--lz-green); font-size: 11px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list a:hover { text-decoration: underline; text-decoration-color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list i { color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact--light { background: var(--lz-hp-white); color: var(--lz-hp-ink); box-shadow: var(--lz-hp-shadow-sm); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact--light :is(.lz-hp-contact__name,.lz-hp-contact__list a,.lz-hp-contact__status) { color: var(--lz-hp-ink); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact--light .lz-hp-contact__role { color: var(--lz-hp-ink-muted); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list li {min-height: 32px;}

/* ---------- Versorgung ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply a { display: flex; flex-direction: column; gap: 6px; padding: 16px; min-height: 100%; border-radius: var(--lz-radius, 16px); background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline); color: var(--lz-hp-ink); text-decoration: none; transition: box-shadow .2s; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply a:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-supply a.is-hover { box-shadow: inset 0 0 0 2px var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply i { font-size: 22px; color: var(--lz-green, #2dc42a); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply strong { font-weight: 600; font-size: 16px; line-height: 1.3; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply span { font-size: 13px; line-height: 1.4; color: var(--lz-hp-ink-muted); }

/* ---------- Lightbox-Inhalt (Lity) ---------- */
.lz-hp-lb { position: relative; width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 64px); overflow: auto; padding: 32px 28px 28px; border-radius: var(--lz-radius, 16px); background: var(--lz-hp-white); color: var(--lz-darkblue, #313945); font-family: Poppins, system-ui, sans-serif; line-height: 1.55; }
.lz-hp-lb__close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--lz-creme, #f9f7f5); color: var(--lz-darkblue, #313945); cursor: pointer; font-size: 18px; }
.lz-hp-lb ul { padding-left: 0; list-style: none; display: grid; gap: 8px; margin: 0 0 20px; }
.lz-hp-lb li { display: flex; gap: 10px; }
.lz-hp-lb li i { color: var(--lz-green, #2dc42a); flex: none; margin-top: 2px; }
.lz-hp-lb__note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--lz-radius-small, 8px); background: var(--lz-creme, #f9f7f5); font-size: 14px; margin: 0 0 20px; }

/* ---------- Bewegung ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-reveal { opacity: 0; transform: translateY(12px); transition: opacity .5s var(--lz-hp-ease), transform .5s var(--lz-hp-ease); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lz-hp *, .lz-hp *::before, .lz-hp *::after { transition: none !important; animation: none !important; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-reveal { opacity: 1; transform: none; }
}

/* ---------- Zweitakzent Lila (private Feier) ---------- */
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile--privat .lz-hp-tile__icon { color: var(--lz-hp-accent); background: color-mix(in srgb, var(--lz-purple, rgba(104,37,255,1)) 8%, var(--lz-hp-white)); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile--privat:hover, :is(.lz-hp, .lz-hp-lb) .lz-hp-tile--privat.is-hover { box-shadow: inset 0 0 0 2px var(--lz-hp-accent), var(--lz-hp-shadow-md); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tile--privat:hover .lz-hp-tile__icon, :is(.lz-hp, .lz-hp-lb) .lz-hp-tile--privat.is-hover .lz-hp-tile__icon { background: var(--lz-hp-accent); color: var(--lz-hp-white); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.3; background: color-mix(in srgb, var(--lz-green, #2dc42a) 14%, var(--lz-hp-white)); color: var(--lz-darkblue, #313945); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-tag--privat { background: color-mix(in srgb, var(--lz-purple, rgba(104,37,255,1)) 10%, var(--lz-hp-white)); color: var(--lz-hp-accent); }

/* =========================================================
   Seitenlayout Startseite (Sektionen 1–9)
   ========================================================= */
:is(.lz-hp, .lz-hp-lb) .lz-hp-sec-head { max-width: 760px; margin: 0 0 40px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sec-head p:last-child { margin-bottom: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sec-head--center { margin-left: auto; margin-right: auto; text-align: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-sec-head--center .lz-hp-eyebrow { justify-content: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-sec-head p { color: var(--lz-creme, #f9f7f5); }

/* 1 · Hero */
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero { padding: 32px 0 56px; background: var(--lz-hp-surface); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__grid { display: grid; gap: 32px; align-items: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__text .lz-hp-lead { max-width: 560px; font-size: 14px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 10px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__micro { font-size: 14px; color: var(--lz-hp-ink-muted); margin: 0 0 20px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__more { display: flex; flex-wrap: wrap; gap: 4px 24px; align-items: center; font-size: 15px; margin: 0 0 20px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__more .lz-hp-chat { min-height: 40px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__media { position: relative; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--lz-radius, 16px); }
@media (max-width: 1023px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__media .lz-hp-rating--float { display: none; } }
/* Desktop-Hero: Text links im Seitenraster, Bild randabfallend bis zum rechten Fensterrand und über die volle Hero-Höhe */
@media (min-width: 1024px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero { position: relative; display: flex; align-items: center; padding: 0; min-height: clamp(620px, calc(100vh - 110px), 820px); overflow: hidden; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero > .lz-hp-container { width: 100%; max-width: 1600px;padding: 0 40px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__grid { grid-template-columns: calc(50% + 60px) minmax(0, 1fr); gap: 0; } /* Textspalte etwas breiter als die Bildhälfte */
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__text { padding: 72px 64px 72px 0; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero .lz-hp-h1 { font-size: clamp(44px, 3.6vw, 56px); line-height: 1.04; margin-bottom: 28px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__text .lz-hp-lead { font-size: 17px; max-width: 520px; margin-bottom: 28px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__cta { margin-bottom: 12px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__cta .lz-hp-btn { min-height: 56px; padding: 14px 28px; font-size: 17px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__media { position: absolute; top: 0; right: 0; bottom: 0; left: calc(50% + 60px); }
  .lz-hp .lz-hp-hero__media img { width: 100%; height: 100% !important; aspect-ratio: auto; object-fit: cover; object-position: 35% center; border-radius: 48px 0 0 48px; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__media .lz-hp-rating--float { left: -36px; bottom: 64px; padding: 14px 20px; font-size: 15px; box-shadow: 0 12px 32px rgba(22,25,30,.16); }
}

/* 2 · Für Unternehmen / Für private Feier */
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience { display: grid; gap: 24px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__col { padding: 24px 16px 16px; border-radius: var(--lz-radius, 16px); background: var(--lz-creme, #f9f7f5); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__head { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__icon { flex: none; width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; background: color-mix(in srgb, var(--lz-green, #2dc42a) 14%, var(--lz-hp-white)); color: var(--lz-darkblue, #313945); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__col--privat .lz-hp-audience__icon { background: color-mix(in srgb, var(--lz-purple, rgba(104,37,255,1)) 10%, var(--lz-hp-white)); color: var(--lz-hp-accent); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__head .lz-hp-h3 { font-size: 20px; margin: 0 0 2px; }
.lz-hp .lz-hp-audience__head p {
  margin: 0 !important;
  padding: 0;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: var(--lz-hp-ink-muted);
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-audience__note { margin: 24px 0 0; font-weight: 600; text-align: center; }
@media (min-width: 768px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-audience__col { padding: 28px 28px 24px; } :is(.lz-hp, .lz-hp-lb) .lz-hp-audience__head .lz-hp-h3 { font-size: 22px; } }
@media (min-width: 1024px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-audience { grid-template-columns: 1fr 1fr; gap: 32px; } }

/* 3 · Ablauf */
:is(.lz-hp, .lz-hp-lb) .lz-hp-ablauf__cta { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; }

/* 4 · Speisenbeispiele – Swiper mobil, Raster ab 1024 px; ohne JS: Scroll-Snap */
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods { margin: 0 calc(var(--lz-hp-gutter) * -1); padding: 4px var(--lz-hp-gutter) 8px; overflow: hidden; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods .swiper-wrapper { display: flex; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods .swiper-slide { flex-shrink: 0; height: auto; }
/* Rand-Abstand über padding des Sliders: Karte 1 bündig mit dem Text, Nachbarkarte ragt rechts sichtbar herein.
   Swiper rechnet die Breite ohne padding – Start- und Endposition stimmen dadurch immer (kein slidesOffsetBefore nötig). */
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods:is(.swiper-initialized, .swiper-container-initialized) { padding-left: var(--lz-hp-gutter) !important; padding-right: var(--lz-hp-gutter) !important; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods:not(.swiper-initialized):not(.swiper-container-initialized) { overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--lz-hp-gutter); scrollbar-width: none; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods:not(.swiper-initialized):not(.swiper-container-initialized) .swiper-wrapper { gap: 16px;padding:0 0 5px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-foods:not(.swiper-initialized):not(.swiper-container-initialized) .swiper-slide { flex: 0 0 82%; max-width: 340px; scroll-snap-align: start; }
@media (min-width: 1024px) {
  :is(.lz-hp, .lz-hp-lb) .lz-hp-foods { margin: 0; padding: 0; overflow: visible; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-foods .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; transform: none !important; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-foods .swiper-slide { max-width: none; width: auto !important; margin: 0 !important; }
}
:is(.lz-hp, .lz-hp-lb) .lz-hp-catalog { margin-top: 40px; }

/* 5 · Referenzen & Bewertungen */
:is(.lz-hp, .lz-hp-lb) .lz-hp-refs { display: grid; gap: 16px; margin-bottom: 48px; }
@media (min-width: 768px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-refs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ref__media { aspect-ratio: 16 / 10; border-radius: var(--lz-radius, 16px) var(--lz-radius, 16px) 0 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ref__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ref__facts li { display: flex; gap: 8px; align-items: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ref__facts i { color: var(--lz-hp-accent); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-ref__quote { margin: 4px 0 0; font-style: italic;font-size:12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews__head { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 20px; margin-top: var(--lz-hp-section-y);}
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews__badges { display: flex; flex-wrap: wrap; gap: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews { position: relative; overflow: hidden; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews .swiper-wrapper { display: flex; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews:not(.swiper-initialized):not(.swiper-container-initialized) .swiper-wrapper { gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews .swiper-slide { flex-shrink: 0; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-reviews:not(.swiper-initialized):not(.swiper-container-initialized) .swiper-slide { flex: 0 0 85%; max-width: 380px; scroll-snap-align: start; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-review { height: 100%; padding: 20px; border-radius: var(--lz-radius, 16px); background: var(--lz-hp-white); box-shadow: inset 0 0 0 1px var(--lz-hp-hairline); font-size: 15px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-logos-slot { margin-top: 32px; min-height: 88px; }
/* Kundenlogos: Größe je Logo über --w (optisch angeglichen), PNGs aus /upload/ */
.lz-hp .lz-hp-logos { text-align: center; }
.lz-hp .lz-hp-logos__label { margin: 0 0 20px; font-size: 14px; font-weight: 600; color: var(--lz-darkblue, #313945); }
.lz-hp .lz-hp-logos__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 48px; }
.lz-hp .lz-hp-logos__list li { margin: 0; padding: 0; display: flex; align-items: center; }
.lz-hp .lz-hp-logos__list img { display: block; width: var(--w) !important; height: auto !important; max-width: none; }
@media (max-width: 767px) {
  .lz-hp .lz-hp-logos__list { gap: 20px 28px; }
  .lz-hp .lz-hp-logos__list img { width: calc(var(--w) * .5) !important; }
  :is(.lz-hp, .lz-hp-lb) .lz-hp-eyebrow {font-size: 13px;margin: 0;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-reviews__badges {justify-content: flex-end;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-supply span, :is(.lz-hp, .lz-hp-lb) .lz-hp-faq__a p, .lz-hp .lz-hp-reviews .review p, :is(.lz-hp, .lz-hp-lb) .lz-hp-hero__text .lz-hp-lead, .lz-hp .lz-hp-audience__head p,
  button:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__micro {font-size: 12px !important;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-glance li {font-size: 12px;line-height: 10px;}
  .lz-hp p {font-size: 12px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-rating {padding: 10px 14px;height: 38px;width: 100%;justify-content: flex-start;font-size: 11px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-checks li {font-size: 12px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-faq summary {font-size: 14px;line-height: 17px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-btn {width: 100%;}
  #anlaesse ul:last-child {padding: 0!important;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__sub {font-size: 11px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-audience__head .lz-hp-h3 {font-size: 18px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-tile__title {font-size: 14px;}
  :is(.lz-hp, .lz-hp-lb) .lz-hp-h2 {font-size: 24px !important;}
}
/* Desktop: alle Logos in einer Reihe – sie schrumpfen anteilig, falls der Platz nicht reicht */
@media (min-width: 1024px) {
  .lz-hp .lz-hp-logos__list { flex-wrap: nowrap; justify-content: space-between; gap: 24px; }
  .lz-hp .lz-hp-logos__list li { flex: 0 1 auto; min-width: 0; justify-content: center; }
  .lz-hp .lz-hp-logos__list img { max-width: 100% !important; }
}

/* 6 · Messe (dunkel) */
:is(.lz-hp, .lz-hp-lb) .lz-hp-split { display: grid; gap: 32px; align-items: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-split__media img, :is(.lz-hp, .lz-hp-lb) .lz-hp-split__media .lz-hp-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lz-radius, 16px); }
@media (min-width: 1024px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; } :is(.lz-hp, .lz-hp-lb) .lz-hp-split--flip .lz-hp-split__media { order: 2; } }
:is(.lz-hp, .lz-hp-lb) .lz-hp-checks { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 12px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-checks li { display: flex; gap: 12px; align-items: flex-start; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-checks i { color: var(--lz-green, #2dc42a); font-size: 20px; flex: none; margin-top: 1px; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-ph { border-color: var(--lightgrey, #6e768a); background: repeating-linear-gradient(135deg, var(--middlegrey, #252b33) 0 12px, var(--darkblue, #16191e) 12px 24px); color: var(--lz-creme, #f9f7f5); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--dark .lz-hp-ph::before { background: var(--lz-green, #2dc42a); color: var(--darkblue, #16191e); }
:is(.lz-hp, .lz-hp-lb) .lz-hp-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin-top: 8px; }

/* 7 · Versorgung */
:is(.lz-hp, .lz-hp-lb) .lz-hp-supply { margin-top: 24px; }

/* 8 · FAQ */
:is(.lz-hp, .lz-hp-lb) .lz-hp-faq-wrap { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1024px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-faq-wrap { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 40px; } :is(.lz-hp, .lz-hp-lb) .lz-hp-glance { position: -webkit-sticky; position: sticky; top: 100px; align-self: start; } }
/* sticky funktioniert nur, wenn kein Eltern-Element overflow:hidden hat. Themes setzen das oft gegen
   horizontales Scrollen – auf dieser Seite wird es durch overflow-x:clip ersetzt (gleiche Wirkung, sticky bleibt). */
:is(html, body, #page, #wrapper, .site, .site-content, #content, #primary, .content-area, #main):has(.lz-hp-faq-wrap) { overflow: visible !important; overflow-x: clip !important; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-section--alt .lz-hp-glance { background: var(--lz-hp-white); }

/* 9 · Team & Abschluss */
:is(.lz-hp, .lz-hp-lb) .lz-hp-team { display: grid; gap: 32px; align-items: center; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-team__media { position: relative; display: grid; grid-template-columns: 1fr; gap: 16px; }
/* Chris: PNG ist fertig freigestellt (Kreis + Mütze ragt heraus) – ohne Rand, Zuschnitt oder Hintergrund zeigen, unten bündig */
.lz-hp .lz-hp-team__chris { width: 140px !important; height: auto !important; max-width: none; aspect-ratio: auto; border: 0; border-radius: 0; background: none; object-fit: contain; position: absolute; right: 16px; bottom: 0; z-index: 1; }
:is(.lz-hp, .lz-hp-lb) .lz-hp-team__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lz-radius, 16px); }
@media (min-width: 1024px) { :is(.lz-hp, .lz-hp-lb) .lz-hp-team { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; } .lz-hp .lz-hp-team__chris { width: 140px !important; height: auto !important; right: -32px;bottom: -32px;} }
:is(.lz-hp, .lz-hp-lb) .lz-hp-team .lz-hp-contact { grid-template-columns: 1fr; margin: 24px 0; }

/* Bewertungs-Slides aus reviews.php: Kartenoptik, kompakte Schrift, Google-Sterne, keine festen Höhen */
.lz-hp .lz-hp-reviews { height: auto !important; min-height: 0 !important; padding: 0 0 var(--lz-hp-section-y);}
/* Höhe des Wrappers setzt Swiper (autoHeight) passend zu den sichtbaren Bewertungen */
.lz-hp .lz-hp-reviews .swiper-wrapper { align-items: flex-start; transition-property: transform, height; }
/* lange Bewertungen auf 6 Zeilen kürzen, sonst bestimmt die längste (unsichtbare) Bewertung die Höhe */
.lz-hp .lz-hp-reviews .swiper-slide p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.lz-hp .lz-hp-reviews .swiper-slide { height: auto !important; min-height: 0 !important; box-sizing: border-box; padding: 20px; border-radius: var(--lz-radius, 16px); background: #fff; box-shadow: inset 0 0 0 1px var(--light, #eef3fb), 0 1px 2px rgba(22,25,30,.06); font-size: 14px !important; line-height: 1.55 !important; color: var(--lz-darkblue, #313945); overflow: hidden; }
.lz-hp .lz-hp-reviews .swiper-slide * { font-size: inherit !important; line-height: inherit !important; max-width: 100%; }
.lz-hp .lz-hp-reviews .swiper-slide :is(b, strong, h3, h4, h5, .name, [class*="name"], [class*="author"]) { font-size: 15px !important; font-weight: 600; }
.lz-hp .lz-hp-reviews .swiper-slide :is([class*="date"], time, small) { color: var(--lightgrey, #6e768a); font-weight: 400; }
.lz-hp .lz-hp-reviews .swiper-slide :is(i, svg, [class*="star"]) { color: #fbbc04 !important; fill: #fbbc04; letter-spacing: 1px; }
/* reviews.php: graue Grundsterne + orange Bewertungssterne übereinander (nicht nebeneinander) */
.lz-hp .lz-hp-reviews .review-rating { position: relative; display: inline-block; line-height: 1 !important; margin: 6px 0 8px; white-space: nowrap; }
.lz-hp .lz-hp-reviews .review-rating .basic-stars, .lz-hp .lz-hp-reviews .review-rating .basic-stars * { color: #dadce0 !important; }
.lz-hp .lz-hp-reviews .review-rating .rating-stars { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; }
.lz-hp .lz-hp-reviews .review-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.lz-hp .lz-hp-reviews .review p { margin: 0; }
/* Slider-Pfeile */
.lz-hp .lz-hp-reviews__nav { display: flex; gap: 8px; }
.lz-hp .lz-hp-reviews__nav button { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--lz-darkblue, #313945); background: #fff; color: var(--lz-darkblue, #313945); display: grid; place-items: center; cursor: pointer; padding: 0; font-size: 18px; }
.lz-hp .lz-hp-reviews__nav button:hover { background: var(--lz-darkblue, #313945); color: #fff; }
.lz-hp .lz-hp-reviews__nav button.swiper-button-disabled { opacity: .35; cursor: default; }
.lz-hp .lz-hp-reviews__nav button:focus-visible { outline: 3px solid var(--darkblue, #16191e); outline-offset: 2px; }
.lz-hp .lz-hp-reviews .swiper-pagination, .lz-hp .lz-hp-reviews .swiper-scrollbar { position: static; margin-top: 16px; }
.lz-hp .lz-hp-reviews .swiper-slide.lz-hp-ph { box-shadow: none; }
/* Google-Sterne in der Bewertungs-Badge */
.lz-hp .lz-hp-rating__stars, .lz-hp .lz-hp-rating__stars i { color: #fbbc04; }

/* Lity-Inhalt außerhalb der Lightbox ausblenden (falls Lity-CSS später lädt) */
.lz-hp .lity-hide { display: none; }

.lz-hp .lz-hp-reviews .swiper-slide .review-logo {background: url('https://upload.wikimedia.org/wikipedia/commons/c/c1/Google_%22G%22_logo.svg?utm_source=de.wikipedia.org&utm_campaign=index&utm_content=original') no-repeat center center / cover; height: 20px; width: 20px; position: relative; top: 5px;}

@media (max-width: 767px) {
.lz-hp .lz-hp-team__chris {width: 110px !important;right: -10px;bottom: -30px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-h1 {font-size: 32px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-chip {padding: 5px 10px;font-size: 11px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__grid {display: flex;flex-flow: column-reverse;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero {padding: 0;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-hero__micro {font-size: 10px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-h3 {font-size: 16px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-small, :is(.lz-hp, .lz-hp-lb) .lz-hp-catalog__fine span {font-size: 11px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-rating__stars {font-size: 16px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__list {font-size: 12px;}
:is(.lz-hp, .lz-hp-lb) .lz-hp-contact__status .lz-hp-chat__status {font-size: 10px;}
.lz-hp, .lz-hp-lb {--lz-hp-gutter: 15px;}

}

.home #support-btn {display: none !important;}