/* Luxury Theme Intelligence - Smart Adaptive Color System */

/* ==========================================
   INTELLIGENT COLOR PALETTE
   ========================================== */

:root {
  /* Base Theme Detection */
  --is-light-theme: 1;
  --is-dark-theme: 0;
  
  /* Smart Color Variables - Light Theme */
  --luxury-primary: #D4AF37;      /* Gold */
  --luxury-primary-light: #F4E4BC;      /* Light Gold */
  --luxury-primary-dark: #B8860B;       /* Dark Gold */
  
  --luxury-secondary: #C0C0C0;        /* Silver */
  --luxury-secondary-light: #E8E8E8;    /* Light Silver */
  --luxury-secondary-dark: #A8A8A8;     /* Dark Silver */
  
  --luxury-accent: #1B365D;            /* Navy */
  --luxury-accent-light: #2A4A6E;       /* Light Navy */
  --luxury-accent-dark: #0F1F35;       /* Dark Navy */
  
  /* Smart Background System */
  --luxury-bg-primary: #FFFFFF;         /* Primary Background */
  --luxury-bg-secondary: #FDF8F0;       /* Secondary Background */
  --luxury-bg-tertiary: #F5F5F5;        /* Tertiary Background */
  
  /* Smart Text System */
  --luxury-text-primary: #2C2C2C;       /* Primary Text */
  --luxury-text-secondary: #4A4A4A;     /* Secondary Text */
  --luxury-text-muted: #6B6B6B;          /* Muted Text */
  
  /* Smart Surface System */
  --luxury-surface-primary: #FFFFFF;    /* Primary Surface */
  --luxury-surface-secondary: #F8F8F8;  /* Secondary Surface */
  --luxury-surface-elevated: #FFFFFF;   /* Elevated Surface */
  
  /* Smart Border System */
  --luxury-border-primary: #E0E0E0;     /* Primary Border */
  --luxury-border-secondary: #F0F0F0;   /* Secondary Border */
  --luxury-border-accent: rgba(212, 175, 55, 0.3); /* Accent Border */
  
  /* Smart Shadow System */
  --luxury-shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.08);
  --luxury-shadow-md: 0 8px 32px rgba(0, 0, 0, 0.12);
  --luxury-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.16);
  --luxury-shadow-xl: 0 40px 100px rgba(0, 0, 0, 0.20);
  
  --luxury-shadow-glow: 0 0 20px rgba(212, 175, 55, 0.25);
  --luxury-shadow-glow-strong: 0 0 40px rgba(212, 175, 55, 0.4);
  
  /* Smart Gradient System */
  --luxury-gradient-primary: linear-gradient(135deg, var(--luxury-primary) 0%, var(--luxury-primary-light) 50%, var(--luxury-primary-dark) 100%);
  --luxury-gradient-secondary: linear-gradient(135deg, var(--luxury-secondary) 0%, var(--luxury-secondary-light) 50%, var(--luxury-secondary-dark) 100%);
  --luxury-gradient-accent: linear-gradient(135deg, var(--luxury-accent-dark) 0%, var(--luxury-accent) 50%, var(--luxury-accent-light) 100%);
  --luxury-gradient-premium: linear-gradient(135deg, var(--luxury-primary) 0%, var(--luxury-accent) 50%, var(--luxury-primary-dark) 100%);
  
  --luxury-gradient-bg: linear-gradient(135deg, var(--luxury-bg-primary) 0%, var(--luxury-bg-secondary) 100%);
  --luxury-gradient-surface: linear-gradient(135deg, var(--luxury-surface-primary) 0%, var(--luxury-surface-secondary) 100%);
  
  /* Smart Opacity System */
  --luxury-opacity-subtle: 0.08;
  --luxury-opacity-light: 0.15;
  --luxury-opacity-medium: 0.25;
  --luxury-opacity-strong: 0.4;
  --luxury-opacity-intense: 0.6;
}

/* ==========================================
   DARK THEME INTELLIGENCE
   ========================================== */

