.uptrail-badges {
	margin: 28px 0;
	padding: clamp(22px, 4vw, 42px);
	color: #17352d;
	background:
		radial-gradient(circle at 92% 4%, rgba(225, 167, 71, .2), transparent 25%),
		linear-gradient(145deg, #f5f1e6, #fcfbf7 54%, #edf5ef);
	border: 1px solid rgba(31, 90, 73, .13);
	border-radius: 26px;
	box-shadow: 0 22px 60px rgba(23, 53, 45, .09);
}

.uptrail-badges__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.uptrail-badges__heading span,
.uptrail-leaderboard header > span {
	color: #b77822;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .16em;
}

.uptrail-badges__heading h2 {
	margin: 6px 0 7px;
	font-size: clamp(28px, 4vw, 44px);
	letter-spacing: -.04em;
}

.uptrail-badges__heading p {
	max-width: 680px;
	margin: 0;
	color: #557068;
}

.uptrail-badges__heading > strong {
	display: grid;
	place-items: center;
	min-width: 92px;
	min-height: 92px;
	color: #fff;
	font-size: 22px;
	background: #173f34;
	border: 7px solid rgba(255, 255, 255, .75);
	border-radius: 50%;
	box-shadow: 0 10px 30px rgba(23, 63, 52, .2);
}

.uptrail-trek-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0;
}

.uptrail-trek-stats article {
	padding: 17px;
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(31, 90, 73, .11);
	border-radius: 15px;
}

.uptrail-trek-stats span,
.uptrail-badge-card span {
	display: block;
	color: #687c75;
	font-size: 12px;
}

.uptrail-trek-stats b {
	display: block;
	margin-top: 5px;
	font-size: 22px;
}

.uptrail-badge-earned h3,
.uptrail-badge-catalog > h3 {
	margin: 28px 0 14px;
	font-size: 19px;
}

.uptrail-badge-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.uptrail-badge-card {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	padding: 15px;
	background: rgba(255, 255, 255, .85);
	border: 1px solid rgba(31, 90, 73, .12);
	border-radius: 16px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.uptrail-badge-card.is-earned {
	background: linear-gradient(140deg, #fff, #fff8e8);
	border-color: rgba(183, 120, 34, .28);
	box-shadow: 0 9px 24px rgba(109, 75, 25, .08);
}

.uptrail-badge-card.is-earned:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(109, 75, 25, .13);
}

.uptrail-badge-card.is-locked {
	opacity: .62;
}

.uptrail-badge-card i {
	display: grid;
	flex: 0 0 48px;
	place-items: center;
	width: 48px;
	height: 48px;
	font-size: 26px;
	font-style: normal;
	background: #eef4ef;
	border-radius: 14px;
}

.uptrail-badge-card.is-earned i {
	background: #fff0c8;
}

.uptrail-badge-card div {
	min-width: 0;
}

.uptrail-badge-card b {
	display: block;
	margin-bottom: 3px;
	font-size: 14px;
}

.uptrail-badge-card small {
	display: block;
	margin-top: 5px;
	color: #a36517;
	font-size: 11px;
	font-weight: 800;
}

.uptrail-badge-catalog details {
	margin-top: 10px;
	background: rgba(255, 255, 255, .5);
	border: 1px solid rgba(31, 90, 73, .1);
	border-radius: 16px;
}

.uptrail-badge-catalog summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	font-weight: 900;
	cursor: pointer;
}

.uptrail-badge-catalog summary span {
	color: #b77822;
}

.uptrail-badge-catalog details .uptrail-badge-grid {
	padding: 0 14px 14px;
}

.uptrail-secret-note {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 18px 0 0;
	color: #687c75;
	font-size: 12px;
}

.uptrail-secret-note a {
	flex: 0 0 auto;
	padding: 9px 14px;
	color: #fff;
	font-weight: 900;
	text-decoration: none;
	background: #173f34;
	border-radius: 99px;
}

