/* =========================================================
   fisinger.de – Custom CSS für Helix Ultimate
   Stand: final bereinigt
   Farbkonzept: Orange #eb5c2c + Blau-Grau #404e67
   ========================================================= */

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap');

:root {
	--f-orange: #eb5c2c;
	--f-orange-hover: #d94d20;
	--f-orange-dark: #b93f18;
	--f-orange-soft: #fff1ec;

	--f-blue: #404e67;
	--f-blue-dark: #2f3a4f;
	--f-blue-deep: #172033;
	--f-blue-light: #e6ebf2;
	--f-blue-soft: #eef3f8;
	--f-bg: #f7f9fc;

	--f-text: #1f2937;
	--f-text-muted: #64748b;

	--f-white: #ffffff;
	--f-border: #d8dee8;
	--f-border-soft: #e5eaf1;

	--f-topbar-height: 30px;
	--f-header-height: 86px;
	--f-header-height-mobile: 76px;

	--f-shadow: 0 16px 40px rgba(64, 78, 103, 0.12);
	--f-shadow-soft: 0 8px 24px rgba(64, 78, 103, 0.08);
}

/* =========================================================
   Basis
   ========================================================= */

html,
body {
	overflow-x: hidden;
}

body {
	font-family: "Nunito Sans", Arial, sans-serif;
	background: var(--f-bg);
	color: var(--f-text);
	font-size: 16px;
	line-height: 1.65;
}

body,
p,
li,
input,
textarea,
select,
button {
	font-family: "Nunito Sans", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Nunito Sans", Arial, sans-serif;
	color: var(--f-blue-deep);
	font-weight: 800;
	letter-spacing: 0.01em;
}

a {
	color: var(--f-orange);
	transition: all 0.2s ease;
}

a:hover,
a:focus {
	color: var(--f-orange-hover);
}

/* Wichtig für position: sticky */
.body-wrapper,
#body-wrapper,
.site-wrapper {
	overflow: visible !important;
}

/* =========================================================
   Topbar – NICHT sticky
   Helix: #sp-top-bar / Positionen top1 + top2
   ========================================================= */

#sp-top-bar {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	z-index: 1000 !important;
	background: var(--f-orange) !important;
	color: var(--f-white) !important;
	min-height: var(--f-topbar-height) !important;
	height: var(--f-topbar-height) !important;
	line-height: var(--f-topbar-height) !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

#sp-top-bar .container,
#sp-top-bar .container-inner,
#sp-top-bar .row,
#sp-top-bar .sp-column,
#sp-top1,
#sp-top2 {
	min-height: var(--f-topbar-height) !important;
	height: var(--f-topbar-height) !important;
	line-height: var(--f-topbar-height) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: transparent !important;
}

#sp-top-bar .row {
	align-items: center !important;
}

/* Top1 Kontaktbereich links */
#sp-top1,
#sp-top1 .sp-module,
#sp-top1 .sp-module-content,
#sp-top1 .sp-contact-info {
	display: flex !important;
	align-items: center !important;
}

#sp-top1,
#sp-top1 a,
#sp-top1 span,
#sp-top1 li,
#sp-top1 .sp-contact-info li,
#sp-top1 .sp-module,
#sp-top1 .sp-module a {
	color: var(--f-white) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: var(--f-topbar-height) !important;
}

#sp-top1 .sp-contact-info {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#sp-top1 .sp-contact-info li {
	margin: 0 18px 0 0 !important;
	padding: 0 !important;
}

#sp-top1 a:hover,
#sp-top2 a:hover {
	color: rgba(255, 255, 255, 0.82) !important;
}

/* =========================================================
   Top2 Navigation horizontal mit Dropdown
   Modulklasse: fisinger-top2-nav
   ========================================================= */

#sp-top2 {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}

#sp-top2 .fisinger-top2-nav,
#sp-top2 .fisinger-top2-nav ul,
#sp-top2 .fisinger-top2-nav li,
#sp-top2 ul.fisinger-top2-nav,
#sp-top2 ul.fisinger-top2-nav li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#sp-top2 ul.fisinger-top2-nav,
#sp-top2 .fisinger-top2-nav > ul,
#sp-top2 .fisinger-top2-nav ul.menu,
#sp-top2 .fisinger-top2-nav .menu,
#sp-top2 .fisinger-top2-nav .nav {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#sp-top2 ul.fisinger-top2-nav > li,
#sp-top2 .fisinger-top2-nav > ul > li,
#sp-top2 .fisinger-top2-nav ul.menu > li,
#sp-top2 .fisinger-top2-nav .menu > li,
#sp-top2 .fisinger-top2-nav .nav > li {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
}

