.cc-contestant-profile {
	max-width: 640px;
	margin: 0 auto;
	padding: 40px 20px 80px;
	text-align: center;
}

/* Hero */

.cc-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-bottom: 32px;
}

.cc-hero__photo {
	width: 400px;
	height: 400px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 45px 12px rgba(255, 210, 60, 0.55);
}

.cc-hero__name {
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin: 8px 0 0;
}

.cc-badge {
	display: inline-block;
	padding: 6px 20px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.9rem;
	background: #eee;
	color: #333;
}

.cc-badge--newborn     { background: #ffe0e9; color: #8a3f57; }
.cc-badge--baby         { background: #e0f3ff; color: #2b5f80; }
.cc-badge--toddler      { background: #fff3d6; color: #8a6d1f; }
.cc-badge--little-star  { background: #ede0ff; color: #5b3f8a; }
.cc-badge--junior       { background: #e0ffea; color: #2f7a4d; }

/* Vote counter */

.cc-vote-counter {
	margin-bottom: 32px;
}

.cc-vote-counter__number {
	font-size: 4rem;
	font-weight: 800;
	color: #d69e00;
	transition: transform 0.2s ease;
}

.cc-vote-counter__number.cc-bump {
	transform: scale(1.12);
}

.cc-vote-counter__label {
	font-size: 1rem;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Vote action card */

.cc-vote-action {
	background: #fffaf0;
	border: 1px solid #ffe8b8;
	border-radius: 20px;
	padding: 28px 24px;
	margin-bottom: 40px;
}

.cc-vote-action__message {
	font-size: 1.1rem;
	margin-bottom: 16px;
}

.cc-vote-action__buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.cc-vote-action__balance {
	margin-top: 14px;
	font-size: 1.05rem;
}

.cc-vote-action__error {
	margin-top: 12px;
	color: #c0392b;
	font-size: 0.95rem;
}

.cc-hidden {
	display: none !important;
}

/* Buttons */

.cc-button {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.cc-button:hover {
	transform: translateY(-2px);
}

.cc-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.cc-button--primary {
	background: #ffb703;
	color: #402d00;
}

.cc-button--outline {
	background: transparent;
	color: #b8860b;
	border: 2px solid #ffb703;
}

.cc-button--vote {
	background: #ffb703;
	color: #402d00;
	font-size: 1.15rem;
	padding: 16px 40px;
}

.cc-button--facebook {
	background: #1877f2;
	color: #fff;
}

.cc-button--whatsapp {
	background: #25d366;
	color: #fff;
}

/* Share */

.cc-share__heading {
	font-size: 1.3rem;
	margin-bottom: 16px;
}

.cc-share__buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Mobile */

@media (max-width: 600px) {
	.cc-hero__photo {
		width: 280px;
		height: 280px;
	}

	.cc-hero__name {
		font-size: 1.8rem;
	}

	.cc-vote-counter__number {
		font-size: 3rem;
	}

	.cc-vote-action__buttons,
	.cc-share__buttons {
		flex-direction: column;
	}

	.cc-button {
		width: 100%;
		text-align: center;
	}
}
