/* PCM Mega Menü – Entwurf v5 ---------------------------------------------
   Farben = CI der Website (Elementor-Globalfarben), siehe Variablen unten
---------------------------------------------------------------------------- */
.pcmm {
	/* CI pcm-mental-health.de (Elementor-Globalfarben) */
	--pcmm-dark: #0D3B3D;      /* Primär / Text */
	--pcmm-accent: #00ABB2;    /* Sekundär: Hover, aktiv, Unterstrich, Punkte */
	--pcmm-btn: #2BA5AA;       /* Button-Hintergrund (wie Site-Buttons) */
	--pcmm-btn-hover: #0D3B3D; /* Button-Hover (wie Site-Buttons) */
	--pcmm-text: #295052;      /* gedämpfter Text (Untertitel) */
	--pcmm-line: #D1E2E3;      /* Linien */
	--pcmm-listline: #E9FAFB;  /* feine Listenlinien */
	--pcmm-active: #F4F3F3;    /* aktive Tab-Fläche */
	--pcmm-top: 16px;
	--pcmm-side: 36px;
	--pcmm-bar-h: 84px;
	--pcmm-font-ui: "Inter", sans-serif;
	--pcmm-font-text: "Montserrat", sans-serif;
	position: relative;
	z-index: 1000;
	font-family: var(--pcmm-font-ui);
	color: var(--pcmm-dark);
	line-height: 1.3;
	-webkit-font-smoothing: antialiased;
}
.pcmm *,
.pcmm *::before,
.pcmm *::after { box-sizing: border-box; }
.pcmm a { text-decoration: none; color: inherit; transition: color .2s ease-out; }
.pcmm button {
	appearance: none; -webkit-appearance: none;
	background: none; border: 0; border-radius: 0; box-shadow: none; text-shadow: none;
	margin: 0; padding: 0; width: auto; min-height: 0;
	font: inherit; letter-spacing: 0; text-transform: none; text-decoration: none;
	color: inherit; cursor: pointer; text-align: left; white-space: normal;
}
/* Schutz vor globalen Button-Stilen (Elementor-Kit/Theme) – auch im Hover-/Fokus-Zustand */
.pcmm .pcmm-trigger, .pcmm .pcmm-tab, .pcmm .pcmm-burger, .pcmm .pcmm-m-top, .pcmm .pcmm-m-tab {
	background: transparent; border: 0; border-radius: 0; box-shadow: none; text-shadow: none;
	letter-spacing: 0; text-transform: none; text-decoration: none; color: var(--pcmm-dark);
}
.pcmm .pcmm-tab, .pcmm .pcmm-m-top, .pcmm .pcmm-m-tab,
.pcmm .pcmm-tab-title, .pcmm .pcmm-tab-eyebrow, .pcmm .pcmm-m-tab-title, .pcmm .pcmm-m-tab-eyebrow, .pcmm .pcmm-m-top-label {
	white-space: normal; overflow-wrap: anywhere;
}
.pcmm .pcmm-trigger:hover, .pcmm .pcmm-burger:hover, .pcmm .pcmm-m-top:hover, .pcmm .pcmm-m-tab:hover,
.pcmm .pcmm-trigger:focus, .pcmm .pcmm-burger:focus, .pcmm .pcmm-m-top:focus, .pcmm .pcmm-m-tab:focus,
.pcmm .pcmm-trigger:active, .pcmm .pcmm-burger:active, .pcmm .pcmm-m-top:active, .pcmm .pcmm-m-tab:active {
	background: transparent; background-image: none; border: 0; box-shadow: none; text-shadow: none; outline: none;
	letter-spacing: 0; text-transform: none; text-decoration: none; color: var(--pcmm-dark);
}
.pcmm .pcmm-tab:hover, .pcmm .pcmm-tab:focus, .pcmm .pcmm-tab:active {
	background-image: none; border: 0; box-shadow: none; text-shadow: none; outline: none;
	letter-spacing: 0; text-transform: none; text-decoration: none; color: var(--pcmm-dark);
}
.pcmm button:focus-visible { outline: 2px solid var(--pcmm-accent); outline-offset: 2px; }
.pcmm a,
.pcmm a:hover,
.pcmm a:focus { box-shadow: none; outline: none; }
.pcmm a:focus-visible { outline: 2px solid var(--pcmm-accent); outline-offset: 2px; }
.pcmm ul { list-style: none; margin: 0; padding: 0; }
.pcmm img { display: block; max-width: 100%; }
.pcmm .pcmm-notice { padding: 12px 16px; background: #fff3cd; color: #664d03; font: 14px/1.4 sans-serif; }

/* Admin-Bar ausgleichen */
body.admin-bar .pcmm { --pcmm-top: 48px; }
@media (max-width: 782px) {body.admin-bar .pcmm { --pcmm-top: 58px; }
 }

/* ---------- Header-Leiste ---------- */
.pcmm .pcmm-bar {
	position: fixed;
	top: var(--pcmm-top);
	left: var(--pcmm-side);
	right: var(--pcmm-side);
	z-index: 1002;
	height: var(--pcmm-bar-h);
	border-radius: calc(var(--pcmm-bar-h) / 2);
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 1px 2px rgba(13, 59, 61, .06);
	display: flex;
	align-items: center;
	gap: 56px;
	padding: 0 18px 0 40px;
}
.pcmm .pcmm-logo { display: flex; flex: none; align-items: center; }
.pcmm .pcmm-logo img { height: 54px; width: auto; }
.pcmm .pcmm-logo-text { font: 600 22px/1 var(--pcmm-font-ui); color: var(--pcmm-dark); }
.pcmm .pcmm-nav { flex: 1; min-width: 0; height: 100%; }
.pcmm .pcmm-top { display: flex; align-items: center; gap: 36px; height: 100%; }
.pcmm .pcmm-item { position: relative; height: 100%; display: flex; align-items: center; }
.pcmm .pcmm-toplink,
.pcmm .pcmm-trigger {
	display: flex; align-items: center; gap: 8px;
	height: 100%;
	font: 400 16px/1 var(--pcmm-font-ui);
	color: var(--pcmm-dark);
	white-space: nowrap;
}
.pcmm .pcmm-toplink:hover,
.pcmm .pcmm-trigger:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-chev {
	display: inline-block; width: 6px; height: 6px; flex: none;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease-out;
}
.pcmm .pcmm-item.is-open .pcmm-trigger { color: var(--pcmm-accent); }
.pcmm .pcmm-item.is-open .pcmm-chev { transform: translateY(2px) rotate(-135deg); }
.pcmm .pcmm-item.is-open::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0;
	height: 3px; border-radius: 2px; background: var(--pcmm-accent);
}
.pcmm .pcmm-phone {
	flex: none; font: 400 15px/1 var(--pcmm-font-ui); color: var(--pcmm-dark); white-space: nowrap;
}
.pcmm .pcmm-phone:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-cta {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	padding: 13px 30px; border-radius: 999px;
	background: var(--pcmm-btn);
	color: #fff; font: 400 15px/1.5 var(--pcmm-font-ui);
	letter-spacing: 2px; text-transform: uppercase; white-space: nowrap;
	transition: all .3s ease-out;
}
.pcmm .pcmm-cta:hover { background: var(--pcmm-btn-hover); color: #fff; }
.pcmm .pcmm-cta-short { display: none; }
.pcmm .pcmm-burger {
	display: none; width: 44px; height: 44px; flex: none;
	flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.pcmm .pcmm-burger span { display: block; width: 20px; height: 1.5px; background: var(--pcmm-dark); transition: transform .2s ease-out, opacity .2s ease-out; }
.pcmm .pcmm-burger.is-open span:first-child { transform: translateY(3.25px) rotate(45deg); }
.pcmm .pcmm-burger.is-open span:last-child { transform: translateY(-3.25px) rotate(-45deg); }

/* Entwurfs-Hinweis (nur für eingeloggte Redakteure sichtbar) */
.pcmm .pcmm-badge {
	display: inline-block; vertical-align: middle; margin-left: 6px;
	padding: 2px 7px; border-radius: 999px;
	background: #fff3cd; color: #7a5a00;
	font: 500 10px/1.4 var(--pcmm-font-ui); letter-spacing: .5px; text-transform: uppercase;
}

/* ---------- Desktop-Panel ---------- */
.pcmm .pcmm-panel {
	display: none;
	position: fixed;
	top: calc(var(--pcmm-top) + var(--pcmm-bar-h) + 12px);
	left: var(--pcmm-side);
	right: var(--pcmm-side);
	z-index: 1001;
	max-height: calc(100vh - var(--pcmm-top) - var(--pcmm-bar-h) - 32px);
	overflow: auto;
	background: #fff;
	border-radius: 30px;
	box-shadow: 0 30px 70px rgba(13, 59, 61, .22);
	padding: 28px;
	grid-template-columns: 400px minmax(0, 1fr);
	gap: 0 48px;
}
.pcmm .pcmm-panel.is-open { display: grid; }
.pcmm .pcmm-tabs {
	display: flex; flex-direction: column; gap: 4px;
	padding-right: 28px; border-right: 1px solid var(--pcmm-line);
}
.pcmm .pcmm-tab {
	display: flex; align-items: center; gap: 16px; width: 100%;
	padding: 14px 18px; border-radius: 20px;
	transition: background .2s ease-out;
}
.pcmm .pcmm-tab-icon {
	width: 44px; height: 44px; border-radius: 14px; flex: none;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--pcmm-line);
	color: var(--pcmm-dark);
}
.pcmm .pcmm-tab-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.pcmm .pcmm-tab-title { font: 500 17px/1.2 var(--pcmm-font-ui); color: var(--pcmm-dark); }
.pcmm .pcmm-tab-eyebrow { font: 400 11.5px/1.3 var(--pcmm-font-ui); letter-spacing: 1.2px; text-transform: uppercase; color: var(--pcmm-text); }
.pcmm .pcmm-tab:hover,
.pcmm .pcmm-tab.is-active { background: var(--pcmm-active); }
.pcmm .pcmm-tab.is-active .pcmm-tab-title,
.pcmm .pcmm-tab.is-active .pcmm-tab-icon { color: var(--pcmm-accent); }
.pcmm .pcmm-footer {
	margin-top: auto; display: flex; align-items: center; gap: 12px;
	padding: 18px 18px 4px;
	font: 400 14px/1.4 var(--pcmm-font-text); color: var(--pcmm-dark);
}
.pcmm .pcmm-footer:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pcmm-accent); flex: none; }
.pcmm .pcmm-content { display: flex; flex-direction: column; padding: 6px 8px 0 0; min-width: 0; }
.pcmm .pcmm-tabpanel { display: none; flex-direction: column; }
.pcmm .pcmm-tabpanel.is-active { display: flex; }
.pcmm .pcmm-hub {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: 10px 0 18px; border-bottom: 1px solid var(--pcmm-line);
	color: var(--pcmm-dark);
}
.pcmm .pcmm-hub:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-hub-title { font: 500 20px/1.25 var(--pcmm-font-ui); }
.pcmm .pcmm-hub-cta { font: 400 14px/1 var(--pcmm-font-text); color: var(--pcmm-accent); white-space: nowrap; }
.pcmm .pcmm-list-label {
	font: 500 11px/1 var(--pcmm-font-ui); letter-spacing: 2px; text-transform: uppercase;
	color: var(--pcmm-accent); padding: 20px 0 8px;
}
.pcmm .pcmm-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.pcmm .pcmm-link {
	display: flex; align-items: center; min-height: 46px; padding: 6px 0;
	border-bottom: 1px solid var(--pcmm-listline);
	font: 400 15.5px/1.3 var(--pcmm-font-text); color: var(--pcmm-dark);
	text-wrap: pretty;
}
.pcmm .pcmm-link:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-tabpanel .pcmm-list-label + .pcmm-cards { margin-top: 6px; }
.pcmm .pcmm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pcmm .pcmm-card { display: flex; flex-direction: column; gap: 12px; color: var(--pcmm-dark); }
.pcmm .pcmm-card:hover { color: var(--pcmm-accent); }
.pcmm .pcmm-card-img { display: block; height: 150px; border-radius: 20px; overflow: hidden; background: var(--pcmm-active); }
.pcmm .pcmm-card-img img { width: 100%; height: 100%; object-fit: cover; }
.pcmm .pcmm-card-title { font: 500 15.5px/1.35 var(--pcmm-font-ui); text-wrap: pretty; }
.pcmm .pcmm-card-more { font: 400 13px/1 var(--pcmm-font-text); color: var(--pcmm-accent); }
.pcmm .pcmm-more {
	margin-top: 22px; align-self: flex-start;
	display: inline-flex; align-items: center; gap: 10px;
	padding: 12px 22px; border-radius: 999px; border: 1.5px solid var(--pcmm-accent);
	font: 400 13px/1 var(--pcmm-font-ui); letter-spacing: 1.5px; text-transform: uppercase;
	color: var(--pcmm-dark); transition: all .2s ease-out;
}
.pcmm .pcmm-more:hover { background: var(--pcmm-btn); color: #fff; }

/* ---------- Mobil-Menü (Overlay) ---------- */
.pcmm .pcmm-mobile {
	display: none;
	position: fixed;
	top: calc(var(--pcmm-top) + var(--pcmm-bar-h) + 12px);
	left: var(--pcmm-side);
	right: var(--pcmm-side);
	bottom: 12px;
	z-index: 1001;
	background: #fff;
	border-radius: 30px;
	overflow: hidden;
	flex-direction: column;
	box-shadow: 0 30px 70px rgba(13, 59, 61, .22);
}
.pcmm .pcmm-mobile.is-open { display: flex; }
body.pcmm-noscroll { overflow: hidden; }
.pcmm .pcmm-m-scroll { flex: 1; overflow-y: auto; padding: 8px 0; -webkit-overflow-scrolling: touch; }
.pcmm .pcmm-m-item { margin: 0 20px; border-bottom: 1px solid var(--pcmm-line); }
.pcmm .pcmm-m-link,
.pcmm .pcmm-m-top {
	display: flex; align-items: center; gap: 14px; width: 100%;
	min-height: 60px; font: 400 17px/1.2 var(--pcmm-font-ui); color: var(--pcmm-dark);
}
.pcmm .pcmm-m-top .pcmm-chev { width: 7px; height: 7px; margin-left: auto; margin-right: 8px; }
.pcmm .pcmm-m-icon { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; flex: none; color: var(--pcmm-dark); }
.pcmm .pcmm-m-item.is-open .pcmm-m-top { color: var(--pcmm-accent); }
.pcmm .pcmm-m-item.is-open .pcmm-m-icon { color: var(--pcmm-accent); }
.pcmm .pcmm-m-item.is-open .pcmm-m-top .pcmm-chev { transform: translateY(2px) rotate(-135deg); }
.pcmm .pcmm-m-sub { display: none; padding: 0 0 14px 42px; flex-direction: column; }
.pcmm .pcmm-m-item.is-open .pcmm-m-sub { display: flex; }
.pcmm .pcmm-m-tab {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
	min-height: 56px; margin-top: 4px; color: var(--pcmm-dark);
}
.pcmm .pcmm-m-tab .pcmm-chev { width: 7px; height: 7px; margin-right: 10px; color: var(--pcmm-text); }
.pcmm .pcmm-m-tab-text { display: flex; flex-direction: column; gap: 4px; }
.pcmm .pcmm-m-tab-title { font: 500 16px/1.2 var(--pcmm-font-ui); }
.pcmm .pcmm-m-tab-eyebrow { font: 400 11px/1.3 var(--pcmm-font-ui); letter-spacing: 1.2px; text-transform: uppercase; color: var(--pcmm-text); }
.pcmm .pcmm-m-tabwrap.is-open .pcmm-m-tab-title { color: var(--pcmm-accent); }
.pcmm .pcmm-m-tabwrap.is-open .pcmm-m-tab .pcmm-chev { transform: translateY(2px) rotate(-135deg); }
.pcmm .pcmm-m-tabpanel { display: none; flex-direction: column; padding-bottom: 8px; }
.pcmm .pcmm-m-tabwrap.is-open .pcmm-m-tabpanel { display: flex; }
.pcmm .pcmm-m-hub {
	display: flex; align-items: center; justify-content: space-between;
	min-height: 44px; font: 500 15px/1.3 var(--pcmm-font-text); color: var(--pcmm-accent);
}
.pcmm .pcmm-m-hub span:last-child { margin-right: 8px; }
.pcmm .pcmm-m-sublink {
	display: flex; align-items: center; min-height: 44px; padding: 4px 0;
	font: 400 15px/1.3 var(--pcmm-font-text); color: var(--pcmm-text); text-wrap: pretty;
}
.pcmm .pcmm-m-cards { display: flex; flex-direction: column; gap: 12px; padding: 4px 0 8px; }
.pcmm .pcmm-m-card { display: flex; gap: 12px; align-items: center; color: var(--pcmm-dark); }
.pcmm .pcmm-m-card-img { width: 84px; height: 64px; flex: none; border-radius: 12px; overflow: hidden; background: var(--pcmm-active); }
.pcmm .pcmm-m-card-img img { width: 100%; height: 100%; object-fit: cover; }
.pcmm .pcmm-m-card-title { font: 500 14px/1.35 var(--pcmm-font-ui); text-wrap: pretty; }
.pcmm .pcmm-m-more {
	margin-top: 4px; align-self: flex-start; display: inline-flex; align-items: center;
	padding: 11px 18px; border-radius: 999px; border: 1.5px solid var(--pcmm-accent);
	font: 400 12px/1 var(--pcmm-font-ui); letter-spacing: 1.5px; text-transform: uppercase; color: var(--pcmm-dark);
}
.pcmm .pcmm-m-footer {
	display: flex; align-items: center; gap: 12px; padding: 14px 0 2px;
	font: 400 14px/1.4 var(--pcmm-font-text); color: var(--pcmm-dark);
}
.pcmm .pcmm-m-bottom { padding: 12px 20px 14px; border-top: 1px solid var(--pcmm-line); display: flex; flex-direction: column; gap: 8px; }
.pcmm .pcmm-m-cta { display: flex; width: 100%; margin: 0; height: 50px; padding: 0 20px; font: 400 15px/1 var(--pcmm-font-ui); letter-spacing: 2px; }
.pcmm .pcmm-m-note { text-align: center; font: 400 12.5px/1.4 var(--pcmm-font-text); color: var(--pcmm-text); }

/* ---------- Umschaltung Desktop / Mobil ---------- */
@media (max-width: 1200px) {.pcmm { --pcmm-top: 12px; --pcmm-side: 12px; --pcmm-bar-h: 60px; }
body.admin-bar .pcmm { --pcmm-top: 44px; }
.pcmm .pcmm-bar { gap: 4px; padding: 0 8px 0 20px; }
.pcmm .pcmm-logo img { height: 36px; }
.pcmm .pcmm-nav,
.pcmm .pcmm-phone,
.pcmm .pcmm-panels { display: none; }
.pcmm .pcmm-cta { margin-left: auto; height: 44px; padding: 0 18px; font: 500 12px/1 var(--pcmm-font-ui); letter-spacing: 1.5px; }
.pcmm .pcmm-cta-long { display: none; }
.pcmm .pcmm-cta-short { display: inline; }
.pcmm .pcmm-burger { display: flex; }
}
@media (min-width: 1201px) {.pcmm .pcmm-mobile { display: none !important; }
}
@media (min-width: 1201px) and (max-width: 1500px) {
.pcmm .pcmm-bar { gap: 24px; padding: 0 14px 0 26px; }
.pcmm .pcmm-top { gap: 20px; }
.pcmm .pcmm-toplink,
.pcmm .pcmm-trigger { font-size: 15px; }
.pcmm .pcmm-phone { font-size: 14px; }
.pcmm .pcmm-cta { padding: 12px 20px; letter-spacing: 1.5px; font-size: 14px; }
.pcmm .pcmm-panel { grid-template-columns: 340px minmax(0, 1fr); gap: 0 32px; }
}
@media (min-width: 1201px) and (max-width: 1340px) {
.pcmm .pcmm-logo img { height: 46px; }
.pcmm .pcmm-bar { gap: 18px; padding: 0 12px 0 22px; }
.pcmm .pcmm-top { gap: 16px; }
.pcmm .pcmm-toplink,
.pcmm .pcmm-trigger { font-size: 14px; }
.pcmm .pcmm-phone { display: none; }
}
@media (prefers-reduced-motion: reduce) {.pcmm * { transition: none !important; }
}


/* ---------- Ebene 4 (seit 1.2.0): Unterseiten eines Links ---------- */
.pcmm .pcmm-list{align-items:start;}
.pcmm .pcmm-linkgroup{border-bottom:1px solid var(--pcmm-listline);}
.pcmm .pcmm-linkrow{display:flex;align-items:center;}
.pcmm .pcmm-linkrow .pcmm-link{flex:1;border-bottom:0;}
.pcmm .pcmm-subtoggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:0;min-height:0;margin:0 -8px 0 0;padding:0!important;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important;color:var(--pcmm-dark)!important;cursor:pointer;}
.pcmm .pcmm-subtoggle:hover{color:var(--pcmm-accent)!important;}
.pcmm .pcmm-subtoggle:focus-visible{outline:2px solid var(--pcmm-accent);outline-offset:2px;}
.pcmm .pcmm-linkgroup:hover .pcmm-subtoggle .pcmm-chev,.pcmm .pcmm-linkgroup:focus-within .pcmm-subtoggle .pcmm-chev,.pcmm .pcmm-linkgroup.is-open .pcmm-subtoggle .pcmm-chev{transform:translateY(2px) rotate(-135deg);}
.pcmm .pcmm-sublist{display:none;margin:0 0 12px 2px;padding:0 0 0 14px;border-left:2px solid var(--pcmm-listline);}
.pcmm .pcmm-linkgroup:hover .pcmm-sublist,.pcmm .pcmm-linkgroup:focus-within .pcmm-sublist,.pcmm .pcmm-linkgroup.is-open .pcmm-sublist{display:block;}
.pcmm .pcmm-sublink{display:flex;align-items:center;min-height:36px;padding:4px 0;font:400 14.5px/1.3 var(--pcmm-font-text);color:var(--pcmm-text);text-wrap:pretty;}
.pcmm .pcmm-sublink:hover{color:var(--pcmm-accent);}
.pcmm .pcmm-m-sublink--child{position:relative;min-height:40px;padding-left:18px;font-size:14.5px;}
.pcmm .pcmm-m-sublink--child::before{content:"";position:absolute;left:2px;top:50%;width:9px;height:1.5px;background:currentColor;opacity:.45;}