#sp-top2 ul.fisinger-top2-nav > li > a,
#sp-top2 ul.fisinger-top2-nav > li > span,
#sp-top2 .fisinger-top2-nav > ul > li > a,
#sp-top2 .fisinger-top2-nav > ul > li > span,
#sp-top2 .fisinger-top2-nav ul.menu > li > a,
#sp-top2 .fisinger-top2-nav ul.menu > li > span,
#sp-top2 .fisinger-top2-nav .menu > li > a,
#sp-top2 .fisinger-top2-nav .menu > li > span,
#sp-top2 .fisinger-top2-nav .nav > li > a,
#sp-top2 .fisinger-top2-nav .nav > li > span {
	display: inline-flex !important;
	align-items: center !important;
	min-height: var(--f-topbar-height) !important;
	height: var(--f-topbar-height) !important;
	padding: 0 10px !important;
	color: var(--f-white) !important;
	background: transparent !important;
	font-family: "Nunito Sans", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: var(--f-topbar-height) !important;
	white-space: nowrap !important;
}

#sp-top2 ul.fisinger-top2-nav > li:last-child > a,
#sp-top2 .fisinger-top2-nav > ul > li:last-child > a,
#sp-top2 .fisinger-top2-nav ul.menu > li:last-child > a,
#sp-top2 .fisinger-top2-nav .menu > li:last-child > a,
#sp-top2 .fisinger-top2-nav .nav > li:last-child > a {
	padding-right: 0 !important;
}

#sp-top2 ul.fisinger-top2-nav > li:has(ul) > a::after,
#sp-top2 .fisinger-top2-nav li:has(ul) > a::after,
#sp-top2 ul.fisinger-top2-nav > li.parent > a::after,
#sp-top2 ul.fisinger-top2-nav > li.deeper > a::after,
#sp-top2 .fisinger-top2-nav li.parent > a::after,
#sp-top2 .fisinger-top2-nav li.deeper > a::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: 6px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.9;
}

#sp-top2 ul.fisinger-top2-nav li ul,
#sp-top2 .fisinger-top2-nav li ul {
	position: absolute !important;
	top: 100%;
	right: 0;
	left: auto;
	z-index: 9999;
	display: block !important;
	min-width: 190px;
	margin: 0 !important;
	padding: 6px 0 !important;
	background: var(--f-white) !important;
	border: 1px solid var(--f-border-soft);
	border-radius: 9px;
	box-shadow: 0 14px 32px rgba(64, 78, 103, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all 0.16s ease;
}

#sp-top2 ul.fisinger-top2-nav li:hover > ul,
#sp-top2 ul.fisinger-top2-nav li:focus-within > ul,
#sp-top2 .fisinger-top2-nav li:hover > ul,
#sp-top2 .fisinger-top2-nav li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

#sp-top2 ul.fisinger-top2-nav li ul li,
#sp-top2 .fisinger-top2-nav li ul li {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

#sp-top2 ul.fisinger-top2-nav li ul li a,
#sp-top2 ul.fisinger-top2-nav li ul li span,
#sp-top2 .fisinger-top2-nav li ul li a,
#sp-top2 .fisinger-top2-nav li ul li span {
	display: block !important;
	width: 100%;
	height: auto !important;
	min-height: 32px !important;
	padding: 7px 14px !important;
	color: var(--f-blue) !important;
	background: var(--f-white) !important;
	font-family: "Nunito Sans", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
	text-align: left;
}

#sp-top2 ul.fisinger-top2-nav li ul li a:hover,
#sp-top2 .fisinger-top2-nav li ul li a:hover,
#sp-top2 ul.fisinger-top2-nav li ul li.active > a,
#sp-top2 .fisinger-top2-nav li ul li.active > a {
	color: var(--f-orange) !important;
	background: var(--f-orange-soft) !important;
}

#sp-top2 ul.fisinger-top2-nav li ul li ul,
#sp-top2 .fisinger-top2-nav li ul li ul {
	top: -6px;
	right: 100%;
	left: auto;
	margin-right: 6px !important;
}

#sp-top2 ul.fisinger-top2-nav > li.active > a,
#sp-top2 .fisinger-top2-nav > ul > li.active > a,
#sp-top2 .fisinger-top2-nav ul.menu > li.active > a {
	color: var(--f-white) !important;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1.5px;
}

/* =========================================================
   Sticky Header / Hauptnavigation
   Helix: #sp-header / .sp-megamenu-parent
   ========================================================= */

/* Kein künstlicher Abstand */
body:not(.layout-edit-iframe) #sp-main-body,
body:not(.layout-edit-iframe) .body-wrapper {
	padding-top: 0 !important;
}

/* Header bleibt im Seitenfluss und klebt erst beim Scrollen oben */
#sp-header,
#sp-header.header-sticky,
#sp-header.menu-fixed,
#sp-header.header-sticky-custom,
body:not(.layout-edit-iframe) #sp-header {
	position: sticky !important;
	position: -webkit-sticky !important;
	top: 0 !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	z-index: 1190 !important;
	background: rgba(255, 255, 255, 0.97) !important;
	height: var(--f-header-height) !important;
	min-height: var(--f-header-height) !important;
	border-bottom: 1px solid var(--f-border-soft) !important;
	box-shadow: 0 5px 18px rgba(64, 78, 103, 0.06) !important;
	backdrop-filter: blur(16px);
	transform: none !important;
	animation: none !important;
}

