/* AIBOT IYI Design System - CSS Variables & Custom Styles */

:root {
  /* Color Palette */
  --navy: #1a1a2e;
  --electric-blue: #00d4ff;
  --gold: #ffd700;
  --light-gray: #f8f9fa;
  --dark-gray: #6c757d;
  --success: #28a745;
  --warning: #fd7e14;
  --gray-800: #374151;
  --gray-900: #111827;
  
  /* Typography */
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'Fira Code', monospace;
  
  /* Spacing */
  --section-padding: 5rem 0;
  --container-padding: 1rem;
  
  /* Animations */
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Tailwind CSS Config Extension */
@config {
  theme: {
    extend: {
      colors: {
        'navy': '#1a1a2e',
        'electric-blue': '#00d4ff',
        'gold': '#ffd700',
        'success': '#28a745',
        'warning': '#fd7e14'
      },
      fontFamily: {
        'montserrat': ['Montserrat', 'sans-serif'],
        'inter': ['Inter', 'sans-serif'],
        'fira': ['Fira Code', 'monospace']
      }
    }
  }
}

/* Global Styles */
* {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  line-height: 1.6;
  background: var(--navy);
  color: white;
  overflow-x: hidden;
}

/* Typography Classes */
.font-montserrat {
  font-family: var(--font-heading);
}

.font-inter {
  font-family: var(--font-body);
}

.font-fira {
  font-family: var(--font-mono);
}

/* Color Classes */
.text-navy { color: var(--navy); }
.text-electric-blue { color: var(--electric-blue); }
.text-gold { color: var(--gold); }
.text-success { color: var(--success); }
.text-warning { color: var(--warning); }
.bg-navy { background-color: var(--navy); }
.bg-electric-blue { background-color: var(--electric-blue); }
.bg-gold { background-color: var(--gold); }

/* Gradient Text */
.text-gradient {
  background: linear-gradient(135deg, var(--electric-blue), var(--gold));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 200%;
  animation: gradientShift 3s ease-in-out infinite;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Button Styles */
.btn-primary {
  @apply inline-flex items-center px-6 py-3 bg-gradient-to-r from-electric-blue to-blue-600 text-white font-medium rounded-xl transition-all duration-300 hover:shadow-lg hover:shadow-blue-500/25 hover:-translate-y-0.5 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-navy;
}

.btn-secondary {
  @apply inline-flex items-center px-6 py-3 bg-gradient-to-r from-gold to-yellow-500 text-navy font-medium rounded-xl transition-all duration-300 hover:shadow-lg hover:shadow-yellow-500/25 hover:-translate-y-0.5 focus:outline-none focus:ring-2 focus:ring-yellow-500 focus:ring-offset-2 focus:ring-offset-navy;
}

.btn-outline {
  @apply inline-flex items-center px-6 py-3 border-2 border-electric-blue text-electric-blue font-medium rounded-xl transition-all duration-300 hover:bg-electric-blue hover:text-navy hover:shadow-lg hover:shadow-blue-500/25 hover:-translate-y-0.5 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-navy;
}

.btn-lg {
  @apply px-8 py-4 text-lg;
}

/* Navigation Styles */
.nav-link {
  @apply text-gray-300 hover:text-white font-medium transition-colors duration-300 relative;
}

.nav-link:hover::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--electric-blue), var(--gold));
  border-radius: 1px;
}

/* Card Styles */
.focus-card {
  @apply bg-gradient-to-br from-gray-800/50 to-gray-900/50 backdrop-blur-sm rounded-2xl p-8 border border-gray-700/50 transition-all duration-500 hover:border-electric-blue/30 hover:shadow-xl hover:shadow-blue-500/10 hover:-translate-y-2;
}

.focus-icon {
  @apply w-16 h-16 bg-gradient-to-br from-electric-blue/20 to-gold/20 rounded-2xl flex items-center justify-center text-electric-blue mb-6 group-hover:scale-110 transition-transform duration-300;
}

.tech-tags {
  @apply flex flex-wrap gap-2;
}

.tech-tag {
  @apply px-3 py-1 bg-gray-700/50 text-gray-300 text-xs rounded-full border border-gray-600/50;
}

