/* Challenge of the month */

.goal {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 24px;
	border-radius: 20px;
	background: var(--sand);
	text-align: center;
}

.goal__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--on-accent);
}

.goal__eyebrow {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--accent-ink);
}

.goal__title {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.3;
}

.goal__text {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.55;
	color: var(--ink-soft);
}

.goal__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	margin-top: 4px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--on-accent-soft);
	color: var(--on-accent);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none;
}

/* completed: the card changes colour */
.goal--done {
	background: var(--accent);
	color: var(--on-accent);
}

.goal--done .goal__icon {
	background: var(--ground);
	color: var(--accent);
}

.goal--done .goal__icon svg {
	stroke-width: 1.5;
}

.goal--done .goal__eyebrow,
.goal--done .goal__text,
.goal--done .goal__pill:hover {
	color: var(--on-accent);
}

.goal--done .goal__title {
	font-size: 24px;
}

/* ---- Counter ---- */

.counter {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--surface);
}

.counter__title {
	font-family: var(--serif);
	font-size: 16px;
	font-weight: 400;
	text-align: center;
}

.counter__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.counter__minus,
.counter__plus {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border-radius: 50%;
	cursor: pointer;
}

.counter__minus {
	border: 1px solid var(--line-strong);
	background: var(--ground);
	color: var(--ink);
}

.counter__plus {
	border: 0;
	background: var(--accent);
	color: var(--on-accent);
}

.counter__minus:disabled,
.counter__plus:disabled {
	opacity: 0.4;
	cursor: default;
}

.counter__value {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.counter__count {
	font-family: var(--serif);
	font-size: 48px;
	line-height: 1.1;
	color: var(--accent-ink);
}

.counter__of {
	font-size: 13px;
	color: var(--muted);
}

.counter__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.counter__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background: var(--ground);
	color: var(--muted);
	font-size: 12.5px;
}

.counter__dot.is-done {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--on-accent);
}

.counter__hint {
	font-size: 13.5px;
	font-weight: 300;
	text-align: center;
	color: var(--muted);
}

/* ---- Tip ---- */

.hint-card {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--surface);
}

.hint-card__icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--sand);
	color: var(--accent-ink);
}

.hint-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hint-card__title {
	font-family: var(--serif);
	font-size: 15px;
}

.hint-card__text {
	font-size: 13.5px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--ink-soft);
}
