/* HJ Redesign 2026 · Basis-CSS
 * Quelle: web-main/redesign/plugin/hj-redesign/assets/hj-redesign.css
 * Die Gestaltung einzelner Elemente steht in hj-generated.css (vom Konverter erzeugt).
 * Hier: Grundschrift, Elementor-Resets für konvertierte Elemente (.hj-x), Entwurfs-Utilities
 * (.wrap .hide-m .h1 .h2 .sec), Schalter (Angebot, Demo), Sticky-Leiste, Akkordeon, Kopf, Popups.
 */

:root {
	--hj-navy: #10155F; --hj-teal: #15779B; --hj-sky: #62C3DC; --hj-indigo: #2F3C99; --hj-green: #6FCE78;
	--hj-bg: #F7F8FB; --hj-text: #1C2033; --hj-muted: #5A6275; --hj-deep: #0B0E26; --hj-border: #E6E9F0;
	--hj-header-h: 77px;
	--hj-secbar-inset-top: 150px;
}

body.hj-rd {
	font-family: Mulish, system-ui, -apple-system, sans-serif;
	color: var(--hj-text);
	background: #FFFFFF;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
body.hj-rd a { color: var(--hj-teal); }
body.hj-rd a:hover { color: #0F6383; }
body.hj-rd .page-header, body.hj-rd .site-header:not(.elementor-location-header) { display: none; }

/* ---------- Resets für konvertierte Elemente ---------- */
.hj-x.e-con {
	--padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--width: auto; --min-height: auto;
	padding: 0; gap: 0; margin: 0;
	display: flex; flex-direction: column; flex-wrap: nowrap;
	width: auto; max-width: 100%; min-width: 0; min-height: auto;
	box-sizing: border-box;
	flex: 0 1 auto;
	border: 0;
	text-decoration: none;
}
.hj-x.e-con.e-con-full, .e-con.hj-x > .e-con-inner { padding: 0; }
.hj-x.e-con:not(.e-child), .hj-top.e-con { width: 100%; }
.hj-x.elementor-element.elementor-widget { margin: 0; width: auto; max-width: 100%; min-width: 0; --kit-widget-spacing: 0px; }
.hj-x.elementor-widget > .elementor-widget-container { margin: 0; padding: 0; }
.hj-x.elementor-widget:not(:last-child) { margin-block-end: 0; margin-bottom: 0; }
.hj-x .elementor-heading-title { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; line-height: inherit; margin: 0; padding: 0; }
.hj-x.elementor-widget-heading .elementor-heading-title a { color: inherit; }
.hj-txt > div, .hj-txt .elementor-widget-container > div { margin: 0; }
.hj-txt p:last-child { margin-bottom: 0; }
.hj-txt .elementor-widget-container > p:empty, .hj-txt p:empty { display: none; }
.hj-html .elementor-widget-container, .hj-deco .elementor-widget-container { line-height: 0; }
.hj-html svg { display: block; max-width: 100%; height: auto; }
.hj-deco { pointer-events: none; }
a.hj-x.e-con, a.hj-x.e-con:hover { color: inherit; text-decoration: none; }

/* Knöpfe: Elementor-Grundstil neutralisieren, Gestaltung kommt aus der Klasse. */
.hj-btnw .elementor-button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-align: center; transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.hj-btnw .elementor-button:hover { transform: translateY(-1px); filter: brightness(1.04); }
.hj-btnw .elementor-button:focus-visible { outline: 3px solid var(--hj-sky); outline-offset: 2px; }
.hj-btnw .elementor-button-content-wrapper, .hj-btnw .elementor-button-text { display: contents; }

/* ---------- Entwurfs-Utilities ---------- */
.hj-x.e-con.wrap, .wrap { max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
@media (max-width: 820px) {
	.hide-m { display: none !important; }
	.h1, .h1 .elementor-heading-title { font-size: 42px !important; letter-spacing: -1.4px !important; }
	.h2, .h2 .elementor-heading-title { font-size: 32px !important; letter-spacing: -.8px !important; }
	.hj-x.e-con.sec, .sec { padding-top: 64px !important; padding-bottom: 64px !important; }
	.hj-hero-pad.e-con { padding-top: 32px !important; padding-bottom: 64px !important; }
}
@media (max-width: 480px) {
	.h1, .h1 .elementor-heading-title { font-size: 36px !important; }
	.hj-x.e-con.wrap { padding-left: 16px; padding-right: 16px; }
}
/* Flex-Basen größer als ein Telefon dürfen nicht überlaufen. */
@media (max-width: 600px) {
	.hj-x.e-con > .e-con, .hj-x.e-con > .elementor-widget { min-width: 0; }
	.hj-x.e-con[class*="hj-s"] > .e-con { flex-basis: auto !important; max-width: 100%; }
}

/* ---------- Angebots-Schalter ---------- */
.hj-offer-anfragen .hj-only-kaufen, .hj-offer-aus .hj-only-kaufen,
.hj-offer-kaufen .hj-only-anfragen,
.hj-offer-aus .hj-offer-section, .hj-offer-aus .hj-only-offer { display: none !important; }

/* Einstieg-Reihenfolge: empfohlenes Angebot zuerst. */
.hj-entry-coaching .hj-entry-card--coach, .hj-entry-befund .hj-entry-card--befund { order: 1; }
.hj-entry-coaching .hj-entry-card--befund, .hj-entry-befund .hj-entry-card--coach { order: 2; }
.hj-entry-coaching .hj-rec--befund, .hj-entry-befund .hj-rec--coach { display: none !important; }
.hj-entry-coaching .hj-entry-title--befund, .hj-entry-befund .hj-entry-title--coach { display: none !important; }
.hj-entry-befund .hj-entry-card--befund.e-con { background: var(--hero) !important; color: #FFFFFF !important; border-color: transparent !important; }
.hj-entry-befund .hj-entry-card--coach.e-con { background: #FFFFFF !important; color: var(--hj-navy) !important; }
.hj-entry-befund .hj-entry-card--befund .hj-btnw .elementor-button { background: #FFFFFF !important; color: var(--hj-navy) !important; }
.hj-entry-befund .hj-entry-card--coach .hj-btnw .elementor-button { background: var(--hj-navy) !important; color: #FFFFFF !important; }

/* ---------- Demo-Markierung ---------- */
.hj-show-demo .hj-demo { position: relative; outline: 2px dashed rgba(245, 166, 35, .55); outline-offset: 6px; }
.hj-show-demo .hj-demo::after, .hj-show-demo .hj-demo.e-con::after {
	content: "Demo-Text, wird von Fabio ersetzt"; position: absolute; z-index: 3; top: -14px; right: 8px; left: auto; bottom: auto; width: auto; height: auto;
	font: 800 11px/1 Mulish, sans-serif; letter-spacing: .02em; color: #6B4300; background: #FFE7B8; opacity: 1; mix-blend-mode: normal;
	padding: 5px 8px; border-radius: 8px; pointer-events: none; white-space: nowrap; border: 0; transform: none;
}
.hj-show-demo .hj-demo-page-flag { display: block; }
.hj-demo-page-flag { display: none; }

/* ---------- Kopfbereich ---------- */
.elementor-location-header { position: sticky; top: calc(-1 * var(--hj-util-h, 40px)); z-index: 50; }
.admin-bar .elementor-location-header { top: calc(32px - var(--hj-util-h, 40px)); }
.elementor-location-header:has(.hj-header-lp) { top: 0; }

/* Mega-Menü: Panel-Optik */
.hj-mega .e-n-menu-heading { gap: 30px; }
.hj-mega .e-n-menu-title { padding: 0 !important; background: none !important; border: 0 !important; }
.hj-mega .e-n-menu-title-text, .hj-mega .e-n-menu-title-container { font-family: Mulish, sans-serif; font-size: 15px; font-weight: 700; color: var(--hj-navy); }
.hj-mega .e-n-menu-dropdown-icon svg, .hj-mega .e-n-menu-dropdown-icon i { fill: var(--hj-navy); color: var(--hj-navy); width: 12px; height: 12px; font-size: 12px; }
.hj-mega .e-n-menu-content > .e-con { box-shadow: 0 40px 80px -30px rgba(16, 21, 95, .35); border-top: 1px solid var(--hj-border); }
.hj-mega .e-n-menu-toggle { background: none; border: 0; color: var(--hj-navy); }
.hj-mega .e-n-menu-toggle svg { fill: var(--hj-navy); width: 26px; height: 26px; }
@media (max-width: 1024px) {
	.hj-mega .e-n-menu-content > .e-con { max-height: 75vh; overflow-y: auto; box-shadow: none; }
}

/* ---------- Sticky-Abschnittsleiste ---------- */
.hj-secbar-host.e-con { position: sticky; top: calc(var(--hj-header-h) - 1px); z-index: 40; }
.admin-bar .hj-secbar-host.e-con { top: calc(var(--hj-header-h) + 31px); }
.hj-secbar { position: relative; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--hj-border); }
.hj-secbar-in { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; display: flex; align-items: center; gap: 14px; min-height: 64px; }
.hj-secbar-title { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 900; color: var(--hj-navy); }
.hj-secbar-title--muted { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #8A91A3; }
.hj-secbar-swatch { width: 10px; height: 10px; border-radius: 3px; background: var(--hero); }
.hj-secbar-sep { width: 1px; height: 24px; background: var(--hj-border); }
.hj-secbar-mask { flex: 1 1 auto; overflow: hidden; }
.hj-secbar-track { display: flex; gap: 6px; padding: 14px 0; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.hj-secbar-track::-webkit-scrollbar { display: none; }
.hj-chip-nav { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 13px; border-radius: 18px; border: 1px solid var(--hj-border); background: #FFFFFF; color: var(--hj-navy); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s; }
body.hj-rd .hj-secbar a.hj-chip-nav { color: var(--hj-navy); }
body.hj-rd .hj-secbar a.hj-chip-nav.is-active, body.hj-rd .hj-secbar a.hj-chip-nav.is-active * { color: #FFFFFF; }
.hj-chip-num { font-size: 11px; font-weight: 900; color: var(--chip-c2, var(--c2)); }
.hj-chip-nav.is-active { background: var(--hj-navy); color: #FFFFFF; border-color: transparent; }
.hj-chip-nav[style*="--chip-c1"].is-active { background: linear-gradient(135deg, var(--chip-c1), var(--chip-c2)); }
.hj-chip-nav.is-active .hj-chip-num { color: rgba(255, 255, 255, .7); }
.hj-secbar-cta { flex: 0 0 auto; display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 19px; background: var(--hj-navy); color: #FFFFFF !important; font-size: 13px; font-weight: 900; text-decoration: none; }
.hj-secbar-line { position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: #EEF0F5; }
.hj-secbar-prog { height: 100%; width: 0%; background: linear-gradient(90deg, var(--c1), var(--c2)); border-radius: 0 2px 2px 0; }
@keyframes hj-grow { from { width: 0%; } to { width: 100%; } }
@keyframes hj-chip-on { 0%, 100% { background: var(--hj-navy); color: #FFFFFF; border-color: transparent; } }
@media (max-width: 820px) {
	.hj-secbar-mask { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
	.hj-secbar-in { padding: 0 16px; }
}
[id] { scroll-margin-top: 150px; }

/* ---------- Akkordeon (FAQ) ---------- */
.hj-acc .e-n-accordion { display: flex; flex-direction: column; gap: 10px; }
.hj-acc .e-n-accordion-item { margin: 0 !important; overflow: hidden; }
.hj-acc .e-n-accordion-item-title { border: 0 !important; background: none !important; padding: 0 !important; display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; }
.hj-acc .e-n-accordion-item-title-text { font: inherit; color: inherit; }
.hj-acc .e-n-accordion-item-title-icon { color: var(--ink, var(--hj-teal)); font-size: 14px; }
.hj-acc .e-n-accordion-item-title-icon svg { fill: var(--ink, var(--hj-teal)); width: 14px; height: 14px; }
.hj-acc .e-n-accordion-item > .e-con { border: 0 !important; padding: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.hj-acc .hj-acc-text { margin-top: 12px; }
.hj-acc .hj-acc-text p { margin: 0; }

/* ---------- Weitere Themen (Shortcode) ---------- */
.hj-rel { display: flex; flex-wrap: wrap; gap: 8px; }
.hj-rel-chip { font-size: 14.5px; font-weight: 700; padding: 10px 16px; border-radius: 20px; border: 1px solid var(--hj-border); color: var(--hj-navy) !important; text-decoration: none; background: #FFFFFF; }
.hj-rel-chip:hover { border-color: var(--c2); }
.hj-rel-chip--hub { background: var(--tint); color: var(--ink) !important; border-color: transparent; font-weight: 800; }
.hj-rel-chip--soon { color: #8A91A3 !important; border-style: dashed; cursor: default; }

/* ---------- Loop Grids ---------- */
.hj-loop .e-loop-item { height: 100%; }
.hj-loop .elementor-loop-container { align-items: stretch; }
.hj-loop .e-loop-item > .e-con { height: 100%; }
.hj-card-strip { height: 6px; background: linear-gradient(90deg, var(--c1), var(--c2)); }

/* ---------- Popups ---------- */
.hj-popup .dialog-message { padding: 0 !important; }
.elementor-popup-modal .dialog-widget-content { border-radius: 28px; overflow: hidden; }

/* ---------- Formular-Mount: Platz halten ---------- */
[data-hj-mount="form"]:empty { min-height: 120px; border: 2px dashed #D5DAE6; border-radius: 18px; display: grid; place-items: center; }
[data-hj-mount="form"]:empty::after { content: "Formular aus dem CRM (Mount data-hj-mount=form)"; font: 700 13px Mulish, sans-serif; color: #8A91A3; padding: 16px; text-align: center; }
[data-hj-mount="offer"] { display: contents; }

/* ---------- Bildplatzhalter ---------- */
.hj-ph { position: relative; overflow: hidden; background: var(--hero); color: #FFFFFF; }
.hj-ph-note { font-size: 12.5px; font-weight: 800; line-height: 1.4; color: rgba(255, 255, 255, .88); }

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* ---------- Karten-Ergänzungen ---------- */
.hj-subchips { display: flex; flex-wrap: wrap; gap: 6px; }
.hj-subchip { font-size: 13.5px; font-weight: 700; padding: 7px 12px; border-radius: 12px; background: var(--tint); color: var(--ink) !important; text-decoration: none; }
.hj-subchip--more { background: transparent; border: 1px dashed var(--c2); font-weight: 800; }
.hj-card-entry-befund .hj-entry-pill { background: var(--ink) !important; }
.hj-img img { display: block; width: 100%; }

/* ---------- ROI-Rechner ---------- */
.hj-roi { display: flex; flex-wrap: wrap; gap: 18px; align-items: stretch; }
.hj-roi-inputs { flex: 1 1 360px; padding: 30px; border-radius: 28px; background: #FFFFFF; border: 1px solid var(--hj-border); display: flex; flex-direction: column; gap: 24px; box-sizing: border-box; }
.hj-roi-field label { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; font-weight: 800; color: var(--hj-navy); margin-bottom: 10px; }
.hj-roi-field input[type=range] { width: 100%; accent-color: var(--hj-teal); }
.hj-roi-note { font-size: 12.5px; line-height: 1.5; color: var(--hj-muted); margin-top: 6px; }
.hj-roi-reset { align-self: flex-start; height: 46px; padding: 0 20px; border-radius: 23px; border: 1px solid #D5DAE6; background: #FFFFFF; color: var(--hj-navy); font: inherit; font-weight: 800; cursor: pointer; }
.hj-roi-results { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.hj-roi-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.hj-roi-kpi { padding: 20px; border-radius: 22px; background: #FFFFFF; border: 1px solid var(--hj-border); }
.hj-roi-kpi .k { font-size: 12.5px; font-weight: 800; color: #8A91A3; }
.hj-roi-kpi .v { font-size: 30px; font-weight: 900; letter-spacing: -1px; color: var(--hj-navy); margin-top: 6px; }
.hj-roi-kpi .s { font-size: 12px; color: rgba(255,255,255,.7); margin-top: 4px; }
.hj-roi-kpi--main { background: var(--hj-navy); border-color: transparent; }
.hj-roi-kpi--main .k { color: #9EE3F1; } .hj-roi-kpi--main .v { color: #FFFFFF; }
.hj-roi-green { color: #2B7A37 !important; }
.hj-roi-chart { flex: 1; padding: 22px; border-radius: 24px; background: #FFFFFF; border: 1px solid var(--hj-border); display: flex; flex-direction: column; gap: 12px; }
.hj-roi-chart-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.hj-roi-chart-head .t { font-size: 16px; font-weight: 900; color: var(--hj-navy); }
.hj-roi-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 12.5px; font-weight: 700; color: var(--hj-muted); }
.hj-roi-legend span { display: flex; align-items: center; gap: 6px; }
.hj-roi-legend i { width: 16px; height: 4px; border-radius: 2px; display: inline-block; }
.hj-roi-legend i.dash { height: 0; border-top: 2px dashed #8A91A3; }
.hj-roi-foot { font-size: 12.5px; color: #8A91A3; margin-top: 14px; }

/* ---------- Themen-Finder ---------- */
.hj-finder { position: relative; display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px; border-radius: 22px; border: 1px solid var(--hj-border); background: #FFFFFF; box-sizing: border-box; width: 100%; }
.hj-finder input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent !important; font: inherit; font-size: 14px; color: var(--hj-navy); padding: 0 !important; box-shadow: none !important; height: 40px; }
.hj-finder-list { position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 8px); background: #FFFFFF; border: 1px solid var(--hj-border); border-radius: 18px; box-shadow: 0 30px 60px -24px rgba(16,21,95,.35); padding: 6px; max-height: 60vh; overflow: auto; }
.hj-finder-list a { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: var(--hj-navy) !important; }
.hj-finder-list a:hover, .hj-finder-list a:focus { background: #F2F4F7; }
.hj-finder-list b { font-size: 14.5px; font-weight: 800; }
.hj-finder-list span { font-size: 12px; font-weight: 700; color: #8A91A3; }
.hj-finder-empty { padding: 12px; font-size: 13.5px; color: var(--hj-muted); }

/* ---------- Header-Varianten ---------- */
.hj-only-m { display: none !important; }
@media (max-width: 1024px) { .hj-only-m { display: block !important; } }
.hj-navc .elementor-nav-menu > li > a { font-family: Mulish, sans-serif; font-size: 15px; font-weight: 700; color: var(--hj-navy) !important; padding: 10px 12px !important; }
.hj-navc .elementor-nav-menu--dropdown, .hj-navc .sub-menu { border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px -24px rgba(16,21,95,.35); }
.hj-navc .sub-menu a { font-size: 14px !important; color: var(--hj-navy) !important; }
.hj-complaints .wrap { scrollbar-width: none; }

/* Reiter im Mega-Menü B */
.hj-tabs .e-n-tabs-heading { gap: 4px; }
.hj-tabs .e-n-tab-title { font-family: Mulish, sans-serif; font-size: 14.5px; font-weight: 800; color: #4A5168; background: transparent; border: 0; border-radius: 20px; padding: 0 18px; height: 40px; }
.hj-tabs .e-n-tab-title[aria-selected="true"] { background: var(--hj-navy); color: #FFFFFF; }
.hj-tabs-top > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading, .hj-tabs-top > .e-n-tabs > .e-n-tabs-heading { margin: -58px 0 0 24px; padding: 4px; border-radius: 24px; background: #F2F4F7; align-self: flex-start; width: max-content; position: relative; z-index: 2; }
.hj-tabs-groups .e-n-tabs-heading { flex: 0 0 300px; flex-direction: column; gap: 2px; padding-right: 20px; border-right: 1px solid #EEF0F5; }
.hj-tabs-groups .e-n-tab-title { justify-content: flex-start; height: auto; padding: 12px 14px; border-radius: 16px; font-size: 15.5px; font-weight: 900; color: var(--hj-navy); gap: 12px; }
.hj-tabs-groups .e-n-tab-title::before { content: ""; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 10px; }
.hj-tabs-groups .e-n-tab-title:nth-child(1)::before { background: linear-gradient(135deg, #5E1233, #C2394E); }
.hj-tabs-groups .e-n-tab-title:nth-child(2)::before { background: linear-gradient(135deg, #171A5E, #4A4C9E); }
.hj-tabs-groups .e-n-tab-title:nth-child(3)::before { background: linear-gradient(135deg, #17657E, #5DBB72); }
.hj-tabs-groups .e-n-tab-title:nth-child(4)::before { background: linear-gradient(135deg, #10155F, #2E7299); }
.hj-tabs-groups .e-n-tab-title:nth-child(5)::before { background: linear-gradient(135deg, #0E4F6B, #2B9FBF); }
.hj-tabs-groups .e-n-tab-title:nth-child(6)::before { background: linear-gradient(135deg, #261A68, #7454C9); }
.hj-tabs-groups .e-n-tab-title[aria-selected="true"] { background: #ECEDF8; color: #2F3170; }
.hj-tabs .e-n-tabs-content > .e-con { padding: 0 !important; border: 0 !important; }
@media (max-width: 1024px) {
	.hj-tabs-top > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading, .hj-tabs-top > .e-n-tabs > .e-n-tabs-heading { margin: 0; }
	.hj-tabs-groups .e-n-tabs-heading { flex-basis: auto; border-right: 0; padding-right: 0; }
}
.hj-price-ask { font-size: .62em; white-space: nowrap; letter-spacing: -.02em; }
.hj-hdr-cta, .hj-hdr-cta .elementor-button, .hj-mainbar .hj-btnw .elementor-button { white-space: nowrap; }
@media (max-width: 480px) { .hj-mainbar .hj-btnw .elementor-button { padding: 0 16px !important; font-size: 13px !important; height: 42px !important; } }
.hj-consent__open { all: unset; cursor: pointer; color: inherit; font: inherit; }
.hj-consent__open:hover { text-decoration: underline; }
.hj-acc .e-n-accordion-item-title-header { flex: 1 1 auto; order: 1; text-align: left; justify-content: flex-start; }
.hj-acc .e-n-accordion-item-title-icon { order: 2; flex: 0 0 auto; }
.hj-acc .e-n-accordion-item-title-text { text-align: left; }
body.hj-rd .hj-footer .hj-consent__open, body.hj-rd [data-hj-mount="consent-banner"] .hj-consent__open { all: unset !important; cursor: pointer !important; color: #5A6275 !important; font: inherit !important; }
body.hj-rd .hj-roi-reset { background: #FFFFFF !important; color: var(--hj-navy) !important; border: 1px solid #D5DAE6 !important; padding: 0 20px !important; }
@media (max-width: 480px) {
	.hj-hide-xs { display: none; }
	.hj-mainbar .wrap.e-con { gap: 10px !important; }
	.hj-mainbar .hj-hdr-cta { height: 42px !important; padding: 0 16px !important; font-size: 13px !important; }
}

/* ---------- Mobil: kein horizontales Scrollen ---------- */
html { overflow-x: clip; }
@media (max-width: 600px) {
	.hj-x.e-con:not(.hj-nowrap-m) { flex-wrap: wrap !important; }
	.hj-x.e-con > .e-con, .hj-x.e-con > .elementor-widget { max-width: 100%; }
	.hj-hero-compo.e-con { zoom: .6; }
	.hj-graphic, .hj-html > .elementor-widget-container { max-width: 100%; }
	.hj-graphic > div[style*="width: 360px"], .hj-graphic > div[style*="width: 300px"] { max-width: 100%; }
}
@media (max-width: 600px) {
	.hj-x.e-con { max-width: 100% !important; min-width: 0 !important; }
	.hj-mainbar .hj-x.e-con.hj-nowrap-m { gap: 8px !important; }
	.hj-mainbar .hj-mega { order: 3; }
	.elementor-location-header .hj-mainbar svg[width="38"] { width: 30px; height: 30px; }
}

/* ---------- Mega-Menü: Panel unter der ganzen Kopfleiste (Desktop) ---------- */
body.hj-rd .ml { color: #4A5168 !important; text-decoration: none; font-size: 14px; padding: 3px 0; line-height: 1.45; }
body.hj-rd .ml:hover { color: #10155F !important; }
@media (min-width: 1025px) {
	.hj-mainbar.e-con { position: relative; }
	.hj-mainbar .hj-mega, .hj-mainbar .hj-mega > .elementor-widget-container, .hj-mainbar .hj-mega .e-n-menu, .hj-mainbar .hj-mega .e-n-menu-wrapper,
	.hj-mainbar .hj-mega .e-n-menu-heading, .hj-mainbar .hj-mega .e-n-menu-item, .hj-mainbar .wrap.e-con { position: static !important; }
	.hj-mainbar .hj-mega .e-n-menu-content { position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: auto !important; max-width: none !important; transform: none !important; margin: 0 !important; }
	.hj-mainbar .hj-mega .e-n-menu-content > .e-con { background: #FFFFFF; border-radius: 0 0 32px 32px; box-shadow: 0 40px 80px rgba(16,21,95,.18); max-height: calc(100vh - 140px); overflow-y: auto; }
	.hj-mega-panel-a.e-con, .hj-mega-panel-b.e-con { max-width: 1240px !important; margin: 0 auto !important; width: 100% !important; }
}
@media (min-width: 1025px) {
	.hj-mm-grid7.e-con > .e-con { flex: 0 0 calc((100% - 6 * 24px) / 7) !important; min-width: 0; }
	.hj-mm-grid5.e-con > .e-con { flex: 0 0 calc((100% - 4 * 24px) / 5) !important; min-width: 0; }
}
.hj-tabs { --n-tabs-title-background-color: transparent; --n-tabs-title-background-color-hover: #F2F4F7; --n-tabs-title-background-color-active: #10155F;
	--n-tabs-title-color: #4A5168; --n-tabs-title-color-hover: #10155F; --n-tabs-title-color-active: #FFFFFF; --n-tabs-title-font-size: 14.5px; --n-tabs-title-font-weight: 800;
	--n-tabs-title-padding-top: 10px; --n-tabs-title-padding-bottom: 10px; --n-tabs-title-padding-left: 18px; --n-tabs-title-padding-right: 18px; --n-tabs-title-border-radius: 20px;
	--n-tabs-heading-gap: 4px; --n-tabs-title-gap: 12px; --n-tabs-gap: 0px; --n-tabs-border-width: 0px; }
.hj-tabs-groups { --n-tabs-title-background-color-active: #ECEDF8; --n-tabs-title-color-active: #2F3170; --n-tabs-title-color: #10155F; --n-tabs-title-font-size: 15.5px; --n-tabs-title-font-weight: 900; --n-tabs-title-border-radius: 16px; --n-tabs-title-padding-top: 12px; --n-tabs-title-padding-bottom: 12px; --n-tabs-title-padding-left: 14px; --n-tabs-title-padding-right: 14px; --n-tabs-gap: 24px; }
.hj-tabs .e-n-tab-title-text { font-family: Mulish, sans-serif; }
.elementor-location-header svg[width="38"] { flex: 0 0 auto; }
.hj-mainbar-c .hj-navc .elementor-nav-menu { flex-wrap: nowrap; }
.hj-mainbar-c .hj-navc .elementor-nav-menu > li > a { font-size: 14.5px; padding: 8px 10px !important; white-space: nowrap; }
@media (max-width: 1180px) { .hj-mainbar-c .hj-finder { display: none; } }
.hj-mainbar-c .hj-hide-xs { display: none; } .hj-mainbar-c .wrap.e-con { gap: 18px !important; }

/* ---------- Mobil/Tablet: Mega-Menü als Panel unter der Kopfleiste ---------- */
@media (max-width: 1024px) {
	.hj-mainbar.e-con { position: relative; }
	.hj-mainbar .hj-mega, .hj-mainbar .hj-mega > .elementor-widget-container, .hj-mainbar .hj-mega .e-n-menu, .hj-mainbar .wrap.e-con { position: static !important; }
	.hj-mega .e-n-menu-wrapper { position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: auto !important;
		background: #FFFFFF; box-shadow: 0 30px 60px -20px rgba(16,21,95,.35); border-top: 1px solid var(--hj-border);
		max-height: calc(100vh - var(--hj-header-h, 77px)); overflow-y: auto; z-index: 60; padding: 6px 16px 20px; box-sizing: border-box; }
	.hj-mega .e-n-menu-heading { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
	.hj-mega .e-n-menu-item { border-bottom: 1px solid #EEF0F5; width: 100%; }
	.hj-mega .e-n-menu-title { width: 100%; justify-content: space-between !important; padding: 14px 4px !important; }
	.hj-mega .e-n-menu-title-text, .hj-mega .e-n-menu-title-container { font-size: 16px; font-weight: 800; }
	.hj-mega .e-n-menu-content { position: static !important; width: auto !important; }
	.hj-mega .e-n-menu-content > .e-con { box-shadow: none !important; border: 0 !important; max-height: none !important; overflow: visible !important; border-radius: 0 !important; }
	/* Menü A mobil: nur Themenbereiche, ohne Unterseiten */
	.hj-mega-panel-a.e-con { padding: 4px 0 12px !important; gap: 14px !important; }
	.hj-mega-panel-a .hj-mm-grid7.e-con, .hj-mega-panel-a .hj-mm-grid5.e-con { gap: 6px 12px !important; }
	.hj-mm-grid7.e-con > .e-con, .hj-mm-grid5.e-con > .e-con { flex: 0 0 calc(50% - 6px) !important; gap: 2px !important; }
	.hj-mm-grid7 .ml, .hj-mm-grid5 .ml, .hj-mega-panel-a a[href]:not(.ml) + .elementor-widget .ml { display: none !important; }
	.hj-mega-panel-a .elementor-widget:has(.ml), .hj-mega-panel-a .elementor-widget:has(> .elementor-widget-container > a.ml) { display: none !important; }
	.hj-mega-panel-b.e-con { max-width: none !important; }
	.hj-mega-panel-b .hide-m { display: none !important; }
}

/* ---------- Mobil: Grafiken mit fester Höhe wachsen mit ---------- */
@media (max-width: 600px) {
	.hj-graphic > div[style*="height"]:not([style*="height: 620px"]) { height: auto !important; min-height: 0 !important; }
}
@media (max-width: 1024px) {
	.hj-mega .hj-mm-grid7.e-con.e-con > .e-con.e-con, .hj-mega .hj-mm-grid5.e-con.e-con > .e-con.e-con { flex: 0 0 calc(50% - 6px) !important; max-width: calc(50% - 6px) !important; }
	.hj-mega .hj-mm-grid7.e-con > .e-con > .elementor-widget:nth-child(n+3), .hj-mega .hj-mm-grid5.e-con > .e-con > .elementor-widget:nth-child(n+3) { display: none !important; }
	.hj-mega .hj-mm-grid7.e-con > .e-con:last-child { flex-basis: 100% !important; max-width: 100% !important; }
	.hj-mega .hj-mm-grid7 .elementor-widget:nth-child(2) a { font-size: 15px !important; line-height: 1.3 !important; }
}
@media (max-width: 1024px) {
	.hj-mega .e-n-menu-content, .hj-mega .e-n-menu-content > .e-con, .hj-mega-panel-a.e-con, .hj-mega-panel-a .e-con { max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
	.hj-mega-panel-a.e-con { width: 100% !important; }
	.hj-mega .hj-mm-grid7.e-con, .hj-mega .hj-mm-grid5.e-con { width: 100% !important; }
	.hj-mega .hj-mega-panel-a a, .hj-mega .hj-mega-panel-a span { white-space: normal !important; overflow-wrap: anywhere; }
	.hj-mega-panel-a > .e-con:first-child { flex-wrap: wrap !important; }
}
@media (max-width: 1024px) {
	.hj-mega .e-n-menu-item { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
	.hj-mega .e-n-menu-content, .hj-mega .e-n-menu-content > .e-con { --width: 100% !important; width: 100% !important; margin: 0 !important; left: auto !important; }
}
@media (max-width: 1024px) {
	.hj-tabs .e-n-tab-title { height: auto !important; min-height: 44px; }
	.hj-tab-pane .e-con > .e-con { flex: 1 1 140px !important; }
}
.hj-html button:not([data-hj-mount] button), .hj-txt button:not([data-hj-mount] button) { padding: 0 !important; min-width: 0; line-height: 1; }
.hj-html button svg { flex: 0 0 auto; }
@media (max-width: 1024px) {
	body.hj-rd .hj-mega .e-n-menu-wrapper { background: #FFFFFF !important; background-color: #FFFFFF !important; padding: 6px 16px 20px !important; }
	body.hj-rd .hj-mega .e-n-menu-toggle, body.hj-rd .hj-mega .e-n-menu-toggle:hover, body.hj-rd .hj-mega .e-n-menu-toggle:focus { background: transparent !important; border: 0 !important; padding: 6px !important; box-shadow: none !important; }
	body.hj-rd .hj-mega .e-n-menu-toggle svg, body.hj-rd .hj-mega .e-n-menu-toggle i { fill: var(--hj-navy) !important; color: var(--hj-navy) !important; width: 26px; height: 26px; }
	.hj-graphic > div[style*="height"]:not([style*="height: 620px"]) { height: auto !important; min-height: 0 !important; }
}

/* Grafiken: Zeilenhöhe wie im Entwurf (normal) und Höhe wächst mit dem Inhalt (auf allen Breiten). */
.hj-graphic > .elementor-widget-container > div, .hj-graphic > div { line-height: normal; }
.hj-graphic div[style*="height"]:not([style*="height: 620px"]):not([style*="border-radius: 50%"]):first-child { height: auto !important; min-height: 0 !important; }

/* ---------- Kacheln "Direkt zum Thema" (Leistungen) ---------- */
.elementor-widget.hj-tiles { display: block; width: 100%; }
div.hj-tiles:not(.elementor-widget) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hj-tile { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; border-radius: 16px; background: #FFFFFF; border: 1px solid #E6E9F0; text-decoration: none; color: #10155F !important; font-size: 14px; font-weight: 800; line-height: 1.25; text-align: left; box-sizing: border-box; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hj-tile:hover { border-color: #C9CFE0; box-shadow: 0 10px 24px -16px rgba(16,21,95,.35); transform: translateY(-1px); }
.hj-tile-ic { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; }
.hj-tile--cta { justify-content: center; background: #10155F; border-color: #10155F; color: #FFFFFF !important; font-weight: 900; }
.hj-tile--cta:hover { border-color: #10155F; }
.hj-tile > span:last-child { min-width: 0; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 480px) { .hj-tile { font-size: 13px; padding: 9px 10px; gap: 8px; } .hj-tile-ic { width: 26px; height: 26px; } }

/* ---------- Leistungskarte als Glas (gleitet mobil über das Sticky-Foto) ---------- */
/* Leistungskarten weiß (15.10.: umgekehrt, die Spalte dahinter blendet aus, siehe unten) */
body.hj-rd .hj-glass.e-con { background: #FFFFFF !important; }

/* ---------- Mobilmenü: Drill-down im Glas-Overlay (bis 1024 px) ---------- */
@media (max-width: 1024px) {
	.hj-mainbar .hj-mega, .hj-mainbar .hj-navc { display: none !important; }
}
.hj-mnav-host { flex: 0 0 auto; }
.hj-mnav-btn { position: relative; width: 44px; height: 44px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #F2F4F7 !important; cursor: pointer; display: grid; place-items: center; }
.hj-mnav-btn span { position: absolute; left: 13px; right: 13px; height: 2px; border-radius: 2px; background: #10155F; transition: transform .25s, opacity .2s; }
.hj-mnav-btn span:nth-child(1) { top: 15px; } .hj-mnav-btn span:nth-child(2) { top: 21px; } .hj-mnav-btn span:nth-child(3) { top: 27px; }
.hj-mnav-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hj-mnav-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hj-mnav-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.hj-mnav { position: fixed; left: 0; right: 0; bottom: 0; top: var(--hj-mnav-top, 77px); z-index: 9990; display: flex; flex-direction: column;
	background: rgba(247, 248, 251, .72); -webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
	border-top: 1px solid rgba(230, 233, 240, .9); font-family: Mulish, sans-serif; opacity: 0; transition: opacity .2s; }
.hj-mnav[hidden] { display: none; }
.hj-mnav.is-open { opacity: 1; }
/* Kein overflow:hidden am <html>: das hebt die klebende Kopfleiste auf (Logo verschwand beim Öffnen nach dem Scrollen).
   Das Overlay hält das Scrollen selbst fest, die Seite dahinter bleibt stehen. */
.hj-mnav, .hj-mnav-level, .hj-mnav-stage { overscroll-behavior: contain; }
html.hj-mnav-lock { scrollbar-gutter: stable; }
.hj-mnav-stage { position: relative; flex: 1 1 auto; overflow: hidden; }
.hj-mnav-level { position: absolute; inset: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 8px 20px 24px; box-sizing: border-box;
	transform: translateX(100%); transition: transform .32s cubic-bezier(.2,.7,.2,1), opacity .32s; opacity: 0; }
.hj-mnav-level:not(.is-active) { visibility: hidden; transition: transform .32s cubic-bezier(.2,.7,.2,1), opacity .32s, visibility 0s .32s; }
.hj-mnav-level.is-active { transform: none; opacity: 1; visibility: visible; }
.hj-mnav-level.is-past { transform: translateX(-28%); opacity: 0; }
.hj-mnav-body { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; }
.hj-mnav-head { max-width: 640px; margin: 0 auto 6px; }
.hj-mnav-back { all: unset; box-sizing: border-box; display: inline-flex !important; align-items: center; gap: 6px; height: 40px; padding: 0 14px 0 8px !important; margin-left: -6px; border-radius: 20px !important; color: #10155F !important; background: rgba(255,255,255,.7) !important; font: 800 14.5px Mulish, sans-serif !important; cursor: pointer; }
.hj-mnav-row { all: unset; box-sizing: border-box; display: flex !important; align-items: center; gap: 14px; width: 100%; padding: 12px 4px !important; border-bottom: 1px solid rgba(16,21,95,.08) !important; color: #10155F !important; text-decoration: none !important; cursor: pointer; font: 800 16px/1.3 Mulish, sans-serif !important; text-align: left; }
.hj-mnav-row > span:not(.hj-mnav-ic), .hj-mnav-txt { flex: 1 1 auto; min-width: 0; }
.hj-mnav-row--big { font-size: 22px !important; font-weight: 900 !important; letter-spacing: -.4px; padding: 16px 4px !important; }
.hj-mnav-row--small { border-bottom: 0 !important; font-size: 15px !important; color: #5A6275 !important; padding-top: 18px !important; }
.hj-mnav-row--link { font-size: 16.5px !important; padding: 15px 4px !important; }
.hj-mnav-chev { flex: 0 0 auto; color: #8A91A3; }
.hj-mnav-row:active, .hj-mnav-row:hover { background: rgba(255,255,255,.55) !important; }
.hj-mnav-ic { flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; box-shadow: 0 6px 14px -8px rgba(16,21,95,.5); }
.hj-mnav-t { display: block; font-size: 16px; font-weight: 900; }
.hj-mnav-s { display: block; font-size: 12.5px; font-weight: 700; color: #8A91A3; margin-top: 1px; }
.hj-mnav-title { font-size: 26px; font-weight: 900; letter-spacing: -.6px; color: #10155F; line-height: 1.15; }
.hj-mnav-sub { font-size: 14px; font-weight: 700; color: #8A91A3; margin-top: 4px; }
.hj-mnav-eyebrow { font-size: 11.5px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: #8A91A3; }
.hj-mnav-group { margin-top: 18px; }
.hj-mnav-group .hj-mnav-eyebrow { margin-bottom: 2px; }
.hj-mnav-all { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.85); border: 1px solid #E6E9F0; color: #10155F !important; font-size: 15px; font-weight: 900; text-decoration: none !important; }
.hj-mnav-all span { color: #15779B; }
.hj-mnav-hero { display: flex; align-items: center; gap: 14px; margin-top: 4px; }
.hj-mnav-hero .hj-mnav-ic { border-radius: 15px; }
.hj-mnav-hero .hj-mnav-eyebrow { margin-bottom: 4px; }
.hj-mnav-more { display: inline-block; margin-top: 14px; font-size: 15px; font-weight: 900; text-decoration: none !important; }
.hj-mnav-foot { flex: 0 0 auto; padding: 12px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(16,21,95,.08); background: rgba(255,255,255,.55); }
.hj-mnav-cta { max-width: 640px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 14px 14px 18px; border-radius: 22px; background: linear-gradient(135deg, #10155F, #2F3C99 70%, #2E7299); color: #FFFFFF !important; text-decoration: none !important; box-shadow: 0 16px 34px -18px rgba(16,21,95,.6); }
.hj-mnav-cta-eye { display: block; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: #9EE3F1; }
.hj-mnav-cta-t { display: block; font-size: 17px; font-weight: 900; line-height: 1.2; margin-top: 2px; }
.hj-mnav-cta-btn { flex: 0 0 auto; display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 22px; background: #FFFFFF; color: #10155F; font-size: 14.5px; font-weight: 900; white-space: nowrap; }
@media (max-width: 360px) { .hj-mnav-cta { flex-direction: column; align-items: stretch; text-align: left; } .hj-mnav-cta-btn { justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .hj-mnav-level, .hj-mnav { transition: none; } }
/* Kit-Buttonstile im Mobilmenü neutralisieren */
body .hj-mnav button.hj-mnav-row, body .hj-mnav button.hj-mnav-row:hover, body .hj-mnav button.hj-mnav-row:focus,
body .hj-mnav button.hj-mnav-back, body .hj-mnav button.hj-mnav-back:hover, body .hj-mnav button.hj-mnav-back:focus {
	background: transparent !important; background-image: none !important; color: #10155F !important; border-radius: 0 !important; box-shadow: none !important;
	text-transform: none !important; min-height: 0 !important; height: auto !important; width: 100% !important; justify-content: flex-start !important; outline-offset: -2px; }
body .hj-mnav button.hj-mnav-row:active { background: rgba(255,255,255,.55) !important; }
body .hj-mnav button.hj-mnav-back, body .hj-mnav button.hj-mnav-back:hover, body .hj-mnav button.hj-mnav-back:focus { width: auto !important; height: 40px !important; border-radius: 20px !important; background: rgba(255,255,255,.75) !important; padding: 0 14px 0 8px !important; }
body .hj-mnav .hj-mnav-row span { color: inherit; }
body .hj-mnav .hj-mnav-row .hj-mnav-s { color: #8A91A3; }
body .hj-mnav-host button.hj-mnav-btn, body .hj-mnav-host button.hj-mnav-btn:hover, body .hj-mnav-host button.hj-mnav-btn:focus { width: 44px !important; height: 44px !important; min-width: 44px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #F2F4F7 !important; box-shadow: none !important; }
.hj-mainbar .e-con:has(> .hj-mnav-host) { flex-wrap: nowrap !important; gap: 8px !important; }
.hj-mainbar .hj-mnav-host > .elementor-widget-container { display: flex; }

/* ---------- Ratgeber: Inhaltsverzeichnis klebt unter Kopf und Abschnittsleiste ---------- */
.hj-toc.e-con { position: sticky !important; top: calc(var(--hj-header-h, 77px) + 84px) !important; align-self: flex-start; z-index: 2; }
.admin-bar .hj-toc.e-con { top: calc(var(--hj-header-h, 77px) + 116px) !important; }
.hj-toc a.is-active, .hj-toc .is-active a { color: var(--ink) !important; }
@media (max-width: 1024px) { .hj-toc.e-con { position: static !important; } }

/* ---------- Logo (final, Entwurf F): Wortmarke + Helix-Wegline ---------- */
.hj-logo { display: inline-flex; flex-direction: column; text-decoration: none !important; line-height: 1; flex: 0 0 auto; }
.hj-logo-wm { letter-spacing: -.035em; line-height: 1; white-space: nowrap; font-family: Mulish, sans-serif; color: inherit; }
.hj-logo-wm b { font-weight: 900; } .hj-logo-wm i { font-style: normal; font-weight: 300; }
.hj-logo-line { display: block; width: 0; min-width: 100%; height: auto; aspect-ratio: 300 / 36; margin-top: .12em; overflow: visible; }
@media (max-width: 480px) { .hj-logo-hdr .hj-logo { font-size: 22px !important; } }
.hj-logo-host > .elementor-widget-container { display: flex; }
.hj-footer .hj-logo { font-size: 26px !important; }

/* ---------- Interne Verlinkung (Fließtext, Weiterlesen) und App-Box ---------- */
body.hj-rd a.hj-inlink { color: var(--ink, #15779B) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: inherit; }
body.hj-rd a.hj-inlink:hover { text-decoration-thickness: 2px; }
.hj-appbox { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 22px; background: linear-gradient(135deg, #10155F, #2F3C99 75%, #2E7299); color: #FFFFFF !important; text-decoration: none !important; box-shadow: 0 18px 40px -24px rgba(16,21,95,.6); }
.hj-appbox-ic { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; background: rgba(255,255,255,.14); display: grid; place-items: center; }
.hj-appbox-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hj-appbox-eye { font-size: 11.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: #9EE3F1; }
.hj-appbox-t { font-size: 16px; line-height: 1.45; font-weight: 800; }
.hj-appbox-go { flex: 0 0 auto; font-size: 14px; font-weight: 900; white-space: nowrap; padding: 10px 16px; border-radius: 20px; background: #FFFFFF; color: #10155F; }
@media (max-width: 600px) { .hj-appbox { flex-wrap: wrap; } .hj-appbox-go { margin-left: 62px; } }
.hj-rel-in { display: flex; flex-direction: column; gap: 18px; }
.hj-rel-title { margin: 0 0 4px; font: 900 32px/1.1 Mulish, sans-serif; letter-spacing: -.8px; color: #10155F; }
.hj-rel-row { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 10px 24px; align-items: start; padding-top: 16px; border-top: 1px solid #E6E9F0; }
.hj-rel-h { font-size: 12.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: #8A91A3; padding-top: 9px; }
.hj-rel-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hj-chip-link { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 14px; border: 1px solid #E6E9F0; background: #FFFFFF; color: #10155F !important; font-size: 14px; font-weight: 800; text-decoration: none !important; line-height: 1.3; }
.hj-chip-link:hover { border-color: #C9CFE0; }
@media (max-width: 700px) { .hj-rel-row { grid-template-columns: minmax(0, 1fr); } .hj-rel-h { padding-top: 0; } }

/* Werbe-LP: A/B-Hero liegt im HTML-Widget, dort soll die Kit-Überschriftenfarbe nicht greifen */
body.hj-rd .hj-ab-host h1, body.hj-rd .hj-ab-host p, body.hj-rd .hj-ab-host li, body.hj-rd .hj-ab-host span { color: inherit; }
body.hj-rd .hj-ab-host h1 { color: #FFFFFF !important; font-family: Mulish, sans-serif; }
@media (max-width: 820px) { body.hj-rd .hj-ab-host h1 { font-size: 40px !important; letter-spacing: -1.2px !important; } }

/* Mobilmenü: Memberbereich als eigene Karte */
.hj-mnav-member { display: flex; align-items: center; gap: 14px; margin-top: 22px; padding: 14px 14px 14px 16px; border-radius: 20px; background: rgba(255,255,255,.88); border: 1px solid #E6E9F0; box-shadow: 0 12px 30px -20px rgba(16,21,95,.45); text-decoration: none !important; color: #10155F !important; }
.hj-mnav-member-ic { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, #62C3DC, #2F3C99); display: grid; place-items: center; }
.hj-mnav-member-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.hj-mnav-member-t { font: 900 17px/1.2 Mulish, sans-serif; color: #10155F; }
.hj-mnav-member-s { font: 700 12.5px/1.35 Mulish, sans-serif; color: #5A6275; }
.hj-mnav-member-go { flex: 0 0 auto; height: 38px; padding: 0 14px; border-radius: 19px; border: 1.5px solid #10155F; display: inline-flex; align-items: center; font: 900 13.5px Mulish, sans-serif; color: #10155F; }
@media (max-width: 360px) { .hj-mnav-member-s { display: none; } }

/* Weiterlesen: Erstgespräch-Chip ist dunkel, Schrift weiß */
body.hj-rd .hj-chip-link.cta-button { color: #FFFFFF !important; }

/* ---------- WAC Reviews in Health-Journey-Optik (nur Variablen, Plugin-Kern unverändert) ---------- */
body.hj-rd .wac-reviews, body.hj-rd .wac-reviews--light, body.hj-rd .wac-reviews--dark {
	--wac-bg: transparent; --wac-card-bg: #FFFFFF; --wac-fg: #1C2033; --wac-muted: #5A6275; --wac-line: #E6E9F0;
	--wac-link: #15779B; --wac-star: #F5A623; --wac-radius: 22px; --wac-cyan: #15779B; --wac-violet: #2F3C99; --wac-night: #10155F;
	font-family: Mulish, sans-serif; padding-left: 0; padding-right: 0;
}

/* ---------- Bewertungen wie auf web-agentur.cloud (Kopf links, Wischleiste rechts, gleich hohe Karten,
   Text scrollt ab acht Zeilen in der Karte; nichts wird gekürzt). Übertragen aus dem Child-Theme der
   WAC-Homepage (entwurf.css, .wac-bewertungen--kopf), Farben für Health Journey hell. ---------- */
.hj-bewertungen .wac-reviews { --wac-gap: clamp(14px, 1.6vw, 20px); padding: 0; border-radius: 0; }
.hj-bewertungen .wac-reviews__card { padding: clamp(22px, 2.4vw, 28px); border: 1px solid var(--wac-line); gap: 14px; box-shadow: 0 12px 30px -24px rgba(16,21,95,.35); }
.hj-bewertungen .wac-reviews__card-head, .hj-bewertungen .wac-reviews__card > .wac-reviews__stars { margin: 0; }
.hj-bewertungen .wac-reviews__avatar { width: 44px; height: 44px; background: none; }
.hj-bewertungen .wac-reviews__avatar--initials { background: linear-gradient(135deg, #62C3DC, #2F3C99); border-radius: 50%; }
.hj-bewertungen .wac-reviews__date { display: none; }
.hj-bewertungen .wac-reviews__text { font-size: 15px; line-height: 1.8; color: #1C2033; hyphens: manual; -webkit-hyphens: manual; }
.hj-bewertungen .wac-reviews__name { font-family: Mulish, sans-serif; font-weight: 800; font-size: 15px; color: #10155F; }
.hj-bewertungen--kopf .wac-reviews { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(24px, 3vw, 56px); }
.hj-bewertungen--kopf .wac-reviews__header { flex: 0 1 300px; min-width: 240px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.hj-bewertungen--kopf .wac-reviews__track { flex: 1 1 700px; min-width: 0; }
.hj-bewertungen--kopf .wac-reviews__header { flex-basis: 260px; }
.hj-bewertungen--kopf .wac-reviews--slider .wac-reviews__track { grid-auto-columns: calc((100% - 2 * var(--wac-gap)) / 3); align-items: stretch; scroll-padding: 0; scrollbar-width: thin; scrollbar-color: rgba(16,21,95,.25) transparent; padding-bottom: 10px; }
@media (max-width: 1024px) { .hj-bewertungen--kopf .wac-reviews--slider .wac-reviews__track { grid-auto-columns: calc((100% - var(--wac-gap)) / 2); } }
@media (max-width: 600px) { .hj-bewertungen--kopf .wac-reviews--slider .wac-reviews__track { grid-auto-columns: 86%; } }
.hj-bewertungen--kopf .wac-reviews__text { max-height: calc(1.8em * 8); overflow-y: auto; padding-right: 6px; scrollbar-width: thin; scrollbar-color: rgba(16,21,95,.25) transparent; }
.hj-bewertungen--kopf .wac-reviews__headline { margin: 0; font: 900 clamp(24px, 2.2vw, 32px)/1.1 Mulish, sans-serif; letter-spacing: .06em; background: none; -webkit-text-fill-color: currentColor; color: #10155F; }
.hj-bewertungen--kopf .wac-reviews__header .wac-reviews__stars { margin: 0; gap: 4px; }
.hj-bewertungen--kopf .wac-reviews__stars--lg .wac-reviews__star { width: 28px; height: 28px; }
.hj-bewertungen--kopf .wac-reviews__summary { margin: 0; font-size: 17px; line-height: 1.6; color: #5A6275; }
.hj-bewertungen--kopf .wac-reviews__average { display: none; }
.hj-bewertungen--kopf .wac-reviews__source { font-size: 14px; }
.hj-bewertungen--kopf .wac-reviews__header .wac-reviews__source-mark svg { width: 20px; height: 20px; }
body.hj-rd .hj-bewertungen .wac-reviews img { border-radius: 50%; }

/* ---------- Leistungen: Themenabschnitte ---------- */
/* Ungerade Kartenzahl im Zweierraster: die letzte Karte über die volle Breite (wie Haut & Haare) */
@media (min-width: 1025px) {
	.hj-loop.elementor-grid-2 .elementor-loop-container > .e-loop-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Kartenreihe unten (App, Masterclass, Für Unternehmen): gleich hoch */
.hj-eq.e-con { align-items: stretch !important; }
.hj-eq.e-con > .e-con { height: auto !important; align-self: stretch !important; }
/* Handy und Tablet: Die Karten sind weiß, die klebende Spalte dahinter wird beim Darüberscrollen unscharf und blendet aus */
@keyframes hj-grp-fade { from { filter: blur(0); opacity: 1; } to { filter: blur(12px); opacity: .12; } }
/* Unschärfe setzt hj-redesign.js nach der tatsächlichen Überdeckung durch die Karten (vorher: ganze Gruppe als Zeitleiste, zu früh) */
@media (max-width: 1024px) { .hj-grp-sticky.e-con { will-change: filter, opacity; } }
.hj-eq.e-con > .elementor-widget, .hj-eq .elementor-widget-container, .hj-eq .elementor-button-wrapper { height: 100%; }
.hj-eq .elementor-button { height: 100% !important; box-sizing: border-box; display: flex !important; align-items: center; }
.hj-eq .elementor-button-content-wrapper { width: 100%; }

/* Blog: Beitragsbild in Karte und Beitrag, Filter-Chips, Suche */
.hj-blogcard-media .elementor-widget-shortcode, .hj-blogcard-media .elementor-shortcode { position: absolute; inset: 0; }
.hj-blogcard-media img.hj-beitragsbild { width: 100%; height: 100%; object-fit: cover; display: block; }
.hj-post-hero img.hj-beitragsbild { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: 26px; display: block; }
.hj-post-hero .elementor-shortcode:empty { display: none; }
.hj-blogchips { display: flex; flex-wrap: wrap; gap: 8px; }
body .hj-blogchips .hj-blogchip { font: inherit; font-size: 14px; font-weight: 800; padding: 10px 16px; border-radius: 20px; border: 1px solid #E6E9F0; background: #FFFFFF; color: #10155F; cursor: pointer; transition: background .15s, color .15s; }
body .hj-blogchips .hj-blogchip:hover { background: #F2F4F7; color: #10155F; }
body .hj-blogchips .hj-blogchip.is-active, body .hj-blogchips .hj-blogchip.is-active:hover { background: #10155F; border-color: #10155F; color: #FFFFFF; }
.hj-blogleer { margin: 12px 0 0; font-size: 15px; color: #5A6275; }
.hj-blogsuche { height: 56px; border-radius: 28px; }
.hj-bloglist .elementor-pagination { display: none; }

/* Seiten ohne Elementor: Rechtstexte (wie web-agentur.cloud) und FAQ */
body.hj-plain main#content.site-main { max-width: none; width: 100%; padding: 0; margin: 0; }
body.hj-plain .page-content { margin: 0; }
.hj-plain-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.hj-plain-head { background: #F7F8FB; border-bottom: 1px solid #EEF1F6; }
.hj-plain-head .hj-plain-wrap { display: flex; flex-direction: column; gap: 14px; padding-top: 56px; padding-bottom: 48px; }
.hj-plain-crumbs { display: flex; gap: 8px; font-size: 13.5px; font-weight: 700; color: #8A91A3; }
.hj-plain-crumbs a { color: #8A91A3; text-decoration: none; }
.hj-plain-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #15779B; }
.hj-plain-h1 { margin: 0; font-size: 56px; line-height: 1.05; font-weight: 900; letter-spacing: -1.8px; color: #10155F; }
.hj-plain-lead { margin: 0; font-size: 18px; line-height: 1.6; color: #5A6275; max-width: 640px; }
.hj-plain-body .hj-plain-wrap { padding-top: 56px; padding-bottom: 96px; }
.hj-plain-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; align-items: start; }
.hj-plain-narrow { max-width: 868px; }
.hj-plain-toc { position: sticky; top: 110px; }
.hj-plain-toc-in { display: flex; flex-direction: column; gap: 2px; max-height: calc(100vh - 140px); overflow: auto; padding: 18px; border: 1px solid #E6E9F0; border-radius: 22px; background: #FFFFFF; }
.hj-plain-toc-t { font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: #8A91A3; margin: 0 0 8px 8px; }
.hj-plain-toc a { display: flex; gap: 10px; padding: 8px 10px; border-radius: 12px; font-size: 14px; line-height: 1.35; font-weight: 700; color: #3B4256; text-decoration: none; }
.hj-plain-toc a:hover, .hj-plain-toc a.is-active { background: #F2F4F7; color: #10155F; }
.hj-plain-num { flex: 0 0 auto; min-width: 22px; font-weight: 900; color: #15779B; }
.hj-plain-toc a.hj-plain-toc-cta { margin-top: 12px; justify-content: center; padding: 12px 16px; border-radius: 22px; background: #10155F; color: #FFFFFF; font-weight: 900; }
.hj-plain-toc a.hj-plain-toc-cta:hover { background: #1C2380; color: #FFFFFF; }
.hj-plain-main { min-width: 0; max-width: 820px; font-size: 16.5px; line-height: 1.7; color: #3B4256; }
.hj-plain-legal h2 { scroll-margin-top: 110px; margin: 44px 0 14px; font-size: 26px; line-height: 1.2; font-weight: 900; letter-spacing: -.5px; color: #10155F; }
.hj-plain-legal h2:first-child, .hj-plain-legal .hj-org-legal__body > h2:first-child { margin-top: 0; }
.hj-plain-legal h3 { scroll-margin-top: 110px; margin: 28px 0 10px; font-size: 19px; font-weight: 900; color: #10155F; }
.hj-plain-legal p, .hj-plain-legal li { margin: 0 0 12px; }
.hj-plain-legal a { color: #15779B; }
.hj-org-legal__impressum { display: flex; flex-direction: column; gap: 4px; padding: 28px; border: 1px solid #E6E9F0; border-radius: 22px; }
.hj-org-legal__name { font-size: 22px; font-weight: 900; color: #10155F; }
.hj-plain-more { margin-top: 48px; padding: 24px; border-radius: 22px; background: #F7F8FB; }
.hj-plain-more .hj-plain-toc-t { margin-left: 0; }
.hj-plain-more-links { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.hj-plain-more-links a { font-size: 15px; font-weight: 800; color: #15779B; text-decoration: none; }
/* FAQ */
.hj-plain-faq .hj-faq { display: flex; flex-direction: column; gap: 48px; }
.hj-plain-faq .hj-faq__group { scroll-margin-top: 110px; display: flex; flex-direction: column; gap: 10px; }
.hj-plain-faq .hj-faq__group-title { margin: 0 0 8px; font-size: 30px; line-height: 1.15; font-weight: 900; letter-spacing: -.8px; color: #10155F; }
.hj-plain-faq .hj-faq__item { border: 1px solid #E6E9F0; border-radius: 20px; background: #FFFFFF; padding: 0; transition: border-color .15s, background .15s; }
.hj-plain-faq .hj-faq__item[open] { background: #F7F8FB; border-color: #D5DAE6; }
.hj-plain-faq .hj-faq__question { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; font-size: 17px; line-height: 1.4; font-weight: 800; color: #10155F; }
.hj-plain-faq .hj-faq__question::-webkit-details-marker { display: none; }
.hj-plain-faq .hj-faq__question::after { content: "+"; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #F2F4F7; color: #15779B; font-size: 20px; font-weight: 700; transition: transform .2s; }
.hj-plain-faq .hj-faq__item[open] > .hj-faq__question::after { transform: rotate(45deg); background: #FFFFFF; }
.hj-plain-faq .hj-faq__answer { padding: 0 24px 22px; font-size: 16px; line-height: 1.7; color: #3B4256; }
.hj-plain-faq .hj-faq__answer p { margin: 0 0 10px; }
@media (max-width: 1024px) {
	.hj-plain-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.hj-plain-toc { position: static; }
	.hj-plain-toc-in { max-height: none; }
	.hj-plain-faq .hj-plain-toc-in { flex-direction: row; flex-wrap: wrap; gap: 6px; padding: 0; border: 0; }
	.hj-plain-faq .hj-plain-toc-t { display: none; }
	.hj-plain-faq .hj-plain-toc a { border: 1px solid #E6E9F0; border-radius: 20px; }
	.hj-plain-faq .hj-plain-toc a.hj-plain-toc-cta { margin-top: 0; }
}
@media (max-width: 767px) {
	.hj-plain-wrap { padding: 0 16px; }
	.hj-plain-h1 { font-size: 38px; letter-spacing: -1px; }
	.hj-plain-body .hj-plain-wrap { padding-top: 32px; padding-bottom: 64px; }
}
body.hj-plain-faq .hj-faq__item .hj-faq__question { padding-right: 24px; }
body.hj-plain-faq .hj-faq__item .hj-faq__question::after { content: "+"; position: static; }
body.hj-plain-faq .hj-faq__item[open] > .hj-faq__question::after { content: "+"; }
body.hj-plain .hj-plain-toc a { color: #3B4256; }
body.hj-plain .hj-plain-toc a:hover, body.hj-plain .hj-plain-toc a.is-active { color: #10155F; }
body.hj-plain .hj-plain-toc a.hj-plain-toc-cta, body.hj-plain .hj-plain-toc a.hj-plain-toc-cta:hover { color: #FFFFFF; }

/* „Anrufen“-Knopf auf dunklem Grund: ruhiger Hover statt voller Farbfläche (Wunsch Severin 15.10.) */
body .elementor-widget-button a.elementor-button[href^="tel:"] { transition: background-color .2s, border-color .2s, transform .2s; }
body .elementor-widget-button a.elementor-button[href^="tel:"]:hover, body .elementor-widget-button a.elementor-button[href^="tel:"]:focus-visible { background-color: rgba(255,255,255,.12) !important; border-color: #FFFFFF !important; color: #FFFFFF !important; transform: translateY(-1px); }

/* Bewertungsseite: Raster als Mauerwerk (Spalten), damit lange Bewertungen keine leeren Zeilen erzeugen */
.hj-bewertungen--raster .wac-reviews__track { display: block !important; columns: 3 300px; column-gap: 20px; }
.hj-bewertungen--raster .wac-reviews__item { break-inside: avoid; margin: 0 0 20px; display: block; }
.hj-bewertungen--raster .wac-reviews__card { height: auto !important; }

/* FAQ-Seite: Plus-Symbol unabhängig vom Flex-Layout von <summary> (Safari setzt display:flex auf summary nicht zuverlässig um) */
body.hj-plain-faq .hj-faq__item .hj-faq__question { position: relative; display: block; padding: 20px 68px 20px 24px; }
body.hj-plain-faq .hj-faq__item .hj-faq__question::after { position: absolute; right: 20px; top: 50%; left: auto; margin: 0; transform: translateY(-50%); }
body.hj-plain-faq .hj-faq__item[open] > .hj-faq__question::after { transform: translateY(-50%) rotate(45deg); }
@media (max-width: 767px) { body.hj-plain-faq .hj-faq__item .hj-faq__question { padding: 18px 60px 18px 20px; } body.hj-plain-faq .hj-faq__item .hj-faq__question::after { right: 16px; } }

/* FAQ-Themen als Chips (Tablet/Mobil): echte Pillenform, kräftigerer Rand, kein lückenhafter 1px-Rand auf Retina */
@media (max-width: 1024px) {
	body.hj-plain-faq .hj-plain-toc-in { gap: 8px; }
	body.hj-plain-faq .hj-plain-toc a { align-items: center; padding: 9px 16px; border: 1.5px solid #D5DAE6; border-radius: 999px; background: #FFFFFF; line-height: 1.3; }
	body.hj-plain-faq .hj-plain-toc a:hover, body.hj-plain-faq .hj-plain-toc a.is-active { background: #F2F4F7; border-color: #C3CADB; }
	body.hj-plain-faq .hj-plain-toc a.hj-plain-toc-cta { border-color: #10155F; background: #10155F; }
}
@media (max-width: 1024px) { body.hj-plain .hj-plain-toc-in { overflow: visible; } }
/* FAQ-Chips alle gleich hoch: feste Höhe, Text mittig, Reihe nicht strecken (Wunsch Severin 15.10.) */
@media (max-width: 1024px) {
	body.hj-plain-faq .hj-plain-toc-in { align-items: center; }
	body.hj-plain-faq .hj-plain-toc a, body.hj-plain-faq .hj-plain-toc a.hj-plain-toc-cta { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 42px; margin: 0; padding: 0 16px; white-space: nowrap; }
}

/* Dunkle Chips („Alles zu …“, Erstgespräch): Schrift weiß, auch gegen die allgemeine Chip-Farbe */
body .hj-chip-link.hj-chip-link--strong, body .hj-chip-link.hj-chip-link--strong:hover, body .hj-chip-link.cta-button, body .hj-chip-link.cta-button:hover { color: #FFFFFF !important; background: #10155F; border-color: #10155F; }
body .hj-chip-link.hj-chip-link--strong:hover, body .hj-chip-link.cta-button:hover { background: #1C2380; border-color: #1C2380; }

/* FAQ-Akkordeon: Antwort weich einblenden statt Höhen-Animation (Wunsch Severin 15.10.: „springt und stottert“) */
.hj-acc .e-n-accordion-item[open] > .e-con { animation: hj-acc-in .28s ease-out both; }
@keyframes hj-acc-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.hj-acc .e-n-accordion-item-title-icon > span { transition: transform .2s ease; }
@media (prefers-reduced-motion: reduce) { .hj-acc .e-n-accordion-item[open] > .e-con { animation: none; } }

/* Begriffs-Links im Fließtext und Kasten „Passende Leistung“ unter Blogbeiträgen (Analyse 15.10.) */
.hj-plain-lead a { color: #15779B; font-weight: 700; }
.hj-passend { display: flex; flex-direction: column; gap: 10px; padding: 26px 28px; border-radius: 22px; background: linear-gradient(135deg, #10155F, #17657E); color: #FFFFFF; }
.hj-passend-eye { font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.hj-passend-t { font-size: 24px; font-weight: 900; letter-spacing: -.4px; }
.hj-passend-p { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.88); }
.hj-passend-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
body .hj-passend a.hj-passend-btn { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 23px; background: #FFFFFF; color: #10155F !important; font-weight: 900; text-decoration: none; }
body .hj-passend a.hj-passend-btn--alt { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #FFFFFF !important; }
body .hj-passend a.hj-passend-btn--alt:hover { background: rgba(255,255,255,.12); }

/* Blog-Teaser: 4 Beiträge laden, auf dem Tablet (2 Spalten) alle 4 zeigen, sonst 3 (Wunsch Severin 15.10.) */
.hj-loop-4 .e-loop-item:nth-of-type(n+4) { display: none; }
@media (min-width: 768px) and (max-width: 1024px) { .hj-loop-4 .e-loop-item:nth-of-type(4) { display: block; } }

/* Preiszeile der Angebotskarten: Zusatz („Preis im Erstgespräch“, „einmalig …“) bricht als Ganzes in die nächste Zeile statt mittendrin (Tablet) */
*:has(> span > .hj-price-ask) { flex-wrap: wrap; row-gap: 2px; }
*:has(> span > .hj-price-ask) > span + span { white-space: nowrap; }

/* Themen-Chips als Links erkennbar: kleiner Pfeil, der beim Darüberfahren nach rechts rutscht (Wunsch Severin 15.10.) */
.hj-subchip:not(.hj-subchip--more), .hj-chip-link:not(.hj-chip-link--strong):not(.cta-button) { display: inline-flex; align-items: center; gap: 6px; transition: background-color .15s, box-shadow .15s; }
.hj-subchip:not(.hj-subchip--more)::after, .hj-chip-link:not(.hj-chip-link--strong):not(.cta-button)::after {
	content: ""; flex: 0 0 auto; width: 13px; height: 13px; background: currentColor; opacity: .55; transition: transform .18s ease, opacity .18s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hj-subchip:not(.hj-subchip--more):hover { box-shadow: inset 0 0 0 1px var(--c2, #C9CFE0); }
.hj-subchip:not(.hj-subchip--more):hover::after, .hj-chip-link:not(.hj-chip-link--strong):not(.cta-button):hover::after { transform: translateX(3px); opacity: 1; }
@media (prefers-reduced-motion: reduce) { .hj-subchip::after, .hj-chip-link::after { transition: none; } }

/* Mobilmenü, Leistungen: „Mehr“ klappt alle Leistungen eines Bereichs auf */
.hj-mnav-item { border-bottom: 1px solid rgba(16,21,95,.08); }
.hj-mnav-item > .hj-mnav-row { border-bottom: 0 !important; padding-bottom: 6px !important; }
.hj-mnav-moretgl { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px 60px; padding: 5px 12px; border-radius: 14px; background: rgba(16,21,95,.06); color: #15779B; font: 800 13px/1.2 Mulish, sans-serif; cursor: pointer; }
.hj-mnav-moretgl:hover, .hj-mnav-moretgl:focus-visible { background: rgba(16,21,95,.1); }
.hj-mnav-moretgl:focus-visible { outline: 2px solid #15779B; outline-offset: 2px; }
.hj-mnav-moreic { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.hj-mnav-moretgl[aria-expanded="true"] .hj-mnav-moreic { transform: translateY(2px) rotate(-135deg); }
.hj-mnav-morelist { display: flex; flex-direction: column; margin: 0 0 14px 60px; padding-left: 12px; border-left: 2px solid rgba(16,21,95,.1); }
.hj-mnav-morelist[hidden] { display: none; }
.hj-mnav-morelink { display: block; padding: 8px 0; color: #10155F !important; font: 700 15px/1.35 Mulish, sans-serif; text-decoration: none !important; }
.hj-mnav-morelink--hub { color: #15779B !important; font-weight: 800; }
body button.hj-mnav-moretgl, body button.hj-mnav-moretgl:hover, body button.hj-mnav-moretgl:focus { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 0 12px 60px !important; padding: 5px 12px !important; border: 0 !important; border-radius: 14px !important; background: rgba(16,21,95,.06) !important; color: #15779B !important; font: 800 13px/1.2 Mulish, sans-serif !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
body button.hj-mnav-moretgl:hover { background: rgba(16,21,95,.1) !important; }

/* Karten in Reihen gleich hoch (Wunsch Severin 15.10.): Textblock-Karten füllen die gestreckte Rasterzelle.
   In Spalten-Containern ist der Block ohnehin so hoch wie sein Inhalt, dort ändert sich nichts. */
.e-con > .elementor-widget.hj-txt { display: flex; flex-direction: column; }
.e-con > .elementor-widget.hj-txt > div:only-child, .e-con > .elementor-widget.hj-txt > .elementor-widget-container:only-child,
.e-con > .elementor-widget.hj-txt > .elementor-widget-container > div:only-child { flex: 1 1 auto; box-sizing: border-box; }
.e-con > .elementor-widget.hj-txt > .elementor-widget-container { display: flex; flex-direction: column; }

/* KI-Bilder (15.10.): Bild füllt den bisherigen Platzhalter-Kasten; Verläufe und Texte darüber bleiben lesbar */
.elementor-widget.hj-photo-fill { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; z-index: 0; }
.hj-photo-fill img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hj-photo-hero img, .hj-grp-photo img, .hj-b2b-photo img, .hj-b2b-photo2 img { max-width: 100%; }
@media (max-width: 767px) { .hj-b2b-card { margin-top: -60px !important; max-width: 92% !important; } }
.elementor-widget.hj-photo-fill > div, .elementor-widget.hj-photo-fill .elementor-widget-container { height: 100%; }
/* Verlauf von unten, damit die weiße Schrift der Kachel auf dem Foto lesbar bleibt */
.elementor-widget.hj-photo-fill::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,14,38,.10) 0%, rgba(11,14,38,.15) 35%, rgba(11,14,38,.82) 100%); }

/* App-Seite: Paket-Tabelle (Nur Diagnostik / Coaching / App-Abo), auf dem Handy waagrecht scrollbar */
.hj-pk-host { overflow-x: auto; border-radius: 28px; border: 1px solid #E6E9F0; background: #FFFFFF; }
.hj-pk { min-width: 640px; }
.hj-pk-row { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, 150px); align-items: center; gap: 8px; padding: 14px 24px; border-top: 1px solid #EEF0F5; font-size: 15px; color: #3B4256; }
.hj-pk-row > span:not(.hj-pk-f), .hj-pk-row > a { justify-self: center; text-align: center; }
.hj-pk-head { border-top: 0; background: #F7F8FB; padding-top: 20px; padding-bottom: 20px; font-weight: 900; color: #10155F; font-size: 16px; }
.hj-pk-head .hj-pk-f { font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: #8A91A3; }
.hj-pk-head em { display: block; margin: 0 auto 6px; width: max-content; font-style: normal; font-size: 11.5px; font-weight: 900; padding: 3px 8px; border-radius: 8px; background: #E7F7E9; color: #1F6B3A; }
.hj-pk-f { font-weight: 700; color: #10155F; }
.hj-pk-y { font-size: 18px; font-weight: 900; color: #2E8B57; }
.hj-pk-n { font-size: 26px; line-height: 1; color: #C3C8D4; }
.hj-pk-cta a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 20px; border: 1px solid #D5DAE6; color: #10155F !important; font-size: 14px; font-weight: 900; text-decoration: none !important; }
.hj-pk-cta a:hover { background: #F2F4F7; }

/* Fallbeispiele: solange kein Fall freigegeben ist (mit Einwilligung), Abschnitte mit Fall-Loops und Links darauf ausblenden */
body.hj-faelle-leer .e-con.e-parent:has(.hj-faelle-loop), body.hj-faelle-leer section:has(.hj-faelle-loop),
body.hj-faelle-leer a[href$="/fallbeispiele/"], body.hj-faelle-leer .hj-faelle-only { display: none !important; }
body:not(.hj-faelle-leer) .hj-faelle-hinweis { display: none !important; }
.hj-fall-bild-host, .hj-fall-bild-host .elementor-shortcode { position: absolute; inset: 0; }
.hj-fall-portrait { width: 100%; height: 100%; object-fit: cover; display: block; }
.hj-fall-ini { position: absolute; left: 18px; bottom: 14px; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.22); color: #FFFFFF; font-weight: 900; font-size: 18px; }
.hj-fall-thema { position: absolute; left: 18px; bottom: 14px; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.92); }

/* App-Grafiken in den dunklen Karten (Startseite): feste 360 px ragten über den Kartenrand, jetzt höchstens Kartenbreite */
.hj-graphic { max-width: 100%; }
.hj-graphic > div[style*="width: 360px"] { width: 100% !important; max-width: 360px; }

/* CRM-Formulare kompakt (Wunsch Severin 16.10.): Platzhalter statt Überschrift über dem Feld, weniger Abstand, kein doppelter Formulartitel */
[data-hj-mount="form"] .hj-form__title { display: none; }
[data-hj-mount="form"] .hj-form__field.hj-form-phl > .hj-form__label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[data-hj-mount="form"] .hj-form__step { display: flex; flex-direction: column; gap: 10px; border: 0; margin: 0; padding: 0; }
[data-hj-mount="form"] .hj-form__field { margin: 0 !important; gap: 4px; }
[data-hj-mount="form"] .hj-form__input { min-height: 50px; padding: 12px 16px !important; border-radius: 14px !important; font-size: 15.5px !important; }
[data-hj-mount="form"] textarea.hj-form__input { min-height: 110px; }
[data-hj-mount="form"] .hj-form__input::placeholder { color: #8A91A3; opacity: 1; }
[data-hj-mount="form"] .hj-form__field--acceptance { font-size: 13.5px; line-height: 1.45; color: #5A6275; }
[data-hj-mount="form"] .hj-form__actions { margin-top: 6px; }
.hj-form-narrow { max-width: 640px; margin: 0 auto; }
[data-hj-mount="form"] .hj-form__input { border: 1px solid #D5DAE6 !important; background: #FFFFFF !important; box-shadow: none !important; outline: none; }
[data-hj-mount="form"] .hj-form__input:focus { border-color: #15779B !important; box-shadow: 0 0 0 3px rgba(21,119,155,.15) !important; }

/* Partner-Logos (Mount partners, Kategorie B2B): das Widget bringt kein eigenes CSS mit. Logo-Wand, ruhig in Graustufen,
   Name nur für Screenreader, wenn ein Logo da ist. */
.hj-partners__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--hj-partners-cols,6),minmax(0,1fr));gap:16px}
.hj-partners__item{margin:0;padding:0}
.hj-partners__item::marker{content:none}
.hj-partners__link,.hj-partners__item>img{display:flex}
.hj-partners__link{align-items:center;justify-content:center;height:100%;text-decoration:none;color:inherit}
.hj-partners__item{display:flex;align-items:center;justify-content:center;height:96px;padding:14px 18px;border:1px solid #EEF1F6;border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.hj-partners__item:hover{border-color:#D9DEE8;box-shadow:0 6px 18px rgba(16,21,95,.06)}
.hj-partners__logo{display:block;max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.hj-partners__item:hover .hj-partners__logo{filter:none;opacity:1}
.hj-partners__logo+.hj-partners__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hj-partners__name{font-weight:800;font-size:14px;color:#10155F;text-align:center}
.hj-partners__desc{display:none}
.hj-partners__note{margin:0;color:#5B6275}
@media (max-width:1024px){.hj-partners__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.hj-partners__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hj-partners__item{height:80px;padding:10px 12px}.hj-partners__logo{max-height:44px}}
