.rjfaq-topic-link {
	max-width: 100%;
	margin: 24px 0 0;
}

.rjfaq-topic-link__anchor {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 44px;
	padding: 8px 0;
	gap: 0.55em;
	color: #1d1d1d;
	font-family: "Courier Prime", ui-monospace, "Courier New", monospace;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	transition: color 180ms ease;
	overflow-wrap: anywhere;
}

.rjfaq-topic-link__anchor:hover,
.rjfaq-topic-link__anchor:focus-visible {
	color: #666666;
}

.rjfaq-topic-link__anchor:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 5px;
}

.rjfaq-topic-link__arrow {
	display: inline-block;
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.rjfaq-topic-link__anchor:hover .rjfaq-topic-link__arrow,
.rjfaq-topic-link__anchor:focus-visible .rjfaq-topic-link__arrow {
	transform: translateX(3px);
}

/* iPad landscape / portrait and Elementor tablet breakpoint. */
@media (max-width: 1024px) {
	.rjfaq-topic-link {
		margin-top: 20px;
	}

	.rjfaq-topic-link__anchor {
		align-items: flex-start;
		font-size: 16px;
		line-height: 1.45;
	}

	.rjfaq-topic-link__arrow {
		margin-top: 0.08em;
	}
}

/* Mobile: readable wrapping, comfortable touch target, no page overflow. */
@media (max-width: 767px) {
	.rjfaq-topic-link {
		width: 100%;
		margin-top: 16px;
	}

	.rjfaq-topic-link__anchor {
		max-width: 100%;
		min-height: 48px;
		padding: 10px 0;
		gap: 0.45em;
		font-size: 15px;
		line-height: 1.5;
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rjfaq-topic-link__anchor,
	.rjfaq-topic-link__arrow {
		transition: none;
	}
}
