/* Eigene Schriften vom eigenen Server (Unbounded, Hanken Grotesk; SIL Open Font License) */
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/wp-content/uploads/2026/11/nk-hanken-grotesk-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/wp-content/uploads/2026/11/nk-hanken-grotesk-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/wp-content/uploads/2026/11/nk-unbounded-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/wp-content/uploads/2026/11/nk-unbounded-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Malermeister Neukäter: Feinschliff für das Plugin „Maler Intro“, Seitenhintergrund, Kopfzeile und Effekt-Widgets */
body.elementor-page { background-color: #F5F4EF; }

/* Glas-Menü genau so breit wie die Inhalts-Box (1240 px) */
.nkgm-154 { --nkgm-max: 1272px !important; }

/* Glas-Menü ohne weiße Kanten: kein Rahmen, keine Lichtkante, kein heller Glanz – nur Unschärfe und weicher Schatten */
.nkgm-154 .nkgm-154-glass {
	border-color: transparent;
	box-shadow: 0 8px 28px rgba(28, 29, 25, 0.12);
}
.nkgm-154 .nkgm-154-glass::before { display: none; }

/* Effekt-Widgets füllen ihre Box in der Breite (auch in Flexbox-Containern) */
.elementor-widget-vorher_nachher_156,
.elementor-widget-zoom_parallax_155 { width: 100%; flex: 1 1 100%; align-self: stretch; }

/* Kopfzeile nimmt keinen Platz ein: Glas-Menü und Kontakt-Lasche schweben fixiert über der Seite */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--min-height: 0px;
	--gap: 0px;
	min-height: 0;
	gap: 0 !important;
}
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) .elementor-location-header .e-con,
body:not(.elementor-editor-active) .elementor-location-header .e-con-inner {
	height: 0;
	overflow: visible;
}
.elementor-location-header .elementor-widget-glas_menue_154,
.elementor-location-header .elementor-widget-kontakt_lasche_157 { margin: 0; }

/* Keine Abdunklung über dem ganzen Bild, keine Fortschrittspunkte */
.mi-intro .mi-shade { display: none !important; }
.mi-intro .mi-rail { display: none !important; }

/* Weicher, fast durchsichtiger Glasschleier nur hinter dem jeweiligen Text */
.mi-intro .mi-text {
	padding: 20px 26px 22px;
	margin-left: -26px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.14);
	-webkit-backdrop-filter: blur(9px) saturate(1.1);
	backdrop-filter: blur(9px) saturate(1.1);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35);
}

/* Desktop: Text-Glasfeld bündig mit der Kante der Inhalts-Box (1240 px) statt fester 72 px vom Bildrand */
@media (min-width: 768px) {
	.mi-intro { --mi-offset-x: calc(max(16px, (100% - 1240px) / 2) + 26px) !important; }
}

@media (max-width: 767px) {
	.mi-intro .mi-text { margin-left: -14px; padding: 16px 18px 18px; }
	.mi-intro .mi-copy { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* Unterseiten: Haken vor den Listenpunkten (Klasse nk-punkt) */
.nk-punkt::before { content: ""; position: absolute; left: 4px; top: 19px; width: 12px; height: 7px; border-left: 2px solid #3F6A6B; border-bottom: 2px solid #3F6A6B; transform: rotate(-45deg); }
.nk-punkt small { display: block; color: #5E615B; font-size: 0.85rem; }

/* Unterseiten: neue Widgets nehmen die volle Breite ein */
.elementor-widget-scroll_kopfbild_206, .elementor-widget-referenz_galerie_207 { width: 100%; }


/* Formulare: Dateifelder als moderne Ablagefläche mit rundem Button */
[data-element_type="e-form"] input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	height: auto;
	padding: 18px;
	border: 1.5px dashed #B9AD95;
	border-radius: 14px;
	background: #F5F4EF;
	color: #5E615B;
	font: 400 14px "Hanken Grotesk", system-ui, sans-serif;
	cursor: pointer;
	transition: border-color 0.25s, background-color 0.25s;
}
[data-element_type="e-form"] input[type="file"]:hover,
[data-element_type="e-form"] input[type="file"]:focus-visible {
	border-color: #3F6A6B;
	background: #FFFFFF;
	outline: none;
}
[data-element_type="e-form"] input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: #3F6A6B;
	color: #FFFFFF;
	font: 600 14px "Hanken Grotesk", system-ui, sans-serif;
	cursor: pointer;
	transition: background-color 0.25s;
}
[data-element_type="e-form"] input[type="file"]:hover::file-selector-button {
	background: #2C2E29;
}

/* Eingeloggt: Intro klebt unter der WordPress-Leiste statt darunter wegzurutschen */
@media (min-width: 783px) { .admin-bar .mi-intro .mi-sticky { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .mi-intro .mi-sticky { top: 46px; } }

/* Formulare: Auswahl-Pillen (Mehrfachauswahl) zeigen den Haken als dunkle Fuellung */
.nk-wahl-option:hover { border-color: #2C2E29; }
.nk-wahl-option:has(input:checked) { background-color: #2C2E29; border-color: #2C2E29; }
.nk-wahl-option:has(input:checked) .nk-wahl-text { color: #F5F4EF; }
.nk-wahl-option:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(63, 106, 107, 0.3); }

/* Kontaktrubrik: Symbole als Linie, Links in Formularen in Petrol */
.nk-kf-ic svg { width: 100%; height: 100%; display: block; }
.nk-kf-ic svg, .nk-kf-ic svg * { fill: none !important; stroke: #3F6A6B !important; }
[data-element_type="e-form"] a { color: #3F6A6B; text-decoration: underline; }

/* Formulare: Datenschutz-Kaestchen exakt quadratisch, wird vom Text nicht gestaucht */
.nk-zustimmung input[type="checkbox"] { box-sizing: border-box; width: 20px; height: 20px; min-width: 20px; min-height: 20px; flex: 0 0 20px; margin: 2px 0 0; aspect-ratio: 1 / 1; }
