/* Red + maroon palette refinement. Profile popovers intentionally excluded. */
:root {
	--obs-red: #ef233c;
	--obs-red-strong: #b5122f;
	--obs-red-soft: rgba(239, 35, 60, .16);
	--obs-coral: #ff3f4f;
	--obs-violet: #86152b;
	--obs-cyan: #c21b37;
	--obs-maroon: #741126;
	--obs-maroon-deep: #390711;
}

body {
	--primary: var(--obs-red);
	--primary-hover: #ff3148;
	--danger: var(--obs-red-strong);
}

.btn-primary,
.btn-danger {
	background: linear-gradient(135deg, #f12a42 0%, #b5122f 58%, #741126 100%) !important;
	box-shadow: 0 8px 24px rgba(181, 18, 47, .24) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-danger:hover,
.btn-danger:focus {
	background: linear-gradient(135deg, #ff3a50 0%, #d01635 55%, #86152b 100%) !important;
	box-shadow: 0 10px 28px rgba(209, 22, 53, .3) !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
	border-color: rgba(239, 35, 60, .42) !important;
	background: linear-gradient(180deg, rgba(239, 35, 60, .13), rgba(116, 17, 38, .09)) !important;
}

:focus-visible {
	outline-color: #ff3b4f !important;
}

.profile-moderation {
	background:
		radial-gradient(circle at 12% 0%, rgba(181, 18, 47, .14), transparent 36%),
		linear-gradient(145deg, rgba(20, 13, 17, .94), rgba(8, 6, 8, .92)) !important;
}

.profile-moderation .actionbtns {
	background: linear-gradient(135deg, rgba(239, 35, 60, .07), rgba(116, 17, 38, .08)) !important;
}

/* Primary navigation pills must keep white labels and icons. */
a.btn-primary,
a.btn-primary:link,
a.btn-primary:visited,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active,
.nav-link.btn-primary,
.btn-primary.text-primary,
.btn-primary,
.btn-primary > *,
.btn-primary .text-primary,
.btn-primary i,
.btn-primary span,
.btn-primary svg {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	fill: currentColor !important;
}

/* React Bits GlareHover behavior for full-profile badges. */
body#userpage #profile--badges.profile-badges {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	gap: 10px !important;
}

body#userpage #profile--badges .profile-badge-glare {
	position: relative !important;
	display: inline-grid !important;
	flex: 0 0 55px !important;
	place-items: center !important;
	width: 55px !important;
	height: 60px !important;
	min-width: 55px !important;
	min-height: 60px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	isolation: isolate !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body#userpage #profile--badges .profile-badge-glare::before {
	content: "" !important;
	position: absolute !important;
	z-index: 4 !important;
	inset: 0 !important;
	pointer-events: none !important;
	background: linear-gradient(
		-30deg,
		rgba(255, 255, 255, 0) 60%,
		rgba(255, 255, 255, .3) 70%,
		rgba(255, 255, 255, 0) 82%,
		rgba(255, 255, 255, 0) 100%
	) !important;
	background-repeat: no-repeat !important;
	background-size: 300% 300%, 100% 100% !important;
	background-position: -100% -100%, 0 0 !important;
	transition: none !important;
	animation: none !important;
	will-change: background-position;
}

body#userpage #profile--badges .profile-badge-glare:hover::before,
body#userpage #profile--badges .profile-badge-glare:focus-visible::before {
	animation: obsessionBadgeGlareSweep 800ms ease both !important;
}

body#userpage #profile--badges .profile-badge-glare > img {
	position: relative !important;
	z-index: 1 !important;
	display: block !important;
	width: 55px !important;
	height: 60px !important;
	max-width: 55px !important;
	max-height: 60px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

@keyframes obsessionBadgeGlareSweep {
	0% {
		background-position: -100% -100%, 0 0;
	}
	100% {
		background-position: 100% 100%, 0 0;
	}
}
