/* BUNDLE CSS TRIBUTO IMPULSE - OPTIMIZADO */

/* 1. RESET Y FUENTES */
body { font-family: 'Jost', sans-serif; background-color: #000; color: #fff; overflow-x: hidden; }
section { padding-top: 5rem; padding-bottom: 5rem; position: relative; background-color: #000; }

/* 2. NAVBAR OPTIMIZADA */
.navbar { background: rgba(0, 0, 0, 0.9) !important; transition: all 0.3s; padding: 0.8rem 1rem; }
.navbar-short { padding: 0.4rem 1rem; background: #000 !important; }
.nav-link { color: #fff !important; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; }
.nav-link:hover { color: #ff0000 !important; } /* Ajusta a tu color corporativo */

/* 3. HERO / CABECERA */
.cid-t7YVn9eY2Y { background-attachment: fixed; background-position: center; background-size: cover; min-height: 100vh; display: flex; align-items: center; }
.mbr-section-title { font-weight: 700; line-height: 1.1; margin-bottom: 2rem; }

/* 4. BOTONES */
.btn { border-radius: 0; padding: 1rem 2rem; font-weight: 600; transition: 0.3s; }
.btn-primary { background-color: #ff0000; border-color: #ff0000; color: #fff; }
.btn-primary:hover { background-color: #cc0000; border-color: #cc0000; }

/* 5. TARJETAS DE CONCIERTOS / MÚSICOS 
.card { background: #111; border: 1px solid #222; margin-bottom: 2rem; transition: transform 0.3s; }
.card:hover { transform: translateY(-5px); }
.card-title { color: #fff; font-weight: 600; }
.card-text { color: #aaa; font-size: 0.9rem; }

*/
   
.card-anteriores {
  	color: white;
  	padding: 1rem;
	border: 1px solid white;
  	border-color:dodgerblue;
	border-radius: .25rem;
}
.card-anteriores:hover {
            border: 1px solid #FFF;
        }
       
.im-card {
  /*background-color: dodgerblue;*/
  	color: white;
  	padding: 1rem;
	border: 1px solid white;
  	border-color:#ffffff;
	line-height:66px !important;
  /*height: 4rem;*/
	  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  
  background-clip: border-box;
  border: 1px solid rgba(255,255,255,.250);
  border-radius: 0.25rem;
}
.im-card:hover {
            border: 1px solid #eb8f34;
        }
.im-cards {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}
@media (min-width: 600px) {
  .im-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .im-cards { grid-template-columns: repeat(3, 1fr); }
}
        
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        
/* 6. FORMULARIO */
input, textarea { background: #111 !important; border: 1px solid #333 !important; color: #fff !important; border-radius: 0 !important; }
input:focus { border-color: #ff0000 !important; }

/* 7. UTILIDADES DE ANIMACIÓN (Necesarias para el nuevo JS) 
.animated { animation-duration: 1s; animation-fill-mode: both; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 40px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.fadeInUp { animation-name: fadeInUp; }

*/
/* 8. IM-PULSE */

body{
margin:0;
font-family:system-ui, Arial, sans-serif;
}

/* CABECERA */

.cabecera-impulse{

position:fixed;
top:0;
left:0;

width:100%;
height:110px;

background: linear-gradient(to bottom, #1e0e43, #000000);
color:white;

display:flex;
align-items:center;

transition:all .3s ease;

z-index:9999;

}

/* CONTENIDO */

.contenido-cabecera{

display:flex;
align-items:center;

gap:15px;

padding-left:35px;

}



.logo-impulse img{
height:55px;
transition:all .3s ease;
}

/* TITULO */

.titulo-impulse{

margin:0;
font-size:30px;
font-weight:700;

white-space:nowrap;

transition:all .3s ease;

}

/* CONTENIDO WEB */

main{

margin-top:110px;
padding:40px;

}

/* EFECTO SHRINK */

.cabecera-impulse.shrink{

height:70px;

}

.cabecera-impulse.shrink .logo-impulse{

height:35px;

}

.cabecera-impulse.shrink .titulo-impulse{

font-size:20px;

}
.cabecera-impulse.shrink .logo-impulse img{
content:url("https://www.tributoimpulse.es/images/logo-192x192.png");
height:35px;
}

/* RESPONSIVE */

@media (max-width:767px){

.cabecera-impulse{

height:85px;

}

main{
margin-top:85px;
}

.icono-impulse{
height:40px;
}

.titulo-impulse{
font-size:22px;
}

.cabecera-impulse.shrink{
height:60px;
}
}


       .boton-entradas {
            background-color: #eb8f34; /* Color del botón */
            color: white; /* Color del texto */
            padding: 6px 5px; /* Tamaño del botón */
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 12px;
            margin: 8px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
        }
		.boton-agotadas {
            background-color: #fc4c75; /* Color del botón */
            color: white; /* Color del texto */
            padding: 6px 5px; /* Tamaño del botón */
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 12px;
            margin: 8px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
        }
        .boton-entradas:hover {
            background-color: #ec9f35; /* Cambio de color al pasar el cursor */
        } 
  
	     table {
            width: 100%;
            border-collapse: collapse;
        }

        td {
            text-align: center;
            padding: 1px;
        }

        img {
            max-width: 100%;
            height: auto;
            border: 0px solid #ddd;
            border-radius: 4px;
        }

        @media (max-width: 600px) {
            table, tbody, tr, td {
                display: block;
                width: 100%;
            }

            td {
                margin-bottom: 15px;
            }
        }
	

	      
       
       
       .miembros {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 1200px;
  margin: auto;
  padding: 1rem;
  background-color: #f5f5f5;
}

/* Cada miembro */
.miembro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  border-bottom: 1px solid #ccc;
  padding: 1rem 0;
  background-color: transparent;
}

/* Imágenes de miembros */
.miembro img {
  width: 100%;
  max-width: 180px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}

/* Texto del miembro */
.miembro-content {
  flex: 1;
}

/* Nombre del miembro */
.miembro-content h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
}

/* Descripción */
.miembro-content p {
  margin: 0;
  font-style: italic;
  text-align: justify;
  line-height: 1.4;
}

/* Galería de imágenes para coros */
.miembro-galeria {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
  .miembro {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .miembro-content p {
    text-align: center;
  }
  .miembro-galeria {
    justify-content: center;
  }
}
       
       
       
        #footer-impulse {
    background-color: #000;
    color: #fff;
    font-family: sans-serif;
    padding: 50px 20px 20px;
  }

  .footer-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: auto;
  }

  .footer-column h4 {
    color: #007bff;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-size: 1.1rem;
    letter-spacing: 1px;
  }

  .footer-column p {
    color: #ccc;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer-column ul li {
    margin-bottom: 10px;
  }

  .footer-column ul li a {
    color: #ccc;
    text-decoration: none;
  }

  .social-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .social-links a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border: 1px solid #333;
    padding: 8px 15px;
    border-radius: 5px;
    font-size: 0.8rem;
    background: #111;
    transition: 0.3s;
  }

  .social-links a:hover {
    background: #007bff;
    border-color: #007bff;
  }

  /* FAQ styles */
  .faq-section {
    background-color: #050505;
    padding: 40px 20px;
    margin-top: 50px;
  }

  .faq-section h2 {
    text-align: center;
    color: #007bff;
    margin-bottom: 30px;
  }

  .faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: auto;
  }

  .faq-item {
    border-bottom: 1px solid #222;
    padding-bottom: 10px;
  }

  .faq-item .question {
    font-weight: bold;
    color: #007bff;
    margin-bottom: 5px;
  }

  .faq-item .answer {
    color: #ccc;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  /* Footer bottom */
  .footer-bottom {
    max-width: 1200px;
    margin: 40px auto 0;
    padding-top: 25px;
    border-top: 1px solid #1a1a1a;
    text-align: center;
    font-size: 0.75rem;
    color: #555;
  }

  .footer-bottom p:last-child {
    color: #444;
  }

  /* Responsive tweaks */
  @media (max-width: 600px) {
    #footer-impulse {
      padding: 30px 15px 20px;
    }

    .footer-column h4 {
      font-size: 1rem;
    }

    .footer-column p, .footer-column ul li a, .faq-item .answer {
      font-size: 0.9rem;
    }

    .social-links {
      justify-content: flex-start;
    }
  }
	   
.contenedor{
  display: block; 
  margin: 20px auto; 
  width: 100%; 
  max-width: 600px;  
}
.reproductor { 
  display: block; 
  width: 100%; 
  height: 100%; 
  padding-bottom: 56.25%; 
  overflow: hidden; 
  position: relative; 
  cursor: hand; 
  cursor: pointer; 
}
img.imagen-previa { 
   display: block; 
   left: 0; 
   bottom: 0;
   margin: auto; 
   max-width: 100%; 
   width: 100%; 
   position: absolute; 
   right: 0; 
   top: 0; 
   height: auto 
}
div.youtube-play { 
   height: 64px; 
   width: 64px; 
   left: 50%; 
   top: 50%; 
   margin-left: -36px; 
   margin-top: -36px;
   opacity:0.7;
   position: absolute; 
   background:   url("https://cdn2.iconfinder.com/data/icons/social-icons-color/512/youtube-64.png") no-repeat; 
}
div.youtube-play:hover{
   opacity:1; 
}
#youtube-iframe { 
   width: 100%; 
   height: 100%; 
   position: absolute; 
   top: 0; 
   left: 0; 
}