/* Base Configuration */
:root {
    --primary-bg: #FCFBF8;
    --secondary-bg: #F4EBE1;
    --accent-gold: #D4AF37;
    --accent-light: #E8D5A3;
    --text-main: #4A4036;
}

body {
    background-color: var(--primary-bg);
    color: var(--text-main);
    overflow-x: hidden;
}

/* GSAP Hero Styles */
.hero-image {
    will-change: transform;
}

.hero-bg-container {
    will-change: opacity;
}

.font-playfair {
    font-family: 'Playfair Display', serif;
}

.font-lato {
    font-family: 'Lato', sans-serif;
}

/* Custom Gradients */
.bg-hero-gradient {
    background: linear-gradient(135deg, var(--secondary-bg) 0%, #FAE3D9 50%, var(--accent-light) 100%);
}

/* Interactive Scroll Reveal */
.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Delay modifiers */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Swiper Customizations */
.swiper-slide {
    width: 260px;
    height: 380px;
    border-radius: 1rem;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

@media (min-width: 768px) {
    .swiper-slide {
        width: 320px;
        height: 480px;
    }
}

.swiper-slide:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px -10px rgba(212, 175, 55, 0.35); /* Elegant gold glow */
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    background-color: #eee; /* Placeholder color before load */
}

.swiper-slide:hover img {
    transform: scale(1.05);
}

.swiper-pagination-bullet-active {
    background: var(--accent-gold) !important;
}
.swiper-pagination {
    bottom: 0px !important;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* LightGallery tweaks for matching theme */
.lg-backdrop {
    background-color: rgba(252, 251, 248, 0.95); /* Using primary bg with opacity */
}
.lg-toolbar {
    background-color: transparent !important;
}
.lg-icon {
    color: var(--text-main) !important;
}
.lg-icon:hover {
    color: var(--accent-gold) !important;
}
.lg-sub-html h4 {
    color: var(--text-main);
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
}
