/* ===========================================================
   RewardRace — Site Footer v2
   Dark footer w/ rounded top + purple glow.
   =========================================================== */

.rrFoot {
	--rfo-bg:        #0B081A;
	--rfo-text:      #E9E6F7;
	--rfo-heading:   #FFFFFF;
	--rfo-soft:      #A8A3C2;
	--rfo-faint:     #7A758F;
	--rfo-border:    rgba(255, 255, 255, .08);
	--rfo-link:      #D8D4EB;
	--rfo-accent:    #8B73FF;
	--rfo-star:      #F5B100;

	background: var(--rfo-bg);
	color: var(--rfo-text);
	font-family: var(--rr-font-sans);
	box-sizing: border-box;
	padding: var(--rr-space-16) 0 var(--rr-space-8);
	border-top-left-radius: var(--rr-radius-3xl);
	border-top-right-radius: var(--rr-radius-3xl);
	position: relative;
	overflow: hidden;
}
.rrFoot *, .rrFoot *::before, .rrFoot *::after { box-sizing: border-box; }

.rrFoot::before {
	content: "";
	position: absolute;
	top: -10%;
	right: -5%;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(139, 115, 255, .28), transparent 70%);
	filter: blur(90px);
	pointer-events: none;
}
.rrFoot::after {
	content: "";
	position: absolute;
	bottom: -20%;
	left: -10%;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(87, 63, 211, .22), transparent 70%);
	filter: blur(90px);
	pointer-events: none;
}

.rrFoot__wrap {
	max-width: var(--rr-container);
	margin: 0 auto;
	padding: 0 var(--rr-section-x);
	position: relative;
	z-index: 1;
}

.rrFoot__top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: var(--rr-space-12);
	padding-bottom: var(--rr-space-12);
}

.rrFoot__brand { min-width: 0; }

.rrFoot__brandLink {
	display: inline-flex;
	align-items: center;
	gap: var(--rr-space-3);
	text-decoration: none;
	color: inherit;
	margin-bottom: var(--rr-space-5);
	transition: opacity var(--rr-dur-fast) var(--rr-ease-out);
}
.rrFoot__brandLink:hover { opacity: .8; }

.rrFoot__logo {
	--rfo-logo-w: 38px;
	--rfo-logo-h: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--rfo-logo-w);
	height: var(--rfo-logo-h);
	flex: 0 0 var(--rfo-logo-w);
}
.rrFoot__logo img,
.rrFoot__logo svg {
	max-width: 100%; max-height: 100%;
	width: auto; height: auto;
	display: block;
	object-fit: contain;
}

.rrFoot__brandName {
	font-size: var(--rr-fs-h4);
	font-weight: 800;
	letter-spacing: var(--rr-tracking-tight);
	color: var(--rfo-heading);
}

.rrFoot__tagline {
	font-size: var(--rr-fs-sm);
	line-height: var(--rr-lh-relaxed);
	color: var(--rfo-soft);
	margin: 0 0 var(--rr-space-5);
	max-width: 360px;
}

.rrFoot__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--rr-space-2);
	font-size: var(--rr-fs-xs);
	color: var(--rfo-soft);
	padding: 8px 16px;
	background: rgba(255,255,255,.06);
	border: 1px solid var(--rfo-border);
	border-radius: var(--rr-radius-pill);
	backdrop-filter: blur(6px);
}
.rrFoot__star {
	display: inline-flex;
	color: var(--rfo-star);
}
.rrFoot__ratingText { color: var(--rfo-soft); font-weight: 500; }
.rrFoot__ratingText strong { color: var(--rfo-heading); font-weight: 800; }

.rrFoot__cols { display: contents; }
.rrFoot__col { min-width: 0; }

.rrFoot__colTitle {
	font-size: var(--rr-fs-2xs);
	font-weight: 700;
	letter-spacing: var(--rr-tracking-wide);
	color: var(--rfo-heading);
	text-transform: uppercase;
	margin-bottom: var(--rr-space-5);
}

.rrFoot__colList {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--rr-space-3);
}
.rrFoot__colItem { margin: 0; }

.rrFoot .rrFoot__colLink,
.rrFoot a.rrFoot__colLink {
	font-size: var(--rr-fs-sm);
	color: var(--rfo-link);
	text-decoration: none;
	font-weight: 500;
	transition: color var(--rr-dur-fast) var(--rr-ease-out),
	            transform var(--rr-dur-fast) var(--rr-ease-out);
	display: inline-block;
}
.rrFoot .rrFoot__colLink:hover {
	color: var(--rfo-accent);
	transform: translateX(3px);
}

.rrFoot__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--rr-space-4);
	padding-top: var(--rr-space-6);
	border-top: 1px solid var(--rfo-border);
	font-size: var(--rr-fs-xs);
	color: var(--rfo-soft);
}
.rrFoot__copy,
.rrFoot__meta { color: var(--rfo-soft); }

@media (max-width: 1024px) {
	.rrFoot__top {
		grid-template-columns: 1fr 1fr 1fr;
		gap: var(--rr-space-10);
	}
	.rrFoot__brand {
		grid-column: 1 / -1;
		margin-bottom: var(--rr-space-2);
		max-width: 480px;
	}
}

@media (max-width: 720px) {
	.rrFoot {
		padding: var(--rr-space-12) 0 var(--rr-space-6);
		border-top-left-radius: var(--rr-radius-2xl);
		border-top-right-radius: var(--rr-radius-2xl);
	}
	.rrFoot__wrap { padding: 0 var(--rr-space-5); }

	.rrFoot__top {
		grid-template-columns: 1fr 1fr;
		gap: var(--rr-space-8);
		padding-bottom: var(--rr-space-10);
	}
	.rrFoot__brand { grid-column: 1 / -1; }

	.rrFoot__bottom {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
}

@media (max-width: 460px) {
	.rrFoot__top {
		grid-template-columns: 1fr;
		gap: var(--rr-space-8);
	}
	.rrFoot__brand { grid-column: 1; }
	.rrFoot__brandName { font-size: var(--rr-fs-md); }
	.rrFoot__tagline { max-width: none; }
}
