/* Estilo personalizado para la barra de desplazamiento */
::-webkit-scrollbar {
    width: 8px; /* Ancho de la barra de desplazamiento */
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #222; /* Color de fondo de la pista de desplazamiento */
    border-radius: 10px; /* Esquinas redondeadas */
}

::-webkit-scrollbar-thumb {
    background: #444; /* Color del "pulgar" de la barra de desplazamiento */
    border-radius: 10px; /* Esquinas redondeadas */
}

::-webkit-scrollbar-thumb:hover {
    background: #666; /* Cambia el color del "pulgar" al pasar el mouse sobre él */
}

body{
    margin: 0;
    padding: 0;
    background-color: #181818;
    color: #e0e0e0;
    font-family: "Arial", sans-serif;
   
}

html, body {
    overflow-x: hidden;
    overflow-y: auto;
}


body::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}

/* Firefox */
body {
    scrollbar-width: none;
}

/* IE viejo */
body {
    -ms-overflow-style: none;
}

.contenedor {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.cabecera {
    background-color: #1f1f1f;
    color: #fff;
    padding: 5px;
    position: sticky;
    top: 0;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
    min-height: 48px;
    height: 48px;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    
}

.columnas-flex {
    flex: 1;
    display: flex;
}

.video-container {
    flex: 2;
    background-color: #222;
    display: flex;
    flex-direction: column;
    max-width: 80vw;
}

@media (max-width: 768px) {
    .video-container {
        max-width: 100vw;
    } 
}

.video-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}        

.panel-lateral {
    width: 220px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background-color: #1f1f1f;
    max-height: calc(100vh - 56px);
    min-width: 20vw;
}

@media (max-width: 768px) {
    .panel-lateral {
        min-width: 0;
    } 
}

.lista {
    overflow-y: auto;
    background-color: #333;
    min-height: 45%;
}

/* SOLO en móvil */
@media (max-width:768px){

    /* Chrome, Edge nuevo, Safari móvil */
    .lista::-webkit-scrollbar{
        display:none;
    }

    /* Firefox Android */
    .lista{
        scrollbar-width:none;
    }
}


.item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
    margin: 10px;
    cursor: pointer;
    background: linear-gradient(315deg, #333, #444);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
    transition: background 1s ease; /* Transición más suave solo para el fondo */
}



