/*
 * Partner-Page Styles.
 *
 * 3-Spalten-Grid mit Logo-Card, Beschreibung, CTA-Button.
 * Auf Tablet: 2 Spalten, Mobile: 1 Spalte.
 */

.partner-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	grid-template-columns: 1fr;
	max-width: var(--wide-width, 1290px);
	margin-inline: auto;
}

@media (min-width: 640px) {
	.partner-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 960px) {
	.partner-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.partner-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--white, #fff);
	border: 1px solid var(--ink-200, #e5e9ee);
	border-radius: var(--radius-lg, 14px);
	box-shadow:
		0 1px 2px rgba(15, 23, 32, 0.04),
		0 12px 24px -18px rgba(15, 23, 32, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.partner-card:hover {
	transform: translateY(-2px);
	box-shadow:
		0 1px 2px rgba(15, 23, 32, 0.06),
		0 18px 38px -20px rgba(15, 23, 32, 0.28);
}

.partner-card__logo {
	height: clamp(110px, 14vw, 140px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	border-bottom: 1px solid var(--ink-100, #eef0f3);
	margin: -0.25rem -0.25rem 0;
}

.partner-card__logo img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.partner-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.partner-card__name {
	margin: 0;
	font-size: clamp(1.1rem, 1.4vw, 1.25rem);
	color: var(--ink, #08213b);
}

.partner-card__text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--ink-700, #314357);
}

.partner-card__cta {
	margin: 0;
}

.partner-card__cta .button {
	width: 100%;
	justify-content: center;
}

/* Partner-Join: ersetzt durch die wiederverwendbare info-banner
 * Komponente (siehe template-parts/info-banner.php +
 * assets/css/info-banner.css). Hier sind keine Styles mehr noetig. */
