/* Custom CSS for J Beauty Bar Spa */

/* Custom Properties */
:root {
    --burgundy-50: #fdf2f4;
    --burgundy-100: #fce7eb;
    --burgundy-200: #f9d0d9;
    --burgundy-300: #f3a8b5;
    --burgundy-400: #e9748b;
    --burgundy-500: #dc4d68;
    --burgundy-600: #c43650;
    --burgundy-700: #a12840;
    --burgundy-800: #822134;
    --burgundy-900: #6b1d2d;
    
    --blush-100: #fdf4f0;
    --blush-200: #fde8dd;
    --blush-300: #fad4c4;
    
    --stone-50: #fafaf9;
    --stone-100: #f5f5f4;
    --stone-200: #e7e5e4;
    --stone-300: #d6d3d1;
    --stone-400: #a8a29e;
    --stone-500: #78716c;
    --stone-600: #57534e;
    --stone-700: #44403c;
    --stone-800: #292524;
    --stone-900: #1c1917;
}

/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Lato', sans-serif;
    line-height: 1.6;
}

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

/* Scroll Reveal Animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Navbar Styles */
#navbar {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#navbar.scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Button Hover Effects */
button, a {
    transition: all 0.3s ease;
}

/* Image Hover Effects */
img {
    transition: transform 0.5s ease;
}

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

::-webkit-scrollbar-track {
    background: var(--stone-100);
}

::-webkit-scrollbar-thumb {
    background: var(--burgundy-700);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--burgundy-800);
}

/* Focus Styles */
button:focus, a:focus, input:focus, textarea:focus, select:focus {
    outline: 2px solid var(--burgundy-700);
    outline-offset: 2px;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    
    img, button, a {
        transition: none;
    }
}

/* Mobile Menu Animation */
#mobile-menu {
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form Input Focus States */
input:focus, textarea:focus, select:focus {
    border-color: var(--burgundy-700);
    box-shadow: 0 0 0 3px rgba(161, 40, 64, 0.1);
}

/* Loading State */
.loading {
    position: relative;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