.item:hover {
    background: linear-gradient(315deg, #333, #555); /* Cambio de gradiente */
}


.item.activo {
    /*background-color: #007bff;*/
    background: linear-gradient(315deg, #1049d7, #209bff);
    color: #fff;
}

.item.activo:hover {
    background: linear-gradient(315deg, #0d3bb0, #1a7fe0);
}

.item img {
    max-width: 48px;
    max-height: 48px;  
    flex: 0;
}
.favorito-container {
    margin-left: auto; /* Se alinea a la derecha */
    width: 10px;
}

.favorito-icon {
    color: #888; /* Color gris oscuro para mayor contraste */
}

.favorito-icon.favorito {
    color: yellow; /* Cambia el color del icono cuando está marcado como favorito */
}

.item h2 {
    font-size: 13px; /* Cambia el tamaño de la fuente a 13 píxeles */
    font-family: "Arial", sans-serif;
    font-weight: normal;
    margin: 10px;
    flex: 1; /* Ocupa el ancho restante */
    color: #ddd; /* Texto claro para destacar en fondo oscuro */
}

/* Estilo para el botón de desplazamiento hacia arriba */
.boton-arriba, .boton-abajo {
    position: sticky;
    width: 30px;
    height: 30px;
    background-color: rgba(50, 50, 50, 0.8); /* Fondo oscuro semi-transparente */
    text-align: center;
    cursor: pointer;
    border-radius: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ddd; /* Color de icono claro */
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.boton-arriba {
    top: 4px;
    margin-bottom: -30px;
}

.boton-abajo {
    bottom: 4px;
}

.boton-arriba:hover, .boton-abajo:hover {
    background-color: rgba(80, 80, 80, 0.9); /* Color más claro al pasar el mouse */
}

/* Ajuste para dispositivos móviles */
@media (max-width: 768px) {
    .columnas-flex {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 40% auto;
      max-height: calc(100vh - 56px);
    }
    .panel-lateral {
      order: 2;
      width: 100%;
      background-color: #222; /* Fondo oscuro */
    }

    .boton-arriba, .boton-abajo {
      display: none;
    }

    .comments-container {
      width: 100%;
    }
}

.contenedor-filtro {
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
    height: 54px;
    min-height: 54px;
    background-color: #222; /* Fondo oscuro para el filtro */
    color: #fff; /* Texto claro */
    /*border-bottom:1px solid #444;*/
}
/* Estilo personalizado para la lista desplegable */
.custom-select {
    position: relative;
    width: 190px; /* Ancho de la lista desplegable */
}

.custom-select select {
    display: none;
}

@media (max-width: 768px) {
    .tool-lateral{
        max-height: 33px;
    }
   .contenedor-filtro {
        background-color: #222; /* Fondo oscuro para el filtro */
        height: 44px;
        min-height: 44px;
   }

  .custom-select {
    display: none;
  }
}

.select-selected {
    background-color: #333; /* Fondo oscuro */
    padding: 10px;
    border: 1px solid #555; 
    border-radius: 5px;
    cursor: pointer;
    min-width: 130px; /* Ancho mínimo del elemento seleccionado */
    color: #ddd; /* Texto claro */
    font-family: "Arial";
}

/* Icono de la flecha */
.select-selected:not(.is-open)::before {
    content: "\f078"; /* Flecha hacia abajo ▼ */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; 
    float: right;
    color: #bbb; /* Color más claro para mejor contraste */
}

/* Mostrar flecha hacia arriba cuando la lista esté abierta */
.select-selected.is-open::before {
    content: "\f077"; /* Flecha hacia arriba ▲ */
    float: right;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;  
    color: #bbb;
}

.select-items {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    background-color: #222; /* Fondo más oscuro */
    border: 1px solid #555;
    border-radius: 4px;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.4); 
    min-width: 200px;
    font-family: "Arial";
}

.select-items div {
    padding: 10px;
    cursor: pointer;
    border-radius: 4px;
    margin: 4px;
    color: #ddd; /* Texto claro */
}

.select-items div:hover {
    background-color: #444; /* Color más claro en hover */
}



.buttons-container {
    display: flex;
}

/* Estilo para el botón de comentarios */
.comments-button {
    background-color: #222; /* Fondo oscuro */
    padding: 10px 5px;
    /*border: 1px solid #555;*/
    border-radius: 5px;
    cursor: pointer;
    width: 36px; /* Tamaño más uniforme */
    /*height: 36px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ddd;
    transition: background-color 0.3s;
    margin-left: 5px;
}



/* Estilo para el botón de comentarios */
.button-video-tool {
    background-color: #222; /* Fondo oscuro */
    /*padding: 5px;*/
    /*border: 1px solid #555;*/
    border-radius: 5px;
    cursor: pointer;
    width: 32px; 
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ddd;
    transition: background-color 0.3s;
    /*margin-bottom: 10px;*/
    margin:5px;
}

.button-video-tool:hover {
    background-color: #444; /* Cambio de color en hover */
}


/* Estilo para el botón de comentarios */
.lateral-button {
    background-color: #222; /* Fondo oscuro */
    padding: 5px;
    /*border: 1px solid #555;*/
    border-radius: 5px;
    cursor: pointer;
    /*width: 36px; /* Tamaño más uniforme */*/
    /*height: 36px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ddd;
    transition: background-color 0.3s;
    /*margin-bottom: 10px;*/
}

.lateral-button:hover {
    background-color: #444; /* Cambio de color en hover */
}

.tool-lateral{
    background-color: #222;
    padding-top: 10px;
    padding-right: 5px;
}



@media (max-width: 768px) {

 .lateral-button{
     margin-bottom: 0px;
 }


    .tool-lateral{
        display: flex;
        padding-left: 10px;
   
    }



    .comments-button {
        padding: 2px;
        margin-left: 2px;
    }

    #button-connect{
        display: none;
    }
}

.comments-button:hover {
    background-color: #444; /* Cambio de color en hover */
}

/* Estilo para el icono */
.comments-button i {
    font-size: 18px; /* Tamaño del icono ajustado */
}

/* Estilo para ocultar el iframe inicialmente */
.comments-container {
    display: none;
}

/* Estilo para el form modal */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* Mantiene fondo oscuro */
  z-index: 1;
  justify-content: center;
  align-items: center;
  /*display: flex;*/
}

.modal-content{
    flex: 1;
    
}

#ContenidoProgramacion{
    max-height: 60vh;
    overflow-y: auto;        /* scroll vertical */
    padding-right: 5px;      /* opcional, para que no tape scrollbar */
}

.cerrar-modal {
  position: absolute;
  top: 4px;
  right: 10px;
  cursor: pointer;
  font-size: 30px; /* Tamaño grande para cerrar */
  color: #bbb; /* Color de la "X" en modo oscuro */
}

.cerrar-modal:hover {
  color: #fff; /* Cambia a blanco al pasar el mouse */
}

input[type="text"] {
  width: 100%;
  max-width: 250px;
  /*padding: 5px;*/
  margin-bottom: 10px;
  border: 1px solid #444; /* Borde oscuro */
  background-color: #444; /* Fondo oscuro en el input */
  color: #fff; /* Texto blanco */
  border-radius: 5px;
}

button {
  padding: 10px 20px;
  background-color: #007bff;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

button:hover {
  background-color: #0056b3; /* Color de botón al pasar el mouse */
}

/* Estilos para el modalFicha */
#modalFicha .modal-content {
  max-width: 600px;
  width: 80%;
  height: 60%;
  z-index: 1;
}

/* Estilos para el div-Programacion */
.modal-content {
  max-width: 600px;
  height: 60%;
  z-index: 2;
}

.contenido-ficha, .contenido-programacion {
  width: 100%;
  height: 80%;

}

/* Input de búsqueda */
.search-box {
  display: flex;
  align-items: center;
  border-radius: 5px;
  padding: 3px;
  /*border: 1px solid #444; /* Borde oscuro */*/
  height: 32px;
  background-color: #333; /* Fondo oscuro */
  margin: 10px;
  width: 300px;
  padding: 7px;
}

.search-box input[type="text"] {
  border: none;
  outline: none;
  width: 100%;
  border-radius: 5px;
  margin: 5px;
  background-color: #333; /* Fondo oscuro en el input */
  color: #fff; /* Texto blanco */
}

.search-icon, .clear-icon {
  color: #bbb;
}

.search-icon:hover, .clear-icon:hover {
  color: #fff;
}

/* para colorear la tabla de programación en el horario actual */
.hora-actual {
  background-color: #007bff;
  color: white;
}

table tr:hover {
  cursor: pointer;
  background-color: #78B6F8; /* Color de fondo cuando pasa el mouse */
}

  #button-search {
    display: none;
  }

