.contact-facility {
	--border-color: var(--skin-color, var(--fsu-gold));
	hyphens: auto;
	overflow-wrap: anywhere;
	color: var(--text-color);

	&.biopha {
		--border-color: var(--color-biopha);
	}
	&.chege {
		--border-color: var(--color-chege);
	}
	&.fsv {
		--border-color: var(--color-fsv);
	}
	&.m_ehealth {
		--border-color: var(--color-m_ehealth);
	}
	&.mirz {
		--border-color: var(--color-mirz);
	}
	&.paf {
		--border-color: var(--color-paf);
	}
	&.phifak {
		--border-color: var(--color-phifak);
	}
	&.rewi {
		--border-color: var(--color-rewi);
	}
	&.thefak_fe {
		--border-color: var(--color-thefak_fe);
	}
	&.wiwi {
		--border-color: var(--color-wiwi);
	}
	& > .grid {
		padding-bottom: 20px;
		background-color: var(--block-background);
		border-bottom: 4px solid var(--border-color);

		& > .title {
			grid-area: title;
			margin: 0px 0px 20px 0px;
			text-wrap: balance;
			color: var(--fsu-blue);
			font-weight: 500;
			font-variation-settings: var(--fsu-font-variation-headline-block);
			font-size: 1.375rem; /* 22px */
			line-height: 1.813rem; /* 29px */
		}
		& > .left {
			grid-area: left;
			padding-right: 40px;

			& > p {
				margin-bottom: 0px;
			}
			& :where(dl, dt, dd) {
				margin: 0px;
				padding: 0px;
				list-style-type: none;
			}
			& > dl {
				margin-bottom: 6px; /* gewuschelt */

				& > div {
					display: flex;
					column-gap: 10px;

					&:has(> dt > span.hidden_text:first-child) {
						column-gap: 0px;
					}
					& > dt {
						flex: 0 0 auto;
						padding-top: var(--link-block-padding);
					}
				}
			}
		}
		& > .right {
			grid-area: right;
			padding-left: 40px;

			& > p {
				&:last-child:not(:has(a)) {
					margin-bottom: 1.000rem;
				}
				&:has(a) {
					margin-bottom: 6px; /* gewuschelt */
				}
				& > .table {
					display: grid;
					grid-template-columns: min-content 1fr;
					grid-template-rows: 1.500rem auto;
					grid-template-areas:
						"icon content"
						". content";
					column-gap: 5px;

					& > .icon {
						grid-area: icon;
						align-self: center;
					}
					& > .content {
						grid-area: content;
					}
				}
			}
		}
		& a {
			width: fit-content;
			display: block;
			padding: var(--link-block-padding) 0px var(--link-block-padding) 0px;
			text-decoration: underline 1px;
			text-underline-offset: 3px;
			color: var(--text-color);

			&:focus-visible {
				outline: 3px solid var(--hover-color-dark);
				outline-offset: 0px;
			}
			@media (hover: hover) {
				&:hover {
					text-decoration-thickness: 2px;
				}
			}
		}
	}
}
/* Größer gleich 1200px - Big */
@media (min-width: 75.0000em) {
	.contact-facility {
		& > .grid {
			padding-right: 40px;
			padding-left: 40px;

			& > .title {
				max-width: 800px;
				box-sizing: border-box;
			}
		}
	}
}
/* Größer gleich 768px - Medium + Big */
@media (min-width: 48.0000em) {
	.contact-facility > .grid {
		display: grid;
		grid-template-columns: 55% minmax(0, 1fr); /* Titel + Links + Rechts */
		grid-template-areas:
			"title title"
			"left right";
		padding-top: 29px;

		&:not(:has(.left)):not(:has(.right)) { /* Titel */
			grid-template-columns: 1fr;
			grid-template-areas:
				"title";
		}
		&:has(.left):not(:has(.right)) { /* Titel + Links */
			grid-template-columns: 1fr;
			grid-template-areas:
				"title"
				"left";
		}
		&:not(:has(.left)):has(.right) { /* Titel + Rechts */
			grid-template-columns: 1fr;
			grid-template-areas:
				"title"
				"right";

			& > .right {
				padding-left: 0px;
			}
		}
		&:has(.left) .right { /* Links + Rechts */
			border-left: 1px solid var(--border-color);
		}
		& > .title {
			grid-area: title;
		}
		& > .left {
			grid-area: left;
		}
		& >.right {
			grid-area: right;
		}
	}
}
/* Kleiner gleich 1199px - Small + Medium */
@media (max-width: 74.9375em) {
	.contact-facility > .grid > .title {
		font-size: clamp(var(--fsu-block-font-size-scale-min), var(--fsu-block-font-size-scale), var(--fsu-block-font-size-scale-max));
		line-height: clamp(var(--fsu-block-line-height-scale-min), var(--fsu-block-line-height-scale), var(--fsu-block-line-height-scale-max));
	}
}
/* Kleiner gleich 767px - Small */
@media (max-width: 47.9375em) {
	.contact-facility > .grid {
		padding-top: 25px;
		padding-bottom: 0px;

		&:has(.left) .right { /* Links + Rechts */
			border-top: 1px solid var(--border-color);

			& > p:first-child {
				margin-top: 1.000rem;
			}
		}
		& > .title {
			padding-right: 0px;
			padding-left: 0px;
		}
		& > .left {
			padding-right: 0px;
			padding-left: 0px;
		}
		& > .right {
			padding-left: 0px;
			border-left: none;

			& > p:has(a) {
				margin-bottom: 6px; /* gewuschelt */
			}
		}
	}
}