/* Custom Font Assignments */
.font-heading {
    font-family: 'Cormorant Garamond', serif;
}
.font-body {
    font-family: 'Montserrat', sans-serif;
}

/* Slider Transitions */
.slide {
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    z-index: 10;
}
.slide.active {
    opacity: 1;
    z-index: 20;
}

/* Ken Burns Effect (Image Zoom) */
.slide-bg {
    transform: scale(1);
    transition: transform 6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.slide.active .slide-bg {
    transform: scale(1.1);
}

/* Text Animations */
.animate-text-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
    transition-delay: 0.3s;
}
.slide.active .animate-text-up {
    opacity: 1;
    transform: translateY(0);
}

.animate-text-up-delay-1 { transition-delay: 0.5s; }
.animate-text-up-delay-2 { transition-delay: 0.7s; }

/* Text Shadow for better visibility */
.text-shadow-strong {
    text-shadow: 0 4px 8px rgba(0,0,0,0.8);
}
.text-shadow-md {
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}

/* Navigation Button Hover Effects */
.nav-btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
}

/* Progress Bar Animation */
.progress-bar-fill {
    width: 0%;
    height: 100%;
    background-color: #D4AF37; /* Gold */
    transition: width 0s linear;
}

@keyframes fillProgress {
    from { width: 0%; }
    to { width: 100%; }
}

.running-progress {
    animation: fillProgress 5000ms linear; /* Matches auto-slide interval */
}

/* Custom Shapes for About Section */
.rounded-custom-image {
    border-top-left-radius: 4rem;
    border-bottom-right-radius: 4rem;
}

.rounded-custom-card {
    border-top-left-radius: 3rem;
    border-bottom-right-radius: 3rem;
}

/* Lightbox Styles */
#lightbox {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
#lightbox.active {
    opacity: 1;
    pointer-events: all;
}