#btn-doacao {
	position: relative;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.45s ease, filter 0.45s ease;
}

#btn-doacao::after,
#btn-doacao::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: 9999px;
	pointer-events: none;
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

#btn-doacao::after {
	border: 1px solid rgba(248, 113, 181, 0.35);
}

#btn-doacao::before {
	background: radial-gradient(circle at center,
			rgba(248, 113, 181, 0.5),
			rgba(190, 24, 93, 0));
}

#btn-doacao.donation-press {
	transform: translateY(1px) scale(0.94);
	box-shadow: 0 25px 45px rgba(236, 72, 153, 0.45);
	filter: brightness(1.06);
}

#btn-doacao.donation-press::after,
#btn-doacao.donation-press::before {
	opacity: 1;
	transform: scale(1.15);
}

#btn-doacao .heart-icon {
	transition: transform 0.45s ease, filter 0.45s ease;
}

#btn-doacao.donation-press .heart-icon {
	transform: scale(1.25) rotate(-8deg);
	filter: drop-shadow(0 0 12px rgba(248, 113, 113, 0.9));
}

#modal-doacao {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

#modal-doacao .modal-overlay {
	opacity: 0;
	transition: opacity 0.35s ease;
}

#modal-doacao .modal-panel {
	opacity: 0;
	transform: translateY(25px) scale(0.96);
	transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

#modal-doacao.modal-open {
	opacity: 1;
	pointer-events: auto;
}

#modal-doacao.modal-open .modal-overlay {
	opacity: 1;
}

#modal-doacao.modal-open .modal-panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}