/* CityMix Klassisch – Ergänzungen zum Divi-CSS der Originalseite */

/* Ohne JavaScript bleiben animierte Elemente sichtbar */
html:not(.js) .et_animated { opacity: 1 !important; }

/* Dropdowns auch per Tastatur erreichbar */
#top-menu li:focus-within > .sub-menu,
#top-menu li.et-hover > .sub-menu { opacity: 1; visibility: visible; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, [role="link"]:focus-visible,
input:focus-visible, textarea:focus-visible {
	outline: 2px solid #ec008c;
	outline-offset: 2px;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Absatz-Ausrichtung aus dem Editor */
.has-text-align-left { text-align: left; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

/* Google Maps erst nach Klick laden (verhält sich wie das ursprüngliche iframe) */
.cmx-consent {
	display: inline-block;
	vertical-align: baseline;
	overflow: hidden;
	width: 100%;
	background: #d7dada;
}
.cmx-consent-inner {
	display: flex;
	height: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #333;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.5;
}
.cmx-consent p { padding: 0; max-width: 420px; }
.cmx-consent button {
	font: inherit;
	font-weight: 600;
	color: #fff;
	background: #ec008c;
	border: 0;
	border-radius: 3px;
	padding: 8px 18px;
	cursor: pointer;
}
.cmx-consent button:hover { background: #c40074; }
.cmx-consent a { color: #333; text-decoration: underline; }

/* Selbst gehostetes Video (statt fair.tube-Einbettung) */
.cmx-video { display: inline-block; vertical-align: baseline; width: 100%; height: 400px; background: #000; object-fit: contain; }

/* Kontaktformular */
.cmx-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Stellen-Akkordeon: Titel ist anklickbar */
.et_pb_toggle_title { cursor: pointer; }
