/* ─── Animations for the Practical Doctrinas site ─── */

/* Marquee */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    width: max-content;
    animation: marquee 30s linear infinite;
}
.animate-marquee:hover {
    animation-play-state: paused;
}

/* Fade In Up */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}
.animate-fade-in-up-d1 { animation-delay: 0.1s; }
.animate-fade-in-up-d2 { animation-delay: 0.2s; }
.animate-fade-in-up-d3 { animation-delay: 0.3s; }
.animate-fade-in-up-d4 { animation-delay: 0.4s; }

/* Float */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.animate-float {
    animation: float 3s ease-in-out infinite;
}

/* Pulse Glow */
@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(212, 168, 67, 0.4); }
    50% { box-shadow: 0 0 0 12px rgba(212, 168, 67, 0); }
}
.animate-pulse-glow {
    animation: pulseGlow 2s infinite;
}

/* Gradient mesh */
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.animate-gradient {
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
}

/* Shimmer */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.animate-shimmer {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
    background-size: 200% 100%;
    animation: shimmer 3s infinite;
}

/* Scale In */
@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
.animate-scale-in {
    animation: scaleIn 0.5s ease-out forwards;
}

/* Testimonial scroll */
@keyframes testimonialScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-testimonial-scroll {
    width: max-content;
    animation: testimonialScroll 40s linear infinite;
}
.animate-testimonial-scroll:hover {
    animation-play-state: paused;
}

/* Slide in left/right */
@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
.animate-slide-in-left {
    animation: slideInLeft 0.6s ease-out forwards;
}
.animate-slide-in-right {
    animation: slideInRight 0.6s ease-out forwards;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Event content styling */
.event-content h3 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    color: #003D7A;
}
.event-content h4 {
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0.25rem;
    color: #1a1a2e;
}
.event-content p {
    margin-bottom: 0.5rem;
    line-height: 1.7;
    color: #64748b;
    font-size: 0.875rem;
}
.event-content ul {
    list-style: disc;
    list-style-position: inside;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.event-content ul li {
    margin-bottom: 0.25rem;
    line-height: 1.6;
    font-size: 0.875rem;
    color: #64748b;
}

/* Prose-like styling for resource content */
.resource-content p {
    margin-bottom: 0.75rem;
    line-height: 1.7;
    color: #4a5568;
}
