@keyframes float {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-20px); }
	100% { transform: translateY(0px); }
}
.floating {
	animation: float 6s ease-in-out infinite;
}
.floating-slow {
	animation: float 8s ease-in-out infinite;
}
.floating-slower {
	animation: float 10s ease-in-out infinite;
}

.bg-gradient-custom {
	background: linear-gradient(135deg, #1a237e, #4a148c, #1a237e);
}

.link-hover:hover {
	color: #9fa8da !important;
	transition: color 0.2s ease-in-out;
}

@keyframes float {
	0% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}

.floating { animation: float 6s infinite ease-in-out; }
.floating-slow { animation: float 8s infinite ease-in-out; }
.floating-slower { animation: float 10s infinite ease-in-out; }

.text-gradient {
	background: linear-gradient(to right, #6366f1, #a855f7);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.btn-gradient {
	background: linear-gradient(to right, #6366f1, #a855f7);
	color: white;
	border: none;
	transition: background 0.2s;
}

.btn-gradient:hover {
	background: linear-gradient(to right, #4f46e5, #9333ea);
}

.bg-purple { background-color: #a855f7 !important; }
.bg-danger { background-color: #ec4899 !important; }
.bg-info { background-color: #818cf8 !important; }

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.modal.show {
    display: flex;
    opacity: 1;
}

.modal-open {
    overflow: hidden;
}
