/* B2 Global Footer v1.0.0 */

/* Falls noch ein alter manuell eingefügter B2-Footer auf einer Seite vorhanden ist,
   wird nur dieser ausgeblendet. Der globale Plugin-Footer bleibt sichtbar. */
.b2-footer:not(#b2-global-footer){
	display:none!important;
}

#b2-global-footer.b2-footer{
	--green:#56862d;
	--muted:rgba(255,255,255,.62);
	--border:rgba(255,255,255,.1);
	position:relative;
	left:50%;
	width:100vw;
	margin-left:-50vw;
	margin-bottom:0;
	padding:40px 24px 0;
	box-sizing:border-box;
	background:#101413;
	color:#fff;
}

#b2-global-footer .b2-footer__inner{
	width:min(100%,1280px);
	margin:0 auto;
	background:transparent;
}

#b2-global-footer .b2-footer__top{
	display:grid;
	grid-template-columns:minmax(300px,1.15fr) .62fr .55fr 1fr;
	gap:42px;
	padding-bottom:18px;
}

#b2-global-footer .b2-footer__brand{
	display:inline-flex;
	align-items:center;
	gap:14px;
	margin-bottom:16px;
	text-decoration:none;
}

#b2-global-footer .b2-footer__logo{
	display:block;
	width:92px;
	max-width:100%;
	height:auto;
	flex:0 0 92px;
}

#b2-global-footer .b2-footer__brand-text{
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:0;
}

#b2-global-footer .b2-footer__brand-text strong{
	color:#fff;
	font-size:16px;
	font-weight:800;
	line-height:1.2;
}

#b2-global-footer .b2-footer__brand-text small{
	color:rgba(255,255,255,.54);
	font-size:9px;
	line-height:1.35;
}

#b2-global-footer .b2-footer__claim{
	max-width:420px;
	margin:0;
	color:var(--muted);
	font-size:11px;
	line-height:1.62;
}

#b2-global-footer .b2-footer__contactdata{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:5px 16px;
	max-width:440px;
	margin-top:12px;
}

#b2-global-footer .b2-footer__contactdata p,
#b2-global-footer .b2-footer__contactdata a{
	margin:0;
	color:rgba(255,255,255,.5);
	font-size:10px;
	line-height:1.45;
	text-decoration:none;
}

#b2-global-footer .b2-footer__contactdata a{
	transition:color .22s ease;
}

#b2-global-footer .b2-footer__contactdata a:hover{
	color:#fff;
}

#b2-global-footer .b2-footer__column h3{
	margin:0 0 18px;
	color:#fff;
	font-size:11px;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.08em;
	text-transform:uppercase;
}

#b2-global-footer .b2-footer__column ul{
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}

#b2-global-footer .b2-footer__column li,
#b2-global-footer .b2-footer__column a{
	color:var(--muted);
	font-size:11px;
	line-height:1.45;
}

#b2-global-footer .b2-footer__column a{
	text-decoration:none;
	transition:color .22s ease,transform .22s ease;
}

#b2-global-footer .b2-footer__column a:hover{
	color:#fff;
	transform:translateX(2px);
}

#b2-global-footer .b2-footer__column--qualifications li{
	position:relative;
	padding-left:16px;
}

#b2-global-footer .b2-footer__column--qualifications li::before{
	content:"";
	position:absolute;
	top:.52em;
	left:0;
	width:5px;
	height:5px;
	background:var(--green);
	border-radius:50%;
}

#b2-global-footer .b2-footer__bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:10px 0 12px;
	margin-top:0;
	border-top:0;
	background:transparent;
}

#b2-global-footer .b2-footer__bottom p{
	margin:0;
	color:rgba(255,255,255,.48);
	font-size:9px;
	line-height:1.5;
}

#b2-global-footer .b2-footer__since{
	white-space:nowrap;
}

@media (max-width:1050px){
	#b2-global-footer .b2-footer__top{
		grid-template-columns:1.2fr .7fr .7fr;
	}

	#b2-global-footer .b2-footer__column--qualifications{
		grid-column:1 / -1;
		padding-top:30px;
		border-top:1px solid var(--border);
	}

	#b2-global-footer .b2-footer__column--qualifications ul{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:700px){
	#b2-global-footer.b2-footer{
		padding:36px 20px 0;
	}

	#b2-global-footer .b2-footer__top{
		grid-template-columns:1fr 1fr;
		gap:28px 24px;
	}

	#b2-global-footer .b2-footer__brand-column{
		grid-column:1 / -1;
	}

	#b2-global-footer .b2-footer__column--qualifications{
		grid-column:1 / -1;
	}

	#b2-global-footer .b2-footer__column--qualifications ul{
		grid-template-columns:1fr;
	}

	#b2-global-footer .b2-footer__bottom{
		align-items:flex-start;
		flex-direction:column;
		gap:8px;
	}
}