/* Falls Helix eine Sticky-Wrapper-Höhe setzt */
#sp-header-sticky-wrapper,
.sticky-wrapper {
	height: auto !important;
}

#sp-header .container,
#sp-header .container-inner {
	max-width: 1320px !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#sp-header .row {
	width: 100% !important;
	min-height: var(--f-header-height) !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	align-items: center !important;
}

#sp-header .sp-column,
#sp-logo,
#sp-menu {
	min-height: var(--f-header-height) !important;
	display: flex !important;
	align-items: center !important;
}

#sp-logo {
	justify-content: flex-start !important;
}

#sp-menu {
	justify-content: flex-end !important;
	margin-left: auto !important;
	padding-right: 0 !important;
}

#sp-logo .logo,
#sp-logo a.logo {
	display: flex !important;
	align-items: center !important;
}

#sp-logo .logo-image,
#sp-logo img {
	max-height: 58px !important;
	width: auto !important;
}

#sp-menu .sp-column,
#sp-menu .sp-megamenu-wrapper,
#sp-menu nav {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin-right: 0 !important;
	padding-right: 0 !important;
}

#sp-menu .sp-megamenu-parent,
.sp-megamenu-parent {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	float: none !important;
	height: var(--f-header-height) !important;
	list-style: none !important;
}

.sp-megamenu-parent > li {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	height: var(--f-header-height) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.sp-megamenu-parent > li > .menu-toggler,
.sp-megamenu-parent > li > .sp-menu-toggler,
.sp-megamenu-parent > li > .fa,
.sp-megamenu-parent > li > .fas,
.sp-megamenu-parent > li > .caret,
.sp-megamenu-parent > li > a .menu-toggler,
.sp-megamenu-parent > li > span .menu-toggler,
.sp-megamenu-parent > li > a .sp-menu-toggler,
.sp-megamenu-parent > li > span .sp-menu-toggler,
.sp-megamenu-parent > li > a .fa,
.sp-megamenu-parent > li > span .fa,
.sp-megamenu-parent > li > a .fas,
.sp-megamenu-parent > li > span .fas,
.sp-megamenu-parent > li > a .caret,
.sp-megamenu-parent > li > span .caret {
	display: none !important;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: var(--f-header-height) !important;
	line-height: var(--f-header-height) !important;
	padding: 0 17px !important;
	color: var(--f-blue) !important;
	background: transparent !important;
	font-family: "Nunito Sans", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	white-space: nowrap !important;
	text-decoration: none !important;
}

.sp-megamenu-parent > li:last-child > a,
.sp-megamenu-parent > li:last-child > span {
	padding-right: 0 !important;
}

.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li:hover > span,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.active > span {
	color: var(--f-orange) !important;
}

.sp-megamenu-parent > li.active > a::after,
.sp-megamenu-parent > li.active > span::after {
	content: none !important;
	display: none !important;
}

.sp-megamenu-parent > li.active > a::before,
.sp-megamenu-parent > li.active > span::before {
	content: "" !important;
	position: absolute !important;
	left: 17px !important;
	right: 17px !important;
	bottom: 21px !important;
	height: 2px !important;
	background: var(--f-orange) !important;
	border-radius: 99px !important;
}

.sp-megamenu-parent > li:last-child.active > a::before,
.sp-megamenu-parent > li:last-child.active > span::before {
	right: 0 !important;
}

.sp-megamenu-parent > li.sp-has-child > a::after,
.sp-megamenu-parent > li.sp-has-child > span::after,
.sp-megamenu-parent > li.parent > a::after,
.sp-megamenu-parent > li.parent > span::after,
.sp-megamenu-parent > li.deeper > a::after,
.sp-megamenu-parent > li.deeper > span::after,
.sp-megamenu-parent > li:has(.sp-dropdown) > a::after,
.sp-megamenu-parent > li:has(.sp-dropdown) > span::after {
	content: "" !important;
	display: inline-block !important;
	width: 6px !important;
	height: 6px !important;
	margin-left: 8px !important;
	margin-top: -4px !important;
	border-right: 2px solid currentColor !important;
	border-bottom: 2px solid currentColor !important;
	transform: rotate(45deg) !important;
	opacity: 0.9 !important;
	flex: 0 0 auto !important;
}

/* NEU-Badges */
.sp-megamenu-parent .sp-menu-badge,
.sp-megamenu-parent .badge,
.sp-megamenu-parent .label,
.badge,
.label,
.sp-menu-badge,
.fisinger-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: 7px !important;
	padding: 2px 6px !important;
	background: var(--f-orange) !important;
	color: var(--f-white) !important;
	border-radius: 4px !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em !important;
	vertical-align: middle !important;
}

/* Hauptmenü Dropdown / Megamenu – Hover wie Top2 */
.sp-megamenu-parent .sp-dropdown {
	top: var(--f-header-height) !important;
	z-index: 1045 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	background: var(--f-white) !important;
	border: 1px solid var(--f-border-soft) !important;
	border-radius: 12px !important;
	box-shadow: 0 14px 32px rgba(64, 78, 103, 0.16) !important;
	padding: 6px 0 !important;
}

