/* ========================================
   Hintergrund Element
   ======================================== */
.tempel_container_background {
	padding: 10px;
	padding-top: 50px;
	padding-bottom: 50px;
	background-position-x: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* iOS Safari: fixed background-attachment verursacht Rendering-Probleme */
@supports (-webkit-touch-callout: none) {
	.tempel_container_background {
		background-attachment: scroll !important;
	}
}

.tempel_container_background_centerdiv {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

/* ========================================
   Max-Width Element
   ======================================== */
.tempel_container_maxwidth {
	width: 100%;
	max-width: var(--content-max-width, 1300px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

/* ========================================
   Zwei Spalten Element (50/50)
   ======================================== */
.tempel_container_twocol .tempel_container_twocol_row {
	--column-gap: clamp(1rem, 2.5vw, 2rem);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: var(--column-gap);
}

.tempel_container_twocol .tempel_container_twocol_row .tempel_container_twocol_col {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 calc((100% - var(--column-gap)) / 2);
	flex: 1 1 calc((100% - var(--column-gap)) / 2);
	max-width: calc((100% - var(--column-gap)) / 2);
	min-width: 0;
}

/* ========================================
   Zwei Spalten Element (30/70)
   ======================================== */
.tempel_container_twocol3070 .tempel_container_twocol3070_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tempel_container_twocol3070 .tempel_container_twocol3070_row .tempel_container_twocol30_col {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 30%;
	flex: 0 1 30%;
	max-width: 30%;
	min-width: 0;
}

.tempel_container_twocol3070 .tempel_container_twocol3070_row .tempel_container_twocol70_col {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 70%;
	flex: 0 1 70%;
	max-width: 70%;
	min-width: 0;
}

/* ========================================
   Drei Spalten Element
   ======================================== */
.tempel_container_threecol .tempel_container_threecol_row {
	--column-gap: clamp(1rem, 2vw, 1.75rem);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: var(--column-gap);
}

.tempel_container_threecol .tempel_container_threecol_row .tempel_container_threecol_col {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 calc((100% - var(--column-gap) - var(--column-gap)) / 3);
	flex: 1 1 calc((100% - var(--column-gap) - var(--column-gap)) / 3);
	max-width: calc((100% - var(--column-gap) - var(--column-gap)) / 3);
	min-width: 0;
}

/* ========================================
   Fünf Spalten Element
   ======================================== */
.tempel_container_fivecol .tempel_container_fivecol_row {
	--column-gap: clamp(0.75rem, 1.5vw, 1.25rem);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: var(--column-gap);
}

.tempel_container_fivecol .tempel_container_fivecol_row .tempel_container_fivecol_col {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 calc((100% - var(--column-gap) - var(--column-gap) - var(--column-gap) - var(--column-gap)) / 5);
	flex: 0 1 calc((100% - var(--column-gap) - var(--column-gap) - var(--column-gap) - var(--column-gap)) / 5);
	max-width: calc((100% - var(--column-gap) - var(--column-gap) - var(--column-gap) - var(--column-gap)) / 5);
	min-width: 0;
}

/* Kartenraster sollen den verfügbaren Inhaltsbereich vollständig nutzen. */
.tempel_container_twocol,
.tempel_container_threecol,
.tempel_container_fivecol {
	width: 100%;
}

.tempel_container_twocol_col > .tempel_container_maxwidth,
.tempel_container_threecol_col > .tempel_container_maxwidth,
.tempel_container_fivecol_col > .tempel_container_maxwidth {
	max-width: none;
}

.tempel_container_twocol_col > .tempel_container_imageoverlay,
.tempel_container_twocol_col > .tempel_container_maxwidth > .tempel_container_imageoverlay,
.tempel_container_threecol_col > .tempel_container_imageoverlay,
.tempel_container_threecol_col > .tempel_container_maxwidth > .tempel_container_imageoverlay,
.tempel_container_fivecol_col > .tempel_container_imageoverlay,
.tempel_container_fivecol_col > .tempel_container_maxwidth > .tempel_container_imageoverlay {
	width: 100% !important;
	max-width: none !important;
}

.tempel_container_background_centerdiv > .tempel_container_maxwidth > .tempel_container_twocol,
.tempel_container_background_centerdiv > .tempel_container_maxwidth > .tempel_container_threecol,
.tempel_container_background_centerdiv > .tempel_container_maxwidth > .tempel_container_fivecol {
	margin-top: clamp(0.75rem, 2vw, 1.5rem);
	margin-bottom: 0;
}

/* Bildkarten dürfen auf großen Displays etwas mehr Raum als Fließtext nutzen. */
.tempel_container_background_centerdiv > .tempel_container_maxwidth:has(.tempel_container_imageoverlay) {
	max-width: 1500px;
}

/* ========================================
   Bildergalerie
   ======================================== */
.tempel_container_bildergalerie {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding-top: var(--gallery-spacing-top, 0px);
	padding-right: var(--gallery-spacing-right, 0px);
	padding-bottom: var(--gallery-spacing-bottom, 0px);
	padding-left: var(--gallery-spacing-left, 0px);
}

.tempel_container_bildergalerie .ce-image .ce-gallery .ce-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: var(--spacing-xs, 0.5rem);
}

.tempel_container_bildergalerie .ce-image .ce-gallery .ce-inner .ce-row .ce-column .image a img.image-embed-item {
	border-radius: var(--radius-md, 12px);
	-webkit-box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	-webkit-transition: -webkit-transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	                     -webkit-box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
	transition: transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	            box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
}

.tempel_container_bildergalerie .ce-image .ce-gallery .ce-inner .ce-row .ce-column .image a img.image-embed-item:hover {
	-webkit-transform: translateY(-3px);
	-ms-transform: translateY(-3px);
	transform: translateY(-3px);
	-webkit-box-shadow: 0 8px 28px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
	box-shadow: 0 8px 28px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
}

/* Bei leerer Eingabe oder 0 nutzt die Galerie automatisch alle passenden Spalten. */
.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) .ce-image .ce-gallery .ce-inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	grid-auto-flow: row;
	align-items: stretch;
	justify-content: stretch;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	width: 100%;
	max-width: 100%;
	overflow: visible;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) .ce-row {
	display: contents !important;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) .ce-column {
	float: none;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0;
	align-self: stretch;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) figure,
.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) figure > a,
.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) img.image-embed-item {
	display: block;
	width: 100%;
	max-width: 100%;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) figure,
