@charset "UTF-8";

/* header */
div#header {
	/*width: 1000px;*/
	height: 100px;	
	background: url(../images/system/bg_header.jpg) no-repeat scroll -18% 0% #006;
	text-align: left;
	border-bottom: 0;
}

.header_main {
	background: #ffffff;
}

.header_main_mobile {
	background: #ffffff;
}

.header_main_icons_wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

#sealAusgezeichnet {
	height: 100%;
	display: flex;
	align-items: center;
}

#sealAusgezeichnet a {
	height: 100%;
	display: flex;
	align-items: center;
}

.header_seal {
	height: 90%;
	width: auto;
	object-fit: contain;
}

.header_main_mobile img {
	max-width: 200px;
}

/* Sticky Top Bar Styles */
.header_top_bar_sticky_mobile,
.header_top_bar_sticky_desktop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1001;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	background-color: #ffffff;
}

.header_top_bar_sticky_mobile {
	border-bottom: 2px solid #006;
}

.header_top_bar_sticky_desktop {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-bottom: 2px solid #006;
}

.header_top_bar_sticky_mobile .header_icon,
.header_main_mobile .header_icon {
	color: #006;
}

.header_top_bar_sticky_mobile .sticky_logo {
	max-height: 33px;
}

.header_top_bar_sticky_desktop .sticky_logo {
	max-height: 50px;
}

.header_top_bar_sticky_desktop .header_top_bar {
	padding: 0.5rem 0;
	background-color: #ffffff;
}

.header_top_bar_sticky_desktop .header_top_bar a {
	color: #006;
	text-decoration: none;
	font-size: 0.9rem;
	transition: color 0.3s ease;
}

.header_top_bar_sticky_desktop .header_top_bar a:hover {
	color: #B2CD1B;
}

.header_top_bar_sticky_desktop .header_main_content {
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
}

.header_top_bar_sticky_mobile .contact_info {
	font-size: 0.75rem;
}

.header_top_bar_sticky_mobile .contact_text,
.header_top_bar_sticky_desktop .contact_text {
	font-weight: bold;
}

div#header_slogan {
	float: left;
	color: #ffffff;	
	font-family: Arial, sans-serif;
	font-weight: normal;
	margin-top: 16px;
	text-align: left;
	/*
	font-size: 1em;
	font-size: 1em;
	*/
	font-size: 0.94em;
}

div#header_support {
	color: #036;
	font-size: 1em;
	font-weight: bold;
	background-image: url(../images/system/bg_headernav.png);
	background-repeat: no-repeat;
	height: 29px;
	background-position: left top;
	padding-top: 4px;
}

div.header_support_tel, div.header_support_mail {
    float: left;
    padding-top: 0px;
	font-size: 0.9em;
}

span.icon_mail, span.icon_tel {
	height: 16px;
	display: block;
	float: left;
	margin-left: 18px;
	margin-top: 3px;
	margin-right: 6px;
	background-repeat: no-repeat;
}

/* header top */
a.header_mailtext {
	color: #006;
	text-decoration: none;
	font-weight: bold;
}

a.header_mailtext:hover {
	color: #B2CD1B;
}

/* header icons (user, cart) */
a.header-icon-link {
	color: #034593;
	text-decoration: none;
	transition: color 0.3s ease;
}

a.header-icon-link:hover {
	color: #B2CD1B;
}

/* header search - volle Breite und vertikale Zentrierung */
#header_search {
	width: 100%;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1050;
}


div.header_support_mail {
	padding-right: 25px;	
}

/* header main */
a.redAnchor {
	color: #cf1212;
	font-weight: bold;
}

a.redAnchor:hover {
	color: #B2CD1B;
}

ul.navbar-nav li a {
	color: #fff;
}

ul.navbar-nav li a .item-title {
	color: #006;
	text-align: center;
}

ul.navbar-nav li a:hover, ul.navbar-nav li a:hover .item-title {
	color: #B2CD1B;
}

/* Header Icons vergrößern */
.header-icon-link i {
	font-size: 1.2em !important;
}

.header-icon-link svg {
	font-size: 2.25em;
}

/* Warenkorb Badge */
.cart-icon-wrapper {
	position: relative;
	display: inline-block;
}

.cart-badge {
	position: absolute;
	top: -8px;
	right: -10px;
	background: linear-gradient(135deg, #FFA500, #FF8C00);
	color: #fff;
	font-size: 0.75rem;
	font-weight: bold;
	border-radius: 50%;
	min-width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	line-height: 1;
}

.header-icon-link {
	color: #006;
	transition: color 0.3s ease;
}

.header-icon-link:hover {
	color: #B2CD1B;
}

/* Burger Menu Hover */
#navLeftToggleBtn {
	transition: color 0.3s ease;
}