.sp-megamenu-parent .sp-dropdown ul,
.sp-megamenu-parent .sp-dropdown li,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner > ul,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner .sp-dropdown-items {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner > ul > li > a,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner > ul > li > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-mega-group > li > a,
.sp-megamenu-parent .sp-dropdown .sp-mega-group > li > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-group-title {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 32px !important;
	padding: 7px 14px !important;
	color: var(--f-blue) !important;
	background: transparent !important;
	font-family: "Nunito Sans", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner > ul > li:hover > a,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner > ul > li:hover > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-mega-group > li:hover > a,
.sp-megamenu-parent .sp-dropdown .sp-mega-group > li:hover > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown .sp-group-title:hover {
	color: var(--f-orange) !important;
	background: var(--f-orange-soft) !important;
}

.sp-megamenu-parent .sp-dropdown li:hover {
	background: transparent !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-menu-item > span:not(.sp-menu-badge):not(.badge):not(.label),
.sp-megamenu-parent .sp-dropdown a.active,
.sp-megamenu-parent .sp-dropdown a.current,
.sp-megamenu-parent .sp-dropdown a.current-item,
.sp-megamenu-parent .sp-dropdown a.current-menu-item,
.sp-megamenu-parent .sp-dropdown li.active > a,
.sp-megamenu-parent .sp-dropdown li.current > a,
.sp-megamenu-parent .sp-dropdown li.current-item > a,
.sp-megamenu-parent .sp-dropdown li.current-menu-item > a {
	color: var(--f-orange) !important;
	background: var(--f-orange-soft) !important;
	font-weight: 800 !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.active > a,
.sp-megamenu-parent .sp-dropdown li.current > a,
.sp-megamenu-parent .sp-dropdown li.current-item > a,
.sp-megamenu-parent .sp-dropdown li.current-menu-item > a {
	position: relative !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a::before,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current > a::before,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a::before,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-menu-item > a::before,
.sp-megamenu-parent .sp-dropdown li.active > a::before,
.sp-megamenu-parent .sp-dropdown li.current > a::before,
.sp-megamenu-parent .sp-dropdown li.current-item > a::before,
.sp-megamenu-parent .sp-dropdown li.current-menu-item > a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	bottom: 8px;
	width: 3px;
	background: var(--f-orange);
	border-radius: 0 3px 3px 0;
}

.sp-megamenu-parent .sp-dropdown .sp-menu-badge,
.sp-megamenu-parent .sp-dropdown .badge,
.sp-megamenu-parent .sp-dropdown .label,
.sp-megamenu-parent .sp-dropdown li:hover .sp-menu-badge,
.sp-megamenu-parent .sp-dropdown li:hover .badge,
.sp-megamenu-parent .sp-dropdown li:hover .label,
.sp-megamenu-parent .sp-dropdown a:hover .sp-menu-badge,
.sp-megamenu-parent .sp-dropdown a:hover .badge,
.sp-megamenu-parent .sp-dropdown a:hover .label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: auto !important;
	min-height: auto !important;
	margin-left: 8px !important;
	padding: 2px 6px !important;
	color: var(--f-white) !important;
	background: var(--f-orange) !important;
	border-radius: 4px !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em !important;
	text-align: center !important;
	white-space: nowrap !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-has-child > a::after,
.sp-megamenu-parent .sp-dropdown li.parent > a::after,
.sp-megamenu-parent .sp-dropdown li.deeper > a::after,
.sp-megamenu-parent .sp-dropdown li:has(.sp-dropdown) > a::after,
.sp-megamenu-parent .sp-dropdown li:has(ul) > a::after {
	content: "";
	display: inline-block !important;
	width: 5px;
	height: 5px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(-45deg);
	opacity: 0.8;
}

.sp-megamenu-parent .sp-dropdown a .fa,
.sp-megamenu-parent .sp-dropdown a .fas,
.sp-megamenu-parent .sp-dropdown a .caret,
.sp-megamenu-parent .sp-dropdown a .menu-toggler,
.sp-megamenu-parent .sp-dropdown span .fa,
.sp-megamenu-parent .sp-dropdown span .fas,
.sp-megamenu-parent .sp-dropdown span .caret,
.sp-megamenu-parent .sp-dropdown span .menu-toggler {
	display: none !important;
}

/* =========================================================
   Offcanvas / Mobile Menü
   ========================================================= */

.burger-icon > span {
	background-color: var(--f-blue) !important;
}

.offcanvas-menu {
	background: var(--f-white);
}

.offcanvas-menu .offcanvas-inner ul.menu > li a,
.offcanvas-menu .offcanvas-inner ul.menu > li span {
	color: var(--f-blue);
	font-family: "Nunito Sans", Arial, sans-serif;
	font-weight: 700;
}

.offcanvas-menu .offcanvas-inner ul.menu > li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu > li a:hover {
	color: var(--f-orange);
}

/* =========================================================
   Hero / Startbereich
   Klasse am Section-Wrapper: fisinger-hero
   ========================================================= */

.fisinger-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 22%, rgba(64, 78, 103, 0.13), transparent 30%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fc 56%, #eef3f8 100%);
	border-bottom: 1px solid var(--f-border-soft);
	padding: 80px 0 76px;
}

.fisinger-hero::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 150px;
	height: 260px;
	background-image: radial-gradient(rgba(64, 78, 103, 0.22) 1.4px, transparent 1.4px);
	background-size: 14px 14px;
	opacity: 0.42;
}

.fisinger-hero h1,
.fisinger-hero .sppb-addon-title {
	color: var(--f-blue-deep);
	font-size: clamp(38px, 4.5vw, 56px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: 0.012em;
	margin-bottom: 16px;
}

.fisinger-hero p,
.fisinger-hero .sppb-addon-content {
	color: var(--f-blue);
	font-size: 19px;
	font-weight: 500;
}

/* =========================================================
   Domain-Suche
   Klasse am Modul/Add-on: fisinger-domain-search
   ========================================================= */

.fisinger-domain-search {
	display: flex;
	width: min(650px, 100%);
	height: 58px;
	background: var(--f-white);
	border: 1px solid var(--f-border);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: var(--f-shadow);
}

.fisinger-domain-search input[type="text"],
.fisinger-domain-search input[type="search"] {
	flex: 1;
	height: 58px;
	border: none;
	outline: none;
	padding: 0 22px;
	color: var(--f-blue);
	font-size: 19px;
	font-weight: 500;
	background: var(--f-white);
}

.fisinger-domain-search input::placeholder {
	color: var(--f-text-muted);
	opacity: 0.9;
}

.fisinger-domain-search button,
.fisinger-domain-search input[type="submit"] {
	width: 72px;
	min-width: 72px;
	height: 58px;
	border: none;
	background: var(--f-orange);
	color: var(--f-white);
	font-size: 22px;
	font-weight: 800;
	cursor: pointer;
	transition: all 0.2s ease;
}

.fisinger-domain-search button:hover,
.fisinger-domain-search input[type="submit"]:hover {
	background: var(--f-orange-hover);
}

/* =========================================================
   Buttons
   ========================================================= */

.btn,
.sppb-btn,
button,
input[type="submit"] {
	font-family: "Nunito Sans", Arial, sans-serif;
	font-weight: 800;
	border-radius: 10px;
	transition: all 0.2s ease;
}

.btn-primary,
.sppb-btn-primary {
	background: var(--f-orange);
	border-color: var(--f-orange);
	color: var(--f-white);
	box-shadow: 0 12px 26px rgba(235, 92, 44, 0.24);
}

.btn-primary:hover,
.btn-primary:focus,
.sppb-btn-primary:hover,
.sppb-btn-primary:focus {
	background: var(--f-orange-hover);
	border-color: var(--f-orange-hover);
	color: var(--f-white);
	transform: translateY(-1px);
}

.btn-secondary,
.sppb-btn-secondary {
	background: var(--f-blue);
	border-color: var(--f-blue);
	color: var(--f-white);
}

.btn-secondary:hover,
.sppb-btn-secondary:hover {
	background: var(--f-blue-dark);
	border-color: var(--f-blue-dark);
	color: var(--f-white);
}

/* =========================================================
   Content Sections
   ========================================================= */

#sp-main-body {
	background: var(--f-bg);
	color: var(--f-text);
}

.fisinger-section-light {
	background: var(--f-white);
}

.fisinger-section-muted {
	background: var(--f-blue-soft);
}

.fisinger-section-title,
.fisinger-section-title .sppb-addon-title {
	color: var(--f-blue-deep);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	letter-spacing: 0.01em;
	margin-bottom: 28px;
	position: relative;
}

.fisinger-section-title::after,
.fisinger-section-title .sppb-addon-title::after {
	content: "";
	display: block;
	width: 58px;
	height: 2px;
	background: var(--f-orange);
	margin-top: 9px;
	border-radius: 99px;
}

/* =========================================================
   Cards / Feature Boxen
   ========================================================= */

.fisinger-card,
.sppb-addon-feature.fisinger-card,
.fisinger-feature-card {
	background: var(--f-white);
	border: 1px solid var(--f-border-soft);
	border-radius: 14px;
	box-shadow: var(--f-shadow-soft);
	padding: 28px;
}

.fisinger-card h3,
.fisinger-card .sppb-addon-title,
.fisinger-feature-card h3,
.fisinger-feature-card .sppb-addon-title {
	color: var(--f-blue-deep);
	font-size: 20px;
	font-weight: 800;
}

.fisinger-card p,
.fisinger-card .sppb-addon-content,
.fisinger-feature-card p,
.fisinger-feature-card .sppb-addon-content {
	color: var(--f-text-muted);
}

.fisinger-icon-orange i,
.fisinger-icon-orange svg,
.fisinger-icon-orange .sppb-icon {
	color: var(--f-orange);
	fill: var(--f-orange);
}

.fisinger-icon-blue i,
.fisinger-icon-blue svg,
.fisinger-icon-blue .sppb-icon {
	color: var(--f-blue);
	fill: var(--f-blue);
}

.fisinger-round-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--f-white);
	color: var(--f-orange);
	box-shadow: var(--f-shadow-soft);
	font-size: 24px;
}