.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) figure > a {
	height: 100%;
	margin: 0;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows=''],
	[data-gallery-rows='0'],
	:not([data-gallery-rows])
) img.image-embed-item {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
}

/* Optionale Anzahl der Galeriereihen aus der FlexForm. */
.tempel_container_bildergalerie[data-gallery-rows='1'] { --gallery-rows: 1; }
.tempel_container_bildergalerie[data-gallery-rows='2'] { --gallery-rows: 2; }
.tempel_container_bildergalerie[data-gallery-rows='3'] { --gallery-rows: 3; }
.tempel_container_bildergalerie[data-gallery-rows='4'] { --gallery-rows: 4; }
.tempel_container_bildergalerie[data-gallery-rows='5'] { --gallery-rows: 5; }
.tempel_container_bildergalerie[data-gallery-rows='6'] { --gallery-rows: 6; }
.tempel_container_bildergalerie[data-gallery-rows='7'] { --gallery-rows: 7; }
.tempel_container_bildergalerie[data-gallery-rows='8'] { --gallery-rows: 8; }
.tempel_container_bildergalerie[data-gallery-rows='9'] { --gallery-rows: 9; }

.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) .ce-image .ce-gallery .ce-inner {
	display: grid;
	grid-template-rows: repeat(var(--gallery-rows), minmax(0, auto));
	grid-auto-flow: column;
	grid-auto-columns: minmax(90px, 1fr);
	align-items: start;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	width: 100%;
	max-width: 100%;
	overflow: visible;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) .ce-row {
	display: contents !important;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) .ce-column {
	float: none;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0;
	align-self: stretch;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) figure,
.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) figure > a,
.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) img.image-embed-item {
	display: block;
	width: 100%;
	max-width: 100%;
}

/* Einheitliche Kacheln verhindern Lücken durch gemischte Bildformate. */
.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) figure,
.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) figure > a {
	height: 100%;
	margin: 0;
}

.tempel_container_bildergalerie:is(
	[data-gallery-rows='1'],
	[data-gallery-rows='2'],
	[data-gallery-rows='3'],
	[data-gallery-rows='4'],
	[data-gallery-rows='5'],
	[data-gallery-rows='6'],
	[data-gallery-rows='7'],
	[data-gallery-rows='8'],
	[data-gallery-rows='9']
) img.image-embed-item {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
}

/* ========================================
   Kartenelement
   ======================================== */
