:root {
  --red: #e30613;
  --red-dark: #b0000e;
  --dark: #0d0103;
  --dark2: #1a0305;
}

* {
  box-sizing: border-box;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: #ffffff;
  color: #111111;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Marquee / Cintillo animado */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.marquee-track {
  animation: marquee 28s linear infinite;
}

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

/* Section background alternates */
.section-white {
  background: #ffffff;
}

.section-light {
  background: #f7f7f9;
}

.section-red {
  background: var(--red);
}

.section-dark {
  background: var(--dark);
}

/* Dot patterns */
.dot-white {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='1.5' cy='1.5' r='1' fill='rgba(227,6,19,0.06)'/%3E%3C/svg%3E");
}

.dot-dark {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='1.5' cy='1.5' r='1' fill='rgba(255,255,255,0.03)'/%3E%3C/svg%3E");
}

/* Card hover micro-animations */
.plan-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(227, 6, 19, 0.12);
}

/* Combo Tabs active state */
.tab-active {
  background: var(--red);
  color: #ffffff;
}

/* Table zebra styling */
.tbl-row:nth-child(even) {
  background: rgba(227, 6, 19, 0.03);
}

/* Focus and input transitions */
input, select, textarea, button {
  font-family: inherit;
}
