.fp-footer{width:100%;background:#071014;color:#D7D7D7}
.fp-footer-inner{width:100%;max-width:1280px;margin:0 auto;padding:42px 20px 22px}
.fp-footer-top{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(150px,.8fr) minmax(180px,.9fr);column-gap:70px;row-gap:32px;align-items:start}
.fp-footer-top:not(.no-second-menu):not(.no-nav):not(.no-social){grid-template-columns:minmax(280px,1.35fr) minmax(140px,.72fr) minmax(140px,.72fr) minmax(180px,.9fr)}
.fp-footer-top.no-nav.no-second-menu{grid-template-columns:minmax(300px,1.5fr) minmax(180px,.7fr)}
.fp-footer-top.no-social.no-second-menu{grid-template-columns:minmax(300px,1.5fr) minmax(160px,.7fr)}
.fp-footer-top.no-nav.no-social{grid-template-columns:1fr}
.fp-footer-col{min-width:0}
.fp-footer-heading{margin:0 0 12px;color:#39FF68;font:inherit;font-weight:800;line-height:1.25;text-transform:uppercase}
.fp-footer-text{line-height:1.55}
.fp-footer ul{list-style:none;margin:0;padding:0}
.fp-footer li{margin:0 0 6px;padding:0}
.fp-footer a{color:#D7D7D7;text-decoration:none;transition:color .18s ease}
.fp-footer a:hover{color:#39FF68}
.fp-footer-social-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px}
.fp-footer-social-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.fp-footer-social-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;border-width:1px;border-style:solid;border-color:#18342A;border-radius:50%;color:#39FF68;background:rgba(57,255,104,.015);transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease}
.fp-footer-social-icon svg{display:block;width:18px;height:18px;fill:currentColor}
.fp-footer-social-label{font-size:.92em;font-weight:700}
.fp-footer-social-link:hover .fp-footer-social-icon{transform:translateY(-2px);background:rgba(57,255,104,.04)}
.fp-footer-social-link.has-glow:hover .fp-footer-social-icon{box-shadow:0 0 18px rgba(57,255,104,.14)}
.fp-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#78908A;font-size:.82em}
.fp-footer-bottom a{color:#78908A}
.fp-footer-legal-menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0}
.fp-footer-legal-menu li{display:flex;align-items:center;margin:0}
.fp-footer-legal-menu li:not(:last-child)::after{content:"|";margin:0 6px;opacity:.55}
@media(max-width:1024px){
.fp-footer-top,.fp-footer-top:not(.no-second-menu):not(.no-nav):not(.no-social),.fp-footer-top.no-nav.no-second-menu,.fp-footer-top.no-social.no-second-menu{grid-template-columns:1.4fr 1fr 1fr;column-gap:40px}
}
@media(max-width:767px){
.fp-footer-inner{padding-top:34px}
.fp-footer-top,.fp-footer-top:not(.no-second-menu):not(.no-nav):not(.no-social),.fp-footer-top.no-nav.no-second-menu,.fp-footer-top.no-social.no-second-menu,.fp-footer-top.no-nav.no-social{grid-template-columns:1fr 1fr;column-gap:24px;row-gap:28px}
.fp-footer-brand{grid-column:1/-1}
.fp-footer-bottom{flex-direction:column;align-items:flex-start}
.fp-footer-legal-menu{justify-content:flex-start}
}
@media(max-width:480px){
.fp-footer-top,.fp-footer-top:not(.no-second-menu):not(.no-nav):not(.no-social),.fp-footer-top.no-nav.no-second-menu,.fp-footer-top.no-social.no-second-menu,.fp-footer-top.no-nav.no-social{grid-template-columns:1fr}
.fp-footer-brand,.fp-footer-social{grid-column:auto}
}


/* v1.8.4 – frei konfigurierbare Footer-Trennlinie */
.fp-footer-separator{width:100%;display:flex}
.fp-footer-separator-line{
	display:block;
	max-width:100%;
	height:1px;
	--fp-footer-divider-color:#18342A;
	background:var(--fp-footer-divider-color);
}
.fp-footer-divider-align-left .fp-footer-separator{justify-content:flex-start}
.fp-footer-divider-align-center .fp-footer-separator{justify-content:center}
.fp-footer-divider-align-right .fp-footer-separator{justify-content:flex-end}

.fp-footer-separator-line.is-dashed,
.fp-footer-separator-line.is-dotted{
	height:0 !important;
	background:none;
	border-top-width:var(--fp-footer-divider-thickness,1px);
	border-top-color:var(--fp-footer-divider-color);
}
.fp-footer-separator-line.is-dashed{border-top-style:dashed}
.fp-footer-separator-line.is-dotted{border-top-style:dotted}

.fp-footer-separator-line.has-fade.is-solid{
	background:linear-gradient(90deg,transparent 0%,var(--fp-footer-divider-color) 15%,var(--fp-footer-divider-color) 85%,transparent 100%);
}
.fp-footer-separator-line.has-glow{
	box-shadow:0 0 10px color-mix(in srgb,var(--fp-footer-divider-color) 45%,transparent);
}


/* v1.8.5 – Footer-Divider mit Icon/Pfote und Text */
.fp-footer-separator-inner{
	display:flex;
	align-items:center;
	width:100%;
	gap:14px;
}
.fp-footer-separator-inner .fp-footer-separator-line{
	flex:1 1 auto;
	width:auto !important;
	min-width:20px;
}
.fp-footer-separator-center{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	flex:0 0 auto;
	color:#39FF68;
	white-space:nowrap;
}
.fp-footer-separator-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	line-height:1;
}
.fp-footer-separator-icon svg{
	display:block;
	width:18px;
	height:18px;
	fill:currentColor;
}
.fp-footer-separator-text{
	font:inherit;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.fp-footer-separator-center.has-glow{
	text-shadow:0 0 10px currentColor;
	filter:drop-shadow(0 0 5px currentColor);
}


/* v1.8.6 – Bild im linken Franken-Puppys-Footerbereich */
.fp-footer-brand-image{
	display:flex;
	margin-top:16px;
}
.fp-footer-brand-image img{
	display:block;
	width:160px;
	max-width:100%;
	height:auto;
	object-fit:contain;
}
.fp-footer-brand-image a{
	display:inline-block;
	line-height:0;
}
.fp-footer-brand-image-align-left .fp-footer-brand-image{
	justify-content:flex-start;
}
.fp-footer-brand-image-align-center .fp-footer-brand-image{
	justify-content:center;
}
.fp-footer-brand-image-align-right .fp-footer-brand-image{
	justify-content:flex-end;
}


/* v1.8.8 – feinere Bildsteuerung im Footer */
.fp-footer-brand-image{
	width:100%;
}
.fp-footer-brand-image img{
	height:auto;
	max-height:180px;
	object-fit:contain;
}
