/* ============================================ */
/* RESTAURANT ELEGANT - COLOR SCHEME           */
/* ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600;700&family=Great+Vibes&display=swap');

:root {
    /* Elegant Restaurant Palette */
    --primary-color: #2c3e50;          /* Deep Navy Blue */
    --primary-light: #34495e;          /* Light Navy */
    --primary-dark: #1a252f;           /* Darker Navy */
    --secondary-color: #8b7355;        /* Warm Taupe */
    --secondary-light: #a08968;        /* Light Taupe */
    --secondary-dark: #6d5c46;         /* Deep Taupe */
    
    /* Elegant Accent Colors */
    --accent-color: #d4af37;           /* Gold */
    --accent-light: #e6c158;           /* Light Gold */
    --accent-dark: #b8941f;            /* Deep Gold */
    --accent-gold: #f4e5c2;            /* Champagne Gold */
    --accent-silver: #c0c0c0;          /* Silver */
    --accent-rose: #c89f94;            /* Rose Gold */
    
    /* Hero Colors */
    --hero-gradient-start: rgba(30, 58, 95, 0.85);
    --hero-gradient-end: rgba(75, 85, 99, 0.75);
    --hero-overlay-bg: rgba(0, 0, 0, 0.4);
    
    --hero-text-color: white;
    --hero-subtitle-color: #d4af37;
    --hero-title-color: white;
    --hero-description-color: rgba(255, 255, 255, 0.95);
    --hero-scroll-color: #d4af37;
    
    /* Hero Buttons */
    --hero-btn-primary-bg: #d4af37;
    --hero-btn-primary-border: #d4af37;
    --hero-btn-primary-color: #1e3a5f;
    --hero-btn-primary-hover: #f5e6b3;
    --hero-btn-primary-shadow: rgba(212, 175, 55, 0.4);
    --hero-btn-primary-shadow-hover: rgba(212, 175, 55, 0.6);
    
    --hero-btn-outline-border: #d4af37;
    --hero-btn-outline-color: #d4af37;
    --hero-btn-outline-hover-bg: #d4af37;
    --hero-btn-outline-hover-color: #1e3a5f;
    
    
    /* Elegant Supporting Colors */
    --success-color: #27ae60;          /* Emerald Green */
    --warning-color: #d4af37;          /* Gold Warning */
    --error-color: #c0392b;            /* Deep Red */
    --info-color: var(--accent-color); /* Gold Info */
    
    /* Menu/Shop Colors */
    --success-color: #1e3a5f;
    --success-shadow: rgba(30, 58, 95, 0.4);
    --success-shadow-hover: rgba(30, 58, 95, 0.5);
    --price-color: #d4af37;
    
    --btn-primary-bg: #d4af37;
    --btn-primary-color: #1e3a5f;
    --btn-primary-hover: #b8941f;
    
    --tag-bg: #f5f5dc;
    --tag-color: #1e3a5f;
    --tag-vegetarian-bg: #e8f4e8;
    --tag-vegetarian-color: #2d5016;
    --tag-vegan-bg: #fff8e1;
    --tag-vegan-color: #7c6a1e;
    --tag-spicy-bg: #ffe4e1;
    --tag-spicy-color: #8b0000;
    
    /* Elegant Neutral Palette */
    --white: #ffffff;
    --cream: #faf8f3;                  /* Ivory Cream */
    --light-color: #f5f2ed;            /* Light Beige */
    --warm-white: #fdfbf7;             /* Warm White */
    --beige: #e8e3db;                  /* Soft Beige */
    --linen: #f0ece5;                  /* Linen */
    --sand: #d9d3c8;                   /* Sand */
    --gray-light: #ecf0f1;             /* Light Gray */
    --gray: #95a5a6;                   /* Medium Gray */
    --gray-dark: #7f8c8d;              /* Dark Gray */
    --charcoal: #2c3e50;               /* Charcoal */
    --dark-color: #1a252f;             /* Deep Navy */
    
    /* Elegant Typography */
    --font-family: 'Montserrat', sans-serif;
    --font-serif: 'Cormorant Garamond', serif;
    --font-script: 'Great Vibes', cursive;
    
    /* Elegant Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 6rem;
    
    /* Elegant Shadows */
    --shadow-sm: 0 2px 8px rgba(44, 62, 80, 0.1);
    --shadow-md: 0 4px 16px rgba(44, 62, 80, 0.15);
    --shadow-lg: 0 8px 32px rgba(44, 62, 80, 0.2);
    --shadow-xl: 0 12px 48px rgba(44, 62, 80, 0.25);
    --shadow-gold: 0 4px 20px rgba(212, 175, 55, 0.3);
    
    /* Elegant Gradients */
    --gradient-navy: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    --gradient-gold: linear-gradient(135deg, var(--accent-color), var(--accent-dark));
    --gradient-elegant: linear-gradient(135deg, var(--primary-color), var(--secondary-color), var(--accent-color));
    --gradient-overlay: linear-gradient(to bottom, rgba(26, 37, 47, 0.9), rgba(44, 62, 80, 0.7));
    
    /* Elegant Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    
    /* Elegant Transitions */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;
}

