@import url('https://fonts.googleapis.com/css2?family=Bad+Script&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Rubik+Doodle+Shadow&display=swap');

:root {
  --color-fondo: #ffffff;
  /* Fondo principal (body) */
  --color-texto-principal: #353535;
  /* Texto general (gris oscuro) */
  --color-secundario: #3C6E71;
  /* Color secundario (verde azulado) */
  --color-fondo-claro: #d9d9d9;
  /* Fondo de secciones suaves o tarjetas */
  --color-encabezado: #284b63;
  /* Encabezados, barra de navegación, etc. */
  --color-underline:#5da1a5;
  /*para subrayados */
  --fuente-titulos: 'Montserrat', serif;
  --fuente-texto: 'Roboto', sans-serif;
}

/*Reset*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/*Estilos Main*/
body {
  background-color: var(--color-fondo);
  font-family: var(--fuente-texto);
  line-height: 1.6;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Modo oscuro */
body.modo-oscuro {
  --color-fondo: #121212;
  --color-texto-principal: #f1f1f1;
  --color-encabezado: #f1f1f1;
  --color-fondo-claro: #2a2a2a;
  --color-secundario: #f1f1f1;
  --color-hover: #3C6E71;
  --color-underline:#d9d9d9;
}
body.modo-oscuro .logo {
  filter: invert(1) hue-rotate(180deg);
}
body.modo-oscuro .nav-links a:hover{
  color: var(--color-hover);
}

#modoOscuroBtn {
  background-color: var(--color-texto-principal);
  color: var(--color-fondo);
  border: none;
  width: 60px;
  height: 40px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 10px;
  font-size: 20px;
  transition: background-color 0.3s ease;
}

#modoOscuroBtn:hover .icono-modo {
  background-color: var(--color-principal);
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 2.8rem;
  font-family: var(--fuente-titulos);
  color: var(--color-texto-principal);
}

h4 {
  font-size: 2rem;
}

p {
  color: var(--color-texto-principal);
  font-size: 1rem;
  margin: 10px 0;
  font-family: var(--fuente-texto);
}

a {
  text-decoration: none;
}

.equipo {
  font-size: 3.5rem;
  font-family: var(--fuente-titulos);  
}

/*Header principal*/

#mainheader {
  background-color: var(--color-encabezado);
  height: 50vh;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.menu-toggle {/*menú hamburguesa oculto*/
  display: none;
  font-size: 1.8rem;
  background: none;
  border: none;
  color: var(--color-fondo-claro);
  cursor: pointer;
}

.navbar {
  display: flex;
  height: 60px;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-encabezado);
  padding: 0 1rem;
  position: relative;
  z-index: 1000;
}

a:visited {
  color: var(--color-texto-principal);
}

a:hover {
  color: var(--color-secundario);
}

.logo img {
  margin-top: 10px;
  max-height: 50px;
  max-width: 200px;
  transition: filter 0.25s;
}

.nav-links {
  list-style: none;
  display: flex;
  /* pone los <li> en fila */
  margin: 0;
  padding: 0;
}

.nav-links li {
  margin-left: 1.5rem;
  position: relative;
}

.nav-links a {
  color: var(--color-fondo-claro);
  text-decoration: none;
  font-weight: 500;
  padding: 8px;
  display: block;
}

.nav-links a:hover {
  color: var(--color-secundario);
  /* o el color que quieras */
}

/*fin navbar*/
/*desplegable "integrantes"*/
.dropdown {
  position: relative;
}

.dropdown-menu {
  display: none;
  /* oculto por defecto */
  position: absolute;
  top: 100%;
  left: 0;
  border-radius: 10%;
  background: var(--color-encabezado);
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 150px;
}

.dropdown-menu li a {
  display: block;
  padding: 10px;
  border-radius: 20%;
  color: var(--color-fondo-claro);
  text-decoration: none;
}

.dropdown-menu li a:hover {
  background: var(--color-encabezado);
  color: var(--color-secundario);
}

