/* Aplica un desplazamiento suave a toda la página */
html {
  scroll-behavior: smooth;
}

body {
  background-color: #f9f9f9;
  font-size: 1.25rem
}

/* Estilo Base del Hero Banner */
.hero-banner {
  position: relative;
  background: url("img_cartas/Prismatic_Evolution_Banner.png") no-repeat center center / cover;
  height: 40vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  overflow: hidden;
}

.hero-content {
  z-index: 1;
}

.hero-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* Oscurece el fondo */
  z-index: 0;
}

/* Efecto de Brillos en Texto */
.sparkle-text {
  font-size: 3rem;
  font-weight: bold;
  color: white;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.6),
    0 0 20px rgba(255, 255, 255, 0.4), 0 0 30px rgba(255, 255, 255, 0.2);
  animation: text-sparkle 3s infinite ease-in-out;
}

@keyframes text-sparkle {

  0%,
  100% {
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.2),
      0 0 10px rgba(255, 255, 255, 0.4), 0 0 15px rgba(255, 255, 255, 0.6);
  }

  50% {
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.6),
      0 0 20px rgba(255, 255, 255, 0.8), 0 0 30px rgba(255, 255, 255, 1);
  }
}

/* Brillos Parpadeantes para Párrafo */
.sparkle-effect {
  position: relative;
  font-size: 1.2rem;
  color: white;
  overflow: hidden;
}

.sparkle-effect::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(120deg,
      transparent,
      rgba(255, 255, 255, 0.4),
      transparent);
  animation: sparkle-move 4s infinite;
}

@keyframes sparkle-move {
  0% {
    left: -100%;
  }

  50% {
    left: 50%;
  }

  100% {
    left: 100%;
  }
}

/* Botón CTA */
.cta-button {
  margin-top: 1.5rem;
  padding: 0.8rem 1.5rem;
  font-size: 1.2rem;
  color: white;
  background: linear-gradient(45deg, #ff416c, #2b80ff);
  border: none;
  border-radius: 30px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease-in-out;
}

.cta-button:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(18, 88, 218, 0.6);
}

.card-carousel img {
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
}

.carousel-control-prev,
.carousel-control-next {
  width: 5%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 15%;
  padding: 20px 15px;
}

.carousel-item .card {
  margin: 0 auto;
}

/* Estilo para la animación de las cartas */
.card-hover {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
transform: scale(1.05); /* Aumenta ligeramente el tamaño */
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* Añade un efecto de sombra */
}

.btn-square {
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
font-size: 1.5rem;
}

.btn-square i {
font-size: 1.5rem;
}

#filters-container {
position: -webkit-sticky; /* Soporte para Safari */
position: sticky;
top: 0; /* Se queda en la parte superior cuando se desplaza */
z-index: 1000; /* Asegura que esté por encima de otros elementos */
max-height: 90vh; /* Evita que los filtros se estiren demasiado en pantallas grandes */
overflow-y: auto; /* Habilita desplazamiento dentro del contenedor si es necesario */
}

/* Contenedor de los botones de paginación */
#pagination-container {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}

#pagination-container .btn {
  padding: 10px 20px;
  font-size: 1rem;
  border-radius: 5px;
  border: 1px solid #C90101; /* Antes: #007bff */
  background-color: white;
  color: #C90101; /* Antes: #007bff */
  transition: all 0.3s ease;
}

/* Hover para los botones */
#pagination-container .btn:hover {
  background-color: #C90101; /* Antes: #007bff */
  color: white;
}
/* Botones activos */
#pagination-container .btn.active {
  background-color: #C90101; /* Antes: #007bff */
  color: white;
  font-weight: bold;
  cursor: default;
  pointer-events: none;
}

/* Botones deshabilitados */
#pagination-container .btn:disabled {
background-color: #e9ecef;
color: #6c757d;
cursor: not-allowed;
border-color: #ced4da;
}

/* Media Queries para dispositivos móviles */
@media (max-width: 768px) {
.btn-square {
  width: 40px;
  height: 40px;
  font-size: 1.2rem;
}

#filters-container {
  max-height: 70vh;
}

#pagination-container .btn {
  padding: 8px 16px;
  font-size: 0.9rem;
}

.hero-banner {
  height: 30vh;
}

.hero-content {
  font-size: 1.2rem;
}
}

@media (max-width: 576px) {
.btn-square {
  width: 35px;
  height: 35px;
  font-size: 1rem;
}

#filters-container {
  max-height: 60vh;
}

#pagination-container .btn {
  padding: 6px 12px;
  font-size: 0.8rem;
}

.hero-banner {
  height: 25vh;
}

.hero-content {
  font-size: 1rem;
}

.navbar-brand {
  font-size: 1.2rem;
}

.navbar-nav .nav-link {
  font-size: 0.9rem;
}

.section-title {
  font-size: 1.5rem;
}

.cta-button {
  font-size: 1rem;
  padding: 10px 20px;
}

.card-title {
  font-size: 1rem;
}

.card-text {
  font-size: 0.9rem;
}

footer {
  font-size: 0.9rem;
}

footer h5 {
  font-size: 1.2rem;
}

footer p, footer a {
  font-size: 0.9rem;
}
}

/* Media Query para dispositivos móviles con cuadrícula 2x1 */
@media (max-width: 376px) {
.carousel-inner {
display: flex;
flex-wrap: nowrap; /* Cambia wrap a nowrap */
}

.carousel-item {
flex: 0 0 100%; /* Cada item ocupa el 100% del ancho */
max-width: 100%;
}

.carousel-item img {
width: 100%; /* Asegura que las imágenes ocupen todo el ancho del item */
}

.navbar-brand {
  font-size: 1rem;
}

.navbar-nav .nav-link {
  font-size: 0.8rem;
}

.section-title {
  font-size: 1.2rem;
}

.cta-button {
  font-size: 0.9rem;
  padding: 8px 16px;
}

.card-title {
  font-size: 0.9rem;
}

.card-text {
  font-size: 0.8rem;
}

footer {
  font-size: 0.8rem;
}

footer h5 {
  font-size: 1rem;
}

footer p, footer a {
  font-size: 0.8rem;
}
}