/* CSS Variables for Luxury Theme */
:root {
    --forest-green: #1a3c34;
    --forest-dark: #0f2620;
    --gold-400: #d4af37;
    --gold-500: #c5a028;
    --gold-600: #b08d1e;
    --cream: #f9f8f4;
}

/* Base Styles */
body {
    background-color: #ffffff;
}

/* Color Utilities (Extending Tailwind behavior conceptually) */
.text-forest-green { color: var(--forest-green); }
.bg-forest-green { background-color: var(--forest-green); }
.bg-forest-dark { background-color: var(--forest-dark); }
.text-gold-400 { color: var(--gold-400); }
.text-gold-500 { color: var(--gold-500); }
.text-gold-600 { color: var(--gold-600); }
.bg-gold-500 { background-color: var(--gold-500); }
.bg-gold-600 { background-color: var(--gold-600); }
.hover\:bg-gold-700:hover { background-color: #997a1a; }
.border-gold-500 { border-color: var(--gold-500); }
.bg-cream { background-color: var(--cream); }

/* Typography */
h1, h2, h3, .font-serif {
    font-family: 'Times New Roman', serif; /* Fallback */
    font-family: 'Playfair Display', serif; /* Ideally import this, but system serif works for now if not fetched */
}

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

.slide-up {
    animation: fadeInUp 1s ease-out forwards;
}

@keyframes zoomIn {
    from { transform: scale(1); }
    to { transform: scale(1.05); }
}

.animate-zoom {
    animation: zoomIn 20s infinite alternate ease-in-out;
}

/* Hide Scrollbar for Scroller */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Smooth Scroll Behavior */
html {
    scroll-behavior: smooth;
}

/* Custom Input Validation Styling */
input:focus, select:focus {
    box-shadow: none;
}