.tempel_container_card {
	color: var(--color-text-dark, #000);
	height: 100%;
	background: var(--color-text-light, #fff);
	border-radius: var(--radius-md, 12px);
	-webkit-box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	overflow: hidden;
	-webkit-transition: -webkit-transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	                     -webkit-box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
	transition: transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	            box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
}

.tempel_container_card:hover {
	-webkit-transform: translateY(-6px);
	-ms-transform: translateY(-6px);
	transform: translateY(-6px);
	-webkit-box-shadow: 0 12px 32px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
	box-shadow: 0 12px 32px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
}

.tempel_container_card .tempel_container_card-header {
	padding: 20px;
	background: var(--color-accent, #ccb2a2);
	border-radius: var(--radius-md, 12px) var(--radius-md, 12px) 0 0;
}

.tempel_container_card .tempel_container_card-body {
	padding: 20px;
}

.tempel_container_card .tempel_container_card-body .tempel_container_card-title {
	padding: 0 0 20px 0;
}

.tempel_container_card_contenttop {
	margin-top: -133px;
	height: calc(100% + 133px);
}

/* ========================================
   Kartengruppe (Flickity Carousel)
   ======================================== */
.tempel_container_card-deck {
	padding: 10px 0;
}

/* ========================================
   Bilderrahmen Element
   ======================================== */
.tempel_container_bilderrahmen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.tempel_container_bilderrahmen .image {
	text-align: right;
}

.tempel_container_bilderrahmen img {
	border-radius: var(--radius-md, 12px);
	-webkit-box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	box-shadow: 0 4px 16px var(--color-shadow, rgba(0, 0, 0, 0.15));
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	-webkit-transition: -webkit-box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
	transition: box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
}

.tempel_container_bilderrahmen img:hover {
	-webkit-box-shadow: 0 8px 28px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
	box-shadow: 0 8px 28px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
}

.tempel_container_bilderrahmen figure {
	margin: 0;
}

.tempel_container_bilderrahmen img {
	max-width: 100%;
	height: auto;
}

/* ========================================
   Link-Button Element
   ======================================== */
.tempel_container_linkbutton {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 5px;
	margin-bottom: 5px;
}

.tempel_container_linkbutton a {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-decoration: none;
	background: var(--color-accent, #ccb2a2);
	color: var(--color-primary, #301604);
	border: 2px solid var(--color-accent, #ccb2a2);
	border-radius: var(--radius-sm, 8px);
	padding: 14px 32px;
	cursor: pointer;
	-webkit-box-shadow: 0 2px 8px var(--color-shadow, rgba(0, 0, 0, 0.15));
	box-shadow: 0 2px 8px var(--color-shadow, rgba(0, 0, 0, 0.15));
	-webkit-transition: background var(--transition-speed, 300ms) var(--transition-ease, ease),
	                     color var(--transition-speed, 300ms) var(--transition-ease, ease),
	                     -webkit-transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	                     -webkit-box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
	transition: background var(--transition-speed, 300ms) var(--transition-ease, ease),
	            color var(--transition-speed, 300ms) var(--transition-ease, ease),
	            transform var(--transition-speed, 300ms) var(--transition-ease, ease),
	            box-shadow var(--transition-speed, 300ms) var(--transition-ease, ease);
	font-family: var(--font-body, 'Roboto', sans-serif);
	font-weight: bold;
	letter-spacing: 0.02em;
}

.tempel_container_linkbutton a:hover,
.tempel_container_linkbutton a:focus {
	background: var(--color-primary, #301604);
	color: var(--color-accent, #ccb2a2);
	border-color: var(--color-primary, #301604);
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
	-webkit-box-shadow: 0 6px 20px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
	box-shadow: 0 6px 20px var(--color-shadow-lg, rgba(0, 0, 0, 0.25));
}

.tempel_container_threecol_col .tempel_container_bilderrahmen {
	margin-left: 5px;
	margin-right: 5px;
}

/* TYPO3 Container-Override */
.container {
	max-width: none !important;
	padding: 0 !important;
}

.container .frame {
	padding-left: 15px;
	padding-right: 15px;
}

/* ========================================
   Responsive: Tablet (max-width: 1000px)
   ======================================== */
@media only screen and (max-width: 1000px) {
	.tempel_container_threecol .tempel_container_threecol_row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.tempel_container_threecol .tempel_container_threecol_row .tempel_container_threecol_col {
		max-width: 100%;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
	}

	.tempel_container_fivecol .tempel_container_fivecol_row .tempel_container_fivecol_col {
		-webkit-box-flex: 0;
		-ms-flex: 0 1 calc((100% - var(--column-gap) - var(--column-gap)) / 3);
		flex: 0 1 calc((100% - var(--column-gap) - var(--column-gap)) / 3);
		max-width: calc((100% - var(--column-gap) - var(--column-gap)) / 3);
	}
	
	.tempel_container_card {
		margin-bottom: 3rem;
	}
	
	.tempel_container_twocol .tempel_container_twocol_row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.tempel_container_twocol .tempel_container_twocol_row .tempel_container_twocol_col {
		max-width: 100%;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
	}
}

/* ========================================
   Responsive: Mobil (max-width: 885px)
   ======================================== */
@media only screen and (max-width: 885px) {
	.tempel_container_twocol3070 .tempel_container_twocol3070_row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.tempel_container_twocol3070 .tempel_container_twocol3070_row .tempel_container_twocol30_col,
	.tempel_container_twocol3070 .tempel_container_twocol3070_row .tempel_container_twocol70_col {
		max-width: 100%;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
	}

	.tempel_container_twocol .tempel_container_twocol_row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.tempel_container_twocol .tempel_container_twocol_row .tempel_container_twocol_col {
		max-width: 100%;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
	}

	.tempel_container_bilderrahmen .image {
		text-align: center;
		padding-top: 25px;
	}
}

/* ========================================
   Responsive: Klein-Mobil (max-width: 600px)
   ======================================== */
@media only screen and (max-width: 600px) {
	.tempel_container_bildergalerie:is(
		[data-gallery-rows='1'],
		[data-gallery-rows='2'],
		[data-gallery-rows='3'],
		[data-gallery-rows='4'],
		[data-gallery-rows='5'],
		[data-gallery-rows='6'],
		[data-gallery-rows='7'],
		[data-gallery-rows='8'],
		[data-gallery-rows='9']
	) .ce-image .ce-gallery .ce-inner {
		grid-template-rows: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-flow: row;
		grid-auto-columns: auto;
		overflow-x: visible;
	}

	.tempel_container_fivecol .tempel_container_fivecol_row .tempel_container_fivecol_col {
		-webkit-box-flex: 0;
		-ms-flex: 0 1 calc((100% - var(--column-gap)) / 2);
		flex: 0 1 calc((100% - var(--column-gap)) / 2);
		max-width: calc((100% - var(--column-gap)) / 2);
	}

	.tempel_container_background {
		padding-left: 16px;
		padding-right: 16px;
		padding-top: 25px;
		padding-bottom: 25px;
	}

	.tempel_container_card_contenttop {
		margin-top: 0;
		height: 100%;
	}

	.container .frame {
		padding-left: 16px;
		padding-right: 16px;
	}

	.tempel_container_maxwidth {
		padding-left: 16px;
		padding-right: 16px;
	}

	.tempel_container_background > .tempel_container_background_centerdiv > .tempel_container_maxwidth,
	.tempel_container_twocol_col > .tempel_container_maxwidth,
	.tempel_container_threecol_col > .tempel_container_maxwidth,
	.tempel_container_fivecol_col > .tempel_container_maxwidth {
		padding-left: 0;
		padding-right: 0;
	}

	.tempel_container_card .tempel_container_card-header,
	.tempel_container_card .tempel_container_card-body {
		padding: 16px;
	}

	.tempel_container_linkbutton a {
		width: 100%;
		min-height: 48px;
		padding: 12px 20px;
	}
}

@media only screen and (max-width: 420px) {
	.tempel_container_fivecol .tempel_container_fivecol_row .tempel_container_fivecol_col {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Tablet / kleiner Desktop: Karten bleiben zweispaltig statt zu schmal oder übergroß zu werden. */
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.tempel_container_threecol .tempel_container_threecol_row:has(.tempel_container_imageoverlay),
	.tempel_container_twocol .tempel_container_twocol_row:has(.tempel_container_imageoverlay) {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.tempel_container_threecol .tempel_container_threecol_row:has(.tempel_container_imageoverlay) .tempel_container_threecol_col,
	.tempel_container_twocol .tempel_container_twocol_row:has(.tempel_container_imageoverlay) .tempel_container_twocol_col {
		-webkit-box-flex: 0;
		-ms-flex: 0 1 calc((100% - var(--column-gap)) / 2);
		flex: 0 1 calc((100% - var(--column-gap)) / 2);
		max-width: calc((100% - var(--column-gap)) / 2);
	}
}
