/* 🌸 PREMIUM SPIRITUAL ANIMATIONS */

/* Typing Cursor */
.typing-container {
    display: inline;
    position: relative;
}

.typing-cursor {
    display: inline-block;
    width: 3px;
    height: 1.1em;
    background-color: #ff9933;
    margin-left: 2px;
    vertical-align: middle;
    animation: blink-cursor 0.8s infinite;
}

@keyframes blink-cursor {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Floating Effects */
@keyframes float-badge {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-15px) rotate(2deg); }
}

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

.animate-float {
    animation: float-y 4s infinite ease-in-out;
}

/* Pulse & Glow */
@keyframes subtle-pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 153, 51, 0.4); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(255, 153, 51, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 153, 51, 0); }
}

.icon-pulse {
    animation: subtle-pulse 2s infinite ease-in-out;
}

/* Reveal Animations */
.reveal-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

/* Image Hover Zoom */
.zoom-on-hover {
    overflow: hidden;
}
.zoom-on-hover img {
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.zoom-on-hover:hover img {
    transform: scale(1.1);
}

/* Golden Glow Text */
.gold-glow-text {
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, #FFD700 0%, #d4af37 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Shimmer Effect for Buttons */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.btn-shimmer {
    background: linear-gradient(90deg, #ff9933, #ffcc33, #ff9933);
    background-size: 200% 100%;
    animation: shimmer 3s infinite linear;
}

/* Cinematic Reveal */
.cinematic-reveal {
    overflow: hidden;
    position: relative;
}
.cinematic-reveal::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    transform: scaleX(1);
    transform-origin: right;
    transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.cinematic-reveal.active::after {
    transform: scaleX(0);
}