/* Mostrar al pasar el mouse */
.dropdown:hover .dropdown-menu {
  display: block;
}

#encabezado1 {
  text-align: center;
  padding-top: 100px;

  h1 {
    font-weight: 300;
    color: var(--color-fondo-claro);
  }
}

#texto {
  padding: 80px 0;

  h2 {
    line-height: 1.2em;
    font-weight: 200;
    padding-bottom: 40px;
  }

  .container {
    display: flex;
    justify-content: space-around;

    .content-column ul li {
      list-style-type: none;
    }
  }
}

/*estilos para crc.html*/
#header-secundario {
  background-color: var(--color-encabezado);
  height: 10vh;
  color: var(--color-fondo);
}

.seccion {
  padding: 40px 20px;
}

.seccion:nth-child(even) {
  background-color: var(--color-fondo-claro);
}

#seccion2,
#seccion3,
#seccion4 {
  text-align: center;
}

.divisor-icono {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: var(--color-fondo-claro);
  color: var(--color-secundario);
}

.linea {
  flex: 1;
  height: 1px;
  background-color: var(--color-secundario);
  max-width: 35%;
}
.underline{
  position: relative;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
}
.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: var(--color-underline);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s ease-out;
}
/* solo cuando entra en vista */
.underline.animar::after {
  transform: scaleX(1);
}

/* Sección 1: 2 columnas */
.seccion-1-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* dos columnas iguales */
  gap: 50px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: center;
}

.texto-columna {
  font-size: 18px;
  text-align: center;
  color: var(--color-texto-principal);
}
.foto-perfil{
  width: 300px;
  height: 270px;
  border-radius: 50%;
  perspective: 1000px; 
  cursor: pointer;
}
.flip-tarjeta{
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}
.foto-perfil:hover .flip-tarjeta{
  transform: rotateY(180deg);
}
.lado-a, .lado-b{
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.lado-a img{
  width: 100%;
  height: 270px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%)
}
.lado-b{
  transform: rotateY(180deg);
}
.lado-b img{
  width: 100%;
  height: 270px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Sección 2 - skills - 3 columnas*/
.skills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
  max-width: 1000px;
  /* Ancho máximo del grid */
  margin: 0 auto;
  /* Centra horizontalmente */
  padding: 20px;
}
.skill-text {
  color: var(--color-fondo-claro);
}
.skills-grid div {
  background-color: var(--color-secundario);
  padding: 40px 20px;
  color: var(--color-fondo-claro);
  text-align: center;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.skills-grid>div:hover {
  transform: scale(1.05);
}

/* Sección 3 - films - 3 columnas carrousel*/
.carrusel {
  position: relative;
  max-width: 600px;
  margin: 50px auto;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 0 15px var(--color-encabezado);
}

.carrusel-imagenes {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carrusel-imagenes img {
  width: 100%;
  height: 300px;
  object-fit: contain;
  background-color: var(--color-fondo-claro);
  flex-shrink: 0;
  /* evita que se reduzcan */
}

.carrusel-botones {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 20px;
  z-index: 1;
}

.carrusel-botones button {
  background-color: var(--color-secundario);
  border: none;
  color: var(--color-fondo-claro);
  padding: 10px 16px;
  cursor: pointer;
  font-size: 24px;
  border-radius: 5px;
}

.carrusel-botones button:hover {
  background-color: var(--color-texto-principal);
}


/* Sección 4 - music - 4 columnas*/

.music-grid {
  display: flex;
  gap: 40px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 50px auto;
}

.music-item {
  background-color: var(--color-fondo);
  height: 15em;
  width: 15%;
  border-radius: 8px;
  position: relative;
  padding: 20px 10px 10px 10px;
  box-shadow: 4px 4px 10px var(--color-encabezado);
  transition: transform 0.3s ease;
}

.music-item:hover img{
  filter: brightness(70%);
}

.music-grid p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-secundario);
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  z-index: 1;
  margin: 0;
 
}

.music-grid img {
  width: 100%;
  display: block;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.2);
}


