/* Custom Premium Styles for LabCompras */

@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(50px); filter: blur(10px); }
    to { opacity: 1; transform: translateX(0); filter: blur(0); }
}

.animate-fade-in-right {
    animation: fadeInRight 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(30px); filter: blur(5px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.animate-slide-up {
    animation: slideUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes pulseBtn {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 110, 37, 0.4); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(0, 110, 37, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 110, 37, 0); }
}

.animate-pulse-btn {
    animation: pulseBtn 2s infinite;
}

@keyframes bounceSlow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.animate-bounce-slow {
    animation: bounceSlow 4s ease-in-out infinite;
}

.glass-nav {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.slide {
    display: none;
    opacity: 0;
    transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}

.slide.active {
    display: flex;
    opacity: 1;
    z-index: 2;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #fcf9f8;
}

::-webkit-scrollbar-thumb {
    background: #006e25;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #00531a;
}

/* Selection Color */
::selection {
    background: #83fc8e;
    color: #002106;
}

/* Bento Grid Perspective */
.group:hover {
    transform: translateY(-4px);
}

/* Transitions */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
/* Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.animate-marquee {
    animation: marquee 35s linear infinite;
}