[data-mdb-theme="dark"] {
  --is-light-theme: 0;
  --is-dark-theme: 1;
  
  /* Smart Color Variables - Dark Theme */
  --luxury-primary: #FFD700;           /* Bright Gold */
  --luxury-primary-light: #12215f;     /* Cornsilk */
  --luxury-primary-dark: #DAA520;      /* Goldenrod */
  
  --luxury-secondary: #E5E5E5;         /* Light Silver */
  --luxury-secondary-light: #F5F5F5;    /* Very Light Silver */
  --luxury-secondary-dark: #CCCCCC;      /* Medium Silver */
  
  --luxury-accent: #4A90E2;          /* Bright Blue */
  --luxury-accent-light: #6BA3E8;     /* Light Blue */
  --luxury-accent-dark: #2E5C8A;       /* Dark Blue */
  
  /* Smart Background System - Dark */
  --luxury-bg-primary: #0A0A0A;       /* Primary Dark Background */
  --luxury-bg-secondary: #1A1A1A;     /* Secondary Dark Background */
  --luxury-bg-tertiary: #2A2A2A;       /* Tertiary Dark Background */
  
  /* Smart Text System - Dark */
  --luxury-text-primary: #F8F8F8;       /* Primary Light Text */
  --luxury-text-secondary: #E0E0E0;     /* Secondary Light Text */
  --luxury-text-muted: #B0B0B0;          /* Muted Light Text */
  
  /* Smart Surface System - Dark */
  --luxury-surface-primary: #1A1A1A;   /* Primary Dark Surface */
  --luxury-surface-secondary: #252525;  /* Secondary Dark Surface */
  --luxury-surface-elevated: #2A2A2A;   /* Elevated Dark Surface */
  
  /* Smart Border System - Dark */
  --luxury-border-primary: #333333;     /* Primary Dark Border */
  --luxury-border-secondary: #2A2A2A;   /* Secondary Dark Border */
  --luxury-border-accent: rgba(255, 215, 0, 0.3); /* Accent Dark Border */
  
  /* Smart Shadow System - Dark */
  --luxury-shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.4);
  --luxury-shadow-md: 0 8px 32px rgba(0, 0, 0, 0.5);
  --luxury-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.6);
  --luxury-shadow-xl: 0 40px 100px rgba(0, 0, 0, 0.7);
  
  --luxury-shadow-glow: 0 0 20px rgba(255, 215, 0, 0.3);
  --luxury-shadow-glow-strong: 0 0 40px rgba(255, 215, 0, 0.5);
  
  /* Smart Gradient System - Dark */
  --luxury-gradient-primary: linear-gradient(135deg, var(--luxury-primary) 0%, var(--luxury-primary-light) 50%, var(--luxury-primary-dark) 100%);
  --luxury-gradient-secondary: linear-gradient(135deg, var(--luxury-secondary-dark) 0%, var(--luxury-secondary) 50%, var(--luxury-secondary-light) 100%);
  --luxury-gradient-accent: linear-gradient(135deg, var(--luxury-accent-dark) 0%, var(--luxury-accent) 50%, var(--luxury-accent-light) 100%);
  --luxury-gradient-premium: linear-gradient(135deg, var(--luxury-primary-dark) 0%, var(--luxury-accent-dark) 50%, var(--luxury-primary) 100%);
  
  --luxury-gradient-bg: linear-gradient(135deg, var(--luxury-bg-primary) 0%, var(--luxury-bg-secondary) 100%);
  --luxury-gradient-surface: linear-gradient(135deg, var(--luxury-surface-primary) 0%, var(--luxury-surface-secondary) 100%);
}

/* ==========================================
   ADAPTIVE BACKGROUND SYSTEM
   ========================================== */

.luxury-bg-intelligent {
  background: var(--luxury-gradient-bg);
  color: var(--luxury-text-primary);
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.luxury-bg-surface {
  background: var(--luxury-gradient-surface);
  color: var(--luxury-text-primary);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--luxury-border-primary);
}

.luxury-bg-elevated {
  background: var(--luxury-surface-elevated);
  color: var(--luxury-text-primary);
  box-shadow: var(--luxury-shadow-md);
  border: 1px solid var(--luxury-border-secondary);
}

/* ==========================================
   ADAPTIVE TEXT SYSTEM
   ========================================== */

.luxury-text-intelligent {
  color: var(--luxury-text-primary);
  transition: color 0.4s ease;
}

.luxury-text-secondary {
  color: var(--luxury-text-secondary) !important;
}

.luxury-text-muted {
  color: var(--luxury-text-muted) !important;
}