/* Popup con imagen */
#popup {
  position: absolute;
  display: none;
  z-index: 9999;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  
  /* Escalado proporcional */
  max-width: 20vw;   /* máximo 40% del ancho de la pantalla */
  max-height: 60vh;  /* máximo 60% de la altura de la pantalla */
  overflow: auto;    /* si aún así es muy grande, habilita scroll */
}

#popup div {
  font-size: clamp(12px, 1.5vw, 13px);
  text-align: center;
  font-weight: 600;
}

#popup img {
  width: 100%;
  height: auto;
  object-fit: contain; /* mantiene proporciones */
  border-radius: 6px;
}



/* || FOOTER */

footer {
  background-color: var(--color-encabezado);
  padding: 5px;
  text-align: center;

}

footer p {
  color: var(--color-fondo);
  font-size: 0.8rem;
}

.main-especial{
  height: 100vh;
}

/* Responsive Design */
/*Móviles pequeños (hasta 400px) */
@media (max-width: 400px) {
 .equipo {
  font-size: 2rem; 
}
 #texto .container{
    flex-direction: column;
    padding: 40px;
 }
 #navbar{
    display: flex;
  }
  .nav-links{
    background-color: var(--color-encabezado);
    flex-direction: column;
    gap: 10px;
    position: absolute;
    margin-top: 10px;
    display: none; /* enlaces ocultos por defecto */ 
    position: absolute;
    top: 100%;  /* debajo del navbar */
    right: 0;
    padding: 10px;
    border-radius: 10px;
    z-index: 1000;
  }
  .nav-links.show {
    display: flex; /* al activarse, se muestran */
  }
  .menu-toggle {
    display: block; /* se muestra el botón en móvil */
  }
  
  .seccion-1-grid{
    gap: 15px;
  } h2{
    font-size: 1em;
  }p{
    font-size: 0.7em;
  }
 .foto-perfil{
  width: 150px; 
}
  
  .carrusel{
    max-width: 60%
  }
  .carrusel-botones {
  width: 70%;
}
    .music-grid{
      gap: 20px;
      align-items: center; 
  }
  .music-item{
     width: 60%;   /* ocupa todo el ancho */
     height: 15%;
  }

  .music-item p{
    font-size: 1.2rem;
  }

 }

 /* Tablets o pantallas medianas (hasta 900px) */
@media (max-width: 900px) and (min-width: 401px) {
   #navbar{
    display: flex;
  }
  #texto .container{
    flex-direction: column;
    padding: 40px;
 }
  .nav-links{
    background-color: var(--color-encabezado);
    flex-direction: column;
    gap: 10px;
    position: absolute;
    margin-top: 10px;
    display: none; /* enlaces ocultos por defecto */ 
    position: absolute;
    top: 100%;  /* debajo del navbar */
    right: 0;
    padding: 10px;
    border-radius: 10px;
    z-index: 1000;
  }
  .nav-links .dropdown-menu{
    z-index: 1000;
  }
  .nav-links.show {
    display: flex; /* al activarse, se muestran */
  }
  .menu-toggle {
    display: block; /* se muestra el botón en móvil */
  }
  
  .seccion-1-grid{
    gap: 30x;
  } h2{
    font-size: 1em;
  }p{
    font-size: 0.7em;
  }.foto-perfil{
  width: 200px; 
}
  
  .carrusel{
    max-width: 60%
  }
  .skills-grid {
  grid-template-columns: 1fr 1fr; /* dos columnas iguales */
  grid-template-rows: auto auto;  /* dos filas */
}
.skills-grid> :last-child{
  grid-column: 1 / span 2; /* 👈 ocupa las dos columnas */
}
.music-grid{
      gap: 20px;
      align-items: center; 
  }
  .music-item{
     width: 35%;   /* ocupa todo el ancho */
     height: 15em;
  }
.music-item p{
    font-size: 1rem;
  }
}

/* 🔹 Escritorios grandes (desde 1200px) */
@media (min-width: 1200px) {
  
}