/* Custom Styles for Drea's Hair Studio */

/* Color Variables */
:root {
    --gold-50: #fdf9f0;
    --gold-100: #f9eddb;
    --gold-200: #f2d7b3;
    --gold-300: #e9bc7f;
    --gold-400: #df9a4a;
    --gold-500: #C9A962;
    --gold-600: #b88f4f;
    --gold-700: #9a7344;
    --gold-800: #7e5c3a;
    --gold-900: #674b32;
    --gold-950: #38271a;
}

/* Tailwind Configuration */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer theme {
    :root {
        --color-gold-50: var(--gold-50);
        --color-gold-100: var(--gold-100);
        --color-gold-200: var(--gold-200);
        --color-gold-300: var(--gold-300);
        --color-gold-400: var(--gold-400);
        --color-gold-500: var(--gold-500);
        --color-gold-600: var(--gold-600);
        --color-gold-700: var(--gold-700);
        --color-gold-800: var(--gold-800);
        --color-gold-900: var(--gold-900);
        --color-gold-950: var(--gold-950);
    }
}

@layer base {
    html {
        scroll-behavior: smooth;
    }
    
    body {
        font-family: 'Montserrat', sans-serif;
    }
    
    h1, h2, h3, h4, .font-serif {
        font-family: 'Cormorant Garamond', serif;
    }
}

@layer components {
    /* Navigation */
    .nav-link {
        position: relative;
    }
    
    .nav-link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 2px;
        background-color: #C9A962;
        transition: width 0.3s ease;
    }
    
    .nav-link:hover::after {
        width: 100%;
    }
    
    /* Hero Animations */
    .hero-subtitle {
        animation: slideUp 0.8s ease forwards;
    }
    
    .hero-title {
        animation: slideUp 0.8s ease 0.2s forwards;
        opacity: 0;
    }
    
    .hero-desc {
        animation: slideUp 0.8s ease 0.4s forwards;
        opacity: 0;
    }
    
    .hero-cta {
        animation: slideUp 0.8s ease 0.6s forwards;
        opacity: 0;
    }
    
    @keyframes slideUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Scroll Indicator */
    .scroll-indicator {
        animation: bounce 2s infinite;
    }
    
    @keyframes bounce {
        0%, 20%, 50%, 80%, 100% {
            transform: translateY(0);
        }
        40% {
            transform: translateY(-10px);
        }
        60% {
            transform: translateY(-5px);
        }
    }
    
    /* Service Cards */
    .service-card {
        position: relative;
        overflow: hidden;
    }
    
    .service-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, #C9A962, #df9a4a);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.5s ease;
    }
    
    .service-card:hover::before {
        transform: scaleX(1);
    }
    
    /* Gallery Items */
    .gallery-item {
        position: relative;
        overflow: hidden;
    }
    
    .gallery-item::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(15, 23, 42, 0.4), transparent);
        opacity: 0;
        transition: opacity 0.5s ease;
    }
    
    .gallery-item:hover::after {
        opacity: 1;
    }
    
    /* Reveal Animations */
    .reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }
    
    .reveal.active {
        opacity: 1;
        transform: translateY(0);
    }
    
    /* Mobile Menu */
    #mobile-menu {
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
    
    #mobile-menu.open {
        transform: translateX(0);
    }
    
    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 10px;
    }
    
    ::-webkit-scrollbar-track {
        background: #f5f5f4;
    }
    
    ::-webkit-scrollbar-thumb {
        background: #C9A962;
        border-radius: 5px;
    }
    
    ::-webkit-scrollbar-thumb:hover {
        background: #b88f4f;
    }
}

@layer utilities {
    /* Reduced Motion */
    @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
        }
        
        html {
            scroll-behavior: auto;
        }
    }
}
