/*=============INICIO DE ESTILOS DE PLANTILLA==============*/

/*Reset básico: Eliminacion del padding y evita que el tamaño crezca por máargenes internos*/
*
{
  padding: 0;
  box-sizing: border-box;
  list-style: none;
}

/*Estilo básico del cuerpo*/
body
{
  font-family: 'Manjari', sans-serif;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: white;
}

/*Barra de navegacion fija. Efecto "glassmorphism"*/
.navbar
{
  position:fixed;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  width: calc(100% -2rem);
  padding: 1rem 1.5rem;
  border-radius: 20px;
  color: white;
  z-index: 64;

  /*Efecto cristal difuminado*/
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);

  display:flex;
  justify-content: space-between;
  align-items: center;
}

/*Contenedor del logo*/
.logoContainer
{
  display: flex;
  justify-content: center;
}

/*Estilo del texto e icono del logo*/
.logoContainer a
{
  color: white;
  font-size: 1.125rem;
  font-weight: bold;
  margin-right: 1rem;
  text-decoration: none;
}
/*Aumenta el tamaño del logo en pantallas más grandes*/
@media (min-width: 768px){
  .logoContainer a
  {
    font-size: 1.25rem;
  }
}

/*Lista de links del menú*/
.navbarLinks
{
  list-style: none;
  margin-right: 1rem;
  padding: 0;
  flex-grow: 1;
}
/*En pantallas grandes, la lista se alinea de manera horizontal*/
@media (min-width: 768px){
  .navbarLinks
  {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}

/*Espacio entre items del menú*/
.navbarLinks li
{
  margin-right: 0.5rem;
}
/*En pantallas grandes, los items se muestran en línea con más espacio*/
@media (min-width: 768px) {
  .navbarLinks li
  {
    display: inline-block;
    margin-right: 1rem;
  }
}

/*Estilos de enlaces del navbar*/
.navbarLinks a
{
  text-decoration: none;
  color: white;
}

/*Contenedor general centrado*/
.container
{
  max-width: 1200px;
  margin: 0 auto;
}


/*Estilos del footer. Estilo glassmorphism*/
.footer
{
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  padding: 1rem;
  color: white;
  z-index: 50;
  border-radius: 20px;

  /*Efecto cristal difuminado*/

  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);

  display: flex;
  justify-content: center;
  align-items: center;
}

/*Fila principal del footer (flex)*/
.footerRow
{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/*Cada columna del footer*/
.footerLinks
{
  flex: 1 1 200px;
  max-width: 300px;
}

/*Titulos de los bloques del footer*/
.footerLinks h4
{
  font-size: 20px;
  color: #FFFFFF;
  margin-bottom: 25px;
  font-weight: 500;
  border-bottom: 2px solid #00c3ff;
  padding-bottom: 10px;
  display: inline-block;
}

/*Enlaces dentro de las columnas del footer*/
.footerLinks ul li a
{
  font-size: 18px;
  text-decoration: none;
  color: #bbbbbb;
  display: block;
  margin-bottom: 15px;
  transition: all .3s ease;
}

/*Hover del footer*/
.footerLinks ul li a:hover
{
  color:#ffffff;
  padding-left: 6px;
}

/*Iconos redondos de redes sociales*/
.socialLinks a
{
  display: inline-block;
  min-height: 40px;
  width: 40px;
  background-color: rgba(255, 255, 255, 0.2);
  margin: 0 10px 10px 0;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  color: #ffffff;
  transition: all .5s ease;
}

.socialLinks a:hover
{
  background-color: #00C3FF
}
/*Footer responsive para moviles*/
@media(max-width: 991px) {
  .footerRow
  {
    text-align:center;
  }
  .footerLinks
  {
    width: 100%;
    margin-bottom: 30px;
  }
}

/*Zona de Creative Commons*/

.creativeCommons
{
  width: 100%;
  text-align: center;
  margin-top: 2rem;
  font-size: 0.875rem;
  color: #bbbbbb;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2em;
}

.creativeCommons a
{
  color: #bbbbbb;
  text-decoration: none;
  margin: 0 0.2em;
  transition: color 0.3s ease;
}

.creativeCommons a:hover
{
  color: #ffffff;
}

.creativeCommons img
{
  vertical-align: middle;
  max-width: 1em;
  max-height: 1em;
  margin-left: 0.2em;
}

/*Espacio para que el contenido no quede oculto por el navbar y el footer*/

.content {
  padding-top: 7rem;
  padding-bottom: 30rem;
  max-width: 1200px;
  margin: 0 auto;
}

/*=============FINAL DE ESTILOS DE PLANTILLA==============*/
/* ============= NUEVAS SECCIONES (TOP JUEGOS Y CTA) ============== */

/* Título de la sección */
.section-title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 3rem;
  color: #00c3ff;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 15px rgba(0, 195, 255, 0.6);
}

/* --- Estilos del Contenedor de Cards --- */
.cards-container {
  display: grid;
  /* Esto asegura que las cajas tengan un ancho mínimo y se ajusten */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2.5rem; /* Espacio entre las cajas de cristal */
  padding: 0 1.5rem;
  margin-bottom: 5rem;
}