.fisinger-round-icon.blue {
	color: var(--f-blue);
}

/* =========================================================
   Feature Grid rechts
   Klasse am Container: fisinger-feature-grid
   ========================================================= */

.fisinger-feature-grid {
	background: var(--f-white);
	border: 1px solid var(--f-border);
	border-radius: 12px;
	box-shadow: var(--f-shadow-soft);
	overflow: hidden;
}

.fisinger-feature-grid .sppb-row,
.fisinger-feature-grid .row {
	margin-left: 0;
	margin-right: 0;
}

.fisinger-feature-grid .sppb-column,
.fisinger-feature-grid [class*="col-"] {
	border-right: 1px solid var(--f-border-soft);
	border-bottom: 1px solid var(--f-border-soft);
	padding: 24px 28px;
}

.fisinger-feature-grid .sppb-column:nth-child(2n),
.fisinger-feature-grid [class*="col-"]:nth-child(2n) {
	border-right: none;
}

.fisinger-feature-grid h3,
.fisinger-feature-grid .sppb-addon-title {
	color: var(--f-blue);
	font-size: 16px;
	line-height: 1.35;
	font-weight: 800;
	margin-bottom: 0;
}

.fisinger-feature-grid p,
.fisinger-feature-grid .sppb-addon-content {
	color: var(--f-blue-deep);
	font-size: 15px;
}

