.ptw-affiliate-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--ptw-space-5);
	align-items: center;
	margin-top: var(--ptw-space-8);
	padding: var(--ptw-space-5);
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-lg);
	background: var(--ptw-color-surface-alt);
	color: var(--ptw-color-text-primary);
	box-shadow: var(--ptw-shadow-sm);
}

.ptw-affiliate-cta-content {
	display: grid;
	gap: var(--ptw-space-3);
	min-width: 0;
}

.ptw-affiliate-cta-title {
	margin: 0;
	color: var(--ptw-color-text-primary);
	font-size: var(--ptw-font-size-xl);
	font-weight: var(--ptw-font-weight-bold);
	line-height: var(--ptw-line-height-tight);
}

.ptw-affiliate-cta-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ptw-space-2) var(--ptw-space-4);
	margin: 0;
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	line-height: var(--ptw-line-height-normal);
}

.ptw-affiliate-cta-price {
	color: var(--ptw-color-text-primary);
	font-size: var(--ptw-font-size-lg);
	font-weight: var(--ptw-font-weight-bold);
}

.ptw-affiliate-cta-merchant {
	font-weight: var(--ptw-font-weight-semibold);
}

.ptw-affiliate-cta-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: var(--ptw-space-3) var(--ptw-space-5);
	border: var(--ptw-border-width-sm) solid var(--ptw-color-primary);
	border-radius: var(--ptw-radius-md);
	background: var(--ptw-color-primary);
	color: var(--ptw-color-surface);
	font-size: var(--ptw-font-size-md);
	font-weight: var(--ptw-font-weight-bold);
	line-height: var(--ptw-line-height-tight);
	text-align: center;
	text-decoration: none;
}

.ptw-affiliate-cta-action:hover {
	border-color: var(--ptw-color-link);
	background: var(--ptw-color-link);
	color: var(--ptw-color-surface);
	text-decoration: none;
}

.ptw-affiliate-cta-action:focus-visible {
	outline: var(--ptw-border-width-md) solid var(--ptw-color-focus);
	outline-offset: var(--ptw-space-1);
	box-shadow: var(--ptw-shadow-focus);
}

.ptw-affiliate-cta-disclosure {
	margin: 0;
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-xs);
	line-height: var(--ptw-line-height-normal);
}

@media (max-width: 40rem) {
	.ptw-affiliate-cta {
		grid-template-columns: 1fr;
		padding: var(--ptw-space-4);
	}

	.ptw-affiliate-cta-action {
		width: 100%;
	}
}
