/* styles.css */
:root {
  --primary: #010536;
  --primary-dark: #000324;
  --secondary: #fdaa01;
  --accent: #fdaa01;
  --dark: #010536;
  --light: #f8f9fa;
  --success: #10b981;
  --warning: #fdaa01;
  --gray-100: #f1f5f9;
  --gray-800: #1e293b;
  --gradient-primary: linear-gradient(135deg, #010536 0%, #020a5c 100%);
  --gradient-secondary: linear-gradient(135deg, #fdaa01 0%, #ffc042 100%);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Inter', sans-serif;
}

body {
  background: var(--light);
  color: var(--primary);
}

/* Gradient backgrounds */
.gradient-bg-primary {
  background: var(--gradient-primary);
}

.gradient-bg-secondary {
  background: var(--gradient-secondary);
}

.bg-gradient-primary {
  background: var(--gradient-primary);
}

.bg-gradient-secondary {
  background: var(--gradient-secondary);
}

/* Text colors */
.text-primary {
  color: var(--primary) !important;
}

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

/* Background colors */
.bg-primary {
  background-color: var(--primary) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.bg-primary-light {
  background-color: rgba(1, 5, 54, 0.1);
}

.bg-secondary-light {
  background-color: rgba(253, 170, 1, 0.1);
}

/* Borders */
.border-secondary {
  border-color: var(--secondary) !important;
}

/* Hover effects */
.hover\:bg-primary:hover {
  background-color: var(--primary) !important;
}

.hover\:bg-secondary:hover {
  background-color: var(--secondary) !important;
}

.hover\:text-primary:hover {
  color: var(--primary) !important;
}

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

/* Cards */
.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px -15px rgba(1, 5, 54, 0.2);
}

.hover-lift {
  transition: all 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 30px -10px rgba(1, 5, 54, 0.2);
}

/* Animations */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.pulse-animation {
  animation: pulse 2s infinite;
}

@keyframes soft-pulse {
  0% { box-shadow: 0 0 0 0 rgba(253, 170, 1, 0.5); }
  70% { box-shadow: 0 0 0 12px rgba(253, 170, 1, 0); }
  100% { box-shadow: 0 0 0 0 rgba(253, 170, 1, 0); }
}

.pulse-wa {
  animation: soft-pulse 2s infinite;
}

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

.floating {
  animation: float 4s ease-in-out infinite;
}

/* Buttons */
.btn-primary {
  background: var(--gradient-primary);
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s;
  display: inline-block;
}

.btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px -5px rgba(1, 5, 54, 0.3);
}

.btn-secondary {
  background: var(--gradient-secondary);
  color: var(--primary);
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s;
  display: inline-block;
}

.btn-secondary:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px -5px rgba(253, 170, 1, 0.3);
}

.whatsapp-btn {
  background-color: #25D366;
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s;
  display: inline-block;
}

.whatsapp-btn:hover {
  background-color: #128C7E;
  transform: scale(1.05);
}

/* Carousel */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-200px * 7)); }
}

.carousel-track {
  display: flex;
  width: max-content;
  animation: scroll 30s linear infinite;
}

.carousel-track:hover {
  animation-play-state: paused;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Utility classes */
.container-custom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (min-width: 640px) {
  .container-custom {
    padding: 0 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container-custom {
    padding: 0 2rem;
  }
}