/* =========================================================
   Forms
   ========================================================= */

input,
textarea,
select,
.form-control {
	border: 1px solid var(--f-border);
	border-radius: 8px;
	color: var(--f-blue);
	background: var(--f-white);
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus {
	border-color: var(--f-blue);
	box-shadow: 0 0 0 3px rgba(64, 78, 103, 0.12);
	outline: none;
}

/* =========================================================
   Footer
   ========================================================= */

#sp-footer,
#sp-bottom {
	background: var(--f-blue-dark);
	color: rgba(255, 255, 255, 0.78);
}

#sp-footer a,
#sp-bottom a {
	color: rgba(255, 255, 255, 0.86);
}

#sp-footer a:hover,
#sp-bottom a:hover {
	color: var(--f-orange);
}

#sp-bottom h3,
#sp-bottom .sp-module-title {
	color: var(--f-white);
	font-weight: 800;
}

/* =========================================================
   FINAL CLEAN OVERRIDE
   Sticky per JS + sauberes Menü
   Wichtig: Dies ist der einzige finale Header/Mobile/Menu-Override.
   ========================================================= */

/* Basis-Höhen passend zu Helix */
:root {
	--f-header-height: 85px;
	--f-header-height-mobile: 76px;
}

/* Topbar bleibt normal im Seitenfluss, Dropdown aber über Header */
#sp-top-bar {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	z-index: 1300 !important;
}

#sp-top2,
#sp-top2 .sp-column,
#sp-top2 .sp-module,
#sp-top2 .sp-module-content,
#sp-top2 ul.fisinger-top2-nav,
#sp-top2 .fisinger-top2-nav {
	position: relative !important;
	z-index: 1310 !important;
}

#sp-top2 ul.fisinger-top2-nav li ul,
#sp-top2 .fisinger-top2-nav li ul {
	z-index: 1400 !important;
}

/* Keine globalen Sprung-Abstände */
body:not(.layout-edit-iframe) #sp-main-body,
body:not(.layout-edit-iframe) .body-wrapper {
	padding-top: 0 !important;
}

/* Header im Normalzustand NICHT sticky/fixed, sondern im Seitenfluss */
#sp-header,
#sp-header.header-sticky,
#sp-header.menu-fixed,
#sp-header.header-sticky-custom,
body:not(.layout-edit-iframe) #sp-header {
	position: relative !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	z-index: 1200 !important;
	height: var(--f-header-height) !important;
	min-height: var(--f-header-height) !important;
	background: rgba(255, 255, 255, 0.97) !important;
	border-bottom: 1px solid var(--f-border-soft) !important;
	box-shadow: 0 5px 18px rgba(64, 78, 103, 0.06) !important;
	backdrop-filter: blur(16px);
	transform: none !important;
	animation: none !important;
}

/* JS-Klasse: Header klebt oben */
#sp-header.fisinger-header-fixed,
body:not(.layout-edit-iframe) #sp-header.fisinger-header-fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1200 !important;
}

/* Platzhalter gegen Layout-Sprung */
#fisinger-header-placeholder {
	display: none !important;
	height: var(--f-header-height) !important;
}

#fisinger-header-placeholder.is-active {
	display: block !important;
}

/* Header-Innenhöhe */
#sp-header .container,
#sp-header .container-inner,
#sp-header .row,
#sp-header .sp-column,
#sp-logo,
#sp-menu {
	min-height: var(--f-header-height) !important;
}