#navLeftToggleBtn:hover,
#navLeftToggleBtn:hover i,
#navLeftToggleBtn:hover span {
	color: #B2CD1B !important;
}

/* responsive override */
@media (max-width: 1200px) {
	
	div#header_support {
		padding-top: 7px;
	}
	span.icon_mail, span.icon_tel {
		margin-top: 0px;
		margin-right: 2px;
	}
}

@media (max-width: 991px) {
	
	span.icon_mail, span.icon_tel {
		display: none;
	}
	
	div.header_support_tel, div.header_support_mail {
		font-size: 0.9em;
		margin-left: 18px;
	}
}


div#header_search {
	/*
	margin-top: 1em;
	padding-left: 2em;
	padding-right: 2em;
	*/
}

div#header_search input {
}

/* sm */
@media (min-width: 768px) and (max-width: 991px) {
    div.header_support_tel, div.header_support_mail {
		font-size: 12px;
	}
	
	div#header_search input {
		width: 80%;
	}
}

/* md */
@media (min-width: 992px) and (max-width: 1199px) {	
	div#header_slogan {
		margin-top: 15px;
		font-size: 15px;
	}
	
}

/* === Neue Header-Struktur === */

.header_slogan_banner {
	background-color: #034593;
	color: #ffffff;
	padding: 2px 0;
	font-size: 0.85em;
	text-align: center;
	border-bottom: 2px solid #006;
}

.header_slogan_banner .container-fluid {
	padding-left: 0;
	padding-right: 0;
}

.header_slogan_banner .row {
	margin-left: 0;
	margin-right: 0;
}

.header_slogan_content {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
}

.header_slogan_banner .slogan_text {
	font-weight: normal;
}

.header_slogan_banner .slogan_item {
	font-weight: normal;
}

.header_slogan_banner .slogan_separator {
	margin: 0 4px;
}

.header_top_bar {
	color: #006; 
	background-color: #f4f4f4; 
	border-bottom: 2px solid #006;
	padding: 8px 0;
	font-size: 0.85em;
	position: relative;
	z-index: 1000;
}

.header_top_bar .container-fluid {
	padding-left: 0;
	padding-right: 0;
}

.header_top_bar .row {
	min-height: 2em;
	align-items: center;
	margin-left: 0;
	margin-right: 0;
}

.header_top_bar .col-9 > .row > .col-12 > .row {
	margin-left: -12px;
	margin-right: -12px;
}

.header_top_bar > .container-fluid > .row > .col > .row > .col-12 > .row > .col-9,
.header_top_bar > .container-fluid > .row > .col > .row > .col-12 > .row > .col-12.col-md-3 {
	padding-left: 0;
	padding-right: 0;
}

.header_top_bar a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.header_top_bar .col-9 .col-3 a {
	margin-left: -12px;
}

@media (max-width: 768px) {
	.header_slogan_banner {
		font-size: 0.65em;
		padding: 6px 0;
	}
	.header_slogan_content {
		gap: 4px;
	}
	
	.header_top_bar {
		font-size: 0.75em;
	}
	
	.header_top_bar a,
	.header_top_bar span {
		white-space: nowrap;
	}
}

.breadcrumb_wrapper .container-fluid,
.footer_wrapper .container-fluid {
	padding-left: 0;
	padding-right: 0;
}

/* Mobile Search Container - Separater Bereich unter Top Bar */
.mobile-search-container {
	background-color: #ffffff;
	border-bottom: 1px solid #ddd;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 999;
}

/* Sticky Mobile Search Container */
#mobileStickySearchField {
	position: fixed;
	top: 49px;
	left: 0;
	right: 0;
	z-index: 1002;
	background-color: #ffffff;
	border-bottom: 1px solid #ddd;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Bootstrap 4 Input Group Fix für Mobile Search */
@media (max-width: 767px) {
	.mobile-search-container {
		animation: slideDown 0.3s ease-out;
	}
	
	.mobile-search-container .input-group {
		display: flex;
		align-items: stretch;
	}
	
	.mobile-search-container .form-control {
		height: auto;
		min-height: 38px;
		border-radius: 0.25rem 0 0 0.25rem;
		border-right: 0;
	}
	
	.mobile-search-container .btn-search {
		height: auto;
		min-height: 38px;
		border-radius: 0 0.25rem 0.25rem 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0.375rem 0.75rem;
	}
	
	.mobile-search-container .input-group .form-control,
	.mobile-search-container .input-group .btn {
		flex: 0 0 auto;
	}
	
	.mobile-search-container .input-group .form-control {
		flex: 1 1 auto;
	}
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Cookiebot Widget Mobile Optimierung */
@media (max-width: 767px) {
	#CookiebotWidget {
		bottom: 15px !important;
		right: 15px !important;
		width: 56px !important;
		height: 56px !important;
	}
	
	#CookiebotWidget button {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}
}