/* Großer Footer (Digitalbasis, 18.10.2026), Markup in inc/ca-footer.php.
   Farben aus der Seite: Schiefer #2f353d (CTA-Bereich), Button wie Header-CTA
   (#546a7b = page_accent_color, Hover #3d4851 = page_bold_color). */

#footer .ca-footer {
	background: #2f353d;
	color: rgba(255, 255, 255, 0.72);
	font-family: "Open Sans", sans-serif;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

#footer .ca-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.9fr);
	gap: 56px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 88px 40px 72px;
}

#footer .ca-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color 0.15s ease;
}

#footer .ca-footer a:hover,
#footer .ca-footer a:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#footer .ca-footer__logo img {
	display: block;
	width: 190px;
	height: auto;
}

#footer .ca-footer__claim {
	margin: 24px 0 22px;
	color: #fff;
	font-family: Arapey, serif;
	font-size: 21px;
	line-height: 1.4;
}

#footer .ca-footer__address {
	margin: 0 0 8px;
	font-style: normal;
}

#footer .ca-footer__contact {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

#footer .ca-footer__contact li {
	margin: 0 0 2px;
}

#footer .ca-footer__contact a,
#footer .ca-footer__list a {
	display: inline-block;
	padding: 2px 0;
}

#footer .ca-footer a.ca-footer__button {
	display: inline-block;
	padding: 14px 24px;
	border-radius: 0;
	background: #546a7b;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.3;
}

#footer .ca-footer a.ca-footer__button:hover,
#footer .ca-footer a.ca-footer__button:focus-visible {
	background: #3d4851;
	text-decoration: none;
}

#footer .ca-footer__title {
	margin: 0 0 20px;
	padding: 0 0 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	color: #fff;
	font-family: Arapey, serif;
	font-size: 25px;
	line-height: 1.3;
}

#footer .ca-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .ca-footer__list li {
	margin: 0 0 6px;
	padding: 0;
	break-inside: avoid;
}

#footer .ca-footer__col--apartments .ca-footer__list {
	columns: 2;
	column-gap: 32px;
}

#footer .ca-footer__list .current-menu-item > a {
	color: #fff;
	font-weight: 600;
}

/* Copyright-Leiste des Themes passend zum Footer */
#footer.wpbf-page-footer {
	background-color: #262b31;
}

#footer .wpbf-inner-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
}

#footer .wpbf-inner-footer a {
	color: rgba(255, 255, 255, 0.8);
}

#footer .wpbf-inner-footer a:hover {
	color: #fff;
}

/* Platz für den schwebenden "Nach oben"-Button des Themes (rechts unten) */
@media (min-width: 769px) {
	#footer .wpbf-inner-footer {
		padding-right: 80px;
	}
}

@media (max-width: 1100px) {
	#footer .ca-footer__inner {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
		gap: 48px 40px;
		padding: 72px 32px 56px;
	}

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

@media (max-width: 768px) {
	#footer .ca-footer__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 40px 24px;
		padding: 56px 20px 44px;
	}

	#footer .ca-footer__col--apartments {
		grid-column: 1 / -1;
	}

	#footer .ca-footer__title {
		font-size: 22px;
	}

	#footer .ca-footer__list li {
		margin-bottom: 8px;
	}

	#footer .wpbf-inner-footer {
		padding-bottom: 72px;
	}
}

@media (max-width: 420px) {
	#footer .ca-footer__col--apartments .ca-footer__list {
		column-gap: 20px;
	}
}