#sp-header .row {
	align-items: center !important;
}

/* Menü rechtsbündig */
#sp-menu,
#sp-menu > .sp-column,
#sp-menu .sp-column,
#sp-menu .sp-megamenu-wrapper,
#sp-menu nav {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin-left: auto !important;
}

/* Desktop-Navigation */
@media (min-width: 992px) {
	#sp-menu .sp-megamenu-wrapper,
	#sp-menu nav.sp-megamenu-wrapper,
	#sp-menu .sp-megamenu-parent,
	.sp-megamenu-parent {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	.sp-megamenu-parent > li {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		height: var(--f-header-height) !important;
	}

	.sp-megamenu-parent > li > a,
	.sp-megamenu-parent > li > span {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		height: var(--f-header-height) !important;
		line-height: var(--f-header-height) !important;
		text-decoration: none !important;
		border-bottom: none !important;
		box-shadow: none !important;
	}

	/* Alle alten Linien und CSS-Pfeile zunächst entfernen */
	.sp-megamenu-parent > li > a::before,
	.sp-megamenu-parent > li > span::before,
	.sp-megamenu-parent > li > a::after,
	.sp-megamenu-parent > li > span::after {
		content: none !important;
		display: none !important;
	}

	/* Native Helix-/FontAwesome-Pfeile entfernen */
	.sp-megamenu-parent > li > .menu-toggler,
	.sp-megamenu-parent > li > .sp-menu-toggler,
	.sp-megamenu-parent > li > .caret,
	.sp-megamenu-parent > li > .fa,
	.sp-megamenu-parent > li > .fas,
	.sp-megamenu-parent > li > a .menu-toggler,
	.sp-megamenu-parent > li > a .sp-menu-toggler,
	.sp-megamenu-parent > li > a .caret,
	.sp-megamenu-parent > li > a .fa,
	.sp-megamenu-parent > li > a .fas,
	.sp-megamenu-parent > li > span .menu-toggler,
	.sp-megamenu-parent > li > span .sp-menu-toggler,
	.sp-megamenu-parent > li > span .caret,
	.sp-megamenu-parent > li > span .fa,
	.sp-megamenu-parent > li > span .fas {
		display: none !important;
	}

	/* Nur eine aktive Linie */
	.sp-megamenu-parent > li.active > a,
	.sp-megamenu-parent > li.active > span,
	.sp-megamenu-parent > li.current-item > a,
	.sp-megamenu-parent > li.current-item > span {
		color: var(--f-orange) !important;
	}

	.sp-megamenu-parent > li.active > a::before,
	.sp-megamenu-parent > li.active > span::before,
	.sp-megamenu-parent > li.current-item > a::before,
	.sp-megamenu-parent > li.current-item > span::before {
		content: "" !important;
		display: block !important;
		position: absolute !important;
		left: 17px !important;
		right: 17px !important;
		bottom: 21px !important;
		height: 2px !important;
		background: var(--f-orange) !important;
		border-radius: 99px !important;
	}

	/* Nur ein Pfeil auf erster Ebene bei Untermenüs */
	.sp-megamenu-parent > li.sp-has-child > a::after,
	.sp-megamenu-parent > li.sp-has-child > span::after,
	.sp-megamenu-parent > li.parent > a::after,
	.sp-megamenu-parent > li.parent > span::after,
	.sp-megamenu-parent > li.deeper > a::after,
	.sp-megamenu-parent > li.deeper > span::after {
		content: "" !important;
		display: inline-block !important;
		width: 6px !important;
		height: 6px !important;
		margin-left: 8px !important;
		margin-top: -4px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
		opacity: 0.9 !important;
		position: relative !important;
		background: transparent !important;
		border-radius: 0 !important;
	}

	/* Dropdown-Pfeile bereinigen */
	.sp-megamenu-parent .sp-dropdown li > a::after,
	.sp-megamenu-parent .sp-dropdown li > span::after {
		content: none !important;
		display: none !important;
	}

	.sp-megamenu-parent .sp-dropdown li.sp-has-child > a::after,
	.sp-megamenu-parent .sp-dropdown li.parent > a::after,
	.sp-megamenu-parent .sp-dropdown li.deeper > a::after {
		content: "" !important;
		display: inline-block !important;
		width: 5px !important;
		height: 5px !important;
		margin-left: 8px !important;
		border-right: 1.5px solid currentColor !important;
		border-bottom: 1.5px solid currentColor !important;
		transform: rotate(-45deg) !important;
		opacity: 0.8 !important;
		position: relative !important;
		background: transparent !important;
	}
}

/* Mobile: nur Burger zeigen, keine Desktop-Navigation */
@media (max-width: 991px) {
	#sp-header,
	#sp-header.header-sticky,
	#sp-header.menu-fixed,
	#sp-header.header-sticky-custom,
	body:not(.layout-edit-iframe) #sp-header {
		height: var(--f-header-height-mobile) !important;
		min-height: var(--f-header-height-mobile) !important;
	}

	#fisinger-header-placeholder {
		height: var(--f-header-height-mobile) !important;
	}

	#sp-header .container,
	#sp-header .container-inner,
	#sp-header .row,
	#sp-header .sp-column,
	#sp-logo,
	#sp-menu {
		min-height: var(--f-header-height-mobile) !important;
	}

	#sp-logo .logo-image,
	#sp-logo img {
		max-height: 48px !important;
	}

	/* Nur die UL/LI der Desktop-Navigation ausblenden.
	   Den Wrapper NICHT verstecken, damit der Burger nicht mit verschwindet. */
	#sp-menu .sp-megamenu-parent,
	#sp-menu .sp-megamenu-parent > li,
	.sp-megamenu-parent {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	#sp-menu,
	#sp-menu > .sp-column,
	#sp-menu .sp-column,
	#sp-menu .sp-megamenu-wrapper,
	#sp-menu nav {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		margin-left: auto !important;
	}

	#offcanvas-toggler,
	a#offcanvas-toggler,
	#sp-header #offcanvas-toggler,
	#sp-menu #offcanvas-toggler,
	.offcanvas-toggler,
	.offcanvas-toggler-secondary,
	.offcanvas-toggler-right,
	a.offcanvas-toggler,
	a.offcanvas-toggler-secondary,
	a.offcanvas-toggler-right {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		position: relative !important;
		z-index: 1300 !important;
		margin-left: auto !important;
		color: var(--f-blue) !important;
		width: 34px !important;
		height: 34px !important;
		background: transparent !important;
	}

	#offcanvas-toggler.d-none,
	#offcanvas-toggler.d-lg-none,
	.offcanvas-toggler.d-none,
	.offcanvas-toggler.d-lg-none,
	.offcanvas-toggler-secondary.d-none,
	.offcanvas-toggler-secondary.d-lg-none {
		display: inline-flex !important;
	}

	/* Burger-Icon notfalls selbst zeichnen */
	#offcanvas-toggler::before,
	a#offcanvas-toggler::before,
	.offcanvas-toggler-secondary::before {
		content: "" !important;
		display: block !important;
		width: 28px !important;
		height: 2px !important;
		background: var(--f-blue) !important;
		border-radius: 99px !important;
		box-shadow:
			0 -8px 0 var(--f-blue),
			0 8px 0 var(--f-blue) !important;
	}

	#offcanvas-toggler .burger-icon,
	.offcanvas-toggler-secondary .burger-icon {
		display: none !important;
	}
}

