/**
 * Inversiones Castillo LLC
 * GSAP & CSS Motion System
 */

/* Gold Shimmer Text Effect */
.gold-shimmer-text {
    background: linear-gradient(
        90deg, 
        #ca8a04 0%, 
        #f5b316 25%, 
        #fffbeb 50%, 
        #f5b316 75%, 
        #ca8a04 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: goldShimmer 4s linear infinite;
}

@keyframes goldShimmer {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* 3D Plate Shimmer Sweep */
.plate-shimmer {
    position: absolute;
    inset: -100%;
    background: linear-gradient(
        45deg,
        transparent 35%,
        rgba(255, 255, 255, 0.25) 50%,
        transparent 65%
    );
    transform: rotate(30deg);
    animation: plateShimmerSweep 5s infinite;
    pointer-events: none;
}

@keyframes plateShimmerSweep {
    0%, 70% { transform: translateY(-100%) rotate(30deg); opacity: 0; }
    75% { opacity: 1; }
    100% { transform: translateY(100%) rotate(30deg); opacity: 0; }
}

/* Button Spinner during AJAX submit */
.btn-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    border-top-color: #000;
    animation: spin 0.8s linear infinite;
}

.is-submitting .btn-spinner {
    display: inline-block;
}

.is-submitting .btn-text {
    opacity: 0.7;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Hamburger Transition */
.mobile-toggle-btn.is-active .bar-1 {
    transform: translateY(9px) rotate(45deg);
}
.mobile-toggle-btn.is-active .bar-2 {
    opacity: 0;
}
.mobile-toggle-btn.is-active .bar-3 {
    transform: translateY(-9px) rotate(-45deg);
}

/* Initial GSAP states - performance best practice (autoAlpha handles visibility) */
[data-animate="hero-pill"],
[data-animate="hero-title"],
[data-animate="hero-lead"],
[data-animate="hero-actions"],
[data-animate="hero-stats"],
[data-animate="hero-visual"] {
    opacity: 0;
    transform: translateY(24px);
    will-change: transform, opacity;
}

/* Reduced Motion Preference for Accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .cursor-glow {
        display: none !important;
    }
}
