/* ============================================
   SCROLL ANIMATIONS
   ============================================ */

[data-aos] {
    opacity: 0;
    transition-property: opacity, transform;
}

[data-aos="fade-up"] {
    transform: translate3d(0, 40px, 0);
}

[data-aos="fade-down"] {
    transform: translate3d(0, -40px, 0);
}

[data-aos="fade-left"] {
    transform: translate3d(-40px, 0, 0);
}

[data-aos="fade-right"] {
    transform: translate3d(40px, 0, 0);
}

[data-aos="zoom-in"] {
    transform: scale3d(0.95, 0.95, 0.95);
}

[data-aos].aos-animate {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1) !important;
}

/* ============================================
   SMOOTH TRANSITIONS
   ============================================ */

.smooth-transition {
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.slide-in {
    animation: slideIn 0.6s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade-in {
    animation: fadeIn 0.8s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.scale-in {
    animation: scaleIn 0.5s ease-out;
}

@keyframes scaleIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Added smooth pastel-focused animations */
@keyframes lineAnimation {
    0% {
        width: 0;
        opacity: 1;
    }

    100% {
        width: 100%;
        opacity: 1;
    }
}

@keyframes circleAnimation {
    0% {
        transform: scale(0.3);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }
}

@keyframes floatSlow {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-15px);
    }
}

@keyframes rotateSlow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ============================================
   PULSE & GLOW EFFECTS
   ============================================ */

.pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.8;
    }
}

/* Updated glow to use pastel colors */
.glow {
    box-shadow: 0 0 20px rgba(255, 182, 185, 0.3);
}

    .glow:hover {
        box-shadow: 0 0 30px rgba(255, 182, 185, 0.5);
    }

.glow-accent {
    box-shadow: 0 0 20px rgba(138, 198, 209, 0.3);
}

    .glow-accent:hover {
        box-shadow: 0 0 30px rgba(138, 198, 209, 0.5);
    }

/* ============================================
   HOVER EFFECTS
   ============================================ */

.hover-lift {
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

    .hover-lift:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-lg);
    }

.hover-scale {
    transition: transform var(--transition-fast);
}

    .hover-scale:hover {
        transform: scale(1.03);
    }

.hover-shadow {
    transition: box-shadow var(--transition-normal);
}

    .hover-shadow:hover {
        box-shadow: 0 12px 24px rgba(255, 182, 185, 0.15);
    }

/* ============================================
   LOADER
   ============================================ */

.spinner-border-custom {
    border-width: 3px;
    border-color: var(--primary-light);
    border-right-color: transparent;
    animation: spin-custom 1s linear infinite;
}

@keyframes spin-custom {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ============================================
   SCROLL REVEAL
   ============================================ */

.reveal {
    opacity: 0;
    transform: translateY(20px);
}

    .reveal.show {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }

/* Added floating and animated watermark classes */
.float-animation {
    animation: float 3s ease-in-out infinite;
}

.float-slow {
    animation: floatSlow 4s ease-in-out infinite;
}

.rotate-slow {
    animation: rotateSlow 20s linear infinite;
}

/* Watermark decorative elements */
.watermark-circle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.08;
    pointer-events: none;
}

.watermark-blob {
    position: absolute;
    border-radius: 45% 55% 50% 50%;
    opacity: 0.06;
    pointer-events: none;
    animation: rotateSlow 25s linear infinite;
}
