.dm-partners .dm-section-title {
	margin-bottom: var(--dm-space-4);
}

.dm-partner__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--dm-space-4);
	margin: 0;
	min-width: 0;
}

.dm-partner-wrap {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--dm-space-2);
}

.dm-partner {
	min-width: 0;
	height: 100%;
	padding: var(--dm-space-4);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dm-partner__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--dm-space-2);
	min-width: 0;
	height: 100%;
}

.dm-partner__icon {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: var(--dm-radius-sm);
	background: color-mix(in srgb, var(--dm-partner-accent, var(--dm-brand)) 18%, transparent);
	color: var(--dm-partner-accent, var(--dm-brand));
}

.dm-partner__icon svg {
	width: 16px;
	height: 16px;
}

.dm-partner__name {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--dm-text);
	overflow-wrap: anywhere;
}

.dm-partner__tagline {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--dm-text-secondary);
	overflow-wrap: anywhere;
}

.dm-partner__price {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dm-partner-accent, var(--dm-brand));
}

.dm-partner__go {
	margin-top: auto;
}

.dm-partner__arrow {
	display: inline-flex;
	transition: transform 0.15s ease;
}

.dm-partner:hover {
	border-color: var(--dm-partner-accent, var(--dm-brand));
}

.dm-partner:hover .dm-partner__arrow,
.dm-partner__go:hover .dm-partner__arrow,
.dm-partner__go:focus-visible .dm-partner__arrow {
	transform: translateX(2px);
}

.dm-partner__go:focus-visible {
	outline: var(--dm-focus);
	outline-offset: 2px;
}

.dm-partner__disclosure {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--dm-text-muted);
	overflow-wrap: anywhere;
}

@media (min-width: 901px) {
	.dm-partner__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dm-partner__grid--1 { grid-template-columns: minmax(0, 420px); }
	.dm-partner__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-partner__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
	.dm-partner,
	.dm-partner__arrow {
		transition: none;
	}

	.dm-partner:hover .dm-partner__arrow,
	.dm-partner__go:hover .dm-partner__arrow,
	.dm-partner__go:focus-visible .dm-partner__arrow {
		transform: none;
	}
}
