/* 
Theme Name: MISSION OM 
Theme URI: https://mission-om.de/
Description: MISSION Theme
Author: MISSION OM
Author URI: https://mission-om.de/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
Tags: MISSION OM
*/

/*
    Add your custom styles here
*/

/* mo-tap-targets: größere Klickflächen ohne Layoutverschiebung (WCAG 2.5.8) */
.elementor-widget-breadcrumbs nav a { display: inline-block; padding-block: 14px; margin-block: -14px; }
.elementor-location-header .elementor-icon-list-item > a { padding-block: 14px; margin-block: -14px; }
@media (max-width: 760px) {
	.elementor-location-header .elementor-icon-list-text { font-size: 12px !important; }
}

/* mo-form-upload: Datei-Button und Checkbox der Elementor-Formulare im Seitenstil */
.elementor-field-type-upload input[type=file] { font: inherit; font-size: 15px; color: #40525d; }
.elementor-field-type-upload input[type=file]::file-selector-button { margin-right: 14px; padding: 10px 18px; font: inherit; font-weight: 600; color: #0d5c92; cursor: pointer; background: #fff; border: 1px solid #0d5c92; border-radius: 2px; }
.elementor-field-type-upload input[type=file]::file-selector-button:hover { color: #fff; background: #0d5c92; }
.elementor-field-type-acceptance input[type=checkbox] { width: 20px; height: 20px; margin-right: 8px; vertical-align: -4px; accent-color: #0d5c92; }

/* mo-footer-tap: Footer-Links mind. 24 px Klickfläche (WCAG 2.5.8), ohne Layoutverschiebung */
.elementor-location-footer a:not(.elementor-button) { display: inline-block; padding-block: 4px; margin-block: -4px; }

/* mo-mobile: Mobil-Optimierung (Audit 22.10.2026) */
@media (max-width: 767px) {
	/* Lange Komposita in Überschriften trennen statt die Seite zu verbreitern. */
	.elementor-heading-title { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5; }
	/* Rechtliches-Links im Footer: 44 px Klickfläche. */
	.elementor-location-footer .elementor-nav-menu--layout-horizontal a.elementor-item { padding-block: 12px !important; margin-block: 0 !important; }
	/* Luft unter den Rechtliches-Links, auch für den iPhone-Home-Balken. */
	.elementor-location-footer > .elementor-element:last-child { padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 1023px) {
	/* iOS zoomt bei Feldern unter 16 px beim Antippen in die Seite. */
	.elementor-field-group .elementor-field, .elementor-field-group select, .mo-sg-jobs__field input, .mo-sg-jobs__field select { font-size: 16px !important; }
	/* Klebender Kopf: beim Scrollen nur die Logo-/Menüleiste, Infozeile entfällt. */
	.ehg-kopf.elementor-sticky--effects > .elementor-element-9811aff { display: none; }
	/* Mobilmenü: ganze Zeile öffnet das Untermenü (Übersichtslink steht im Untermenü), nicht nur der kleine Pfeil. */
	.emmc > .emmi > a.emm6 { position: relative; }
	.emmc > .emmi > a.emm6 > .emm10 { position: static; }
	.emmc > .emmi > a.emm6 > .emm10::after { content: ""; position: absolute; inset: 0; }
}
/* Kontakt-Menüpunkt nur im Mobilmenü; am Desktop steht der Kontakt-Button daneben. */
@media (min-width: 1024px) {
	.emmc > .emmi[data-id="2017"], .emmc > .emmi[data-id="2018"], .emmc > .emmi[data-id="2019"], .emmc > .emmi.ehg-nur-mobil { display: none !important; }
}
/* Sprachumschalter: größere Schrift und Klickfläche ohne Layoutverschiebung. */
.mo-lang__item, .mo-lang__sep { font-size: 12px !important; }
.elementor-location-header .mo-lang a.mo-lang__item { display: inline-block; padding: 12px 8px; margin: -12px -8px; }

/* mo-legal-open: offene Punkte in Impressum/Datenschutz bis zur rechtlichen Prüfung markieren */
.page-id-660 mark, .page-id-661 mark { padding: 1px 4px; color: #12212b; background: #fff1a8; border-radius: 2px; }
.page-id-661 .elementor-widget-text-editor ul { margin: 0 0 1em 1.2em; }

/* mo-legal-headings: Abstufung H3 > H4 in Rechtstexten (Theme-H4 ist sonst größer als H3). */
.page-id-660 .elementor-widget-text-editor h3, .page-id-661 .elementor-widget-text-editor h3 { margin: 32px 0 10px; }
.page-id-660 .elementor-widget-text-editor h4, .page-id-661 .elementor-widget-text-editor h4 { margin: 22px 0 6px; font-family: "Switzer", sans-serif; font-size: 17px; font-weight: 600; line-height: 1.35; color: #0c2b3d; }
.page-id-661 .elementor-widget-text-editor a { overflow-wrap: anywhere; }

/* mo-offcanvas: Mobilmenü als Seitenpanel – dunkles Panel, weißes Schließen-Icon, Menüpunkte ohne Einblend-Animation. */
.emm15 { background: var(--e-global-color-navy900, #08202f) !important; }
.emm15 nav.emm20 { background: transparent !important; }
.emm15 a.emm6, .emm15 .emmi, .emm15 .fadeInUp, .emm15 [class*="fadeIn"] { animation: none !important; opacity: 1 !important; transform: none !important; }
/* Panel kommt von rechts (Plugin-Klasse emm22a würde links verankern). */
.emm.elementor-element-545462f .emm15 { left: auto !important; right: 0 !important; transform: translate3d(100%, 0, 0) !important; }
.emm.elementor-element-545462f .emm15.emm52 { transform: translate3d(0, 0, 0) !important; }
.emm.elementor-element-545462f .emm14:hover { cursor: e-resize; }
/* Panel und Abdunklung beginnen unter dem Kopf (Höhe setzt inc/mo-header-height.php als --mo-kopf-h), Burger bleibt bedienbar. */
.emm.elementor-element-545462f .emm15, .emm.elementor-element-545462f .emm14 { top: var(--mo-kopf-h, 110px) !important; }
.emm.elementor-element-545462f .emm15 { height: auto !important; bottom: 0 !important; }
.emm.elementor-element-545462f .emm13 { min-width: 44px; min-height: 44px; justify-content: center; }
.emm15 .emm53 { color: #fff !important; }
.emm15 .emm53 svg, .emm15 .emm53 i { color: #fff !important; fill: #fff !important; stroke: #fff !important; }


/* mo-topbar-mobile: Infozeile mobil komplett ausgeblendet – der Sprachumschalter steht unten im aufgeklappten Menü. */
@media (max-width: 767px) {
	.ehg-kopf .elementor-element-9811aff { display: none !important; }
}
/* Sprachumschalter im Menüpanel nur mobil (Tablet hat ihn in der Infozeile). */
.emm15 .elementor-2021 .mo-lang { gap: 6px; }
.emm15 .elementor-2021 .mo-lang__item, .emm15 .elementor-2021 .mo-lang__sep { font-size: 14px !important; }
@media (min-width: 768px) {
	.emm15 .elementor-2021 { display: none !important; }
}

/* mo-menu-aim: unsichtbare Schutzzone über der Kopfleiste (Script inc/mo-menu-aim.php). */
.mo-aim { display: none; position: fixed; top: 0; left: 0; width: 100vw; z-index: 1000; background: transparent; }

/* mo-icon-align: Icons auf Höhe der Überschrift. 1) Icon-Widget so hoch wie das Icon (Elementor setzt es inline mit Unterlänge → SVG hing oben). */
.elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
.elementor-widget-icon .elementor-icon { display: inline-flex; vertical-align: top; }
/* 2) Zeilen „Icon + Textblock (Titel + Beschreibung)“: Icons auf die erste Titelzeile statt auf die Blockmitte. */
.e-con:has(> .elementor-widget-icon + .e-con) { align-items: flex-start !important; }
.e-con:has(> .elementor-widget-icon + .e-con) > .elementor-widget-icon .elementor-icon-wrapper { display: flex; align-items: center; height: 22px; }

/* mo-social: Social-Icons im Footer – 44 px Klickfläche ohne Layoutverschiebung. */
.elementor-location-footer .mo-social .elementor-icon { padding: 11px; margin: -11px; }

/* mo-form-labels: Feldbeschriftungen der Formulare nicht klickbar (Checkbox-Labels bleiben klickbar) */
.elementor-form .elementor-field-label {
	pointer-events: none;
	cursor: default;
}
