/* Affiliate Engine — public styles.
   Reuses RemitRoute theme tokens when present, with fallbacks so the plugin
   still looks right under any theme. */

:root {
	--affeng-ink: var( --rr-ink, #0A1628 );
	--affeng-blue: var( --rr-blue, #1659D8 );
	--affeng-green: var( --rr-green, #10B981 );
	--affeng-surface: var( --rr-surface, #F4F7FB );
	--affeng-border: var( --rr-border, #E2E8F0 );
	--affeng-muted: var( --rr-muted, #5B6B82 );
	--affeng-radius: var( --rr-radius, 16px );
}

.affeng-single__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 2.5rem;
	padding: 2.5rem 0 3rem;
	align-items: start;
}

.affeng-single__body--narrow {
	grid-template-columns: minmax(0, 760px);
	justify-content: center;
}

.affeng-single__aside {
	position: sticky;
	top: 96px;
}

/* Corridor hero */
.affeng-corridor-hero {
	background: var( --affeng-ink );
	color: #fff;
	padding: 2.75rem 0 2.5rem;
	background-image:
		radial-gradient( 900px 400px at 12% -10%, rgba(22,89,216,.45), transparent 60% ),
		radial-gradient( 700px 380px at 100% 0%, rgba(16,185,129,.30), transparent 55% );
}

.affeng-corridor-hero__route {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-size: 2.4rem;
	line-height: 1;
	margin: .5rem 0 1rem;
}

.affeng-corridor-hero__arrow {
	color: var( --affeng-green );
	font-size: 1.8rem;
}

.affeng-corridor-hero__title {
	margin: 0;
	font-size: clamp( 1.6rem, 3.4vw, 2.5rem );
	color: #fff;
}

.affeng-corridor-hero__sub {
	margin: .6rem 0 0;
	color: rgba(255,255,255,.78);
	max-width: 52ch;
}

/* Prose blocks for guides/services */
.affeng-prose {
	font-size: 1.05rem;
	line-height: 1.75;
	color: var( --affeng-ink );
}

.affeng-prose h2 {
	margin-top: 2.2rem;
	scroll-margin-top: 100px;
}

.affeng-prose h3 {
	margin-top: 1.6rem;
}

.affeng-prose ul,
.affeng-prose ol {
	padding-left: 1.3rem;
}

.affeng-prose li {
	margin: .35rem 0;
}

.affeng-guide__featured {
	margin: 0 0 1.75rem;
}

.affeng-guide__featured img {
	width: 100%;
	height: auto;
	border-radius: var( --affeng-radius );
}

/* Table of contents (from guide generator) */
.affeng-toc {
	background: var( --affeng-surface );
	border: 1px solid var( --affeng-border );
	border-radius: var( --affeng-radius );
	padding: 1.1rem 1.3rem;
	margin: 0 0 1.75rem;
}

.affeng-toc__title,
.affeng-toc > h2 {
	font-weight: 700;
	font-size: 1rem;
	margin: 0 0 .5rem;
}

.affeng-toc ul,
.affeng-toc ol {
	margin: 0;
	padding-left: 1.2rem;
}

.affeng-toc a {
	color: var( --affeng-blue );
	text-decoration: none;
}

.affeng-toc a:hover {
	text-decoration: underline;
}

/* AI / TL;DR summary block */
.affeng-summary {
	border-left: 4px solid var( --affeng-green );
	background: rgba(16,185,129,.07);
	padding: 1rem 1.25rem;
	border-radius: 0 var( --affeng-radius ) var( --affeng-radius ) 0;
	margin: 0 0 1.5rem;
}

/* Service icon */
.affeng-service__icon {
	font-size: 2.6rem;
	line-height: 1;
	margin-bottom: .5rem;
}

.affeng-service-cta__inner {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}

.affeng-service-cta__inner .rr-picker,
.affeng-service-cta__inner .affeng-picker {
	text-align: left;
}

/* Archive */
.affeng-archive__picker {
	margin: -1.75rem 0 2rem;
	position: relative;
	z-index: 2;
}

.affeng-related {
	border-top: 1px solid var( --affeng-border );
}

/* Picker hint */
.rr-picker__hint,
.affeng-picker__hint {
	display: none;
	margin: .65rem 0 0;
	font-size: .9rem;
	color: var( --affeng-blue );
}

@media ( max-width: 880px ) {
	.affeng-single__body {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
	.affeng-single__aside {
		position: static;
	}
}
