/* =========================
   REFERENZ-LOGOS
   ========================= */

.reference-logos {
	position: relative;
	isolation: isolate;

	width: 100%;

	box-sizing: border-box;

	overflow: visible;
}


.reference-logos__inner {
	width: 100%;
	max-width: var(--stage-maxwidth, 1400px);

	margin-inline: auto;
}


/* =========================
   ÜBERSCHRIFT
   ========================= */

.reference-logos__headline {
	margin-top: 0;
	margin-bottom: 0.5rem;

	color: inherit;
}


.reference-logos__subheadline {
	margin-bottom: 2rem;

	font-size: 1.1rem;
	line-height: 1.5;

	color: inherit;
}


.reference-logos__headline + .reference-logos__grid {
	margin-top: 1.5rem;
}


/* =========================
   GRID
   ========================= */

.reference-logos__grid {
	display: grid;

	grid-template-columns:
		repeat(5, minmax(0, 1fr));

	gap: 1rem;

	width: 100%;
}


/* =========================
   EINZELNES LOGO
   ========================= */

.reference-logos .reference-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	gap: 0.55rem;

	min-width: 0;
	height: 155px;

	padding: 1.25rem;

	box-sizing: border-box;

	background:
		rgba(
			var(--logo-color-1-rgb),
			0
		);

	border-radius:
		var(--card-border-radius);

	color: inherit;

	text-decoration: none;

	transition:
		background-color var(--transition-time),
		transform var(--transition-time),
		box-shadow var(--transition-time);
}


/* =========================
   LOGO-BILD
   ========================= */

.reference-logo img.reference-logo__image {
	display: block;

	width: auto;
	height: auto;

	max-width: 170px;
	max-height: 80px;

	object-fit: contain;

	opacity: 0.88;

	transition:
		transform var(--transition-time),
		opacity var(--transition-time);
}


/* =========================
   LOGO-NAME
   ========================= */

.reference-logo__title {
	display: block;

	width: 100%;

	color: inherit;

	font-size: 0.85rem;
	line-height: 1.2;

	text-align: center;
}


/* =========================
   HOVER
   ========================= */

.reference-logo:hover,
.reference-logo:focus-visible {
	background:
		color-mix(
			in srgb,
			var(--neutral-color-dark) 20%,
			transparent
		);

	color: inherit;

	transform: translateY(-3px);

	box-shadow:
		0 6px 20px
		rgba(
			var(--shadow-color-rgb),
			0.08
		);
}


.reference-logo:hover .reference-logo__image,
.reference-logo:focus-visible .reference-logo__image {
	opacity: 1;

	transform: scale(1.045);
}


/* =========================
   TASTATUR-FOKUS
   ========================= */

.reference-logo:focus-visible {
	outline:
		3px solid
		var(--logo-color-1-light);

	outline-offset: 3px;
}


/* =========================
   TABLET
   ========================= */

@media (max-width: 1000px) {

	.reference-logos__grid {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}

}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {

	.reference-logos__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 0.75rem;
	}


	.reference-logos .reference-logo {
		height: 140px;

		padding: 1rem;
	}


	.reference-logo img.reference-logo__image {
		max-width: 135px;
		max-height: 65px;
	}


	.reference-logo__title {
		font-size: 0.8rem;
	}

}