@media (max-width:440px){
	#b2-global-footer .b2-footer__top{
		grid-template-columns:1fr;
	}

	#b2-global-footer .b2-footer__column--qualifications{
		grid-column:auto;
	}

	#b2-global-footer .b2-footer__logo{
		width:82px;
	}
}




/* Kontaktblock: Telefon, E-Mail und Instagram mit Icons in einer Zeile;
   Adresse separat darunter. */
.b2-footer__contactdata{
	display:grid;
	gap:7px;
	margin-top:12px;
}

.b2-footer__contactrow{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:14px;
}

.b2-footer__contactitem{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:rgba(255,255,255,.58);
	font-size:9px;
	line-height:1.45;
	text-decoration:none;
	white-space:nowrap;
	transition:color .22s ease;
}

.b2-footer__contactitem:hover{
	color:#fff;
}

.b2-footer__contacticon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:14px;
	height:14px;
	flex:0 0 14px;
	color:var(--green);
}

.b2-footer__contacticon svg{
	display:block;
	width:14px;
	height:14px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.55;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.b2-footer__addressline{
	display:flex;
	align-items:center;
	gap:6px;
	margin:0;
	color:rgba(255,255,255,.58);
	font-size:9px;
	line-height:1.45;
}

.b2-footer__addresssep{
	display:inline-block;
	margin:0 5px;
	color:rgba(255,255,255,.36);
}

@media (max-width:520px){
	.b2-footer__contactrow{
		gap:9px 12px;
	}
}


/* ==========================================================
   v1.3.0 – kompakte Serviceleiste in der Abschlusszeile
========================================================== */

.b2-footer__contactdata,
.b2-footer__contactrow,
.b2-footer__addressline{
	display:none !important;
}

.b2-footer__bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	padding:10px 0 12px;
	margin-top:0;
	border-top:0;
	background:transparent;
}

.b2-footer__bottom-left{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px 18px;
	min-width:0;
}

.b2-footer__copyright,
.b2-footer__bottom-claim{
	margin:0;
	color:rgba(255,255,255,.48);
	font-size:9px;
	line-height:1.5;
	white-space:nowrap;
}

.b2-footer__servicebar{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px 14px;
}

.b2-footer__serviceitem{
	display:inline-flex;
	align-items:center;
	gap:5px;
	color:rgba(255,255,255,.54);
	font-size:9px;
	line-height:1.45;
	text-decoration:none;
	white-space:nowrap;
	transition:color .22s ease;
}

a.b2-footer__serviceitem:hover{
	color:#fff;
}

.b2-footer__serviceicon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:13px;
	height:13px;
	flex:0 0 13px;
	color:var(--green);
}

.b2-footer__serviceicon svg{
	display:block;
	width:13px;
	height:13px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.55;
	stroke-linecap:round;
	stroke-linejoin:round;
}

@media (max-width:1050px){
	.b2-footer__bottom{
		align-items:flex-start;
		flex-direction:column;
		gap:8px;
	}
	.b2-footer__bottom-claim{
		white-space:normal;
	}
}

@media (max-width:700px){
	.b2-footer__bottom-left{
		align-items:flex-start;
		flex-direction:column;
		gap:7px;
	}
	.b2-footer__servicebar{
		gap:7px 12px;
	}
	.b2-footer__copyright{
		white-space:normal;
	}
}

/* ==========================================================
   v1.5.2 – Markenblock auf schmalen Smartphones
   Firmenname bleibt in einer Zeile, ohne unnötigen Umbruch.
========================================================== */
@media (max-width:440px){
	#b2-global-footer .b2-footer__brand{
		gap:12px;
		max-width:100%;
	}

	#b2-global-footer .b2-footer__logo{
		width:78px;
		flex:0 0 78px;
	}

	#b2-global-footer .b2-footer__brand-text{
		min-width:0;
	}

	#b2-global-footer .b2-footer__brand-text strong{
		font-size:15px;
		white-space:nowrap;
	}
}