/* Media Queries */
@media (max-width: 768px) {
 /* #button-horarios {
    display: none;
  }*/

  #button-search {
    display: flex;
  }

  .search-box {
    display: none;
  }

  .video-container {
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 0;
  }
}

.btn-container {
  text-align: center;
}

.btn-container button {
  margin: 0 10px;
}

#hideCheckbox {
  margin-top: 20px;
}

.orden-1 {
  order: 0;
}

.eventodestacado img {
  height: 40px;
}

@media (max-width: 768px) {
  .eventodestacado {
    display: none;
  }
}


.movilMenuContainer{
    width: 100%;
    overflow: hidden;
    margin: 0px;
    display: none;
}

@media (max-width: 760px) {

  .movilMenuContainer{
    display: block;
  }
  #MnuCategorias{
    display: none;
  }

  .container {
    margin-top: 110px;
  }
}
/*------------------------------------------------*/
  .slider {
    display: flex;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 10px;
    /*background-color: #000;*/
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow-x: auto; /* Fallback para navegadores no compatibles con scroll-snap-type */
    -ms-overflow-style: none; /* Oculta la barra de desplazamiento en Internet Explorer */
    scrollbar-width: none; /* Oculta la barra de desplazamiento en Firefox */
  }

  .slider::-webkit-scrollbar {
    display: none; /* Oculta la barra de desplazamiento en WebKit (Chrome, Safari, etc.) */
  }

.slider div {
    flex: 0 0 auto;
    scroll-snap-align: start;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: normal; /* Fuente normal */
    color: #ffffff; /* Color de fuente blanco */
    border-radius: 50px; /* Borde super redondeado */
    text-align: center;
    white-space: nowrap;
    border: 1px solid transparent; /* Borde transparente inicial */
    transition: all 0.3s ease; /* Transición suave para el efecto de hover */
    border-color: #777; /* Borde blanco al hacer hover */
    padding: 5px;
    cursor: pointer;
  }

  .slider div:hover {
    background-color: #777; 
  }

/*-------------------------------------------------*/


/* Estilos para el fondo oscuro del popup */
.popup-overlay {
    display: none; /* Oculto por defecto */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* Fondo más oscuro */
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Contenedor del popup */
.popup-content {
    background: #333; /* Fondo oscuro para el popup */
    color: #fff; /* Texto blanco */
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); /* Sombra más fuerte */
    text-align: left;
    width: 80%;
    max-width: 80%;
    position: relative;
}

/* Icono y título */
.popup-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 20px;
    font-weight: bold;
    color: #fff; /* Título en blanco */
}

/* Botón de cerrar */
.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 18px;
    cursor: pointer;
    background: none;
    border: none;
    color: #fff; /* Botón de cerrar blanco */
}

.popup-close:hover {
    color: #78B6F8; /* Cambia a rojo al pasar el cursor */
    background-color: #555;
}

/* Estilo para el descargo DMCA */
.popup-dmca {
    font-size: 12px;
    color: #ccc; /* Color de texto más suave para DMCA */
    margin-top: 15px;
}



.btn-servidor {
    padding: 6px 12px;
    border-radius: 6px;
    border: none;
    background: #444;
    color: white;
    cursor: pointer;
    margin: 6px 2px;
}

.btn-servidor.activo {
    background: #7B0000;
}





.video-tool{
    display:flex;
    align-items:center;
    overflow:hidden;   /* no crece el contenedor */
    padding: 4px 0;
}

/* contenedor botones izquierda */
.video-tool > div:first-child{
    flex: 0 0 auto;   /* tamaño natural */
}

/* SERVIDORES ocupa el resto */
#servidores{
    flex: 1 1 auto;     /* ocupa el espacio libre */
    min-width: 0;       /* 🔥 evita que empuje el contenedor */
    
    display:flex;
    gap:2px;
    overflow-x:auto;
    white-space:nowrap;
}

/* botones servidores */
#servidores .btn-servidor{
    flex:0 0 auto;
}

#servidores::-webkit-scrollbar {
    display: none;
}


#servidores {
    scrollbar-width: none;
}

#servidores.dragging{
    cursor: grabbing;
    user-select:none;
}


#servidores{
    overflow-x: auto;
    cursor: grab;
    user-select: none;
}

#servidores:active{
    cursor: grabbing;
}

