.carousel-slides {
  position: relative;
  width: 100%;
}

.carousel-slide {
  display: none;
  width: 100%;
}

.carousel-slide.active {
  display: block;
}

.carousel-indicator.active {
  background-color: white !important;
  width: 1.5rem;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Columna fija con sombra al hacer scroll */
.table-fixed-first-col {
  position: relative;
}

.table-fixed-first-col thead th:first-child,
.table-fixed-first-col tbody td:first-child {
  box-shadow: 2px 0 5px -2px rgba(0, 0, 0, 0.1);
}

/* Mantener el background en hover */
.table-fixed-first-col tbody tr:hover td:first-child {
  background-color: #f9fafb;
}

.table-fixed-first-col tbody tr.bg-gray-100 td:first-child {
  background-color: #f3f4f6 !important;
}

.table-fixed-first-col tbody tr.bg-gray-100:hover td:first-child {
  background-color: #e5e7eb !important;
}

/* Asegurar que el sticky funcione */
.table-fixed-first-col th:first-child,
.table-fixed-first-col td:first-child {
  position: sticky;
  left: 0;
}

/* Animación horizontal del indicador */
@keyframes bounce-horizontal {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(6px);
  }
}

.animate-bounce-horizontal {
  animation: bounce-horizontal 1.5s ease-in-out infinite;
}

/* Scroll suave */
.overflow-x-auto {
  scrollbar-width: thin;
  scrollbar-color: rgba(156, 163, 175, 0.5) transparent;
}

.overflow-x-auto::-webkit-scrollbar {
  height: 8px;
}

.overflow-x-auto::-webkit-scrollbar-track {
  background: transparent;
}

.overflow-x-auto::-webkit-scrollbar-thumb {
  background-color: rgba(156, 163, 175, 0.5);
  border-radius: 4px;
}

.overflow-x-auto::-webkit-scrollbar-thumb:hover {
  background-color: rgba(156, 163, 175, 0.7);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.4);
  border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.6);
}

/* Tabs */
.tab-button {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.7);
  border: 2px solid transparent;
}

.tab-button:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
}

.tab-button.active {
  background-color: white;
  color: #CE0E2D;
  border-color: white;
}

/* Ocultar scrollbar pero mantener funcionalidad */
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

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

/* Scroll suave */
.overflow-x-auto {
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.overflow-x-auto>div>div {
  scroll-snap-align: start;
}

/* Animación del indicador */
@keyframes bounce-horizontal {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(6px);
  }
}

.animate-bounce-horizontal {
  animation: bounce-horizontal 1.5s ease-in-out infinite;
}