.uptrail-profile-public {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	padding: 13px;
	background: #f2f6f3;
	border-radius: 12px;
}

.uptrail-profile-public input {
	width: 18px !important;
	height: 18px;
	margin-top: 2px;
}

.uptrail-profile-public span {
	font-size: 12px;
	line-height: 1.55;
}

.uptrail-leaderboard {
	min-height: 70vh;
	padding: clamp(96px, 12vw, 150px) max(20px, calc((100vw - 1120px) / 2)) 80px;
	font-family: "Plus Jakarta Sans", sans-serif;
	color: #17352d;
	background:
		linear-gradient(rgba(23, 53, 45, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(23, 53, 45, .04) 1px, transparent 1px),
		#f6f2e8;
	background-size: 28px 28px;
}

.uptrail-leaderboard-page .wp-block-post-title {
	display: none;
}

.uptrail-leaderboard header {
	max-width: 720px;
	margin-bottom: 34px;
}

.uptrail-leaderboard h1 {
	margin: 7px 0 10px;
	font-size: clamp(38px, 7vw, 76px);
	line-height: .98;
	letter-spacing: -.055em;
}

.uptrail-leaderboard header p {
	color: #587168;
	font-size: 16px;
}

.uptrail-leaderboard__table {
	overflow: hidden;
	background: rgba(255, 255, 255, .88);
	border: 1px solid rgba(31, 90, 73, .14);
	border-radius: 22px;
	box-shadow: 0 22px 60px rgba(23, 53, 45, .1);
}

.uptrail-leaderboard__row {
	display: grid;
	grid-template-columns: 70px minmax(170px, 1.4fr) minmax(150px, 1fr) 100px 120px;
	align-items: center;
	gap: 12px;
	padding: 17px 22px;
	border-bottom: 1px solid rgba(31, 90, 73, .09);
}

.uptrail-leaderboard__row:last-child {
	border-bottom: 0;
}

.uptrail-leaderboard__row.is-head {
	color: #6b7e77;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: #eaf1ec;
}

.uptrail-leaderboard__row > :last-child {
	color: #a36517;
	font-weight: 900;
	text-align: right;
}

.uptrail-leaderboard__empty {
	padding: 45px 22px;
	color: #6b7e77;
	text-align: center;
}

@media (max-width: 900px) {
	.uptrail-badge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.uptrail-trek-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.uptrail-leaderboard__row { grid-template-columns: 52px minmax(130px, 1fr) 100px 90px; }
	.uptrail-leaderboard__row > :nth-child(3) { display: none; }
}

@media (max-width: 560px) {
	.uptrail-badges { margin-inline: -4px; padding: 20px 15px; border-radius: 20px; }
	.uptrail-badges__heading { align-items: center; }
	.uptrail-badges__heading > strong { min-width: 70px; min-height: 70px; font-size: 16px; border-width: 5px; }
	.uptrail-badge-grid { grid-template-columns: 1fr; }
	.uptrail-trek-stats { gap: 8px; }
	.uptrail-trek-stats article { padding: 13px; }
	.uptrail-trek-stats b { font-size: 17px; }
	.uptrail-badge-catalog details .uptrail-badge-grid { padding-inline: 9px; }
	.uptrail-secret-note { align-items: flex-start; flex-direction: column; }
	.uptrail-leaderboard { padding-inline: 12px; }
	.uptrail-leaderboard__table { border-radius: 16px; }
	.uptrail-leaderboard__row.is-head { display: none; }
	.uptrail-leaderboard__row { grid-template-columns: 42px minmax(0, 1fr) auto; min-width: 0; padding: 14px; }
	.uptrail-leaderboard__row > :nth-child(3),
	.uptrail-leaderboard__row > :nth-child(4) { display: none; }
	.uptrail-leaderboard__empty { padding: 35px 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.uptrail-badge-card { transition: none; }
}
