/* Litzi Hof – Design (Stil nach den Cargo-Entwürfen der Grafikerin)
 *
 * Seiten werden in Elementor gebaut. Das Aussehen kommt über CSS-Klassen, die du in Elementor unter
 * Erweitert → CSS-Klassen eintragen kannst (bei Containern und Widgets):
 *   Abschnitte:  lh-sec, lh-sec--hell, lh-center, lh-text
 *   Text:        lh-title, lh-lead (+ lh-lead--schmal/--kompakt/--gross), lh-zwischen, lh-small, lh-caps, lh-spruch, lh-facts,
 *                lh-links (linksbündig), lh-blocksatz; im Text: <br class="lh-br-d"> = Zeilenumbruch nur am Desktop
 *   Bilder:      lh-reveal (öffnet sich beim Scrollen und wandert leicht), lh-wide (breites Bild), lh-video (Video-Widget),
 *                lh-logo-btn (Bild-Widget mit Link: runder Knopf mit Logo), lh-karte (Feedbackkarte, ganz sichtbar)
 *   Layouts:     lh-teaser (+ lh-teaser--links/--rechts, lh-teaser__media, lh-teaser__text, lh-teaser__title),
 *                lh-split (+ lh-split--rechts, lh-split__media, lh-split__text), lh-stack (Bildpaar),
 *                lh-offer (+ lh-offer--salbei/--lila, lh-on-dark), lh-products / lh-product, lh-stimme,
 *                lh-galerie (Fotos in drei Spalten; + lh-galerie--mosaik = vier Spalten, Fotos im eigenen Format, + lh-galerie--drei = drei Spalten), lh-karten (Feedbackkarten), lh-fragen (Fragen per E-Mail/WhatsApp)
 *   Hero:        lh-hero (+ lh-hero--grau, lh-hero--logo-oben, lh-pos-20 … Bildausschnitt), lh-hero__img, lh-hero__logo
 *   Fußzeile:    lh-footer, lh-footer__top, lh-footer__addr, lh-footer__kontakt, lh-social (am Widget „Social Icons“), lh-footer__links
 *
 * Angebote auf Petras Auszeit: Widget „Petras Auszeit – Angebot“ (Kategorie Litzi Hof, kommt vom Anfrage-Tool-Plugin).
 * Texte, Preise, Dauer usw. dort NICHT in Elementor eintippen – sie kommen aus Petras Auszeit → Erlebnisse bzw. /chefin.
 *
 * Am Desktop stehen die Fotos von lh-teaser, lh-split und vom Hero beim Scrollen still, ihr Rahmen zieht darüber wie ein Fenster.
 */