.luxury-text-accent {
  background: var(--luxury-gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Fix for dropdown text visibility */
.dropdown-menu,
.dropdown-item,
.dropdown-item span,
.dropdown-item i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

.dropdown-item:hover,
.dropdown-item:hover span,
.dropdown-item:hover i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

/* Ensure dropdown menu has proper background */
.dropdown-menu {
  background: var(--luxury-surface-primary) !important;
  border: 1px solid var(--luxury-border-primary) !important;
  box-shadow: var(--luxury-shadow-md) !important;
}

.dropdown-item:hover {
  background: var(--luxury-surface-secondary) !important;
  border-color: var(--luxury-border-accent) !important;
}

/* Dark theme specific fixes */
[data-mdb-theme="dark"] .dropdown-menu,
[data-mdb-theme="dark"] .dropdown-item,
[data-mdb-theme="dark"] .dropdown-item span,
[data-mdb-theme="dark"] .dropdown-item i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

[data-mdb-theme="dark"] .dropdown-item:hover,
[data-mdb-theme="dark"] .dropdown-item:hover span,
[data-mdb-theme="dark"] .dropdown-item:hover i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

[data-mdb-theme="dark"] .dropdown-menu {
  background: var(--luxury-surface-primary) !important;
  border-color: var(--luxury-border-primary) !important;
}

[data-mdb-theme="dark"] .dropdown-item:hover {
  background: var(--luxury-surface-secondary) !important;
}

/* Fix for accordion button text visibility */
.accordion-button,
.accordion-button.collapsed,
.accordion-button:not(.collapsed) {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  background-color: var(--luxury-surface-primary) !important;
  border-color: var(--luxury-border-primary) !important;
}

.accordion-button:hover {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background-color: var(--luxury-surface-secondary) !important;
}

.accordion-button span,
.accordion-button .badge {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

/* Dark theme accordion fixes */
[data-mdb-theme="dark"] .accordion-button,
[data-mdb-theme="dark"] .accordion-button.collapsed,
[data-mdb-theme="dark"] .accordion-button:not(.collapsed) {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background-color: var(--luxury-surface-primary) !important;
}

[data-mdb-theme="dark"] .accordion-button:hover {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background-color: var(--luxury-surface-secondary) !important;
}

/* Fix for dropdown button icons */
.btn[data-bs-toggle="dropdown"] i,
.dropdown-toggle i,
.btn.dropdown-toggle i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

.btn[data-bs-toggle="dropdown"]:hover i,
.dropdown-toggle:hover i,
.btn.dropdown-toggle:hover i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

/* Dark theme dropdown button icon fixes */
[data-mdb-theme="dark"] .btn[data-bs-toggle="dropdown"] i,
[data-mdb-theme="dark"] .dropdown-toggle i,
[data-mdb-theme="dark"] .btn.dropdown-toggle i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

[data-mdb-theme="dark"] .btn[data-bs-toggle="dropdown"]:hover i,
[data-mdb-theme="dark"] .dropdown-toggle:hover i,
[data-mdb-theme="dark"] .btn.dropdown-toggle:hover i {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

/* General Font Awesome icon fixes */
.fas,
.far,
.fab,
.fa,
.fal,
.fad {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

/* Specific fix for fa-ellipsis-v icon */
.fa-ellipsis-v,
.fas.fa-ellipsis-v {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
  background: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

[data-mdb-theme="dark"] .fa-ellipsis-v,
[data-mdb-theme="dark"] .fas.fa-ellipsis-v {
  color: var(--luxury-text-primary) !important;
  -webkit-text-fill-color: var(--luxury-text-primary) !important;
}

/* ==========================================
   ADAPTIVE BORDER SYSTEM
   ========================================== */

.luxury-border-intelligent {
  border-color: var(--luxury-border-primary);
  transition: border-color 0.4s ease;
}

.luxury-border-accent {
  border-color: var(--luxury-border-accent) !important;
}

/* ==========================================
   ADAPTIVE SHADOW SYSTEM
   ========================================== */

.luxury-shadow-intelligent {
  box-shadow: var(--luxury-shadow-md);
  transition: box-shadow 0.4s ease;
}

.luxury-shadow-glow {
  box-shadow: var(--luxury-shadow-glow);
}

.luxury-shadow-strong {
  box-shadow: var(--luxury-shadow-lg);
}

/* ==========================================
   ADAPTIVE HOVER SYSTEM
   ========================================== */

.luxury-hover-intelligent:hover {
  background: var(--luxury-surface-secondary);
  border-color: var(--luxury-border-accent);
  box-shadow: var(--luxury-shadow-lg);
  transform: translateY(-2px);
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.luxury-hover-glow:hover {
  box-shadow: var(--luxury-shadow-glow-strong);
  transform: translateY(-2px);
}

/* ==========================================
   INTELLIGENT NAVIGATION
   ========================================== */

.luxury-nav-intelligent {
  background: rgba(var(--luxury-surface-primary-rgb), 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--luxury-border-primary);
  box-shadow: var(--luxury-shadow-sm);
  transition: all 0.4s ease;
}

.luxury-nav-intelligent.scrolled {
  background: rgba(var(--luxury-surface-primary-rgb), 0.98);
  box-shadow: var(--luxury-shadow-md);
  border-bottom: 1px solid var(--luxury-border-accent);
}

/* Convert hex to RGB for backdrop-filter compatibility */
.luxury-surface-primary-rgb {
  --luxury-surface-primary-rgb: 255, 255, 255;
}

[data-mdb-theme="dark"] .luxury-surface-primary-rgb {
  --luxury-surface-primary-rgb: 26, 26, 26;
}

/* ==========================================
   INTELLIGENT BUTTON SYSTEM
   ========================================== */

.luxury-btn-intelligent {
  background: var(--luxury-gradient-primary);
  color: white;
  border: none;
  box-shadow: var(--luxury-shadow-md);
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.luxury-btn-intelligent::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s ease;
}

.luxury-btn-intelligent:hover::before {
  left: 100%;
}

.luxury-btn-intelligent:hover {
  transform: translateY(-2px);
  box-shadow: var(--luxury-shadow-lg);
}

.luxury-btn-outline-intelligent {
  background: transparent;
  color: var(--luxury-primary);
  border: 2px solid var(--luxury-primary);
  box-shadow: var(--luxury-shadow-sm);
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.luxury-btn-outline-intelligent:hover {
  background: var(--luxury-primary);
  color: white;
  box-shadow: var(--luxury-shadow-md);
  transform: translateY(-2px);
}

/* ==========================================
   INTELLIGENT CARD SYSTEM
   ========================================== */

.luxury-card-intelligent {
  background: var(--luxury-surface-primary);
  color: var(--luxury-text-primary);
  border: 1px solid var(--luxury-border-primary);
  border-radius: 20px;
  box-shadow: var(--luxury-shadow-sm);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

.luxury-card-intelligent::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--luxury-border-accent), transparent);
  transition: left 0.8s ease;
}

.luxury-card-intelligent:hover::before {
  left: 100%;
}

.luxury-card-intelligent:hover {
  transform: translateY(-5px);
  box-shadow: var(--luxury-shadow-lg);
  border-color: var(--luxury-border-accent);
}

/* ==========================================
   INTELLIGENT ANIMATION SYSTEM
   ========================================== */

@keyframes luxury-intelligent-float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

@keyframes luxury-intelligent-pulse {
  0%, 100% { 
    opacity: 1;
    box-shadow: var(--luxury-shadow-glow);
  }
  50% { 
    opacity: 0.8;
    box-shadow: var(--luxury-shadow-glow-strong);
  }
}

@keyframes luxury-intelligent-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.luxury-animate-float-intelligent {
  animation: luxury-intelligent-float 3s ease-in-out infinite;
}

.luxury-animate-pulse-intelligent {
  animation: luxury-intelligent-pulse 2s ease-in-out infinite;
}

.luxury-animate-shimmer-intelligent {
  background: linear-gradient(90deg, transparent, var(--luxury-border-accent), transparent);
  background-size: 200% 100%;
  animation: luxury-intelligent-shimmer 3s linear infinite;
}

/* ==========================================
   RESPONSIVE INTELLIGENCE
   ========================================== */

@media (max-width: 768px) {
  :root {
    /* Reduced shadows for mobile */
    --luxury-shadow-sm: 0 2px 8px rgba(0, 0, 0, calc(var(--is-light-theme) * 0.06 + var(--is-dark-theme) * 0.3));
    --luxury-shadow-md: 0 6px 24px rgba(0, 0, 0, calc(var(--is-light-theme) * 0.1 + var(--is-dark-theme) * 0.4));
    --luxury-shadow-lg: 0 15px 45px rgba(0, 0, 0, calc(var(--is-light-theme) * 0.15 + var(--is-dark-theme) * 0.5));
  }
  
  .luxury-title {
    font-size: 2.5rem;
  }
  
  .luxury-heading {
    font-size: 2.2rem;
  }
}

/* ==========================================
   ACCESSIBILITY INTELLIGENCE
   ========================================== */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-high-contrast: high) {
  :root {
    --luxury-text-primary: #000000;
    --luxury-text-secondary: #333333;
    --luxury-border-primary: #000000;
    --luxury-border-accent: #000000;
  }
  
  [data-mdb-theme="dark"] {
    --luxury-text-primary: #FFFFFF;
    --luxury-text-secondary: #CCCCCC;
    --luxury-border-primary: #FFFFFF;
    --luxury-border-accent: #FFFFFF;
  }
}