/* Custom Color Palette */
:root {
    --plum-900: #2D1B2E;
    --plum-800: #4A3049;
    --plum-700: #6B4263;
    --plum-100: #F3E5F5;
    --amber-600: #D97706;
    --amber-500: #F59E0B;
    --amber-400: #FCD34D;
    --stone-50: #FAFAF9;
    --stone-100: #F5F5F4;
    --stone-200: #E7E5E4;
    --stone-600: #57534E;
    --stone-800: #292524;
}

/* Override Tailwind config for custom colors if needed, but using arbitrary values or standard palette is safer for CDN */
.bg-plum-900 { background-color: var(--plum-900); }
.bg-plum-800 { background-color: var(--plum-800); }
.bg-plum-950 { background-color: #1a1019; }
.bg-plum-100 { background-color: var(--plum-100); }
.text-plum-900 { color: var(--plum-900); }
.text-plum-800 { color: var(--plum-800); }
.text-plum-700 { color: var(--plum-700); }
.text-amber-600 { color: var(--amber-600); }
.text-amber-700 { color: #B45309; }
.text-amber-400 { color: var(--amber-400); }
.text-amber-300 { color: #FDE68A; }
.bg-amber-600 { background-color: var(--amber-600); }
.bg-amber-500 { background-color: var(--amber-500); }
.bg-amber-700 { background-color: #B45309; }

/* Font Families */
.font-serif {
    font-family: 'Lora', serif;
}
.font-sans {
    font-family: 'Montserrat', sans-serif;
}

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

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: var(--stone-100);
}
::-webkit-scrollbar-thumb {
    background: var(--plum-700);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--plum-900);
}

/* Animation Utilities */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile Menu Transitions */
#mobile-menu {
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

/* Form Focus States */
input:focus, textarea:focus {
    border-color: var(--plum-700);
    box-shadow: 0 0 0 2px rgba(107, 66, 99, 0.2);
}
