/**
 * Site footer: contact + legal links (Impressum / Datenschutz).
 * Akzentfarbe: warmes Orange (Titelfoto).
 */

.site-footer.site-footer--enhanced {
	padding-top: 2.25rem;
	padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
	background: linear-gradient(180deg, #fcf7f1 0%, #f4ecdf 55%, #ebe0d4 100%);
	color: #222;
	border-top: 1px solid rgba(232, 114, 18, 0.36);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.site-footer.site-footer--enhanced .wrap {
	max-width: 1000px;
	padding-top: 0;
	padding-bottom: 0;
}

.site-footer-main {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2rem 2.5rem;
	align-items: start;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-footer-heading {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #c4510c;
	margin-bottom: 0.65rem;
	font-weight: 700;
}

.site-footer-contact p,
.site-footer-contact .site-footer-praxis {
	margin: 0 0 0.5rem;
	line-height: 1.55;
	font-size: 0.95rem;
}

.site-footer-line {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0 0 0.45rem !important;
}

.site-footer-line a {
	flex: 1;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 0.35rem;
	padding: 0.15rem 0;
}

.site-footer-line a::before {
	content: "";
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
	background-color: #c4510c;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.site-footer-line--tel a::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011-.25 11.36 11.36 0 003.74.6 1 1 0 011 .99v3.74a1 1 0 01-1 1A17 17 0 013 5a1 1 0 011-1h3.73a1 1 0 011 .99c0 1.3.21 2.54.6 3.73a1 1 0 01-.26 1.07l-2.2 2.2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011-.25 11.36 11.36 0 003.74.6 1 1 0 011 .99v3.74a1 1 0 01-1 1A17 17 0 013 5a1 1 0 011-1h3.73a1 1 0 011 .99c0 1.3.21 2.54.6 3.73a1 1 0 01-.26 1.07l-2.2 2.2z'/%3E%3C/svg%3E");
}

.site-footer-line--mail a::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.site-footer-hours {
	margin: 0.85rem 0 0 !important;
	padding-top: 0.75rem;
	border-top: 1px dashed rgba(232, 114, 18, 0.42);
	font-size: 0.9rem;
	font-weight: 600;
	color: #5c4a3d;
	line-height: 1.45;
	max-width: 22rem;
}

.site-footer-praxis {
	font-weight: 600;
	max-width: 22rem;
}

.site-footer-contact a {
	color: #a24a0d;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
	color: #e87212;
}

.site-footer-legal .site-footer-heading {
	margin-bottom: 0.75rem;
}

.site-footer-legal-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-footer-legal-links a {
	display: inline-block;
	padding: 0.35rem 0;
	min-height: 44px;
	line-height: 1.4;
	font-weight: 700;
	color: #1e2a21;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
	text-decoration-color: rgba(232, 114, 18, 0.55);
}

.site-footer-legal-links a:hover,
.site-footer-legal-links a:focus-visible {
	color: #c4510c;
	text-decoration-color: #e87212;
}

.site-footer-meta.site-info {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding-top: 1.25rem;
	padding-bottom: 0;
	text-align: center;
}

.site-footer-copy {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: #555;
}

@media screen and (max-width: 40em) {
	.site-footer-main {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.site-footer-legal-links a {
		min-height: unset;
		padding: 0.5rem 0;
	}
}

@media screen and (max-width: 22rem) {
	.site-footer-line a {
		min-height: unset;
	}
}
