/* =========================
   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-logo {
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 0;
	height: 130px;

	padding: 1.25rem;

	box-sizing: border-box;

	background:
		rgba(
			var(--logo-color-1-rgb),
			0
		);

	border-radius:
		var(--border-radius);

	text-decoration: none !important;

	transition:
		background-color var(--transition-time),
		transform var(--transition-time),
		box-shadow var(--transition-time);
}


/* =========================
   LOGO-BILD
   ========================= */

.reference-logo__image {
	display: block;

	width: auto !important;
	height: auto !important;

	max-width: 170px !important;
	max-height: 80px !important;

	object-fit: contain;

	opacity: 0.88;

	transition:
		transform var(--transition-time),
		opacity var(--transition-time);
}


/* =========================
   HOVER
   ========================= */

.reference-logo:hover,
.reference-logo:focus-visible {
	background:
	color-mix(
		in srgb,
		var(--neutral-color-dark) 20%,
		transparent
	);

	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-logo {
		height: 110px;

		padding: 1rem;
	}


	.reference-logo__image {
		max-width: 135px !important;
		max-height: 65px !important;
	}

}