/* ========================================
   Content Utilities
   ======================================== */
.text-center, .ce-headline-center {
	text-align: center;
}

/* Responsive Abstände mit clamp() */
.frame-space-before-extra-small {
	padding-top: clamp(0.5rem, 2vw, 1.5rem);
}

.frame-space-after-extra-small {
	padding-bottom: clamp(0.5rem, 2vw, 1.5rem);
}

.frame-space-before-small {
	padding-top: clamp(1rem, 5vw, 3rem);
}

.frame-space-after-small {
	padding-bottom: clamp(1rem, 5vw, 3rem);
}

.frame-space-before-medium {
	padding-top: clamp(2rem, 10vw, 6rem);
}

.frame-space-after-medium {
	padding-bottom: clamp(2rem, 10vw, 6rem);
}

.frame-space-before-large {
	padding-top: clamp(3rem, 15vw, 10rem);
}

.frame-space-after-large {
	padding-bottom: clamp(3rem, 15vw, 10rem);
}

/* Legacy-TYPO3-Galerien dürfen Karten und mobile Viewports nicht auf Bildbreite aufziehen. */
.tempel_container_card .frame-type-image,
.tempel_container_card .frame-type-textpic,
.tempel_container_card .ce-image,
.tempel_container_card .ce-textpic,
.tempel_container_card .ce-gallery,
.tempel_container_card .ce-outer,
.tempel_container_card .ce-inner,
.tempel_container_card .ce-row,
.tempel_container_card .ce-column,
.tempel_container_card figure {
	width: 100%;
	max-width: 100%;
}

.tempel_container_card .ce-center .ce-outer,
.tempel_container_card .ce-center .ce-inner {
	position: static;
	float: none;
	right: auto;
}

.tempel_container_card .ce-column {
	float: none;
	margin-right: 0;
}

.tempel_container_card figure {
	display: block;
}

.tempel_container_card img.image-embed-item {
	width: 100%;
	height: auto;
}

#page .ce-center .ce-gallery,
#page .ce-center .ce-outer,
#page .ce-center .ce-inner,
#page .ce-center .ce-row {
	width: 100%;
	max-width: 100%;
}

#page .ce-center .ce-outer,
#page .ce-center .ce-inner {
	position: static;
	float: none;
	right: auto;
}

#page .ce-center .ce-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

#page .ce-center .ce-column {
	float: none;
	max-width: 100%;
	margin-right: 0;
}

#page .ce-center figure {
	display: block;
	max-width: 100%;
}

/* ========================================
   Google Reviews
   ======================================== */
#tx-google-reviews .reviews-box {
	width: 85%;
	margin: auto;
}

#tx-google-reviews .reviews-cell {
	width: 100%;
}

/* ========================================
   Flickity Overrides
   ======================================== */
.flickity-prev-next-button {
	width: 100px;
	height: 100px;
	background: transparent;
}

.flickity-prev-next-button:hover {
	background: transparent;
}

.flickity-prev-next-button .arrow {
	fill: var(--color-primary, #301604);
}

@media only screen and (max-width: 768px) {
	#page .ce-center .ce-column,
	#page .ce-center figure {
		width: 100%;
		max-width: 100%;
	}

	#tx-google-reviews .reviews-box {
		width: 100%;
		padding: 0 12px;
	}

	.flickity-prev-next-button {
		width: 48px;
		height: 48px;
	}

	.flickity-page-dots .dot {
		width: 12px;
		height: 12px;
		margin: 0 7px;
	}
}