.tag {
  @apply px-2 py-1 bg-gray-700/50 text-gray-400 text-xs rounded-md;
}

/* Flagship Investment Card */
.flagship-card {
  @apply bg-gradient-to-br from-gray-800/30 to-gray-900/30 backdrop-blur-sm rounded-3xl p-8 lg:p-12 border border-gray-700/30 relative overflow-hidden;
}

.flagship-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, var(--electric-blue)/5, var(--gold)/5);
  pointer-events: none;
}

.metric-item {
  @apply text-center lg:text-left;
}

/* Insight Card */
.insight-card {
  @apply bg-gradient-to-br from-gray-800/30 to-gray-900/30 backdrop-blur-sm rounded-2xl overflow-hidden border border-gray-700/30 transition-all duration-500 hover:border-electric-blue/30 hover:shadow-xl hover:shadow-blue-500/10 hover:-translate-y-2;
}

.insight-image {
  @apply p-4;
}

/* Stats Cards */
.stat-card {
  @apply text-center p-6 bg-gradient-to-br from-gray-800/30 to-gray-900/30 backdrop-blur-sm rounded-2xl border border-gray-700/30 transition-all duration-300 hover:border-electric-blue/30;
}

/* Partner Logos */
.partner-logo {
  @apply flex flex-col items-center transition-all duration-300 hover:scale-110;
}

/* Enhanced Partner Logo Cards */
.partner-logo-card {
  @apply flex flex-col items-center space-y-4 transition-all duration-500 hover:scale-110 hover:-translate-y-2;
}

.partner-icon {
  @apply w-20 h-20 rounded-2xl flex items-center justify-center shadow-lg transition-all duration-300;
}

.partner-name {
  @apply text-center text-sm font-medium text-gray-300;
}