/* --- ESTILO RECUADRO GLASSMORPHISM PARA CADA JUEGO --- */
.game-card {
  /* 1. El efecto Cristal (Glassmorphism) */
  background: rgba(255, 255, 255, 0.07); /* Fondo blanco muy transparente */
  backdrop-filter: blur(16px) saturate(180%); /* Desenfoque fuerte del fondo */
  -webkit-backdrop-filter: blur(16px) saturate(180%); /* Para Safari */
  
  /* 2. El Borde del recuadro */
  border: 1px solid rgba(255, 255, 255, 0.3); /* Borde blanco semitransparente */
  border-radius: 20px; /* Bordes redondeados iguales al navbar */
  
  /* 3. Sombra para dar profundidad 3D */
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);

  /* 4. Comportamiento */
  overflow: hidden; /* Para que la imagen respete los bordes redondos */
  display: flex;
  flex-direction: column; /* Organiza imagen arriba, texto abajo */
  transition: all 0.4s ease; /* Suaviza la animación */
  height: 100%; /* Hace que todas las cajas midan lo mismo de alto */
}

/* Animación Hover: La caja "flota" y se ilumina */
.game-card:hover {
  transform: translateY(-10px) scale(1.02); /* Sube y crece ligeramente */
  background: rgba(255, 255, 255, 0.12); /* Se vuelve un poco más claro */
  border-color: #00c3ff; /* El borde se pone color neón */
  box-shadow: 0 0 20px rgba(0, 195, 255, 0.4); /* Resplandor azul exterior */
}

/* Estilo de la imagen dentro del recuadro */
.card-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Línea sutil separadora */
}

/* Estilo del texto dentro del recuadro */
.card-info {
  padding: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}

.card-info h3 {
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.card-info p {
  color: #d1d5db; /* Gris muy claro para leerse bien sobre el cristal */
  font-size: 1rem;
  line-height: 1.6;
  font-style: italic;
}

/* --- Estilos de la Sección de Enlace (CTA) --- */
/* (Esto se mantiene igual para no romper el estilo del botón de abajo) */
.cta-section {
  margin: 2rem auto 0 auto;
  padding: 0 1.5rem;
  display: flex;
  justify-content: center;
}

.cta-content {
  width: 100%;
  max-width: 900px;
  /* Mismo glassmorphism pero con tinte azulado */
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 195, 255, 0.3);
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  transition: box-shadow 0.3s ease;
}

.cta-content:hover {
  box-shadow: 0 0 30px rgba(0, 195, 255, 0.2);
  border-color: #00c3ff;
}

.cta-icon {
  font-size: 3rem;
  color: #00c3ff;
  margin-bottom: 1rem;
  filter: drop-shadow(0 0 5px rgba(0,195,255,0.8));
}

.cta-content p {
  font-size: 1.4rem;
  margin-bottom: 2rem;
  color: #ffffff;
}

.cta-button {
  display: inline-block;
  padding: 14px 40px;
  background-color: transparent;
  color: #00c3ff;
  border: 2px solid #00c3ff;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.1rem;
  border-radius: 50px;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.cta-button:hover {
  background-color: #00c3ff;
  color: #0f172a;
  box-shadow: 0 0 25px rgba(0, 195, 255, 0.8);
}

/* ============= MENÚ SIN JAVASCRIPT (CHECKBOX HACK) ============== */

/* 1. Ocultar siempre el checkbox real */
#menu-toggle {
  display: none;
}

/* 2. Estilo del botón hamburguesa (Label) */
.hamburger-label {
  display: none; /* Oculto en PC */
  font-size: 1.5rem;
  color: white;
  cursor: pointer;
  transition: color 0.3s ease;
}

.hamburger-label:hover {
  color: #00c3ff;
}

/* 3. Comportamiento Responsive */
@media (max-width: 768px) {
  
  /* Mostrar el botón en móvil */
  .hamburger-label {
    display: block;
  }

  /* Estilos base del menú en móvil (Cerrado por defecto) */
  .navbarLinks {
    position: absolute;
    top: 80px; /* Altura para que no tape el logo */
    left: 0;
    right: 0;
    
    /* Ocultamos usando display none */
    display: none; 
    
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;

    /* ESTÉTICA GLASSMORPHISM IGUAL A TU DISEÑO */
    background: rgba(15, 23, 42, 0.9); /* Un poco más opaco para leer mejor */
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    border-radius: 20px;
    z-index: 100;
  }

  /* --- LA MAGIA: Cuando el checkbox está marcado (checked) --- */
  /* El selector '~' busca al hermano (navbarLinks) que sigue al checkbox */
  #menu-toggle:checked ~ .navbarLinks {
    display: flex;
    animation: glassFadeIn 0.4s ease forwards;
  }

  /* Efecto visual: Girar el icono al abrir */
  #menu-toggle:checked ~ .hamburger-label i {
    color: #00c3ff;
    transform: rotate(90deg); /* Rota el icono 90 grados */
    transition: transform 0.3s;
  }

  /* Ajustes de los enlaces para móvil */
  .navbarLinks li {
    margin-right: 0;
    width: 100%;
    text-align: center;
  }

  .navbarLinks li a {
    display: block;
    font-size: 1.2rem;
    padding: 0.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.05); /* Separador sutil */
  }
  
  /* Iconos sociales más grandes */
  .navbarLinks .social-group a {
    margin: 0 15px;
    font-size: 1.5rem;
  }
}

/* Animación suave de entrada */
@keyframes glassFadeIn {
  from { opacity: 0; transform: translateY(-15px); }
  to { opacity: 1; transform: translateY(0); }
}