@media (max-width: 575px) {
	#sp-top-bar {
		font-size: 12px;
	}

	#sp-logo .logo-image,
	#sp-logo img {
		max-height: 46px !important;
	}

	.fisinger-hero h1,
	.fisinger-hero .sppb-addon-title {
		font-size: 34px;
	}

	.fisinger-domain-search {
		width: 100%;
	}

	.fisinger-domain-search button,
	.fisinger-domain-search input[type="submit"] {
		width: 62px;
		min-width: 62px;
	}
}

/* =========================================================
   FINAL AESTHETIC HEADER ALIGNMENT
   - Top2 ausblenden, sobald Burger-Menü aktiv ist
   - Logo links bündig wie Topbar-Text
   - Hauptnavigation rechts bündig wie Topbar-Login
   ========================================================= */

/* Desktop: Header-Inhalt exakt auf Topbar-Breite ausrichten */
@media (min-width: 992px) {
	#sp-header .container,
	#sp-header .container-inner {
		max-width: 1320px !important;
		width: 100% !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#sp-header .row {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Logo optisch links mit Topbar-Text bündig ziehen */
	#sp-logo {
		padding-left: 0 !important;
		margin-left: -20px !important;
	}

	#sp-logo .sp-column,
	#sp-logo .logo,
	#sp-logo a.logo {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	/* Navigation optisch rechts mit Topbar-Login bündig ziehen */
	#sp-menu {
		padding-right: 0 !important;
		margin-right: -25px !important;
	}

	#sp-menu .sp-column,
	#sp-menu .sp-megamenu-wrapper,
	#sp-menu nav {
		padding-right: 0 !important;
		margin-right: 0 !important;
		justify-content: flex-end !important;
	}

	.sp-megamenu-parent {
		margin-right: 0 !important;
		padding-right: 0 !important;
	}

	.sp-megamenu-parent > li:last-child > a,
	.sp-megamenu-parent > li:last-child > span {
		padding-right: 0 !important;
	}
}

/* Top2 nur anzeigen, solange das Desktop-Menü aktiv ist.
   Sobald der Burger erscheint, wird Top2 ausgeblendet. */
@media (max-width: 991px) {
	#sp-top2 {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	#sp-top-bar .row {
		justify-content: flex-start !important;
	}

	#sp-top1 {
		width: 100% !important;
		max-width: 100% !important;
		justify-content: flex-start !important;
	}
}

/* Kleine Korrektur für sehr schmale Ansichten */
@media (max-width: 575px) {
	#sp-top1 .sp-contact-info li {
		margin-right: 10px !important;
	}
}
