@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  --primary: #B20102;
  --primary-hover: #8A0102;
  --secondary: #FFFFFF;
  --light-bg: #D1D1D3;
  --dark-bg: #0F172B;
  --card-bg: #F3F4F6;
  --text-primary: #111827;
  --text-secondary: #4B5563;
}

body {
  font-family: 'Outfit', sans-serif;
  background-color: var(--secondary);
  color: var(--text-primary);
  overflow-x: hidden;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #E5E7EB;
}
::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--primary-hover);
}

/* Glassmorphism effects */
.glass-panel {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-panel-light {
  background: rgba(209, 209, 211, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

/* Transitions */
.transition-premium {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom styles for elements */
.btn-primary {
  background-color: var(--primary);
  color: #FFFFFF;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(178, 1, 2, 0.4);
}
.btn-primary:hover {
  background-color: var(--primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(178, 1, 2, 0.6);
}

.btn-secondary {
  background-color: transparent;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  transition: all 0.3s ease;
}
.btn-secondary:hover {
  background-color: #FFFFFF;
  color: #000000;
  transform: translateY(-2px);
}

.btn-secondary-dark {
  background-color: transparent;
  color: #111827;
  border: 2px solid #111827;
  transition: all 0.3s ease;
}
.btn-secondary-dark:hover {
  background-color: #111827;
  color: #FFFFFF;
  transform: translateY(-2px);
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Swiper custom overrides */
.swiper-pagination-bullet-active {
  background: var(--primary) !important;
}

/* Navbar active state */
.mobile-nav-link.active {
  color: var(--primary);
  font-weight: 700;
}
