/* Gemeinsame Darstellung im Editor und auf der Website. */
* { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
img, video, svg { max-width: 100%; }
img { height: auto; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
a { overflow-wrap: anywhere; }
a:hover { text-decoration: underline; }
:where(a, button, summary, input, textarea, select):focus-visible { outline: 2px solid #605d58; outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lp-kopfleiste { background: #a8abb0; color: #fff; font-size: 13px; }
.lp-kopfleiste-innen { width: 80%; max-width: 1080px; margin: auto; padding: 5px 0; display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; }
.lp-kontaktsymbole { display: flex; align-items: center; gap: 15px; }
.lp-kontaktsymbole a { width: 25px; height: 25px; color: #fff; display: grid; place-items: center; }
.lp-vorteile { text-align: center; margin: 0; font-size: 13px; }
.lp-vorteile span { display: inline-block; margin-right: 13px; }
.lp-vorteile span:last-child { margin-right: 0; }
.lp-bewertung { text-align: right; margin: 0; }
.lp-bewertung a { color: #ffd800; }
.lp-kopf-navigation { width: 80%; max-width: 1080px; margin: auto; padding: 15px 0; display: flex; align-items: center; gap: 20px; }
.lp-kopf-navigation .wp-block-site-logo:empty { display: none; }
.lp-navigation { flex: 1; min-width: 0; position: relative; }
.lp-menue-liste, .lp-menue-liste .sub-menu { list-style: none; padding: 0; margin: 0; }
.lp-menue-liste { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
.lp-menue-liste li { position: relative; }
.lp-menue-liste > li { padding: 8px 15px; }
.lp-menue-liste a { color: rgba(0,0,0,.46); font-size: 15px; font-weight: 600; text-transform: uppercase; text-decoration: none; }
.lp-menue-liste .menu-cta { background: #a8abb0; margin-top: 2px; }
.lp-menue-liste .menu-cta > a { display: inline-block; color: #fff; padding: 5px 0 4px; }
.lp-menue-liste a:hover { opacity: .7; }
.lp-menue-liste .sub-menu { position: absolute; top: 100%; left: 0; min-width: 300px; max-width: min(350px, 80vw); background: #fff; padding: 20px; border-top: 3px solid #605d58; box-shadow: 0 2px 5px #0002; z-index: 20; }
.lp-menue-liste .sub-menu .sub-menu { top: 0; left: 100%; }
.lp-menue-liste .sub-menu a { display: inline-block; padding: 8px 0; }
.lp-menue-liste .sub-menu:not([hidden]) { display: block; }
.lp-menue-liste [hidden], .lp-burger[hidden] { display: none; }
.lp-navigation:not(.lp-mit-js) .sub-menu { display: none; }
.lp-navigation:not(.lp-mit-js) li:hover > .sub-menu, .lp-navigation:not(.lp-mit-js) li:focus-within > .sub-menu { display: block; }
.lp-burger, .lp-untermenue-knopf { color: #a8abb0; background: transparent; border: 0; cursor: pointer; font: inherit; }
.lp-untermenue-knopf { color: #777; padding: 0 0 0 7px; min-width: 24px; min-height: 24px; }
.lp-main { background: #fff; }
.lp-not-found { padding: 54px 10%; }
.lp-section { padding: 4% 0; }
.lp-row { width: 80%; max-width: 1080px; margin: 0 auto; padding: 2% 0; }
.lp-row > .wp-block-columns { margin: 0; gap: 5.5%; flex-wrap: nowrap !important; align-items: flex-start; }
.lp-row .wp-block-column { min-width: 0; }
@media (min-width: 981px) {
	/* Divi verteilt den Zwischenraum bei Fünftelspalten auf die ganze Reihe. */
	.lp-row > .wp-block-columns > [style="flex-basis:40%"] { flex-basis: 36.7% !important; }
	.lp-row > .wp-block-columns > [style="flex-basis:60%"] { flex-basis: 57.8% !important; }
	.lp-row > .wp-block-columns > [style="flex-basis:50%"] { flex: 0 0 47.25% !important; }
	.lp-row > .wp-block-columns > [style="flex-basis:33.3333%"] { flex: 0 0 29.6667% !important; }
	.lp-row > .wp-block-columns > [style="flex-basis:66.6667%"] { flex: 0 0 64.8333% !important; }
	.lp-row [style="flex-basis:50%"] > .lp-text { margin-bottom: 5.82%; }
	.lp-row [style="flex-basis:50%"] > .lp-text:last-child { margin-bottom: 0; }
}
@media (min-width: 1350px) {
	.lp-section { padding: 54px 0; }
	.lp-row { padding: 27px 0; }
}
/* Explizite Divi-Reihenabstände gelten auch unterhalb der Desktop-Grenze. */
.lp-section > .lp-row.lp-abstand-oben-0 { padding-top: 0; }
.lp-section > .lp-row.lp-abstand-oben-6 { padding-top: 6px; }
.lp-section > .lp-row.lp-abstand-unten-0 { padding-bottom: 0; }
.lp-section > .lp-row.lp-abstand-unten-6 { padding-bottom: 6px; }
.lp-row .lp-text { margin-top: 0; margin-bottom: 30px; }
.lp-row .lp-text:last-child { margin-bottom: 0; }
.lp-main .wp-block-image { margin: 0; }
.lp-main .wp-block-image img { vertical-align: bottom; }
.lp-main .wp-block-paragraph img, .lp-main p img { vertical-align: bottom; max-width: 100%; }
/* Vorher-nachher-Paare bleiben auch auf dem Handy nebeneinander und werden dafür schmaler. */
.lp-main p:has(> img + img) { display: flex; gap: 10px; align-items: flex-start; }
.lp-main p:has(> img + img) > img { flex: 0 1 206px; min-width: 0; width: auto; }
.lp-row .wp-block-list { padding-left: 1em; padding-bottom: 1em; margin: 0; }
/* Innenabstand bleibt trotz WordPress-Blockabstand 0 auch im Editor erhalten. */
.lp-row p { margin: 0; padding-bottom: 1em; }
.lp-row p:not(.has-background):last-of-type { padding-bottom: 0; }
.lp-main .wp-block-buttons { margin: 30px 0; }
.lp-main .wp-block-buttons.lp-abstand-knopf-kompakt { margin: 20px 0; }
.lp-main .wp-block-buttons.lp-knopf-abstand-25-50 { margin: 25px 0 50px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-25-30 { margin: 25px 0 30px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-25-15 { margin: 25px 0 15px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-50-standard { margin-top: 50px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-20-standard { margin-top: 20px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-15-standard { margin-top: 15px; }
.lp-knopf-volle-breite .wp-block-button, .lp-knopf-volle-breite .wp-block-button__link { width: 100%; }
.lp-row .lp-text.lp-text-oben-minus-10 { margin-top: -10px; }
.lp-row .wp-block-column > .lp-text.lp-abstand-text-klein { margin-bottom: 10px; }
/* RichText-Bilder behalten den Textumfluss aus dem Divi-Inhalt. */
.lp-row p img.alignleft { float: left; margin-right: 15px; }
.lp-row p img.alignright { float: right; margin-left: 15px; }
.wp-block-button.is-style-laserpromed .wp-block-button__link { transition: background-color .2s, color .2s; line-height: 1.7; }
.wp-block-button.is-style-laserpromed .wp-block-button__link:hover { color: #000; background: #fff; border-color: #a8abb0; text-decoration: none; }
.wp-block-details.is-style-faq { border: 1px solid #d9d9d9; padding: 20px; margin: 0 0 30px; }
.wp-block-details.is-style-faq:last-child { margin-bottom: 0; }
.wp-block-details > summary { cursor: pointer; list-style: none; position: relative; }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq > summary { color: #363636; font-size: 15px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; line-height: 1.4; padding-right: 32px; }
/* Plus und Minus als gezeichnete Balken: exakt mittig im Kreis, Kreis mittig zur Frage. */
.wp-block-details.is-style-faq > summary::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; border-radius: 50%; background: linear-gradient(#fff, #fff) center / 8px 2px no-repeat, linear-gradient(#fff, #fff) center / 2px 8px no-repeat, #929292; }
.wp-block-details.is-style-faq[open] > summary::after { background: linear-gradient(#fff, #fff) center / 8px 2px no-repeat, #929292; }
.wp-block-details[open] > summary { margin-bottom: 20px; }
.wp-block-details.is-style-balken { background: #a8abb0; border-radius: 4px; color: #fff; padding: 20px; margin: 30px 0 0; }
.lp-row .is-style-balken:not(:last-child) { margin-bottom: 30px; }
.wp-block-details.is-style-balken > summary { font-size: 15px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; line-height: 1.4; }
.laserpromed-ausgeblendet { display: none !important; }
.wp-block-table.is-style-preise { margin: 24px 0 0; font-weight: 500; overflow-x: auto; font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif; }
.wp-block-table.is-style-preise table { width: 100%; border-collapse: collapse; }
.wp-block-table.is-style-preise th { padding: 12px 24px; text-align: left; vertical-align: middle; background: #a1969a; color: #fff; border: 0; }
.wp-block-table.is-style-preise td { padding: 8px; border: 1px solid #ddd; }
.wp-block-table.is-style-preise tr:hover { background: #ddd; }
.wp-block-table.is-style-preise figcaption { margin: 0; height: 0; overflow: hidden; }
.is-style-balken .gform_wrapper.gravity-theme { color: #fff; }
.is-style-balken .gform_wrapper.gravity-theme .gfield_label { color: #fff; font: inherit; }
.is-style-balken .gform_wrapper.gravity-theme input,
.is-style-balken .gform_wrapper.gravity-theme textarea,
.is-style-balken .gform_wrapper.gravity-theme select { font: inherit; width: 100%; max-width: 100%; min-width: 0; color: #363636; background: #fff; border: 1px solid #ddd; border-radius: 0; padding: 8px; }
.is-style-balken .gform_wrapper.gravity-theme .ginput_container_fileupload { width: 100%; min-width: 0; overflow-wrap: anywhere; }
.is-style-balken .gform_wrapper.gravity-theme .gfield { min-width: 0; }
.is-style-balken .gform_wrapper.gravity-theme .gfield_required { color: #fff; }
.is-style-balken .gform_wrapper.gravity-theme .gform_button { width: 100%; max-width: 100%; padding: 5px 15px; border: 2px solid #fff; border-radius: 3px; color: #363636; background: #fff; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1.7; cursor: pointer; }
.is-style-balken .gform_wrapper.gravity-theme .gform_button:hover,
.is-style-balken .gform_wrapper.gravity-theme .gform_button:focus-visible { color: #fff; background: #363636; border-color: #fff; }
/* Kontakt- und Startseitenformulare ausserhalb der Behandlungsbalken. */
.lp-kontaktformular { margin-bottom: 30px; }
.lp-kontaktformular > h2 { color: #707070; font-size: 24px; margin-bottom: 16px; }
.lp-kontaktformular .gform_wrapper.gravity-theme { color: #707070; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gform_fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 3%; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gfield { min-width: 0; grid-column: span 12; }
.lp-kontaktformular .gform_wrapper.gravity-theme input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.lp-kontaktformular .gform_wrapper.gravity-theme textarea,
.lp-kontaktformular .gform_wrapper.gravity-theme select { width: 100%; min-width: 0; max-width: 100%; border: 0; border-radius: 0; padding: 16px; height: 50px; background: #f9f9f9; color: #707070; font: inherit; font-size: 14px; }
.lp-kontaktformular .gform_wrapper.gravity-theme input::placeholder,
.lp-kontaktformular .gform_wrapper.gravity-theme textarea::placeholder { color: #707070; opacity: 1; }
.lp-kontaktformular .gform_wrapper.gravity-theme textarea { min-height: 150px; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gfield_label { font: inherit; font-weight: 700; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gfield_checkbox label,
.lp-kontaktformular .gform_wrapper.gravity-theme .gfield_radio label { font: inherit; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gform_footer { justify-content: flex-end; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gform_button { width: auto; padding: 5px 15px; border: 2px solid #a8abb0; border-radius: 3px; color: #fff; background: #a8abb0; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1.7; cursor: pointer; }
.lp-kontaktformular .gform_wrapper.gravity-theme .gform_button:hover,
.lp-kontaktformular .gform_wrapper.gravity-theme .gform_button:focus-visible { color: #000; background: #fff; }
@media (min-width: 768px) {
	.lp-kontaktformular .gform_wrapper.gravity-theme .lp-field-half { grid-column: span 6; }
}
.lp-kontakt-blurb { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 30px; }
.lp-kontakt-icon { flex: 0 0 32px; width: 32px; height: 32px; color: #a8abb0; }
.lp-section.lp-karten-sektion { padding: 0; }
.lp-karten-sektion iframe { display: block; width: 100%; }
.lp-section.lp-sektion-unten-0 { padding-bottom: 0; }
.lp-section.lp-sektion-oben-0 { padding-top: 0; }
.lp-section.lp-sektion-oben-10 { padding-top: 10px; }
.lp-section.lp-sektion-oben-16 { padding-top: 16px; }
.lp-section.lp-start-logo { padding: 0; background: #ced1de; }
.lp-start-logo .wp-block-image { text-align: center; }
.lp-start-logo .wp-block-image img { width: 350px; }
.lp-section.lp-start-hero { padding: 25% 0 1%; background: url('/wp-content/uploads/2026/09/HOME-header-2026-09.webp') center 13% / cover no-repeat; }
.lp-section.lp-start-hero-en { background-image: url('/wp-content/uploads/2026/09/HOME-header-2026-09-1.webp'); background-position: center 18%; }
.lp-start-hero-text { background: rgba(161,150,154,.47); text-align: center; color: #fff; }
.lp-start-hero-text h2.wp-block-heading { color: #fff; font-size: 50px; text-transform: uppercase; padding: 0 0 10px; hyphens: manual; }
.lp-start-hero-text p { font-size: 18px; padding-inline: 3%; }
.lp-start-hero > .lp-row + .lp-row .wp-block-buttons { margin: 0; }
.lp-row.lp-start-reihe-60 { width: 60%; }
.lp-row.lp-start-reihe-66 { width: 66%; }
.lp-row.lp-start-reihe-breit { width: 94%; max-width: 94%; padding-inline: 80px; }
.lp-row .lp-start-einleitung { width: 60%; text-align: center; margin-inline: auto; color: #605d58; font-size: 30px; line-height: 36px; }
.lp-start-infokasten { background: #a8abb0; padding: 25px 25px 57px; color: #fff; }
.lp-start-infokasten h2, .lp-start-infokasten h3 { color: inherit; }
.lp-start-bewertungen { background: #e2dfe0; }
.lp-start-bewertung { background: #fff; padding: 15px; }
@media (max-width: 980px) {
	.lp-row.lp-start-reihe-breit { width: 80%; max-width: 80%; padding-inline: 30px; }
	.lp-row.lp-start-reihe-66 { width: 60%; }
	.lp-row.lp-start-hero-text { width: 85%; }
	.lp-row .lp-start-einleitung { font-size: 20px; margin-bottom: 15px; }
	.lp-start-hero:not(.lp-start-hero-en) { background-position: center -8%; }
}
@media (max-width: 767px) {
	.lp-row.lp-start-reihe-breit { padding-inline: 10px; }
	.lp-section.lp-start-hero { background-position-x: left; }
	.lp-start-hero-text h2.wp-block-heading { font-size: 32px; }
	.lp-start-hero-text p { font-size: 16px; }
	.lp-row .lp-start-einleitung { font-size: 15px; }
	.lp-start-logo .wp-block-image img { width: 100%; }
}
.lp-fuss-innen { width: 80%; max-width: 1080px; margin: auto; }
/* Footer dunkel (Vorschlag B2, 12.11.2026): Praxis, Öffnungszeiten, Zertifikate, Behandlungen, Regeln. */
.lp-fuss { --fuss-grund: #3b3735; --fuss-linie: #57514e; --fuss-hell: #ece8e6; --fuss-leise: #b4ada9; background: var(--fuss-grund); color: var(--fuss-hell); padding: 64px 0 28px; font-size: 15px; line-height: 1.7; }
.lp-fuss a { color: inherit; }
.lp-fuss :focus-visible { outline-color: var(--fuss-hell); }
.lp-fuss .lp-fuss-titel { margin: 0 0 14px; padding: 0; font-size: 16px; font-weight: 500; letter-spacing: .3px; text-transform: none; line-height: 1.4; color: #fff; }
.lp-fuss .lp-fuss-untertitel { margin: 0 0 10px; padding: 0; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; line-height: 1.4; color: #fff; }
.lp-fuss-oben { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 80px; }
.lp-fuss-logo { display: block; height: 36px; width: auto; filter: brightness(0) invert(1); opacity: .92; margin-bottom: 28px; }
.lp-fuss-adresse { font-style: normal; font-size: 17px; font-weight: 300; line-height: 1.6; margin: 0 0 4px; }
.lp-fuss .lp-fuss-route { display: inline-block; padding: 6px 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--fuss-linie); color: var(--fuss-leise); font-size: 14px; }
.lp-fuss .lp-fuss-route:hover { color: var(--fuss-hell); }
.lp-fuss-aktionen { margin-top: 32px; display: grid; gap: 14px; justify-items: start; }
.lp-fuss .lp-fuss-knopf { display: inline-block; padding: 12px 24px; background: var(--fuss-hell); color: #363636; font-weight: 600; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; line-height: 1.5; text-decoration: none; border-radius: 3px; transition: background-color .2s; }
.lp-fuss .lp-fuss-knopf:hover { background: #fff; }
.lp-fuss-kontakt { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.lp-fuss-kontakt a { text-decoration: none; border-bottom: 1px solid var(--fuss-linie); padding: 6px 0 2px; }
.lp-fuss-kontakt a:hover { border-bottom-color: var(--fuss-hell); }
.lp-fuss-instagram { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; min-height: 48px; text-decoration: none; }
.lp-fuss-instagram svg { width: 34px; height: 34px; flex: none; }
.lp-fuss-instagram:hover span { text-decoration: underline; }
.lp-oeffnungszeiten { margin: 0; display: grid; grid-template-columns: auto 1fr; }
.lp-oeffnungszeiten dt, .lp-oeffnungszeiten dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--fuss-linie); }
.lp-oeffnungszeiten dt { padding-right: 24px; color: var(--fuss-leise); }
.lp-oeffnungszeiten dd { text-align: right; font-variant-numeric: tabular-nums; }
.lp-oeffnungszeiten dd span { white-space: nowrap; }
.lp-oeffnungszeiten .lp-heute { color: #fff; font-weight: 600; }
.lp-oeffnungszeiten dt.lp-heute::after { content: 'heute'; margin-left: 10px; padding: 0 8px; border: 1px solid var(--fuss-leise); border-radius: 10px; font-size: 11px; font-weight: 500; letter-spacing: .4px; color: var(--fuss-hell); vertical-align: 1px; }
.lp-oeffnungszeiten dt.lp-heute:lang(en)::after { content: 'today'; }
.lp-oeffnungszeiten .lp-zu { color: var(--fuss-leise); }
.lp-svg-vorrat { position: absolute; width: 0; height: 0; overflow: hidden; }
.lp-fuss-zertifikate { margin-top: 56px; padding: 32px 0; border-top: 1px solid var(--fuss-linie); border-bottom: 1px solid var(--fuss-linie); display: grid; grid-template-columns: 13rem 1fr; gap: 24px 40px; align-items: center; }
.lp-fuss .lp-fuss-zertifikate .lp-fuss-titel { margin-bottom: 6px; }
.lp-fuss .lp-fuss-pruefen { display: inline-block; padding: 6px 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--fuss-linie); font-size: 13px; color: var(--fuss-leise); }
.lp-fuss .lp-fuss-pruefen:hover { color: var(--fuss-hell); }
.lp-abzeichen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 28px; margin: 0; padding: 0; list-style: none; }
.lp-abzeichen a { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; text-decoration: none; }
.lp-abzeichen svg { width: 72px; height: 72px; color: var(--fuss-hell); font-family: Montserrat, Helvetica, Arial, sans-serif; transition: transform .2s; }
.lp-abzeichen a:hover svg { transform: rotate(-8deg); }
.lp-abzeichen b { display: block; font-weight: 500; font-size: 14px; line-height: 1.35; color: #fff; }
.lp-abzeichen small { display: block; font-size: 13px; line-height: 1.4; color: var(--fuss-leise); margin-top: 2px; }
.lp-fuss-mitte { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 80px; margin-top: 40px; }
.lp-fuss-behandlungen { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; font-size: 14.5px; }
.lp-fuss-behandlungen a { text-decoration: none; display: inline-block; padding: 3px 0; }
.lp-fuss-behandlungen a:hover { text-decoration: underline; }
.lp-fuss .lp-fuss-regeln p { margin: 0 0 10px; padding: 0; font-size: 14px; color: var(--fuss-leise); line-height: 1.6; }
.lp-fuss-regeln strong { color: var(--fuss-hell); font-weight: 600; }
.lp-fuss-unten { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--fuss-linie); font-size: 13px; color: var(--fuss-leise); }
.lp-fuss-unten nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.lp-fuss-unten a { text-decoration: none; display: inline-block; padding: 6px 0; }
.lp-fuss-unten a:hover { color: var(--fuss-hell); text-decoration: underline; }
@media (max-width: 980px) {
	.lp-fuss-oben, .lp-fuss-mitte, .lp-fuss-zertifikate { grid-template-columns: 1fr; }
}
@media (max-width: 760px) { .lp-abzeichen { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
	.lp-fuss { padding-top: 44px; }
	.lp-fuss-aktionen { justify-items: stretch; }
	.lp-fuss .lp-fuss-knopf { text-align: center; padding: 14px 16px; }
	.lp-fuss-unten { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .lp-fuss .lp-fuss-knopf, .lp-abzeichen svg { transition: none; } .lp-abzeichen a:hover svg { transform: none; } }
@media (max-width: 980px) {
	.lp-navigation:not(.lp-mit-js) .lp-menue-liste { display: block; }
	.lp-navigation:not(.lp-mit-js) .lp-menue-liste > li { padding: 10px 15px; }
	.lp-navigation:not(.lp-mit-js) .sub-menu { position: static; min-width: 0; max-width: none; width: 100%; box-shadow: none; padding: 10px 15px; }
	.lp-navigation:not(.lp-mit-js) .sub-menu { display: block; }
	.lp-navigation:not(.lp-mit-js) .lp-menue-liste a { display: block; min-height: 44px; padding: 10px 5%; }
	.lp-section { padding: 0; }
	.lp-row { padding: 17px 0; }
	.lp-row > .wp-block-columns { flex-direction: column; gap: 30px; }
	.lp-row > .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: 100%; }
	.lp-row .lp-text { margin-bottom: 30px; }
	.lp-accordion > .wp-block-details.is-style-faq { margin-bottom: 10px; }
	.lp-accordion > .wp-block-details.is-style-faq:last-child { margin-bottom: 0; }
}
@media (max-width: 767px) {
	h1.wp-block-heading { font-size: 22px; }
	h2.wp-block-heading { font-size: 18px; }
	h3.wp-block-heading { font-size: 16px; }
	h3.wp-block-heading.lp-h-mobil-20 { font-size: 20px; }
	.lp-main h4 { font-size: 13px; }
	h5.wp-block-heading { font-size: 11px; }
	h6.wp-block-heading { font-size: 10px; }
	.lp-main { overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
	/* Wörter nur an Silbengrenzen trennen (Behand-lungen), nicht an beliebiger Stelle; mind. 4 Buchstaben vor und nach dem Strich (kein «Zo-nen»). */
	.wp-block-table.is-style-preise table { table-layout: fixed; overflow-wrap: break-word; font-size: 14px; }
	.wp-block-table.is-style-preise th, .wp-block-table.is-style-preise td { width: 33.333% !important; padding: 8px; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 8 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-button.is-style-laserpromed .wp-block-button__link { transition: none; }
}

/* Paket B: explizite Varianten berühren die Behandlungsseiten nicht. */
.lp-section.lp-sektion-unten-5 { padding-bottom: 5px; }
.lp-row.lp-klassisch { padding: 58px 0 23px; }
.lp-text-zentriert { text-align: center; }
.lp-row .lp-text.lp-text-unten-6 { margin-bottom: 6px; }
.lp-row .lp-text.lp-text-unten-7 { margin-bottom: 7px; }
.lp-danke-icon { text-align: center; margin: 0 0 30px; line-height: 0; }
.lp-danke-icon svg { width: 96px; height: 96px; }
.lp-ergebnisse-hintergrund { background: #a8abb0; }
.lp-text-weiss { color: #fff; }
.lp-main .lp-nur-mobil { display: none; }
.laser-filter-section { width: 100%; max-width: 1200px; margin: 0 auto; padding: 1.5rem; }
.laser-filter-controls { display: flex; flex-wrap: wrap; margin-bottom: 1.5rem; }
.laser-filter-block { width: 220px; max-width: 100%; position: relative; overflow: visible; z-index: 1; margin-right: 25px; }
.laser-filter-block > summary { padding: .6rem .75rem; background: #f7f7f7; color: #363636; font-weight: 600; margin-bottom: 15px; }
.laser-filter-block > summary::after { content: '▾'; float: right; }
.laser-filter-block[open] > summary::after { content: '▴'; }
.laser-filter-count { margin-left: .5em; font-weight: 400; font-size: .85em; color: #666; }
.lp-main .laser-filter-block[open] > summary { margin-bottom: 15px; }
.lp-main .laser-filter-block > .wp-block-list { position: absolute; top: 100%; left: -1px; width: calc(100% + 2px); padding: .5rem .75rem; box-shadow: 0 4px 12px #0001; border: 1px solid #ddd; border-radius: 6px; background: #a8abb0; list-style: none; z-index: 20; }
.lp-main .laser-filter-block[open] { z-index: 50; }
.lp-main .laser-filter-inaktiv { display: none; }
.laser-option label { display: block; margin-bottom: .35rem; cursor: pointer; }
.laser-option input { margin-right: .4em; }
.laser-photo-gallery { display: flex; flex-wrap: wrap; gap: 1rem; }
.laser-photo-item { position: relative; min-width: 0; flex: 1 1 calc(33.333% - 1rem); max-width: calc(33.333% - 1rem); }
.lp-main .laser-photo-item { height: 360px; overflow: hidden; cursor: pointer; }
.lp-main .laser-photo-item[hidden] { display: none; }
.lp-main .laser-photo-item:focus-visible { outline: 2px solid #363636; outline-offset: 4px; }
.lp-main .laser-photo-item > .wp-block-image { height: 100%; width: 100%; margin: 0; transition: opacity .3s ease; }
.lp-main .laser-photo-item > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.lp-main .laser-photo-item > .wp-block-image:nth-child(2) { position: absolute; inset: 0; opacity: 0; }
.lp-main .laser-photo-item.show-alt > .wp-block-image:nth-child(2) { opacity: 1; }
.lp-main .laser-photo-item.show-alt > .wp-block-image:first-child { opacity: 0; }
/* Die vorhandene Beschriftung bleibt wie live hinter den 360-px-Bildern. */
@media (hover: hover) {
	.lp-main .laser-photo-item:not([aria-pressed]):hover > .wp-block-image:nth-child(2) { opacity: 1; }
	.lp-main .laser-photo-item:not([aria-pressed]):hover > .wp-block-image:first-child { opacity: 0; }
}
@media (max-width: 980px) {
	.lp-danke-icon { margin-top: 20px; }
	.lp-section > .lp-row.lp-reihe-mobil-unten-60 { padding-bottom: 60px; }
	.lp-main .lp-nur-mobil { display: block; margin: 25px 0 0 23px; }
}
@media (max-width: 900px) {
	.laser-photo-item { flex-basis: calc(50% - 1rem); max-width: calc(50% - 1rem); }
}
@media (max-width: 600px) {
	.laser-photo-item { flex-basis: 100%; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.lp-main .laser-photo-item > .wp-block-image { transition: none; }
}
.lp-klassisch > h1.wp-block-heading { margin-bottom: 20px; }

.lp-start-abschnitt .wp-block-buttons { margin: 0; }
/* Divi-Knopfvarianten werden vom Umwandler anhand der Attribute gewählt. */
.wp-block-button:is(.is-style-umrandet, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link { line-height: 1.7; transition: color .3s, background-color .3s; text-decoration: none; }
.wp-block-button.is-style-umrandet .wp-block-button__link { color: #979797; background: #fff; border: 1px solid #979797; border-radius: 31px; font-size: 15px; padding: 10px 35px 10px 20px; position: relative; }
.wp-block-button.lp-knopf-doppelpfeil .wp-block-button__link::after { content: '»'; position: absolute; margin-left: .3em; font-weight: 400; }
.wp-block-button.is-style-umrandet .wp-block-button__link:is(:hover, :focus-visible) { color: #fff; background: #979797; }
.wp-block-button.is-style-weiss .wp-block-button__link { color: #605d58; background: #fff; border: 0; padding: 10px 25px; }
.wp-block-button.is-style-weiss .wp-block-button__link:is(:hover, :focus-visible) { background: #fff; }
.wp-block-button.is-style-ohne-rand .wp-block-button__link { border: 0; border-radius: 0; }
.lp-row.lp-start-reihe-breit > .wp-block-columns > .wp-block-column:only-child { display: block; }
.lp-bild-zentriert { display: block; text-align: center; }
.lp-bild-zentriert .wp-block-image { text-align: center; }
.lp-row.lp-start-reihe-breit > .wp-block-columns > .wp-block-column > .lp-bild-zentriert { margin-bottom: 30px; }
.lp-row.lp-zwischenraum-klein > .wp-block-columns { gap: 3%; }
.lp-main .wp-block-buttons.lp-knopf-abstand-53 { margin-top: 53px; }
.lp-main .wp-block-buttons.lp-knopf-abstand-54 { margin-top: 54px; }
.lp-main .wp-block-separator.is-style-wide { width: 100%; max-width: none; }
.gform_wrapper .gform_required_legend, .lp-ohne-pflichthinweis .gform_required_legend { display: none; }
.lp-kontaktformular .gform_wrapper.gravity-theme textarea.small { height: 150px; min-height: 150px; }
@media (min-width: 981px) {
    .lp-row.lp-zwischenraum-klein > .wp-block-columns > [style="flex-basis:33.3333%"] { flex-basis: 31.3333% !important; }
}
@media (max-width: 980px) {
    .lp-main .wp-block-buttons.lp-knopf-mobil-zentriert { justify-content: center; }
    .lp-row.lp-start-reihe-breit > .wp-block-columns > .wp-block-column > .lp-bild-zentriert { margin: 15px 0; }
    .lp-start-hero > .lp-row + .lp-row > .wp-block-columns { gap: 30px; }
}
@media (max-width: 767px) {
    .lp-start-bewertungen .lp-knopf-abstand-50-standard { margin-top: 5px; }
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-button:is(.is-style-umrandet, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link { transition: none; }
}

/* Korrekturrunde: Divi-Menügeometrie, gemeinsame Flächen und Abstände. */
.lp-menue-liste > li { white-space: nowrap; }
.lp-menue-liste .menu-cta { padding: 0; margin-left: auto; }
.lp-menue-liste .menu-cta > a { display: block; padding: 13px 15px 12px; }
.lp-menue-liste .sub-menu { top: 37px; width: 300px; min-width: 300px; max-width: none; padding: 20px 0; box-shadow: 0 2px 5px rgba(0,0,0,.1); }
.lp-menue-liste .sub-menu a { display: block; width: 100%; min-height: 40px; padding: 6px 20px 6px 40px; line-height: 28px; white-space: normal; }
.lp-menue-liste .sub-menu a:hover { background: rgba(0,0,0,.03); }
.lp-menue-liste .sub-menu:not([hidden]) { animation: lp-einblenden .2s; }
@keyframes lp-einblenden { from { opacity: 0; } to { opacity: 1; } }
.lp-untermenue-knopf { display: inline-flex; align-items: center; justify-content: center; padding: 0; margin-left: 0; vertical-align: baseline; transition: transform .2s; }
.lp-untermenue-knopf:hover { background: rgba(0,0,0,.03); opacity: .7; }
.lp-untermenue-knopf[aria-expanded="true"] { transform: rotate(180deg); }
@media (min-width: 981px) {
	.lp-menue-liste { justify-content: flex-end; }
	.lp-menue-liste > li:not(.menu-cta) { flex: 0 0 auto; padding-inline: 10px; }
}
.lp-main .wp-block-separator { border: 0; border-top: 1px solid #a8abb0; color: #a8abb0; }
.wp-block-table.is-style-preise thead { border-bottom: 0; }
.wp-block-table.is-style-preise table { border: 1px solid #eee; }
.wp-block-table.is-style-preise th { border: 0; font-weight: 700; }
.lp-kontaktformular .gform_wrapper.gravity-theme input[type="checkbox"],
.lp-kontaktformular .gform_wrapper.gravity-theme input[type="radio"] { appearance: none; width: 18px; height: 18px; background: #eee; border: 0; vertical-align: middle; margin: 0 6px 0 0; cursor: pointer; }
.lp-kontaktformular .gform_wrapper.gravity-theme input[type="radio"] { border-radius: 50%; }
.lp-kontaktformular .gform_wrapper.gravity-theme input[type="checkbox"]:checked::after { content: '✓'; display: block; color: #666; font: bold 16px/18px Arial, sans-serif; text-align: center; }
.lp-kontaktformular .gform_wrapper.gravity-theme input[type="radio"]:checked { background: radial-gradient(circle, #666 0 4px, #eee 5px); }
.lp-kontaktformular .gform_wrapper.gravity-theme select { appearance: none; padding-right: 35px; background-image: linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%); background-position: calc(100% - 20px) 23px, calc(100% - 15px) 23px; background-size: 5px 5px; background-repeat: no-repeat; }
@media (max-width: 767px) {
	.lp-main .gform_wrapper.gravity-theme input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .lp-main .gform_wrapper.gravity-theme textarea, .lp-main .gform_wrapper.gravity-theme select { font-size: 16px; }
	.lp-kontaktformular > h2.wp-block-heading { font-size: 24px; }
}
@media (min-width: 768px) and (max-width: 980px) {
	.lp-start-logo .wp-block-image img { width: 100%; }
	.lp-start-abschnitt .wp-block-image { text-align: center; }
}
/* Der Pfeil benötigt keine externe Icon-Schrift. */
.wp-block-button:is(.is-style-laserpromed, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link { position: relative; transition: padding .2s, background-color .2s, color .2s; }
.wp-block-button:is(.is-style-laserpromed, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link::after { content: ''; position: absolute; right: 12px; top: 50%; width: .4em; height: .65em; background: currentColor; clip-path: polygon(0 0, 15% 0, 100% 50%, 15% 100%, 0 100%, 82% 50%); margin-top: -.325em; opacity: 0; transform: translateX(-8px); transition: opacity .2s, transform .2s; font-size: 1.5em; line-height: 1; }
.wp-block-button:is(.is-style-laserpromed, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link:is(:hover, :focus-visible) { padding-left: 10px; padding-right: 30px; text-decoration: none; }
.wp-block-button:is(.is-style-laserpromed, .is-style-weiss, .is-style-ohne-rand) .wp-block-button__link:is(:hover, :focus-visible)::after { opacity: 1; transform: translateX(0); }
.wp-block-button.is-style-ohne-rand .wp-block-button__link:is(:hover, :focus-visible) { background: #fff; color: #000; }
.lp-medien { position: relative; width: 100%; display: grid; place-items: center; background: #e2dfe0 url("../images/medien-platzhalter.svg") center / cover; color: #363636; }
.lp-medien-video { aspect-ratio: 16 / 9; }
.lp-medien-hinweis { padding: 20px; text-align: center; }
.lp-medien button { font: inherit; cursor: pointer; padding: 10px 15px; border: 1px solid #605d58; background: #fff; color: #363636; }
.lp-medien .lp-cookie-einstellungen { display: block; margin: 10px auto 0; padding: 0; border: 0; background: transparent; text-decoration: underline; }
.lp-medien [hidden] { display: none; }
.lp-medien iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (prefers-reduced-motion: reduce) {
	.lp-menue-liste .sub-menu:not([hidden]) { animation: none; }
	.lp-untermenue-knopf, .wp-block-button .wp-block-button__link, .wp-block-button .wp-block-button__link::after { transition: none !important; }
	.wp-block-button .wp-block-button__link::after { transform: none !important; }
}

/* Die Divi-Navigation beginnt auch bei umgebrochenem Termin-Knopf links. */
@media (min-width: 981px) and (max-width: 1190px) {
    /* Divi: -11 px Listenrand + 15 px Zellabstand = 4 px Textversatz. */
    .lp-menue-liste { justify-content: flex-start; margin-inline: -6px; }
    .lp-menue-liste .menu-cta { margin-left: 0; }
}
@media (min-width: 981px) {
    .lp-menue-liste > .menu-item-has-children { display: flex; align-items: center; }
    .lp-untermenue-knopf { position: relative; color: inherit; font-size: 0; margin-left: 2px; }
    .lp-untermenue-knopf[aria-expanded="true"] { transform: none; }
    /* Divi: Pfeil 8 × 5 px, 8 px hinter dem Text, auf Schriftmitte. */
    .lp-untermenue-knopf::after { content: ''; position: absolute; left: 6px; top: calc(50% - 5px); width: 5px; height: 5px; border-right: 1.5px solid #777; border-bottom: 1.5px solid #777; transform: rotate(45deg); }
    .lp-untermenue-knopf[aria-expanded="true"]::after { transform: rotate(225deg); }
}
/* Die weissen Titelknöpfe haben auch beim Hover dieselben Innenabstände. */
.wp-block-button.is-style-weiss .wp-block-button__link:is(:hover, :focus-visible) { padding: 10px 25px; }

/* Buchungsstrecke: Erstgespräch zuerst, bestehende Kundinnen als zweite Wahl. */
.lp-buchung-kontakt { display: flex; gap: 10px; }
.lp-buchung-kontakt .wp-block-button__link { box-sizing: border-box; min-height: 44px; display: flex; align-items: center; justify-content: center; }
/* Zweite Wahl mit Rahmen, sonst wirkt der weisse Knopf auf weissem Grund wie Text. Masse wie der graue Knopf. */
.lp-buchung-kontakt .wp-block-button.lp-cta-termin .wp-block-button__link { border: 2px solid #a8abb0; padding: 5px 15px; }
.lp-buchung-kontakt .wp-block-button.lp-cta-termin .wp-block-button__link:is(:hover, :focus-visible) { padding: 5px 30px 5px 10px; }
.lp-main .lp-start-infokasten .wp-block-buttons { margin: 1em 0 0; }
@media (max-width: 767px) {
    .lp-buchung-kontakt { flex-direction: column; align-items: stretch; }
    .lp-buchung-kontakt > .wp-block-button, .lp-buchung-kontakt .wp-block-button__link { width: 100%; }
}
@media (max-width: 767px) {
    /* Divi: 16 px Innenabstand + 16 px Textzeile, Felderabstand 3%, Abschluss -1.5%. */
    .lp-kontaktformular .gform_wrapper.gravity-theme .gform_fields { row-gap: 0; }
    .lp-kontaktformular .gform_wrapper.gravity-theme .gfield { margin-bottom: 3%; }
    .lp-kontaktformular .gform_wrapper.gravity-theme input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .lp-kontaktformular .gform_wrapper.gravity-theme select { height: 48px; line-height: 16px; }
    .lp-kontaktformular .gform_wrapper.gravity-theme .gform_footer { margin-top: -1.5%; padding-top: 0; }
}
/* Explizite Divi-Spaltenbreiten der Preistabellen (Klasse vom Umwandler, Werte in px wie live). */
@media (min-width: 601px) {
	.wp-block-table.lp-preise-spalten-198-137-152 :is(th, td):nth-child(1) { width: 198.217px; }
	.wp-block-table.lp-preise-spalten-198-137-152 :is(th, td):nth-child(2) { width: 136.633px; }
	.wp-block-table.lp-preise-spalten-198-137-152 :is(th, td):nth-child(3) { width: 151.617px; }
	.wp-block-table.lp-preise-spalten-114-141-156 :is(th, td):nth-child(1) { width: 114px; }
	.wp-block-table.lp-preise-spalten-114-141-156 :is(th, td):nth-child(2) { width: 141px; }
	.wp-block-table.lp-preise-spalten-114-141-156 :is(th, td):nth-child(3) { width: 156px; }
}
/* Danke-Seiten: WordPress setzt .wp-block-columns { align-items: normal !important }, darum an den Spalten zentrieren. */
.wp-block-columns.are-vertically-aligned-center > .wp-block-column { align-self: center; }
/* Sichtbarer Fokus auf nachgeladenen Videos und Karten. */
.lp-medien iframe:focus { outline: 2px solid #605d58; outline-offset: 2px; }

/* Sticky-Kopf (Handy und Desktop): Die graue Leiste scrollt weg, die Menüzeile bleibt oben.
 * menue.js misst die Leiste (--lp-kopfleiste-hoehe) und die Menüzeile (--lp-kopf-hoehe).
 * Ohne JS bleibt der ganze Kopf stehen. Grow Consent liegt mit z-index 2147483647 darüber. */
html { scroll-padding-top: calc(var(--lp-kopf-hoehe, 72px) + 12px); }
.admin-bar { --lp-adminbar: 32px; }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: calc(var(--lp-adminbar, 0px) - var(--lp-kopfleiste-hoehe, 0px)); z-index: 100; background: #fff; transition: box-shadow .2s; }
.wp-site-blocks > header.lp-kopf-gescrollt { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.lp-burger { display: none; position: relative; width: 44px; height: 44px; margin-left: auto; padding: 0; color: #605d58; border-radius: 4px; }
.lp-burger-striche, .lp-burger-striche::before, .lp-burger-striche::after { display: block; width: 24px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s, background-color .25s; }
.lp-burger-striche { position: relative; }
.lp-burger-striche::before, .lp-burger-striche::after { content: ''; position: absolute; left: 0; }
.lp-burger-striche::before { top: -7px; }
.lp-burger-striche::after { top: 7px; }
.lp-burger[aria-expanded="true"] .lp-burger-striche { background-color: transparent; }
.lp-burger[aria-expanded="true"] .lp-burger-striche::before { transform: translateY(7px) rotate(45deg); }
.lp-burger[aria-expanded="true"] .lp-burger-striche::after { transform: translateY(-7px) rotate(-45deg); }
html.lp-menue-offen, html.lp-menue-offen body { overflow: hidden; }
html.lp-menue-offen body { position: fixed; left: 0; right: 0; width: 100%; }
@media (max-width: 782px) { .admin-bar { --lp-adminbar: 46px; } }
@media (max-width: 600px) { .admin-bar { --lp-adminbar: 0px; } }

/* Handy und Tablet: kompakte Kopfzeile, Vollbild-Menü, kleine USP-Leiste. */
@media (max-width: 980px) {
	.lp-kopf-navigation { width: auto; max-width: none; margin: 0; padding: 8px 16px; min-height: 60px; }
	.lp-navigation.lp-kompakt .lp-burger:not([hidden]) { display: flex; align-items: center; justify-content: center; }
	.lp-navigation.lp-kompakt .lp-menue-liste { display: none; }
	.lp-navigation.lp-kompakt .lp-burger[aria-expanded="true"] { position: fixed; top: calc(var(--lp-adminbar, 0px) + 8px); right: var(--lp-rand, 16px); z-index: 1001; background: #fff; }
	.lp-navigation.lp-kompakt .lp-burger[aria-expanded="true"] + .lp-menue-liste { position: fixed; inset: calc(var(--lp-adminbar, 0px) + 60px) 0 0; z-index: 1000; display: grid; grid-template-columns: 1fr 1fr; align-content: start; margin: 0; padding: 0 0 calc(32px + env(safe-area-inset-bottom)); background: #fff; overflow-y: auto; overscroll-behavior: contain; animation: lp-einblenden .2s; }
	/* Kopfzeile im Menü: Logo links, der Burger wird rechts zum Schliessen-Kreuz.
	 * Sie hängt an der Navigation, weil iOS fixe Elemente in scrollenden Listen mitscrollt. */
	html.lp-menue-offen .lp-navigation.lp-kompakt::before { content: ''; position: fixed; top: var(--lp-adminbar, 0px); left: 0; right: 0; z-index: 1000; display: flex; align-items: center; height: 60px; background: #fff url('../images/logo-laserpromed-quer.png') var(--lp-rand, 16px) center / auto 34px no-repeat; border-bottom: 1px solid #e6e4e2; }
	.lp-navigation.lp-kompakt .lp-menue-liste > li { grid-column: 1 / -1; padding: 0; border-bottom: 1px solid #e6e4e2; white-space: normal; background: transparent; }
	.lp-navigation.lp-kompakt .lp-menue-liste a { display: flex; align-items: center; width: auto; min-height: 56px; padding: 12px 16px; color: #605d58; font-size: 16px; line-height: 1.3; letter-spacing: .04em; white-space: normal; border: 0; background: transparent; }
	.lp-navigation.lp-kompakt .lp-menue-liste a:hover { opacity: 1; background: #f5f4f3; text-decoration: none; }
	.lp-navigation.lp-kompakt .lp-menue-liste > .current_page_item:not(.menu-item-has-children):not(.lang-item) > a { box-shadow: inset 3px 0 0 #a8abb0; }
	.lp-navigation.lp-kompakt .lp-menue-liste > .menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) 56px; }
	.lp-navigation.lp-kompakt .lp-untermenue-knopf { position: relative; display: block; width: 56px; height: 56px; min-width: 0; min-height: 0; margin: 0; padding: 0; font-size: 0; color: #605d58; border-left: 1px solid #e6e4e2; transform: none; transition: background-color .2s; }
	.lp-navigation.lp-kompakt .lp-untermenue-knopf::after { content: ''; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -7px 0 0 -5px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s, margin .2s; }
	.lp-navigation.lp-kompakt .lp-untermenue-knopf:hover { opacity: 1; background: #f5f4f3; }
	.lp-navigation.lp-kompakt .lp-untermenue-knopf[aria-expanded="true"] { transform: none; background: #f5f4f3; }
	.lp-navigation.lp-kompakt .lp-untermenue-knopf[aria-expanded="true"]::after { margin-top: -2px; transform: rotate(225deg); }
	.lp-navigation.lp-kompakt .lp-menue-liste .sub-menu { grid-column: 1 / -1; position: static; width: auto; min-width: 0; max-width: none; padding: 4px 0 8px; border-top: 1px solid #e6e4e2; background: #f5f4f3; box-shadow: none; animation: none; }
	.lp-navigation.lp-kompakt .lp-menue-liste .sub-menu:not([hidden]) { display: block; }
	.lp-navigation.lp-kompakt .lp-menue-liste .sub-menu a { min-height: 48px; padding: 10px 16px 10px 32px; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none; }
	.lp-navigation.lp-kompakt .lp-menue-liste .sub-menu a:hover { background: #ebe9e7; }
	/* Sprachen nebeneinander, mit Kürzel neben der Flagge. */
	.lp-navigation.lp-kompakt .lp-menue-liste > .lang-item { grid-column: auto; }
	.lp-navigation.lp-kompakt .lp-menue-liste > .lang-item + .lang-item { border-left: 1px solid #e6e4e2; }
	.lp-navigation.lp-kompakt .lang-item a { justify-content: center; gap: 8px; font-size: 14px; }
	.lp-navigation.lp-kompakt .lang-item img { width: 22px !important; height: auto !important; }
	.lp-navigation.lp-kompakt .lang-item-de a::after { content: 'DE'; content: 'DE' / ''; }
	.lp-navigation.lp-kompakt .lang-item-en a::after { content: 'EN'; content: 'EN' / ''; }
	.lp-navigation.lp-kompakt .lang-item.current-lang a { font-weight: 700; box-shadow: inset 0 -3px 0 #a8abb0; }
	.lp-navigation.lp-kompakt .lp-menue-liste > .menu-cta { margin: 24px 16px 0; border-bottom: 0; background: transparent; }
	.lp-navigation.lp-kompakt .lp-menue-liste .menu-cta > a { justify-content: center; min-height: 52px; padding: 12px 16px; background: #a8abb0; color: #fff; font-size: 15px; letter-spacing: .08em; text-align: center; }
	.lp-navigation.lp-kompakt .lp-menue-liste .menu-cta > a:hover { background: #605d58; }

	/* USP-Leiste: laufender Vorteil links, Bewertung rechts, eine Zeile. Die Kontaktsymbole stehen im Menü (menue.js). */
	.lp-kopfleiste-innen { width: auto; max-width: none; margin: 0; padding: 0 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "vorteile bewertung"; align-items: center; column-gap: 10px; }
	.lp-kopfleiste .lp-kontaktsymbole { display: none; }
	.lp-bewertung { grid-area: bewertung; text-align: right; font-size: 11px; white-space: nowrap; }
	.lp-bewertung a { display: inline-block; padding: 7px 0; }
	.lp-vorteile { grid-area: vorteile; display: grid; font-size: 11px; line-height: 16px; text-align: left; white-space: nowrap; }
	.lp-vorteile span { grid-area: 1 / 1; margin: 0; opacity: 0; animation: lp-vorteil 9s infinite both; }
	.lp-vorteile span:nth-child(2) { animation-delay: 3s; }
	.lp-vorteile span:nth-child(3) { animation-delay: 6s; }
}
@keyframes lp-vorteil { 0% { opacity: 0; } 4%, 30% { opacity: 1; } 35%, 100% { opacity: 0; } }
@media (max-width: 379px) {
	/* Zu schmal für eine Zeile: Bewertung oben, Vorteil darunter. */
	.lp-kopfleiste-innen { grid-template-columns: 1fr; grid-template-areas: "bewertung" "vorteile"; justify-items: center; padding-bottom: 4px; }
	.lp-bewertung { text-align: center; }
	.lp-bewertung a { padding: 4px 0 0; }
	.lp-vorteile { text-align: center; }
}
@media (max-width: 980px) and (prefers-reduced-motion: reduce) {
	.lp-kopfleiste-innen { grid-template-columns: 1fr; grid-template-areas: "bewertung" "vorteile"; justify-items: center; padding-bottom: 4px; }
	.lp-vorteile { display: block; text-align: center; white-space: normal; }
	.lp-vorteile span { opacity: 1; animation: none; margin: 0 4px; }
	.lp-navigation.lp-kompakt .lp-burger[aria-expanded="true"] + .lp-menue-liste { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks > header.wp-block-template-part, .lp-burger-striche, .lp-burger-striche::before, .lp-burger-striche::after, .lp-navigation .lp-untermenue-knopf::after { transition: none; }
}

/* Querlogo im Kopf (functions.php, solange in WordPress kein eigenes Logo gesetzt ist). */
.lp-logo { flex: 0 0 auto; margin: 0; line-height: 0; }
.lp-logo a { display: inline-flex; align-items: center; min-height: 44px; }
.lp-logo a:hover { opacity: .8; }
.lp-logo img { display: block; width: auto; height: 40px; max-width: none; }
@media (max-width: 980px) {
	.lp-logo img { height: 34px; }
}
@media (min-width: 981px) {
	/* Neben dem Desktop-Menü nur der LP-Kreis, sonst bricht das Menü auf zwei Zeilen um. */
	.lp-logo img { width: 40px; object-fit: cover; object-position: left center; }
}
@media (min-width: 981px) and (max-width: 1190px) {
	/* Hier ist das Divi-Menü schon randvoll; der Kreis würde es auf zwei Zeilen drücken. */
	.lp-kopf-navigation .lp-logo { display: none; }
}
/* Kontakt-Kacheln im Handy-Menü (menue.js kopiert sie aus der grauen Leiste). */
.lp-menue-kontakt { display: none; }
@media (max-width: 980px) {
	.lp-navigation.lp-kompakt .lp-menue-liste > .lp-menue-kontakt { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-column: 1 / -1; }
	.lp-navigation.lp-kompakt .lp-menue-kontakt a { justify-content: center; min-height: 56px; padding: 0; color: #605d58; }
	.lp-navigation.lp-kompakt .lp-menue-kontakt a + a { border-left: 1px solid #e6e4e2; }
	.lp-navigation.lp-kompakt .lp-menue-kontakt svg { width: 22px; height: 22px; }
}

/* Handy und Tablet: Inhalt näher an den Rand. Divi hatte 80 % Breite, auf dem iPhone 39 px Rand je Seite.
   Die Sonderreihen der Startseite (60 %, 66 %, breit, Hero) behalten ihre eigene Breite. */
@media (max-width: 980px) {
	:root { --lp-rand: 32px; }
	.lp-row, .lp-fuss-innen { width: calc(100% - 2 * var(--lp-rand)); }
	.lp-kopf-navigation { padding-inline: var(--lp-rand); }
}
@media (max-width: 600px) {
	:root { --lp-rand: 20px; }
}
@media (max-width: 980px) {
	/* Bewertungsreihe der Startseite an die übrigen Reihen angleichen. */
	.lp-row.lp-start-reihe-breit { width: calc(100% - 2 * var(--lp-rand)); max-width: none; padding-inline: 0; }
}
