/* Custom Styles for Fresh Inspirations */

:root {
    --color-terracotta: #B4545B;
    --color-terracotta-light: #D48A8F;
    --color-sand: #F5F5F0;
    --color-stone-dark: #292524;
}

/* Tailwind Config Extension via CSS Variables (if needed) */
.text-terracotta { color: var(--color-terracotta); }
.bg-terracotta { background-color: var(--color-terracotta); }
.text-terracotta-light { color: var(--color-terracotta-light); }
.bg-stone-50 { background-color: #fafaf9; }
.bg-stone-100 { background-color: #f5f5f4; }
.bg-stone-900 { background-color: #1c1917; }
.text-stone-900 { color: #1c1917; }
.text-stone-800 { color: #292524; }
.text-stone-600 { color: #57534e; }
.text-stone-500 { color: #78716c; }
.text-stone-400 { color: #a8a29e; }
.border-stone-100 { border-color: #f5f5f4; }
.border-stone-300 { border-color: #d6d3d1; }
.border-terracotta { border-color: var(--color-terracotta); }
.border-terracotta\/30 { border-color: rgba(180, 84, 91, 0.3); }

/* Typography */
body {
    font-family: 'Lato', sans-serif;
}

h1, h2, h3, h4, .font-playfair {
    font-family: 'Playfair Display', serif;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
}

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

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #B4545B;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #8f3f45;
}

/* Form Focus States */
input:focus, textarea:focus {
    background-color: #fafaf9;
}

/* Image Aspect Ratios */
.aspect-\[4\/5\] {
    aspect-ratio: 4/5;
}

/* Mobile Menu Transitions */
#mobile-menu {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

#mobile-menu.open {
    max-height: 400px;
    opacity: 1;
}

/* Print Styles */
@media print {
    nav, #mobile-menu, .animate-bounce {
        display: none !important;
    }
    body {
        color: #000;
        background: #fff;
    }
    .bg-stone-900, .bg-terracotta {
        background: #fff !important;
        color: #000 !important;
        border: 1px solid #ccc;
    }
}