@font-face { font-family: "LH Calluna"; src: url("../../../uploads/2023/07/Calluna-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "LH Calluna"; src: url("../../../uploads/2023/07/Calluna-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
/* Inter (SIL Open Font License, siehe fonts/Inter-OFL.txt) – variable Schrift, alle Stärken in einer Datei,
   auf lateinische Schrift gekürzt (Deutsch, Europa, Satz- und Pfeilzeichen; ~65 % kleiner) */
@font-face { font-family: "Inter"; src: url("fonts/Inter-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("fonts/Inter-Italic-latin.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "LH Apercu"; src: url("../../../uploads/2023/07/FontsFree-Net-ApercuLight.ttf") format("truetype"); font-weight: 300 400; font-display: swap; }
@font-face { font-family: "LH Apercu"; src: url("../../../uploads/2023/07/Apercu-Bold.ttf") format("truetype"); font-weight: 600 700; font-display: swap; }

:root {
	--lh-creme: #f3ead8;
	--lh-hell: #e5e4df;
	--lh-salbei: #939c7d;
	--lh-salbei-dunkel: #667369;
	--lh-lila: #94949e;
	--lh-text: #2f302c;
	--lh-text-weich: #4a4a44;
	--lh-serif: "LH Calluna", "Calluna", Georgia, "Times New Roman", serif;
	--lh-sans: "Inter", "LH Apercu", "Helvetica Neue", Arial, sans-serif;
	--lh-grotesk: var(--lh-sans);
	--lh-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	--lh-pad: clamp(20px, 6vw, 90px);
}

/* ---------- Grundgerüst ---------- */

body.lh {
	margin: 0;
	background: var(--lh-creme);
	color: var(--lh-text);
	font-family: var(--lh-sans);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.lh *, body.lh *::before, body.lh *::after { box-sizing: border-box; }
/* :where() hält die Grundregeln schwach, damit eingebettete Tools (Anfrage-Tool, Formulare) ihr eigenes CSS behalten */
:where(body.lh) a { color: inherit; }
:where(body.lh) img { max-width: 100%; height: auto; display: block; }
:where(body.lh) p { margin: 0 0 1em; }
:where(body.lh) strong { font-weight: 700; }
/* Ausgeblendetes (Burger-Menü, Hinweis „Neues“) bleibt ausgeblendet – kam bisher nebenbei aus dem CSS von Royal Addons */
body.lh [hidden] { display: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; padding: 10px 14px; background: #fff; color: var(--lh-text); }

/* Elementor-Grundwerte an den Look anpassen */
body.lh .elementor-widget-text-editor { font-family: var(--lh-sans); font-weight: 400; color: inherit; }
body.lh .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.lh .elementor-widget-heading .elementor-heading-title { font-family: var(--lh-serif); font-weight: 400; color: inherit; line-height: 1.15; }
body.lh .elementor-widget-image img { display: block; }
body.lh .e-con { --gap: 0px; }

/* ---------- Kopf & Menü ---------- */

.lh-head {
	position: fixed; inset: 0 0 auto 0; z-index: 50;
	display: flex; justify-content: space-between; align-items: center;
	padding: 18px 24px;
	pointer-events: none;
	transition: background .3s, color .3s;
	color: #fff;
}
.lh-head > * { pointer-events: auto; }
body.lh .lh-head__home {
	font-family: var(--lh-serif); font-size: 20px; text-decoration: none; letter-spacing: .01em; color: inherit;
	opacity: 0; transition: opacity .3s;
}
.lh-head.is-solid { background: rgba(243, 234, 216, .94); color: var(--lh-text); }
.lh-head.is-solid .lh-head__home { opacity: 1; }
body.lh .lh-burger,
body.lh .lh-burger:hover,
body.lh .lh-burger:focus {
	width: 34px; height: 26px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer; color: inherit;
	display: flex; flex-direction: column; justify-content: space-between;
}
.lh-burger span { display: block; height: 1.5px; background: currentColor; transition: transform .3s, opacity .3s; }
.lh-nav-open .lh-burger span:nth-child(1) { transform: translateY(12px) rotate(45deg); }
.lh-nav-open .lh-burger span:nth-child(2) { opacity: 0; }
.lh-nav-open .lh-burger span:nth-child(3) { transform: translateY(-12px) rotate(-45deg); }
.lh-nav-open .lh-head { color: var(--lh-text); background: transparent; }
.lh-nav-open .lh-head__home { opacity: 1; }

.lh-nav {
	position: fixed; inset: 0; z-index: 40;
	background: var(--lh-creme); color: var(--lh-text);
	display: flex; flex-direction: column; justify-content: center;
	padding: 80px var(--lh-pad);
	opacity: 0; transition: opacity .35s;
}
.lh-nav.is-open { opacity: 1; }
.lh-nav__list { list-style: none; margin: 0 0 40px; padding: 0; }
body.lh .lh-nav__list a {
	font-family: var(--lh-serif); font-size: clamp(34px, 6vw, 64px); line-height: 1.2;
	text-decoration: none; display: inline-block; color: inherit;
}
.lh-nav__list a:hover, .lh-nav__list .current-menu-item a { font-style: italic; }
.lh-nav__contact { font-size: 16px; }
.lh-nav__contact a { text-decoration: none; }

/* Im Elementor-Editor die Kopfzeile sichtbar lassen */
.elementor-editor-active .lh-head { position: relative; background: var(--lh-text); }

/* ---------- Hero mit Logo ---------- */

body.lh .e-con.lh-hero {
	position: relative; overflow: hidden;
	height: clamp(340px, 62vh, 640px);
	background: #333;
	display: grid; place-items: center;
}
.lh-hero .lh-hero__img { position: absolute; inset: 0; width: 100%; height: 115%; will-change: transform; }
.lh-hero .lh-hero__img .elementor-widget-container { height: 100%; }
body.lh .lh-hero .lh-hero__img img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center center; }
.lh-hero--grau .lh-hero__img img { filter: grayscale(1); }
.lh-hero::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .12); pointer-events: none; }
.lh-hero .lh-hero__logo { position: relative; z-index: 1; width: clamp(190px, 22vw, 290px); grid-area: 1 / 1; }
/* Eine Rasterzelle – im Elementor-Editor kommen Hilfselemente dazu, das Logo bleibt trotzdem mittig */
body.lh .e-con.lh-hero { grid-template: 1fr / 1fr; }
.lh-hero .lh-hero__logo img { width: 100%; height: auto; }
.lh-hero .lh-hero__logo.lh-logo--petras { width: clamp(220px, 26vw, 360px); }
.lh-hero .lh-hero__logo.lh-logo--kleas { width: clamp(180px, 20vw, 280px); }
/* Bildausschnitt: lh-pos-20 = 20 % von oben usw. */
body.lh .lh-pos-10 .lh-hero__img img { object-position: center 10%; }
body.lh .lh-pos-20 .lh-hero__img img { object-position: center 20%; }
body.lh .lh-pos-30 .lh-hero__img img { object-position: center 30%; }
body.lh .lh-pos-45 .lh-hero__img img { object-position: center 45%; }
body.lh .lh-pos-60 .lh-hero__img img { object-position: center 60%; }
body.lh .lh-pos-70 .lh-hero__img img { object-position: center 70%; }
/* Logo im oberen Bilddrittel statt mittig – z. B. über der Holzwand, damit die Gesichter frei bleiben */
body.lh .e-con.lh-hero--logo-oben { place-items: start center; }
body.lh .lh-hero--logo-oben .lh-hero__logo { margin-top: clamp(70px, 12vh, 130px); }

/* ---------- Typografie-Bausteine ---------- */

body.lh .lh-title { text-align: center; margin: 0 0 .9em; }
body.lh .lh-title .elementor-heading-title,
body.lh h1.lh-title {
	font-family: var(--lh-serif); font-weight: 400; color: var(--lh-text);
	font-size: clamp(32px, 4.4vw, 52px); line-height: 1.1; letter-spacing: -.005em; margin: 0;
}
body.lh .lh-title em { font-style: italic; }
body.lh .lh-lead {
	font-family: var(--lh-serif); font-weight: 400; font-size: clamp(20px, 2vw, 25px); line-height: 1.42;
	color: var(--lh-text-weich); text-align: center; max-width: 36em; margin: 0 auto 1.6em;
}
body.lh .lh-lead em { font-style: italic; }
body.lh .lh-lead a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.lh .lh-lead a:hover { text-decoration-thickness: 2px; }
/* Einleitungstext überall gleich groß (wie Wir-Seite); Breiten in em, damit die Zeilenumbrüche mit der Schrift mitwachsen */
/* Elementor setzt Widgets in Containern auf max-width: 100 % – so gelten die Textbreiten des Looks trotzdem */
body.lh .e-con .elementor-widget.lh-lead { max-width: 36em; }
body.lh .e-con .elementor-widget.lh-zwischen { max-width: 760px; }
/* Startseite: so breit, dass die erste Zeile genau bis „… liegt unser“ reicht (dort steht <br class="lh-br-d">) */
body.lh .e-con .elementor-widget.lh-lead--schmal { max-width: 38.6em; }
/* Petras Auszeit: vier Zeilen */
body.lh .e-con .elementor-widget.lh-lead--kompakt { max-width: 37em; }
/* Wir-Seite: breiter */
body.lh .e-con .elementor-widget.lh-lead--gross { max-width: 940px; }
/* Zeilenumbruch nur am Desktop: <br class="lh-br-d"> */
@media (max-width: 781px) {
	body.lh br.lh-br-d { display: none; }
}
body.lh .lh-links, body.lh .lh-links p { text-align: left; }
body.lh .lh-blocksatz, body.lh .lh-blocksatz p { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
body.lh .lh-zwischen {
	font-family: var(--lh-serif); font-weight: 400; font-style: italic; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3;
	text-align: center; max-width: 760px; margin: 2.2em auto 1.2em;
}
body.lh .lh-small { font-size: 13.5px; letter-spacing: .02em; }
body.lh .lh-caps { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* Pill-Buttons (Mono-Schrift wie im Entwurf) – gelten für jedes Elementor-Button-Widget */
body.lh .lh-btn,
body.lh .elementor-widget-button .elementor-button {
	display: inline-flex; align-items: center; gap: .5em;
	font-family: var(--lh-mono); font-size: 12px; font-weight: 400; letter-spacing: .02em; line-height: 1.2;
	color: currentColor; background: transparent;
	border: 1.5px solid currentColor; border-radius: 999px;
	padding: .7em 1.4em; text-decoration: none; cursor: pointer;
	transition: background .2s, color .2s;
}
body.lh .elementor-widget-button .elementor-button { color: var(--lh-text); }
body.lh .lh-on-dark .elementor-widget-button .elementor-button { color: #fff; }
body.lh .lh-btn:hover,
body.lh .elementor-widget-button .elementor-button:hover { background: var(--lh-text); color: var(--lh-creme); }
body.lh .lh-on-dark .elementor-widget-button .elementor-button:hover { background: #fff; color: var(--lh-text); }
body.lh .e-con.lh-buttons { flex-direction: row; flex-wrap: wrap; gap: 10px; margin: 1.4em 0 0; }
body.lh .lh-center .e-con.lh-buttons, body.lh .e-con.lh-center.lh-buttons { justify-content: center; }

/* ---------- Abschnitte ---------- */

body.lh .e-con.lh-sec, body.lh .lh-sec { padding: clamp(50px, 6.5vw, 96px) var(--lh-pad); }
.lh-sec--hell { background: var(--lh-hell); }
.lh-sec--creme { background: var(--lh-creme); }
body.lh .lh-center { text-align: center; }
body.lh .e-con.lh-center { align-items: center; }
body.lh .e-con.lh-center:not(.lh-buttons) > .elementor-widget { width: 100%; }
body.lh .lh-text { max-width: 680px; margin: 0 auto; font-size: 16px; }
body.lh .e-con.lh-text { width: 100%; }
body.lh .lh-text .elementor-widget-text-editor { font-size: 16px; }

/* Teaser: Bild randbündig, Text daneben (Startseite) – Verhältnis Foto zu Text wie im Cargo-Entwurf */
body.lh .e-con.lh-teaser { display: grid; grid-template-columns: 43% 1fr; align-items: center; padding: 0; margin: clamp(40px, 6vw, 90px) 0; }
body.lh .lh-teaser__media { position: relative; }
body.lh .e-con.lh-teaser__text { padding: 40px var(--lh-pad) 40px clamp(40px, 8vw, 130px); }
body.lh .lh-teaser--links .lh-teaser__media > .lh-reveal { aspect-ratio: 2 / 3; }
body.lh .e-con.lh-teaser--rechts { grid-template-columns: 1fr 40%; }
body.lh .lh-teaser--rechts .lh-teaser__media { order: 2; }
body.lh .lh-teaser--rechts .e-con.lh-teaser__text { order: 1; padding: 40px clamp(40px, 8vw, 130px) 40px var(--lh-pad); }
body.lh .lh-teaser--rechts .lh-teaser__text .elementor-widget-text-editor { max-width: 540px; }
/* Hühnerbild ganz zeigen (Querformat, nicht beschnitten) */
body.lh .lh-teaser--rechts .lh-teaser__media > .lh-reveal img { height: auto; transform: none; }
body.lh .lh-teaser__title { margin: 0 0 1.1em; text-align: left; }
body.lh .lh-teaser__title .elementor-heading-title {
	font-family: var(--lh-sans); font-weight: 300; font-size: clamp(28px, 3.2vw, 46px); line-height: 1.12; color: var(--lh-text);
}
body.lh .lh-teaser__title strong { font-weight: 700; }
body.lh .lh-teaser__text .elementor-widget-text-editor { font-size: clamp(15px, 1.15vw, 17px); max-width: 520px; }
body.lh .lh-teaser__text .elementor-widget-text-editor.lh-small { font-size: 13.5px; }
body.lh .lh-teaser__text .lh-hinweis { margin-top: 1.2em; }
body.lh .lh-teaser__text .lh-hinweis a { text-decoration: underline; text-underline-offset: 2px; }

/* Bildpaar: nebeneinander und versetzt, das zweite Bild wandert beim Scrollen schneller (look.js) */
body.lh .e-con.lh-stack { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(12px, 1.6vw, 24px); align-items: start; padding-bottom: 12%; }
.lh-stack > .lh-reveal:nth-child(1) { aspect-ratio: 3 / 4; }
.lh-stack > .lh-reveal:nth-child(2) { aspect-ratio: 4 / 5; margin-top: 38%; }

/* Reveal-Effekt (Werte setzt look.js) */
.lh-reveal { overflow: hidden; clip-path: inset(var(--lh-clip, 0%) 0 0 0); }
/* Bildrahmen immer in voller Breite – sonst schrumpft er in Elementor auf die Bildbreite (0, solange das Bild noch nicht geladen ist) */
body.lh .elementor-widget-image.lh-reveal { width: 100%; align-self: stretch; }
.lh-reveal .elementor-widget-container { height: 100%; }
body.lh .lh-reveal img { width: 100%; height: 118%; max-width: none; object-fit: cover; transform: translateY(var(--lh-shift, 0px)); will-change: transform; }
.lh-js .lh-reveal { --lh-clip: 100%; }
/* Im Editor nichts verstecken */
.elementor-editor-active .lh-reveal { --lh-clip: 0% !important; }

/* Video (z. B. Drohnenaufnahme): breit, 16:9, öffnet sich beim Scrollen wie die Bilder (Klassen lh-video lh-reveal) */
body.lh .elementor-widget-video.lh-video { width: 100%; max-width: 980px; margin: .4em auto 0; align-self: center; background: #2f302c; }
body.lh .lh-video .elementor-wrapper { aspect-ratio: 16 / 9; }
body.lh .lh-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
body.lh .e-con .elementor-widget.lh-video { margin-block-end: clamp(40px, 6vw, 70px); }

/* Breites Bild */
.lh-wide.lh-reveal { height: clamp(260px, 55vw, 620px); }
body.lh .lh-wide.lh-reveal img { height: 125%; }

/* Bild + Text nebeneinander (Unterseiten) */
body.lh .e-con.lh-split { display: grid; grid-template-columns: 1fr 1fr; padding: 0; }
body.lh .e-con.lh-split__media { position: relative; min-height: 70vh; }
body.lh .lh-split__media > .lh-reveal { position: absolute; inset: 0; }
body.lh .e-con.lh-split__text { padding: clamp(50px, 7vw, 100px) var(--lh-pad); align-self: center; }
body.lh .lh-split--rechts .lh-split__media { order: 2; }
body.lh .lh-split__text .elementor-widget-text-editor:not(.lh-lead):not(.lh-caps):not(.lh-facts) { max-width: 600px; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.55; }
body.lh .e-con.lh-sec--vor-split { padding-bottom: clamp(30px, 4vw, 50px); }

/* Fixierte Fotos wie im Cargo-Entwurf – nur am Desktop: Das Foto steht mittig im Fenster still, sein Rahmen scrollt
 * mit der Seite darüber wie ein Fenster (look.js gibt den Bildern die Klasse lh-fix und misst Lage und Größe des Rahmens).
 * Gilt automatisch für lh-teaser--links, lh-split und den Hero. */
@media (min-width: 782px) {
	body.lh .e-con.lh-split { align-items: center; }
	body.lh .e-con.lh-split__media { height: min(88vh, 60vw); min-height: 0; }
	body.lh .e-con.lh-split__text { padding-top: clamp(40px, 5vw, 70px); padding-bottom: clamp(40px, 5vw, 70px); }

	body.lh .e-con.lh-teaser { margin: 0; }
	body.lh .e-con.lh-teaser + .e-con.lh-teaser { margin-top: clamp(30px, 3.4vw, 50px); }
	/* Hochformat mit schmalem Rand links, Text mittig daneben */
	body.lh .e-con.lh-teaser--links { grid-template-columns: 42vw 1fr; padding-left: clamp(16px, 2.6vw, 40px); }
	body.lh .lh-teaser--links .lh-teaser__media > .lh-reveal { aspect-ratio: auto; height: min(56vw, 94vh); }
	body.lh .e-con.lh-teaser--links .lh-teaser__text { padding: 40px var(--lh-pad) 40px clamp(40px, 7vw, 110px); }
	/* Querformat randbündig rechts: das ganze Foto (3:2) kommt sofort mit herein und bleibt dann mittig im Fenster stehen,
	   solange der Text daneben vorbeizieht (sticky statt Fenster-Effekt – sonst wäre der Rahmen anfangs leer) */
	body.lh .e-con.lh-teaser--rechts { grid-template-columns: 1fr 47vw; align-items: stretch; min-height: max(90vh, calc(35vw + 240px)); }
	/* etwas beschnitten (4:3 statt 3:2) und größer, damit das Foto präsenter ist */
	body.lh .lh-teaser--rechts .lh-teaser__media > .lh-reveal { aspect-ratio: 4 / 3; position: sticky; top: max(70px, calc(50vh - 17.6vw)); }
	body.lh .lh-teaser--rechts .lh-teaser__media > .lh-reveal img { height: 100%; object-fit: cover; object-position: 55% 65%; }
	body.lh .e-con.lh-teaser--rechts .lh-teaser__text { justify-content: center; padding-top: clamp(40px, 5vw, 70px); padding-bottom: clamp(40px, 5vw, 70px); }
}
.lh-js body.lh .lh-fix { --lh-clip: 0%; }
.lh-js body.lh .e-con .lh-fix.lh-reveal img {
	position: fixed; left: var(--lh-fix-x, 0px); top: calc(50vh - var(--lh-fix-h, 0px) / 2);
	width: var(--lh-fix-w, 100%); height: var(--lh-fix-h, 100%); transform: none; will-change: auto;
}
/* clip-path schneidet auch fixierte Kindelemente ab – overflow: hidden würde das nicht */
.lh-js body.lh .e-con.lh-hero.lh-fix { clip-path: inset(0); }
.lh-js body.lh .lh-hero.lh-fix .lh-hero__img { position: fixed; top: 0; height: var(--lh-fix-h, 100%); transform: none !important; }

/* Angebote Petras Auszeit */
body.lh .lh-offer { color: #fff; }
body.lh .lh-offer--salbei { background: var(--lh-salbei-dunkel); }
body.lh .lh-offer--lila { background: var(--lh-lila); }
body.lh .lh-offer .elementor-heading-title {
	font-family: var(--lh-serif); font-weight: 400; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.1; color: #fff;
}
body.lh .lh-offer .elementor-widget-heading { margin: 0 0 .5em; }
body.lh .lh-offer .lh-lead { text-align: left; color: #fff; margin-left: 0; font-size: clamp(20px, 1.9vw, 25px); }
body.lh .lh-offer .elementor-widget-text-editor { font-size: clamp(17px, 1.45vw, 21px); line-height: 1.55; }
body.lh .lh-offer .elementor-widget-text-editor.lh-lead { font-size: clamp(20px, 1.9vw, 25px); line-height: 1.42; }
body.lh .lh-offer .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: 1em; }
body.lh .lh-facts { border-top: 1px solid rgba(255, 255, 255, .45); padding-top: 1em; }
body.lh .lh-facts strong { font-weight: 700; }

/* Widget „Petras Auszeit – Angebot“ (Plugin Anfrage-Tool): gleicher Aufbau wie die Angebots-Blöcke, Daten aus dem Anfrage-Tool */
body.lh .lh-angebot__titel { font-family: var(--lh-serif); font-weight: 400; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.1; color: inherit; margin: 0 0 .5em; }
body.lh .lh-angebot .lh-angebot__uebersetzung { margin: 0 0 1.2em; }
body.lh .lh-angebot .lh-angebot__kurz { max-width: 760px; margin: 0 0 1.2em; text-align: left; }
body.lh .lh-offer .lh-angebot .lh-angebot__kurz { font-size: clamp(20px, 1.9vw, 25px); line-height: 1.42; }
body.lh .lh-angebot__text { font-size: clamp(17px, 1.45vw, 21px); line-height: 1.55; max-width: 600px; margin: 0 0 1em; }
body.lh .lh-angebot__text p:last-child { margin-bottom: 0; }
body.lh .lh-angebot .lh-angebot__fakten { font-size: clamp(17px, 1.45vw, 21px); line-height: 1.55; max-width: 600px; margin: 0; }
body.lh .lh-angebot__knopf { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.4em; }
/* Ein Erlebnis in mehreren Längen (z. B. fühla und erfohra 1,5 / 2,5 Std.): je Länge ein Abschnitt, Gemeinsames unten */
body.lh .lh-angebot__laenge { max-width: 600px; margin: 0 0 1.4em; padding-top: 1em; border-top: 1px solid rgba(255, 255, 255, .45); }
body.lh .lh-angebot .lh-angebot__dauer { font-family: var(--lh-serif); font-weight: 400; font-size: clamp(26px, 2.2vw, 32px); line-height: 1.15; margin: 0 0 .15em; }
body.lh .lh-angebot .lh-angebot__laenge-hinweis { font-size: clamp(15px, 1.15vw, 17px); font-weight: 600; margin: 0 0 .8em; }
body.lh .lh-angebot__laenge .lh-angebot__text { margin-bottom: .8em; }
body.lh .lh-angebot__laenge .lh-facts { border-top: 0; padding-top: 0; }
body.lh .lh-on-dark .lh-btn:hover { background: #fff; color: var(--lh-text); }

/* Produkte */
body.lh .e-con.lh-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 34px); max-width: 1180px; width: 100%; margin: 50px auto 0; }
body.lh .lh-product .lh-reveal { aspect-ratio: 4 / 5; background: #d9d8d2; }
body.lh .lh-product .lh-reveal img { height: 115%; }
body.lh .lh-product .elementor-widget-heading { margin: .5em 0 .45em; }
body.lh .lh-product .elementor-heading-title {
	font-family: var(--lh-sans); font-weight: 300; font-size: clamp(26px, 2.4vw, 32px); line-height: 1.1; color: var(--lh-text);
}
body.lh .lh-product .elementor-widget-text-editor { font-size: clamp(15px, 1.15vw, 17px); text-align: left; }
body.lh .lh-product .lh-spruch { font-style: italic; margin-top: .4em; }
body.lh .lh-product .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: .6em; }

/* Stimmen / Postkarte: ganz zeigen, kein Zuschnitt, nur das Aufgehen beim Scrollen */
body.lh .lh-stimme > .lh-reveal { max-width: 720px; width: 100%; margin: 40px auto 0; }
body.lh .lh-stimme > .lh-reveal img { width: 100%; height: auto; transform: none; }
body.lh .lh-stimme > .lh-buttons { margin-top: clamp(40px, 5vw, 70px); }

/* Feedbackkarten: ganz zeigen, wie hingelegte Postkarten, in Spalten (Hoch- und Querformat gemischt) */
body.lh .e-con.lh-karten { display: block; columns: 3 260px; column-gap: clamp(18px, 2.2vw, 34px); width: 100%; max-width: 1180px; margin: clamp(34px, 4vw, 56px) auto 0; }
body.lh .e-con.lh-karten > .elementor-widget { break-inside: avoid; margin: 0 0 clamp(18px, 2.2vw, 34px); }
body.lh .lh-karte img { width: 100%; height: auto; box-shadow: 0 8px 26px rgba(47, 48, 44, .16); rotate: -.7deg; transition: rotate .3s; }
body.lh .lh-karte:nth-child(even) img { rotate: .6deg; }
body.lh .lh-karte:nth-child(3n) img { rotate: -.3deg; }
body.lh .lh-karte:hover img { rotate: 0deg; }

/* Fotogalerie: drei Spalten, die mittlere etwas versetzt (Wir-Seite vor dem Fuß, Petras Auszeit unter den Karten) */
body.lh .e-con.lh-galerie { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.6vw, 24px); align-items: start; width: 100%; max-width: 1280px; margin: clamp(50px, 6vw, 90px) auto 0; padding-bottom: 6%; }
body.lh .lh-galerie > .lh-reveal { aspect-ratio: 4 / 5; align-self: start; }
body.lh .lh-galerie > .lh-reveal:nth-child(3n+2) { margin-top: 18%; }
body.lh .e-con.lh-sec--galerie { padding-top: 0; }
/* Variante lh-galerie--mosaik: vier Spalten, jedes Foto im eigenen Format (hoch/quer gemischt), wie ein Fotomosaik */
body.lh .e-con.lh-galerie--mosaik { display: block; columns: 4; column-gap: clamp(14px, 1.8vw, 34px); max-width: 1640px; padding-bottom: 0; }
body.lh .e-con.lh-galerie--mosaik > .elementor-widget { break-inside: avoid; margin: 0 0 clamp(14px, 1.8vw, 34px); }
body.lh .lh-galerie.lh-galerie--mosaik > .lh-reveal:nth-child(n) { aspect-ratio: auto; margin-top: 0; }
body.lh .lh-galerie--mosaik .lh-reveal img { height: auto; transform: none; }
body.lh .e-con.lh-galerie--mosaik.lh-galerie--drei { columns: 3; max-width: 1280px; }
body.lh .lh-sec--galerie .e-con.lh-galerie { margin-top: 0; }
/* Nach Bild + Text Abstand lassen – sonst stößt das Mosaik direkt an das fixierte Foto und schneidet es beim Scrollen scheinbar ab */
body.lh .e-con.lh-split ~ .e-con.lh-sec--galerie { padding-top: clamp(70px, 9vw, 140px); }

/* Runder Knopf mit Logo (Bild-Widget mit Link) */
body.lh .lh-logo-btn { margin-top: 2em; text-align: left; }
body.lh .lh-logo-btn a { display: inline-flex; align-items: center; justify-content: center; width: 168px; height: 168px; padding: 32px; border: 1.5px solid currentColor; border-radius: 50%; color: var(--lh-text); transition: background .2s, transform .4s; }
body.lh .lh-logo-btn a:hover { background: rgba(47, 48, 44, .07); transform: rotate(-6deg); }
/* stärker als Elementors „a img[src$=.svg] { width: 48px }“ */
body.lh .lh-logo-btn a img { width: 100%; height: auto; }

/* „Du hast noch Fragen?“ mit E-Mail- und WhatsApp-Knopf */
body.lh .e-con.lh-fragen { align-items: center; text-align: center; margin: clamp(46px, 5vw, 70px) auto 0; }
body.lh .lh-fragen__text { font-family: var(--lh-serif); font-size: clamp(20px, 2vw, 24px); line-height: 1.35; }
body.lh .e-con .elementor-widget.lh-fragen__text { margin-block-end: .8em; }
body.lh .lh-fragen .lh-buttons { margin-top: 0; }
body.lh .elementor-widget-button .elementor-button-icon { font-size: 14px; }

/* ---------- Blog ---------- */

body.lh .lh-blog-head { padding-top: clamp(110px, 14vw, 170px); padding-bottom: 20px; }
body.lh .lh-article__head { padding-top: clamp(110px, 14vw, 170px); padding-bottom: 40px; }
body.lh .lh-blog-head .lh-title, body.lh .lh-article__head .lh-title { margin-bottom: 0; }
body.lh .lh-article__head .lh-title { max-width: 900px; margin: 0 auto; }
.lh-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 44px); max-width: 1180px; margin: 0 auto; }
.lh-card__link { display: block; text-decoration: none; }
.lh-card__img { aspect-ratio: 4 / 3; margin: 0 0 16px; background: #d9d8d2; }
body.lh .lh-card__img img { height: 115%; }
body.lh .lh-card__title { font-family: var(--lh-sans); font-weight: 300; font-size: clamp(22px, 2vw, 27px); line-height: 1.15; margin: .3em 0 .5em; color: var(--lh-text); }
body.lh .lh-card__excerpt { font-size: clamp(15px, 1.15vw, 17px); }
.lh-card__link:hover .lh-btn { background: var(--lh-text); color: var(--lh-creme); }
.lh-pagination { margin-top: 50px; text-align: center; font-family: var(--lh-mono); font-size: 13px; }
.lh-pagination .nav-links { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.lh-pagination .page-numbers { text-decoration: none; padding: .3em .6em; }
.lh-pagination .current { border-bottom: 1.5px solid currentColor; }

/* Beitragsinhalt (normale Blöcke aus dem Editor) */
body.lh .lh-article__body { max-width: 760px; margin: 0 auto; padding-top: clamp(50px, 6vw, 80px); font-size: 16px; line-height: 1.7; }
body.lh .lh-article__body > * { margin-left: 0; margin-right: 0; }
body.lh .lh-article__body p { margin: 0 0 1.2em; }
body.lh .lh-article__body h2, body.lh .lh-article__body h3, body.lh .lh-article__body h4 { font-family: var(--lh-serif); font-weight: 400; line-height: 1.2; margin: 1.8em 0 .6em; color: var(--lh-text); }
body.lh .lh-article__body h2 { font-size: 32px; }
body.lh .lh-article__body h3 { font-size: 26px; }
body.lh .lh-article__body h4 { font-size: 21px; }
body.lh .lh-article__body ul, body.lh .lh-article__body ol { margin: 0 0 1.2em 1.2em; padding: 0; }
body.lh .lh-article__body figure { margin: 2em 0; }
body.lh .lh-article__body img { width: auto; max-width: 100%; height: auto; }
body.lh .lh-article__body .wp-block-image.alignwide, body.lh .lh-article__body .wp-block-image.alignfull { margin-left: calc(50% - min(48vw, 560px)); margin-right: calc(50% - min(48vw, 560px)); }
body.lh .lh-article__body figcaption { font-size: 13.5px; color: var(--lh-text-weich); margin-top: .6em; text-align: left; }
body.lh .lh-article__body .wp-block-gallery { gap: 10px; }
body.lh .lh-article__body blockquote { font-family: var(--lh-serif); font-style: italic; font-size: 22px; line-height: 1.4; margin: 1.6em 0; padding: 0 0 0 1em; border-left: 1.5px solid var(--lh-text); }
body.lh .lh-article__body a { text-decoration: underline; text-underline-offset: 2px; }
body.lh .lh-article__nav { margin-top: 40px; }
body.lh .lh-article__nav a { text-underline-offset: 2px; }
body.lh .lh-404 { padding-top: clamp(140px, 18vw, 220px); padding-bottom: clamp(110px, 14vw, 180px); }

/* Textseiten (Impressum, Datenschutz …): Fließtext wie die Textblöcke; Tabellen vom Cookie-Plugin lesbar */
body.lh .lh-textseite .lh-article__body { font-size: 16px; padding-bottom: clamp(70px, 9vw, 120px); overflow-wrap: anywhere; }
body.lh .lh-textseite .lh-article__body h2 { font-size: 26px; }
body.lh .lh-textseite .lh-article__body h3 { font-size: 21px; }
body.lh .lh-textseite .lh-article__body table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 1.4em; }
body.lh .lh-textseite .lh-article__body th, body.lh .lh-textseite .lh-article__body td { text-align: left; vertical-align: top; padding: .5em .6em; border-bottom: 1px solid rgba(47, 48, 44, .18); }

/* Anfrage-Tool (/anfrage/): Platz für die fixe Kopfzeile, das Tool selbst bleibt unverändert */
body.lh .paa-page { padding-top: 64px; background: var(--lh-creme); }
body.lh .paa-page > .paa { margin-left: auto; margin-right: auto; }
/* Schriftgrößen der Tools an die Seiten angleichen (Fließtext 16px, Beschriftungen 12–14px) */
body.lh .paa { font-size: 16px; }
body.lh .paa .paa-eyebrow, body.lh .paa .paa-label, body.lh .paa .paa-sum-row span:first-child { font-size: 12px; }
body.lh .paa .paa-sub { font-size: 19px; }
body.lh .paa .paa-note, body.lh .paa .paa-length-note { font-size: 14px; }
body.lh .paa .paa-choice { font-size: 16px; }
body.lh .paa .paa-card-tag, body.lh .paa .paa-sum-row span:last-child { font-size: 18px; }
body.lh .paa .paa-card > .paa-card-meta { font-size: 15px; }
body.lh .paa .paa-card-note, body.lh .paa .paa-length-meta, body.lh .paa .paa-fine, body.lh .paa .paa-wx-note { font-size: 13px; }
body.lh .kgb { font-size: 16px; }
body.lh .kgb .kgb-lead, body.lh .kgb-success p { font-size: 16px; }
body.lh .kgb .kgb-facts, body.lh .kgb .kgb-pickup { font-size: 15px; }
body.lh .kgb .kgb-label, body.lh .kgb .kgb-unit, body.lh .kgb-check { font-size: 14px; }

/* ---------- Fuß ---------- */

/* Fußzeile wie im Cargo-Entwurf: Grotesk in normaler Stärke, alles eine Größe, Name fett */
body.lh .lh-footer { background: var(--lh-salbei); color: #22231f; padding: clamp(60px, 8vw, 110px) var(--lh-pad) 70px; font-family: var(--lh-grotesk); font-weight: 400; }
body.lh .lh-footer .elementor-widget-text-editor { font-family: var(--lh-grotesk); font-weight: 400; color: #22231f; }
body.lh .lh-footer a { text-decoration: none; color: inherit; }
body.lh .lh-footer__addr, body.lh .lh-footer__addr p { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.12; letter-spacing: -.005em; }
body.lh .lh-footer__addr { margin: 0 0 60px; }
body.lh .lh-footer__addr strong { font-weight: 700; }
/* Oben: Adresse links, E-Mail, Telefon und Social-Media-Symbole rechts */
body.lh .e-con.lh-footer__top { display: grid; grid-template-columns: 1fr auto; gap: 30px 60px; align-items: start; margin-bottom: 80px; }
body.lh .e-con.lh-footer__kontakt { align-items: flex-end; text-align: right; }
body.lh .lh-footer__top .e-con .elementor-widget.lh-footer__addr,
body.lh .e-con.lh-footer__top > .elementor-widget.lh-footer__addr { margin-block-end: 0; }
/* Social-Media-Symbole: Elementor-Widget „Social Icons“ mit Klasse lh-social – dünne Kreise statt Markenfarben */
body.lh .e-con .elementor-widget.lh-social { margin-top: 26px; }
body.lh .lh-social .elementor-social-icons-wrapper { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
body.lh .lh-social .elementor-grid-item { margin: 0; }
body.lh .lh-footer .lh-social .elementor-social-icon {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; font-size: 17px;
	background: transparent; color: #22231f; border: 1.5px solid currentColor; border-radius: 50%; transition: background .2s, color .2s;
}
body.lh .lh-footer .lh-social .elementor-social-icon i { color: inherit; }
body.lh .lh-footer .lh-social .elementor-social-icon svg { fill: currentColor; width: 1em; height: 1em; }
body.lh .lh-footer .lh-social .elementor-social-icon:hover { background: #22231f; color: var(--lh-salbei); }
body.lh .e-con.lh-footer__logos, .lh-footer__logos { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: clamp(28px, 5vw, 72px); margin-bottom: 70px; }
.lh-footer__logos > * { width: clamp(110px, 12vw, 160px); transition: opacity .2s; }
.lh-footer__logos > *:hover { opacity: .7; }
body.lh .lh-footer__logos img { width: 100%; height: auto; display: block; }
body.lh .e-con.lh-footer__links, .lh-footer__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; font-size: 12px; }
body.lh .lh-footer__links .elementor-widget-text-editor { font-size: 12px; }
body.lh .lh-footer__links a { text-decoration: underline; text-underline-offset: 2px; }
body.lh .lh-footer__legal { text-align: right; }

/* ---------- „Neues vom Hof“-Popup (Elementor-Widget) ---------- */
.lh-news {
	position: fixed; right: 20px; bottom: 20px; z-index: 45;
	width: min(330px, calc(100vw - 40px));
	padding: 18px 18px 16px; background: #fbf7f1; color: var(--lh-text);
	box-shadow: 0 10px 34px rgba(47, 48, 44, .18); border-radius: 3px;
	transform: translateY(16px); opacity: 0; transition: transform .45s ease, opacity .45s ease;
}
.lh-news.is-open { transform: none; opacity: 1; }
.lh-news[hidden] { display: none; }
.lh-news.is-editor { position: relative; right: auto; bottom: auto; margin: 20px auto; transform: none; opacity: 1; }
.lh-news__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
body.lh .lh-news__title { margin: 0; font-family: var(--lh-serif); font-size: 22px; line-height: 1.1; }
body.lh .lh-news__close { width: 32px; height: 32px; margin: -8px -8px 0 0; padding: 0; border: 0; background: none; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.lh-news__list { list-style: none; margin: 0; padding: 0; }
.lh-news__list li + li { border-top: 1px solid rgba(47, 48, 44, .14); }
.lh-news__list a { display: flex; align-items: center; gap: 12px; padding: 10px 0; text-decoration: none; color: inherit; }
body.lh .lh-news__img { flex: 0 0 auto; width: 54px; height: 54px; object-fit: cover; display: block; }
.lh-news__date { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--lh-text-weich); }
.lh-news__name { display: block; font-size: 14px; line-height: 1.3; }
.lh-news__list a:hover .lh-news__name { text-decoration: underline; text-underline-offset: 2px; }
body.lh .lh-news__more { display: inline-block; margin-top: 8px; font-family: var(--lh-mono); font-size: 12px; text-decoration: none; }
body.lh .lh-news__more:hover { text-decoration: underline; }
@media (max-width: 600px) {
	.lh-news { right: 10px; left: 10px; bottom: 10px; width: auto; }
}
@media (prefers-reduced-motion: reduce) { .lh-news { transition: none; } }

/* ---------- Cookie-Banner (Complianz) im Litzi-Hof-Stil ----------
 * Über die CSS-Variablen von Complianz – bleibt bei Plugin-Updates erhalten. Texte stellst du in Complianz → Zustimmungsbanner ein. */
body.lh .cmplz-cookiebanner {
	--cmplz_banner_background_color: #fbf7f1;
	--cmplz_banner_border_color: transparent;
	--cmplz_banner_border_width: 0;
	--cmplz_banner_border_radius: 3px;
	--cmplz_banner_width: 440px;
	--cmplz_text_color: #2f302c;
	--cmplz_hyperlink_color: #2f302c;
	--cmplz_text_font_size: 13px;
	--cmplz_text_line_height: 1.55;
	--cmplz_link_font_size: 12px;
	--cmplz_title_font_size: 22px;
	--cmplz_category_header_title_font_size: 14px;
	--cmplz_category_body_font_size: 12.5px;
	--cmplz_category_header_always_active_color: #667369;
	--cmplz_button_font_size: 12px;
	--cmplz_button_border_radius: 999px;
	--cmplz_button_accept_background_color: #2f302c;
	--cmplz_button_accept_border_color: #2f302c;
	--cmplz_button_accept_text_color: #f3ead8;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: #2f302c;
	--cmplz_button_deny_text_color: #2f302c;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #2f302c;
	--cmplz_button_settings_text_color: #2f302c;
	--cmplz_slider_active_color: #667369;
	--cmplz_slider_inactive_color: #c9c4b8;
	--cmplz_slider_bullet_color: #fff;
	font-family: var(--lh-sans);
	box-shadow: 0 12px 40px rgba(47, 48, 44, .2);
	padding: 22px 22px 18px;
}
body.lh .cmplz-cookiebanner .cmplz-title { font-family: var(--lh-serif); font-weight: 400; letter-spacing: 0; }
body.lh .cmplz-cookiebanner .cmplz-divider { display: none; }
body.lh .cmplz-cookiebanner .cmplz-message p { margin: 0; }
body.lh .cmplz-cookiebanner .cmplz-close { color: #2f302c; }
body.lh .cmplz-cookiebanner .cmplz-buttons { gap: 8px; }
body.lh .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-family: var(--lh-mono); font-weight: 400; letter-spacing: .02em; height: 42px; min-height: 0; padding: 0 16px;
	border-width: 1.5px; text-transform: none; transition: background-color .2s, color .2s;
}
body.lh .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
body.lh .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
body.lh .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover { background: rgba(47, 48, 44, .07); }
body.lh .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: #000; }
body.lh .cmplz-cookiebanner .cmplz-links a { text-decoration: underline; text-underline-offset: 2px; }
body.lh .cmplz-cookiebanner .cmplz-links.cmplz-documents { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; }
body.lh .cmplz-cookiebanner .cmplz-links.cmplz-documents a { margin: 0; }
body.lh .cmplz-cookiebanner .cmplz-category { background: #f3ead8; border-radius: 2px; }
/* Kleiner Knopf „Zustimmung verwalten“, wenn der Banner zu ist */
body.lh .cmplz-manage-consent {
	font-family: var(--lh-mono); font-size: 11px; letter-spacing: .02em;
	background: #fbf7f1; color: #2f302c; border: 1.5px solid #2f302c; border-bottom: 0; border-radius: 6px 6px 0 0;
	box-shadow: none;
}
@media (max-width: 600px) {
	body.lh .cmplz-cookiebanner { --cmplz_banner_margin: 0; padding: 18px 16px 14px; border-radius: 0; }
	body.lh .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: 44px; }
}

/* ---------- Abstände unter Widgets ----------
 * Elementor setzt den Abstand unter Widgets in Containern auf 0 (.e-con .elementor-widget.elementor-widget);
 * diese Regeln sind gezielt stärker, damit die Abstände des Looks gelten. */
body.lh .e-con .elementor-widget.lh-title { margin-block-end: .9em; }
body.lh .e-con .elementor-widget.lh-lead { margin-block-end: 1.6em; }
body.lh .e-con .elementor-widget.lh-zwischen { margin-block-end: 1.2em; }
body.lh .e-con .elementor-widget.lh-teaser__title { margin-block-end: 1.1em; }
body.lh .lh-offer .e-con .elementor-widget.elementor-widget-heading,
body.lh .e-con.lh-offer .elementor-widget.elementor-widget-heading { margin-block-end: .5em; }
body.lh .lh-product .elementor-widget.elementor-widget-heading { margin-block-end: .45em; }
body.lh .e-con .elementor-widget.lh-footer__addr { margin-block-end: 60px; }

/* ---------- Mobil ---------- */

@media (max-width: 781px) {
	body.lh .e-con.lh-teaser, body.lh .e-con.lh-split { grid-template-columns: 1fr; min-height: 0; }
	body.lh .lh-teaser--rechts .lh-teaser__media, body.lh .lh-split--rechts .lh-split__media { order: 0; }
	body.lh .e-con.lh-stack { padding-right: var(--lh-pad); padding-bottom: 0; }
	.lh-stack > .lh-reveal:nth-child(2) { margin-top: 18%; }
	body.lh .e-con.lh-teaser__text, body.lh .lh-teaser--rechts .e-con.lh-teaser__text { padding: 40px var(--lh-pad); }
	body.lh .lh-teaser--rechts .lh-teaser__media { width: 80%; margin-left: auto; }
	body.lh .lh-teaser--links .lh-teaser__media > .lh-reveal { aspect-ratio: 4 / 5; }
	body.lh .e-con.lh-split__media { min-height: 75vw; }
	body.lh .e-con.lh-products { grid-template-columns: 1fr 1fr; }
	.lh-blog__grid { grid-template-columns: 1fr 1fr; }
	body.lh .lh-footer__legal { text-align: left; }
	body.lh .e-con.lh-footer__links, .lh-footer__links { grid-template-columns: 1fr; }
	body.lh .e-con.lh-footer__top { grid-template-columns: 1fr; margin-bottom: 50px; }
	body.lh .e-con.lh-footer__kontakt { align-items: flex-start; text-align: left; }
	body.lh .lh-social .elementor-social-icons-wrapper { justify-content: flex-start; }
	body.lh .e-con.lh-galerie { grid-template-columns: 1fr 1fr; }
	body.lh .lh-galerie > .lh-reveal:nth-child(3n+2) { margin-top: 0; }
	body.lh .lh-galerie > .lh-reveal:nth-child(even) { margin-top: 18%; }
	body.lh .e-con.lh-galerie--mosaik, body.lh .e-con.lh-galerie--mosaik.lh-galerie--drei { columns: 2; }
	body.lh .lh-split__text .elementor-widget-text-editor:not(.lh-lead):not(.lh-caps):not(.lh-facts) { max-width: none; }
}
@media (max-width: 520px) {
	body.lh .e-con.lh-products { grid-template-columns: 1fr; }
	.lh-blog__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.lh-js .lh-reveal { --lh-clip: 0%; }
	.lh-reveal img, .lh-hero__img { transform: none !important; }
}