/* Elegant Typography Overrides */
body.elegant-theme {
    font-family: var(--font-family);
    color: var(--charcoal);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    color: var(--primary-color);
    font-weight: 600;
}

.script-font {
    font-family: var(--font-script);
    color: var(--accent-color);
}

/* Elegant Button Styles */
.elegant-theme .btn-primary {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--dark-color);
}

.elegant-theme .btn-primary:hover {
    background: var(--accent-light);
    border-color: var(--accent-light);
}

.elegant-theme .btn-secondary {
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    color: white;
}

.elegant-theme .btn-secondary:hover {
    background: var(--secondary-light);
    border-color: var(--secondary-light);
}

/* Elegant Section Backgrounds */
.elegant-section-light {
    background: var(--cream);
}

.elegant-section-dark {
    background: var(--primary-color);
    color: white;
}

.elegant-section-accent {
    background: var(--accent-gold);
}

/* Elegant Decorative Elements */
.elegant-divider {
    width: 100px;
    height: 2px;
    background: var(--gradient-gold);
    margin: 2rem auto;
}

.elegant-border {
    border: 2px solid var(--accent-color);
    border-radius: var(--radius-md);
}

/* Elegant Luxury Touches */
.luxury-texture {
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(212, 175, 55, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(44, 62, 80, 0.05) 0%, transparent 50%);
}

.gold-shimmer {
    position: relative;
    overflow: hidden;
}

.gold-shimmer::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 30%,
        rgba(212, 175, 55, 0.1) 50%,
        transparent 70%
    );
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
    100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

/* Elegant Restaurant-Specific Styles */
.elegant-theme .restaurant-hero {
    background: var(--gradient-overlay);
}

.elegant-theme .section-title {
    color: var(--primary-color);
    position: relative;
    padding-bottom: 1rem;
}

.elegant-theme .section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background: var(--gradient-gold);
}

.elegant-theme .section-subtitle {
    color: var(--accent-color);
    font-family: var(--font-script);
}

/* Elegant Card Styles */
.elegant-card {
    background: white;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: all var(--transition-base);
}

.elegant-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-5px);
}

.elegant-card-header {
    background: var(--gradient-navy);
    color: white;
    padding: 1.5rem;
}

.elegant-card-body {
    padding: 2rem;
}

/* Elegant Menu Item Styles */
.elegant-menu-item {
    border-bottom: 1px solid var(--beige);
    padding: 1.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.elegant-menu-item:last-child {
    border-bottom: none;
}

.elegant-menu-name {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    color: var(--primary-color);
    font-weight: 600;
}

.elegant-menu-price {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    color: var(--accent-color);
    font-weight: 600;
}

/* Elegant Testimonial Styles */
.elegant-testimonial {
    background: var(--cream);
    padding: 2rem;
    border-radius: var(--radius-xl);
    border-left: 4px solid var(--accent-color);
    position: relative;
}

.elegant-testimonial::before {
    content: '"';
    position: absolute;
    top: -10px;
    left: 20px;
    font-size: 5rem;
    color: var(--accent-color);
    opacity: 0.2;
    font-family: var(--font-serif);
}

/* Responsive Elegant Design */
@media (max-width: 768px) {
    :root {
        --space-4xl: 4rem;
        --space-3xl: 3rem;
    }
}