/* Blockchain-specific backgrounds */
.partner-icon.ethereum {
  background: linear-gradient(135deg, #627eea 0%, #3c3c3d 100%);
  box-shadow: 0 8px 32px rgba(98, 126, 234, 0.3);
}

.partner-icon.bsc {
  background: linear-gradient(135deg, #f3ba2f 0%, #f0b90b 100%);
  box-shadow: 0 8px 32px rgba(243, 186, 47, 0.3);
}

.partner-icon.polygon {
  background: linear-gradient(135deg, #8247e5 0%, #4f46e5 100%);
  box-shadow: 0 8px 32px rgba(130, 71, 229, 0.3);
}

.partner-icon.avalanche {
  background: linear-gradient(135deg, #e84142 0%, #d63384 100%);
  box-shadow: 0 8px 32px rgba(232, 65, 66, 0.3);
}

.partner-icon.solana {
  background: linear-gradient(135deg, #00d4aa 0%, #9945ff 100%);
  box-shadow: 0 8px 32px rgba(153, 69, 255, 0.3);
}

.partner-icon.cosmos {
  background: linear-gradient(135deg, #2e3148 0%, #161931 100%);
  box-shadow: 0 8px 32px rgba(46, 49, 72, 0.3);
}

/* Custom SVG Logos */
.eth-logo,
.bsc-logo,
.polygon-logo,
.avalanche-logo,
.solana-logo,
.cosmos-logo {
  @apply flex items-center justify-center;
}

.eth-diamond svg,
.bsc-logo svg,
.polygon-logo svg,
.avalanche-logo svg,
.solana-logo svg,
.cosmos-logo svg {
  @apply drop-shadow-lg;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

/* Hover effects for partner logos */
.partner-logo-card:hover .partner-icon.ethereum {
  box-shadow: 0 12px 40px rgba(98, 126, 234, 0.5);
  transform: translateY(-2px);
}

.partner-logo-card:hover .partner-icon.bsc {
  box-shadow: 0 12px 40px rgba(243, 186, 47, 0.5);
  transform: translateY(-2px);
}

.partner-logo-card:hover .partner-icon.polygon {
  box-shadow: 0 12px 40px rgba(130, 71, 229, 0.5);
  transform: translateY(-2px);
}

.partner-logo-card:hover .partner-icon.avalanche {
  box-shadow: 0 12px 40px rgba(232, 65, 66, 0.5);
  transform: translateY(-2px);
}

.partner-logo-card:hover .partner-icon.solana {
  box-shadow: 0 12px 40px rgba(153, 69, 255, 0.5);
  transform: translateY(-2px);
}

.partner-logo-card:hover .partner-icon.cosmos {
  box-shadow: 0 12px 40px rgba(46, 49, 72, 0.5);
  transform: translateY(-2px);
}

/* Social Icons */
.social-icon {
  @apply w-10 h-10 bg-gray-800 text-gray-400 rounded-lg flex items-center justify-center transition-all duration-300 hover:bg-electric-blue hover:text-white hover:-translate-y-1;
}

/* Footer Links */
.footer-link {
  @apply text-gray-400 hover:text-white transition-colors duration-300;
}

/* Animated Background */
.blockchain-network-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(circle at 20% 80%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255, 215, 0, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(0, 212, 255, 0.05) 0%, transparent 50%);
  animation: networkPulse 8s ease-in-out infinite;
}

@keyframes networkPulse {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
}

/* Blockchain Network Dots Animation */
.blockchain-network-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 20px 30px, rgba(0, 212, 255, 0.3), transparent),
    radial-gradient(2px 2px at 40px 70px, rgba(255, 215, 0, 0.3), transparent),
    radial-gradient(1px 1px at 90px 40px, rgba(0, 212, 255, 0.2), transparent),
    radial-gradient(1px 1px at 130px 80px, rgba(255, 215, 0, 0.2), transparent);
  background-repeat: repeat;
  background-size: 150px 100px;
  animation: networkDots 20s linear infinite;
}

@keyframes networkDots {
  0% { transform: translateX(0px) translateY(0px); }
  100% { transform: translateX(-150px) translateY(-100px); }
}

/* Loading Animation */
.loading-spinner {
  @apply inline-block w-6 h-6 border-2 border-gray-300 border-t-electric-blue rounded-full animate-spin;
}

/* Responsive Design Adjustments */
@media (max-width: 768px) {
  .blockchain-network-bg {
    background-size: 200% 200%;
  }
  
  .focus-card {
    @apply p-6;
  }
  
  .flagship-card {
    @apply p-6;
  }
  
  .metric-item {
    @apply text-center;
  }
}

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

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

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--electric-blue), var(--gold));
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--gold), var(--electric-blue));
}

/* Selection */
::selection {
  background: var(--electric-blue);
  color: var(--navy);
}

::-moz-selection {
  background: var(--electric-blue);
  color: var(--navy);
}

/* Focus States */
.focus-visible {
  outline: 2px solid var(--electric-blue);
  outline-offset: 2px;
}

/* Animation Classes */
.animate-fade-in {
  animation: fadeIn 0.6s ease-out;
}

.animate-slide-up {
  animation: slideUp 0.6s ease-out;
}

.animate-slide-in-left {
  animation: slideInLeft 0.8s ease-out;
}

.animate-slide-in-right {
  animation: slideInRight 0.8s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { 
    opacity: 0; 
    transform: translateY(30px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@keyframes slideInLeft {
  from { 
    opacity: 0; 
    transform: translateX(-30px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

@keyframes slideInRight {
  from { 
    opacity: 0; 
    transform: translateX(30px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

/* Utility Classes */
.glass-card {
  @apply bg-white/5 backdrop-blur-md border border-white/10 rounded-2xl;
}

.gradient-border {
  position: relative;
  background: linear-gradient(135deg, var(--navy), var(--gray-900));
  border-radius: 1rem;
}

.gradient-border::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 1rem;
  padding: 1px;
  background: linear-gradient(135deg, var(--electric-blue), var(--gold));
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
}

/* Performance Optimizations */
.will-change-transform {
  will-change: transform;
}

.will-change-opacity {
  will-change: opacity;
}

/* Print Styles */
@media print {
  .no-print {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
}

/* Dark Mode Support */
@media (prefers-color-scheme: light) {
  :root {
    --navy: #f8f9fa;
    --light-gray: #1a1a2e;
  }
}

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